img{max-width:100%;height:auto;display:block}
:root{--navy:#142a4a;--navy2:#1f3c66;--cream:#fbf6ec;--orange:#e9771e;--ink:#1b2430;--muted:#5d6878;--line:#e4dccb;--a:#e9771e;--b:#2f6db5;--c:#8a94a6}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
nav{display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:16px}
.logo{font-family:Georgia,serif;font-weight:700;font-size:20px;color:var(--navy);text-decoration:none;white-space:nowrap}.logo b{color:var(--orange)}
.navlinks{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.navlinks a{color:var(--navy);text-decoration:none;font-size:14px;font-weight:600}
.navlinks a.cta{background:var(--navy);color:#fff;padding:9px 14px;border-radius:8px}
header.hero{background:var(--navy);color:#fff;padding:56px 0 64px}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.hero h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);line-height:1.1;margin:0 0 16px}
.hero h1 em{color:var(--orange);font-style:normal}
.hero p.lead{font-size:18px;color:#d6e0ee;margin:0 0 26px}
.btn{display:inline-block;background:var(--orange);color:#fff;padding:13px 20px;border-radius:9px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:15px;font-family:inherit}
.btn.ghost{background:transparent;border:1.5px solid #8aa0bf;margin-left:10px}
.hero-card{position:relative;padding-bottom:16px}
.hero-card img{border-radius:3px;box-shadow:0 24px 50px rgba(0,0,0,.45);transform:rotate(-1.5deg);width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.hero-card .lbl{position:absolute;left:12px;bottom:0;background:var(--orange);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:30px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.stat{background:var(--navy2);border-radius:12px;padding:14px}.stat b{display:block;font-size:24px;font-family:Georgia,serif}.stat span{font-size:13px;color:#b9c7da}
section{padding:68px 0}section h2{font-family:Georgia,serif;font-size:clamp(26px,3vw,34px);color:var(--navy);margin:0 0 10px;line-height:1.2}
.sub{color:var(--muted);font-size:17px;max-width:760px;margin:0 0 30px}
.note{font-size:12.5px;color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.card h3{margin:0 0 6px;font-size:18px;color:var(--navy)}.card p{margin:0;color:var(--muted);font-size:15px}
.sides{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.side figure{margin:0}.side img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:3px;box-shadow:0 14px 30px rgba(20,42,74,.18);background:#fff}
.side figcaption{font-size:13.5px;color:var(--muted);margin-top:10px}
.pending{aspect-ratio:4/3;border:2px dashed #c9bfa9;border-radius:6px;display:grid;place-items:center;color:var(--muted);background:#fff;text-align:center;padding:20px}
.hero .pending{background:var(--navy2);border-color:#3c5f92;color:#b9c7da}
.ads{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.ads img{border-radius:4px;box-shadow:0 6px 16px rgba(20,42,74,.14);width:100%;height:auto}
.scale{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;overflow:hidden}
.scale-row{display:flex;align-items:flex-end;gap:2.5%}
.piece{flex:none;border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;color:#fff;overflow:hidden}
.piece.ours{background:var(--navy);width:44%;aspect-ratio:12/9;font-size:clamp(11px,1.4vw,16px)}
.piece.oursad{background:var(--orange);width:20.5%;aspect-ratio:5.6/4.2;font-size:clamp(9px,1.05vw,13px)}
.piece.slot{background:#f0a35e;width:13.9%;aspect-ratio:3.8/2.8;font-size:clamp(8px,.85vw,11px)}
.piece.post{background:#c9b48f;width:22%;aspect-ratio:6/4;color:#3b2f1a;font-size:clamp(9px,.95vw,12px)}
.piece small{display:block;font-weight:400;opacity:.9;font-size:.85em;margin-top:2px}
.legend{display:flex;gap:2.5%;margin-top:8px}.legend div{flex:none;font-size:12px;color:var(--muted);text-align:center}
table.diff{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
table.diff th,table.diff td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
table.diff th{background:var(--navy);color:#fff;font-weight:600}table.diff td:first-child{font-weight:600;color:var(--navy);width:20%}
table.diff td.us{background:#fff6ec}
.areas-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:20px;align-items:start}
#map{height:560px;border-radius:14px;border:1px solid var(--line);z-index:0}
.toolbar{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;border-radius:30px;padding:7px 13px;font-size:14px;cursor:pointer;font-family:inherit}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.list{max-height:560px;overflow:auto;display:grid;gap:10px;padding-right:4px;align-content:start}
.arow{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center}
.arow:hover,.arow.sel{border-color:var(--orange);box-shadow:0 0 0 2px rgba(233,119,30,.18)}
.tier{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px}
.tier.A{background:var(--a)}.tier.B{background:var(--b)}.tier.C{background:var(--c)}
.arow b{display:block;color:var(--navy);font-size:15px;line-height:1.25}.arow span{font-size:12.5px;color:var(--muted)}
.arow .fit{font-size:12px;font-weight:700;color:var(--orange);text-align:right;white-space:nowrap}
.detail{margin-top:20px;display:none}.detail.show{display:block}
.detail h3{font-family:Georgia,serif;font-size:24px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.dgrid div{background:var(--cream);border-radius:10px;padding:10px 12px}.dgrid b{display:block;font-family:Georgia,serif;font-size:20px;color:var(--navy)}.dgrid span{font-size:12px;color:var(--muted)}
.trades{display:flex;flex-wrap:wrap;gap:8px}.trades span{background:var(--cream);border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:13.5px}
.pick{background:var(--navy);color:#fff;border-radius:16px;padding:26px;margin-bottom:22px}
.pick h3{margin:0 0 6px;font-family:Georgia,serif;font-size:22px}.pick p{color:#c9d5e6;margin:0 0 14px;font-size:15px}
.pick .row{display:flex;gap:10px;flex-wrap:wrap}.pick select{padding:11px 12px;border-radius:8px;border:0;font-size:15px;min-width:220px;font-family:inherit}
.pickout{margin-top:16px;display:none;background:var(--navy2);border-radius:12px;padding:16px}
.pickout.show{display:block}.pickout ol{margin:8px 0 0;padding-left:20px}.pickout li{margin:6px 0}.pickout a{color:#ffd2a8}
.season{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin-top:10px}
.season .bar{height:40px;border-radius:4px;position:relative;overflow:hidden}.season .bar i{position:absolute;left:0;right:0;bottom:0;background:var(--orange)}
.season span{display:block;text-align:center;font-size:11px;color:#b9c7da;margin-top:3px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700;margin-bottom:10px}
.price{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.pbox{background:var(--navy);color:#fff;border-radius:16px;padding:30px}.pbox .big{font-family:Georgia,serif;font-size:54px;margin:4px 0;line-height:1.1}.pbox .big small{font-size:18px;color:#b9c7da}
.pbox ul{padding-left:18px;color:#d6e0ee}.pbox li{margin:6px 0}
.guar{background:#fff;border:2px solid var(--orange);border-radius:16px;padding:30px}.guar h3{margin-top:0;color:var(--navy);font-family:Georgia,serif;font-size:24px}
.calc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:22px}
.calc label{display:block;font-size:14px;color:var(--muted);margin:0 0 6px}.calc input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:17px}
.calc .out{font-family:Georgia,serif;font-size:34px;color:var(--orange);line-height:1.15}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px}.faq summary{font-weight:600;cursor:pointer;color:var(--navy)}
.contact{background:var(--navy);color:#fff;border-radius:18px;padding:44px;text-align:center}.contact h2{color:#fff}.contact p{color:#d6e0ee;max-width:640px;margin:0 auto 20px}
footer{padding:30px 0;color:var(--muted);font-size:13px}
@media(max-width:980px){.hero-grid,.areas-grid,.price,.calc{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.dgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.ads{grid-template-columns:1fr 1fr}#map{height:420px}.list{max-height:420px}}
@media(max-width:640px){.sides{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.navlinks a:not(.cta){display:none}.btn.ghost{margin:10px 0 0}.dgrid{grid-template-columns:1fr 1fr}table.diff th,table.diff td{padding:9px;font-size:13px}.scale{padding:14px}.piece small{display:none}.pick select{min-width:0;width:100%}.contact{padding:28px 18px}}
/* v3 additions */
a{color:var(--navy)}
.crumbs{font-size:13px;color:#b9c7da;margin:0 0 12px}.crumbs a{color:#d6e0ee}
.finder{background:#fff;color:var(--ink);border-radius:16px;padding:20px;box-shadow:0 18px 40px rgba(0,0,0,.25);margin-top:26px}
.finder h3{margin:0 0 4px;color:var(--navy);font-family:Georgia,serif;font-size:21px}.finder p{margin:0 0 12px;color:var(--muted);font-size:14.5px}
.frow{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.frow select{padding:12px;border:1px solid var(--line);border-radius:9px;font-size:15px;font-family:inherit;background:#fff;min-width:0}
.fout{display:none;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.fout.show{display:block}
.fout h4{margin:0 0 8px;color:var(--navy);font-size:16px}
.match{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--cream);border-radius:10px;padding:10px 12px;margin:6px 0}
.match b{color:var(--navy)}.match small{display:block;color:var(--muted);font-size:12.5px}
.badge{font-size:12px;font-weight:700;padding:4px 9px;border-radius:30px;white-space:nowrap}
.badge.g{background:#e9f6ec;color:#1d6b35}.badge.o{background:#fff1e3;color:#a4500d}.badge.f{background:#eef0f4;color:#5d6878}
.locked{margin-top:10px;font-size:13px;color:var(--muted)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
a.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--navy);font-weight:600}
a.tile:hover{border-color:var(--orange)}a.tile small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}
.mkt{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.mkt h3{font-family:Georgia,serif;font-size:22px;margin:0 0 4px;color:var(--navy)}.mkt .big{font-size:30px;font-family:Georgia,serif;color:var(--orange)}
.mkt.soon{background:transparent;border-style:dashed}
.alist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.aitem{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.aitem b{color:var(--navy)}.aitem small{display:block;color:var(--muted)}
.season.light span{color:var(--muted)}.season.light .bar{background:#efe7d8}
.prose{max-width:780px}.prose p{font-size:16.5px}
.src{font-size:12px;color:var(--muted);border-left:3px solid var(--line);padding-left:10px;margin-top:10px}
@media(max-width:980px){.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.frow{grid-template-columns:1fr}.grid3,.grid4,.alist{grid-template-columns:1fr}.btn.ghost{margin-left:0}}

.hero-card .lbl{position:static;display:inline-block;margin-top:14px}
/* v4 routes */
h3.rt{color:var(--navy);font-family:Georgia,serif;font-size:20px;margin:26px 0 10px}
h3.rt small{font-family:system-ui,sans-serif;font-size:14px;color:var(--muted);font-weight:400;margin-left:6px}
