:root{
  --ink:#111418;
  --ink-2:#1e232b;
  --ink-3:#2e3540;
  --steel:#3a4553;
  --steel-2:#525d6c;
  --red:#c72c2c;
  --red-dark:#9c1d1d;
  --red-soft:#fce8e8;
  --amber:#e08a1e;
  --cream:#faf8f3;
  --cream-2:#f2ede2;
  --paper:#ffffff;
  --line:#e4dfd2;
  --line-dark:#232830;
  --muted:#6d7381;
  --muted-2:#8e94a1;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.65;font-size:16px}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
table{border-collapse:collapse;width:100%}

/* ---- TOPBAR ---- */
.topbar{
  background:var(--ink);color:#e2e5eb;
  font-size:.78rem;letter-spacing:.05em;padding:.55rem 2rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
}
.topbar a{color:#c8cdd6;transition:color .2s}
.topbar a:hover{color:var(--red)}
.topbar strong{color:var(--red);font-weight:600}
.topbar-left,.topbar-right{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}

/* ---- HEADER ---- */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  max-width:1280px;margin:0 auto;
  padding:.9rem 2rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.brand{display:flex;align-items:center;gap:.65rem}
.brand-mark{
  width:42px;height:42px;background:var(--ink);
  display:grid;place-items:center;color:var(--red);
  font-family:var(--serif);font-weight:500;font-size:1.15rem;font-style:italic;
  border-radius:3px;
}
.brand-text{font-family:var(--serif);font-size:1.35rem;letter-spacing:-.015em;color:var(--ink);line-height:1}
.brand-text small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:3px}
.nav{display:flex;gap:1.9rem;font-size:.9rem;font-weight:500;color:var(--ink-2)}
.nav a{padding:.3rem 0;transition:color .2s;position:relative}
.nav a:hover{color:var(--red)}
.nav a.active{color:var(--red)}
.header-cta{display:flex;align-items:center;gap:.9rem}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.8rem 1.3rem;font-size:.85rem;font-weight:600;letter-spacing:.02em;
  border:1.5px solid;transition:all .25s;text-align:center;justify-content:center;
}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-ghost-light:hover{background:#fff;color:var(--ink)}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(3px)}
.phone-header{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.95rem;color:var(--ink)}
.phone-header svg{color:var(--red);flex-shrink:0}

/* ---- HERO ---- */
.hero{background:var(--ink);color:#fff;padding:0 2rem;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 15% 30%,rgba(199,44,44,.15),transparent 55%),
    radial-gradient(ellipse at 85% 70%,rgba(224,138,30,.1),transparent 50%);
  pointer-events:none;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M0 20h40M20 0v40' stroke='%23ffffff' stroke-width='.3' opacity='.04'/></svg>");
  pointer-events:none;
}
.hero-inner{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;
  padding:4.5rem 0 5rem;position:relative;z-index:1;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);
  font-weight:600;margin-bottom:1.5rem;
}
.hero-eyebrow::before{content:"";width:34px;height:2px;background:var(--red)}
h1.hero-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.3rem,4.6vw,3.8rem);
  line-height:1.02;letter-spacing:-.02em;margin-bottom:1.5rem;
}
h1.hero-title em{font-style:italic;color:var(--red);font-weight:400}
.hero-sub{font-size:1.08rem;line-height:1.65;color:#b5bcc7;margin-bottom:2rem;max-width:540px}
.hero-checks{display:flex;flex-direction:column;gap:.85rem;margin-bottom:2rem;list-style:none}
.hero-checks li{
  position:relative;
  padding-left:38px;
  min-height:24px;
  font-size:1rem;font-weight:500;color:#e2e5eb;
  line-height:1.5;
}
.hero-checks li strong{color:#fff;font-weight:600}
.check-icon{
  position:absolute;left:0;top:2px;
  width:24px;height:24px;background:var(--red);
  display:grid;place-items:center;border-radius:3px;
}
.check-icon svg{width:14px;height:14px;color:#fff}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.5rem}
.hero-trust{
  display:flex;gap:2.5rem;padding-top:2rem;
  border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap;
}
.hero-trust-item{display:flex;flex-direction:column;gap:.15rem}
.hero-trust-num{font-family:var(--serif);font-size:1.9rem;font-weight:400;color:#fff;line-height:1;letter-spacing:-.01em}
.hero-trust-num em{color:var(--red);font-style:italic}
.hero-trust-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8e94a1;font-weight:600}

/* ---- HERO FORM ---- */
.hero-form-wrap{
  background:#fff;padding:2.4rem 2rem;
  box-shadow:0 25px 60px rgba(0,0,0,.35);position:relative;
  border-radius:2px;
}
.hero-form-wrap::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--red),var(--amber));
}
.form-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:var(--red-soft);color:var(--red-dark);
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.4rem .8rem;margin-bottom:1.1rem;
}
.form-badge svg{width:14px;height:14px}
.form-title{font-family:var(--serif);font-size:1.65rem;font-weight:400;color:var(--ink);line-height:1.15;margin-bottom:.5rem;letter-spacing:-.01em}
.form-title em{font-style:italic;color:var(--red)}
.form-sub{font-size:.88rem;color:var(--muted);margin-bottom:1.6rem;line-height:1.55}
.form-group{margin-bottom:.9rem}
.form-group label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.4rem}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:.85rem 1rem;
  border:1.5px solid var(--line);background:var(--cream);
  font-family:var(--sans);font-size:.92rem;color:var(--ink);
  transition:border-color .2s,background .2s;outline:none;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--red);background:#fff}
.form-group textarea{resize:vertical;min-height:70px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.form-submit{
  width:100%;padding:1.05rem;background:var(--red);color:#fff;
  font-size:.95rem;font-weight:700;letter-spacing:.03em;
  border:none;cursor:pointer;transition:background .25s;margin-top:.4rem;
}
.form-submit:hover{background:var(--red-dark)}
.form-legal{font-size:.72rem;color:var(--muted);margin-top:.8rem;line-height:1.5;text-align:center}
.form-legal a{color:var(--red);text-decoration:underline}

/* ---- SECTIONS ---- */
section{padding:5.5rem 2rem}
.container{max-width:1280px;margin:0 auto}
.stag{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
  font-weight:700;margin-bottom:.9rem;display:inline-flex;align-items:center;gap:.6rem;
}
.stag::before{content:"";width:10px;height:2px;background:var(--red)}
h2.stitle{
  font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3.4vw,3rem);
  line-height:1.08;letter-spacing:-.015em;color:var(--ink);margin-bottom:1rem;
}
h2.stitle em{font-style:italic;color:var(--red)}
h3.subtitle{
  font-family:var(--serif);font-weight:500;font-size:1.5rem;
  color:var(--ink);letter-spacing:-.01em;margin-bottom:.7rem;line-height:1.2;
}
.sintro{font-size:1.05rem;line-height:1.7;color:var(--steel);max-width:640px}
.shead{display:grid;grid-template-columns:1fr 1.25fr;gap:4rem;align-items:end;margin-bottom:3.5rem}
.breadcrumb{max-width:1280px;margin:0 auto;padding:1rem 2rem;font-size:.82rem;color:var(--muted)}
.breadcrumb a{color:var(--red);text-decoration:underline}

/* ---- CONTENT ---- */
.content{background:var(--cream)}
.content-block{max-width:900px;margin:0 auto}
.content-block h3{font-family:var(--serif);font-size:1.7rem;font-weight:500;margin:2.5rem 0 1rem;color:var(--ink);letter-spacing:-.01em}
.content-block p{margin-bottom:1.1rem;font-size:1rem;line-height:1.8;color:var(--ink-2)}
.content-block p:first-of-type{font-family:var(--serif);font-size:1.3rem;font-weight:400;line-height:1.5;color:var(--ink);margin-bottom:1.5rem}
.content-block strong{color:var(--ink);font-weight:600}
.content-block ul{list-style:none;margin:1rem 0 1.5rem;padding:0}
.content-block ul li{padding:.5rem 0 .5rem 1.7rem;position:relative;font-size:1rem;line-height:1.65;color:var(--ink-2)}
.content-block ul li::before{content:"";position:absolute;left:0;top:1.1rem;width:8px;height:8px;background:var(--red);border-radius:1px}

/* ---- TABLES ---- */
.tbl-wrap{overflow-x:auto;margin:2rem 0;border:1px solid var(--line);border-radius:2px;background:#fff}
.tbl{width:100%;font-size:.95rem}
.tbl th{
  background:var(--ink);color:#fff;text-align:left;padding:1rem 1.2rem;
  font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  border-bottom:2px solid var(--red);
}
.tbl td{padding:1rem 1.2rem;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--cream)}
.tbl td strong{color:var(--red);font-family:var(--serif);font-size:1.1rem;font-weight:500}
.tbl-caption{font-size:.85rem;color:var(--muted);text-align:center;margin-top:1rem;font-style:italic}

/* ---- SECTORS ---- */
.sectors{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.sect{
  background:#fff;border:1px solid var(--line);padding:2.5rem 2rem;
  transition:all .3s;position:relative;overflow:hidden;
}
.sect::before{
  content:"";position:absolute;top:0;left:0;width:0;height:3px;
  background:var(--red);transition:width .35s;
}
.sect:hover::before{width:100%}
.sect:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(0,0,0,.08)}
.sect-num{font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--red);font-weight:500;margin-bottom:1.5rem;letter-spacing:.03em}
.sect-title{font-family:var(--serif);font-size:1.4rem;font-weight:500;line-height:1.2;margin-bottom:.9rem;letter-spacing:-.01em;color:var(--ink)}
.sect-desc{font-size:.94rem;line-height:1.65;color:var(--steel)}
.sect-list{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line);list-style:none}
.sect-list li{padding:.35rem 0;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}
.sect-list li::before{content:"◆";color:var(--red);font-size:.6rem}

/* ---- PROCESS ---- */
.process{background:var(--ink);color:#fff}
.process .stag{color:#8e94a1}.process .stag::before{background:var(--red)}
.process h2.stitle{color:#fff}.process h2.stitle em{color:var(--red)}
.process .sintro{color:#b5bcc7}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3.5rem}
.step{padding:2.5rem 2rem;border-right:1px solid rgba(255,255,255,.08);position:relative}
.step:last-child{border-right:none}
.step::before{content:"";position:absolute;top:0;left:2rem;right:2rem;height:3px;background:var(--red);opacity:.3;transition:opacity .3s}
.step:hover::before{opacity:1}
.step-num{font-family:var(--serif);font-size:3.5rem;font-weight:400;color:rgba(255,255,255,.09);line-height:1;margin-bottom:1.4rem;transition:color .3s}
.step:hover .step-num{color:var(--red)}
.step-title{font-family:var(--serif);font-size:1.2rem;font-weight:500;margin-bottom:.7rem;color:#fff;letter-spacing:-.005em}
.step-desc{font-size:.9rem;line-height:1.6;color:#a4abb8}

/* ---- ZONES ---- */
.zones{background:var(--cream)}
.zone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-top:2.5rem}
.zone{
  background:#fff;border:1px solid var(--line);padding:1.3rem 1.1rem;
  display:flex;justify-content:space-between;align-items:center;transition:all .25s;
}
.zone:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.zone:hover span{color:var(--red)}
.zone-name{font-family:var(--serif);font-size:1.05rem;font-weight:500;letter-spacing:-.005em}
.zone span{font-size:.85rem;color:var(--muted);transition:color .25s}

/* ---- TESTIMONIALS ---- */
.testi{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.testi-card{background:#fff;padding:2.2rem 1.9rem;border:1px solid var(--line);position:relative}
.testi-mark{font-family:var(--serif);font-size:3.5rem;line-height:.5;color:var(--red);font-style:italic;margin-bottom:.8rem}
.testi-stars{color:var(--amber);font-size:.95rem;letter-spacing:.12em;margin-bottom:.9rem}
.testi-quote{font-family:var(--serif);font-size:1.02rem;line-height:1.55;color:var(--ink-2);font-style:italic;font-weight:400;margin-bottom:1.8rem;min-height:130px}
.testi-author{display:flex;align-items:center;gap:.85rem;padding-top:1.3rem;border-top:1px solid var(--line)}
.testi-avatar{
  width:42px;height:42px;background:var(--ink);color:var(--red);
  display:grid;place-items:center;font-family:var(--serif);font-size:1rem;font-weight:500;
  border-radius:50%;
}
.testi-name{font-weight:600;font-size:.92rem;color:var(--ink)}
.testi-source{font-size:.78rem;color:var(--muted);margin-top:.1rem}

/* ---- FAQ ---- */
.faq{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4.5rem;align-items:start}
.faq-list{display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{
  width:100%;text-align:left;padding:1.5rem 0;
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  font-family:var(--serif);font-size:1.15rem;font-weight:500;color:var(--ink);
  transition:color .2s;letter-spacing:-.005em;
}
.faq-q:hover{color:var(--red)}
.faq-q .ico{
  width:32px;height:32px;flex-shrink:0;border:1.5px solid var(--ink);
  display:grid;place-items:center;font-size:1.1rem;font-weight:300;transition:all .3s;
}
.faq-item.open .faq-q .ico{background:var(--ink);color:var(--red);transform:rotate(45deg);border-color:var(--ink)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;font-size:.95rem;line-height:1.75;color:var(--steel)}
.faq-item.open .faq-a{max-height:500px;padding:0 0 1.5rem}

/* ---- WARNINGS ---- */
.warns{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.warn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}
.warn{background:#fff;border:1px solid var(--line);padding:2.2rem 2rem;border-left:4px solid var(--red);display:flex;gap:1.2rem;align-items:flex-start}
.warn-icon{
  width:48px;height:48px;flex-shrink:0;background:var(--red-soft);color:var(--red-dark);
  display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:1.4rem;font-style:italic;
}
.warn-body h3{font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.2;margin-bottom:.5rem;color:var(--ink)}
.warn-body p{font-size:.95rem;line-height:1.65;color:var(--steel)}

/* ---- CTA ---- */
.cta{background:var(--ink);padding:5.5rem 2rem;text-align:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(199,44,44,.12),transparent 65%);pointer-events:none}
.cta-inner{max-width:900px;margin:0 auto;position:relative;z-index:1}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.8vw,3rem);color:#fff;line-height:1.08;margin-bottom:1rem}
.cta h2 em{font-style:italic;color:var(--red)}
.cta p{color:#a4abb8;font-size:1.08rem;margin-bottom:2.2rem;line-height:1.6}
.cta-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.cta .btn-primary{padding:1.05rem 1.9rem;font-size:.95rem}
.cta .btn-outline{color:#fff;border-color:rgba(255,255,255,.35)}
.cta .btn-outline:hover{background:#fff;color:var(--ink);border-color:#fff}

/* ---- FOOTER ---- */
.footer{background:#0a0d11;color:#fff;padding:4.5rem 2rem 2rem}
.foot-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:3.5rem;
  padding-bottom:3rem;border-bottom:1px solid #1a1e26;
}
.foot-brand h3{font-family:var(--serif);font-size:1.9rem;font-weight:400;margin-bottom:1.2rem;line-height:1.1;letter-spacing:-.01em}
.foot-brand h3 em{color:var(--red);font-style:italic}
.foot-brand p{color:#8e94a1;font-size:.9rem;line-height:1.65;margin-bottom:1.7rem;max-width:320px}
.foot-col h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:1.2rem}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.foot-col a{color:#c8cdd6;font-size:.9rem;transition:color .2s;line-height:1.5}
.foot-col a:hover{color:var(--red)}
.foot-col p{color:#c8cdd6;font-size:.9rem;line-height:1.65}
.foot-col p strong{display:block;color:#fff;font-family:var(--serif);font-size:1.05rem;font-weight:500;margin-bottom:.2rem;letter-spacing:-.005em}
.foot-authority{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #1a1e26}
.foot-authority h4{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#8e94a1;font-weight:600;margin-bottom:.8rem}
.foot-authority a{display:block;color:#c8cdd6;font-size:.82rem;padding:.25rem 0;transition:color .2s}
.foot-authority a:hover{color:var(--red)}
.foot-bottom{
  max-width:1280px;margin:0 auto;padding-top:1.6rem;
  display:flex;justify-content:space-between;align-items:center;
  color:#6d7381;font-size:.78rem;flex-wrap:wrap;gap:1rem;
}
.foot-bottom-links{display:flex;gap:1.6rem}
.foot-bottom a{color:#8e94a1;transition:color .2s}
.foot-bottom a:hover{color:var(--red)}

/* ---- FLOATING ---- */
.float-phone{
  position:fixed;bottom:88px;right:20px;z-index:80;
  width:54px;height:54px;border-radius:50%;background:var(--red);color:#fff;
  display:grid;place-items:center;box-shadow:0 8px 24px rgba(199,44,44,.55);transition:transform .25s;
}
.float-phone:hover{transform:scale(1.08)}
.float-phone svg{width:24px;height:24px}
.float-wa{
  position:fixed;bottom:22px;right:20px;z-index:80;
  width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;
  display:grid;place-items:center;box-shadow:0 8px 24px rgba(37,211,102,.45);transition:transform .25s;
}
.float-wa:hover{transform:scale(1.08)}
.float-wa svg{width:26px;height:26px}

/* ---- STICKY MOBILE BAR ---- */
.mobile-bar{display:none}

/* ---- RESPONSIVE ---- */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:2.5rem}
  .shead{grid-template-columns:1fr;gap:1.2rem}
  .content-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .sect-grid,.testi-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .step{border-bottom:1px solid rgba(255,255,255,.06)}
  .step:nth-child(2){border-right:none}
  .zone-grid{grid-template-columns:repeat(3,1fr)}
  .warn-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
}
@media(max-width:680px){
  .topbar{display:none}
  .nav{display:none}
  .header-cta .phone-header{display:none}
  .header-cta .btn{padding:.7rem 1rem;font-size:.78rem}
  .header-inner{padding:.75rem 1rem}
  section{padding:3.5rem 1.2rem}
  .hero{padding:0 1.2rem}
  .hero-inner{padding:3rem 0 3.5rem}
  .hero-form-wrap{padding:2rem 1.4rem}
  .form-row{grid-template-columns:1fr}
  .hero-trust{gap:1.5rem}
  .sect-grid,.testi-grid,.zone-grid,.process-grid{grid-template-columns:1fr}
  .step{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .foot-grid{grid-template-columns:1fr;gap:2rem}
  .footer{padding:3rem 1.2rem 5rem}
  .cta{padding:3.5rem 1.2rem}
  .mobile-bar{
    display:grid;grid-template-columns:1fr 1fr;
    position:fixed;bottom:0;left:0;right:0;z-index:70;
    background:var(--ink);border-top:1px solid var(--line-dark);
  }
  .mobile-bar a{
    padding:.9rem;text-align:center;color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.06em;
    display:flex;align-items:center;justify-content:center;gap:.5rem;
  }
  .mobile-bar a:first-child{background:var(--red)}
  .mobile-bar a:last-child{background:#25d366}
  .float-phone,.float-wa{display:none}
  .foot-authority a{font-size:.85rem}
}

/* ---- ABOUT / CONTACT ---- */
.about-hero,.contact-hero{background:var(--ink);color:#fff;padding:4rem 2rem 3.5rem;position:relative;overflow:hidden}
.about-hero::before,.contact-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(199,44,44,.15),transparent 55%)}
.about-hero-inner,.contact-hero-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:start}
.contact-info-grid{display:flex;flex-direction:column;gap:1.8rem}
.ci{display:flex;gap:1.2rem;align-items:flex-start}
.ci-icon{
  width:46px;height:46px;background:var(--ink);color:var(--red);
  display:grid;place-items:center;flex-shrink:0;
}
.ci-icon svg{width:22px;height:22px}
.ci h3{font-family:var(--serif);font-size:1.15rem;font-weight:500;margin-bottom:.3rem;color:var(--ink);letter-spacing:-.005em}
.ci p{font-size:.94rem;color:var(--steel);line-height:1.55}
.ci a{color:var(--red);font-weight:600}
.ci a:hover{text-decoration:underline}
.map-wrap{margin-top:2.5rem;border:1px solid var(--line);overflow:hidden;aspect-ratio:16/9;background:var(--cream-2)}
.map-wrap iframe{width:100%;height:100%;border:0}
.auth-links{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.auth-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.55rem 1rem;border:1.5px solid var(--line);
  font-size:.82rem;font-weight:600;color:var(--ink);transition:all .2s;background:#fff;
}
.auth-link:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.auth-link svg{width:15px;height:15px;flex-shrink:0}

/* ---- LEGAL ---- */
.legal{background:var(--cream);padding:4rem 2rem 5rem}
.legal-container{max-width:820px;margin:0 auto;background:#fff;padding:3.5rem 3rem;border:1px solid var(--line)}
.legal-container h1{font-family:var(--serif);font-weight:400;font-size:2.3rem;letter-spacing:-.015em;color:var(--ink);margin-bottom:.5rem;line-height:1.1}
.legal-container h1 em{font-style:italic;color:var(--red)}
.legal-lastmod{font-size:.85rem;color:var(--muted);margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.legal-container h2{font-family:var(--serif);font-size:1.4rem;font-weight:500;margin:2rem 0 .8rem;color:var(--ink);letter-spacing:-.005em}
.legal-container h3{font-family:var(--serif);font-size:1.15rem;font-weight:500;margin:1.5rem 0 .6rem;color:var(--ink)}
.legal-container p,.legal-container li{font-size:.95rem;line-height:1.7;color:var(--ink-2);margin-bottom:.9rem}
.legal-container ul,.legal-container ol{padding-left:1.5rem;margin-bottom:1rem}
.legal-container strong{color:var(--ink);font-weight:600}
.legal-container a{color:var(--red);text-decoration:underline}


/* ---- NAV DROPDOWN ---- */
.nav{align-items:center}
.nav-item{position:relative;display:inline-block}
.nav-item > a{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem 0}
.nav-item > a::after{content:"▾";font-size:.65rem;color:var(--muted);transition:transform .2s}
.nav-item:hover > a::after{transform:rotate(180deg);color:var(--red)}
.nav-dropdown{
  position:absolute;top:calc(100% + .8rem);left:-1rem;
  background:#fff;border:1px solid var(--line);
  min-width:520px;padding:1.2rem 1rem;
  box-shadow:0 25px 60px rgba(0,0,0,.14);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
  z-index:100;list-style:none;
  column-count:3;column-gap:.6rem;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .18s ease,transform .18s ease,visibility 0s;
}
.nav-dropdown::before{
  content:"";position:absolute;top:-14px;left:0;right:0;height:14px;
}
.nav-dropdown li{break-inside:avoid;margin:0;padding:0}
.nav-dropdown a{
  display:block;padding:.5rem .8rem;
  font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--ink-2);
  transition:background .15s ease,color .15s ease;
  border-radius:2px;line-height:1.3;
}
.nav-dropdown a:hover{background:var(--cream);color:var(--red)}
.nav-dropdown-footer{
  column-span:all;
  margin-top:.7rem;padding-top:.8rem;
  border-top:1px solid var(--line);
  text-align:center;
}
.nav-dropdown-footer a{
  color:var(--red);font-weight:600;font-size:.82rem;
  letter-spacing:.05em;text-transform:uppercase;
}
.nav-dropdown-footer a:hover{background:transparent;color:var(--red-dark);text-decoration:underline}
@media(max-width:1024px){.nav-dropdown{display:none !important}}
