*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --w:#ffffff;--off:#f4f6f9;--lg:#e4e8ef;--border:#dde2eb;--g:#4c5563;
  --navy:#0d1b2e;--navy2:#152238;--navy3:#1e2f47;--navy4:#263652;
  --sv:#5c6577;--sv2:#aebccc;--sv3:#cdd5e0;--sv-pale:#edf0f6;
  --green:#22c55e;--gp:#f0fdf4;--red:#ef4444;--amber:#f59e0b;
  --fd:'Cormorant Garamond',Georgia,serif;--fb:'Outfit',sans-serif;
  --r:12px;--container:1600px;
  --sh:0 1px 3px rgba(13,27,46,.05),0 4px 20px rgba(13,27,46,.05);
  --sh-md:0 8px 40px rgba(13,27,46,.10);
  --fs-xxs:.625rem;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:1.75rem;--fs-2xl:2.25rem;--fs-3xl:3rem;
  --fs-label:var(--fs-xs);--fs-small:var(--fs-sm);--fs-body:var(--fs-base);--fs-button:var(--fs-sm);--fs-nav:var(--fs-sm);--fs-card-title:var(--fs-md);--fs-section-label:var(--fs-xs);--fs-source:var(--fs-xxs);
}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--off);color:var(--navy);font-family:var(--fb);font-weight:400;line-height:1.7;font-size:var(--fs-body);overflow-x:hidden;cursor:default;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:500;height:60px;padding:0 3.5rem;display:flex;align-items:center;justify-content:space-between;background:rgba(244,246,249,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(221,226,235,.6);transition:all .4s;}
nav.scrolled{background:rgba(255,255,255,.97);box-shadow:0 2px 24px rgba(13,27,46,.07);}
.nav-logo{display:flex;align-items:center;}
.nav-logo img{height:34px;display:block;}
.nav-logo-fb{font-family:var(--fd);font-size:var(--fs-lg);color:var(--navy);display:none;letter-spacing:.04em;}
.nav-links{display:flex;gap:.2rem;}
.nav-links a{color:var(--g);text-decoration:none;font-size:var(--fs-base);letter-spacing:.08em;text-transform:uppercase;font-weight:400;transition:all .2s;padding:.4rem .85rem;border-radius:20px;cursor:pointer;}
.nav-links a:hover{color:var(--navy);background:var(--sv-pale);}
.nav-status{display:flex;align-items:center;gap:.5rem;padding:.3rem .8rem;background:var(--gp);border:1px solid rgba(34,197,94,.15);border-radius:20px;}
.ns-dot{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 5px rgba(34,197,94,.5);}
.ns-txt{font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:#16a34a;font-weight:400;}
.nav-right{display:flex;align-items:center;gap:.8rem;}
.live-time{font-size:var(--fs-xs);color:var(--sv);font-variant-numeric:tabular-nums;}
.nav-cta{background:var(--navy);color:var(--w);padding:.52rem 1.3rem;font-family:var(--fb);font-size:var(--fs-base);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none;font-weight:400;border-radius:20px;border:none;transition:all .3s;}
.nav-cta:hover{background:var(--navy3);transform:translateY(-1px);}

/* ── HERO ── */
#hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6.5rem 3.5rem 5rem;position:relative;overflow:hidden;background:var(--w);}

/* Gradient mesh layers */
.hero-mesh{position:absolute;inset:0;pointer-events:none;z-index:1;}
.mesh-orb{position:absolute;border-radius:50%;filter:blur(90px);}
.mo1{width:650px;height:650px;background:radial-gradient(ellipse,rgba(13,27,46,.07) 0%,transparent 70%);top:-150px;right:-100px;}
.mo2{width:400px;height:400px;background:radial-gradient(ellipse,rgba(136,150,170,.08) 0%,transparent 70%);bottom:-80px;left:-60px;}
.mo3{width:280px;height:280px;background:radial-gradient(ellipse,rgba(30,47,71,.05) 0%,transparent 70%);top:40%;right:28%;}

/* Grid overlay */
.hero-grid-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:52px 52px;opacity:.28;
  mask-image:radial-gradient(ellipse 70% 80% at 65% 45%,black 10%,transparent 70%);}

.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:5rem;align-items:center;max-width:1600px;width:100%;margin:0 auto;position:relative;z-index:2;}

.hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--border);border-radius:20px;padding:.32rem 1rem .32rem .5rem;margin-bottom:1.8rem;background:var(--sv-pale);}
.he-dot{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 6px rgba(34,197,94,.5);}
.he-txt{font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--sv);}

h1.ht{font-family:var(--fd);font-size:clamp(3rem,6.5vw,6.8rem);font-weight:300;line-height:.97;letter-spacing:-.02em;color:var(--navy);margin-bottom:1.8rem;transform-style:preserve-3d;}
h1.ht .line{display:block;overflow:hidden;}
h1.ht .word{display:inline-block;animation:wIn 1.1s cubic-bezier(.16,1,.3,1) both;}
h1.ht .line:nth-child(1) .word{animation-delay:.1s;}
h1.ht .line:nth-child(2) .word{animation-delay:.24s;}
h1.ht .line:nth-child(3) .word{animation-delay:.38s;}
@keyframes wIn{from{transform:translateY(110%) rotateX(-15deg);opacity:0;}to{transform:translateY(0) rotateX(0);opacity:1;}}
h1.ht em{font-style:italic;background:linear-gradient(135deg,var(--navy) 0%,var(--navy3) 45%,var(--sv) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.hero-sub{font-size:var(--fs-md);color:var(--g);max-width:460px;line-height:1.95;margin-bottom:2.5rem;will-change:transform;}
.hero-acts{display:flex;gap:.8rem;flex-wrap:wrap;}
.btn-navy{display:inline-flex;align-items:center;gap:.5rem;background:var(--navy);color:var(--w);padding:.88rem 2rem;border-radius:30px;font-family:var(--fb);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:all .3s;font-weight:400;cursor:pointer;border:none;}
.btn-navy:hover{background:var(--navy3);transform:translateY(-2px);box-shadow:0 10px 30px rgba(13,27,46,.18);}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--navy);padding:.88rem 2rem;border-radius:30px;border:1.5px solid var(--border);font-family:var(--fb);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:all .3s;font-weight:400;cursor:pointer;}
.btn-ghost:hover{border-color:var(--navy);background:var(--sv-pale);}
.hero-trust{display:flex;align-items:center;gap:.55rem;margin-top:1.8rem;}
.trust-dot{width:6px;height:6px;background:var(--sv2);border-radius:50%;}
.trust-txt{font-size:var(--fs-base);color:var(--sv);}
.trust-txt strong{color:var(--navy);font-weight:500;}

/* Hero right — cred + tagline */
.hero-right{display:flex;flex-direction:column;gap:.7rem;will-change:transform;}
.cred-card{background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:var(--r);padding:1.1rem 1.3rem;display:flex;align-items:center;gap:1rem;}
.cc-ic{width:34px;height:34px;background:rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cc-ic svg{width:15px;height:15px;stroke:var(--sv2);fill:none;stroke-width:1.5;}
.cc-b strong{font-size:var(--fs-base);color:var(--w);font-weight:400;display:block;}
.cc-b span{font-size:var(--fs-sm);color:rgba(255,255,255,.62);line-height:1.4;display:block;margin-top:.1rem;}
.tagline-row{background:var(--sv-pale);border:1px solid var(--sv3);border-radius:var(--r);padding:.9rem 1.2rem;display:flex;align-items:center;gap:.7rem;}
.tagline-row p{font-family:var(--fd);font-style:italic;font-size:var(--fs-base);color:var(--navy);}
.glance-card{background:var(--w);border:1px solid var(--border);border-radius:var(--r);padding:1.3rem 1.4rem;box-shadow:var(--sh);margin-top:.7rem;}
.glance-label{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--sv);font-weight:500;margin-bottom:.9rem;}
.glance-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;}
.glance-item{display:flex;align-items:center;gap:.55rem;}
.glance-item svg{width:15px;height:15px;stroke:var(--navy);fill:none;stroke-width:1.6;flex-shrink:0;}
.glance-item span{font-size:var(--fs-sm);color:var(--navy);font-weight:400;}

/* ── SECTION COMMONS ── */
section{padding:5.5rem 3.5rem;position:relative;}
.sec-ey{display:inline-flex;align-items:center;gap:.55rem;font-size:var(--fs-base);letter-spacing:.2em;text-transform:uppercase;color:var(--sv);margin-bottom:1rem;font-weight:400;}
.sec-ey::before{content:'';width:16px;height:1px;background:var(--sv);}
.sec-h{font-family:var(--fd);font-size:clamp(2rem,3.8vw,3.4rem);font-weight:300;line-height:1.08;color:var(--navy);}
.sec-h em{font-style:italic;background:linear-gradient(135deg,var(--navy3),var(--sv));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-p{font-size:var(--fs-base);color:var(--g);line-height:1.95;margin-top:.9rem;max-width:500px;}
.div-line{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:0 3.5rem;}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(8px);transition:opacity .4s ease-out,transform .4s ease-out;}
.reveal-l{opacity:0;transform:translateY(8px);transition:opacity .4s ease-out,transform .4s ease-out;}
.reveal-r{opacity:0;transform:translateY(8px);transition:opacity .4s ease-out,transform .4s ease-out;}
.reveal.on,.reveal-l.on,.reveal-r.on{opacity:1;transform:translate(0);}

/* ── SERVICES ── */
#services{background:var(--off);}
/* Section background gradient accent */
#services::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--sv3),transparent);}
.svc-top{display:block;margin-bottom:2rem;max-width:var(--container);margin-left:auto;margin-right:auto;}
.svc-hybrid{display:grid;grid-template-columns:1fr 1.15fr;gap:1.5rem;max-width:var(--container);margin:0 auto;align-items:start;}
.svc-big{background:var(--w);border:1px solid var(--border);border-radius:var(--r);padding:2.3rem;box-shadow:var(--sh);position:sticky;top:90px;transition:all .3s;}
.svc-big:hover{border-color:var(--sv3);box-shadow:var(--sh-md);}
.svc-tag{display:inline-block;background:var(--amber);color:var(--navy);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;padding:.3rem .8rem;border-radius:20px;font-weight:600;margin-bottom:1.2rem;}
.svc-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--navy),var(--navy3));border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;flex-shrink:0;}
.svc-icon-lg{width:52px;height:52px;border-radius:14px;}
.svc-icon svg{width:18px;height:18px;stroke:var(--sv2);fill:none;stroke-width:1.5;}
.svc-icon-lg svg{width:22px;height:22px;}
.svc-h{font-family:var(--fd);font-size:var(--fs-lg);font-weight:300;color:var(--navy);line-height:1.2;margin-bottom:.6rem;}
.svc-h-lg{font-size:var(--fs-2xl);margin-bottom:.8rem;}
.svc-card-p{font-size:var(--fs-base);color:var(--g);line-height:1.7;margin-bottom:1.1rem;}
.svc-big-list{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem .8rem;}
.svc-big-list li{font-size:var(--fs-sm);color:var(--navy);padding-left:1.1rem;position:relative;line-height:1.5;}
.svc-big-list li a{color:inherit;text-decoration:underline;text-decoration-color:var(--sv3);text-underline-offset:2px;}
.svc-big-list li a:hover{text-decoration-color:var(--navy);}
.svc-big-list li::before{content:'';position:absolute;left:0;top:.5rem;width:5px;height:5px;border-radius:50%;background:var(--green);}
.svc-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--fs-base);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);text-decoration:none;cursor:pointer;transition:gap .2s;font-weight:400;}
.svc-cta:hover{gap:.7rem;}
.svc-card{background:var(--w);border:1px solid var(--border);border-radius:var(--r);padding:1.8rem;box-shadow:var(--sh);transition:all .3s;}
.svc-card:hover{border-color:var(--sv3);box-shadow:var(--sh-md);transform:translateY(-3px);}
.svc-small-list{display:flex;flex-direction:column;gap:.9rem;}
.svc-small{background:var(--w);border:1px solid var(--border);border-radius:12px;padding:1.3rem 1.5rem;display:flex;gap:1.1rem;align-items:flex-start;transition:all .25s;}
.svc-small:hover{border-color:var(--sv3);transform:translateX(4px);box-shadow:var(--sh);}
.svc-small .svc-icon{margin-bottom:0;width:36px;height:36px;}
.svc-small .svc-icon svg{width:16px;height:16px;}
.svc-small-body{flex:1;}
.svc-small-body .svc-h{font-size:var(--fs-md);margin-bottom:.3rem;}
.svc-small-body .svc-card-p{margin-bottom:.5rem;font-size:var(--fs-sm);}

/* ── WHY US (navy section for visual rhythm/contrast against surrounding light sections) ── */
#about{background:linear-gradient(160deg,var(--navy),var(--navy2) 55%,var(--navy3));position:relative;overflow:hidden;}
#about::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);}
#about::after{content:'';position:absolute;top:-20%;right:-10%;width:60%;height:140%;background:radial-gradient(ellipse,rgba(174,188,204,.06),transparent 60%);pointer-events:none;}
#about .sec-ey{color:var(--sv2);}
#about .sec-h{color:var(--w);}
#about .sec-h em{color:var(--sv2);}
#about .sec-p{color:rgba(255,255,255,.66);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:var(--container);margin:0 auto;position:relative;z-index:1;}
#about .svc-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);box-shadow:none;}
#about .svc-card:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
#about .svc-icon{background:rgba(255,255,255,.08);}
#about .svc-icon svg{stroke:var(--w);}
#about .svc-h{color:var(--w);}
#about .svc-card-p{color:rgba(255,255,255,.66);}

/* ── CALCULATOR ── */
#calculator{background:var(--off);}
#calculator::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 10% 80%,rgba(136,150,170,.06) 0%,transparent 50%),radial-gradient(ellipse at 90% 20%,rgba(13,27,46,.04) 0%,transparent 50%);pointer-events:none;}
.calc-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-top:2.5rem;position:relative;z-index:1;max-width:var(--container);margin-left:auto;margin-right:auto;}
.calc-box{background:var(--w);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);}
.calc-head{background:linear-gradient(135deg,var(--navy),var(--navy2));padding:1.1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;}
.calc-head-title{font-size:var(--fs-base);font-weight:500;color:rgba(255,255,255,.6);letter-spacing:.08em;text-transform:uppercase;}
.calc-head-badge{font-size:var(--fs-xxs);background:rgba(255,255,255,.08);color:var(--sv2);padding:.12rem .55rem;border-radius:10px;letter-spacing:.06em;}
.calc-body{padding:1.5rem;}
.cfield{display:flex;flex-direction:column;gap:.32rem;}
.cfield label{font-size:var(--fs-base);text-transform:uppercase;letter-spacing:.12em;color:var(--sv);}
.pay-group-label{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--sv);font-weight:500;margin:1.2rem 0 .4rem;}
.pay-group-label:first-child{margin-top:0;}
.pay-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border);gap:1rem;}
.pay-row label{font-size:var(--fs-sm);color:var(--navy);flex:1;}
.pay-input-wrap{position:relative;width:150px;flex-shrink:0;}
.pay-r{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--sv);font-size:var(--fs-sm);pointer-events:none;line-height:1;}
.cinp.pay-inp{width:100%;padding-left:1.7rem;}
.pay-subtotal{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;margin:.3rem 0 .4rem;border-top:1.5px solid var(--navy);border-bottom:1px solid var(--border);font-weight:500;color:var(--navy);font-size:var(--fs-base);}
.pay-select-row{display:flex;gap:.9rem;padding:.7rem 0 .2rem;}
.pay-select-row .cfield{flex:1;}
.csel,.cinp{width:100%;background:var(--off);border:1.5px solid var(--border);border-radius:8px;color:var(--navy);padding:.55rem .8rem;font-family:var(--fb);font-size:var(--fs-sm);outline:none;appearance:none;transition:border-color .2s;cursor:text;}
.csel:focus,.cinp:focus{border-color:var(--sv3);}
.csel option{background:var(--w);}
.calc-results{background:var(--off);border-radius:8px;overflow:hidden;border:1px solid var(--border);margin-top:.2rem;}
.cr-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--border);}
.cr-row:last-child{border-bottom:none;}
.cr-label{font-size:var(--fs-sm);color:var(--sv);}
.cr-val{font-size:var(--fs-base);color:var(--navy);}
.calc-total-bar{background:linear-gradient(135deg,var(--navy),var(--navy2));padding:1.2rem 1.4rem;display:flex;justify-content:space-between;align-items:center;}
.ct-label{font-size:var(--fs-base);text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.62);}
.ct-val{font-family:var(--fd);font-size:var(--fs-2xl);font-weight:300;color:var(--w);}
.annual-summary{background:var(--off);border-top:1px solid var(--border);padding:1.1rem 1.4rem .3rem;}
.annual-summary-label{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--sv);font-weight:500;margin-bottom:.5rem;}
.annual-summary .cr-row{padding:.5rem 0;}
.annual-summary .cr-label,.annual-summary .cr-val{font-size:var(--fs-sm);}
.annual-summary .cr-row-final{border-top:1px solid var(--border);border-bottom:none;margin-top:.1rem;padding-top:.7rem;}
.annual-summary .cr-row-final .cr-label{font-weight:500;color:var(--navy);}
.annual-summary .cr-row-final .cr-val{font-weight:600;}
.calc-link{display:block;text-align:center;padding:.85rem;font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--sv);text-decoration:none;transition:all .2s;border-top:1px solid var(--border);}
.calc-link:hover{color:var(--navy);background:var(--sv-pale);}
.calc-note{font-size:var(--fs-sm);color:var(--sv);padding:.7rem 1.4rem;text-align:center;line-height:1.6;}
.calc-context{display:flex;flex-direction:column;gap:.7rem;}
.ctx-card{background:var(--w);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem 1.3rem;box-shadow:var(--sh);transition:all .3s;}
.ctx-source{font-size:var(--fs-xs);color:var(--sv);margin-top:.55rem;line-height:1.4;border-top:1px solid var(--border);padding-top:.45rem;}
.ctx-card:hover{transform:translateY(-2px);box-shadow:var(--sh-md);border-color:var(--sv3);}
.ctx-label{font-size:var(--fs-base);letter-spacing:.14em;text-transform:uppercase;color:var(--sv);margin-bottom:.5rem;}
.ctx-val{font-family:var(--fd);font-size:var(--fs-xl);font-weight:300;color:var(--navy);line-height:1;}
.ctx-sub{font-size:var(--fs-base);color:var(--g);margin-top:.25rem;}
.ctx-delta{display:inline-flex;align-items:center;gap:.2rem;font-size:var(--fs-sm);font-weight:500;margin-top:.4rem;padding:.1rem .45rem;border-radius:10px;}
.ctx-delta.up{color:#16a34a;background:var(--gp);}
.ctx-delta.nu{color:var(--sv);background:var(--sv-pale);}
.ctx-rate-bar{height:5px;background:var(--border);border-radius:3px;margin-top:.6rem;overflow:hidden;}
.ctx-rate-fill{height:100%;background:linear-gradient(90deg,var(--navy),var(--sv));border-radius:3px;}

/* ── AI CHAT ── */
#aichat{background:var(--w);}
#aichat::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 15%,rgba(13,27,46,.03) 0%,transparent 55%);pointer-events:none;}
.chat-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;margin-top:2.5rem;position:relative;z-index:1;}
.chat-box{background:var(--off);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:all .3s;}
.chat-box:hover{border-color:var(--sv3);box-shadow:var(--sh-md);}
.chat-head{padding:.9rem 1.3rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.7rem;background:var(--w);}
.chat-live-dot{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 7px rgba(34,197,94,.5);}
.chat-head-title{font-size:var(--fs-sm);letter-spacing:.05em;color:var(--g);flex:1;}
.chat-head-badge{font-size:var(--fs-xxs);background:var(--sv-pale);color:var(--sv);padding:.1rem .5rem;border-radius:10px;}
.chat-msgs{padding:1rem;min-height:240px;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;}
.chat-msgs::-webkit-scrollbar{width:3px;}
.chat-msgs::-webkit-scrollbar-thumb{background:var(--border);}
.msg{display:flex;gap:.5rem;align-items:flex-start;}
.msg.user{flex-direction:row-reverse;}
.ma{width:24px;height:24px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xxs);font-weight:500;}
.ma.bot{background:linear-gradient(135deg,var(--navy),var(--navy3));color:var(--sv2);}
.ma.usr{background:var(--sv3);color:var(--navy);}
.mb{max-width:82%;padding:.55rem .85rem;border-radius:10px;font-size:var(--fs-sm);line-height:1.6;}
.msg.bot .mb{background:var(--w);color:var(--g);border:1px solid var(--border);border-radius:3px 10px 10px 10px;}
.msg.user .mb{background:linear-gradient(135deg,var(--navy),var(--navy3));color:var(--w);border-radius:10px 3px 10px 10px;}
.typing span{width:5px;height:5px;background:var(--sv3);border-radius:50%;animation:bl 1.2s ease-in-out infinite;display:inline-block;margin-right:2px;}
.typing span:nth-child(2){animation-delay:.2s;}.typing span:nth-child(3){animation-delay:.4s;}
@keyframes bl{0%,80%,100%{opacity:.2;}40%{opacity:.9;}}
.chat-inp-row{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--w);}
.chat-inp{flex:1;background:var(--off);border:1.5px solid var(--border);border-radius:8px;color:var(--navy);padding:.5rem .8rem;font-family:var(--fb);font-size:var(--fs-sm);outline:none;transition:border-color .2s;cursor:text;}
.chat-inp::placeholder{color:var(--sv);}
.chat-inp:focus{border-color:var(--sv3);}
.chat-send{background:linear-gradient(135deg,var(--navy),var(--navy3));border:none;border-radius:8px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s;flex-shrink:0;}
.chat-send:hover{opacity:.8;}
.chat-send svg{width:12px;height:12px;stroke:white;fill:none;stroke-width:2;}
.chat-prompts{display:flex;flex-direction:column;gap:.45rem;}
.cp-lbl{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--sv);margin-bottom:.4rem;}
.cp{background:var(--off);border:1px solid var(--border);border-radius:9px;padding:.7rem 1rem;cursor:pointer;transition:all .22s;display:flex;align-items:center;justify-content:space-between;gap:.4rem;}
.cp:hover{background:var(--sv-pale);border-color:var(--sv3);transform:translateX(3px);}
.cp span{font-size:var(--fs-sm);color:var(--g);}
.cp:hover span{color:var(--navy);}
.cp svg{width:10px;height:10px;stroke:var(--sv2);fill:none;stroke-width:2;flex-shrink:0;transition:transform .2s;}
.cp:hover svg{transform:translateX(2px);stroke:var(--navy);}

/* ── CONTACT ── */
#contact{background:var(--w);}
#contact::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--sv3),transparent);}
.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;position:relative;z-index:1;max-width:var(--container);margin-left:auto;margin-right:auto;}
.ci-stack{display:flex;flex-direction:column;gap:.6rem;}
.ci-card{background:var(--w);border:1px solid var(--border);border-radius:var(--r);padding:.9rem 1.1rem;display:flex;gap:.8rem;align-items:center;box-shadow:var(--sh);transition:all .28s;cursor:default;}
.ci-card:hover{transform:translateX(4px);border-color:var(--sv3);box-shadow:var(--sh-md);}
.ci-icon{width:34px;height:34px;background:linear-gradient(135deg,var(--navy),var(--navy3));border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ci-icon svg{width:13px;height:13px;stroke:var(--sv2);fill:none;stroke-width:1.5;}
.ci-lbl{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--sv);}
.ci-val{font-size:var(--fs-base);color:var(--navy);margin-top:.06rem;}
.ctx-source{font-size:var(--fs-xs);color:var(--sv);margin-top:.5rem;line-height:1.4;}
.wa-card{background:var(--w);border:1px solid var(--border);padding:.9rem 1.1rem;border-radius:var(--r);display:flex;align-items:center;gap:.8rem;cursor:pointer;text-decoration:none;transition:all .28s;margin-top:.3rem;box-shadow:var(--sh);}
.wa-card:hover{transform:translateX(4px);border-color:var(--sv3);box-shadow:var(--sh-md);}
.wa-card svg{width:16px;height:16px;fill:var(--navy);flex-shrink:0;}
.wa-card strong{font-size:var(--fs-sm);font-weight:500;color:var(--navy);display:block;}
.wa-card span{font-size:var(--fs-sm);color:var(--g);}
.soc-row{display:flex;gap:.4rem;margin-top:.5rem;}
.soc-b{border:1px solid var(--border);border-radius:7px;padding:.38rem .9rem;font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--g);text-decoration:none;transition:all .2s;font-family:var(--fb);cursor:pointer;}
.soc-b:hover{border-color:var(--navy);color:var(--navy);background:var(--sv-pale);}
.cform{background:var(--w);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;}
.cform-hdr{padding:.9rem 1.4rem;border-bottom:1px solid var(--border);font-size:var(--fs-sm);font-weight:500;color:var(--navy);}
.cform-body{padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.75rem;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
.ff{display:flex;flex-direction:column;gap:.3rem;}
.ff label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--sv);}
.ff input,.ff select,.ff textarea{background:var(--off);border:1.5px solid var(--border);border-radius:8px;color:var(--navy);padding:.55rem .8rem;font-family:var(--fb);font-size:var(--fs-base);outline:none;transition:border-color .2s;resize:none;cursor:text;}
.ff input:focus,.ff textarea:focus,.ff select:focus{border-color:var(--sv3);}
.ff textarea{min-height:72px;}
.ff select{appearance:none;cursor:pointer;}
.fsub{width:100%;margin-top:.3rem;background:linear-gradient(135deg,var(--navy),var(--navy2));color:var(--w);border:none;border-radius:8px;padding:.85rem;font-family:var(--fb);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-weight:400;transition:all .3s;}
.fsub:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 6px 20px rgba(13,27,46,.15);}

/* ── FOOTER ── */
footer{background:var(--navy);padding:2rem 3.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;z-index:1;}
.fl img{height:22px;opacity:.85;}
.fl-fb{font-family:var(--fd);font-size:var(--fs-base);color:rgba(255,255,255,.64);display:none;}
.fc{font-size:var(--fs-base);color:rgba(255,255,255,.64);line-height:1.9;text-align:center;}
.fr{font-size:var(--fs-base);color:rgba(255,255,255,.64);text-align:right;line-height:1.9;}
.fr a{color:rgba(255,255,255,.64);text-decoration:none;transition:color .2s;}
.fr a:hover{color:var(--sv2);}

/* ── PARALLAX DEPTHS ── */
.para-slow{will-change:transform;}
.para-mid{will-change:transform;}

/* ── 3D TILT ── */
.tilt{transform-style:preserve-3d;transition:transform .12s ease-out,box-shadow .3s;}

/* — HAMBURGER MENU — */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;border:none;background:transparent;z-index:10;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:all .3s;}
.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.mobile-menu{display:none;position:fixed;top:56px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1.2rem 1.3rem;z-index:490;flex-direction:column;gap:.3rem;box-shadow:0 8px 30px rgba(13,27,46,.08);-webkit-overflow-scrolling:touch;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--navy);text-decoration:none;font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;font-weight:400;padding:.7rem .9rem;border-radius:8px;transition:background .2s;cursor:pointer;}
.mobile-menu a:hover{background:var(--sv-pale);}
.mobile-menu-cta{margin-top:.5rem;background:var(--navy);color:var(--w)!important;text-align:center;border-radius:20px!important;}
.mobile-menu-cta:hover{background:var(--navy3)!important;}
@media(max-width:900px){
  .nav-hamburger{display:flex;}
}

/* ═══════════════════════════════════════════════
   TABLET  (max-width: 1100px)
═══════════════════════════════════════════════ */
@media(max-width:1100px){
  .nav-links{gap:.05rem;}
  .nav-links a{font-size:var(--fs-sm);padding:.35rem .65rem;}
  .hero-inner{gap:2.5rem;}
  h1.ht{font-size:clamp(2.8rem,5.5vw,5.5rem);}
  .svc-hybrid{grid-template-columns:1fr;}
  .svc-big{position:static;}
  .svc-big-list{grid-template-columns:1fr 1fr;}
  .calc-layout{gap:2rem;}
}

/* ═══════════════════════════════════════════════
   SMALL TABLET  (max-width: 900px)
═══════════════════════════════════════════════ */
@media(max-width:900px){

  /* — NAV — */
  nav{padding:0 1.2rem;top:24px;height:56px;}
  .nav-links{display:none;}
  .nav-cta{font-size:var(--fs-sm);padding:.5rem 1.1rem;letter-spacing:.04em;}

  /* Hide cursor ring on touch devices */

  /* — SECTIONS — */
  section{padding:3.5rem 1.3rem;}
  #hero{padding:5rem 1.3rem 3.5rem;min-height:auto;}
  .div-line{margin:0 1.3rem;}

  /* — HERO — */
  .hero-inner{grid-template-columns:1fr;gap:2rem;}
  h1.ht{font-size:clamp(2.6rem,9vw,4.5rem);}
  .hero-sub{font-size:var(--fs-sm);max-width:100%;}
  .hero-right{width:100%;}
  .cred-card{padding:.9rem 1rem;}
  .cc-b strong{font-size:var(--fs-sm);}
  .cc-b span{font-size:var(--fs-sm);}

  /* — SERVICES — */
  .svc-top{margin-bottom:1.4rem;}
  .svc-big-list{grid-template-columns:1fr;}

  /* — ABOUT — */
  .why-grid{grid-template-columns:1fr 1fr;gap:1rem;}

  /* — PROCESS — */

  /* — CALCULATOR — */
  .calc-layout{grid-template-columns:1fr;gap:1.5rem;}
  .pay-select-row{flex-direction:column;gap:.5rem;}
  .pay-input-wrap{width:120px;}
  .calc-context{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;}

  /* — CONTACT — */
  .contact-layout{grid-template-columns:1fr;gap:1.5rem;}

  /* — FOOTER — */
  footer{padding:1.5rem 1.3rem;flex-direction:column;align-items:flex-start;gap:1rem;}
  .fc{text-align:left;}
}

/* ═══════════════════════════════════════════════
   MOBILE  (max-width: 600px)
═══════════════════════════════════════════════ */
@media(max-width:600px){

  /* — TICKER smaller — */
  .ticker{height:22px;}
  .ti{font-size:var(--fs-xxs);padding:0 1.2rem;}

  /* — NAV — */
  nav{height:52px;padding:0 1rem;}
  .nav-cta{font-size:var(--fs-xs);padding:.45rem .95rem;letter-spacing:.03em;}

  /* — SECTIONS — */
  section{padding:3rem 1rem;}
  #hero{padding:4.5rem 1rem 3rem;}
  .div-line{margin:0 1rem;}

  /* — HERO — */
  h1.ht{font-size:clamp(2.2rem,10vw,3.5rem);line-height:1.02;}
  .hero-sub{font-size:var(--fs-base);}
  .hero-eyebrow{font-size:var(--fs-xs);}
  .hero-acts{flex-direction:column;gap:.6rem;}
  .btn-navy,.btn-ghost{width:100%;justify-content:center;text-align:center;}

  /* — SERVICES — */
  .svc-big{padding:1.6rem;}
  .svc-small{padding:1.1rem 1.2rem;flex-direction:column;}

  /* — ABOUT — */
  .why-grid{grid-template-columns:1fr;}
  .ams-n{font-size:var(--fs-lg);}
  .sec-h{font-size:clamp(1.8rem,7vw,2.8rem);}

  /* — PROCESS — */
  .pcc-val{font-size:var(--fs-2xl);}

  /* — CALCULATOR — */
  .calc-context{grid-template-columns:1fr;} /* single col on phone */
  .calc-total-bar{flex-direction:column;gap:.4rem;align-items:flex-start;}
  .ct-val{font-size:var(--fs-xl);}
  .calc-head{flex-direction:column;gap:.4rem;align-items:flex-start;}

  /* — CONTACT — */
  .frow{grid-template-columns:1fr;}
  .ci-card{padding:.8rem .9rem;}
  .cform-body{padding:1rem;}

  /* — FOOTER — */
  footer{padding:1.2rem 1rem;}
  .fc,.fr{font-size:var(--fs-xs);}
}

/* ═══════════════════════════════════════════════
   VERY SMALL MOBILE  (max-width: 380px)
═══════════════════════════════════════════════ */
@media(max-width:380px){
  h1.ht{font-size:clamp(2rem,9vw,3rem);}
  .nav-cta{font-size:var(--fs-xs);padding:.42rem .85rem;}
}

/* ── BREADCRUMB (subpages) ── */
.breadcrumb{font-size:var(--fs-sm);color:var(--sv);padding:1.2rem 3.5rem 0;max-width:var(--container);margin:0 auto;}
.breadcrumb a{color:var(--sv);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.breadcrumb a:hover{border-color:var(--sv);}
.breadcrumb span{color:var(--g);}

/* ── PROSE (article-style content pages) ── */
.prose{max-width:760px;margin:0 auto;}
.prose h2{font-family:var(--fd);font-weight:300;font-size:var(--fs-2xl);color:var(--navy);line-height:1.2;margin:2.4rem 0 1rem;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-family:var(--fb);font-weight:500;font-size:var(--fs-lg);color:var(--navy);line-height:1.3;margin:1.8rem 0 .7rem;}
.prose p{font-size:var(--fs-base);color:var(--g);line-height:1.9;margin-bottom:1.1rem;}
.prose ul,.prose ol{margin:0 0 1.2rem 1.3rem;}
.prose li{font-size:var(--fs-base);color:var(--g);line-height:1.85;margin-bottom:.5rem;}
.prose li strong{color:var(--navy);font-weight:500;}
.prose a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--sv3);text-underline-offset:3px;}
.prose a.btn-navy,.prose a.btn-ghost{color:var(--w);text-decoration:none;}
.prose a.btn-ghost{color:var(--navy);}
.prose a:hover{text-decoration-color:var(--navy);}
.verify-note{display:inline-block;background:var(--sv-pale);color:var(--navy);font-size:var(--fs-xs);letter-spacing:.04em;padding:.1rem .5rem;border-radius:5px;font-weight:500;margin-left:.3rem;white-space:nowrap;}
.page-hero{padding:9rem 3.5rem 3rem;max-width:var(--container);margin:0 auto;}
.page-hero h1{font-family:var(--fd);font-weight:300;font-size:clamp(2.2rem,4.5vw,3.4rem);color:var(--navy);line-height:1.1;margin-bottom:1.1rem;}
.page-hero .sec-p{max-width:700px;}
.related-links{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem;}
.related-links a{background:var(--w);border:1px solid var(--border);border-radius:20px;padding:.5rem 1.1rem;font-size:var(--fs-sm);color:var(--navy);text-decoration:none;transition:all .2s;}
.related-links a:hover{border-color:var(--sv3);transform:translateY(-1px);}
@media(max-width:600px){
  .page-hero{padding:7rem 1.3rem 2rem;}
  .breadcrumb{padding:1rem 1.3rem 0;}
}
