/* Release 24. Shared layout and motion surfaces; the boutique does not load this file. */
html { background:var(--rb-canvas,#f4f1e9); }
html[data-theme=dark] { background:#111110; }
body,.home-hero,.sticky-scene,.bridge,html[data-theme] .inner-hero.photo-hero {background:var(--rb-canvas,#f4f1e9)}
.bridge img { opacity:1; }
.home-text .hero-invitation {font-size:clamp(14px,1.3vw,18px);line-height:1.5;margin:20px 0 0;max-width:900px}
.hero-invitation span {display:block}
.hero-lockup {will-change:transform;}
[data-motion] {opacity:var(--entry-opacity,1);transform:translate3d(0,var(--entry-y,0px),0);animation:none!important;}
[data-motion=heading] {will-change:transform,opacity;}
[data-motion-seen] {will-change:auto;}
[data-language-restoring] main,[data-language-restoring] .footer {visibility:hidden}
html[data-theme] .ordinal,html[data-theme] .story-number,html[data-theme] .faq summary>span:first-child,html[data-theme] .faq summary>b,html[data-theme] .detail>span,html[data-theme] .editorial-detail summary>span {color:#E52D20!important;opacity:1}
html[data-theme] .faq summary .question-label {color:var(--rb-text);font-size:inherit;}
.story-enhanced::after {height:var(--scene-travel,0px)}
.story-enhanced .story-frame {top:var(--scene-top,calc(var(--rb-header-height,64px) + 12px));}
.story-step p {font-size:clamp(16px,1.7vw,21px);line-height:1.5;max-width:37em;}
.story-enhanced .story-steps {min-height:220px;}
.direction-scene {position:relative}
.direction-enhanced {padding-bottom:var(--scene-travel)}
.direction-enhanced .direction-tabs {position:sticky;top:var(--scene-top);background:var(--rb-canvas);}
.direction-tabs .tab-panels {min-height:var(--direction-height,0px);}
.direction-scene:not(.direction-enhanced) .tab-panels {min-height:0;}
.direction-scene:not(.direction-enhanced) [data-tab-panel] {display:block!important;margin-bottom:28px;}
html:not([data-js]) .direction-tabs [data-tab-panel][hidden],html:not([data-js]) [data-slide][hidden] {display:block!important;}
.founder-feature>img {transform:scale(var(--founder-zoom,1));transform-origin:50% 38%;}
.founder-feature header,.founder-feature .founder-invitation {transform:translate3d(0,var(--founder-copy-y,0px),0);}
.founder-feature {padding-top:clamp(56px,6vw,90px);padding-bottom:32px;}
.founder-actions {display:flex;flex-wrap:wrap;align-items:center;gap:16px;position:relative;z-index:3}
.founder-socials,.personal-socials {display:flex;flex-wrap:wrap;gap:10px}
.founder-feature .social-button,.footer .social-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:44px;height:44px;padding:0 14px;border-radius:25px;font:500 14px/1.1 inherit;text-decoration:none;}
.founder-feature .social-button {background:white;color:#111;border:1px solid #fff;}
.social-button svg {width:19px;height:19px;flex:none}
.social-button span {font-size:13px;letter-spacing:0;color:inherit!important;}
html[data-theme] .footer .social-button {background:var(--rb-text);color:var(--rb-canvas);border:1px solid var(--rb-text);}
.founder-feature .social-button:hover,.footer .social-button:hover {background:#E52D20!important;border-color:#E52D20!important;color:white!important;}
.footer-contact .personal-socials {flex-basis:100%;}
.founder-feature .button,.social-button {pointer-events:auto;}
/* Readable fullscreen media; images and cases retain their original colours. */
html[data-theme] .immersive-hero {min-height:calc(100svh - var(--rb-header-height,64px));padding:clamp(52px,8vh,100px) clamp(18px,5vw,80px);display:flex;align-items:center;color:white;isolation:isolate;overflow:hidden;}
.immersive-hero>img,.immersive-hero>.hero-collage {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1!important;transform:scale(var(--inner-zoom,1));z-index:-3!important;}
.immersive-hero::after {content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.77),rgba(0,0,0,.14)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 65%);pointer-events:none;}
html[data-theme] .immersive-hero .inner-hero-content {max-width:1160px;transform:translate3d(0,var(--inner-copy-y,0px),0);position:relative;z-index:1;}
html[data-theme] .immersive-hero h1,html[data-theme] .immersive-hero p {color:#fff!important;}
.immersive-hero .inner-hero-content>p:not(.eyebrow){max-width:780px;font-size:clamp(17px,2vw,25px);line-height:1.45;}
.immersive-hero .button {margin-top:20px;}
.immersive-hero .hero-collage {display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:12px;}
.hero-collage img{width:100%;height:100%;object-fit:cover;min-height:0;}
.cases-hero::after {background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.32));}
/* One clearly visible pass when each question reaches the reading area. */
@keyframes question-light {from{background-position:170% 0}to{background-position:-80% 0}}
@supports (background-clip:text) or (-webkit-background-clip:text) {
 .faq summary.question-shimmer .question-label {background-image:linear-gradient(105deg,var(--rb-text) 35%,#E52D20 47%,var(--rb-text) 58%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:question-light 2.8s ease-in-out 1;}
 .faq summary.question-shimmer .question-label {animation-fill-mode:none;}
}
@media(max-width:600px){
 .home-text .hero-invitation {font-size:14px;margin-top:16px;line-height:1.4;}
 .home-text>p:not(.hero-invitation){font-size:clamp(15px,4vw,18px);line-height:1.45;}
 .home-text h1{font-size:clamp(25px,6.3vw,40px);}
 .home-text .hero-buttons{gap:10px;}
 .story-frame{padding:24px!important;}
 .story-frame h2{font-size:clamp(25px,7vw,38px);}
 .story-enhanced .story-steps {min-height:228px;}
 .direction-enhanced .tab-buttons {gap:0;}
 .direction-enhanced .tab-buttons button {min-height:44px;padding:10px 0;font-size:clamp(16px,4.3vw,20px);}
 .direction-enhanced [data-tab-panel] h3 {font-size:26px;}
 .direction-enhanced .tab-panels {padding-top:14px;}
 .direction-enhanced [data-tab-panel] dl {margin:14px 0 0;gap:12px;}
 .direction-enhanced [data-tab-panel] dd {font-size:15px;line-height:1.35;}
 .founder-feature{min-height:650px;padding:54px 20px 24px;}
 .founder-feature header,.founder-feature .founder-invitation {max-width:100%;}
 .founder-feature header h2 {font-size:clamp(24px,7vw,32px);}
 .founder-invitation p{font-size:15px;line-height:1.42;}
 .founder-feature::before{background:linear-gradient(180deg,rgba(0,0,0,.6),transparent 31%,rgba(0,0,0,.20) 50%,rgba(0,0,0,.9) 76%);}
 .founder-feature>img{object-position:53% 42%;}
 .founder-actions{gap:10px;}
 .founder-actions>.button {min-height:46px;}
 .founder-socials{gap:8px;}
 .founder-feature .social-button{height:44px;padding:0 12px;}
 html[data-theme] .immersive-hero {min-height:calc(100svh - var(--rb-header-height,64px));padding:50px 20px;}
 .immersive-hero>img{object-position:68% center;}
 .immersive-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.3));}
 .immersive-hero .hero-collage{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:8px;}
}
@media(prefers-reduced-motion:reduce){
 [data-motion]{opacity:1!important;transform:none!important;}
 .founder-feature>img,.founder-feature header,.founder-feature .founder-invitation,.immersive-hero>img,.immersive-hero>.hero-collage,html[data-theme] .immersive-hero .inner-hero-content {transform:none!important;}
 .faq .question-label{animation:none!important;background:none!important;-webkit-text-fill-color:currentColor!important;}
}

.direction-tabs .tab-panels {display:grid;align-items:start;}
.direction-tabs .tab-panels>[data-tab-panel] {height:auto!important;min-height:0!important;}
.direction-enhanced .tab-panels>[data-tab-panel],.directions-measuring .tab-panels>[data-tab-panel] {grid-area:1/1!important;}
.direction-enhanced .tab-panels>[hidden] {display:none!important;}
.direction-scene:not(.direction-enhanced) .tab-panels>[data-tab-panel] {grid-area:auto;}
@media(max-width:600px){
 .direction-tabs {padding:12px!important;gap:12px!important;}
 .direction-tabs .tab-panels>[data-tab-panel]{padding:16px!important;}
 .direction-tabs [data-tab-panel] h3{font-size:24px!important;line-height:1.12!important;margin:10px 0 16px!important;}
 .direction-tabs [data-tab-panel] dl{margin:0;}
 .direction-tabs [data-tab-panel] dl>div{margin-bottom:12px;}
 .direction-tabs [data-tab-panel] dd{font-size:14px!important;line-height:1.4!important;}
 .direction-tabs [data-tab-panel] dt{font-size:10px!important;margin-bottom:5px!important;}
}
html[data-theme] .direction-tabs button span,html[data-theme] .direction-tabs [data-tab-panel]>span {color:#E52D20!important;}

.entry-word{display:inline-block;}
html:not([data-js]) .home-hero {height:auto;min-height:100svh;}
html:not([data-js]) .sticky-scene {position:relative;height:auto;min-height:100svh;}
html:not([data-js]) .home-text {position:relative;top:auto;transform:none;padding-top:130px;padding-bottom:80px;opacity:1;}
html:not([data-js]) .hero-identity {display:none;}
html:not([data-js]) .hero-static-name {display:block;}
.direction-enhanced {padding-bottom:0;}
.direction-enhanced::after {content:"";display:block;height:var(--scene-travel,0px);}
/* The exact brand red is used as large, bold numbering for contrast on both surfaces. */
html[data-theme] .ordinal,html[data-theme] .story-number,html[data-theme] .faq summary>span:first-child,html[data-theme] .direction-tabs .tab-number {font-size:19px;font-weight:700;line-height:1.4;}
@media(max-width:600px){.direction-tabs .tab-panels>[data-tab-panel]{padding:14px!important}.direction-tabs [data-tab-panel] h3{margin:8px 0 14px!important}.direction-tabs [data-tab-panel] dl>div{margin-bottom:10px}}

@keyframes media-arrive{from{opacity:0}to{opacity:1}}
.bridge img.media-waiting,.immersive-hero img.media-waiting{opacity:0!important}
.media-ready{animation:media-arrive .45s ease-out both}
@media(prefers-reduced-motion:reduce){.media-ready{animation:none}}
