:root{
--bg:#ffffff;
--bg-panel:#f4f7fb;
--line:#dde4ec;
--ink:#101823;
--ink-dim:#5b6572;
--navy:#173a63;
--blue:#2e6fb8;
--sky:#eaf2fb;
--radius:2px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
@media (prefers-reduced-motion: reduce){*{animation:none !important; transition:none !important;}}
.wrap{max-width:640px;margin:0 auto;padding:0 24px;}
header{padding:28px 0 20px;border-bottom:1px solid var(--line);}
.stamp{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);}
.stamp b{color:var(--blue);font-weight:600;}
.hero{padding:56px 0 40px;}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:18px;font-weight:600;}
h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(34px,7vw,52px);line-height:1.04;color:var(--navy);letter-spacing:-.01em;}
h1 em{font-style:italic;font-weight:400;color:var(--blue);}
.locale{margin-top:14px;font-size:16px;color:var(--ink-dim);}
.locale strong{color:var(--ink);font-weight:600;}
.price-row{margin-top:34px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.price{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(40px,9vw,64px);color:var(--navy);line-height:1;}
.price-note{font-size:13px;color:var(--ink-dim);padding-bottom:8px;letter-spacing:.02em;}
.photo-block{margin-top:36px;border:1px solid var(--line);background:var(--bg-panel);padding:10px;}
.photo-block img{width:100%;height:auto;display:block;}
.photo-caption{padding:12px 6px 4px;font-size:12px;color:var(--ink-dim);letter-spacing:.03em;}
.map-block{margin-top:14px;max-width:260px;border:1px solid var(--line);background:var(--bg-panel);padding:8px;}
.map-block img{width:100%;height:auto;display:block;}
.map-caption{padding:10px 4px 2px;font-size:11px;color:var(--ink-dim);letter-spacing:.03em;}
.facts{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.fact{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 22px;background:var(--bg);}
.fact .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;font-weight:600;}
.fact .v{font-family:'Fraunces',serif;font-size:19px;color:var(--ink);}
.notes{margin-top:40px;}
.notes h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:16px;font-weight:600;}
.notes p{font-size:15px;color:var(--ink-dim);max-width:56ch;}
.cta{margin:52px 0 56px;border:1px solid var(--line);background:var(--navy);padding:32px 28px;text-align:center;}
.cta h2{font-family:'Fraunces',serif;font-weight:600;font-size:26px;margin-bottom:8px;color:#ffffff;}
.cta p{color:#c7d4e3;font-size:14px;margin-bottom:22px;}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;font-size:14px;font-weight:600;letter-spacing:.03em;text-decoration:none;border-radius:var(--radius);transition:transform .15s ease, background .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:#ffffff;color:var(--navy);}
.btn-primary:hover{background:#e6edf5;}
.btn-secondary{border:1px solid #3a5a80;color:#ffffff;}
.btn-secondary:hover{border-color:#6f93bb;}
footer{border-top:1px solid var(--line);padding:22px 0 40px;font-size:11px;color:var(--ink-dim);text-align:center;letter-spacing:.03em;}