/* Shared page system; the approved homepage opening remains unchanged. */
.header-cta,.contact-main{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.glass-nav a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#cb956b}
.solutions-menu{grid-template-columns:repeat(3,minmax(0,1fr));max-height:calc(100svh - 110px);overflow-y:auto}.solutions-menu .menu-overview{border-bottom:1px solid #ffffff1c;grid-column:1/-1;padding:8px 12px 20px;flex-direction:row;justify-content:space-between}
.mobile-menu{max-height:calc(100svh - 95px);overflow-y:auto}
.footer-bottom a{line-height:1.5}
.scope-strip{margin-top:60px;padding-top:30px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;gap:25px}.scope-strip p{font-size:22px;line-height:1.6}.scope-strip p span{font-size:16px;color:#aeb7c4}
.inner-page .page-intro{min-height:100svh;padding:155px 8% 100px;max-width:1500px;margin:auto;background:radial-gradient(ellipse at 100% 20%,#b8793412,transparent 58%)}
.breadcrumb{display:inline-block;color:#a0a7b3;font-size:12px;letter-spacing:.13em;margin-bottom:48px}.breadcrumb:hover{color:#fff}
.page-intro .eyebrow{color:#caa37d;font-size:12px;text-transform:uppercase}.page-intro h1{font-size:clamp(48px,6.7vw,96px);letter-spacing:-.06em;line-height:1.04;font-weight:500}.page-lead{font-size:20px;color:#abb3c0;line-height:1.7;max-width:770px;margin-top:32px}
.content-band{padding:90px 8%;background:#101318}.content-band.paper{background:#f2f1ee;color:#252a32}.section-heading{max-width:800px}.section-heading h2{font-size:clamp(33px,4vw,56px);font-weight:500;line-height:1.12;letter-spacing:-.045em}.section-heading>p:last-child,.policy-note{font-size:18px;line-height:1.8;color:#aeb7c4;margin-top:24px}.paper .eyebrow{color:#815b38}.paper .section-heading>p:last-child,.paper .policy-note{color:#586575}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px;margin-top:58px}.detail-grid article{border-top:1px solid #ffffff2b;padding-top:22px}.paper .detail-grid article{border-color:#27334230}.item-number{font-size:12px;color:#c39d77}.paper .item-number{color:#8a5b30}.detail-grid h3{font-size:25px;line-height:1.25;font-weight:500;letter-spacing:-.035em;margin-top:25px}.detail-grid p{font-size:17px;line-height:1.8;color:#aeb7c4;margin-top:17px}.paper .detail-grid p{color:#586575}.detail-grid .line-link{margin-top:18px}
.page-next{padding:75px 8%;background:#08090b}.page-next p{color:#aeb7c4;font-size:16px;margin-bottom:18px}.page-next>a{font-size:clamp(26px,3.3vw,44px);letter-spacing:-.04em}.page-next>a span{color:#d3a374;margin-left:15px}.page-next>a:hover{text-decoration:underline;text-underline-offset:10px}
.inner-page footer .footer-callout{display:none}.inner-page footer{padding-top:0}.inner-page .founder-initial{background:#fff;border-color:#d9c7b6;color:#82552d}.inner-page .founder>div>span{color:#586575}
.process-list{list-style:none;padding:0;margin:50px 0 0}.process-list li{display:grid;grid-template-columns:80px 1fr;gap:25px;border-top:1px solid #25334325;padding:30px 0}.process-list li>span{color:#976f49;font-size:15px}.process-list h3{font-size:28px;letter-spacing:-.03em;font-weight:500}.process-list p{font-size:18px;color:#586575;line-height:1.75;margin-top:12px;max-width:740px}
#brief-form{max-width:900px;margin-top:45px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}#brief-form label{display:block;font-size:14px;font-weight:500;margin-bottom:25px}#brief-form input,#brief-form select,#brief-form textarea{display:block;width:100%;font:inherit;font-weight:400;font-size:16px;color:#252a32;background:#fff;border:1px solid #c0c6cd;border-radius:7px;padding:14px;margin-top:11px}#brief-form textarea{resize:vertical}#brief-form :is(input,select,textarea):focus-visible{outline:2px solid #a96226;outline-offset:3px}.brief-submit{background:#252a32;color:#fff;border:0;border-radius:30px;padding:16px 25px;font-size:15px}.form-note,#brief-status{font-size:14px;line-height:1.75;color:#586575;margin-top:20px;max-width:720px}#brief-status{font-weight:500;color:#324d34}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){.page-intro h1{animation:page-enter .7s ease-out both}.page-lead{animation:page-enter .8s ease-out .1s both}}@keyframes page-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solutions-menu{left:5%;right:5%}}
@media(max-width:760px){.inner-page .page-intro{padding:125px 7% 65px}.page-intro h1{font-size:48px}.page-lead{font-size:18px}.breadcrumb{margin-bottom:32px}.content-band{padding:65px 7%}.detail-grid{grid-template-columns:1fr;gap:32px;margin-top:38px}.section-heading>p:last-child{font-size:17px}.detail-grid h3{font-size:24px;margin-top:18px}.page-next{padding:60px 7%}.form-grid{grid-template-columns:1fr;gap:0}.process-list li{grid-template-columns:35px 1fr;gap:15px}.process-list p{font-size:17px}.scope-strip{display:block}.scope-strip p{font-size:20px}.scope-strip p span{font-size:15px}}
.customer-needs .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.customer-needs .detail-grid h3{font-size:25px}
.customer-needs .line-link{gap:10px;font-size:14px}
.mobile-solutions summary{font-size:18px;cursor:pointer;list-style:none}
.mobile-solutions summary::after{content:'+';float:right;color:#cba37e}
.mobile-solutions[open] summary::after{content:'−'}
.mobile-solutions>a{display:block!important;font-size:15px!important;color:#bdc4cf;margin:20px 0 0 14px}
@media(max-width:1100px){.customer-needs .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.customer-needs .detail-grid{grid-template-columns:1fr}.intro-description{max-width:360px;margin-left:auto;margin-right:auto}.intro-description br{display:none}}

/* Major sections occupy a complete screen; content may grow on smaller devices. */
main > :is(.page-intro,.content-band,.overview,.industries-section,.company-section,.page-next),
.photo-row,.footer-callout{min-height:100svh;scroll-margin-top:0}
main > :is(.content-band,.overview,.industries-section,.page-next),
.footer-callout{display:flex;flex-direction:column;justify-content:center;align-items:stretch}
main > :is(.content-band,.overview,.industries-section,.page-next) > a,
.footer-callout > a{align-self:flex-start}
.company-section{align-content:center}
.photo-stories{padding-top:0}
.photo-row{margin-bottom:0;padding-block:100px}
.section-heading,.industry-heading{break-inside:avoid}
@media(max-width:760px){.photo-row{padding-block:90px;justify-content:center}.company-section{display:flex;flex-direction:column;justify-content:center}.company-text{margin-top:30px}}

/* Settle each scroll chapter beneath the fixed navigation. Oversized chapters
   remain freely scrollable so long content and the hero animation are reachable. */
html{--chapter-nav:88px;scroll-padding-top:var(--chapter-nav);scroll-snap-type:y mandatory}
main > section:not(.photo-stories),.photo-row,body > footer{scroll-snap-align:start;scroll-margin-top:0}
main > :is(.content-band,.overview,.industries-section,.company-section,.page-next),.photo-row{min-height:calc(100svh - var(--chapter-nav))}
body > footer{scroll-margin-top:0}
@media(max-width:760px){html{--chapter-nav:76px;scroll-snap-type:y proximity}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:y proximity}}

.field-help{display:block;font-size:13px;font-weight:400;color:#586575;margin-top:8px}.optional{font-weight:400;color:#586575}

/* Open footer directory, with a quiet social row above five aligned columns. */
body > footer{padding:0;border:0}
.footer-callout{padding:95px 8%;min-height:calc(100svh - var(--chapter-nav))}
.footer-directory{--social-surface:#f2f1ee;background:var(--social-surface);color:#252a32;padding:60px 8% 28px;scroll-snap-align:start;scroll-margin-top:0}
.footer-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.footer-directory .brand{mix-blend-mode:multiply}
.footer-directory .brand img{top:-18px;mix-blend-mode:multiply}
.social-block{text-align:right}.social-links{display:flex;gap:22px;align-items:center}.social-icon{border:0;background:none;padding:3px;color:#252a32;width:27px;height:27px;cursor:default}.social-icon svg{display:block;width:100%;height:100%}.social-note{display:block;font-size:11px;color:#68717c;margin-top:12px}
.footer-directory .footer-columns{grid-template-columns:1.2fr 1.25fr .9fr 1.1fr 1.1fr;border:0;padding:65px 0 60px;gap:35px}
.footer-directory .footer-columns h3{color:#252a32;font-size:16px;margin-bottom:28px}
.footer-directory .footer-columns a{color:#505761;font-size:15px;margin-bottom:18px;line-height:1.55}
.footer-directory a:hover{color:#92582e;text-decoration:underline;text-underline-offset:5px}
.footer-directory .footer-bottom{border-color:#252a3226;color:#58616c}
@media(max-width:1050px){.footer-directory .footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}}
@media(max-width:760px){.footer-directory{padding:42px 7% 25px}.footer-topline{flex-direction:column;gap:30px}.social-block{text-align:left}.footer-directory .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));padding:45px 0 30px;gap:30px 22px}.footer-directory .footer-columns a{font-size:14px}.footer-callout{padding:85px 7%}}
.footer-directory{min-height:calc(100svh - var(--chapter-nav))}
.footer-directory .brand{width:181px;height:18px}
.footer-directory .brand img{width:286px;left:-46px;top:-16px}
.footer-directory .footer-columns>div>a:not(.brand){color:#505761;font-size:15px;line-height:1.55}
.footer-directory .footer-columns>div>a:not(.brand):hover{color:#92582e}

/* Careers openings: concise roles with explicit application availability. */
.job-list{margin-top:45px}.job-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;border-top:1px solid #252a3226;padding:30px 0}.job-location{font-size:12px;letter-spacing:.07em;color:#805c3e}.job-row h3{font-size:clamp(24px,2.5vw,34px);font-weight:500;letter-spacing:-.035em;margin:10px 0 12px}.job-description{font-size:16px;line-height:1.7;color:#586575;max-width:700px}.job-apply{display:inline-flex;gap:32px;align-items:center;padding:13px 23px;border:1px solid #252a3240;border-radius:30px;background:transparent;color:#505761;font-size:15px;cursor:default}.job-apply span{color:#856345}.application-note{font-size:14px;line-height:1.7;color:#586575;border-top:1px solid #252a3226;padding-top:24px}
@media(max-width:760px){.job-row{grid-template-columns:1fr;gap:20px}.job-apply{justify-self:start}.job-description{font-size:15px}}

.job-instructions{font-size:14px;color:#586575;margin-top:24px}.job-opening{border-top:1px solid #252a3226;padding:28px 0}.job-opening summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer}.job-opening summary::-webkit-details-marker{display:none}.job-opening summary:focus-visible{outline:2px solid #a96226;outline-offset:7px}.job-summary{display:block}.job-title{display:block;font-size:clamp(24px,2.5vw,34px);font-weight:500;letter-spacing:-.035em;margin:10px 0 12px}.job-summary .job-description{display:block}.job-toggle{font-size:28px;color:#805c3e;flex-shrink:0}.job-opening[open] .job-toggle{transform:rotate(45deg)}.job-details{padding-top:32px}.jd-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}.jd-columns h4{font-size:18px;font-weight:500}.jd-columns ul{padding-left:20px;margin:18px 0 0}.jd-columns li{font-size:16px;line-height:1.75;color:#586575;margin-bottom:12px}.job-terms{font-size:13px;line-height:1.7;color:#586575;margin-top:22px}.job-action{margin-top:25px}
@media(max-width:760px){.jd-columns{grid-template-columns:1fr;gap:24px}.jd-columns li{font-size:15px}.job-title{font-size:25px}}
.job-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 35px;padding:25px;background:#e7e5df;border-radius:8px}.job-facts dt{font-size:12px;color:#65707b;margin-bottom:8px}.job-facts dd{margin:0;font-size:15px;color:#252a32}.jd-section{margin:0 0 30px;max-width:960px}.jd-section h4{font-size:20px;font-weight:500;margin-bottom:15px}.jd-section p,.jd-section li{font-size:16px;color:#586575;line-height:1.75}.jd-section p+p{margin-top:12px}.jd-section ul{padding-left:20px}.jd-section li{margin-bottom:10px}.jd-section .jd-hint{font-size:13px}.compensation-section{border-top:1px solid #252a3226;padding-top:25px}.job-action{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.job-action>span{font-size:13px;color:#586575}@media(max-width:760px){.job-facts{grid-template-columns:1fr 1fr;padding:20px;gap:20px}.jd-section p,.jd-section li{font-size:15px}}

/* Scroll-driven homepage chapters need continuous travel between their states. */
html.scroll-story-page{scroll-snap-type:none}

/* Connected company profiles retain the shared footer icon layout. */
.social-links a.social-icon{display:block;cursor:pointer}

/* Platform colors appear on pointer, keyboard and touch interaction. */
.social-links a.social-icon{transition:color .18s ease}
.social-links [data-social="linkedin"]{--social-brand:#0a66c2}
.social-links [data-social="youtube"]{--social-brand:#ff0033}
.social-links [data-social="facebook"]{--social-brand:#0866ff}
.social-links [data-social="instagram"]{--social-brand:#e1306c}
.social-links [data-social="x"]{--social-brand:#000}
.footer-directory .social-links a.social-icon:is(:hover,:focus-visible,:active){color:var(--social-brand);text-decoration:none}
.social-links a.social-icon:focus-visible{outline:2px solid var(--social-brand);outline-offset:5px;border-radius:3px}
.social-links a[data-social="instagram"]:is(:hover,:focus-visible,:active) svg [stroke="currentColor"]{stroke:url(#instagram-brand-gradient)}
@media(prefers-reduced-motion:reduce){.social-links a.social-icon{transition:none}}
