/* Light reading surfaces, with dark photographic chapters and powder-blue accents. */
:root{--paper:#f7f7f3;--ink:#1c2932;--muted:#59646c;--line:#cdd1d2;--night:#101719;--blue:#d2def1;--panel:#eef0ee}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--blue);color:#17242e}
a,button,summary,input,select,textarea{outline-color:#667e9d}
body>header,body>header.is-scrolled{background:#101719f5;color:#f4f3ef;box-shadow:none}
header nav,header.menu-open{background:#101719}
header nav a{border-color:#384144;transition:color .2s}
header nav a:hover,header nav a[aria-current="page"]{color:var(--blue)}
.eyebrow{color:#526983}
.editorial-story-copy .eyebrow{color:#526983}
.text-link{color:#314e68;border-color:#7d91a8}
.text-link:hover,.editorial-link:hover{color:#17242e;border-color:#17242e}
.button,.button.dark{background:#1c2932;color:#f7f7f3;border-color:#1c2932;box-shadow:none}
.button:hover,.button.dark:hover{background:#344959;border-color:#344959;color:#fff;box-shadow:none}
.editorial-hero .eyebrow,.page-hero .eyebrow{color:var(--blue)}
.editorial-showcase{background:#101719;color:#f4f3ef}
.showcase-caption>span,.showcase-bottom{color:#b9c9df}
.showcase-bottom{border-color:#384144}
.editorial-services{background:var(--paper);padding-top:92px;padding-bottom:80px}
.editorial-services-heading h2{font-size:clamp(44px,4.8vw,72px)}
.editorial-service-list details,.editorial-service-list details:last-child{border-color:#cdd1d2}
.editorial-service-list summary h3{font-size:clamp(29px,3.1vw,44px)}
.service-number{color:#526983}
.service-toggle:before,.service-toggle:after{background:#526983}
.editorial-service-body p{color:#46545e}
.editorial-service-body ul{color:#59646c}
.editorial-service-body li:before{color:#526983}
.editorial-story,.founder-simple,.about,.page-about .about{background:#eef0ee;color:var(--ink)}
.founder-simple{padding-top:88px;padding-bottom:88px;border-top:1px solid #d9dddb}
.founder-simple h2{font-size:clamp(48px,5.5vw,78px)}
.founder-simple p,.about-copy>p{color:#46545e}
.editorial-story .editorial-link{color:#314e68;border-color:#7d91a8}
.editorial-contact,.page-cta{background:#dce5f1;border-top:0;border-bottom:0;color:var(--ink)}
.editorial-contact .eyebrow,.page-cta .eyebrow{color:#465e79}
.editorial-contact p,.page-cta p{color:#46545e}
.editorial-contact h2{font-size:clamp(50px,6.8vw,96px)}
.process-page,.page-intro,.work,.contact,.faq{background:var(--paper);color:var(--ink)}
.expertise{background:#e8edf3}
.service,.service-heading,.service-grid,.lifestyle-note{background:transparent}
.service p,.service ul,.process-page p,.page-intro p,.contact p,.questions p{color:#59646c}
.service-heading>span,.steps article>span{color:#526983}
.service ul,.team-rail,.lifestyle-note,.process-page article,.questions details{border-color:#cdd1d2}
.service-image .round-arrow{background:var(--blue);color:#17242e}
.lifestyle-note p{max-width:650px;color:#59646c}
.process-page .eyebrow,.questions summary>span{color:#526983}
.contact label{color:#31404b}
.contact input,.contact textarea,.contact select{color:#1c2932;background:transparent;border-color:#8b969e}
.contact input::placeholder,.contact textarea::placeholder{color:#697780;opacity:1}
.contact input:focus,.contact textarea:focus,.contact select:focus{border-color:#526983;outline-color:#526983}
.contact select option{color:#1c2932;background:#f7f7f3}
.contact-email,.contact-phone{color:#314e68}
.contact .form-note,.contact-location{color:#59646c}
.work .compare-grip{background:#f4f3ef;color:#17242e}
.home-rail{background:var(--paper);border-color:#cdd1d2;padding-top:32px;padding-bottom:64px}
.rail-instruction{color:#59646c}
#rail-root{--color-background:#f7f7f3;--color-foreground:#1c2935;--color-muted-foreground:#66798c;--color-card:#f7f7f3;--color-card-foreground:#1c2935;background:#f7f7f3;color:#1c2935}
.lineup-rail{background:#f7f7f3}
.system-demo{background:#182327;border-color:#384144;padding-top:76px;padding-bottom:54px;color:#f4f3ef}
.system-demo .eyebrow{color:var(--blue)}
.system-heading p,.system-note{color:#bfc8ce}
.system-spaces{border-color:#64747f}
.system-spaces button{color:#bfc8ce}
.system-spaces button[aria-pressed=true]{color:var(--blue);border-color:var(--blue)}
.system-zones button{color:#cbd2d7;border-color:#64747f}
.system-zones button[aria-pressed=true]{background:var(--blue);color:#17242e;border-color:var(--blue)}
.system-scene .eyebrow{color:#57534d}
footer{background:#101719;color:#f4f3ef;padding-top:60px;padding-bottom:36px;row-gap:34px}
footer>.wordmark{grid-column:1/-1;font-size:clamp(64px,10vw,148px);letter-spacing:-.065em;line-height:1;margin-bottom:16px;white-space:normal;color:#f4f3ef}
footer>.wordmark span{font-size:8px;letter-spacing:2.5px;line-height:1.8;margin-top:20px;color:#b9c9df}
footer p,footer a,footer .copyright{color:#bcc5cc}
footer a:hover{color:var(--blue)}
footer .footer-links{border-color:#384144}
@media(max-width:760px){
 .editorial-services{padding-top:52px;padding-bottom:44px}
 .editorial-services-heading h2{font-size:42px}
 .editorial-service-list summary h3{font-size:29px}
 .founder-simple{padding-top:48px;padding-bottom:48px}
 .founder-simple h2{font-size:43px}
 .editorial-contact h2{font-size:48px}
 .home-rail{padding-bottom:40px}
 .system-demo{padding-top:48px;padding-bottom:36px}
 footer{padding-top:38px;row-gap:26px}
 footer>.wordmark{font-size:clamp(50px,12vw,84px);letter-spacing:-.06em;margin-bottom:0}
 footer>.wordmark span{font-size:7px;letter-spacing:1.5px;margin-top:16px}
}
/* Keep service descriptions and links aligned without adding card surfaces. */
@media(min-width:761px){
 .page-expertise .service{display:flex;flex-direction:column}
 .page-expertise .service-image{flex-shrink:0}
 .page-expertise .service>p{min-height:3.8em}
 .page-expertise .service>.text-link{align-self:flex-start;margin-top:auto}
}
/* Keep each tagline centered on the wordmark itself, rather than its grid cell. */
header .wordmark,footer>.wordmark{display:inline-flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;text-align:center}
footer>.wordmark{justify-self:start}
header .wordmark span,footer>.wordmark span{text-align:center}
