
.rr-about {
 --about-navy:#171245;
 --about-purple:#6a59fd;
 --about-grey:#e8e8e8;
 --about-white:#f9f9f9;
 --about-teal:#07333d;
 --about-cyan:#28ffff;
 --about-gutter:72px;
 --about-block-gap:64px;
 --about-heading-font:'Archivo',sans-serif;
 --about-body-font:'Noto Sans',sans-serif;
 color:var(--about-navy); background:var(--about-white);
 font:400 16px/1.15 var(--about-body-font); letter-spacing:0;
}
body:has(.rr-about) main.home { padding-top:0!important; }
.rr-about *, .rr-about *::before, .rr-about *::after { box-sizing:border-box; }
.rr-about h1, .rr-about h2, .rr-about h3 { color:inherit; font-family:var(--about-heading-font)!important; }
.rr-about .rr-hero { position:relative; overflow:hidden; min-height:862px; padding:0 var(--about-gutter); background:var(--about-teal); color:var(--about-white); }
.rr-about .rr-hero__background { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:right top; pointer-events:none; }
.rr-about .rr-hero__inner { position:relative; max-width:1296px; min-height:862px; margin:0 auto; padding:80px 0 0; display:flex; align-items:center; justify-content:space-between; gap:64px; }
.rr-about .rr-hero__content { position:relative; z-index:1; flex:0 1 564px; max-width:564px; padding:0; }
.rr-about .rr-hero__title { margin:0; color:inherit; font:700 80px/1.05 var(--about-heading-font); letter-spacing:-.03em; }
.rr-about .rr-hero__text { margin:24px 0 0; color:inherit; font:400 20px/1.15 var(--about-body-font); letter-spacing:-.015em; white-space:pre-line; }
.rr-about .rr-hero__image { position:absolute; right:73px; bottom:0; width:603px; height:734px; max-width:none; object-fit:contain; object-position:bottom center; }
.rr-about .rr-hero__square-image { position:relative; flex:0 0 463px; width:463px; height:442px; object-fit:cover; border-radius:40px; }
.rr-about .rr-hero .rr-btn { display:inline-flex; align-items:center; margin-top:28px; padding:12px 16px; border:1px solid var(--about-white); border-radius:10px; background:var(--about-white); color:var(--about-navy)!important; font:500 16px/1.05 var(--about-heading-font); letter-spacing:-.015em; text-decoration:none; transition:background-color .2s ease, color .2s ease, border-color .2s ease; }
.rr-about .rr-hero .rr-btn:hover, .rr-about .rr-hero .rr-btn:active { background:var(--about-purple); border-color:var(--about-purple); color:var(--about-white)!important; }
.rr-about .rr-hero .rr-btn:focus { outline:none; }
.rr-about .rr-hero .rr-btn:focus-visible { border-color:var(--about-cyan); box-shadow:0 0 0 2px var(--about-cyan); }
.rr-about__text { padding:80px var(--about-gutter); background:var(--about-white); }
.rr-about__container { max-width:1124px; margin:0 auto; display:flex; flex-direction:column; gap:var(--about-block-gap); }
.rr-about__text:has(+ .rr-about__text) { padding-bottom:var(--about-block-gap); }
.rr-about__text + .rr-about__text { padding-top:0; }
.rr-about__text-block { scroll-margin-top:80px; }
.rr-about .rr-about__heading { margin:0 0 24px; font:500 32px/1.05 var(--about-heading-font); letter-spacing:0; }
.rr-about__rte { font:400 16px/1.15 var(--about-body-font); letter-spacing:0; }
.rr-about__rte > * { margin:0 0 24px; color:inherit; font:inherit; }
.rr-about__rte > :last-child { margin-bottom:0; }
.rr-about__rte strong, .rr-about__rte b { font-weight:700; }
.rr-about__rte ul, .rr-about__rte ol { padding-left:1.25em; }
.rr-about__rte li + li { margin-top:8px; }
.rr-about__rte a { color:inherit; text-decoration:underline; }
.rr-about__rte a:hover, .rr-about__rte a:focus { color:var(--about-purple)!important; }
.rr-about__rte img { max-width:100%; height:auto; }
#about-content { scroll-margin-top:80px; }
.rr-about__image { height:600px; background:#d9d9d9; }
.rr-about__image picture, .rr-about__image img { display:block; width:100%; height:100%; }
.rr-about__image img { object-fit:cover; }
.rr-about__happening { padding:80px var(--about-gutter); background:var(--about-grey); }
.rr-about__happening-inner { max-width:1296px; margin:0 auto; }
.rr-about__happening-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:48px; }
.rr-about .rr-about__happening-title { margin:0; font:600 40px/1.05 var(--about-heading-font); letter-spacing:0; }
.rr-about__view-all { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; padding:12px 16px; border:1px solid var(--about-navy); border-radius:10px; background:transparent; font:500 16px/1.05 var(--about-heading-font); letter-spacing:-.015em; white-space:nowrap; text-decoration:none; transition:background-color .2s ease, color .2s ease, border-color .2s ease; }
.rr-about__view-all, .rr-about__view-all:focus { color:var(--about-navy)!important; text-decoration:none; }
.rr-about__view-all:hover, .rr-about__view-all:active { background:var(--about-navy); color:var(--about-white)!important; }
.rr-about__view-all:focus { outline:none; }
.rr-about__view-all:focus-visible { box-shadow:0 0 0 2px var(--about-purple); }
.rr-about__track { --about-card-room:22px; position:relative; display:flex; margin:calc(var(--about-card-room) * -1); overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; outline:none; }
.rr-about__track::-webkit-scrollbar { display:none; }
.rr-about__slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; padding:var(--about-card-room); }
.rr-about__controls { display:flex; align-items:center; justify-content:flex-end; gap:24px; margin-top:24px; }
.rr-about__dots { display:flex; align-items:center; gap:8px; }
.rr-about__dot { width:12px; height:12px; margin:0; padding:0; border:0; border-radius:2px; background:var(--about-white); cursor:pointer; transition:background-color .2s ease; }
.rr-about__dot.is-active { background:var(--about-purple); }
.rr-about__arrows { display:flex; gap:12px; }
.rr-about__arrow { position:relative; width:34px; height:34px; margin:0; padding:10px; border:1px solid var(--about-white); border-radius:4px; background:var(--about-white); color:var(--about-navy); cursor:pointer; transition:background-color .2s ease, color .2s ease; }
.rr-about__arrow::before { content:''; position:absolute; top:50%; left:50%; width:7px; height:7px; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:translate(-30%,-50%) rotate(45deg); }
.rr-about__arrow--next::before { transform:translate(-70%,-50%) rotate(-135deg); }
.rr-about__arrow:not(:disabled):hover { border-color:var(--about-navy); background:var(--about-navy); color:var(--about-white); }
.rr-about__arrow:disabled { opacity:.4; cursor:default; }
.rr-about__arrow:focus { outline:none; }
.rr-about__dot:focus { outline:2px solid var(--about-navy); outline-offset:1px; }
.rr-about__arrow:focus-visible { outline:2px solid var(--about-purple); outline-offset:2px; }

@media (pointer:coarse) {
.rr-about__arrow { width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) {
.rr-about__track { scroll-behavior:auto; }
.rr-about *, .rr-about *::before, .rr-about *::after { transition-duration:.01ms!important; }
}

/* Large: 1025-1439 */
@media (min-width:1025px) and (max-width:1439px) {
.rr-about { --about-gutter:40px; }
.rr-about .rr-hero, .rr-about .rr-hero__inner { min-height:720px; }
.rr-about .rr-hero__content { flex-basis:50%; max-width:520px; }
.rr-about .rr-hero__title { font-size:64px; }
.rr-about .rr-hero__image { right:0; width:48%; height:620px; }
.rr-about .rr-hero__square-image { flex-basis:360px; width:360px; height:344px; }
.rr-about__text, .rr-about__happening { padding-top:64px; padding-bottom:64px; }
.rr-about__image { height:500px; }
}

/* Medium: 768-1024 */
@media (min-width:768px) and (max-width:1024px) {
.rr-about { --about-gutter:20px; --about-block-gap:48px; }
.rr-about .rr-hero { padding:0 24px; }
.rr-about .rr-hero, .rr-about .rr-hero__inner { min-height:591px; }
.rr-about .rr-hero__inner { padding-top:58px; gap:24px; }
.rr-about .rr-hero__content { flex:0 1 405px; max-width:405px; }
.rr-about .rr-hero__title { font-size:56px; }
.rr-about .rr-hero__image { right:-24px; width:50%; height:480px; }
.rr-about .rr-hero__square-image { flex:0 0 calc((100% - 24px) / 2); width:calc((100% - 24px) / 2); height:auto; aspect-ratio:1; }
.rr-about__text { padding:56px var(--about-gutter); }
.rr-about__container { max-width:none; }
.rr-about .rr-about__heading { font-weight:600; }
.rr-about__image { height:400px; }
.rr-about__happening { padding:56px var(--about-gutter); }
.rr-about__happening-head { margin-bottom:32px; }
.rr-about .rr-about__happening-title { font-size:32px; }
.rr-about__slide { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
}

/* Small: up to 767 */
@media (max-width:767px) {
.rr-about { --about-gutter:20px; --about-block-gap:48px; }
.rr-about .rr-hero { min-height:0; padding:0 16px; }
.rr-about .rr-hero__inner { min-height:0; padding-top:100px; flex-direction:column; align-items:stretch; gap:32px; }
.rr-about .rr-hero__content { flex:none; max-width:none; }
.rr-about .rr-hero__title { font-size:48px; }
.rr-about .rr-hero__image { position:relative; right:auto; align-self:flex-end; width:auto; max-width:100%; height:360px; margin-right:-16px; }
.rr-about .rr-hero__square-image { flex:none; width:100%; height:auto; aspect-ratio:1; margin-bottom:48px; }
.rr-about .rr-hero:not(:has(.rr-hero__image, .rr-hero__square-image)) .rr-hero__inner { padding-bottom:48px; }
.rr-about__text { padding:48px var(--about-gutter); }
.rr-about__container { max-width:none; }
.rr-about .rr-about__heading { margin-bottom:16px; font-size:24px; font-weight:600; }
.rr-about__image { height:400px; }
.rr-about__happening { padding:48px 16px; }
.rr-about__happening-head { margin-bottom:24px; }
.rr-about .rr-about__happening-title { font-size:24px; }
.rr-about__track { --about-card-room:16px; }
.rr-about__slide { grid-template-columns:minmax(0, 1fr); gap:16px; }
}

/* XLarge beyond the 1440 design width: keep the 1296 content column centred. */
@media (min-width:1441px) {
.rr-about .rr-hero { padding-left:0; padding-right:0; }
.rr-about .rr-hero__inner { max-width:1440px; padding-left:72px; padding-right:72px; }
.rr-about .rr-hero__image { right:145px; }
}

