/* ============================================================
Next 12 — shared site styles (brand shell: header, footer, nav)
============================================================ */
:root{--ink:#332C2A;--ink-2:#231F20;--cream:#FBF6F0;--peach:#E0D2C5}
*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--ink)}body{background:var(--ink);color:var(--cream);font-family:'Questrial',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:'League Spartan',sans-serif;letter-spacing:-.02em;margin:0}
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;background:transparent}.site-header-wrap{padding:18px 48px;display:flex;align-items:center}.site-logo{font-family:'League Spartan',sans-serif;font-weight:700;font-size:42px;letter-spacing:-.02em;color:var(--cream)}.site-logo span{color:var(--cream)}.site-nav-actions{display:flex;align-items:center;gap:22px;margin-left:auto}.site-nav{display:flex;align-items:center;gap:22px;font-size:14.5px}.site-nav a{color:var(--cream);opacity:1;transition:color .15s}.site-nav a:hover{color:var(--peach)}.site-cta{border:1px solid var(--peach);color:var(--peach);padding:9px 18px;border-radius:0;font-size:14px;font-weight:700;white-space:nowrap;transition:background .15s,color .15s}.site-cta:hover{background:var(--peach);color:var(--ink)}.site-nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:0;padding:6px;cursor:pointer;margin-left:auto}.site-nav-toggle span{width:22px;height:2px;background:var(--cream);display:block}.site-nav-mobile{display:none;flex-direction:column;gap:2px;padding:0 24px 18px}.site-nav-mobile a{padding:12px 0;border-top:1px solid rgba(251,246,240,.08);font-size:15px;color:var(--cream)}.site-nav-mobile .site-cta{border:0;background:var(--peach);color:var(--ink);text-align:center;margin-top:10px}
.site-nav .nav-preview{color:var(--peach)}.site-nav-mobile .nav-preview{color:var(--peach)}
@media(max-width:1024px){.site-nav-actions{display:none}.site-nav-toggle{display:flex}.site-header{transition:background .2s ease}.site-header.is-open{background:rgba(48,45,47,.97);backdrop-filter:blur(10px)}.site-nav-mobile{display:flex;max-height:0;opacity:0;overflow:hidden;transition:max-height .28s ease,opacity .22s ease}.site-header.is-open .site-nav-mobile{max-height:420px;opacity:1}.site-hero-inner{padding-left:48px;padding-top:90px}}
.site-hero{position:relative;min-height:500px;display:flex;align-items:center;overflow:hidden;background:#2C2523}.site-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.38}.site-hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(35,31,32,.68) 0,rgba(35,31,32,.4) 90px,rgba(35,31,32,0) 220px,rgba(41,38,39,.08) 60%,rgba(41,38,39,.6) 82%,#2C2523 100%)}.site-hero-inner{position:relative;z-index:2;padding:110px 48px 64px 128px;width:100%}.site-hero-inner.site-hero-inner--center{max-width:1160px;margin:0 auto;padding:110px 48px 96px;text-align:center;display:flex;flex-direction:column;align-items:center}.site-hero-inner h1{font-size:clamp(34px,4.8vw,50px);line-height:1.12;font-weight:400;color:var(--cream)}.site-hero-inner.site-hero-inner--center h1{white-space:nowrap}.site-hero-inner h1 b{font-weight:700}.site-hero-btn{display:inline-block;margin-top:26px;border:1px solid rgba(251,246,240,.55);color:var(--cream);padding:13px 22px;border-radius:0;font-size:14.5px;background:rgba(35,31,32,.25);transition:background .15s,border-color .15s}.site-hero-btn:hover{background:rgba(35,31,32,.55);border-color:var(--cream)}
.site-hero-choice{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap;justify-content:center}.hero-choice-card{position:relative;display:flex;align-items:center;gap:14px;width:auto;padding:16px 24px;border-radius:15px;text-align:left;border:1px solid var(--peach);background:var(--peach);backdrop-filter:none;box-shadow:0 8px 24px rgba(20,17,18,.12);transition:background .18s,border-color .18s}.hero-choice-card:hover,.hero-choice-card:active{border-color:#FFE7DA;background:#FFE7DA}.hero-choice-icon{flex:none;width:38px;height:38px;border:0;background:transparent;display:flex;align-items:center;justify-content:center}.hero-choice-icon svg{width:32px;height:32px;stroke:var(--ink)!important}.hero-choice-text{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.hero-choice-label{font-family:'Questrial',sans-serif;font-weight:700;font-size:16px;color:var(--ink);line-height:1.22}.hero-choice-sub{font-family:'Questrial',sans-serif;font-size:13px;color:#6F5C53;opacity:1}
.hero-break{display:none}
@media(max-width:760px){.site-hero-inner.site-hero-inner--center h1{white-space:normal}.hero-break{display:block}}
@media(max-width:480px){.hero-choice-card{width:100%;max-width:100%}.hero-choice-text{white-space:normal}.hero-choice-label{font-size:15px}}
@media(max-width:640px){.site-hero{min-height:400px}.site-hero-inner{padding:40px 20px 48px}.site-hero-inner.site-hero-inner--center{padding:100px 20px 70px}}
.site-footer{margin:0;background:#332C2A;padding:18px 48px}.site-footer-wrap{width:100%;max-width:none;margin:0;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-footer .site-logo{font-size:42px;color:var(--cream)}.site-footer .site-logo span{color:var(--cream)}.site-footer-meta{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:13px;color:rgba(251,246,240,.62)}.site-footer-meta a{color:rgba(251,246,240,.78);transition:color .15s}.site-footer-meta a:hover{color:var(--cream)}
@media(max-width:640px){.site-footer{padding:18px 20px}.site-footer-wrap{align-items:flex-end}.site-footer .site-logo{font-size:36px}.site-footer-meta{flex-direction:column;align-items:flex-end;gap:5px;font-size:11.5px}}
.page-hero{padding:72px 24px 24px;max-width:900px;margin:0 auto;text-align:center}.page-hero h1{font-size:clamp(36px,5vw,54px);line-height:1.02}.page-hero p{opacity:.72;font-size:18px;line-height:1.55;margin-top:16px}

/* Mobile polish */
@media(max-width:640px){
.site-header-wrap{padding:32px 30px 0 14px;align-items:center}.site-logo{order:2;margin-left:auto}.site-nav-toggle{order:1;margin-left:0}
.site-header .site-logo{font-size:35px;line-height:1}
.site-nav-toggle{padding:0;gap:7px}
.site-nav-toggle span{width:30px;height:2.2px;border-radius:2px}
.site-nav-mobile{padding:10px 16px 18px}
.site-hero{min-height:480px;align-items:stretch;flex-wrap:wrap;background:linear-gradient(180deg,rgb(82,95,129) 0,rgb(82,95,129) 100px,rgba(82,95,129,0) 326px,rgba(82,95,129,0) 380px,rgb(41,38,39) 480px)}
.site-hero-bg{inset:136px -100px auto auto;width:146%;max-width:none;height:75%;object-fit:cover;object-position:right top;opacity:.64;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 90px,#000 244px,transparent 344px);mask-image:linear-gradient(180deg,transparent 0,#000 90px,#000 244px,transparent 344px)}
.site-hero::before{background:none}
/* .site-hero-inner.site-hero-inner--center and .site-hero-choice/.hero-choice-card
   only ever appear on the home page, and home-extra.css now fully owns their
   mobile styling there (the centered hero collapses to a thin bar; the choice
   cards are hidden entirely in favor of the product-story cards). The mobile
   overrides that used to live here for those selectors were dead weight —
   removed rather than left to confuse a future edit, per the "check what's
   actually rendering" lesson in the project status doc. */
.hero-break{display:none}
.site-hero>.stats-bar{flex:0 0 100%;width:100%}
}


/* Compact global footer contact links. */
.site-footer-links{display:flex;align-items:center;gap:20px;margin-left:auto}
.site-footer-links a{font-size:13px;color:rgba(251,246,240,.72);text-decoration:none}
.site-footer-links a:hover{color:#E0D2C5}
.site-footer .site-footer-meta{margin-left:0}
@media(max-width:760px){
  .site-footer-wrap{flex-wrap:wrap;align-items:center}
  /* flex-wrap, because width:100% on a nowrap flex row does not stop it
     overflowing -- the eight links stayed on one line and ran 56px off
     the side of a 390px screen. */
  .site-footer-links{order:3;width:100%;margin-left:0;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap;row-gap:8px}
  .site-footer-meta{margin-left:auto}
}


/* Keep compact contact links visible on pages with older footer overrides. */
body .site-footer-links{display:flex!important}


/* Simplified footer and image-overlay variant. */
.site-footer-built{margin:0 auto;font-size:12px;line-height:1.4;color:rgba(251,246,240,.46)}
.site-footer-built a{color:rgba(251,246,240,.62);text-decoration:none}
.site-footer-built a:hover{color:#E0D2C5}
.site-footer .site-footer-meta{margin-left:0}
.site-footer--overlay{
  position:relative;
  z-index:6;
  margin-top:-82px;
  padding-top:28px;
  padding-bottom:18px;
  background:linear-gradient(180deg,rgba(25,22,23,0),rgba(25,22,23,.76));
}
@media(max-width:760px){
  .site-footer-wrap{flex-wrap:nowrap}
  .site-footer-built{max-width:190px;text-align:center;font-size:11px}
  .site-footer--overlay{margin-top:-90px;padding-top:34px}
}
@media(max-width:560px){
  .site-footer-wrap{flex-wrap:wrap}
  .site-footer-built{order:3;width:100%;max-width:none;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
}


/* Overlay service-page footers even when older page CSS resets footer margins. */
.site-footer--overlay{margin-top:-82px!important}
@media(max-width:760px){.site-footer--overlay{margin-top:-90px!important}}


/* Simplified two-point footer: quiet build credit left, privacy right. */
.site-footer-built{margin:0;text-align:left}
.site-footer .site-footer-meta{margin-left:auto}
@media(max-width:560px){
  .site-footer-wrap{flex-wrap:nowrap;align-items:flex-end;gap:16px}
  .site-footer-built{order:0;width:auto;max-width:210px;padding-top:0;border-top:0;text-align:left}
  .site-footer .site-footer-meta{margin-left:auto;flex:0 0 auto}
}


/* Keep both footer notes at the same visual size. */
.site-footer-built,
.site-footer-meta{font-size:12px}


/* Consistent service-page hero labels and footer overlap. */
.sw-hero-copy .eyebrow,
.auto-hero-copy .eyebrow,
.pl-hero-copy .pl-eyebrow{
  font-family:'Questrial',sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1;
  letter-spacing:.22em;
}
.site-footer--overlay{margin-top:-63px!important}
@media(max-width:760px){.site-footer--overlay{margin-top:-63px!important}}


/* Uppercase peach labels use one consistent display face. */
.pl-eyebrow,
.pl-speed-intro h3,
.sw-four-item span,
.sw-custom-kicker,
.cs-cta-kicker,
.cs-budget-callout{
  font-family:'Questrial',sans-serif;
}
