/* =========================================================
   ALC ADVOGADOS ASSOCIADOS — Sistema visual
   ========================================================= */

:root{
  /* Fundo */
  --void:      #030A1C;
  --ink:       #061230;
  --ink-2:     #08183C;
  --ink-3:     #0C2050;
  --navy:      #011B5E;   /* azul da logo */
  --navy-lt:   #0A2A7A;
  --line:      rgba(201,162,39,.16);
  --line-soft: rgba(160,190,255,.10);

  /* Ouro */
  --gold:      #C9A227;
  --gold-lt:   #F2DC9B;
  --gold-dk:   #8A6D1F;
  --gold-grad: linear-gradient(135deg,#8A6D1F 0%,#C9A227 22%,#F7E9B4 48%,#C9A227 72%,#7E6019 100%);

  /* Texto */
  --white:     #F5F2EC;
  --mute:      #A7ADBA;
  --mute-2:    #6E7583;

  --ok:        #4ADE80;
  --warn:      #F5A524;
  --bad:       #F26D6D;
  --wa:        #25D366;

  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --max: 1240px;
  --r:   18px;
  --ease: cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip; }
body{
  margin:0; background:var(--void); overflow-x:clip; color:var(--white);
  font-family:var(--sans); font-size:16.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }

/* ---------- Grão + vinheta global ---------- */
body::before{
  content:""; position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}
body::after{
  content:""; position:fixed; inset:0; z-index:9997; pointer-events:none;
  background:radial-gradient(150% 105% at 50% 0%, transparent 58%, rgba(0,0,0,.42) 100%);
}

/* ---------- Utilidades ---------- */
.wrap{ width:min(var(--max), calc(100% - 44px)); margin-inline:auto; }
.center{ text-align:center; }
section{ position:relative; padding:120px 0; }

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11.5px; letter-spacing:.28em; text-transform:uppercase;
  font-weight:600; color:var(--gold-lt); margin:0 0 22px;
}
.eyebrow::before{ content:""; width:34px; height:1px; background:var(--gold); opacity:.7; }
.eyebrow.c::after{ content:""; width:34px; height:1px; background:var(--gold); opacity:.7; }

h1,h2,h3,h4,.step::before,.res .vl,.fld label b{
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
}
h1,h2,h3{ font-family:var(--serif); font-weight:600; letter-spacing:-.012em; line-height:1.14; margin:0; padding-top:.04em; }
h2,h3,.pledge .quote,.step h4,.cen h4,.cmp h4,.qstep h4{ text-wrap:balance; }
.lead,.q button{ text-wrap:pretty; }
h2{ font-size:clamp(1.95rem, 4.1vw, 3.1rem); }
h3{ font-size:clamp(1.18rem, 1.75vw, 1.45rem); line-height:1.22; }
p{ margin:0 0 1.05em; color:var(--mute); }
.lead{ font-size:clamp(1.02rem,1.5vw,1.2rem); color:#C4CAD6; max-width:62ch; }

.au{
  background:var(--gold-grad); background-size:260% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:shine 7s linear infinite;
}
@keyframes shine{ to{ background-position:260% 0; } }

.hr{ height:1px; background:linear-gradient(90deg,transparent,var(--line),transparent); border:0; margin:0; }

/* ---------- Botões ---------- */
.btn{
  --bg:var(--gold-grad);
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 30px; border-radius:100px; border:0; cursor:pointer;
  font-size:14.5px; font-weight:700; letter-spacing:.01em;
  position:relative; overflow:hidden; isolation:isolate;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.btn-gold{ background:var(--bg); color:#191307; box-shadow:0 10px 34px -12px rgba(201,162,39,.75); }
.btn-gold::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.75) 45%,transparent 70%);
  transform:translateX(-120%); transition:transform .8s var(--ease);
}
.btn-gold:hover{ transform:translateY(-3px); box-shadow:0 18px 44px -12px rgba(201,162,39,.9); }
.btn-gold:hover::after{ transform:translateX(120%); }

.btn-ghost{
  background:rgba(255,255,255,.03); color:var(--white);
  border:1px solid var(--line-soft); backdrop-filter:blur(8px);
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-lt); transform:translateY(-3px); }

.btn-wa{ background:var(--wa); color:#04240F; box-shadow:0 10px 34px -12px rgba(37,211,102,.8); }
.btn-wa:hover{ transform:translateY(-3px); box-shadow:0 18px 44px -12px rgba(37,211,102,.95); }
.btn svg{ width:18px; height:18px; flex:none; }
.btn-lg{ padding:19px 38px; font-size:15.5px; }

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:900;
  transition:background .45s var(--ease), border-color .45s, padding .45s var(--ease);
  padding:20px 0; border-bottom:1px solid transparent;
}
.nav.on{
  background:rgba(7,8,11,.82); backdrop-filter:blur(20px) saturate(150%);
  border-bottom-color:var(--line-soft); padding:12px 0;
}
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.navlinks{ display:flex; align-items:center; gap:26px; flex-wrap:nowrap; }
.nav .btn{ white-space:nowrap; flex:none; }
.navlinks a{
  flex:none; white-space:nowrap; font-size:13.5px; font-weight:500; color:var(--mute); position:relative; padding:6px 0;
  transition:color .3s;
}
.navlinks a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold); transition:width .4s var(--ease);
}
.navlinks a:hover{ color:var(--white); }
.navlinks a:hover::after{ width:100%; }
.navlinks a.hl{ color:var(--gold-lt); }
/* botoes dentro do nav: .navlinks a e mais especifico que .btn e roubava padding/cor */
.navlinks a.btn{ padding:14px 26px; font-size:13.5px; font-weight:700; flex:none; }
.navlinks a.btn::after{ display:none; }
.navlinks a.btn-gold, .navlinks a.btn-gold:hover{ color:#191307; }
.navlinks a.btn-wa, .navlinks a.btn-wa:hover{ color:#04240F; }
.navlinks a.btn-ghost, .navlinks a.btn-ghost:hover{ color:var(--white); }

/* Logo */
.logo{ display:flex; align-items:center; gap:13px; flex:none; }
.logo .mark{ width:46px; height:46px; flex:none; object-fit:contain;
  filter:drop-shadow(0 3px 10px rgba(201,162,39,.28)); transition:transform .6s var(--ease); }
.logo:hover .mark{ transform:scale(1.06) rotate(-2deg); }
.logo .txt{ line-height:1; }
.logo .n{ font-family:var(--serif); font-size:20px; font-weight:700; letter-spacing:.13em; display:block; }
.logo .s{ font-size:8px; letter-spacing:.30em; text-transform:uppercase; color:#C9D3EA; font-weight:600; }

.burger{ display:none; background:none; border:0; padding:8px; cursor:pointer; }
.burger span{ display:block; width:24px; height:2px; background:var(--white); margin:5px 0; transition:.35s var(--ease); }
.burger.on span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.on span:nth-child(2){ opacity:0; }
.burger.on span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow-x:clip; min-height:100svh; display:flex; align-items:center; padding:150px 0 100px; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg .glow{
  position:absolute; border-radius:50%; filter:blur(110px); opacity:.5;
  animation:drift 18s ease-in-out infinite alternate;
}
.g1{ width:620px; height:620px; top:-16%; left:-8%; background:radial-gradient(circle,rgba(201,162,39,.26),transparent 68%); }
.g4{ width:700px; height:700px; top:8%; right:-14%; background:radial-gradient(circle,rgba(1,27,94,.75),transparent 70%); animation-delay:-4s; }
.g2{ width:540px; height:540px; bottom:-18%; right:-6%; background:radial-gradient(circle,rgba(20,60,190,.30),transparent 68%); animation-delay:-7s; }
.g3{ width:420px; height:420px; top:40%; left:45%; background:radial-gradient(circle,rgba(201,162,39,.14),transparent 68%); animation-delay:-12s; }
@keyframes drift{ to{ transform:translate3d(50px,-40px,0) scale(1.12); } }

.grid-bg{
  position:absolute; inset:0; opacity:.5;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:radial-gradient(90% 70% at 50% 35%,#000 20%,transparent 78%);
  -webkit-mask-image:radial-gradient(90% 70% at 50% 35%,#000 20%,transparent 78%);
}
.spot{
  position:absolute; width:640px; height:640px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle,rgba(201,162,39,.10),transparent 62%);
  transform:translate(-50%,-50%); transition:left .7s var(--ease), top .7s var(--ease); opacity:0;
}
.hero .wrap{ position:relative; z-index:2; }

.h1{ font-size:clamp(2.25rem,5.6vw,4.4rem); line-height:1.13; letter-spacing:-.025em; margin:0 0 26px; }
.h1 .ln{ display:block; overflow:hidden; padding-top:.06em; margin-top:-.06em; }
.h1 .ln > span{
  display:block; transform:translateY(105%);
  animation:up 1.15s var(--ease) forwards;
}
.h1 .ln:nth-child(2) > span{ animation-delay:.13s; }
.h1 .ln:nth-child(3) > span{ animation-delay:.26s; }
@keyframes up{ to{ transform:translateY(0); } }

.fade-seq{ opacity:0; animation:fadeUp 1s var(--ease) forwards; }
.d1{ animation-delay:.5s; } .d2{ animation-delay:.68s; } .d3{ animation-delay:.86s; } .d4{ animation-delay:1.04s; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:none; } }

.cta-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.trust{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:26px; font-size:12.6px; color:var(--mute-2); }
.trust span{ display:flex; align-items:center; gap:7px; }
.trust span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--gold); }

/* ---------- Ticker ---------- */
.ticker{ padding:0; border-block:1px solid var(--line-soft); background:var(--ink); overflow:hidden; }
.ticker-in{ display:flex; width:max-content; animation:slide 38s linear infinite; }
.ticker:hover .ticker-in{ animation-play-state:paused; }
@keyframes slide{ to{ transform:translateX(-50%); } }
.ticker-in > div{ display:flex; align-items:center; }
.ticker i{
  font-style:normal; font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.7rem);
  padding:26px 40px; white-space:nowrap; color:rgba(245,242,236,.42);
}
.ticker b{ color:var(--gold); font-size:.55em; padding:0 4px; }

/* ---------- Cards ---------- */
.card{
  position:relative; border-radius:var(--r); padding:36px 32px;
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  border:1px solid var(--line-soft); overflow:hidden;
  transition:transform .55s var(--ease), border-color .55s, background .55s;
}
.card::before{
  content:""; position:absolute; inset:0; border-radius:var(--r); padding:1px;
  background:linear-gradient(140deg,var(--gold),transparent 42%,transparent 58%,rgba(201,162,39,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .55s var(--ease); pointer-events:none;
}
.card:hover{ transform:translateY(-7px); background:linear-gradient(165deg,rgba(255,255,255,.075),rgba(255,255,255,.02)); }
.card:hover::before{ opacity:1; }
.card{ display:flex; flex-direction:column; }
.card .tags,.card > .btn{ margin-top:auto; }
.card h3{ margin:0 0 12px; }
.card p{ font-size:14.6px; margin:0; }

.ico{
  width:52px; height:52px; border-radius:14px; display:grid; place-items:center; margin-bottom:22px;
  background:linear-gradient(150deg,rgba(201,162,39,.20),rgba(201,162,39,.05));
  border:1px solid rgba(201,162,39,.28);
}
.ico svg{ width:24px; height:24px; stroke:var(--gold-lt); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }

.grid{ display:grid; gap:22px; }
.g2c{ grid-template-columns:repeat(2,1fr); }
.g3c{ grid-template-columns:repeat(3,1fr); }
.g4c{ grid-template-columns:repeat(4,1fr); }

/* ---------- Reveal ---------- */
.rv{ opacity:0; transform:translateY(34px); transition:opacity .95s var(--ease), transform .95s var(--ease); }
.rv.in{ opacity:1; transform:none; }
.rv[data-d="1"]{ transition-delay:.09s; }
.rv[data-d="2"]{ transition-delay:.18s; }
.rv[data-d="3"]{ transition-delay:.27s; }
.rv[data-d="4"]{ transition-delay:.36s; }
.rv[data-d="5"]{ transition-delay:.45s; }

/* ---------- Seção compromisso ---------- */
.pledge{ background:var(--ink); border-block:1px solid var(--line-soft); }
.pledge .quote{
  font-family:var(--serif); font-size:clamp(1.45rem,3vw,2.35rem); line-height:1.32;
  color:var(--white); max-width:22ch; margin:0;
}
.pledge .quote em{ font-style:italic; }
.pillars{ display:grid; gap:26px; }
.pillar{ padding-left:22px; border-left:1px solid var(--line); }
.pillar h4{ font-family:var(--serif); font-size:1.1rem; font-weight:600; margin:0 0 7px; }
.pillar p{ font-size:14.5px; margin:0; }

/* ---------- Advogados ---------- */
.adv{
  position:relative; border-radius:22px; overflow:hidden; isolation:isolate;
  background:linear-gradient(180deg,var(--ink-3),var(--ink));
  border:1px solid var(--line-soft);
  transition:transform .6s var(--ease), border-color .6s;
}
.adv:hover{ transform:translateY(-8px); border-color:rgba(201,162,39,.4); }
.adv .ph{ position:relative; height:430px; overflow:hidden; background:radial-gradient(85% 70% at 50% 22%,#12306E,#061230 72%); }
.adv .ph img{
  position:absolute; left:50%; bottom:0; transform:translateX(-50%) scale(1);
  height:104%; width:auto; max-width:none; object-fit:contain;
  transition:transform 1.1s var(--ease); filter:contrast(1.03) saturate(1.02);
}
.adv:hover .ph img{ transform:translateX(-50%) scale(1.055); }
.adv .ph img.f-allan{ height:100%; bottom:-2%; }
.adv .ph img.f-bruno{ height:104%; }
.adv .ph::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(11,13,18,.55) 78%,var(--ink) 100%);
}
.adv .ph .ring{
  position:absolute; inset:auto 50% 0 auto; transform:translateX(50%);
  width:300px; height:300px; border-radius:50%; border:1px solid rgba(201,162,39,.2);
  bottom:-150px; pointer-events:none;
}
.adv .info{ padding:26px 30px 32px; position:relative; z-index:2; }
.adv .info h3{ margin:0 0 5px; font-size:1.38rem; }
.adv .oab{ font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.adv .info p{ font-size:14.4px; margin:14px 0 0; }
.adv .tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tag{
  font-size:11px; letter-spacing:.06em; padding:6px 12px; border-radius:100px;
  border:1px solid var(--line-soft); color:var(--mute); background:rgba(255,255,255,.03);
}

/* ---------- Método / passos ---------- */
.steps{ counter-reset:s; display:grid; gap:2px; }
.step{
  counter-increment:s; position:relative; display:grid;
  grid-template-columns:96px 1fr; gap:28px; align-items:start;
  padding:34px 30px; border:1px solid var(--line-soft); border-radius:0;
  background:rgba(255,255,255,.014); transition:background .5s var(--ease), padding-left .5s var(--ease);
}
.step + .step{ border-top:0; }
.step:first-child{ border-radius:var(--r) var(--r) 0 0; }
.step:last-child{ border-radius:0 0 var(--r) var(--r); }
.step:hover{ background:rgba(201,162,39,.05); }
.step::before{
  content:"0" counter(s); font-family:var(--serif); font-size:2.5rem; line-height:1;
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.step h4{ font-family:var(--serif); font-size:1.24rem; font-weight:600; margin:0 0 8px; }
.step p{ margin:0; font-size:14.8px; }

/* ---------- Faixa CTA ---------- */
.strip{
  position:relative; border-radius:26px; padding:64px 54px; overflow:hidden;
  background:linear-gradient(135deg,#0A1D4C,#040D26 62%);
  border:1px solid var(--line);
}
.strip::before{
  content:""; position:absolute; width:520px; height:520px; border-radius:50%;
  right:-140px; top:-200px; background:radial-gradient(circle,rgba(201,162,39,.24),transparent 66%); filter:blur(50px);
}
.strip::after{
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:60px 60px; opacity:.5;
  mask-image:radial-gradient(70% 100% at 100% 0%,#000,transparent 70%);
  -webkit-mask-image:radial-gradient(70% 100% at 100% 0%,#000,transparent 70%);
}
.strip > *{ position:relative; z-index:2; }

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--line-soft); }
.q{ border-bottom:1px solid var(--line-soft); }
.q button{
  width:100%; background:none; border:0; cursor:pointer; color:var(--white);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:25px 4px; text-align:left; font-size:15.5px; font-weight:500; font-family:var(--serif);
  letter-spacing:-.005em; transition:color .3s;
}
.q button:hover{ color:var(--gold-lt); }
.q .pm{ position:relative; width:20px; height:20px; flex:none; }
.q .pm::before,.q .pm::after{
  content:""; position:absolute; inset:0; margin:auto; background:var(--gold);
  transition:transform .45s var(--ease);
}
.q .pm::before{ width:14px; height:1.5px; }
.q .pm::after{ width:1.5px; height:14px; }
.q.open .pm::after{ transform:rotate(90deg) scaleX(0); }
.q .a{ max-height:0; overflow:hidden; transition:max-height .55s var(--ease); }
.q .a p{ padding:0 60px 26px 4px; font-size:14.8px; margin:0; }

/* ---------- Rodapé ---------- */
footer{ background:var(--ink); border-top:1px solid var(--line-soft); padding:76px 0 34px; }
.flogo{ width:232px; height:auto; margin-bottom:24px; filter:drop-shadow(0 4px 16px rgba(201,162,39,.2)); }
.fgrid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:42px; }
footer h5{ font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 18px; font-weight:600; }
footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
footer li a, footer .li{ font-size:14px; color:var(--mute); transition:color .3s; }
footer li a:hover{ color:var(--gold-lt); }
.fbot{
  margin-top:56px; padding-top:26px; border-top:1px solid var(--line-soft);
  display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between;
  font-size:12.2px; color:var(--mute-2);
}
.legal{ font-size:12px; color:var(--mute-2); line-height:1.7; max-width:78ch; margin-top:22px; }

/* ---------- WhatsApp flutuante ---------- */
.float{
  position:fixed; right:22px; bottom:22px; z-index:950;
  display:flex; align-items:center; gap:11px; padding:14px 22px 14px 18px;
  background:var(--wa); color:#04240F; border-radius:100px; font-weight:700; font-size:14px;
  box-shadow:0 14px 40px -12px rgba(37,211,102,.85);
  transform:translateY(140%); transition:transform .7s var(--ease), box-shadow .4s;
}
.float.on{ transform:none; }
.float:hover{ box-shadow:0 20px 50px -12px rgba(37,211,102,1); }
.float svg{ width:22px; height:22px; }
.float::before{
  content:""; position:absolute; inset:0; border-radius:100px; border:2px solid var(--wa);
  animation:pulse 2.6s ease-out infinite;
}
@keyframes pulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.22); opacity:0; } }

/* ---------- Responsivo ---------- */
@media (max-width:1340px){
  .navlinks{ gap:20px; }
  .navlinks a{ font-size:12.8px; }
  .navlinks a.btn{ padding:13px 21px; font-size:12.8px; }
}
@media (max-width:1180px){
  .navlinks{ gap:16px; }
  .navlinks a{ font-size:12.2px; }
  .navlinks a.op{ display:none; }          /* links opcionais somem antes de espremer o botao */
  .navlinks a.btn{ padding:12px 18px; font-size:12.2px; }
}
@media (max-width:1000px){
  .g4c{ grid-template-columns:repeat(2,1fr); }
  .g3c{ grid-template-columns:repeat(2,1fr); }
  .fgrid{ grid-template-columns:1fr 1fr; gap:34px; }
}
@media (max-width:820px){
  section{ padding:84px 0; }
  .navlinks{
    position:fixed; inset:0 0 auto; top:0; padding:104px 26px 40px;
    background:rgba(7,8,11,.97); backdrop-filter:blur(24px);
    flex-direction:column; align-items:flex-start; gap:4px;
    transform:translateY(-102%); transition:transform .55s var(--ease);
    border-bottom:1px solid var(--line-soft); height:auto;
  }
  .navlinks.on{ transform:none; }
  .navlinks a{ font-size:20px; font-family:var(--serif); padding:13px 0; width:100%; border-bottom:1px solid var(--line-soft); }
  .navlinks a.op{ display:block; }   /* no menu mobile todos voltam */
  .navlinks a.btn{ margin-top:18px; width:100%; padding:16px 24px; font-size:14.5px; }
  .burger{ display:block; z-index:5; }
  .g2c,.g3c,.g4c{ grid-template-columns:1fr; }
  .fgrid{ grid-template-columns:1fr; }
  .strip{ padding:44px 26px; }
  .step{ grid-template-columns:1fr; gap:12px; padding:28px 22px; }
  .step::before{ font-size:2.2rem; }
  .adv .ph{ height:390px; }
  .hero{ min-height:auto; padding:130px 0 78px; }
    body::after{ background:radial-gradient(160% 120% at 50% 0%, transparent 70%, rgba(0,0,0,.3) 100%); }
  .float{ right:14px; bottom:14px; padding:13px 19px 13px 16px; font-size:13px; }
  .btn-lg{ padding:17px 26px; font-size:14.5px; }
  .cta-row{ flex-direction:column; align-items:stretch; }
  .cta-row .btn{ width:100%; }
  .q .a p{ padding-right:10px; }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .rv{ opacity:1 !important; transform:none !important; }
  .h1 .ln > span{ transform:none !important; }
  .fade-seq{ opacity:1 !important; }
}
