
:root{
  --blue:#4280bd;
  --blue-dark:#225f98;
  --blue-deep:#163f66;
  --gold:#f0ab44;
  --gold-soft:#fff3df;
  --ink:#2f3337;
  --muted:#66717b;
  --line:#dce4eb;
  --paper:#ffffff;
  --cloud:#f5f8fb;
  --success:#1b7f5c;
  --shadow:0 18px 50px rgba(22,63,102,.12);
  --shadow-sm:0 10px 28px rgba(22,63,102,.09);
  --radius:22px;
  --radius-sm:14px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--blue-dark);text-decoration:none}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.topbar{background:var(--blue-deep);color:#fff;font-size:.84rem}
.topbar .container{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:6px 0}
.topbar a{color:#fff;font-weight:800}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(220,228,235,.8)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px}
.logo{width:186px;max-width:24vw}
.nav{display:flex;align-items:center;gap:18px;font-weight:800;font-size:.92rem}
.nav a{color:var(--ink)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--blue-dark)}
.nav .button{color:#fff}
.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem;padding:8px;cursor:pointer}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);color:#20262b;font-weight:900;border:0;border-radius:999px;padding:14px 24px;box-shadow:0 8px 20px rgba(240,171,68,.25);cursor:pointer;transition:.2s transform,.2s box-shadow}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(240,171,68,.32)}
.button.blue{background:var(--blue-dark);color:#fff;box-shadow:0 8px 20px rgba(34,95,152,.24)}
.button.outline{background:#fff;color:var(--blue-dark);border:2px solid var(--blue-dark);box-shadow:none}
.button.small{padding:9px 15px;font-size:.88rem}
.hero{position:relative;overflow:hidden;background:linear-gradient(rgba(19,40,62,.54),rgba(19,40,62,.54)),url('hero-home.jpg') center/cover no-repeat;padding:74px 0 62px}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(0);opacity:.18}
.hero:before{width:460px;height:460px;background:radial-gradient(circle,var(--gold-soft),transparent 68%);right:-100px;top:-170px}
.hero:after{width:520px;height:520px;background:radial-gradient(circle,#d7ebfb,transparent 70%);left:-210px;bottom:-280px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue-dark);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:16px}
.eyebrow:before{content:"";width:26px;height:3px;background:var(--gold);border-radius:99px}
h1,h2,h3{line-height:1.13;margin:0 0 16px;color:var(--blue-deep)}
h1{font-size:clamp(2.6rem,5.5vw,5.15rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,3.6vw,3.35rem);letter-spacing:-.03em}
h3{font-size:1.25rem}
.lead{font-size:1.18rem;color:var(--muted);max-width:720px}
.hero .lead{font-size:1.25rem;max-width:690px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-points{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:28px;color:var(--ink);font-weight:800;font-size:.96rem}
.hero-points span:before{content:"✓";color:var(--success);margin-right:8px;font-weight:1000}
.offer-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);position:relative}
.offer-card:before{content:"";position:absolute;inset:-1px;border-radius:28px;padding:1px;background:linear-gradient(135deg,var(--blue),transparent 40%,var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.offer-card h2{font-size:1.7rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:850;color:var(--blue-deep);font-size:.9rem}
input,select,textarea{width:100%;border:1px solid #cdd8e1;border-radius:12px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(66,128,189,.13)}
textarea{min-height:120px;resize:vertical}
.form-note{font-size:.76rem;color:var(--muted);margin:10px 0 0}
.form-note a{text-decoration:underline}
.section{padding:86px 0}
.section.alt{background:var(--cloud)}
.section.gold-wash{background:linear-gradient(135deg,#fffaf1,#fff 55%,#f2f8fd)}
.section-head{max-width:760px;margin:0 auto 42px;text-align:center}
.section-head.left{margin:0 0 38px;text-align:left}
.kicker{color:var(--gold);font-weight:950;text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;margin-bottom:10px}
.trust-strip{background:var(--blue-deep);color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:26px 22px;text-align:center;border-right:1px solid rgba(255,255,255,.18)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;font-size:1.08rem}
.trust-item span{color:#cfe2f2;font-size:.87rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}
.card .icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#eaf4fc;color:var(--blue-dark);font-size:1.45rem;margin-bottom:20px}
.card p{color:var(--muted);margin-bottom:0}
.card a.more{display:inline-flex;margin-top:16px;font-weight:900}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:step}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 28px;box-shadow:var(--shadow-sm)}
.step:before{counter-increment:step;content:"0" counter(step);display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--gold);color:var(--blue-deep);font-weight:950;margin-bottom:22px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.visual-house{min-height:430px;border-radius:30px;position:relative;overflow:hidden;background:linear-gradient(160deg,#d9ecfa,#fff 52%,#ffecd0);box-shadow:var(--shadow)}
.visual-house .sun{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--gold);right:36px;top:34px;opacity:.92}
.visual-house .building{position:absolute;left:10%;right:10%;bottom:0;height:68%;background:linear-gradient(90deg,var(--blue-dark),var(--blue));clip-path:polygon(0 38%,18% 38%,18% 12%,34% 12%,34% 35%,50% 35%,50% 0,68% 0,68% 34%,84% 34%,84% 18%,100% 18%,100% 100%,0 100%);opacity:.96}
.visual-house .home{position:absolute;left:18%;bottom:0;width:45%;height:44%;background:#fff;clip-path:polygon(50% 0,100% 43%,88% 43%,88% 100%,12% 100%,12% 43%,0 43%);filter:drop-shadow(0 10px 12px rgba(0,0,0,.15))}
.visual-house .door{position:absolute;left:38%;bottom:0;width:10%;height:18%;background:var(--blue-dark);z-index:4}
.checklist{display:grid;gap:13px;margin:24px 0 0;padding:0;list-style:none}
.checklist li{display:flex;gap:12px;align-items:flex-start}
.checklist li:before{content:"✓";display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#e7f6ef;color:var(--success);font-weight:1000}
.situations{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.situation{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;font-weight:850;color:var(--blue-deep);transition:.2s}
.situation:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#b9cfe0}
.comparison{overflow:auto;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}
table{width:100%;border-collapse:collapse;min-width:720px}
th,td{padding:18px 20px;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--blue-deep);color:#fff;font-size:.92rem}
th:nth-child(2){background:var(--blue-dark)}
td:nth-child(2){background:#f1f8fd;font-weight:800;color:var(--blue-deep)}
tr:last-child td{border-bottom:0}
.callout{background:linear-gradient(135deg,var(--blue-deep),var(--blue-dark));color:#fff;border-radius:30px;padding:48px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;box-shadow:var(--shadow)}
.callout h2,.callout h3{color:#fff}
.callout p{color:#dbeaf6;margin:0}
.faq{max-width:900px;margin:auto;display:grid;gap:14px}
.faq-item{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.faq-question{width:100%;text-align:left;border:0;background:#fff;padding:20px 22px;font-weight:900;color:var(--blue-deep);display:flex;justify-content:space-between;gap:20px;cursor:pointer}
.faq-answer{display:none;padding:0 22px 22px;color:var(--muted)}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.page-hero{padding:66px 0;background:linear-gradient(120deg,#edf6fc,#fff 60%,#fff3df);border-bottom:1px solid var(--line)}
.page-hero .container{max-width:930px;text-align:center}
.page-hero .lead{margin-left:auto;margin-right:auto}
.breadcrumbs{font-size:.84rem;color:var(--muted);margin-bottom:15px}
.prose{max-width:850px;margin:auto}
.prose h2{margin-top:42px;font-size:2rem}
.prose h3{margin-top:30px}
.prose p,.prose li{color:#4f5b64}
.prose blockquote{margin:28px 0;padding:22px 24px;border-left:5px solid var(--gold);background:var(--gold-soft);border-radius:0 14px 14px 0}
.notice{border:1px solid #f1cf94;background:#fff8e9;border-radius:16px;padding:20px;color:#5e4a28}
.review-placeholder{border:2px dashed #b9c9d6;background:#f8fbfd;border-radius:18px;padding:24px;text-align:center;color:var(--muted)}
.footer{background:#102f4c;color:#dce8f1;padding:64px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px}
.footer .logo{background:#fff;border-radius:14px;padding:10px;width:280px;max-width:100%}
.footer h3{color:#fff;font-size:1rem;margin-bottom:14px}
.footer a{color:#dce8f1;display:block;margin:8px 0}
.footer p{color:#b9cfdf}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:30px;margin-top:38px;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;color:#a9c1d2}
.disclosure{font-size:.74rem;color:#a9c1d2;margin-top:20px;max-width:540px}
.mobile-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:99;background:var(--gold);color:#172b3d;font-weight:950;text-align:center;border-radius:999px;padding:14px;box-shadow:0 14px 36px rgba(0,0,0,.25)}
.multi-step .step-panel{display:none}
.multi-step .step-panel.active{display:block}
.progress{height:8px;background:#edf1f5;border-radius:999px;overflow:hidden;margin:0 0 22px}
.progress span{display:block;height:100%;width:33.333%;background:linear-gradient(90deg,var(--blue),var(--gold));transition:.25s}
.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.hp{position:absolute;left:-9999px}
@media(max-width:980px){
 .nav{position:fixed;left:20px;right:20px;top:92px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px;display:none;flex-direction:column;align-items:stretch}
 .nav.open{display:flex}.menu-toggle{display:block}.logo{max-width:62vw}
 .hero-grid,.split{grid-template-columns:1fr}.offer-card{max-width:720px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
 .cards,.steps{grid-template-columns:1fr 1fr}.situations{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.callout{grid-template-columns:1fr}
}
@media(max-width:680px){
 .container{width:min(100% - 28px,var(--max))}.topbar .container{justify-content:center;text-align:center}.topbar span:last-child{display:none}
 .nav-wrap{min-height:72px}.hero{padding:48px 0}.hero h1{font-size:2.7rem}.hero .lead{font-size:1.08rem}
 .form-grid,.cards,.steps,.situations,.footer-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18)}.trust-item:last-child{border-bottom:0}
 .section{padding:64px 0}.callout{padding:32px 24px}.footer-bottom{flex-direction:column}.mobile-cta{display:block}.footer{padding-bottom:100px}
 .visual-house{min-height:320px}.offer-card{padding:22px}.hero-actions .button{width:100%}
}

/* =========================================================
   PREMIUM VISUAL PASS
   ========================================================= */
:root{
  --blue:#3e82c4;
  --blue-bright:#58a1e5;
  --blue-dark:#1f609d;
  --blue-deep:#103a61;
  --blue-ink:#0b2c4a;
  --gold:#f2ac3f;
  --gold-light:#ffd88f;
  --gold-deep:#d98c22;
  --ink:#26313b;
  --muted:#63717e;
  --line:#d9e4ed;
  --cloud:#f3f8fc;
  --shadow:0 24px 70px rgba(16,58,97,.14);
  --shadow-sm:0 14px 40px rgba(16,58,97,.10);
  --shadow-hover:0 28px 75px rgba(16,58,97,.20);
  --ease-premium:cubic-bezier(.22,1,.36,1);
}

html{scroll-padding-top:112px}
body{
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 4%,rgba(88,161,229,.08),transparent 24rem),
    radial-gradient(circle at 96% 10%,rgba(242,172,63,.08),transparent 26rem),
    #fff;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

::selection{background:rgba(242,172,63,.35);color:var(--blue-ink)}
.skip-link{
  position:fixed;left:18px;top:14px;z-index:1000;
  transform:translateY(-160%);
  padding:11px 16px;border-radius:999px;
  background:#fff;color:var(--blue-deep);font-weight:900;
  box-shadow:var(--shadow-sm);transition:.25s var(--ease-premium);
}
.skip-link:focus{transform:translateY(0)}

.topbar{
  position:relative;
  overflow:hidden;
  background:linear-gradient(100deg,#0d3152,#174f7e 50%,#103a61);
}
.topbar:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.10) 45%,transparent 75%);
  transform:translateX(-110%);
  animation:topbarSweep 8s ease-in-out infinite;
  pointer-events:none;
}
.topbar .container{position:relative;z-index:1}
.topbar a{transition:color .2s ease}
.topbar a:hover{color:var(--gold-light)}

.site-header{
  transition:background .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.site-header.scrolled{
  background:rgba(255,255,255,.88);
  border-color:rgba(184,205,222,.72);
  box-shadow:0 10px 35px rgba(16,58,97,.10);
}
.nav-wrap{transition:min-height .3s var(--ease-premium)}
.site-header.scrolled .nav-wrap{min-height:74px}
.logo{
  transform-origin:left center;
  transition:transform .35s var(--ease-premium),filter .35s ease;
  filter:drop-shadow(0 4px 8px rgba(16,58,97,.06));
}
a:hover .logo{transform:scale(1.018);filter:drop-shadow(0 8px 14px rgba(16,58,97,.10))}
.nav a:not(.button){
  position:relative;
  padding:10px 0;
  transition:color .25s ease;
}
.nav a:not(.button):after{
  content:"";position:absolute;left:50%;right:50%;bottom:3px;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--gold));
  border-radius:999px;
  transition:left .3s var(--ease-premium),right .3s var(--ease-premium);
}
.nav a:not(.button):hover:after,
.nav a:not(.button)[aria-current="page"]:after{left:0;right:0}

.button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 48%,var(--gold-deep));
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 12px 30px rgba(217,140,34,.28),inset 0 1px 0 rgba(255,255,255,.65);
  transition:transform .28s var(--ease-premium),box-shadow .28s ease,filter .28s ease;
}
.button:before{
  content:"";position:absolute;z-index:-1;inset:-2px;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.72) 45%,transparent 70%);
  transform:translateX(-140%);
  transition:transform .75s var(--ease-premium);
}
.button:hover{
  transform:translateY(-3px) scale(1.012);
  box-shadow:0 18px 38px rgba(217,140,34,.34),inset 0 1px 0 rgba(255,255,255,.75);
  filter:saturate(1.04);
}
.button:hover:before{transform:translateX(140%)}
.button:active{transform:translateY(-1px) scale(.995)}
.button.blue{
  background:linear-gradient(135deg,var(--blue-bright),var(--blue-dark) 60%,var(--blue-deep));
  border-color:rgba(255,255,255,.18);
  box-shadow:0 12px 30px rgba(31,96,157,.28),inset 0 1px 0 rgba(255,255,255,.25);
}
.button.outline{
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(9px);
  border:1px solid rgba(31,96,157,.38);
  box-shadow:0 9px 24px rgba(16,58,97,.08);
}
.button.outline:hover{background:#fff;border-color:var(--blue-dark)}

.hero{
  min-height:690px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 74% 18%,rgba(242,172,63,.22),transparent 23rem),
    radial-gradient(circle at 7% 77%,rgba(88,161,229,.21),transparent 28rem),
    linear-gradient(125deg,#eaf5fd 0%,#fff 49%,#fff1da 100%);
}
.hero:before{
  width:600px;height:600px;right:-130px;top:-230px;
  background:radial-gradient(circle,rgba(255,216,143,.78),transparent 69%);
  animation:orbFloat 12s ease-in-out infinite;
}
.hero:after{
  width:650px;height:650px;left:-240px;bottom:-360px;
  background:radial-gradient(circle,rgba(88,161,229,.35),transparent 68%);
  animation:orbFloat 15s ease-in-out infinite reverse;
}
.hero-grid:before{
  content:"";position:absolute;inset:-80px -70px;
  background-image:
    linear-gradient(rgba(31,96,157,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,96,157,.04) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to right,#000,transparent 48%,#000);
  pointer-events:none;
  opacity:.45;
}
.hero-grid>*{position:relative;z-index:1}
.eyebrow{
  padding:8px 12px;
  border:1px solid rgba(31,96,157,.15);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 25px rgba(16,58,97,.07);
}
h1{
  color:var(--blue-ink);
  text-wrap:balance;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
h2,h3{text-wrap:balance}
.hero .lead{color:#536473}
.hero-points span{
  position:relative;padding:7px 11px 7px 9px;border-radius:999px;
  background:rgba(255,255,255,.58);border:1px solid rgba(31,96,157,.10);
  box-shadow:0 6px 18px rgba(16,58,97,.06);
}

.offer-card{
  overflow:hidden;
  border-color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 32px 90px rgba(16,58,97,.20),inset 0 1px 0 rgba(255,255,255,.9);
  transform:translateZ(0);
  transition:transform .45s var(--ease-premium),box-shadow .45s ease;
}
.offer-card:hover{
  transform:translateY(-5px);
  box-shadow:0 38px 100px rgba(16,58,97,.24),inset 0 1px 0 rgba(255,255,255,.95);
}
.offer-card:after{
  content:"";position:absolute;width:230px;height:230px;border-radius:50%;
  left:calc(var(--mx,50%) - 115px);top:calc(var(--my,50%) - 115px);
  background:radial-gradient(circle,rgba(88,161,229,.15),transparent 68%);
  pointer-events:none;opacity:0;transition:opacity .3s ease;
}
.offer-card:hover:after{opacity:1}
input,select,textarea{
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease;
  background:rgba(255,255,255,.88);
}
input:hover,select:hover,textarea:hover{border-color:#abc6db}
input:focus,select:focus,textarea:focus{transform:translateY(-1px);background:#fff}

.trust-strip{
  position:relative;overflow:hidden;
  background:linear-gradient(105deg,#0b2c4a,#174f7e 52%,#103a61);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.trust-strip:before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 15% 0,rgba(88,161,229,.22),transparent 23rem),
    radial-gradient(circle at 86% 100%,rgba(242,172,63,.15),transparent 20rem);
}
.trust-grid{position:relative}
.trust-item{
  transition:background .3s ease,transform .3s var(--ease-premium);
}
.trust-item:hover{background:rgba(255,255,255,.055);transform:translateY(-2px)}
.trust-item strong{letter-spacing:-.01em}
.trust-item span{line-height:1.45}

.section{position:relative}
.section.alt{
  background:
    radial-gradient(circle at 0 0,rgba(88,161,229,.08),transparent 24rem),
    linear-gradient(180deg,#f7fbfe,#f1f7fb);
}
.section.gold-wash{
  background:
    radial-gradient(circle at 88% 18%,rgba(242,172,63,.15),transparent 23rem),
    radial-gradient(circle at 8% 90%,rgba(88,161,229,.10),transparent 25rem),
    linear-gradient(135deg,#fffaf1,#fff 50%,#eef7fd);
}
.section-head .kicker{display:inline-block;position:relative}
.section-head .kicker:after{
  content:"";display:block;width:52%;height:2px;margin:9px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.section-head.left .kicker:after{margin-left:0}

.card,.step,.situation{
  position:relative;overflow:hidden;
  border-color:rgba(184,205,222,.72);
  background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(249,252,254,.96));
  transition:transform .38s var(--ease-premium),box-shadow .38s ease,border-color .38s ease;
}
.card:before,.step:after,.situation:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--blue),var(--gold));
  transform:scaleX(.2);transform-origin:left;
  opacity:0;transition:transform .45s var(--ease-premium),opacity .3s ease;
}
.card:after,.step:after{
  content:"";position:absolute;width:230px;height:230px;border-radius:50%;
  left:calc(var(--mx,50%) - 115px);top:calc(var(--my,50%) - 115px);
  background:radial-gradient(circle,rgba(88,161,229,.12),transparent 66%);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.card:hover,.step:hover,.situation:hover{
  transform:translateY(-9px);
  box-shadow:var(--shadow-hover);
  border-color:rgba(88,161,229,.48);
}
.card:hover:before,.situation:hover:before{transform:scaleX(1);opacity:1}
.card:hover:after,.step:hover:after{opacity:1}
.card h3,.step h3{transition:color .25s ease}
.card:hover h3,.step:hover h3{color:var(--blue-dark)}
.card .icon{
  position:relative;
  width:58px;height:58px;
  color:var(--blue-dark);
  background:linear-gradient(145deg,#eef7fd,#dceefa);
  border:1px solid rgba(88,161,229,.25);
  box-shadow:0 12px 26px rgba(31,96,157,.12),inset 0 1px 0 rgba(255,255,255,.85);
  transition:transform .38s var(--ease-premium),background .38s ease,color .38s ease;
}
.card .icon svg{width:28px;height:28px;stroke-width:1.8}
.card:hover .icon{
  transform:translateY(-3px) rotate(-3deg) scale(1.06);
  color:#fff;
  background:linear-gradient(145deg,var(--blue-bright),var(--blue-dark));
}
.card .more{align-items:center;gap:7px}
.card .more:after{content:"→";transition:transform .25s var(--ease-premium)}
.card:hover .more:after{transform:translateX(5px)}
.card .more{font-size:0}
.card .more:before{content:"Learn more";font-size:initial}

.steps{position:relative}
.steps:before{
  content:"";position:absolute;left:16%;right:16%;top:61px;height:2px;
  background:linear-gradient(90deg,rgba(31,96,157,.12),rgba(242,172,63,.65),rgba(31,96,157,.12));
  z-index:0;
}
.step{z-index:1}
.step:before{
  position:relative;
  box-shadow:0 12px 28px rgba(217,140,34,.24),inset 0 1px 0 rgba(255,255,255,.65);
  transition:transform .35s var(--ease-premium);
}
.step:hover:before{transform:scale(1.08) rotate(-4deg)}
.step:after{top:auto;right:auto}

.visual-house{
  isolation:isolate;
  background:
    radial-gradient(circle at 74% 20%,rgba(255,216,143,.85),transparent 12rem),
    linear-gradient(155deg,#d6ecfb,#fff 49%,#ffecd0);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 35px 90px rgba(16,58,97,.18),inset 0 1px 0 rgba(255,255,255,.85);
}
.visual-house:before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(31,96,157,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,96,157,.045) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to top,#000,transparent 78%);
}
.visual-house .sun{animation:sunPulse 6s ease-in-out infinite;box-shadow:0 0 70px rgba(242,172,63,.35)}
.visual-house .building{filter:drop-shadow(0 15px 16px rgba(16,58,97,.20))}
.visual-house .home{filter:drop-shadow(0 16px 18px rgba(16,58,97,.22))}
.checklist li{padding:3px 0}
.checklist li:before{
  box-shadow:0 7px 17px rgba(27,127,92,.13);
  transition:transform .25s var(--ease-premium);
}
.checklist li:hover:before{transform:scale(1.08)}

.comparison{
  border-color:rgba(184,205,222,.8);
  box-shadow:0 24px 65px rgba(16,58,97,.12);
}
th{background:linear-gradient(135deg,#0d3152,#174f7e)}
th:nth-child(2){background:linear-gradient(135deg,#225f98,#3e82c4)}
tbody tr{transition:background .2s ease}
tbody tr:hover{background:#fafcfe}
td:nth-child(2){background:linear-gradient(90deg,#f0f8fe,#f8fbfd)}

.callout{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(125deg,#0b2c4a,#1f609d 58%,#174f7e);
  box-shadow:0 32px 80px rgba(16,58,97,.26),inset 0 1px 0 rgba(255,255,255,.10);
}
.callout:before,.callout:after{
  content:"";position:absolute;border-radius:50%;z-index:-1;pointer-events:none;
}
.callout:before{
  width:330px;height:330px;right:-80px;top:-190px;
  background:radial-gradient(circle,rgba(242,172,63,.34),transparent 65%);
  animation:orbFloat 10s ease-in-out infinite;
}
.callout:after{
  width:290px;height:290px;left:36%;bottom:-220px;
  background:radial-gradient(circle,rgba(88,161,229,.26),transparent 65%);
}

.faq-item{
  box-shadow:0 8px 24px rgba(16,58,97,.055);
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.faq-item:hover{border-color:#bfd2e1;box-shadow:0 13px 30px rgba(16,58,97,.08)}
.faq-item.open{border-color:rgba(88,161,229,.55);box-shadow:0 16px 38px rgba(16,58,97,.11);transform:translateY(-2px)}
.faq-question{transition:color .2s ease,background .2s ease}
.faq-question:hover{background:#f8fbfd}
.faq-question span:last-child{
  display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;
  background:#eef6fc;color:var(--blue-dark);
  transition:transform .35s var(--ease-premium),background .25s ease,color .25s ease;
}
.faq-item.open .faq-question span:last-child{background:var(--blue-dark);color:#fff}
.faq-answer{
  display:block;
  max-height:0;
  overflow:hidden;
  opacity:0;
  padding:0 22px;
  transition:max-height .45s var(--ease-premium),opacity .3s ease,padding .35s ease;
}
.faq-item.open .faq-answer{max-height:440px;opacity:1;padding:0 22px 22px}

.page-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 82% 15%,rgba(242,172,63,.18),transparent 20rem),
    radial-gradient(circle at 8% 100%,rgba(88,161,229,.17),transparent 24rem),
    linear-gradient(120deg,#eaf5fd,#fff 58%,#fff0d8);
}
.page-hero:after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(31,96,157,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,96,157,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,#000,transparent);
  pointer-events:none;
}
.page-hero .container{position:relative;z-index:1}
.breadcrumbs a{font-weight:800}
.prose p,.prose li{font-size:1.02rem}
.prose h2{position:relative;padding-top:7px}
.prose h2:before{
  content:"";display:block;width:46px;height:3px;margin-bottom:15px;border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--gold));
}
.notice{
  border-color:#edc879;
  background:linear-gradient(135deg,#fff9ed,#fff4da);
  box-shadow:0 14px 34px rgba(217,140,34,.09);
}

.footer{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 10% 10%,rgba(88,161,229,.14),transparent 25rem),
    radial-gradient(circle at 95% 95%,rgba(242,172,63,.10),transparent 24rem),
    linear-gradient(145deg,#092843,#103a61 58%,#0d3152);
}
.footer:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,216,143,.85),transparent);
}
.footer .container{position:relative}
.footer .logo{
  box-shadow:0 16px 40px rgba(0,0,0,.16);
  transition:transform .3s var(--ease-premium);
}
.footer .logo:hover{transform:translateY(-3px)}
.footer a{position:relative;width:max-content;max-width:100%;transition:color .2s ease,transform .2s ease}
.footer a:hover{color:#fff;transform:translateX(3px)}

.mobile-cta{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.45);
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 55%,var(--gold-deep));
  box-shadow:0 18px 45px rgba(16,58,97,.32),inset 0 1px 0 rgba(255,255,255,.7);
}

/* Scroll reveal system */
.js-premium .reveal{
  opacity:0;
  transform:translateY(34px) scale(.985);
  filter:blur(4px);
  transition:
    opacity .72s var(--ease-premium) var(--reveal-delay,0ms),
    transform .72s var(--ease-premium) var(--reveal-delay,0ms),
    filter .72s ease var(--reveal-delay,0ms);
}
.js-premium .reveal.reveal-left{transform:translateX(-38px) scale(.985)}
.js-premium .reveal.reveal-right{transform:translateX(38px) scale(.985)}
.js-premium .reveal.in-view{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}

/* Micro animation */
@keyframes topbarSweep{
  0%,60%{transform:translateX(-110%)}
  82%,100%{transform:translateX(110%)}
}
@keyframes orbFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-14px,18px,0) scale(1.04)}
}
@keyframes sunPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

@media(max-width:980px){
  .hero{min-height:auto}
  .steps:before{display:none}
  .nav{
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(18px);
    transform-origin:top right;
    animation:menuIn .28s var(--ease-premium);
  }
  @keyframes menuIn{
    from{opacity:0;transform:translateY(-10px) scale(.97)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
}
@media(max-width:680px){
  .hero-grid:before{display:none}
  .hero-points span{width:100%}
  .card:hover,.step:hover,.situation:hover{transform:translateY(-4px)}
  .js-premium .reveal,.js-premium .reveal.reveal-left,.js-premium .reveal.reveal-right{
    transform:translateY(22px) scale(.99);
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .js-premium .reveal{opacity:1!important;transform:none!important;filter:none!important}
}


/* Catalog + review enhancements */
.hero{background:
  linear-gradient(120deg,rgba(238,246,252,.94) 0%,rgba(255,255,255,.96) 55%,rgba(255,244,228,.92) 100%),
  url('gallery-home-2.svg') center/cover no-repeat;}
.hero::before,.hero::after{opacity:.28}
.section.photo-layer,
.section.seller-social{position:relative;overflow:hidden}
.section.photo-layer::before,
.section.seller-social::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),
    url('gallery-home-5.svg') center/cover no-repeat;
  opacity:1;
}
.section.photo-layer .container,
.section.seller-social .container{position:relative;z-index:1}
.property-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:32px;
}
.gallery-card{
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .24s ease, box-shadow .24s ease;
}
.gallery-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gallery-card img{
  width:100%;
  aspect-ratio:1.35/1;
  object-fit:cover;
  background:#eef4f8;
}
.gallery-card .gallery-copy{padding:18px 18px 20px}
.gallery-card .gallery-tag{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:var(--gold-soft);
  color:var(--blue-deep);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.gallery-card h3{font-size:1.05rem;margin-bottom:8px}
.gallery-card p{margin:0;color:var(--muted);font-size:.95rem}
.gallery-note{
  margin-top:20px;
  color:var(--muted);
  text-align:center;
  font-size:.95rem;
}
.media-mosaic{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  grid-template-areas:
    "a b c"
    "a d e";
  gap:16px;
  margin-top:34px;
}
.media-mosaic .tile{
  min-height:190px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(34,95,152,.14);
  box-shadow:var(--shadow-sm);
  background-size:cover;
  background-position:center;
}
.media-mosaic .tile.large{min-height:396px}
.media-mosaic .tile:nth-child(1){grid-area:a;background-image:linear-gradient(rgba(15,31,48,.12),rgba(15,31,48,.08)),url('gallery-home-1.svg')}
.media-mosaic .tile:nth-child(2){grid-area:b;background-image:linear-gradient(rgba(15,31,48,.10),rgba(15,31,48,.05)),url('gallery-home-2.svg')}
.media-mosaic .tile:nth-child(3){grid-area:c;background-image:linear-gradient(rgba(15,31,48,.10),rgba(15,31,48,.05)),url('gallery-home-3.svg')}
.media-mosaic .tile:nth-child(4){grid-area:d;background-image:linear-gradient(rgba(15,31,48,.10),rgba(15,31,48,.05)),url('gallery-home-4.svg')}
.media-mosaic .tile:nth-child(5){grid-area:e;background-image:linear-gradient(rgba(15,31,48,.10),rgba(15,31,48,.05)),url('gallery-home-6.svg')}
.review-showcase{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  margin-top:32px;
}
.review-shell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  text-align:center;
}
.review-shell .review-top{
  height:76px;
  background:linear-gradient(90deg,#edf5fb,#f7f9fb);
}
.review-shell .avatar{
  width:96px;
  height:96px;
  border-radius:50%;
  background:linear-gradient(135deg,#7fa6cf,#d9e7f4);
  margin:-48px auto 16px;
  border:5px solid #fff;
  box-shadow:0 8px 24px rgba(34,95,152,.14);
}
.review-shell .avatar.alt{background:linear-gradient(135deg,#89a47f,#e5efd9)}
.review-shell .avatar.gold{background:linear-gradient(135deg,#ddab57,#f7e0b5)}
.review-shell .stars{
  color:#f5a623;
  letter-spacing:4px;
  font-size:1.2rem;
  font-weight:800;
  margin-bottom:12px;
}
.review-shell blockquote{
  margin:0;
  padding:0 26px;
  color:var(--ink);
  font-size:1rem;
  line-height:1.65;
  min-height:148px;
}
.review-shell .review-meta{
  padding:20px 20px 26px;
}
.review-shell .name{
  display:block;
  color:var(--blue);
  font-size:1.55rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  margin-bottom:8px;
}
.review-shell .location{color:var(--muted);font-weight:700}
@media (max-width:980px){
  .property-gallery,
  .review-showcase{grid-template-columns:1fr 1fr}
  .media-mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-areas:"a a" "b c" "d e";
  }
  .media-mosaic .tile.large{min-height:250px}
}
@media (max-width:760px){
  .logo{width:170px;max-width:46vw}
  .property-gallery,
  .review-showcase,
  .media-mosaic{grid-template-columns:1fr;grid-template-areas:none}
  .media-mosaic .tile,
  .media-mosaic .tile.large{min-height:220px}
  .review-shell blockquote{min-height:unset}
}


.hero h1,.hero .lead,.hero .hero-points,.hero .eyebrow,.hero .offer-card h2,.hero .offer-card p,.hero label{position:relative;z-index:1}
.hero h1,.hero .lead,.hero .hero-points,.hero .eyebrow{color:#fff}
.hero .eyebrow:before{background:var(--gold)}
.hero .lead{max-width:760px;color:#f2f6fb}
.hero .offer-card{background:rgba(255,255,255,.96)}
#reviews{scroll-margin-top:110px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.catalog-grid .catalog-item{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}
.catalog-grid .catalog-item img{width:100%;aspect-ratio:1.28/1;object-fit:cover;background:#eef4f8}
.catalog-sub{max-width:760px;margin:0 auto;color:var(--muted);text-align:center;font-size:1.02rem}
.review-shell .avatar-photo{width:98px;height:98px;border-radius:50%;object-fit:cover;margin:-49px auto 16px;border:5px solid #fff;box-shadow:0 8px 24px rgba(34,95,152,.14)}
.review-shell blockquote{min-height:120px}
.review-shell .name{font-size:1.3rem;color:var(--blue-dark)}
.review-shell .location{display:block;margin-top:2px}
@media (max-width:980px){.catalog-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.catalog-grid{grid-template-columns:1fr}.hero{padding:56px 0 52px}.hero h1{font-size:clamp(2.1rem,9vw,3.2rem)}.topbar .container{justify-content:center;flex-wrap:wrap;text-align:center}}


/* Final homepage/header fixes */
.site-header .logo{
  width:132px !important;
  max-width:none !important;
  height:auto !important;
  display:block;
}
.nav-wrap{
  min-height:56px !important;
  gap:14px !important;
}
.site-header.scrolled .nav-wrap{min-height:56px !important}
.topbar{font-size:.78rem !important}
.topbar .container{padding:5px 0 !important}
.nav{gap:16px !important;font-size:.9rem !important}
.button.small{padding:8px 14px !important;font-size:.85rem !important}

.hero{
  min-height:640px !important;
  background:
    linear-gradient(rgba(12,31,49,.62),rgba(12,31,49,.62)),
    url('hero-home.jpg') center center / cover no-repeat !important;
}
.hero:before,
.hero:after,
.hero-grid:before{display:none !important}
.hero h1,
.hero .lead,
.hero .eyebrow,
.hero .hero-points{color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.24)}
.hero .lead{max-width:720px !important}
.hero-points{color:#fff !important}
.hero-points span{
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  backdrop-filter:blur(4px);
}
.hero .eyebrow{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
}
.hero .offer-card{
  background:rgba(255,255,255,.97) !important;
}
@media (max-width:760px){
  .site-header .logo{width:110px !important}
  .nav-wrap{min-height:52px !important}
  .hero{min-height:auto !important;padding:54px 0 48px !important}
}
