    /* ─── BASE ─── */
    html { font-size: 18px; scroll-behavior: smooth; }

    :root {
      --void:    #F4FAF7;
      --depth:   #E8F5EE;
      --card:    #FFFFFF;
      --card2:   #F0FAF5;
      --fire:    #006E5A;
      --fire2:   #00B894;
      --amber:   #835900;
      --cream:   #162B22;
      --muted:   #426959;
      --border:  rgba(0,150,122,0.25);
      --bs:      rgba(22,43,34,0.10);
      --gf:      'Space Grotesk', sans-serif;
      --gs:      'Cormorant Garamond', serif;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: var(--gf);
      background: var(--void);
      color: var(--cream);
      line-height: 1.65;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    /* ─── ANIMATIONS ─── */
    @keyframes fadeUp   { from { opacity:.85; transform:translateY(32px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeIn   { from { opacity:.85; } to { opacity:1; } }
    @keyframes pulse-r  { 0%{transform:scale(.8);opacity:1;} 100%{transform:scale(2);opacity:0;} }
    @keyframes breathe  { 0%,100%{opacity:.4;} 50%{opacity:.9;} }
    @keyframes float    { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);} }
    @keyframes spin-slow { from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
    @keyframes shimmer  { 0%{background-position:-200% center;} 100%{background-position:200% center;} }
    @keyframes scanline { 0%{top:-100%;} 100%{top:100%;} }
    @keyframes blink    { 0%,100%{opacity:1;} 50%{opacity:0;} }
    @keyframes glow-fire { 0%,100%{box-shadow:0 0 40px rgba(0,150,122,.35),0 4px 20px rgba(0,0,0,.08);} 50%{box-shadow:0 0 70px rgba(0,150,122,.6),0 4px 30px rgba(0,0,0,.10);} }
    @keyframes slide-in-r { from{transform:translateX(60px);opacity:.85;} to{transform:translateX(0);opacity:1;} }
    @keyframes counter-up { from{transform:translateY(20px);opacity:.85;} to{transform:translateY(0);opacity:1;} }

    .reveal {
      opacity: .92;
      transform: translateY(36px);
      transition: opacity .7s ease, transform .7s ease;
    }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .reveal-left  { opacity:.92; transform:translateX(-40px); transition: opacity .7s ease, transform .7s ease; }
    .reveal-right { opacity:.92; transform:translateX(40px);  transition: opacity .7s ease, transform .7s ease; }
    .reveal-left.visible, .reveal-right.visible { opacity:1; transform:translateX(0); }

    /* ─── NAV ─── */
    nav {
      position: fixed; top:0; left:0; right:0; z-index:100;
      height: 70px;
      padding: 0 clamp(20px,5vw,64px);
      background: rgba(244,250,247,.88);
      backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--bs);
    }
    .nav-inner {
      max-width: 1440px; margin: 0 auto; height: 100%;
      display: flex; align-items: center; justify-content: space-between;
    }
    .nav-logo {
      display: flex; align-items: center; gap: 10px;
      text-decoration: none; color: var(--cream);
      font-weight: 700; font-size: 1.05rem; letter-spacing: -.02em;
    }
    .logo-mark {
      width: 32px; height: 32px; background: var(--fire);
      border-radius: 9px; display: grid; place-items: center;
      font-size: .85rem; font-weight: 700; color: #ffffff;
      box-shadow: 0 0 24px rgba(0,150,122,.4);
      flex-shrink: 0;
    }
    .nav-links { display:flex; align-items:center; gap:32px; list-style:none; }
    .nav-links a { color:var(--muted); text-decoration:none; font-size:.95rem; transition:color .2s; }
    .nav-links a:hover { color:var(--cream); }
    .nav-cta {
      background: var(--fire) !important; color: #ffffff !important;
      padding: 10px 24px; border-radius: 9px;
      font-weight: 700 !important; font-size: .9rem !important;
      transition: all .25s !important;
      box-shadow: 0 0 28px rgba(0,150,122,.35);
    }
    .nav-cta:hover { transform:translateY(-2px); box-shadow:0 0 44px rgba(0,150,122,.5); }
    @media (max-width:640px) { .nav-links { display:none; } }

    /* ─── HERO ─── */
    .hero {
      min-height: 100vh;
      display: grid; place-items: center;
      padding: 100px clamp(20px,5vw,80px) 80px;
      position: relative; overflow: hidden;
    }
    #particles {
      position: absolute; inset: 0;
      pointer-events: none; z-index: 0;
    }
    .hero-grid-bg {
      position: absolute; inset: 0; pointer-events: none;
      background-image:
        linear-gradient(rgba(22,43,34,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(22,43,34,.025) 1px, transparent 1px);
      background-size: 64px 64px;
    }
    .hero-orb-main {
      position: absolute; top: -300px; left:50%; transform:translateX(-50%);
      width: 1000px; height: 1000px; border-radius: 50%;
      background: radial-gradient(circle, rgba(0,150,122,.2) 0%, rgba(0,150,122,.05) 38%, transparent 65%);
      animation: breathe 5s ease-in-out infinite;
      pointer-events: none;
    }
    .hero-inner {
      position: relative; z-index: 1;
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 60px; align-items: center;
      max-width: 1200px; width: 100%;
    }
    @media (max-width:900px) { .hero-inner { grid-template-columns:1fr; text-align:center; } }

    .hero-eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 8px 20px; border: 1px solid var(--border);
      border-radius: 100px; font-size: .82rem; font-weight: 600;
      color: var(--fire); background: rgba(0,150,122,.06);
      letter-spacing: .06em; text-transform: uppercase;
      margin-bottom: 28px;
      animation: fadeUp .7s ease both;
    }
    .dot-pulse { width:7px; height:7px; background:var(--fire); border-radius:50%; position:relative; flex-shrink:0; }
    .dot-pulse::after {
      content:''; position:absolute; inset:-5px;
      border: 1px solid var(--fire); border-radius:50%;
      animation: pulse-r 1.8s ease-out infinite;
    }

    .hero-h1 {
      font-size: clamp(2.8rem,5.5vw,5rem);
      font-weight: 700; line-height: 1.05; letter-spacing: -.03em;
      margin-bottom: 8px;
      color: var(--cream);
      animation: fadeUp .7s .1s ease both;
    }
    .hero-h1-serif {
      font-family: var(--gs); font-style: italic; font-weight: 300;
      font-size: clamp(3.1rem,6vw,5.5rem);
      color: var(--fire); display: block; line-height: 1;
    }
    #typewriter-cursor { animation: blink 1s infinite; color: var(--fire); }

    .hero-sub {
      font-size: clamp(1.05rem,1.8vw,1.25rem);
      color: var(--muted); max-width: 500px;
      margin: 22px 0 40px; line-height: 1.8;
      animation: fadeUp .7s .2s ease both;
    }
    @media (max-width:900px) { .hero-sub { margin-left:auto; margin-right:auto; } }

    .hero-actions {
      display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
      animation: fadeUp .7s .3s ease both;
    }
    @media (max-width:900px) { .hero-actions { justify-content:center; } }

    .btn-fire {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--fire); color: #ffffff;
      padding: 17px 38px; border-radius: 11px;
      font-weight: 700; font-size: 1rem;
      text-decoration: none; letter-spacing: -.01em;
      transition: all .25s; animation: glow-fire 2.5s ease-in-out infinite;
    }
    .btn-fire:hover { transform:translateY(-3px); }

    .btn-ghost {
      display: inline-flex; align-items: center; gap: 8px;
      color: var(--cream); padding: 17px 28px;
      border-radius: 11px; font-weight: 500; font-size: 1rem;
      text-decoration: none; border: 1px solid var(--bs);
      transition: all .25s;
    }
    .btn-ghost:hover { border-color:rgba(22,43,34,.2); background:rgba(22,43,34,.04); }

    .hero-trust { margin-top: 44px; animation: fadeUp .7s .45s ease both; }
    @media (max-width:900px) { .hero-trust { text-align:center; } }
    .trust-avs { display:flex; align-items:center; margin-bottom:10px; }
    @media (max-width:900px) { .trust-avs { justify-content:center; } }
    .trust-av {
      width:36px; height:36px; border-radius:50%;
      border:2px solid var(--void); margin-left:-9px;
      background: linear-gradient(135deg,var(--card),var(--depth));
      display:grid; place-items:center; font-size:1rem;
    }
    .trust-av:first-child { margin-left:0; }
    .trust-lbl { font-size:.9rem; color:var(--muted); }
    .trust-lbl strong { color:var(--cream); font-weight:600; }

    /* Phone mockup */
    .hero-phone { position:relative; animation: fadeUp .8s .35s ease both; }
    @media (max-width:900px) { .hero-phone { display:none; } }
    .phone-shell {
      width: 300px; margin: 0 auto;
      background: var(--card2);
      border: 1px solid var(--border);
      border-radius: 36px; overflow: hidden;
      box-shadow: 0 40px 100px rgba(0,0,0,.12), 0 0 0 1px rgba(0,150,122,.2);
      animation: float 5s ease-in-out infinite;
    }
    .phone-notch {
      height: 32px; background: var(--void);
      display:flex; align-items:center; justify-content:center;
    }
    .phone-notch-dot { width:10px; height:10px; background:var(--card); border-radius:50%; }
    .phone-header {
      background: linear-gradient(135deg,rgba(0,150,122,.25),rgba(253,203,110,.1));
      padding: 14px 18px;
      display:flex; align-items:center; gap:10px;
      border-bottom: 1px solid var(--bs);
    }
    .phone-av {
      width:36px; height:36px; border-radius:50%;
      background: linear-gradient(135deg,var(--fire),var(--amber));
      display:grid; place-items:center;
      font-weight:800; font-size:.85rem; color:var(--void);
      flex-shrink:0; box-shadow:0 0 14px rgba(0,150,122,.4);
    }
    .phone-av-name { font-size:.88rem; font-weight:600; }
    .phone-av-status { font-size:.7rem; color:#006E5A; }
    .phone-body { padding:16px 14px; display:flex; flex-direction:column; gap:10px; min-height:380px; position:relative; }
    .phone-body::after {
      content:''; position:absolute; top:0; left:0; right:0;
      height:2px;
      background: linear-gradient(90deg,transparent,rgba(0,150,122,.3),transparent);
      animation: scanline 3s linear infinite;
    }
    .pmsg {
      max-width:85%; padding:10px 13px; border-radius:12px;
      font-size:.8rem; line-height:1.5;
    }
    .pmsg.u {
      align-self:flex-end;
      background:rgba(0,150,122,.22); border:1px solid rgba(0,150,122,.3); color:var(--cream);
    }
    .pmsg.b {
      align-self:flex-start;
      background:var(--depth); border:1px solid var(--bs); color:var(--cream);
    }
    .pmsg-sender { font-size:.68rem; color:var(--fire); font-weight:600; margin-bottom:3px; }
    .typing-dots {
      display:inline-flex; gap:4px; padding:10px 14px;
      background:var(--depth); border-radius:12px; border:1px solid var(--bs);
      align-self:flex-start;
    }
    .typing-dots span {
      width:6px; height:6px; background:var(--muted); border-radius:50%;
      animation: blink 1.2s ease-in-out infinite;
    }
    .typing-dots span:nth-child(2) { animation-delay:.2s; }
    .typing-dots span:nth-child(3) { animation-delay:.4s; }

    /* ─── STATS BAR ─── */
    .stats-bar {
      background: var(--depth);
      border-top: 1px solid var(--bs); border-bottom: 1px solid var(--bs);
      padding: 40px clamp(20px,5vw,80px);
    }
    .stats-inner {
      max-width:1100px; margin:0 auto;
      display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
    }
    @media (max-width:700px) { .stats-inner { grid-template-columns:repeat(2,1fr); } }
    .stat-item { text-align:center; }
    .stat-num {
      font-family:var(--gf); font-size:clamp(2.4rem,4vw,3.6rem);
      font-weight:700; letter-spacing:-.04em; color:var(--fire);
      line-height:1; display:block;
    }
    .stat-num .suffix { font-size:.55em; font-weight:400; color:var(--amber); }
    .stat-lbl { font-size:.85rem; color:var(--muted); margin-top:6px; }

    /* ─── GENERIC SECTION ─── */
    .sec { padding: clamp(72px,9vw,130px) clamp(20px,5vw,80px); }
    .sec-dark { background: var(--depth); position:relative; overflow:hidden; }
    .sec-dark::before {
      content:''; position:absolute; top:0; left:0; right:0; height:1px;
      background:linear-gradient(90deg,transparent,rgba(0,150,122,.4),transparent);
    }

    .sec-label {
      display:flex; align-items:center; gap:10px;
      font-size:.82rem; font-weight:600; color:var(--fire);
      text-transform:uppercase; letter-spacing:.1em; margin-bottom:18px;
    }
    .sec-label::before { content:''; width:28px; height:1px; background:var(--fire); }

    .sec-h2 {
      font-family:var(--gf);
      font-size: clamp(2.2rem,4vw,3.6rem);
      font-weight:700; line-height:1.1; letter-spacing:-.025em;
      max-width:640px; margin-bottom:18px;
      color: var(--cream);
    }
    .sec-sub {
      font-size: clamp(1.05rem,1.8vw,1.2rem);
      color:var(--muted); max-width:520px; line-height:1.8;
    }

    /* ─── PROBLEM ─── */
    .prob-inner { max-width:1100px; margin:0 auto; }
    .prob-grid {
      display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
      gap:2px; background:var(--bs); border:1px solid var(--bs);
      border-radius:18px; overflow:hidden; margin-top:60px;
    }
    .p-card {
      background: var(--card);
      padding:40px 36px; position:relative; overflow:hidden;
      transition: background .3s;
    }
    .p-card:hover { background: var(--card2); }
    .p-card::after {
      content:''; position:absolute; top:0; left:0; right:0; height:2px;
      background:linear-gradient(90deg,var(--fire),var(--amber));
      opacity:0; transition:opacity .3s;
    }
    .p-card:hover::after { opacity:1; }
    .p-num {
      font-family:var(--gs); font-size:4.5rem;
      font-weight:300; color:var(--fire);
      opacity: .75; line-height:1; margin-bottom:20px;
      transition: opacity .3s;
    }
    .p-card:hover .p-num { opacity:.95; }
    .p-title { font-size:1.2rem; font-weight:600; margin-bottom:12px; letter-spacing:-.01em; color:var(--cream); }
    .p-text { font-size:1rem; color:var(--muted); line-height:1.75; }

    /* ─── HOW IT WORKS ─── */
    .how-inner { max-width:1100px; margin:0 auto; }
    .how-hd {
      display:flex; align-items:flex-end; justify-content:space-between;
      gap:32px; flex-wrap:wrap; margin-bottom:70px;
    }
    .steps-wrap {
      display:grid; grid-template-columns:repeat(3,1fr);
      gap:3px; position:relative;
    }
    @media (max-width:768px) { .steps-wrap { grid-template-columns:1fr; } }
    .step {
      padding:44px 38px; background:var(--card); position:relative; overflow:hidden;
      transition:background .25s;
    }
    .step:hover { background:var(--card2); }
    .step:first-child { border-radius:18px 0 0 18px; }
    .step:last-child  { border-radius:0 18px 18px 0; }
    @media (max-width:768px) {
      .step:first-child { border-radius:18px 18px 0 0; }
      .step:last-child  { border-radius:0 0 18px 18px; }
    }
    .step::before {
      content:''; position:absolute; top:0; left:0; right:0; height:3px;
      background:linear-gradient(90deg,var(--fire),var(--amber));
      opacity:0; transition:opacity .3s;
    }
    .step:hover::before { opacity:1; }
    .step-num {
      font-family:var(--gs); font-size:5rem; font-weight:300; font-style:italic;
      color:var(--fire); opacity:.75; line-height:1; margin-bottom:22px;
      transition: opacity .3s;
    }
    .step:hover .step-num { opacity:.95; }
    .step-icon { font-size:1.8rem; margin-bottom:14px; }
    .step-title { font-size:1.25rem; font-weight:600; margin-bottom:12px; letter-spacing:-.01em; color:var(--cream); }
    .step-text { font-size:1rem; color:var(--muted); line-height:1.75; }

    /* ─── LIVE DEMO ─── */
    .demo-inner {
      max-width:1100px; margin:0 auto;
      display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
    }
    @media (max-width:768px) { .demo-inner { grid-template-columns:1fr; gap:48px; } }
    .demo-phone { position:relative; display:flex; justify-content:center; }
    .demo-phone .phone-shell { width:320px; }
    @media (max-width:420px) { .demo-phone .phone-shell { width:min(300px, 100%); } }

    .demo-chat-window {
      background:var(--card); border:1px solid var(--border);
      border-radius:20px; overflow:hidden;
      box-shadow: 0 30px 80px rgba(0,0,0,.10), 0 0 0 1px rgba(0,150,122,.15);
    }
    .demo-chat-hd {
      background:linear-gradient(135deg,rgba(0,150,122,.2),rgba(253,203,110,.08));
      padding:16px 20px; display:flex; align-items:center; gap:12px;
      border-bottom:1px solid var(--bs);
    }
    .demo-av {
      width:40px; height:40px; border-radius:50%;
      background:linear-gradient(135deg,var(--fire),var(--amber));
      display:grid; place-items:center;
      font-weight:800; font-size:.9rem; color:var(--void);
      flex-shrink:0; box-shadow:0 0 16px rgba(0,150,122,.5);
    }
    .demo-chat-body {
      padding:20px 18px; min-height:320px;
      display:flex; flex-direction:column; gap:12px;
      overflow-y:auto;
    }
    .dmsg {
      max-width:84%; padding:11px 15px; border-radius:14px;
      font-size:.95rem; line-height:1.55; opacity:0;
      transition: opacity .5s ease, transform .5s ease;
      transform: translateY(12px);
    }
    .dmsg.show { opacity:1; transform:translateY(0); }
    .dmsg.u { align-self:flex-end; background:rgba(0,150,122,.2); border:1px solid rgba(0,150,122,.3); }
    .dmsg.b { align-self:flex-start; background:var(--depth); border:1px solid var(--bs); }
    .dmsg-typing {
      display:none; align-self:flex-start; padding:12px 16px;
      background:var(--depth); border:1px solid var(--bs); border-radius:14px;
    }
    .dmsg-typing.show { display:flex; gap:5px; align-items:center; }
    .dmsg-typing span {
      width:7px; height:7px; background:var(--muted); border-radius:50%;
      animation:blink 1.2s ease-in-out infinite;
    }
    .dmsg-typing span:nth-child(2) { animation-delay:.2s; }
    .dmsg-typing span:nth-child(3) { animation-delay:.4s; }

    /* ─── FEATURES ─── */
    .feat-inner { max-width:1100px; margin:0 auto; }
    .feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:60px; }
    @media (max-width:768px) { .feat-grid { grid-template-columns:1fr; } }
    .f-card {
      background: linear-gradient(135deg,var(--card),var(--card2));
      border:1px solid var(--bs); border-radius:18px; padding:38px;
      position:relative; overflow:hidden; transition:border-color .3s, transform .3s;
    }
    .f-card:hover { border-color:rgba(0,150,122,.35); transform:translateY(-4px); }
    .f-card::before {
      content:''; position:absolute; top:0; left:0; right:0; height:1px;
      background:linear-gradient(90deg,transparent,rgba(0,150,122,.5),transparent);
      opacity:0; transition:opacity .3s;
    }
    .f-card:hover::before { opacity:1; }
    .f-card.wide { grid-column:auto; display:block; }
    @media (max-width:1024px) { .feat-grid { grid-template-columns:1fr 1fr; } }
    .f-tag {
      display:inline-block; background:rgba(0,150,122,.06); color:var(--fire);
      font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.09em;
      padding:5px 14px; border-radius:100px; margin-bottom:22px; border:1px solid rgba(0,150,122,.25);
    }
    .f-icon { font-size:2rem; margin-bottom:16px; }
    .f-title { font-size:1.5rem; font-weight:700; margin-bottom:12px; letter-spacing:-.02em; color:var(--cream); }
    .f-text { font-size:1rem; color:var(--muted); line-height:1.8; }

    /* ─── TESTIMONIALS ─── */
    .testi-inner { max-width:1100px; margin:0 auto; }
    .testi-grid {
      display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
      gap:18px; margin-top:60px;
    }
    .t-card {
      background:linear-gradient(135deg,var(--card),var(--card2));
      border:1px solid var(--bs); border-radius:18px; padding:36px;
      position:relative; overflow:hidden;
      transition: border-color .3s, transform .3s;
    }
    .t-card:hover { border-color:rgba(0,150,122,.3); transform:translateY(-3px); }
    .t-stars { color:var(--amber); font-size:.9rem; letter-spacing:3px; margin-bottom:18px; }
    .t-quote {
      font-family:var(--gs); font-style:italic; font-weight:300;
      font-size:1.25rem; line-height:1.7; color:var(--cream); margin-bottom:26px;
    }
    .t-author { display:flex; align-items:center; gap:14px; }
    .t-av {
      width:42px; height:42px; border-radius:50%;
      background:linear-gradient(135deg,var(--fire),var(--amber));
      display:grid; place-items:center;
      font-weight:800; font-size:.85rem; color:var(--void); flex-shrink:0;
    }
    .t-name { font-weight:600; font-size:1rem; }
    .t-role { font-size:.85rem; color:var(--muted); }

    /* ─── PRICING ─── */
    .price-inner { max-width:900px; margin:0 auto; text-align:center; }
    .price-card {
      background:linear-gradient(135deg,var(--card),var(--card2));
      border:1px solid rgba(0,150,122,.3);
      border-radius:24px; padding:clamp(48px,6vw,80px);
      margin-top:60px; position:relative; overflow:hidden;
    }
    .price-card::before {
      content:''; position:absolute; top:0; left:0; right:0; height:3px;
      background:linear-gradient(90deg,var(--fire),var(--amber),var(--fire));
    }
    .price-glow {
      position:absolute; top:-120px; left:50%; transform:translateX(-50%);
      width:800px; height:400px;
      background:radial-gradient(ellipse,rgba(0,150,122,.12) 0%,transparent 65%);
      pointer-events:none;
    }
    .price-badge {
      display:inline-flex; align-items:center; gap:8px;
      background:rgba(253,203,110,.12); border:1px solid rgba(253,203,110,.3);
      border-radius:100px; padding:8px 22px;
      font-size:.82rem; font-weight:600; color:var(--amber);
      margin-bottom:30px; text-transform:uppercase; letter-spacing:.07em;
    }
    .price-main {
      font-family:var(--gf); font-weight:700; letter-spacing:-.05em; line-height:1;
      font-size:clamp(5rem,10vw,8rem); margin-bottom:10px; position:relative; z-index:1;
      color: var(--cream);
    }
    .price-main sup { font-size:.3em; vertical-align:super; font-weight:400; color:var(--muted); }
    .price-main sub { font-size:.22em; font-weight:400; color:var(--muted); }
    .price-note { font-size:1rem; color:var(--muted); margin-bottom:48px; }
    .price-feats {
      display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
      gap:16px; margin:44px 0; text-align:left;
    }
    .pf { display:flex; align-items:flex-start; gap:13px; font-size:1rem; line-height:1.55; }
    .pf-check {
      width:22px; height:22px; background:rgba(0,150,122,.06);
      border-radius:50%; display:grid; place-items:center;
      flex-shrink:0; color:var(--fire); font-size:.7rem; margin-top:2px;
      border:1px solid rgba(0,150,122,.3);
    }

    /* ─── CTA ─── */
    .cta-inner { max-width:680px; margin:0 auto; text-align:center; position:relative; z-index:1; }
    .sec-cta { position:relative; overflow:hidden; }
    .sec-cta::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(ellipse 70% 60% at 50% 110%,rgba(0,150,122,.13) 0%,transparent 70%);
      pointer-events:none;
    }
    .cta-h2 {
      font-size:clamp(2.2rem,4.5vw,3.8rem);
      font-weight:700; letter-spacing:-.03em; line-height:1.1; margin-bottom:20px;
      color: var(--cream);
    }
    .cta-h2 em { font-family:var(--gs); font-style:italic; font-weight:300; color:var(--fire); }
    .cta-sub { font-size:clamp(1.05rem,1.8vw,1.2rem); color:var(--muted); margin-bottom:48px; line-height:1.8; }

    /* ─── LEGAL ─── */
    .sec-legal { background:var(--depth); position:relative; }
    .sec-legal::before {
      content:''; position:absolute; top:0; left:0; right:0; height:1px;
      background:linear-gradient(90deg,transparent,rgba(0,150,122,.3),transparent);
    }
    .legal-inner { max-width:820px; margin:0 auto; }
    .legal-block { margin-bottom:70px; }
    .legal-block:last-child { margin-bottom:0; }
    .legal-block h2 {
      font-family:var(--gf); font-size:clamp(1.7rem,2.5vw,2.3rem);
      font-weight:700; letter-spacing:-.02em; margin-bottom:30px;
      padding-bottom:18px; border-bottom:1px solid var(--bs);
    }
    .legal-block h3 {
      font-size:.95rem; font-weight:600; color:var(--fire);
      text-transform:uppercase; letter-spacing:.08em; margin:28px 0 12px;
    }
    .legal-block p, .legal-block address {
      font-size:1.15rem; color:var(--muted); line-height:1.9; font-style:normal;
    }
    .legal-block a { color:var(--fire); text-decoration:none; }
    .legal-block a:hover { text-decoration:underline; }
    .legal-block strong { color:var(--cream); font-weight:600; }

    /* ─── FOOTER ─── */
    footer {
      padding:38px clamp(20px,5vw,80px);
      border-top:1px solid var(--bs);
    }
    .footer-inner {
      max-width: 1440px; margin: 0 auto;
      display:flex; align-items:center; justify-content:space-between;
      flex-wrap:wrap; gap:20px;
    }
    .f-logo {
      display:flex; align-items:center; gap:10px;
      text-decoration:none; color:var(--cream);
      font-weight:700; font-size:.95rem;
    }
    .f-links { display:flex; gap:24px; list-style:none; }
    .f-links a { font-size:.85rem; color:var(--muted); text-decoration:none; transition:color .2s; }
    .f-links a:hover { color:var(--cream); }
    .f-copy { font-size:.82rem; color:var(--muted); }
    @media (max-width:640px) {
      .footer-inner { flex-direction:column; text-align:center; }
      .f-links { flex-wrap:wrap; justify-content:center; }
    }

    /* ─── FLOATING CHATBOT ─── */
    .chat-fab {
      position:fixed; bottom:28px; right:28px; z-index:200;
      width:124px; height:124px; border-radius:50%;
      background:var(--fire); color:#ffffff; border:none; cursor:pointer;
      display:grid; place-items:center; font-size:3rem;
      box-shadow:0 0 60px rgba(0,150,122,.55), 0 10px 40px rgba(0,0,0,.45);
      transition:transform .25s;
      animation: glow-fire 2.5s ease-in-out infinite;
    }
    .chat-fab:hover { transform:scale(1.07); }
    .chat-fab-badge {
      position:absolute; top:6px; right:6px;
      width:24px; height:24px; background:var(--amber);
      border-radius:50%; border:2px solid var(--void);
      display:grid; place-items:center;
      font-size:.67rem; font-weight:700; color:var(--void);
    }

    .chat-panel {
      position:fixed; bottom:172px; right:28px; z-index:200;
      width:340px; max-height:550px;
      background:var(--card2); border:1px solid var(--border);
      border-radius:20px; overflow:hidden;
      box-shadow:0 30px 80px rgba(0,0,0,.12), 0 0 0 1px rgba(0,150,122,.15);
      display:none; flex-direction:column;
      animation: slide-in-r .3s ease both;
    }
    .chat-panel.open { display:flex; }
    .cp-header {
      background:linear-gradient(135deg,rgba(0,150,122,.25),rgba(253,203,110,.1));
      padding:14px 18px; display:flex; align-items:center; justify-content:space-between;
      border-bottom:1px solid var(--bs); flex-shrink:0;
    }
    .cp-hd-info { display:flex; align-items:center; gap:10px; }
    .cp-av {
      width:36px; height:36px; border-radius:50%;
      background:linear-gradient(135deg,var(--fire),var(--amber));
      display:grid; place-items:center;
      font-weight:800; font-size:.85rem; color:var(--void);
      box-shadow:0 0 14px rgba(0,150,122,.5);
    }
    .cp-name { font-size:.9rem; font-weight:600; }
    .cp-status { font-size:.72rem; color:\#00967A; }
    .cp-close { background:none; border:none; color:var(--muted); cursor:pointer; font-size:1.2rem; padding:4px; transition:color .2s; }
    .cp-close:hover { color:var(--cream); }
    .cp-body { flex:1; overflow-y:auto; padding:16px 14px; display:flex; flex-direction:column; gap:10px; }
    .cp-msg { max-width:85%; padding:10px 13px; border-radius:12px; font-size:.88rem; line-height:1.55; }
    .cp-msg.bot { align-self:flex-start; background:var(--depth); border:1px solid var(--bs); color:var(--cream); }
    .cp-msg.user { align-self:flex-end; background:rgba(0,150,122,.2); border:1px solid rgba(0,150,122,.3); color:var(--cream); }
    .cp-typing { display:none; align-self:flex-start; padding:10px 14px; background:var(--depth); border:1px solid var(--bs); border-radius:12px; }
    .cp-typing.show { display:flex; gap:4px; align-items:center; }
    .cp-typing span { width:6px; height:6px; background:var(--muted); border-radius:50%; animation:blink 1.2s ease-in-out infinite; }
    .cp-typing span:nth-child(2) { animation-delay:.2s; }
    .cp-typing span:nth-child(3) { animation-delay:.4s; }
    .cp-input-row {
      padding:12px 14px; border-top:1px solid var(--bs);
      display:flex; gap:10px; flex-shrink:0;
    }
    .cp-input {
      flex:1; background:var(--void); border:1px solid var(--bs);
      border-radius:10px; padding:10px 14px; color:var(--cream);
      font-family:var(--gf); font-size:.88rem; outline:none;
      transition:border-color .2s;
    }
    .cp-input:focus { border-color:rgba(0,150,122,.4); }
    .cp-input::placeholder { color:var(--muted); }
    .cp-send {
      background:var(--fire); border:none; color:#ffffff;
      width:40px; height:40px; border-radius:10px;
      display:grid; place-items:center; cursor:pointer;
      font-size:1rem; transition:all .2s;
      flex-shrink:0;
    }
    .cp-send:hover { background:var(--fire2); transform:scale(1.05); }

    /* ─── COOKIE BANNER ─── */
    .cookie-banner {
      position: fixed; bottom: 0; left: 0; right: 0; z-index: 500;
      background: rgba(232,245,238,.96);
      border-top: 1px solid var(--border);
      padding: 14px clamp(16px,4vw,56px);
      display: flex; align-items: center; justify-content: space-between;
      gap: 20px; flex-wrap: wrap;
      box-shadow: 0 -8px 40px rgba(0,0,0,.10);
    }
    .cookie-banner.hidden { display: none; }
    .cookie-text { font-size:.88rem; color:var(--muted); max-width:700px; line-height:1.45; }
    .cookie-text a { color:var(--fire); text-decoration:none; }
    .cookie-text a:hover { text-decoration:underline; }
    .cookie-btns { display: flex; gap: 12px; flex-shrink: 0; flex-wrap: wrap; }
    .cookie-btn {
      display: inline-flex; align-items: center;
      padding: 10px 22px; border-radius: 9px;
      font-weight: 700; font-size: .9rem;
      border: none; cursor: pointer;
      white-space: nowrap;
      transition: all .2s;
    }
    .cookie-btn.accept { background: var(--fire); color: #ffffff; }
    .cookie-btn.accept:hover { transform: translateY(-2px); box-shadow: 0 0 28px rgba(0,150,122,.45); }
    .cookie-btn.decline { background: transparent; color: var(--muted); border: 1px solid var(--bs); }
    .cookie-btn.decline:hover { color: var(--cream); border-color: rgba(22,43,34,.2); }

    /* ─── DECORATIVE ─── */
    .deco-line {
      width:100%; height:1px;
      background:linear-gradient(90deg,transparent,rgba(0,150,122,.3),transparent);
    }

