/* Content is visible by default. JS adds finite, viewport-triggered motion only. */
:root{--rp-header-height:76px}
html{scroll-padding-top:calc(var(--rp-header-height) + 16px)}
/* Clip horizontal decoration without creating a scroll container that breaks sticky. */
body[data-preview-page]>div:first-of-type{overflow-x:clip!important;overflow-y:visible!important}
body[data-preview-page] header{position:sticky!important;top:0;z-index:90!important}
body[data-preview-page] header.rp-header-scrolled{box-shadow:0 8px 24px #20244910}
.rp-journey-intro{top:calc(var(--rp-header-height) + 20px)}
@media(max-width:960px){.nav-links.is-open{max-height:calc(100dvh - var(--rp-header-height) - 16px)!important}}
@media(max-width:600px){:root{--rp-header-height:68px}}
.rv{animation:none!important;overflow:visible}
/* Animate headings as a single block: punctuation and wrapping remain native. */
[data-rp-graphic] *,[data-rp-graphic]:before{animation:none!important}
body[data-preview-page="home"] .hero-copy{container-type:inline-size}
body[data-preview-page="home"] .hero-copy h1>span[aria-hidden]{flex:none;align-self:center}
body[data-preview-page="home"] .hero-copy h2{font-size:min(clamp(64px,8.6vw,128px),26cqw)!important}
body[data-preview-page="home"] .hero-copy h2>.rv:last-child{white-space:nowrap}
.rp-date-heading{font-size:clamp(36px,4.2vw,58px)!important;line-height:1.06!important;letter-spacing:.005em!important}
.rp-date-heading>.rv:first-child{font-size:.74em;margin-bottom:10px}
.rp-date-heading>.rv:last-child{white-space:nowrap}
.rp-date-intro{gap:24px 36px!important}
@media(max-width:700px){
 .rp-date-heading{font-size:clamp(30px,7.8vw,48px)!important}
 .rp-date-heading>.rv:first-child{margin-bottom:8px}
 .rp-date-intro{gap:18px!important}
}
.rp-sequence-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0;color:#0049e6;opacity:.42}
.rp-journey-stop,.rp-effect-card,.rp-concept-step{position:relative}
.rp-journey-art,.rp-journey-copy,.rp-effect-art{position:relative;z-index:1}
.rp-effect-grid:before{display:none}
.rp-effect-grid>.rp-sequence-route{color:#e8ff00;opacity:.42}
.rp-concept-panel{position:relative;isolation:isolate;padding:clamp(24px,3vw,38px)!important}
.rp-concept-panel>[data-rp-drop]{position:relative;z-index:1;line-height:1.12!important}
.rp-concept-panel>.rp-sequence-route{color:#202449;opacity:.28}
.rp-concept-step{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:center;padding:13px 0;min-height:110px}
.rp-concept-copy{font-size:15px;font-weight:650;line-height:1.6;margin:0;position:relative;z-index:1}
.rp-concept-art{position:relative;width:80px;height:80px;border-radius:50%;background:#202449;color:#e8ff00;--rp-accent:#e8ff00;box-shadow:0 0 0 6px #e8ff00;z-index:1;justify-self:center}
.rp-concept-art>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.75)}
.rp-concept-art>.rp-sketch{width:100%;height:100%;padding:5px;box-sizing:border-box}
.rp-concept-badge{position:absolute;right:-7px;bottom:-3px;width:35px;height:35px;background:#202449;border:3px solid #e8ff00;border-radius:50%;display:grid;place-items:center}
.rp-concept-badge>.rp-sketch{width:100%;height:100%}
.rp-concept-panel>p{position:relative;z-index:1;border-top:1px solid #20244930;padding-top:16px;margin-top:12px!important}
.rp-habit-ring{animation:none!important}
@media(max-width:700px){
 .rp-concept-step{grid-template-columns:68px minmax(0,1fr);gap:18px;padding:12px 0;min-height:100px}
 .rp-concept-art{width:62px;height:62px}
 .rp-concept-badge{width:29px;height:29px;right:-5px}
 .rp-concept-copy{font-size:14px;line-height:1.6}
 .rp-concept-panel{padding:26px 22px!important}
 .rp-concept-panel>[data-rp-drop]{font-size:32px!important}
}
@media(prefers-reduced-motion:reduce){
 [data-rp-motion="heading"]{transform:none!important;opacity:1!important}
 [data-rp-graphic] *,[data-rp-graphic]:before{animation:none!important;transition:none!important}
}
