/* ==========================================================
   Crown Services — shared styles
   ========================================================== */
:root{
    --ink:#14120E;
    --gold:#D5AF31;
    --gold-light:#E8CC5A;
    --gold-text:#7F6312;      /* gold for text on light backgrounds */
    --gold-num:#8A6B12;       /* large gold numbers on light backgrounds */
    --gold-soft:#F0DE9E;
    --cream:#FAF2D9;
    --cream-line:#E0D3A6;
    --paper:#FFFFFF;
    --field:#FDFBF4;
    --field-line:#D9CFAE;
    --stone:#5E5A50;          /* body text on light */
    --body:#3D3A33;
    --line:#E6DDBF;
    --error:#A3271B;
    --font-display:'DM Serif Display',Georgia,serif;
    --font-body:'Manrope',system-ui,sans-serif;
    --ease:cubic-bezier(0.16,1,0.3,1);
    --gutter:120px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--gold-text);}
a:hover{color:var(--ink);}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;}html{scroll-behavior:auto;}}

.wrap{max-width:1200px;margin:0 auto;}
.serif{font-family:var(--font-display);font-weight:400;}
.center{text-align:center;}
.muted{color:var(--stone);}

/* ---------- Headings ---------- */
.display{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,5.6vw,80px);line-height:1.04;letter-spacing:-0.5px;}
.h2{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,3.7vw,52px);line-height:1.1;}
.lede{font-size:clamp(16px,1.3vw,18px);line-height:1.7;color:var(--stone);}
.crumb{font-size:14px;color:var(--gold-text);display:flex;gap:10px;margin-bottom:22px;}
.crumb a{color:var(--stone);text-decoration:none;}
.crumb a:hover{color:var(--ink);}
.center .crumb,.about-hero .crumb{justify-content:center;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;min-height:48px;font-family:var(--font-body);font-size:14px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s;}
.btn-ink{background:var(--ink);color:var(--gold);}
.btn-ink:hover{background:var(--gold);color:var(--ink);}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-line:hover{background:var(--ink);color:var(--gold);}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{background:var(--gold-light);color:var(--ink);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.center .btn-row,.home-hero .btn-row{justify-content:center;}
.btn[disabled]{opacity:.6;cursor:wait;}

/* ---------- Nav (stays black) ---------- */
.site-nav{position:sticky;top:0;z-index:1000;background:var(--ink);padding:0 40px;transition:box-shadow .3s;}
.site-nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.35);}
.nav-inner{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;height:70px;position:relative;}
.nav-logo img{height:44px;width:auto;}
.nav-contact{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;font-size:13px;}
.nav-contact a{color:var(--gold);text-decoration:none;}
.nav-contact svg{flex-shrink:0;}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center;}
.nav-links a{font-size:13px;font-weight:500;letter-spacing:.5px;text-decoration:none;color:var(--gold);position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold-light);transition:width .3s var(--ease);}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%;}
.nav-links a.nav-cta{background:var(--gold);color:var(--ink);padding:9px 22px;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;transition:background .3s;}
.nav-links a.nav-cta::after{display:none;}
.nav-links a.nav-cta:hover{background:var(--gold-light);}
.nav-links a.nav-cta[aria-current="page"]{background:var(--cream);}
.nav-hamburger{display:none;width:44px;height:44px;background:none;border:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--gold);transition:transform .3s,opacity .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;inset:64px 0 0 0;background:var(--ink);z-index:999;flex-direction:column;padding:36px 28px;gap:4px;overflow-y:auto;}
.mobile-menu.open{display:flex;}
.mobile-menu a.mm-link{font-family:var(--font-display);font-size:34px;color:var(--cream);text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(213,175,49,.15);}
.mobile-menu a.mm-link[aria-current="page"]{color:var(--gold);}
.mobile-menu .btn{margin-top:28px;align-self:flex-start;}
.mobile-menu .mm-note{margin-top:22px;font-size:14px;color:rgba(250,242,217,.6);}
.mobile-menu .mm-note a{color:var(--gold);text-decoration:none;}

/* ---------- Footer (stays black) ---------- */
.site-footer{background:var(--ink);color:rgba(250,242,217,.7);padding:70px 40px 30px;}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;max-width:1200px;margin:0 auto;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.06);}
.footer-brand img{height:70px;width:auto;margin-bottom:14px;}
.footer-tagline{font-family:var(--font-display);font-size:16px;font-style:italic;color:var(--gold);margin-bottom:20px;}
.footer-brand p{font-size:13px;line-height:1.7;font-weight:300;}
.footer-brand a{color:rgba(250,242,217,.7);text-decoration:none;}
.footer-brand a:hover{color:var(--cream);}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:12px;}
.footer-col a{text-decoration:none;color:rgba(250,242,217,.55);font-size:13px;font-weight:300;transition:color .3s;}
.footer-col a:hover{color:var(--cream);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:24px auto 0;font-size:11px;color:rgba(250,242,217,.4);}
.footer-bottom a{color:rgba(250,242,217,.4);text-decoration:none;margin-left:20px;}
.footer-bottom a:hover{color:rgba(250,242,217,.75);}

/* ---------- Page header (cream) ---------- */
.page-head{background:var(--cream);padding:90px var(--gutter) 80px;}
.page-head .display{font-size:clamp(40px,5vw,72px);margin-bottom:18px;}
.page-head .lede{max-width:52ch;}
.page-head.legal{padding:80px var(--gutter) 70px;}
.page-head.legal .display{font-size:clamp(38px,4.5vw,64px);margin-bottom:12px;}

/* ---------- Sections ---------- */
.section{padding:110px var(--gutter);}
.section.cream{background:var(--cream);}
.section-head{margin-bottom:56px;}
.section-head.center .h2{margin-bottom:16px;}
.section-head.center p{margin:0 auto;max-width:56ch;font-size:16.5px;color:var(--stone);}

/* ---------- Home hero ---------- */
.home-hero{padding:90px var(--gutter) 0;text-align:center;}
.home-hero .display{margin:0 auto 22px;}
.home-hero .lede{max-width:58ch;margin:0 auto 34px;}
.home-hero .hero-art{position:relative;z-index:1;width:min(960px,100%);height:auto;margin:56px auto -26px;}
.stats{background:var(--cream);border-top:3px solid var(--gold);padding:70px var(--gutter) 64px;}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;max-width:1040px;margin:0 auto;}
.stats-grid > div + div{border-left:1px solid var(--cream-line);}
.stat-num{font-family:var(--font-display);font-size:clamp(32px,4.4vw,64px);line-height:1;color:var(--gold-num);}
.stat-label{margin-top:10px;font-size:15px;color:var(--stone);padding:0 8px;line-height:1.4;}
.stats-note{margin-top:30px;text-align:center;font-size:14px;font-style:italic;color:var(--stone);}

/* ---------- Service cards ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;}
.svc-card{border:1px solid var(--line);background:var(--paper);}
.svc-card.featured{border-color:var(--gold);box-shadow:0 30px 60px -34px rgba(20,18,14,.3);}
.svc-media{position:relative;}
.svc-media img{width:100%;height:280px;object-fit:cover;}
.badge{position:absolute;top:16px;left:16px;background:var(--cream);color:var(--gold-text);font-size:12px;font-weight:600;padding:5px 12px;}
.svc-body{padding:30px 30px 34px;}
.svc-body h3{font-family:var(--font-display);font-weight:400;font-size:28px;line-height:1.15;margin-bottom:10px;}
.svc-body p{font-size:15px;color:var(--stone);line-height:1.7;}
.svc-more{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px;font-size:14.5px;color:var(--body);line-height:1.6;}
.svc-more[hidden]{display:none;}
.svc-toggle{margin-top:22px;background:none;border:1px solid var(--gold);padding:11px 22px;min-height:44px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .25s;}
.svc-toggle:hover{background:var(--gold);}

/* ---------- Why Crown ---------- */
.why{background:var(--cream);padding:0 var(--gutter);display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;min-height:600px;overflow:hidden;}
.why .h2{margin-bottom:24px;}
.why p{color:var(--stone);font-size:17px;line-height:1.8;max-width:52ch;}
.why p + p{margin-top:18px;}
.why-art{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-height:600px;}
.why-art::before{content:'';position:absolute;width:440px;height:440px;border-radius:50%;background:var(--gold-soft);left:50%;top:52%;transform:translate(-50%,-50%);}
.why-art img{position:relative;max-height:540px;width:auto;}

/* ---------- Logo carousel ---------- */
.trusted{padding:100px 0;}
.trusted .h2{text-align:center;margin-bottom:48px;font-size:clamp(28px,2.8vw,40px);}
.marquee{position:relative;overflow:hidden;}
.marquee::before,.marquee::after{content:'';position:absolute;top:0;bottom:0;width:160px;z-index:1;pointer-events:none;}
.marquee::before{left:0;background:linear-gradient(to right,#fff,rgba(255,255,255,0));}
.marquee::after{right:0;background:linear-gradient(to left,#fff,rgba(255,255,255,0));}
.marquee-track{display:flex;gap:72px;width:max-content;align-items:center;animation:crownMarquee 32s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track img{height:110px;width:auto;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s;}
.marquee-track img:hover{filter:none;opacity:1;}
.marquee-track img.logo-tall{height:120px;}
.marquee-track img.logo-mid{height:96px;}
.marquee-track img.logo-wide{height:70px;}
@keyframes crownMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- CTA band ---------- */
.cta{background:var(--cream);padding:96px var(--gutter);text-align:center;}
.cta .h2{margin-bottom:16px;font-size:clamp(30px,3.4vw,48px);}
.cta p{margin:0 auto 32px;font-size:16.5px;color:var(--stone);max-width:50ch;}
.cta .cta-note{margin-top:22px;font-size:14px;color:var(--stone);}
.cta .cta-note a{font-weight:600;}

/* ---------- About ---------- */
.about-hero{padding:100px var(--gutter) 0;text-align:center;background:linear-gradient(var(--cream) 0,var(--cream) 580px,var(--paper) 580px);}
.about-hero .display{margin:0 auto 22px;}
.about-hero .lede{max-width:54ch;margin:0 auto 60px;}
.about-hero .hero-photo{width:100%;height:500px;object-fit:cover;object-position:center 35%;}
.who{text-align:center;}
.who .h2{margin-bottom:22px;}
.who .pull{font-family:var(--font-display);font-size:clamp(21px,1.9vw,26px);line-height:1.45;max-width:44ch;margin:0 auto 50px;}
.who-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;text-align:left;max-width:1000px;margin:0 auto;}
.who-cols p{color:var(--stone);font-size:16.5px;line-height:1.85;}
.mvv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.mvv-card{background:var(--paper);border-top:3px solid var(--gold);padding:44px 36px 40px;text-align:center;}
.mvv-card img{width:64px;height:64px;margin:0 auto 22px;}
.mvv-card h3{font-family:var(--font-display);font-weight:400;font-size:30px;margin-bottom:14px;}
.mvv-card p{color:var(--stone);font-size:15.5px;line-height:1.75;}
.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.group-card{border:1px solid var(--line);padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;}
.group-icon{width:64px;height:64px;border-radius:50%;background:var(--cream);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.group-icon img{width:30px;height:30px;opacity:.8;}
.group-card span.serif{font-size:24px;line-height:1.25;}

/* ---------- Forms (shared) ---------- */
.form-card{background:var(--paper);padding:48px;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 30px 60px -30px rgba(20,18,14,.18);}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;}
.field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.field.full{grid-column:1/-1;}
.field label,.field legend{font-size:14px;font-weight:600;color:var(--ink);}
.field .opt{font-weight:400;color:var(--stone);}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--field);border:1px solid var(--field-line);padding:13px 15px;border-radius:2px;transition:border-color .2s,box-shadow .2s,background .2s;appearance:none;-webkit-appearance:none;}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2314120E' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px;}
.field textarea{min-height:140px;resize:vertical;}
.field input::placeholder,.field textarea::placeholder{color:#8C877A;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(213,175,49,.22);}
.field.invalid input,.field.invalid select,.field.invalid textarea,.field.invalid .drop{border-color:var(--error);}
.err{font-size:13px;color:var(--error);display:none;}
.field.invalid .err{display:block;}
fieldset.field{border:none;}
fieldset.field[hidden]{display:none;}
fieldset.follow{padding-left:18px;border-left:2px solid var(--gold);animation:fadeIn .35s var(--ease);}
.choices{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.choice{position:relative;}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.choice span{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;padding:10px 18px;border:1px solid var(--field-line);font-size:14.5px;background:var(--field);transition:all .2s;}
.choice input:checked + span{background:var(--ink);color:var(--gold);border-color:var(--ink);}
.choice input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px;}
.drop{position:relative;border:1.5px dashed #CDBF92;background:var(--field);padding:26px 20px;text-align:center;transition:border-color .2s,background .2s;}
.drop:hover,.drop.drag{border-color:var(--gold);background:#FFF9E6;}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.drop-title{font-size:15px;font-weight:600;}
.drop-title u{color:var(--gold-text);text-underline-offset:3px;}
.drop-hint{font-size:13px;color:var(--stone);margin-top:4px;}
.drop.has-file{border-style:solid;border-color:var(--gold);background:#FFF9E6;}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--stone);line-height:1.55;font-weight:400!important;}
.consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--ink);flex-shrink:0;}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;flex-wrap:wrap;}
.form-foot small{font-size:13px;color:var(--stone);}
.hp{position:absolute;left:-9999px;}
.thanks{display:none;}
.thanks h3{font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.15;margin:18px 0 14px;}
.thanks p{color:var(--stone);font-size:16px;line-height:1.75;margin-bottom:14px;}
.thanks-mark{width:56px;height:56px;border-radius:50%;background:var(--gold);display:grid;place-items:center;}
.link-btn{background:none;border:none;padding:0;font:inherit;font-size:15px;font-weight:600;color:var(--gold-text);text-decoration:underline;cursor:pointer;}
.is-sent .thanks{display:block;animation:fadeIn .5s var(--ease);}
.is-sent form{display:none;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}

/* ---------- Contact layouts (Find Us / Quote) ---------- */
.split{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start;}
.contact-list{border-top:1px solid var(--line);}
.contact-row{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.contact-row .k{font-size:13px;color:var(--stone);}
.contact-row a,.contact-row .v{font-size:17px;font-weight:600;color:var(--ink);text-decoration:none;}
.contact-row a:hover{color:var(--gold-text);}
.contact-row .v.small{font-size:15.5px;font-weight:400;line-height:1.6;}
.address-big{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1.35;margin-bottom:40px;}
.label-sm{font-size:15px;font-weight:600;margin-bottom:18px;}
.map-box{position:relative;min-height:560px;border:1px solid var(--line);background:#EFE7CF;}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- Careers ---------- */
.roles-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:48px;}
.roles-head .display{font-size:clamp(40px,4.5vw,64px);}
.roles-head p{color:var(--stone);font-size:16px;max-width:48ch;}
.role{border-top:1px solid var(--line);}
.role:last-child{border-bottom:1px solid var(--line);}
.role summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto 44px;gap:28px;align-items:center;padding:30px 4px;}
.role summary::-webkit-details-marker{display:none;}
.role h3{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,2.6vw,32px);line-height:1.15;transition:color .25s;}
.role summary:hover h3{color:var(--gold-text);}
.role-meta{font-size:14px;color:var(--stone);text-align:right;}
.role-meta strong{display:block;color:var(--ink);font-weight:600;}
.role-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;position:relative;transition:background .25s,border-color .25s;}
.role-toggle::before,.role-toggle::after{content:'';position:absolute;top:50%;left:50%;width:14px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s var(--ease);}
.role-toggle::after{transform:translate(-50%,-50%) rotate(90deg);}
.role[open] .role-toggle{background:var(--gold);border-color:var(--gold);}
.role[open] .role-toggle::after{transform:translate(-50%,-50%) rotate(0deg);}
.role-body{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:4px 4px 40px;animation:fadeIn .45s var(--ease);}
.role-body h4{font-size:15px;font-weight:600;margin-bottom:12px;}
.role-body p{color:var(--stone);font-size:15.5px;line-height:1.8;}
.role-body ul{list-style:none;display:grid;gap:10px;}
.role-body li{position:relative;padding-left:22px;color:var(--stone);font-size:15px;line-height:1.65;}
.role-body li::before{content:'';position:absolute;left:0;top:.7em;width:10px;height:1.5px;background:var(--gold);}
.role-body .btn{margin-top:28px;}
.apply-intro{position:sticky;top:110px;}
.apply-intro .h2{margin-bottom:20px;}
.apply-intro p{color:var(--stone);font-size:16px;line-height:1.75;margin-bottom:16px;max-width:42ch;}
.apply-intro .alt{margin-top:28px;padding-top:24px;border-top:1px solid var(--cream-line);font-size:15px;}
.apply-intro a{font-weight:600;}

/* ---------- Legal ---------- */
.legal-grid{display:grid;grid-template-columns:3fr 9fr;gap:80px;align-items:start;}
.toc{position:sticky;top:110px;border-top:2px solid var(--gold);padding-top:22px;}
.toc-title{font-size:13px;font-weight:600;margin-bottom:14px;}
.toc ol{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;}
.toc a{color:var(--stone);text-decoration:none;}
.toc a:hover{color:var(--ink);}
.legal-body{max-width:720px;font-size:16.5px;line-height:1.8;color:var(--body);}
.legal-body .intro{font-family:var(--font-display);font-size:clamp(20px,1.8vw,25px);line-height:1.45;color:var(--ink);margin-bottom:40px;}
.legal-body h2{font-family:var(--font-display);font-weight:400;font-size:28px;color:var(--ink);margin-bottom:14px;}
.legal-body p,.legal-body ul{margin-bottom:40px;}
.legal-body p.tight{margin-bottom:10px;}
.legal-body ul.tight{margin-bottom:18px;}
.legal-body ul{padding-left:22px;}
.legal-body li{margin-bottom:8px;}
.legal-body li:last-child{margin-bottom:0;}
.legal-body strong{color:var(--ink);}
.legal-body .contact-box{background:var(--cream);padding:24px 28px;margin-bottom:40px;}

/* ---------- Maintenance ---------- */
.maint{min-height:100vh;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 32px;position:relative;}
.maint::before{content:'';position:absolute;inset:clamp(14px,3vw,40px);border:1px solid var(--gold);pointer-events:none;}
.maint img{height:84px;width:auto;margin-bottom:56px;}
.maint .display{font-size:clamp(38px,5vw,68px);margin-bottom:22px;}
.maint .lede{max-width:46ch;margin:0 auto 40px;}
.maint .maint-mail{margin-top:48px;font-size:13px;color:var(--stone);}

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width:1180px){
    :root{--gutter:64px;}
    .nav-contact{display:none;}
}
@media (max-width:1023px){
    :root{--gutter:24px;}
    .site-nav{padding:0 20px;}
    .nav-inner{height:64px;}
    .nav-logo img{height:38px;}
    .nav-links{display:none;}
    .nav-hamburger{display:flex;}
    .section{padding:72px var(--gutter);}
    .home-hero{padding-top:56px;}
    .home-hero .hero-art{margin:36px auto -14px;}
    .stats{padding:40px var(--gutter) 34px;}
    .svc-grid,.mvv,.group-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto;}
    .svc-card.featured{order:-1;}
    .why{grid-template-columns:1fr;padding:64px var(--gutter) 0;gap:24px;min-height:0;}
    .why-art{min-height:360px;}
    .why-art::before{width:290px;height:290px;}
    .why-art img{max-height:340px;}
    .trusted{padding:64px 0;}
    .marquee::before,.marquee::after{width:50px;}
    .marquee-track{gap:40px;animation-duration:26s;}
    .marquee-track img{height:80px;}
    .marquee-track img.logo-tall{height:88px;}
    .marquee-track img.logo-mid{height:70px;}
    .marquee-track img.logo-wide{height:50px;}
    .cta{padding:64px var(--gutter);}
    .about-hero{padding-top:56px;background:linear-gradient(var(--cream) 0,var(--cream) 62%,var(--paper) 62%);}
    .about-hero .lede{margin-bottom:36px;}
    .about-hero .hero-photo{height:300px;}
    .who-cols{grid-template-columns:1fr;gap:16px;}
    .group-card{flex-direction:row;text-align:left;padding:24px 20px;gap:18px;}
    .group-icon{width:54px;height:54px;}
    .group-card span.serif{font-size:20px;}
    .page-head{padding:56px var(--gutter) 44px;}
    .split,.legal-grid{grid-template-columns:1fr;gap:40px;}
    .apply-intro,.toc{position:static;}
    .map-box{min-height:320px;}
    .roles-head{grid-template-columns:1fr;gap:16px;margin-bottom:32px;}
    .role summary{grid-template-columns:1fr 40px;gap:16px;padding:24px 0;}
    .role-meta{grid-column:1;grid-row:2;text-align:left;margin-top:-10px;}
    .role-meta strong{display:inline;}
    .role-toggle{grid-row:1/span 2;grid-column:2;width:40px;height:40px;}
    .role-body{grid-template-columns:1fr;gap:28px;padding:0 0 32px;}
    .footer-inner{grid-template-columns:1fr 1fr;gap:36px;}
    .footer-brand{grid-column:1/-1;}
    .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
    .footer-bottom a{margin:0 10px;}
    .site-footer{padding:52px 24px 26px;}
}
@media (max-width:640px){
    .display{font-size:clamp(32px,8.6vw,44px);}
    .home-hero .display{font-size:clamp(28px,8.4vw,40px);}
    .stat-num{font-size:30px;}
    .stat-label{font-size:12.5px;}
    .stats-note{font-size:13px;margin-top:16px;}
    .svc-media img{height:200px;}
    .svc-body{padding:24px 22px 28px;}
    .svc-body h3{font-size:24px;}
    .form-card{padding:28px 20px;}
    .fgrid{grid-template-columns:1fr;}
    .form-foot{flex-direction:column-reverse;align-items:stretch;text-align:center;}
    .field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{font-size:16px;}
    .btn-row .btn{flex:0 1 auto;}
    .contact-actions{flex-direction:column;}
    .contact-actions .btn{width:100%;}
    .legal-body{font-size:16px;}
    .legal-body h2{font-size:24px;}
}
