:root{
  --bg:#FBF6EF;
  --bg-alt:#F4EADC;
  --card:#FFFFFF;
  --ink:#2B2018;
  --ink-soft:#786A5C;
  --ink-faint:#AFA192;
  --line:#EBE0D2;
  --hot:#FF5B2E;
  --hot2:#FFA347;
  --copper:#C2875A;
  --peach:#FFE7D3;
  --peach-2:#FFF1E4;
  --grad-fire: linear-gradient(120deg,#FF5B2E 0%, #FF8A3D 50%, #FFC168 100%);
  --grad-soft: linear-gradient(135deg, #FFE7D3 0%, #FFD8BB 100%);
  --shadow-soft: 0 20px 45px -25px rgba(150,80,30,0.35);
  --shadow-lift: 0 30px 60px -20px rgba(150,80,30,0.28);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --maxw: 1200px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Manrope', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{ background:var(--hot2); color:#2B2018; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
img{ max-width:100%; display:block; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
h1,h2,h3,h4{ font-family:'Sora', sans-serif; letter-spacing:-0.01em; color:var(--ink); }

.eyebrow{
  font-family:'Manrope', sans-serif;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--copper);
  display:inline-flex; align-items:center; gap:8px;
  background:var(--peach-2);
  padding:7px 16px 7px 12px;
  border-radius:999px;
}
.eyebrow::before{ content:'●'; font-size:8px; color:var(--hot); }

.blob-field{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.blob{ position:absolute; border-radius:50%; filter:blur(70px); opacity:0.55; will-change:transform; }
.blob-a{ width:520px; height:520px; background:radial-gradient(circle, #FFC79A, transparent 70%); top:-140px; left:-120px; }
.blob-b{ width:460px; height:460px; background:radial-gradient(circle, #FFB27A, transparent 70%); top:600px; right:-160px; }
.blob-c{ width:400px; height:400px; background:radial-gradient(circle, #E8C9A8, transparent 70%); top:1500px; left:-100px; }

.rail{ position:fixed; left:26px; top:50%; transform:translateY(-50%); z-index:150; height:220px; width:2px; background:var(--line); border-radius:2px; display:flex; align-items:flex-end; }
.rail-fill{ width:100%; height:0%; background:var(--grad-fire); border-radius:2px; transition:height .1s linear; position:relative; }
.rail-fill::after{ content:''; position:absolute; top:-3px; left:50%; transform:translateX(-50%); width:9px; height:9px; border-radius:50%; background:var(--hot2); box-shadow:0 0 12px 3px rgba(255,140,60,0.55); }
@media (max-width:900px){ .rail{ display:none; } }

header{ position:fixed; top:0; left:0; right:0; z-index:100; transition:background .35s ease, box-shadow .35s ease; }
header.scrolled{ background:rgba(251,246,239,0.82); backdrop-filter:blur(16px); box-shadow:0 1px 0 var(--line); }
nav{ display:flex; align-items:center; justify-content:space-between; padding:20px 32px; max-width:var(--maxw); margin:0 auto; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ height:58px; width:auto; }
.nav-links{ display:flex; gap:34px; align-items:center; }
.nav-links a{ font-size:14.5px; color:var(--ink-soft); font-weight:600; position:relative; padding:6px 0; transition:color .2s; }
.nav-links a:hover{ color:var(--ink); }
.nav-links a::after{ content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--grad-fire); border-radius:2px; transition:width .25s ease; }
.nav-links a:hover::after{ width:100%; }

.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span{ width:24px; height:2px; background:var(--ink); border-radius:2px; transition:transform .3s ease, opacity .2s ease; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav-cta{ flex-shrink:0; }

.btn{ font-family:'Manrope'; font-weight:700; font-size:14.5px; padding:13px 24px; border-radius:999px; display:inline-flex; align-items:center; gap:8px; cursor:pointer; border:1px solid transparent; transition:transform .25s cubic-bezier(.2,.8,.3,1.3), box-shadow .3s ease, background .25s ease, border-color .25s ease; white-space:nowrap; }
.btn-primary{ background:var(--grad-fire); color:#2B1206; box-shadow:var(--shadow-soft); }
.btn-primary:hover{ transform:translateY(-2px) scale(1.015); box-shadow:0 22px 40px -15px rgba(255,90,30,0.55); }
.btn-ghost{ background:var(--card); border-color:var(--line); color:var(--ink); }
.btn-ghost:hover{ border-color:var(--copper); transform:translateY(-2px); box-shadow:var(--shadow-soft); }
.btn-sm{ padding:10px 18px; font-size:13.5px; }

.hero{ position:relative; z-index:1; padding:200px 0 110px; display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center; }
.hero-copy h1{ font-size:58px; line-height:1.08; font-weight:700; margin:24px 0 24px; }
.hero-copy h1 .accent{ background:var(--grad-fire); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-copy p{ font-size:17.5px; line-height:1.7; color:var(--ink-soft); max-width:480px; margin-bottom:36px; }
.hero-ctas{ display:flex; gap:14px; margin-bottom:56px; flex-wrap:wrap; }
.hero-trust{ display:flex; gap:0; flex-wrap:wrap; }
.trust-item{ padding-right:32px; margin-right:32px; border-right:1px solid var(--line); }
.trust-item:last-child{ border-right:none; }
.trust-item .num{ font-family:'Sora'; font-size:24px; font-weight:700; color:var(--ink); }
.trust-item .num span{ color:var(--hot); }
.trust-item .lbl{ font-size:12.5px; color:var(--ink-faint); margin-top:3px; }

.hero-visual{ position:relative; height:560px; display:flex; flex-direction:column; align-items:center; justify-content:center; perspective:1300px; }
.hero-halo{ position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(255,150,70,0.38), rgba(255,180,110,0.12) 60%, transparent 75%); filter:blur(6px); animation:breathe 6s ease-in-out infinite; }
@keyframes breathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.08); } }

.model-spray{ position:relative; z-index:1; width:100%; height:100%; min-height:480px; }
.model-float{ position:absolute; transform-style:preserve-3d; transition:transform .35s cubic-bezier(.2,.7,.3,1); }
.model-float.f1{ top:5%;  left:6%;  animation:floatA 5s ease-in-out infinite; }
.model-float.f2{ top:18%; left:42%; animation:floatB 6s ease-in-out infinite; }
.model-float.f3{ top:46%; left:14%; animation:floatC 5.5s ease-in-out infinite; }
.model-float.f4{ top:38%; left:62%; animation:floatA 6.5s ease-in-out infinite; }
.model-float.f5{ top:64%; left:48%; animation:floatB 5s ease-in-out infinite; }
.model-canvas{ width:100%; height:100%; display:block; }
.model-float .size-l{ width:200px; height:200px; }
.model-float .size-m{ width:150px; height:150px; }
.model-float .size-s{ width:110px; height:110px; }
@keyframes floatA{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-14px,-22px); } }
@keyframes floatB{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(16px,-18px); } }
@keyframes floatC{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-10px,20px); } }
@media(max-width:640px){ .model-spray{ min-height:360px; } .model-float .size-l{ width:130px; height:130px; } .model-float .size-m{ width:100px; height:100px; } .model-float .size-s{ width:72px; height:72px; } }

.tagband{ position:relative; z-index:1; padding:36px 0; }
.tagband .wrap{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.tagband span{ background:var(--card); border:1px solid var(--line); padding:9px 18px; border-radius:999px; font-size:13.5px; font-weight:600; color:var(--ink-soft); }
.tagband span b{ color:var(--copper); }

.reveal{ opacity:0; transform:translateY(36px) scale(.985); filter:blur(6px); transition:opacity .9s cubic-bezier(.16,.9,.3,1), transform .9s cubic-bezier(.16,.9,.3,1), filter .9s ease; }
.reveal.in{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
.stagger > *{ opacity:0; transform:translateY(30px); filter:blur(5px); transition:opacity .8s cubic-bezier(.16,.9,.3,1), transform .8s cubic-bezier(.16,.9,.3,1), filter .8s ease; }
.stagger.in > *{ opacity:1; transform:translateY(0); filter:blur(0); }
.stagger.in > *:nth-child(1){ transition-delay:.02s; }
.stagger.in > *:nth-child(2){ transition-delay:.10s; }
.stagger.in > *:nth-child(3){ transition-delay:.18s; }
.stagger.in > *:nth-child(4){ transition-delay:.26s; }
.stagger.in > *:nth-child(5){ transition-delay:.34s; }
.stagger.in > *:nth-child(6){ transition-delay:.42s; }

section{ position:relative; z-index:1; padding:130px 0; }
.section-head{ max-width:640px; margin-bottom:60px; }
.section-head h2{ font-size:40px; font-weight:700; line-height:1.16; margin-top:18px; }
.section-head h2 em{ font-style:normal; background:var(--grad-fire); -webkit-background-clip:text; background-clip:text; color:transparent; }
.section-head p{ color:var(--ink-soft); font-size:16.5px; line-height:1.7; margin-top:16px; max-width:520px; }
.section-head.center{ text-align:center; margin-left:auto; margin-right:auto; }

.services-grid{ display:grid; grid-template-columns:repeat(6, 1fr); gap:22px; }
.svc-card{ background:var(--card); border-radius:var(--radius-lg); padding:34px 30px; box-shadow:var(--shadow-soft); grid-column:span 2; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease; position:relative; }
.svc-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lift); }
.svc-card:nth-child(odd){ transform:translateY(14px); }
.svc-card:nth-child(odd):hover{ transform:translateY(6px); }
.svc-icon-chip{ width:52px; height:52px; border-radius:16px; background:var(--grad-soft); display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.svc-icon-chip svg{ width:26px; height:26px; }
.svc-card h3{ font-size:19.5px; font-weight:700; margin-bottom:10px; }
.svc-card p{ font-size:14.5px; color:var(--ink-soft); line-height:1.65; margin-bottom:18px; }
.svc-tags{ display:flex; gap:8px; flex-wrap:wrap; }
.svc-tags span{ font-size:11.5px; font-weight:700; letter-spacing:0.02em; color:var(--copper); background:var(--peach-2); padding:5px 10px; border-radius:999px; }
.svc-card.wide{ grid-column:span 6; display:grid; grid-template-columns:1.1fr 0.9fr; align-items:center; gap:40px; transform:none !important; }
.svc-card.wide .cad-visual{ height:180px; position:relative; }

@media(max-width:1080px){
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .svc-card{ grid-column:span 1; }
  .svc-card:nth-child(odd){ transform:none; }
  .svc-card.wide{ grid-column:span 2; grid-template-columns:1fr; }
}
@media(max-width:640px){
  .services-grid{ grid-template-columns:1fr; }
  .svc-card.wide{ grid-column:span 1; }
}

.process-wrap{ position:relative; display:grid; grid-template-columns:60px 1fr; gap:0; }
.process-line{ position:relative; }
.process-line svg{ position:absolute; top:0; left:0; height:100%; width:60px; overflow:visible; }
#processPath{ fill:none; stroke:var(--line); stroke-width:3; stroke-linecap:round; }
#processPathFill{ fill:none; stroke:url(#fireGradV); stroke-width:3; stroke-linecap:round; }
.p-step{ padding:36px 0 36px 34px; position:relative; }
.p-dot{ position:absolute; left:-38px; top:44px; width:14px; height:14px; border-radius:50%; background:var(--card); border:3px solid var(--line); transition:border-color .4s ease, background .4s ease, box-shadow .4s ease; }
.p-step.in .p-dot{ border-color:var(--hot); background:var(--hot2); box-shadow:0 0 0 6px rgba(255,140,60,0.18); }
.p-step h4{ font-size:20px; font-weight:700; margin-bottom:8px; }
.p-step p{ color:var(--ink-soft); font-size:14.5px; line-height:1.65; max-width:540px; }
.p-num{ font-family:'Sora'; font-size:13px; font-weight:700; color:var(--ink-faint); margin-bottom:6px; letter-spacing:0.04em; }

.stats-band{ background:var(--bg-alt); border-radius:var(--radius-lg); padding:56px 48px; margin:0 32px; max-width:calc(var(--maxw) - 64px); margin-left:auto; margin-right:auto; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.stat{ text-align:left; }
.stat .num{ font-family:'Sora'; font-size:42px; font-weight:800; background:var(--grad-fire); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat .lbl{ font-size:13.5px; color:var(--ink-soft); margin-top:6px; font-weight:600; }
@media(max-width:768px){ .stats-grid{ grid-template-columns:1fr 1fr; } .stats-band{ padding:40px 26px; } }

.gallery-grid{ display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:210px; gap:18px; }
.g-item{ position:relative; border-radius:var(--radius-md); overflow:hidden; display:flex; align-items:flex-end; padding:18px; isolation:isolate; box-shadow:var(--shadow-soft); opacity:0; transform:scale(0.9); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.g-item.in{ opacity:1; transform:scale(1); }
.g-item::before{ content:''; position:absolute; inset:0; z-index:-1; opacity:0.92; transition:transform .6s ease; }
.g-item:hover::before{ transform:scale(1.07); }
.g-item::after{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(30,15,5,0.65) 100%); }
.g-item span{ font-size:13px; font-weight:700; color:#fff; position:relative; }
.g-item.big{ grid-column:span 2; grid-row:span 2; }
.g1::before{ background:radial-gradient(circle at 30% 20%, #FF8A4A, #7A3312 75%); }
.g2::before{ background:radial-gradient(circle at 70% 30%, #C2875A, #4A3324 75%); }
.g3::before{ background:radial-gradient(circle at 40% 70%, #FFC168, #6E4A16 75%); }
.g4::before{ background:radial-gradient(circle at 60% 40%, #FF5B2E, #451A0C 75%); }
.g5::before{ background:radial-gradient(circle at 50% 50%, #E8C9A8, #4A392C 75%); }
@media(max-width:1080px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } .g-item.big{ grid-column:span 2; } }
@media(max-width:640px){ .gallery-grid{ grid-template-columns:1fr 1fr; grid-auto-rows:150px; } .g-item.big{ grid-row:span 1; } }

.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testi{ background:var(--card); border-radius:var(--radius-lg); padding:32px 28px; box-shadow:var(--shadow-soft); transition:transform .4s ease; }
.testi:hover{ transform:translateY(-6px); }
.testi .stars{ color:var(--hot2); font-size:14px; letter-spacing:2px; margin-bottom:16px; }
.testi p{ font-size:14.5px; line-height:1.7; color:var(--ink); margin-bottom:22px; }
.testi .who{ display:flex; align-items:center; gap:12px; }
.testi .avatar{ width:38px; height:38px; border-radius:50%; background:var(--grad-fire); flex-shrink:0; }
.testi .who .name{ font-size:13.5px; font-weight:700; }
.testi .who .role{ font-size:12px; color:var(--ink-faint); }
@media(max-width:900px){ .testi-grid{ grid-template-columns:1fr; } }

.faq-wrap{ max-width:760px; }
.faq-item{ background:var(--card); border-radius:var(--radius-md); margin-bottom:14px; box-shadow:var(--shadow-soft); overflow:hidden; }
.faq-q{ padding:24px 26px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-family:'Sora'; font-size:16.5px; font-weight:600; }
.faq-q .plus{ color:var(--hot); font-size:20px; transition:transform .3s ease; flex-shrink:0; margin-left:20px; }
.faq-item.open .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-item.open .faq-a{ max-height:200px; }
.faq-a p{ padding:0 26px 26px; color:var(--ink-soft); font-size:14.5px; line-height:1.7; max-width:620px; }

.final-cta{ background:var(--bg-alt); border-radius:var(--radius-lg); margin:0 32px; max-width:calc(var(--maxw) - 64px); margin-left:auto; margin-right:auto; padding:64px 56px; position:relative; overflow:hidden; }
.final-cta::before{ content:''; position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(255,140,60,0.28), transparent 70%); top:-180px; right:-100px; }
.cta-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; }
.cta-inner h2{ font-size:34px; line-height:1.18; margin-bottom:16px; }
.cta-inner > div > p{ color:var(--ink-soft); font-size:16px; max-width:440px; line-height:1.65; margin-bottom:28px; }
.cta-form{ background:var(--card); padding:32px; border-radius:var(--radius-md); box-shadow:var(--shadow-lift); }
.cta-form h4{ font-size:13.5px; font-weight:700; letter-spacing:0.04em; color:var(--ink-soft); margin-bottom:20px; text-transform:uppercase; }
.f-row{ display:flex; gap:12px; margin-bottom:12px; }
.f-row input, .f-row select, .cta-form textarea, .cta-form input.full{ width:100%; background:var(--bg); border:1.5px solid var(--line); color:var(--ink); padding:13px 15px; font-family:'Manrope'; font-size:13.5px; border-radius:var(--radius-sm); outline:none; transition:border-color .2s ease; }
.f-row input:focus, .cta-form textarea:focus, .cta-form select:focus{ border-color:var(--hot2); }
.cta-form textarea{ resize:vertical; min-height:80px; margin-bottom:16px; width:100%; }
.cta-form .btn-primary{ width:100%; justify-content:center; padding:15px; }
.form-note{ font-size:11.5px; color:var(--ink-faint); margin-top:12px; text-align:center; }
@media(max-width:900px){ .cta-inner{ grid-template-columns:1fr; } .final-cta{ padding:44px 26px; } }

footer{ padding:70px 0 32px; position:relative; z-index:1; }
.f-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--line); }
.f-brand .brand{ margin-bottom:16px; }
.f-brand p{ color:var(--ink-faint); font-size:13.5px; line-height:1.7; max-width:280px; }
.f-col h5{ font-family:'Sora'; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:18px; }
.f-col ul li{ margin-bottom:12px; }
.f-col ul li a{ font-size:14px; color:var(--ink-soft); transition:color .2s; }
.f-col ul li a:hover{ color:var(--hot); }
.f-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:12px; }
.f-bottom span{ font-size:12.5px; color:var(--ink-faint); font-weight:600; }
.f-social{ display:flex; gap:16px; }
.f-social a{ font-size:12.5px; color:var(--ink-soft); font-weight:600; }
.f-social a:hover{ color:var(--hot); }
@media(max-width:900px){ .f-top{ grid-template-columns:1fr 1fr; } }
@media(max-width:640px){ .f-top{ grid-template-columns:1fr; } }

.wa-float{ position:fixed; bottom:28px; right:28px; z-index:200; width:60px; height:60px; border-radius:50%; background:var(--grad-fire); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lift); animation:floatY 3.2s ease-in-out infinite; }
.wa-float:hover{ animation-play-state:paused; transform:scale(1.06); }
@keyframes floatY{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-7px);} }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{ outline:2px solid var(--hot); outline-offset:3px; border-radius:4px; }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal, .stagger > *, .g-item{ opacity:1 !important; transform:none !important; filter:none !important; }
}

@media (max-width:1080px){
  .hero{ grid-template-columns:1fr; padding-top:160px; }
  .hero-visual{ order:-1; height:auto; min-height:420px; }
}

@media (max-width:768px){
  nav{ padding:16px 20px; }
  .brand img{ height:44px; }
  .nav-links{
    position:fixed; top:0; right:0; height:100vh; width:75%; max-width:300px;
    background:var(--card); flex-direction:column; justify-content:center; gap:28px;
    transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.7,.3,1);
    box-shadow:-10px 0 40px rgba(0,0,0,0.1); z-index:101; padding:48px 32px;
  }
  .nav-links.open{ transform:translateX(0); }
  .nav-links li{ width:100%; }
  .nav-links a{ font-size:18px; font-weight:600; padding:10px 0; display:block; }
  .nav-toggle{ display:flex; z-index:102; }
  .nav-cta{ display:none; }
  .nav-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,0.4); opacity:0; pointer-events:none; transition:opacity .3s ease; z-index:100; }
  .nav-backdrop.open{ opacity:1; pointer-events:auto; }

  .hero{ padding-top:120px; padding-bottom:60px; gap:24px; }
  .hero-copy h1{ font-size:42px; line-height:1.1; margin:18px 0; }
  .hero-copy p{ font-size:16px; }
  .hero-trust{ gap:0; }
  .trust-item{ padding-right:18px; margin-right:18px; }
  .trust-item .num{ font-size:20px; }

  .model-spray{ min-height:380px; }
  .model-float.f1{ top:2%;  left:0%; }
  .model-float.f2{ top:8%;  left:48%; }
  .model-float.f3{ top:42%; left:5%; }
  .model-float.f4{ top:48%; left:52%; }
  .model-float.f5{ top:75%; left:25%; }

  section{ padding:90px 0; }
  .section-head{ margin-bottom:40px; }
  .section-head h2{ font-size:32px; line-height:1.15; }
  .section-head p{ font-size:15px; }
  .stats-band{ padding:36px 24px; }
  .stat .num{ font-size:34px; }

  .final-cta{ padding:40px 24px; }
  .cta-form{ padding:24px; }
}

@media (max-width:640px){
  .wrap{ padding:0 20px; }
  .hero{ padding-top:110px; }
  .hero-copy h1{ font-size:32px; }
  .hero-copy p{ font-size:15px; }
  .hero-ctas{ flex-direction:column; gap:10px; }
  .hero-ctas .btn{ width:100%; justify-content:center; }
  .hero-trust{ flex-wrap:wrap; gap:16px 0; }
  .trust-item{ border-right:none; padding:0; margin:0; width:48%; }

  .brand img{ height:38px; }

  .model-spray{ min-height:340px; }
  .model-float .size-l{ width:120px; height:120px; }
  .model-float .size-m{ width:92px;  height:92px; }
  .model-float .size-s{ width:68px;  height:68px; }
  .model-float.f1{ top:0%; left:2%; }
  .model-float.f2{ top:6%; left:54%; }
  .model-float.f3{ top:42%; left:3%; }
  .model-float.f4{ top:48%; left:56%; }
  .model-float.f5{ top:74%; left:30%; }

  .section-head h2{ font-size:26px; }
  .services-grid{ grid-template-columns:1fr; gap:16px; }
  .svc-card{ grid-column:span 1; padding:26px 22px; }
  .svc-card:nth-child(odd){ transform:none; }
  .svc-card.wide{ grid-template-columns:1fr; }

  .stats-grid{ grid-template-columns:1fr 1fr; gap:20px; }
  .stats-band{ padding:32px 18px; }
  .stat .num{ font-size:28px; }
  .stat .lbl{ font-size:12px; }

  .gallery-grid{ grid-template-columns:1fr; grid-auto-rows:200px; }
  .g-item.big{ grid-column:span 1; grid-row:span 1; }

  .testi{ padding:24px 20px; }
  .testi p{ font-size:14px; }

  .faq-q{ font-size:15px; padding:20px 20px; }
  .faq-a p{ padding:0 20px 20px; font-size:14px; }

  .final-cta{ margin:0 16px; padding:32px 20px; }
  .cta-inner h2{ font-size:24px; }
  .cta-form{ padding:20px; }
  .f-row{ flex-direction:column; gap:10px; }

  .f-top{ grid-template-columns:1fr; gap:28px; }
  .f-bottom{ flex-direction:column; gap:10px; text-align:center; }
  .f-social{ gap:14px; }

  .wa-float{ width:54px; height:54px; bottom:18px; right:18px; }
  .wa-float svg{ width:26px; height:26px; }
}

@media (max-width:380px){
  .hero-copy h1{ font-size:26px; }
  .brand img{ height:32px; }
  .model-float .size-l{ width:100px; height:100px; }
  .model-float .size-m{ width:78px;  height:78px; }
  .model-float .size-s{ width:58px;  height:58px; }
}
