:root{
  --bg:#12151C; --bg-raised:#1B1F28; --bg-deep:#0A0C11; --line:#2C3341;
  --ink:#EEF0F4; --ink-dim:#B7BEC9; --ink-mute:#7C8494; --accent:#C17A67;
  --accent-2:#E3A98F;
  --unit:20px;
  --radius:18px; --radius-sm:12px; --radius-pill:999px;
  --shadow-card:0 1px 2px rgba(4,5,8,.5), 0 10px 24px -14px rgba(4,5,8,.6);
  --shadow-card-hover:0 4px 10px rgba(4,5,8,.4), 0 22px 40px -18px rgba(0,0,0,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:
    radial-gradient(1200px 620px at 12% -8%, rgba(193,122,103,.14), transparent 60%),
    var(--bg);
  color:var(--ink);
  font-family:Archivo,system-ui,sans-serif; font-weight:400;
  font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1180px; margin:0 auto; padding:0 calc(var(--unit)*1.5)}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px}

/* ---------- header ---------- */
header{
  padding:calc(var(--unit)*1.6) 0;
  display:flex; align-items:center; justify-content:space-between;
  gap:calc(var(--unit)*1.2); flex-wrap:wrap;
}
.lockup{display:flex; align-items:flex-end; gap:15px; text-decoration:none; color:var(--ink)}
.lockup svg{display:block; height:60px; width:auto}
.lockup span{
  font-weight:600; font-size:28px; letter-spacing:.04em;
  line-height:.72; text-transform:uppercase;
}
.menu{display:flex; align-items:center; gap:calc(var(--unit)*1.4); flex-wrap:wrap}
.menu a{
  text-decoration:none; font-weight:500; font-size:15px; color:var(--ink-dim);
  padding-bottom:3px; border-bottom:1px solid transparent;
}
.menu a:hover, .menu a:focus-visible{color:var(--ink); border-bottom-color:var(--accent)}
.menu a.active{color:var(--ink); border-bottom-color:var(--accent)}
.cta-pill{
  display:inline-block; padding:10px 20px; text-decoration:none;
  font-weight:500; font-size:14px; letter-spacing:.01em; white-space:nowrap;
  border:1px solid var(--accent); color:var(--ink); border-radius:var(--radius-pill);
  background:transparent; cursor:pointer; font-family:inherit;
}
.cta-pill:hover{background:var(--accent); color:var(--bg-deep)}
.cta-pill, .btn-dark, .btn-outline-dark, .btn{transition:transform .2s ease, opacity .2s ease, border-color .2s ease, background-color .2s ease}
.cta-pill:hover, .btn-dark:hover, .btn-outline-dark:hover, .btn:hover{transform:translateY(-2px)}

/* ---------- hero / page intro ---------- */
.hero{padding:calc(var(--unit)*2.2) 0 calc(var(--unit)*3.5); position:relative; overflow:hidden}
.hero.compact{padding-bottom:calc(var(--unit)*2)}
.hero-glow{
  position:absolute; inset:0; z-index:-1; opacity:.85; pointer-events:none;
  -webkit-mask-image:radial-gradient(58% 58% at 60% 32%, #000 0%, transparent 65%);
  mask-image:radial-gradient(58% 58% at 60% 32%, #000 0%, transparent 65%);
}
.hero-glow svg{width:100%; height:100%; display:block; overflow:visible}
.eyebrow{
  text-transform:uppercase; letter-spacing:.08em; font-size:13px;
  font-weight:600; color:var(--accent); margin-bottom:14px;
}
h1{
  font-weight:600; letter-spacing:-.01em; line-height:1.08;
  font-size:clamp(30px,4.6vw,54px); max-width:16ch; color:var(--ink);
}
.hero p{
  margin-top:calc(var(--unit)*1.1); max-width:52ch;
  font-size:clamp(17px,1.6vw,19px); line-height:1.5; color:var(--ink-dim);
}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:calc(var(--unit)*1.5)}
.btn-dark{
  display:inline-block; padding:15px 28px; text-decoration:none;
  font-weight:500; font-size:16px; border:1px solid var(--ink); border-radius:var(--radius-sm);
  background:var(--ink); color:var(--bg-deep); cursor:pointer; font-family:inherit;
}
.btn-dark:hover{opacity:.86}
.btn-outline-dark{
  display:inline-block; padding:15px 28px; text-decoration:none;
  font-weight:500; font-size:16px; border:1px solid var(--line); border-radius:var(--radius-sm);
  background:transparent; color:var(--ink); cursor:pointer; font-family:inherit;
}
.btn-outline-dark:hover{border-color:var(--ink)}
.reassure{margin-top:16px; font-size:14px; color:var(--ink-mute)}
.hero-secondary-link{margin-top:calc(var(--unit)*1.1); font-size:15px}
.hero-secondary-link a{border-bottom:1px solid var(--ink-mute)}
.hero-secondary-link a:hover{border-bottom-color:var(--accent); color:var(--accent)}
.hero-intro .hero-services{
  margin-top:12px; max-width:none; font-size:16px; font-weight:600; color:var(--ink);
}
.hero-services .dot{color:var(--accent); margin:0 8px; font-weight:400}

/* ---------- hero lead form ---------- */
.hero.has-form{
  display:grid; grid-template-columns:1.05fr .95fr; gap:calc(var(--unit)*2.4);
  align-items:start;
}
.hero-form-card{
  background:var(--bg-raised); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  padding:calc(var(--unit)*1.6); margin-top:calc(var(--unit)*.2);
}
.hero-form-card h2{font-size:clamp(22px,2.6vw,28px); max-width:none}
.hero-form-card .lede{margin-top:8px; font-size:15px; max-width:none}
.lead-form{margin-top:calc(var(--unit)*1.2); display:flex; flex-direction:column; gap:12px}
.lead-form-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.lead-form input[type=text], .lead-form input[type=email]{
  font-family:inherit; font-size:16px; padding:13px 14px; border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--bg); color:var(--ink); width:100%;
}
.lead-form input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.lead-form button[disabled]{opacity:.6; cursor:progress}
.btn-dark.full{width:100%; text-align:center}
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
.lead-form-success h2{font-size:clamp(22px,2.6vw,28px); max-width:none}
.lead-form-success p{margin-top:8px; color:var(--ink-dim)}
.form-error{margin-top:12px; font-size:14px; color:var(--accent)}
.form-error a{border-bottom:1px solid var(--accent)}

/* ---------- shared card grid pieces (services / pricing / work) ---------- */
.svc-grid{
  display:grid; gap:calc(var(--unit)*1.2);
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  margin-top:calc(var(--unit)*1.8);
}
.svc-card{
  padding:calc(var(--unit)*1.4); border:1px solid var(--line); border-radius:var(--radius);
  background:var(--bg-deep); box-shadow:var(--shadow-card);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; display:flex; flex-direction:column;
}
.svc-card:hover{transform:translateY(-4px); border-color:var(--accent); box-shadow:var(--shadow-card-hover)}
.svc-icon{
  display:flex; align-items:center; justify-content:center; width:44px; height:44px;
  border-radius:50%; background:rgba(193,122,103,.14); color:var(--accent); margin-bottom:16px;
  flex-shrink:0;
}
.svc-icon svg{width:22px; height:22px}
.svc-card h3{font-weight:600; font-size:20px; color:var(--ink)}
.svc-card p{margin-top:8px; color:var(--ink-dim); font-size:15px; max-width:34ch}
.svc-go{
  display:flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:50%; border:1px solid var(--line); color:var(--ink); text-decoration:none;
  margin-top:18px; transition:border-color .2s ease, background-color .2s ease, color .2s ease;
}
.svc-go svg{width:16px; height:16px}
.svc-card:hover .svc-go{border-color:var(--accent); background:var(--accent); color:var(--bg-deep)}

/* ---------- services (homepage) ---------- */
.services{background:var(--bg-raised); padding:calc(var(--unit)*3.5) 0}
.services h2{color:var(--ink)}
.services .lede{color:var(--ink-dim)}

/* ---------- stats (homepage) ---------- */
.stats{background:var(--bg-deep); padding:calc(var(--unit)*2.8) 0}
.stats-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:calc(var(--unit)*1.5);
}
.stat-num{display:block; font-weight:600; font-size:clamp(32px,4.5vw,48px); color:var(--ink); letter-spacing:-.01em}
.stat-label{display:block; margin-top:6px; font-size:14px; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.06em}

/* ---------- teasers (homepage) ---------- */
.teasers{background:var(--bg-raised); padding:calc(var(--unit)*3) 0 calc(var(--unit)*3.5)}
.teaser-grid{
  display:grid; gap:calc(var(--unit)*1.2);
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  margin-top:calc(var(--unit)*1.8);
}
.teaser-card{
  display:block; text-decoration:none; color:inherit;
  padding:calc(var(--unit)*1.4); border:1px solid var(--line); border-radius:var(--radius);
  background:var(--bg-deep); box-shadow:var(--shadow-card);
}
.teaser-card:hover{transform:translateY(-4px); border-color:var(--accent); box-shadow:var(--shadow-card-hover)}
.teaser-card{transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease}
.teaser-card .num{
  display:block; font-weight:600; font-size:13px; color:var(--accent);
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;
}
.teaser-card h3{font-weight:600; font-size:22px; line-height:1.2; color:var(--ink)}
.teaser-card p{margin-top:8px; color:var(--ink-dim); font-size:15px}
.teaser-card .go{display:inline-block; margin-top:14px; font-size:14px; font-weight:500; color:var(--ink)}
.teaser-card:hover .go{color:var(--accent)}

/* ---------- work ---------- */
.work{background:var(--bg-raised); color:var(--ink); padding:calc(var(--unit)*3.5) 0}
.grid{
  display:grid; gap:calc(var(--unit)*.9);
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  margin-top:calc(var(--unit)*1.8);
}
figure{margin:0}
.frame{
  aspect-ratio:4/5; width:100%; display:flex; align-items:center; justify-content:center;
  border-radius:var(--radius-sm);
  background:radial-gradient(120% 120% at 25% 20%, #262C38 0%, #171A21 60%, var(--bg-deep) 100%);
}
.grid figure:nth-child(2) .frame, .grid figure:nth-child(4) .frame{
  background:radial-gradient(120% 120% at 75% 20%, #2B2119 0%, #1A1512 60%, var(--bg-deep) 100%);
}
.frame-mark{width:32%; height:auto; color:var(--ink-dim)}
.grid figure:nth-child(2) .frame-mark, .grid figure:nth-child(4) .frame-mark{color:var(--accent)}
figcaption{margin-top:10px; font-size:14px; color:var(--ink-mute)}
.work h2{color:var(--ink)}
.work .lede{color:var(--ink-dim)}
.work .pending{color:var(--ink-dim); border-left-color:var(--accent)}
.work-card{
  padding:calc(var(--unit)*.9); border:1px solid var(--line); border-radius:var(--radius);
  background:var(--bg-deep); box-shadow:var(--shadow-card);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.work-card:hover{transform:translateY(-4px); border-color:var(--accent); box-shadow:var(--shadow-card-hover)}
.work-card .frame{margin-bottom:0}
.work-card figcaption{margin-top:12px}

/* ---------- process ---------- */
.process{background:var(--bg); padding:calc(var(--unit)*3.5) 0}
.process .grid3{
  display:grid; gap:calc(var(--unit)*1.8) calc(var(--unit)*1.4);
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  margin-top:calc(var(--unit)*2);
}
.process .item{border-top:1px solid var(--line); padding-top:calc(var(--unit)*1)}
.process .num{display:block; font-weight:600; font-size:15px; color:var(--accent); margin-bottom:10px}
.process .item h3{font-weight:600; font-size:20px; line-height:1.2; color:var(--ink)}
.process .item p{margin-top:8px; color:var(--ink-dim); max-width:34ch}
.process .item{transition:transform .25s ease}
.process .item:hover{transform:translateY(-4px)}

/* ---------- headings ---------- */
h2{
  font-weight:600; letter-spacing:-.01em; line-height:1.1;
  font-size:clamp(30px,4vw,46px); max-width:22ch; color:var(--ink);
}
.lede{margin-top:calc(var(--unit)*.9); max-width:56ch; color:var(--ink-dim)}

/* ---------- ladder ---------- */
.ladder{background:var(--bg-raised); padding:calc(var(--unit)*3.5) 0}
.steps{margin-top:calc(var(--unit)*2); border-top:1px solid var(--line)}
.step{
  display:grid; grid-template-columns:minmax(0,10rem) minmax(0,1fr);
  gap:calc(var(--unit)*1.2); align-items:baseline;
  padding:calc(var(--unit)*1.5) 0; border-bottom:1px solid var(--line);
}
.step h3{font-weight:600; font-size:clamp(23px,2.7vw,30px); line-height:1.15; color:var(--ink)}
.step p{color:var(--ink-dim); max-width:48ch}
.step .sub{display:block; font-weight:500; font-size:16px; color:var(--ink-mute); margin-top:6px}
.step .price{
  margin-top:12px; font-size:15px; font-weight:500; color:var(--ink);
  max-width:48ch;
}
.step .price.tbc{color:var(--ink-mute); font-weight:400; font-style:italic}
.step{transition:background-color .25s ease, padding-left .25s ease}
.step:hover{background-color:rgba(193,122,103,.09); padding-left:10px}
.pending{
  margin-top:calc(var(--unit)*1.4); font-size:15px; color:var(--ink-dim);
  border-left:3px solid var(--accent); padding-left:14px;
}
.steps.card-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:calc(var(--unit)*1.2); border-top:none;
}
.step-card{
  padding:calc(var(--unit)*1.4); border:1px solid var(--line); border-radius:var(--radius);
  background:var(--bg-deep); box-shadow:var(--shadow-card);
  display:flex; flex-direction:column;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.step-card:hover{transform:translateY(-4px); border-color:var(--accent); box-shadow:var(--shadow-card-hover)}
.step-card h3{font-weight:600; font-size:22px; color:var(--ink)}
.step-card .sub,.svc-card .sub{display:block; font-weight:500; font-size:14px; color:var(--ink-mute); margin-top:4px}
.step-card p{margin-top:10px; color:var(--ink-dim); font-size:15px}
.step-card .price{margin-top:12px; font-size:14px; font-weight:500; color:var(--ink)}
.step-card .price.tbc{color:var(--ink-mute); font-weight:400; font-style:italic}
.step-card.muted{opacity:.85}
.step-card .svc-go{margin-top:auto; padding-top:0; align-self:flex-start}

/* ---------- contact ---------- */
.contact{
  background:
    radial-gradient(900px 520px at 88% 115%, rgba(193,122,103,.13), transparent 60%),
    var(--bg-deep);
  color:var(--ink); padding:calc(var(--unit)*3.5) 0;
}
.contact h2{color:var(--ink)}
.contact .lede{color:var(--ink-dim)}
.actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:calc(var(--unit)*1.6)}
.btn{
  display:inline-block; padding:15px 26px; text-decoration:none;
  font-weight:500; font-size:16px; border:1px solid var(--ink); border-radius:var(--radius-sm);
  background:var(--ink); color:var(--bg-deep);
}
.btn.ghost{background:transparent; color:var(--ink)}
.btn:hover{opacity:.86}
.contact .fallback{margin-top:14px; font-size:14px; color:var(--ink-dim)}
.contact .fallback a{border-bottom:1px solid var(--ink-mute)}

/* ---------- footer ---------- */
footer{background:var(--bg-deep); padding:calc(var(--unit)*2) 0 calc(var(--unit)*2.5); font-size:14px; color:var(--ink-mute)}
footer svg{display:block; height:34px; width:auto; margin-bottom:14px; color:var(--ink-dim)}
footer p + p{margin-top:6px}

/* ---------- audit modal ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(5,6,9,.78);
  display:flex; align-items:center; justify-content:center;
  padding:calc(var(--unit)*1.2); z-index:100;
}
.modal-overlay[hidden]{display:none}
.modal{
  background:var(--bg-raised); color:var(--ink); max-width:540px; width:100%;
  max-height:88vh; overflow-y:auto; padding:calc(var(--unit)*2);
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-card-hover);
  position:relative;
}
.modal h2{font-size:clamp(24px,3vw,32px); max-width:none}
.modal .lede{margin-top:10px; font-size:15px; max-width:none}
.modal-close{
  position:absolute; top:14px; right:14px; width:34px; height:34px;
  background:none; border:none; font-size:26px; line-height:1;
  cursor:pointer; color:var(--ink-dim); font-family:inherit;
}
.modal-close:hover{color:var(--ink)}
#auditForm{margin-top:calc(var(--unit)*1.4); display:flex; flex-direction:column; gap:16px}
#auditForm label{display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:500; color:var(--ink-dim)}
#auditForm .opt{font-weight:400; color:var(--ink-mute)}
#auditForm input[type=text], #auditForm input[type=email], #auditForm input[type=tel], #auditForm textarea{
  font-family:inherit; font-size:16px; padding:11px 12px; border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--bg); color:var(--ink);
}
#auditForm input:focus, #auditForm textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
#auditForm textarea{resize:vertical}
#auditForm fieldset{border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px; display:flex; flex-direction:column; gap:8px}
#auditForm legend{font-size:13px; font-weight:600; padding:0 6px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-dim)}
#auditForm .radio{flex-direction:row; align-items:center; gap:8px; font-weight:400; color:var(--ink); font-size:15px}
#auditForm .radio input{width:auto}
#auditForm button[type=submit]{align-self:flex-start; margin-top:4px}
.modal-confirm{margin-top:calc(var(--unit)*1.4)}
.modal-confirm p{color:var(--ink-dim); max-width:none}
.modal-confirm .btn-outline-dark{margin-top:16px}

/* ---------- scroll reveal (JS present, motion allowed) ---------- */
@media (prefers-reduced-motion: no-preference){
  .js .reveal{opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1)}
  .js .reveal.in{opacity:1; transform:translateY(0)}
    .js .reveal.in .item{opacity:1; transform:translateY(0)}
  .js .reveal.in .item:nth-child(1){transition-delay:.05s}
  .js .reveal.in .item:nth-child(2){transition-delay:.15s}
  .js .reveal.in .item:nth-child(3){transition-delay:.25s}
  .js .reveal.in .item:nth-child(4){transition-delay:.35s}
  .js .process .item{opacity:0; transform:translateY(18px); transition:opacity .4s ease, transform .4s ease}
  .js .reveal.in .process .item{opacity:1; transform:translateY(0)}
  .js .reveal.in .process .item:nth-child(1){transition-delay:.05s}
  .js .reveal.in .process .item:nth-child(2){transition-delay:.15s}
  .js .reveal.in .process .item:nth-child(3){transition-delay:.25s}
  .js .step{opacity:0; transform:translateY(18px); transition:opacity .4s ease, transform .4s ease, background-color .25s ease, padding-left .25s ease}
  .js .reveal.in .step{opacity:1; transform:translateY(0)}
  .js .reveal.in .step:nth-child(1){transition-delay:.05s}
  .js .reveal.in .step:nth-child(2){transition-delay:.15s}
  .js .reveal.in .step:nth-child(3){transition-delay:.25s}
  .js .teaser-card{opacity:0; transform:translateY(18px); transition:opacity .4s ease, transform .4s ease}
  .js .reveal.in .teaser-card{opacity:1; transform:translateY(0)}
  .js .reveal.in .teaser-card:nth-child(1){transition-delay:.05s}
  .js .reveal.in .teaser-card:nth-child(2){transition-delay:.15s}
  .js .reveal.in .teaser-card:nth-child(3){transition-delay:.25s}
  .js .reveal.in .teaser-card:nth-child(4){transition-delay:.35s}
  .js .svc-card{opacity:0; transform:translateY(18px); transition:opacity .4s ease, transform .4s ease, border-color .25s ease}
  .js .reveal.in .svc-card{opacity:1; transform:translateY(0)}
  .js .reveal.in .svc-card:nth-child(1){transition-delay:.05s}
  .js .reveal.in .svc-card:nth-child(2){transition-delay:.15s}
  .js .reveal.in .svc-card:nth-child(3){transition-delay:.25s}
  .js .work-card{opacity:0; transform:translateY(18px); transition:opacity .4s ease, transform .4s ease, border-color .25s ease}
  .js .reveal.in .work-card{opacity:1; transform:translateY(0)}
  .js .reveal.in .work-card:nth-child(1){transition-delay:.05s}
  .js .reveal.in .work-card:nth-child(2){transition-delay:.15s}
  .js .reveal.in .work-card:nth-child(3){transition-delay:.25s}
  .js .reveal.in .work-card:nth-child(4){transition-delay:.35s}
  .js .step-card{opacity:0; transform:translateY(18px); transition:opacity .4s ease, transform .4s ease, border-color .25s ease}
  .js .reveal.in .step-card{opacity:1; transform:translateY(0)}
  .js .reveal.in .step-card:nth-child(1){transition-delay:.05s}
  .js .reveal.in .step-card:nth-child(2){transition-delay:.15s}
  .js .reveal.in .step-card:nth-child(3){transition-delay:.25s}
  .js .stat{opacity:0; transform:translateY(14px); transition:opacity .4s ease, transform .4s ease}
  .js .reveal.in .stat{opacity:1; transform:translateY(0)}
  .js .reveal.in .stat:nth-child(1){transition-delay:.05s}
  .js .reveal.in .stat:nth-child(2){transition-delay:.15s}
  .js .reveal.in .stat:nth-child(3){transition-delay:.25s}
}

@media (max-width:860px){
  .hero.has-form{grid-template-columns:1fr}
}

@media (max-width:620px){
  :root{--unit:17px}
  .step{grid-template-columns:1fr; gap:10px}
  .lockup svg{height:44px}
  .lockup span{font-size:20px}
  header{
    flex-direction:column; align-items:stretch; justify-content:flex-start;
    gap:calc(var(--unit)*.9); padding:calc(var(--unit)*1.3) 0;
  }
  .menu{
    width:100%; justify-content:space-between; gap:calc(var(--unit)*.6);
    padding-bottom:calc(var(--unit)*.7); border-bottom:1px solid var(--line);
  }
  .menu a{font-size:14px}
  .cta-pill{align-self:stretch; text-align:center; padding:13px 20px}
  h1{font-size:clamp(28px,8vw,38px)}
  h2{font-size:clamp(26px,7vw,32px)}
  .svc-card, .work-card, .teaser-card, .step-card{border-radius:var(--radius-sm)}
  .hero-form-card{border-radius:var(--radius-sm)}
  .modal{padding:calc(var(--unit)*1.5); border-radius:var(--radius-sm)}
  .actions{flex-direction:column; align-items:stretch}
  .actions .btn{text-align:center}
}

@media (max-width:480px){
  :root{--unit:15px}
  .lead-form-row{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr; gap:calc(var(--unit)*1.4); text-align:center}
  .svc-grid, .teaser-grid, .grid, .steps.card-grid{grid-template-columns:1fr}
  .hero-glow{opacity:.6}
}
