/* ============================================================
   DRYWALL SUPREME — A DeLaCruz Enterprises Company
   styles.css v3 — matched to logo: black / chrome / royal blue
   Display: Anton · Body: Barlow
   ============================================================ */

:root{
  /* base (black steel) */
  --bg:#0A0B0D;             /* page base */
  --panel:#111318;          /* raised sections */
  --panel-2:#171A21;        /* cards / inner panels */
  --steel:#1E2330;          /* elevated / hover */
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.18);

  /* royal blue (logo blue) */
  --blue:#2B6BE6;
  --blue-hi:#4C86F5;
  --blue-deep:#1747A8;
  --blue-glow:rgba(43,107,230,.45);
  --blue-soft:rgba(43,107,230,.14);

  /* chrome / silver */
  --chrome-1:#F6F8FB;
  --chrome-2:#C9D1DC;
  --chrome-3:#8E97A5;
  --silver:#D7DDE6;

  /* text */
  --text-hi:#FFFFFF;
  --text:#C3CAD4;
  --muted:#8B93A0;

  --success:#22C55E;
  --footer:#060708;

  --display:'Anton',ui-sans-serif,system-ui,sans-serif;
  --sans:'Barlow',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --max:1200px;
  --r-sm:6px;
  --shadow:0 24px 60px -24px rgba(0,0,0,.8);
  --glow:0 10px 34px -10px var(--blue-glow);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.7;font-size:16.5px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--blue);color:#fff}
[id]{scroll-margin-top:96px}

h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.015em;line-height:1.06;color:var(--text-hi)}
h1{font-size:clamp(2.5rem,5.4vw,4.2rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}
h3{font-size:clamp(1.1rem,1.9vw,1.4rem);letter-spacing:.03em}
h4{color:var(--text-hi)}

/* chrome + blue headline treatments (logo language) */
.chrome{background:linear-gradient(180deg,var(--chrome-1) 12%,var(--chrome-2) 55%,var(--chrome-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.bluegrad,.accent{background:linear-gradient(180deg,var(--blue-hi) 10%,var(--blue) 55%,var(--blue-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,44px)}
.section{padding:clamp(56px,7vw,100px) 0}
.section--cream{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--tight{padding:clamp(40px,5vw,64px) 0}
.lead{font-size:clamp(1rem,1.4vw,1.15rem);max-width:62ch}
.k{font-weight:700;color:var(--text-hi)}
.green{color:var(--blue-hi)}
.center{text-align:center}

/* kicker — logo tagline treatment */
.kicker{display:inline-flex;align-items:center;gap:.8em;font-weight:700;font-size:.82rem;letter-spacing:.28em;text-transform:uppercase;color:var(--blue-hi);margin-bottom:1.1rem}
.kicker::before,.kicker::after{content:"";width:30px;height:2px;background:linear-gradient(90deg,transparent,var(--blue));display:inline-block}
.kicker::after{background:linear-gradient(90deg,var(--blue),transparent)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;font-weight:700;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.9em 1.7em;border-radius:var(--r-sm);border:1.5px solid transparent;cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.btn::after{content:"→";font-weight:400;transition:transform .25s ease}
.btn:hover::after{transform:translateX(4px)}
.btn--green{background:linear-gradient(180deg,var(--blue-hi),var(--blue) 55%,var(--blue-deep));color:#fff;box-shadow:var(--glow)}
.btn--green:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px var(--blue-glow)}
.btn--cream{background:linear-gradient(180deg,var(--chrome-1),var(--chrome-2));color:#0A0B0D}
.btn--cream:hover{transform:translateY(-2px)}
.btn--dark{background:transparent;border-color:var(--line-strong);color:var(--text-hi)}
.btn--dark:hover{border-color:var(--blue-hi);color:var(--blue-hi);transform:translateY(-2px)}
.btn--noarrow::after{content:none}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(10,11,13,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav__inner{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,44px);height:74px;display:flex;align-items:center;gap:8px}
.nav.scrolled{box-shadow:0 16px 40px -20px rgba(0,0,0,.9)}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto}
.brand__mark{width:42px;height:42px;background:linear-gradient(180deg,var(--blue-hi),var(--blue) 55%,var(--blue-deep));color:#fff;
  clip-path:polygon(50% 0,100% 12%,100% 78%,50% 100%,0 78%,0 12%);  /* shield */
  display:grid;place-items:center;font-family:var(--display);font-size:1rem;letter-spacing:.02em;flex:none}
.brand__logo{width:48px;height:48px;object-fit:contain;flex:none}
.hero .wrap{position:relative;width:100%}
.hero__logo{display:none;position:absolute;right:clamp(20px,4vw,44px);top:50%;transform:translateY(-50%);width:min(26vw,330px);filter:drop-shadow(0 24px 60px rgba(0,0,0,.65))}
@media (min-width:1020px){.hero--tall .hero__logo{display:block}}
.brand__name{font-family:var(--display);text-transform:uppercase;color:var(--text-hi);font-size:1.08rem;line-height:1.05;letter-spacing:.04em}
.brand__name small{display:block;font-family:var(--sans);font-weight:600;font-size:.56rem;letter-spacing:.26em;color:var(--blue-hi);text-transform:uppercase}
.nav__links{display:flex;gap:2px;margin-right:12px}
.nav__links a{position:relative;padding:.55em 1em;font-size:.94rem;font-weight:600;color:var(--text);border-radius:var(--r-sm);transition:color .2s ease}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--text-hi)}
.nav__links a::after{content:"";position:absolute;left:1em;right:1em;bottom:.3em;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scaleX(1)}
.nav__phone{font-weight:700;font-size:.92rem;color:var(--text-hi);margin-right:14px;white-space:nowrap}
.nav__phone:hover{color:var(--blue-hi)}
.nav__burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav__burger span{width:22px;height:2px;background:var(--text-hi);transition:transform .25s ease,opacity .25s ease}
.nav.open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .nav__burger span:nth-child(2){opacity:0}
.nav.open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:540px;padding:clamp(72px,9vw,130px) 0;border-bottom:1px solid var(--line)}
.hero--tall{min-height:640px}
.hero__media{position:absolute;inset:-12% 0 0 0;z-index:-2;will-change:transform}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(6,7,8,.94),rgba(6,7,8,.72) 55%,rgba(10,11,13,.45)),
             radial-gradient(900px 480px at 88% -20%,var(--blue-soft),transparent 65%)}
.hero--green .hero__scrim{background:linear-gradient(90deg,rgba(6,7,8,.94),rgba(9,14,26,.78))}
.hero h1{max-width:720px;margin-bottom:.5em}
.hero p{color:var(--text);max-width:580px;font-size:clamp(1rem,1.5vw,1.16rem);font-weight:500}
.hero .btn{margin-top:1.7em}
.hero__sub{margin-top:1em}

/* ---------- intro band (blue shield gradient) ---------- */
.band{position:relative;background:linear-gradient(135deg,var(--blue-deep),var(--blue) 55%,var(--blue-hi));color:#E5EDFB;padding:clamp(44px,6vw,76px) 0;overflow:hidden}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 30%);pointer-events:none}
.band h2{color:#fff}
.band--grid .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start;position:relative;z-index:1}
.band p + p{margin-top:1em}
.band .k{color:#fff}
.band--2col .cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);position:relative;z-index:1}

/* ---------- split rows ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.split--media-right .split__media{order:2}
.split__media{position:relative;box-shadow:var(--shadow)}
.split__media::before{content:"";position:absolute;inset:auto 0 -8px 0;height:4px;background:linear-gradient(90deg,var(--blue-hi),var(--blue-deep))}
.split__media img{width:100%;height:100%;object-fit:cover;min-height:340px;max-height:560px}
.split h2{margin-bottom:.5em}

.svc-rows{margin-top:1.4em}
.svc-row{padding:1.5em 0;border-top:1px solid var(--line)}
.svc-row:first-child{border-top:0;padding-top:0}
.svc-row h3{color:var(--blue-hi);margin-bottom:.35em}
.svc-row p{font-size:.97rem}
.svc-row .btn{margin-top:1.1em;padding:.65em 1.3em;font-size:.82rem}

/* ---------- why grid ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,48px) clamp(24px,4vw,56px);margin-top:clamp(28px,4vw,44px)}
.why-item h3{font-size:1.02rem;margin:.7em 0 .35em}
.why-item p{font-size:.92rem;color:var(--muted)}
.why-item svg{width:30px;height:30px;color:var(--blue-hi)}

/* ---------- results counters ---------- */
.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,44px);margin-top:clamp(28px,4vw,40px)}
.result{border:1px solid var(--line-strong);background:var(--panel);padding:clamp(24px,3.4vw,40px);position:relative;overflow:hidden}
.result::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue-hi),var(--blue-deep))}
.result__value{font-family:var(--display);font-size:clamp(2.8rem,5.4vw,4.4rem);line-height:1;letter-spacing:.01em;
  background:linear-gradient(180deg,var(--chrome-1) 12%,var(--chrome-2) 55%,var(--chrome-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.result__label{font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-hi);margin:.9em 0 1em;padding-bottom:.9em;border-bottom:3px solid var(--blue);display:inline-block}
.result p{font-size:.95rem}

.exp-stat{margin-top:1.6em}
.exp-stat__value{font-family:var(--display);font-size:clamp(2.2rem,3.8vw,3rem);line-height:1;display:inline-block;
  background:linear-gradient(180deg,var(--chrome-1) 12%,var(--chrome-2) 55%,var(--chrome-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.exp-stat__label{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-hi);margin-left:.9em;vertical-align:middle;line-height:1.5}
.exp-stat__rule{width:200px;height:3px;background:linear-gradient(90deg,var(--blue-hi),var(--blue-deep));margin-top:.7em}
.exp-stat p{margin-top:1em;font-size:.95rem}

/* ---------- work band ---------- */
.work-band{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(56px,7vw,90px) 0}
.work-band h2{margin-bottom:.4em}
.work-band .lead{color:var(--text)}
.work-band .btn{margin-top:1.6em}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(28px,4vw,44px)}
.work-grid a{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line)}
.work-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.work-grid a:hover img{transform:scale(1.05)}
.work-grid a:hover{border-color:var(--blue)}
.work-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,rgba(6,7,8,.92));color:#fff;font-size:.82rem;font-weight:600}

/* ---------- reviews ---------- */
.reviews-panel{border:1px solid var(--line-strong);background:var(--panel-2)}
.reviews-panel__head{background:linear-gradient(135deg,var(--blue-deep),var(--blue));color:#fff;padding:12px 20px;font-weight:700;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}
.reviews-panel__body{padding:clamp(20px,3vw,32px)}
.review-ph{border:1px dashed var(--line-strong);background:var(--panel);padding:22px;text-align:center;font-size:.85rem;color:var(--muted)}
.review-ph + .review-ph{margin-top:12px}

/* ---------- CTA band ---------- */
.cta-band{position:relative;background:linear-gradient(135deg,var(--blue-deep),var(--blue) 60%,var(--blue-hi));color:#E5EDFB;padding:clamp(52px,7vw,84px) 0;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 32%);pointer-events:none}
.cta-band .wrap{position:relative;z-index:1}
.cta-band h2{color:#fff;margin-bottom:.4em}
.cta-band p{max-width:62ch}
.cta-band .btn{margin-top:1.5em}
.cta-band .btn--dark{border-color:rgba(255,255,255,.5);color:#fff}
.cta-band .btn--dark:hover{border-color:#fff;color:#fff}

/* ---------- projects ---------- */
.pgroup{padding:clamp(48px,6vw,72px) 0;border-top:1px solid var(--line)}
.pgroup__head{text-align:center;max-width:760px;margin:0 auto clamp(28px,4vw,44px);padding:0 0 clamp(20px,3vw,32px);border-bottom:1px solid var(--line)}
.pgroup__head h2{margin-bottom:.4em}
.featured{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(24px,3vw,40px) 0}
.featured + .featured{border-top:1px solid var(--line)}
.featured__tag{display:inline-block;background:var(--blue-soft);border:1px solid var(--blue);font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-hi);padding:.5em 1em;margin-bottom:1em}
.featured h3{font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--text-hi);margin-bottom:.4em}
.featured__loc{display:flex;align-items:center;gap:.5em;font-size:.9rem;font-weight:600;color:var(--blue-hi);margin-bottom:1em}
.featured__loc svg{width:15px;height:15px}
.featured__value{font-family:var(--display);font-size:2rem;margin-top:1em;
  background:linear-gradient(180deg,var(--chrome-1) 12%,var(--chrome-2) 55%,var(--chrome-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.featured__value small{display:block;font-family:var(--sans);font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-hi);margin-top:.4em;-webkit-text-fill-color:var(--blue-hi)}
.featured p{font-size:.95rem}
.featured__media{box-shadow:var(--shadow)}
.featured__media img{width:100%;object-fit:cover;aspect-ratio:16/10}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ba div{background:var(--panel-2);border:1px dashed var(--line-strong);aspect-ratio:4/3;display:grid;place-items:center;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;line-height:2}

/* ---------- services tiles ---------- */
.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(24px,3vw,36px)}
.tile{position:relative;overflow:hidden;aspect-ratio:16/8;display:grid;place-items:center;isolation:isolate;border:1px solid var(--line-strong)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.tile::before{content:"";position:absolute;inset:0;background:rgba(6,7,8,.66);z-index:-1;transition:background .3s ease}
.tile:hover img{transform:scale(1.04)}
.tile:hover::before{background:rgba(23,71,168,.55)}
.tile:hover{border-color:var(--blue-hi)}
.tile span{font-family:var(--display);font-size:clamp(1.6rem,3.2vw,2.5rem);letter-spacing:.06em;text-transform:uppercase;
  background:linear-gradient(180deg,var(--chrome-1) 12%,var(--chrome-2) 60%,var(--chrome-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.sdetail{padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line)}
.sdetail h2{color:var(--blue-hi)}
.sdetail .split{align-items:start}
.checks{margin-top:1.2em;display:flex;flex-direction:column;gap:.6em}
.checks li{display:flex;gap:.7em;align-items:baseline;font-size:.97rem}
.checks li::before{content:"✓";color:var(--blue-hi);font-weight:800}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start}
.contact-info h1{margin-bottom:.8em}
.cfield{margin-bottom:1.3em}
.cfield .label{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-hi);margin-bottom:.2em}
.cfield a{font-weight:600;color:var(--text-hi)}
.cfield a:hover{color:var(--blue-hi)}
.form-frame{background:linear-gradient(135deg,var(--blue-deep),var(--blue) 60%,var(--blue-hi));padding:clamp(14px,2vw,22px)}
.form-inner{background:var(--panel);padding:clamp(24px,3.4vw,40px)}
.form-inner h2{font-size:1.5rem;margin-bottom:.3em}
.form-inner > p{font-size:.92rem;font-weight:600;color:var(--text);margin-bottom:1.4em}
.field{margin-bottom:1.1em}
.field label{display:block;font-size:.82rem;font-weight:700;color:var(--text-hi);margin-bottom:.35em}
.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line-strong);border-left:3px solid var(--blue);padding:.7em .9em;font-size:.95rem;color:var(--text-hi);transition:border-color .2s ease,box-shadow .2s ease}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue-hi);box-shadow:0 0 0 3px var(--blue-soft)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field select{appearance:none;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' stroke='%238B93A0' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.map-embed{margin-top:clamp(40px,5vw,64px);border:1px solid var(--line-strong)}
.map-embed iframe{display:block;width:100%;height:400px;border:0;filter:grayscale(.5) contrast(1.05)}

/* ---------- legal pages ---------- */
.legal{max-width:780px}
.legal h1{margin-bottom:.4em}
.legal .updated{font-size:.82rem;color:var(--muted);margin-bottom:2em}
.legal h2{font-size:1.15rem;letter-spacing:.04em;color:var(--blue-hi);margin:1.8em 0 .5em}
.legal p{margin-bottom:1em;font-size:.97rem}
.legal ul{margin:0 0 1em 1.2em;list-style:disc}
.legal li{margin-bottom:.4em;font-size:.97rem}
.legal a{color:var(--blue-hi);text-decoration:underline}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--steel);color:#fff;border:1px solid var(--line-strong);border-left:4px solid var(--success);padding:15px 22px;font-size:.92rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:90;max-width:min(92vw,460px)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- footer ---------- */
.footer{background:var(--footer);color:var(--muted);padding:clamp(48px,6vw,72px) 0 0;font-size:.9rem;border-top:1px solid var(--line)}
.footer__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding-bottom:clamp(36px,5vw,56px)}
.footer .brand__name{color:#fff}
.footer__brand p{margin-top:16px;max-width:40ch;font-size:.86rem}
.footer h4{color:#fff;font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.2em}
.footer__links{display:flex;flex-direction:column;gap:.55em}
.footer__links a:hover{color:var(--blue-hi)}
.footer__areas{display:flex;flex-direction:column;gap:.45em;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.footer__strip{background:linear-gradient(90deg,var(--blue-deep),var(--blue));color:#EAF1FD;padding:14px 0;font-size:.8rem;margin-top:8px}

/* ---------- mobile cta ---------- */
.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(10,11,13,.97);border-top:1px solid var(--line-strong);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}
.mobile-cta .btn{flex:1;justify-content:center;padding:.8em 1em;font-size:.85rem}

/* ---------- motion ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms)}
.stagger.in>*{opacity:1;transform:none}
.split-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split-words .wi{display:inline-block;transform:translateY(112%);transition:transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--w,0)*55ms)}
.split-words.in .wi{transform:none}
.wi--accent{color:var(--blue-hi)}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .why-grid{grid-template-columns:1fr 1fr}
  .work-grid{grid-template-columns:1fr 1fr}
  .band--grid .wrap{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .nav__phone{display:none}
}
@media (max-width:860px){
  .nav__links{position:fixed;top:74px;left:0;right:0;background:var(--panel);border-bottom:1px solid var(--line-strong);flex-direction:column;padding:16px clamp(20px,4vw,44px) 22px;display:none;z-index:60}
  .nav.open .nav__links{display:flex}
  .nav__burger{display:flex}
  .nav > .nav__inner > .btn{display:none}
  .split,.split--media-right{grid-template-columns:1fr}
  .split--media-right .split__media{order:0}
  .featured{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .band--2col .cols{grid-template-columns:1fr}
}
@media (max-width:640px){
  .why-grid{grid-template-columns:1fr}
  .work-grid{grid-template-columns:1fr}
  .results-grid{grid-template-columns:1fr}
  .tile-grid{grid-template-columns:1fr}
  .form-2col{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  .hero{min-height:460px}
  .mobile-cta{display:flex}
  body{padding-bottom:68px}
  .toast{bottom:98px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal,.stagger>*{opacity:1;transform:none}
  .split-words .wi{transform:none}
}
