
:root{
  --ink:#1B1E22; --steel:#3E5568; --amber:#E2A233; --paper:#F1EDE4; --paper-2:#E7E1D3; --line:rgba(27,30,34,.14);
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --paper:#15181B; --paper-2:#1D2126; --ink:#EEE9DD; --line:rgba(238,233,221,.16);} }
:root[data-theme="dark"]{ --paper:#15181B; --paper-2:#1D2126; --ink:#EEE9DD; --line:rgba(238,233,221,.16);}
html{scroll-padding-top:env(safe-area-inset-top,0px); scroll-behavior:smooth;}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.brand,.stat-num{font-family:'Oswald',sans-serif;font-weight:700;margin:0;}
a{color:inherit;} img{max-width:100%;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}

/* TOPBAR */
.topbar{background:var(--ink);color:var(--paper);font-size:13px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;}
.topbar a{text-decoration:none;opacity:.9;}
.social{display:flex;gap:14px;}
.social svg{width:15px;height:15px;fill:var(--paper);}

/* HEADER */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--paper);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1140px;margin:0 auto;}
.brand{font-size:21px;text-decoration:none;display:flex;align-items:center;gap:9px;}
.brand .dot{width:9px;height:9px;background:var(--amber);display:inline-block;}
.navlinks{display:flex;gap:24px;font-size:14.5px;font-weight:500;align-items:center;}
.navlinks>a{text-decoration:none;opacity:.85;padding:6px 0;}
.navlinks>a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px;}
.has-drop{position:relative;}
.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--paper);border:1px solid var(--line);min-width:190px;padding:8px 0;}
.has-drop:hover .dropdown{display:block;}
.dropdown a{display:block;padding:8px 16px;font-size:14px;text-decoration:none;opacity:.85;}
.dropdown a:hover{background:var(--paper-2);}
.call-btn{background:var(--ink);color:var(--paper);padding:10px 18px;text-decoration:none;font-weight:600;font-size:13.5px;white-space:nowrap;}

/* HERO */
.hero{position:relative;padding:90px 0 70px;border-bottom:1px solid var(--line);overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:
  linear-gradient(135deg,var(--paper-2) 25%,transparent 25%) -20px 0/60px 60px,
  linear-gradient(225deg,var(--paper-2) 25%,transparent 25%) -20px 0/60px 60px,
  var(--paper); opacity:.5; z-index:0;}
.hero .wrap{position:relative;z-index:1;text-align:center;}
.kicker{font-size:15px;color:var(--steel);font-weight:600;margin-bottom:12px;}
.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.15;text-transform:uppercase;max-width:16ch;margin:0 auto;}
.cities{color:var(--steel);display:inline-block;min-width:1ch;}
.hero p.lede{margin:22px auto 0;font-size:17px;max-width:52ch;opacity:.85;}
.hero-cta{display:flex;gap:14px;margin-top:30px;justify-content:center;flex-wrap:wrap;}
.btn-primary{background:var(--amber);color:var(--ink);padding:14px 26px;text-decoration:none;font-weight:600;font-size:15px;border:1px solid var(--amber);display:inline-block;}
.btn-ghost{padding:14px 26px;text-decoration:none;font-weight:600;font-size:15px;border:1px solid var(--ink);color:var(--ink);display:inline-block;}

/* SERVICES BLOCKS */
.section{padding:70px 0;}
.section-head{text-align:center;max-width:56ch;margin:0 auto 50px;}
.section-head h2{font-size:clamp(26px,4vw,36px);text-transform:uppercase;}
.section-head p{font-size:15.5px;opacity:.8;margin-top:12px;}
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:44px 0;border-top:1px solid var(--line);}
.svc-block:first-of-type{border-top:none;}
.svc-block.rev .art{order:2;}
.art{aspect-ratio:4/3;background:var(--paper-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
.art svg{width:64px;height:64px;stroke:var(--steel);}
.svc-block .kicker2{font-size:13px;letter-spacing:.4px;color:var(--steel);font-weight:600;text-transform:uppercase;}
.svc-block h3{font-size:24px;margin-top:8px;text-transform:uppercase;}
.svc-block p{font-size:15px;opacity:.85;margin-top:12px;max-width:44ch;}
.svc-block ul{margin:14px 0 0;padding-left:18px;font-size:14.5px;opacity:.85;display:grid;gap:8px;}
.svc-block .btn-ghost{margin-top:18px;}

/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.member{background:var(--paper);padding:26px 20px;text-align:center;}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--steel);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:'Oswald';font-weight:600;font-size:18px;margin:0 auto 14px;}
.member h4{font-size:15.5px;font-family:'Oswald';font-weight:600;}
.member .role{font-size:13px;color:var(--steel);margin-top:4px;}
.member .phone{font-size:13px;opacity:.75;margin-top:6px;}

/* EXPERTISE BAND */
.split{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.split .wrap{padding:66px 24px;text-align:center;max-width:800px;}
.split h2{font-size:clamp(24px,4vw,32px);text-transform:uppercase;}
.split p{font-size:15.5px;opacity:.85;margin-top:18px;}
.split .hero-cta{margin-top:26px;}

/* FAQ */
.faq-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.faq-cols h3{font-size:14px;text-transform:uppercase;letter-spacing:.4px;color:var(--steel);margin-bottom:16px;}
details{border-bottom:1px solid var(--line);padding:14px 0;}
summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:12px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";font-size:20px;color:var(--steel);}
details[open] summary::after{content:"–";}
details p{font-size:14.5px;opacity:.85;margin:10px 0 0;}

/* CTA BAND */
.cta-band{background:var(--ink);color:var(--paper);}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;padding:52px 24px;gap:24px;flex-wrap:wrap;}
.cta-band h2{font-size:clamp(22px,3.4vw,30px);text-transform:uppercase;color:var(--paper);max-width:26ch;}
.cta-band .btn-primary{border-color:var(--amber);}

/* ORDER FORM */
.order-section{padding:70px 0;}
.form-shell{background:var(--paper-2);border:1px solid var(--line);padding:40px;max-width:760px;margin:0 auto;}
.form-shell h2{font-size:24px;text-transform:uppercase;}
.form-shell>p{font-size:14.5px;opacity:.8;margin-top:10px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px;}
.form-grid label{font-size:13px;font-weight:600;display:block;margin-bottom:6px;}
.form-grid input,.form-grid select,.form-grid textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:inherit;font-size:14.5px;
}
.form-grid .full{grid-column:1/-1;}
.form-grid textarea{resize:vertical;min-height:80px;}
.submit-btn{background:var(--amber);color:var(--ink);border:1px solid var(--amber);padding:13px 30px;font-weight:600;font-size:15px;cursor:pointer;margin-top:8px;}
.form-note{font-size:13px;opacity:.7;margin-top:12px;}

/* FOOTER */
footer{padding:50px 0 32px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-bottom:30px;border-bottom:1px solid var(--line);}
footer h4{font-size:14px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:14px;font-family:'Oswald';font-weight:600;}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14.5px;}
footer ul a{text-decoration:none;opacity:.85;}
footer ul a:hover{text-decoration:underline;}
.foot-bottom{display:flex;justify-content:space-between;padding-top:22px;font-size:13px;opacity:.7;flex-wrap:wrap;gap:10px;}

@media (max-width:860px){
  .navlinks{display:none;}
  .svc-block,.svc-block.rev{grid-template-columns:1fr;}
  .svc-block.rev .art{order:0;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .faq-cols{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .cta-band .wrap{flex-direction:column;align-items:flex-start;}
}
@media (max-width:520px){ .team-grid{grid-template-columns:1fr;} .foot-grid{grid-template-columns:1fr;} }

/* Production additions */
button,input,select,textarea{border-radius:0}.mobile-toggle{display:none;background:transparent;border:1px solid var(--line);padding:9px 11px;color:var(--ink);font:inherit}.status{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);font-size:12px;font-weight:700}.notice{padding:12px 14px;border:1px solid var(--line);background:var(--paper);font-size:14px}.notice.error{border-left:4px solid #b42318}.notice.success{border-left:4px solid #238636}.page-hero{padding:58px 0 44px;border-bottom:1px solid var(--line);background:var(--paper-2)}.page-hero h1{font-size:clamp(30px,5vw,46px);text-transform:uppercase}.page-hero p{max-width:62ch;opacity:.82}.filter-grid,.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.job-card,.panel-card{border:1px solid var(--line);background:var(--paper);padding:22px}.job-card h3{font-size:20px;text-transform:uppercase}.job-meta{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:13px;opacity:.78;margin:12px 0}.job-card p{font-size:14px;opacity:.84}.job-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.empty{padding:38px;text-align:center;border:1px dashed var(--line);opacity:.8}.modal{position:fixed;inset:0;background:rgba(0,0,0,.58);display:none;align-items:center;justify-content:center;padding:20px;z-index:120}.modal.open{display:flex}.modal-card{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--paper);border:1px solid var(--line);padding:26px}.modal-head{display:flex;justify-content:space-between;align-items:center}.icon-btn{background:none;border:1px solid var(--line);color:var(--ink);font-size:20px;padding:5px 10px;cursor:pointer}.auth-shell{max-width:500px;margin:64px auto;padding:34px;border:1px solid var(--line);background:var(--paper-2)}.auth-shell h1{font-size:28px;text-transform:uppercase}.stack{display:grid;gap:14px;margin-top:22px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.legal{max-width:850px}.legal h2{margin-top:34px;font-size:24px;text-transform:uppercase}.legal p,.legal li{font-size:15px;opacity:.88}.mobile-menu{display:none;padding:0 24px 18px;border-top:1px solid var(--line)}.mobile-menu a{display:block;padding:11px 0;text-decoration:none;border-bottom:1px solid var(--line)}
@media(max-width:860px){.mobile-toggle{display:block}.call-btn{display:none}.mobile-menu.open{display:block}.filter-grid,.cards-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.filter-grid,.cards-grid{grid-template-columns:1fr}.page-hero{padding:42px 0 34px}.form-shell{padding:24px}}
