
*{box-sizing:border-box;margin:0;padding:0}
:root{
 --ink:#12262b; --ink-soft:#42585e; --line:#e2ddd3;
 --sand:#fbf8f2; --white:#ffffff; --petrol:#0f4446; --petrol-d:#0a3234;
 --mint:#e7f2ef; --gold:#c0913f; --radius:20px;
}
html{scroll-behavior:smooth}
body{background:var(--sand);color:var(--ink);font-family:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Fraunces','Georgia',serif;font-weight:600;line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.2vw,4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:clamp(1.15rem,1.7vw,1.45rem)}
p,li{color:var(--ink-soft)}
a{color:var(--petrol)}
.wrap{width:min(1160px,92vw);margin:0 auto}
.hero-grid>*,.cards>*,.ba>*,.tiles>*,.f-grid>*,form.lead .two>*{min-width:0}
p,li,a,td,th,label{overflow-wrap:anywhere}
.hero-shot img{max-height:440px;width:100%;object-fit:cover;object-position:center 45%;border-radius:var(--radius)}
form.lead input,form.lead select,form.lead textarea{width:100%;max-width:100%;min-width:0}
form.lead label,form.lead .two>*{min-width:0}
.narrow{width:min(760px,92vw);margin:0 auto}
header.top{position:sticky;top:0;z-index:50;background:rgba(251,248,242,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;gap:24px;padding:14px 0}
.logo{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;color:var(--petrol);text-decoration:none;white-space:nowrap}
.logo span{color:var(--gold)}
nav.main{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}
nav.main a{color:var(--ink);text-decoration:none;font-size:.95rem;padding:6px 2px;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current=page]{border-color:var(--gold)}
.btn{display:inline-block;background:var(--petrol);color:#fff;text-decoration:none;padding:14px 26px;border-radius:999px;font-weight:600;font-size:1rem;border:0;cursor:pointer}
.btn:hover{background:var(--petrol-d)}
.btn.ghost{background:transparent;color:var(--petrol);border:1.5px solid var(--petrol)}
.btn.gold{background:var(--gold);color:#221b06}
.nav-cta{display:none}
@media(min-width:900px){.nav-cta{display:inline-block;padding:11px 20px;font-size:.95rem}}
section{padding:clamp(56px,7vw,104px) 0}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:700;color:var(--gold);margin-bottom:14px}
.lead{font-size:clamp(1.08rem,1.5vw,1.28rem);color:var(--ink-soft)}
.hero{background:linear-gradient(180deg,var(--mint),var(--sand));padding-top:clamp(40px,5vw,72px)}
.hero-grid{display:grid;gap:44px;align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:60px}}
.hero img{width:100%;border-radius:var(--radius);display:block;box-shadow:0 30px 60px -30px rgba(15,68,70,.45)}
.hero-points{list-style:none;margin:26px 0 30px;display:grid;gap:10px}
.hero-points li{padding-left:30px;position:relative;color:var(--ink)}
.hero-points li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.card h3{margin-bottom:10px;color:var(--ink)}
.card a.more{display:inline-block;margin-top:14px;font-weight:600;text-decoration:none}
.card a.more:after{content:" \2192"}
.band{background:var(--petrol);color:#eaf4f2}
.band h2,.band h3{color:#fff}
.band p,.band li{color:#cfe3e0}
.steps{counter-reset:s;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));list-style:none}
.steps li{counter-increment:s;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.steps li:before{content:counter(s);display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--mint);color:var(--petrol);font-family:'Fraunces',serif;font-size:1.2rem;margin-bottom:14px}
table.price{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.97rem}
table.price th,table.price td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line)}
table.price thead th{background:var(--mint);color:var(--petrol);font-family:'Fraunces',serif}
table.price tbody tr:last-child td{border-bottom:0}
.scroll-x{overflow-x:auto}
.prose h2{margin:44px 0 14px}
.prose h3{margin:30px 0 10px;color:var(--ink)}
.prose p,.prose ul,.prose ol{margin-bottom:16px}
.prose ul,.prose ol{padding-left:24px}
.prose li{margin-bottom:7px}
.note{background:var(--white);border-left:4px solid var(--gold);border-radius:12px;padding:20px 22px;margin:26px 0}
.note p{color:var(--ink)}
.ba{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.ba figure{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ba img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.ba figcaption{padding:14px 18px;font-size:.92rem;color:var(--ink-soft)}
.pair{display:grid;gap:14px;grid-template-columns:1fr 1fr}
details.faq{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:12px}
details.faq summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:1.03rem}
details.faq p{margin-top:12px}
form.lead{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,38px);display:grid;gap:18px}
form.lead label{display:grid;gap:7px;font-size:.93rem;font-weight:600;color:var(--ink)}
form.lead input,form.lead select,form.lead textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--sand);color:var(--ink);font-weight:400}
form.lead textarea{min-height:130px;resize:vertical}
form.lead .two{display:grid;gap:18px}
@media(min-width:680px){form.lead .two{grid-template-columns:1fr 1fr}}
form.lead .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.88rem;color:var(--ink-soft)}
form.lead .check input{width:18px;height:18px;margin-top:3px}
.form-msg{padding:14px 16px;border-radius:12px;font-size:.95rem;display:none}
.form-msg.ok{display:block;background:var(--mint);color:var(--petrol)}
.form-msg.err{display:block;background:#fdeceb;color:#8d2b23}
footer.site{background:var(--petrol-d);color:#bcd4d1;padding:64px 0 34px;font-size:.93rem}
footer.site a{color:#e8f2f0;text-decoration:none}
footer.site a:hover{text-decoration:underline}
.f-grid{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:34px}
.f-grid h4{color:#fff;font-size:1rem;margin-bottom:12px}
.f-grid ul{list-style:none;display:grid;gap:8px}
.f-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;color:#9fbcb8}
.crumbs{font-size:.85rem;color:var(--ink-soft);padding-top:20px}
.crumbs a{text-decoration:none}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto;max-width:720px}
.tiles{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.tile{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:24px}
.tile strong{display:block;font-family:'Fraunces',serif;font-size:1.5rem;color:#fff;margin-bottom:6px}
