/* One accent, one material, and a shared rhythm across the homepage. */
:root{--dark:var(--brand-burgundy);--visual-padding:24px}
body{overflow-x:clip}
.hero{align-items:start}
.hero-copy{padding-top:34px}
.site-header,.site-header.scrolled{background:rgba(255,255,255,.84)}
.button-dark,.header-cta{background:var(--brand-burgundy);border-color:var(--brand-burgundy);color:#f5f3f0}
.button-dark:hover,.header-cta:hover{background:#3b1820;border-color:#3b1820;color:#fff}
.closing .button{background:#f5f3f0;border-color:#f5f3f0;color:var(--brand-burgundy)}
.closing .button:hover{background:#fff;border-color:#fff;color:var(--brand-burgundy)}
.reflective-cta{--cta-base:#f3f3f3;--cta-reflection:#fff}
.closing .reflective-cta{--cta-base:var(--brand-burgundy);--cta-reflection:#a97b79}
.cta-label{background:linear-gradient(110deg,var(--cta-base) 35%,var(--cta-reflection) 48%,var(--cta-base) 61%);background-size:300% 100%;background-position:150% 0;background-clip:text;-webkit-background-clip:text;color:transparent;animation:cta-reflection 7s ease-in-out infinite;animation-play-state:paused}
.reflective-cta.is-visible .cta-label{animation-play-state:running}
.reflective-cta:hover .cta-label,.reflective-cta:focus-visible .cta-label{background-position:-50% 0;transition:background-position 1.1s}
@keyframes cta-reflection{0%,58%{background-position:150% 0}80%,100%{background-position:-50% 0}}
.site-header .represent-wordmark{width:176px;height:32px}
.site-header .represent-logo-window{width:16px}
.site-header .brand:hover .represent-logo-window,.site-header .brand:focus-visible .represent-logo-window{width:176px}

/* Section rules span the viewport, while the content keeps its shared inset. */
.experience,.problem-statement,.journey,.benefit-section,.closing,.closing footer{position:relative}
.experience::before,.problem-statement::before,.journey::before,.benefit-section::before,.closing::before,.closing footer::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;background:var(--line);transform:translateX(-50%);pointer-events:none}
.closing footer::before{background:#ffffff26}
.problem-art{grid-column:1/-1}
.problem-evidence{padding-block:0}

/* Artwork and copy occupy explicit rows, rather than captions being bottom-aligned. */
.agreement-illustrated{height:460px}
.agreement-illustrated .benefit-art{height:264px;flex:0 0 264px}
.benefit-card-copy{margin-top:0;padding:20px}
.agreement-compact{height:auto;min-height:0;padding:20px;align-self:stretch}
.agreement-compact>.benefit-icon{flex:0 0 38px}
.agreement-compact .benefit-card-copy{margin-top:36px;padding:0;flex:0 0 auto}
.agreement-card.agreement-compact h3{min-height:24px}
.agreement-card h3{min-height:24px}
.outcome-card-copy{margin-top:0}
.outcome-before{min-height:20px}
.outcome-result h3{min-height:24px}

.cube-engraving{fill:url(#cube-letter-reflection)}
.scene>.morph-surface{width:100%;max-width:none!important;box-sizing:border-box}
.bar-exception,.key-exception{background:var(--brand-burgundy)}
.bar-fallback,.key-fallback{background:#98948c}
.insight-bar-track{background:#e9e5df}
.slack-excerpt-avatar{background:#f5f3f0;color:var(--brand-burgundy);border:1px solid var(--line)}
.slack-excerpt-avatar .slack-brandmark{width:100%;height:100%}
.slack-excerpt-thread>.slack-excerpt-post{padding:var(--visual-padding)}
.insight-report,.insight-learning{padding:var(--visual-padding)}
.rq-tree-connectors svg,.rq-tree-connectors path{stroke-width:1}

@media(max-width:1200px){
 .hero-copy{padding-top:0}
 .agreement-illustrated{height:482px}
 .agreement-card h3{min-height:48px}
 .outcome-before{min-height:40px}
 .outcome-result h3{min-height:48px}
 .outcome-card{height:550px}
}
@media(max-width:1100px){
 .site-header .represent-wordmark{width:160px;height:29px}
 .site-header .represent-logo-window{width:15px}
 .site-header .brand:hover .represent-logo-window,.site-header .brand:focus-visible .represent-logo-window{width:160px}
}
@media(max-width:900px){
 .agreement-illustrated{height:438px}
 .agreement-card h3{min-height:24px}
 .agreement-compact .benefit-card-copy{margin-top:30px}
}
@media(max-width:800px){
 .site-header .represent-wordmark{width:150px;height:28px}
 .site-header .represent-logo-window,.site-header .brand:hover .represent-logo-window,.site-header .brand:focus-visible .represent-logo-window{width:14px}
}
@media(max-width:600px){
 :root{--visual-padding:18px}
 .agreement-illustrated{height:460px}
 .outcome-card{height:550px}
 .outcome-card-copy{padding:20px}
}
@media(prefers-reduced-motion:reduce){
 .cta-label{animation:none;background:none;color:var(--cta-base);transition:none}
 .cube-engraving{fill:#59564f}
}
