/* Shared navigation and page layouts, using the established type scale. */
.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
main .btn,#brief .btn,.page-end .btn{background:#000;color:#fff;border:1px solid rgba(255,255,255,.5);transition:background .2s,color .2s,border-color .2s}
main .btn:hover,#brief .btn:hover,.page-end .btn:hover{background:#fff;color:#000;border-color:#000}
main .btn:focus-visible{outline:2px solid #d11f34;outline-offset:4px}
.floating{background:#d11f34;color:#fff}
.subpage{background:#fff;color:#302f2a}
.subpage main{min-height:75svh}
.subpage .site-header:not(.is-scrolled){color:#000}
.subpage .site-header:not(.is-scrolled) .brand-wordmark{filter:invert(1)}
.process-page .site-header:not(.is-scrolled),.contact-page .site-header:not(.is-scrolled){color:#fff}
.process-page .site-header:not(.is-scrolled) .brand-wordmark,.contact-page .site-header:not(.is-scrolled) .brand-wordmark{filter:none}
.page-intro{padding:150px 7vw 70px;text-align:center;max-width:1100px;margin:auto}
.page-intro p{max-width:720px;margin-inline:auto}
.about-services{padding:30px 7vw 85px}
.about-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 35px;max-width:1320px;margin:auto}
.about-service-grid article{text-align:left}
.about-service-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:20px;margin-bottom:20px}
.about-service-grid .field-examples{color:#d11f34;font-weight:700;font-size:13px!important}
.subpage .standards{min-height:0;padding-block:80px}
.page-process-cover{min-height:75svh!important;padding-top:140px!important;align-items:center}
.page-process-cover .process-tags{margin:0 0 24px!important}
.page-process-cover h1{max-width:850px;margin-inline:auto}
.page-end{padding:80px 7vw;text-align:center;background:#fff}
.page-end .btn{margin-top:24px}
.subpage #process .process-list{min-height:0;padding-top:50px}
.contact-page #brief{padding-top:140px}
.region-fields{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.region-fields legend{font-size:12px;color:rgba(255,255,255,.8);padding:0 0 7px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#brief .form-delivery-note,#brief #delivery-status{color:rgba(255,255,255,.6);font-size:13px!important;line-height:1.6!important}
#brief #delivery-status{margin-top:12px}
@media(max-width:760px){
 .site-header .header-left{display:none}
 .site-header .header-right a[href="/process/"]{display:none}
 .site-header .header-right a[href="/contact/"]{display:block;font-size:12px}
 .page-intro{padding:120px 6vw 45px}
 .about-services{padding:20px 6vw 50px}
 .about-service-grid{grid-template-columns:1fr;gap:32px}
 .subpage .standards{padding-block:55px}
 .page-process-cover{min-height:65svh!important;padding-top:110px!important;padding-bottom:45px!important}
 .page-end{padding:55px 6vw}
 .contact-page #brief{padding-top:110px}
}
@media(prefers-reduced-motion:reduce){main .btn{transition:none}}
/* White FAQ and the landing page's red consultation section. */
.faq.faq-categories{background:#fff;color:#000}
body:not(.subpage) #brief.contact{background:#d11f34;color:#fff}
/* Only visible within the landing page's service-to-FAQ range. */
.floating.fab-controlled{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}
.floating.fab-controlled.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .35s ease,transform .35s ease,visibility 0s}
/* Reveal text and cards without transforming scroll stages or image tracks. */
.content-motion-ready .content-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.content-motion-ready .content-reveal.is-revealed{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.floating.fab-controlled{transition:none;transform:none}.content-motion-ready .content-reveal{opacity:1;transform:none;transition:none}}

/* Align the first FAQ question to the category heading above its number column. */
.faq-questions details:first-child > summary{padding-top:0}
.page-process-cover .process-tags{margin:24px 0 0!important}

.process-detail-items{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.7}
.process-detail-items li{padding:10px 0;border-top:1px solid rgba(255,255,255,.16);display:flex;gap:10px}
.process-detail-items li:before{content:'–';color:rgba(255,255,255,.45);flex:none}
@media(max-width:760px){.process-detail-items{grid-template-columns:1fr;font-size:13px;margin-top:12px}}

.form-consent>label{display:flex;align-items:flex-start;gap:8px;font-size:13px}.form-consent input{width:16px!important;height:16px;margin-top:4px;flex:none}.form-consent details{border:0;padding:10px 0}.form-consent summary{font-size:12px;color:rgba(255,255,255,.7)}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#brief button:disabled{opacity:.5;cursor:wait}

.inquiry-confirmation{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:36px 28px;border:0;border-radius:16px;background:#fff;color:#111;text-align:center;box-shadow:0 20px 80px #0003;overflow:auto}
.inquiry-confirmation::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.inquiry-confirmation h2{font-size:22px!important;line-height:1.4;letter-spacing:-.6px;margin:0 0 12px!important}
.inquiry-confirmation p{font-size:15px;line-height:1.7;opacity:.7;margin:0!important}
.inquiry-confirmation form{display:block;margin-top:28px}
.inquiry-confirmation .btn{width:100%;background:#000;color:#fff;border:1px solid #000;min-height:48px}
.inquiry-confirmation .btn:hover{background:#fff;color:#000}

.contact h1.contact-slogan{font-size:36px;line-height:1.3;letter-spacing:-1.2px;margin:0 0 8px;font-weight:700}
@media(max-width:760px){.contact h1.contact-slogan{font-size:30px}}

.hero .btn{background:#fff!important;color:#000!important;transition:background-color .2s ease,color .2s ease}
.hero .btn:hover{background:#000!important;color:#fff!important}
.process-tags button{transition:background-color .2s ease}
.process-tags button:hover{background:rgba(255,255,255,.2)}
@media(prefers-reduced-motion:reduce){.hero .btn,.process-tags button{transition:none}}

.title-highlight{background:#D11F34;color:#fff;padding:.02em .14em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.title-highlight-light{background:#fff;color:#000}
.privacy-summary{padding:18px 20px;margin-bottom:14px;border:1px solid #ffffff40;background:#ffffff09;text-align:left;font-size:13px;line-height:1.7;color:rgba(255,255,255,.78)}
.privacy-summary p{font-size:13px!important;line-height:1.7;margin:0 0 10px!important;opacity:1!important}
.privacy-summary .privacy-summary-title{color:#fff;font-weight:700}
.privacy-summary dl{margin:0 0 12px}.privacy-summary dl>div{display:grid;grid-template-columns:64px 1fr;gap:12px;margin-bottom:5px}
.privacy-summary dt{color:#fff;font-weight:600}.privacy-summary dd{margin:0}
.privacy-policy-link{font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#fff}
.footer-policy{padding:12px 7vw 30px;text-align:left;font-size:13px;color:rgba(255,255,255,.65)}
.footer-policy a{transition:color .2s}.footer-policy a:hover{color:#fff}
.privacy-page{background:#fff;color:#111;padding:140px 7vw 80px}.privacy-intro{max-width:960px;margin:0 auto 48px;text-align:left}
.privacy-intro h1{font-size:36px;line-height:1.3;letter-spacing:-1px}.privacy-intro p{font-size:15px;line-height:1.8;max-width:720px}.privacy-date{opacity:.55;margin-top:16px}
.privacy-body{max-width:960px;margin:auto}.privacy-body section{padding:28px 0;border-top:1px solid #0002}.privacy-body h2{font-size:20px;letter-spacing:-.5px;margin-bottom:16px;text-align:left}.privacy-body p{font-size:14px;line-height:1.9;margin-bottom:12px;opacity:.8}.privacy-body dl{font-size:14px;line-height:1.8}.privacy-body dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:8px 0}.privacy-body dt{font-weight:600}.privacy-body dd{margin:0}.privacy-body a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.privacy-summary{padding:16px}.footer-policy{padding:12px 6vw 28px}.privacy-page{padding:120px 6vw 50px}.privacy-intro h1{font-size:30px}.privacy-body dl>div{grid-template-columns:1fr;gap:3px}}
