/* Final mobile pass: preserve the desktop system while improving small-screen flow. */
.cta{margin:0!important;border-radius:0!important}
.footer-logo{display:inline-block;margin-bottom:10px}.footer-logo img{display:block;width:112px;height:auto;max-height:48px;object-fit:contain}
.cookie-consent{position:fixed;right:24px;bottom:24px;z-index:100;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;max-width:760px;padding:25px 28px;background:#191919;color:#f8f6f1;box-shadow:0 18px 45px rgba(0,0,0,.3);border-left:6px solid #e51b23}.cookie-consent h2{margin:4px 0 8px;color:#fff;font:600 clamp(1.45rem,2.2vw,2rem)/1.05 Georgia,serif}.cookie-consent p:last-child{max-width:490px;margin:0;color:#d7d2cc;font-size:.9rem;line-height:1.5}.cookie-consent-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-button{min-height:42px;padding:11px 14px;border:1px solid #777;background:transparent;color:#fff;cursor:pointer;font:700 .68rem/1 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.cookie-button:hover,.cookie-button:focus-visible{border-color:#fff}.cookie-accept,.cookie-save{background:#e51b23;border-color:#e51b23}.cookie-preferences{grid-column:1/-1;display:grid;gap:11px;padding-top:5px;border-top:1px solid #454545}.cookie-preferences label{display:flex;align-items:center;gap:9px;color:#f8f6f1;font-size:.82rem;font-weight:600;letter-spacing:0;text-transform:none}.cookie-preferences input{display:inline-block;width:auto;height:auto;margin:0}.cookie-preferences span{color:#aaa;font-size:.75rem}.cookie-save{justify-self:start;margin-top:4px}@media(max-width:760px){.cookie-consent{right:14px;bottom:14px;left:14px;display:block;padding:22px}.cookie-consent-actions{justify-content:flex-start;margin-top:18px}.cookie-consent-actions .cookie-button{flex:1 1 135px}.cookie-preferences{margin-top:18px}}
.cookie-consent{left:0;right:0;bottom:0;max-width:none;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:15px clamp(20px,5vw,85px);border-left:0;border-top:4px solid #e51b23;box-shadow:0 -8px 24px rgba(0,0,0,.2)}.cookie-consent .eyebrow{display:none}.cookie-consent h2{margin:0 0 4px;font-size:1.25rem;letter-spacing:-.025em}.cookie-consent p:last-child{max-width:760px;font-size:.78rem;line-height:1.35}.cookie-consent-actions{gap:7px}.cookie-button{min-height:36px;padding:9px 11px;font-size:.61rem}.cookie-preferences{padding-top:12px;grid-template-columns:repeat(3,max-content) auto;align-items:center}.cookie-save{justify-self:end;margin:0}@media(max-width:760px){.cookie-consent{left:0;right:0;bottom:0;display:block;padding:16px 20px}.cookie-consent h2{font-size:1.12rem}.cookie-consent-actions{margin-top:12px}.cookie-preferences{grid-template-columns:1fr;margin-top:14px}.cookie-save{justify-self:start;margin-top:4px}}
/* Shared light-surface system for inner pages. */
body:not(.homepage):not(.case-page){background:#f7f5f2;color:#211e1c}body:not(.homepage):not(.case-page) .page-hero{background:#1d1a18;color:#fff}body:not(.homepage):not(.case-page) .page-hero h1{color:#fff}body:not(.homepage):not(.case-page) .page-hero>p:last-child{color:#ddd7d2}body:not(.homepage):not(.case-page) .service-detail,body:not(.homepage):not(.case-page) .about-grid,body:not(.homepage):not(.case-page) .faq-list{background:#fff;color:#211e1c}body:not(.homepage):not(.case-page) .service-detail h2,body:not(.homepage):not(.case-page) .capability-list h2,body:not(.homepage):not(.case-page) .offers h2,body:not(.homepage):not(.case-page) .about-grid h2,body:not(.homepage):not(.case-page) .contact h2{color:#211e1c!important}body:not(.homepage):not(.case-page) .service-detail p,body:not(.homepage):not(.case-page) .about-grid p,body:not(.homepage):not(.case-page) .faq-list summary,body:not(.homepage):not(.case-page) .faq-list details p{color:#393431!important}body:not(.homepage):not(.case-page) .service-detail.dark{background:#eeeae6;color:#211e1c}body:not(.homepage):not(.case-page) .service-detail.dark .eyebrow{color:#d71920!important}body:not(.homepage):not(.case-page) .service-detail.dark .list-columns li{border-color:#d4cec8;color:#393431}body:not(.homepage):not(.case-page) .capability-list{background:#ecebe7;color:#211e1c}body:not(.homepage):not(.case-page) .capability-list article{background:#f7f5f2;border-color:#d9d3cd}body:not(.homepage):not(.case-page) .capability-list h3{color:#211e1c!important}body:not(.homepage):not(.case-page) .capability-list article p{color:#393431!important}body:not(.homepage):not(.case-page) .offers{background:#fff;color:#211e1c}body:not(.homepage):not(.case-page) .offer{background:#24211f}body:not(.homepage):not(.case-page) .portfolio{background:#f7f5f2}body:not(.homepage):not(.case-page) .portfolio-item{background:#24211f;color:#fff}body:not(.homepage):not(.case-page) .portfolio-item h2,body:not(.homepage):not(.case-page) .portfolio-item p,body:not(.homepage):not(.case-page) .portfolio-item span{color:#fff!important}body:not(.homepage):not(.case-page) .contact{background:#ecebe7}body:not(.homepage):not(.case-page) .faq-list details{border-color:#d7d1cc}
body.case-page{background:#f7f5f2!important;color:#211e1c}.case-page .case-wrap,.case-page .case-story{background:#f7f5f2!important}.case-page .case-title,.case-page .case-story-main h2{color:#211e1c!important}.case-page .case-summary,.case-page .case-story-main p{color:#393431!important}.case-page .case-feature{background:#fff!important}.case-page .case-feature-copy h2{color:#766f69!important}.case-page .case-feature-copy h2 strong{color:#211e1c!important}.case-page .case-feature-copy p:last-child{color:#393431!important}.case-page .case-results .case-result{background:#fff!important}.case-page .case-result span{color:#393431!important}.case-page .case-story{color:#211e1c}.case-page .case-story-aside p{color:#d71920!important}
/* Contrast safeguards: light content always receives dark, readable text. */
body:not(.homepage):not(.case-page) main{color:#211e1c}body:not(.homepage):not(.case-page) main h1,body:not(.homepage):not(.case-page) main h2,body:not(.homepage):not(.case-page) main h3{color:#211e1c!important}body:not(.homepage):not(.case-page) main p,body:not(.homepage):not(.case-page) main li{color:#393431!important}body:not(.homepage):not(.case-page) .page-hero h1,body:not(.homepage):not(.case-page) .page-hero p,body:not(.homepage):not(.case-page) .cta h2,body:not(.homepage):not(.case-page) .cta p,body:not(.homepage):not(.case-page) .offer h3,body:not(.homepage):not(.case-page) .offer p,body:not(.homepage):not(.case-page) .portfolio-item h2,body:not(.homepage):not(.case-page) .portfolio-item p,body:not(.homepage):not(.case-page) .portfolio-item span,body:not(.homepage):not(.case-page) .garage-talk-note h2,body:not(.homepage):not(.case-page) .garage-talk-note p{color:#f8f6f1!important}body:not(.homepage):not(.case-page) .page-hero .eyebrow,body:not(.homepage):not(.case-page) .cta .eyebrow,body:not(.homepage):not(.case-page) .offer p{color:#ff6469!important}.case-page main{color:#211e1c}.case-page main h1,.case-page main h2,.case-page main h3{color:#211e1c!important}.case-page main p,.case-page main li,.case-page .case-result span{color:#393431!important}.case-page .cta h2,.case-page .cta p{color:#f8f6f1!important}.case-page .cta .eyebrow{color:#ff6469!important}
body:not(.homepage):not(.case-page) .testimonials h2,body:not(.homepage):not(.case-page) .testimonials p,body:not(.homepage):not(.case-page) .testimonials blockquote p,body:not(.homepage):not(.case-page) .testimonials footer,body:not(.homepage):not(.case-page) .testimonials footer strong,body:not(.homepage):not(.case-page) .testimonials .carousel-button,body:not(.homepage):not(.case-page) .testimonials .carousel-progress{color:#f8f6f1!important}body:not(.homepage):not(.case-page) .testimonials .eyebrow,body:not(.homepage):not(.case-page) .testimonials footer span,body:not(.homepage):not(.case-page) .testimonials .carousel-progress{color:#cfcac3!important}body:not(.homepage):not(.case-page) .service-visual figcaption{color:#fff!important}
body:not(.homepage):not(.case-page) .contact label{color:#211e1c!important}body:not(.homepage):not(.case-page) .contact input,body:not(.homepage):not(.case-page) .contact select,body:not(.homepage):not(.case-page) .contact textarea{color:#211e1c!important}
.cas-portfolio-card img{object-fit:contain!important;object-position:center!important;background:#f7f5f2}
.case-page .text-link{color:#211e1c!important}.case-page .text-link span{color:#d71920!important}.case-page .case-wrap{padding-bottom:0}.case-page .cta{width:100vw;margin:0 calc(50% - 50vw)!important;border-radius:0!important;box-shadow:none!important}
@media (min-width:761px){
  .site-header{position:fixed;inset:0 0 auto;height:83px;z-index:50;transform:translateY(0);transition:transform .28s ease;box-shadow:0 8px 24px rgba(0,0,0,.16)}
  .site-header.nav-hidden{transform:translateY(-96px)}
  body:not(.homepage) main{padding-top:83px}
}
@media (max-width:760px){
  html,body{overflow-x:hidden}
  .site-header{min-height:70px}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0}
  nav.open{max-height:calc(100vh - 70px);overflow-y:auto;box-shadow:0 14px 24px rgba(0,0,0,.24)}
  nav a{display:flex;align-items:center;min-height:44px}
  nav .button{width:100%;justify-content:center}
  .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
  .actions{gap:14px}
  .actions .button{width:100%}
  .actions .text-link{min-height:44px;display:inline-flex;align-items:center}
  .page-hero{padding:72px 25px}
  .page-hero h1{font-size:clamp(3rem,14vw,4.4rem)}
  .page-hero>p:last-child{margin-top:22px;font-size:1rem}
  .service-detail,.capability-list,.offers{padding:60px 25px}
  .portfolio{padding:55px 25px}
  .portfolio-item{margin-bottom:24px}
  .portfolio-item img{height:270px}
  .portfolio-item>div{padding:36px 25px}
  .portfolio-item h2{font-size:clamp(2.5rem,12vw,3.4rem)}
  .faq-list{padding:55px 25px}
  .faq-list details{padding:19px 0}
  .faq-list summary{padding-right:32px}
  .about-grid img{height:360px}
  .contact{padding:60px 25px}
  .case-wrap{padding:40px 18px 60px}
  .case-title{font-size:clamp(2.7rem,13vw,3.5rem)}
  .case-summary{font-size:1rem;margin-bottom:30px}
  .case-feature-copy{padding:30px 24px}
  .case-feature-copy h2{font-size:clamp(2.15rem,10vw,3rem)}
  .case-results{margin-top:8px}
  .case-result{padding:22px 15px}
  .case-story{padding:55px 8px}
  .case-story-main p{font-size:1rem}
  .case-creative img{height:260px}
}
