:root{--ink:#0d2231;--ink2:#2c4352;--muted:#566b77;--sea:#14607a;--sea-d:#0b3a4d;--foam:#e8f2f3;--sand:#f7f1e6;--paper:#fffdf8;--line:#e6dfd0;--coral:#c9482a;--coral-d:#a93a20;--sun:#f0b94d;--serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--r:18px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:clamp(16px,.35vw + 15px,18px);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--sea);text-underline-offset:3px}
a:hover{color:var(--sea-d)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:-.015em;margin:0 0 .5em;color:var(--ink)}
h2{font-size:clamp(1.55rem,2.6vw,2.2rem)}
p{margin:0 0 1.1em}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.7rem 1.1rem;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.wrap{width:min(100% - 2.5rem,1140px);margin-inline:auto}
.narrow{max-width:820px}
.small{font-size:.86rem;color:var(--muted)}
.muted{color:var(--muted)}
.kicker{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sun);margin:0 0 .9rem;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.kicker.dark{color:var(--coral);text-shadow:none}
.lede{font-size:1.12em;color:var(--ink2);max-width:60ch}
.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:.95rem;padding:.9rem 1.5rem;border-radius:999px;text-decoration:none;border:1.5px solid transparent;transition:transform .15s,background .15s;cursor:pointer;line-height:1.2}
.btn:hover{transform:translateY(-2px)}
.btn-sm{padding:.6rem 1.05rem;font-size:.86rem}
.btn-coral{background:var(--coral);color:#fff}.btn-coral:hover{background:var(--coral-d);color:#fff}
.btn-sun{background:var(--sun);color:#2a1d02}.btn-sun:hover{background:#f6cb73;color:#2a1d02}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(11,58,77,.25)}.btn-ghost:hover{background:rgba(11,58,77,.55);color:#fff}
.btn-line{border-color:var(--line);color:var(--sea-d);background:#fff}
.top{position:sticky;top:0;z-index:40;background:rgba(255,253,248,.93);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:1.4rem;min-height:66px}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-weight:600;font-size:1.25rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.brand-dot{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffd98a,var(--sun) 60%,#d9962a)}
.nav{margin-left:auto}.nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}
.nav a{font-size:.9rem;font-weight:600;color:var(--ink2);text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:var(--ink);border-bottom-color:var(--coral)}
@media (max-width:960px){.top-in{flex-wrap:wrap;gap:.4rem 1rem;padding:.6rem 0}.nav{order:3;width:100%;margin:0;overflow-x:auto}.nav ul{gap:1.1rem;white-space:nowrap;padding-bottom:.3rem}.top-in .btn{margin-left:auto}}
.cover{position:relative;min-height:min(88vh,780px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cover::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,24,35,.82) 0%,rgba(7,24,35,.45) 55%,rgba(7,24,35,.15) 100%),linear-gradient(0deg,rgba(7,24,35,.7),transparent 45%)}
.cover-in{padding:6rem 0 4.5rem}
.cover h1{color:#fff;font-size:clamp(2.5rem,6.4vw,5rem);max-width:15ch;text-wrap:balance}
.dek{font-size:clamp(1.05rem,1.4vw,1.28rem);max-width:52ch;color:rgba(255,255,255,.9)}
.cover-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.strip{background:var(--sea-d);color:#fff}.strip-in{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 2rem;padding:1.5rem 0}
.strip p{margin:0;display:flex;flex-direction:column;line-height:1.3}.strip strong{font-family:var(--serif);font-size:1.7rem;font-weight:500;color:var(--sun)}.strip span{font-size:.85rem;color:rgba(255,255,255,.8)}
@media (max-width:760px){.strip-in{grid-template-columns:1fr}}
.sec{padding:clamp(3.2rem,7vw,5.8rem) 0}.sec-foam{background:var(--foam)}.sec-ink{background:var(--ink);color:#fff}.sec-ink h2{color:#fff}.sec-ink p{color:rgba(255,255,255,.86)}
.sec-head{max-width:700px;margin-bottom:2.2rem}
.chapters{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.chap{position:relative;min-height:320px;border-radius:22px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;text-decoration:none;isolation:isolate}
.chap.s3{grid-column:span 3}.chap.s2{grid-column:span 2}
.chap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.chap:hover img{transform:scale(1.05)}
.chap::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,24,35,.85) 0%,rgba(7,24,35,.1) 62%)}
.chap-n{position:absolute;top:1rem;left:1.2rem;font-family:var(--serif);font-size:1.1rem;color:#fff;background:rgba(7,24,35,.55);border-radius:999px;padding:.1rem .7rem}
.chap-t{padding:1.4rem}.chap-t strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.55rem;line-height:1.1;margin-bottom:.35rem}.chap-t em{font-style:normal;font-size:.9rem;color:rgba(255,255,255,.85);display:block;line-height:1.45}
@media (max-width:860px){.chapters{grid-template-columns:1fr}.chap.s3,.chap.s2{grid-column:auto}.chap{min-height:240px}}
.calc{display:grid;grid-template-columns:1.05fr .95fr;gap:1.6rem}
@media (max-width:860px){.calc{grid-template-columns:1fr}}
.opt{border:0;padding:0;margin:0 0 1.6rem}.opt legend{font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sea-d);margin-bottom:.7rem;padding:0}
.pill{display:inline-block;position:relative;margin:0 .5rem .6rem 0}.pill input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.pill span{display:flex;flex-direction:column;border:1.5px solid #b9d0d4;background:#fff;border-radius:14px;padding:.7rem 1.1rem;font-weight:700;font-size:.95rem;color:var(--ink);transition:.15s;line-height:1.25}
.pill small{font-weight:500;color:var(--muted);font-size:.78rem;margin-top:.15rem}
.pill input:checked+span{background:var(--sea-d);border-color:var(--sea-d);color:#fff}.pill input:checked+span small{color:rgba(255,255,255,.8)}
.pill input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}
.result{background:var(--ink);color:#fff;border-radius:22px;padding:clamp(1.4rem,3vw,2.2rem);align-self:start}
.result-k{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);font-weight:800;margin-bottom:.4rem}
.result-n{font-family:var(--serif);font-size:clamp(2rem,4.2vw,3rem);line-height:1.05;margin-bottom:1.2rem;color:#fff}
.result-d{margin:0 0 1rem;display:grid;gap:.5rem}.result-d div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.18);padding-top:.5rem;font-size:.92rem}.result-d dt{color:rgba(255,255,255,.75)}.result-d dd{margin:0;font-weight:700}
.result .small{color:rgba(255,255,255,.7)}.result a{color:var(--sun)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,5vw,4rem);align-items:center}.split.flip>*:first-child{order:0}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.ticks{list-style:none;margin:0;padding:0}.ticks li{position:relative;padding-left:1.5rem;margin-bottom:.6rem}.ticks li::before{content:"";position:absolute;left:0;top:.6em;width:.7rem;height:.7rem;border-radius:50%;background:var(--sun)}
.photo{margin:0}.photo img{border-radius:22px;width:100%;aspect-ratio:4/3;object-fit:cover}.photo figcaption{font-size:.78rem;color:var(--muted);margin-top:.5rem}
.sec-ink .photo figcaption{color:rgba(255,255,255,.65)}
.photo.wide{margin:1.6rem 0}.photo.wide img{aspect-ratio:16/9}
.link-light{color:var(--sun);font-weight:700;margin-left:.6rem}
.faq details{border-bottom:1px solid var(--line);padding:1.1rem 0}.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.25rem;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--coral);font-size:1.6rem;line-height:1}.faq details[open] summary::after{content:"–"}
.faq p{margin:.8rem 0 0;color:var(--ink2)}
.page-hero{position:relative;min-height:clamp(300px,42vh,430px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,24,35,.9),rgba(7,24,35,.55) 70%,rgba(7,24,35,.45))}
.page-hero-in{padding:3rem 0 2.2rem}.page-hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.4rem);max-width:20ch;text-wrap:balance}
.article{display:grid;grid-template-columns:220px minmax(0,70ch);gap:3.5rem;justify-content:center;padding:3rem 0 4rem}
@media (max-width:960px){.article{grid-template-columns:1fr;gap:1.4rem}}
.toc{position:sticky;top:96px;align-self:start;font-size:.88rem}
@media (max-width:960px){.toc{position:static;border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem}.toc-cta{display:none}}
.toc-h{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--coral);margin-bottom:.6rem}
.toc ol{list-style:none;margin:0 0 1.2rem;padding:0;border-left:2px solid var(--line)}.toc li a{display:block;padding:.3rem 0 .3rem .9rem;color:var(--ink2);text-decoration:none}.toc li a:hover{color:var(--coral);border-color:var(--coral)}
.prose h2{margin-top:2.4rem;font-size:clamp(1.5rem,2.4vw,2rem)}.prose h2:first-child{margin-top:0}
.prose ul,.prose ol:not(.check){padding-left:1.2rem}.prose li{margin-bottom:.5rem}
.prose a{font-weight:600}
.tbl{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:.8rem .6rem;text-align:left;vertical-align:top}.tbl thead th{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sea-d);border-bottom:2px solid var(--sea-d)}.tbl tbody th{font-weight:700}
.note,.warn{border-radius:14px;padding:1rem 1.2rem;margin:1.4rem 0;font-size:.95rem}
.note{background:var(--foam);border-left:4px solid var(--sea)}.warn{background:#fff4e2;border-left:4px solid var(--coral)}
.card-fact{background:var(--sand);border-radius:16px;padding:1.2rem 1.4rem;margin:1rem 0}.card-fact p{margin-bottom:.6rem}
.kv{list-style:none;margin:0;padding:0!important}.kv li{display:flex;gap:1rem;margin:0 0 .3rem}.kv span{min-width:5.5rem;font-weight:800;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:.2rem}
.cta-box{display:flex;gap:1.4rem;align-items:center;justify-content:space-between;background:var(--sea-d);color:#fff;border-radius:20px;padding:1.5rem 1.8rem;margin:2.4rem 0}
.cta-box p{margin:0;color:rgba(255,255,255,.85)}.cta-h{font-family:var(--serif);font-size:1.4rem;color:#fff!important;margin-bottom:.3rem!important}
@media (max-width:640px){.cta-box{flex-direction:column;align-items:flex-start}}
.sources{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1.2rem}.sources h2{font-size:1.2rem;margin-bottom:.6rem}.sources ul{font-size:.88rem}
.chap-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem}
.chap-link{display:flex;flex-direction:column;border:1.5px solid var(--line);border-radius:14px;padding:1rem 1.3rem;text-decoration:none;min-width:200px}.chap-link span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.chap-link strong{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--ink)}.chap-link:hover{border-color:var(--coral)}.chap-link.next{text-align:right;margin-left:auto}
.check{list-style:none;margin:1rem 0;padding:0;counter-reset:c}.check li{counter-increment:c;margin:0 0 .5rem}.check label{display:flex;gap:.9rem;align-items:flex-start;border:1.5px solid var(--line);border-radius:14px;padding:.85rem 1rem;cursor:pointer;background:#fff}
.check label::before{content:counter(c);font-family:var(--serif);color:var(--coral);font-size:1.2rem;min-width:1.4rem}
.check input{margin-top:.4rem;accent-color:var(--sea-d);width:1.15rem;height:1.15rem;flex:none}.check input:checked+span{text-decoration:line-through;color:var(--muted)}
.check-progress{font-weight:700;color:var(--sea-d)}
.stay{display:grid;grid-template-columns:1fr 1.1fr;border:1.5px solid var(--line);border-radius:22px;overflow:hidden;margin:1.2rem 0 1.6rem;background:#fff}
.stay img{width:100%;height:100%;min-height:260px;object-fit:cover}.stay-b{padding:1.5rem 1.6rem}.stay-k{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin-bottom:.8rem}
.small-t li{font-size:.93rem;margin-bottom:.35rem}.stay-p{margin:1rem 0}.stay-btns{display:flex;flex-wrap:wrap;gap:.6rem}
@media (max-width:760px){.stay{grid-template-columns:1fr}}
.foot{background:var(--ink);color:rgba(255,255,255,.75);padding:3rem 0 2.4rem;font-size:.9rem}
.foot a{color:#fff}.foot-grid{display:grid;grid-template-columns:1.3fr 1.2fr 1fr;gap:2rem;margin-bottom:1.6rem}@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{font-family:var(--serif);font-size:1.4rem;color:#fff;margin-bottom:.5rem}.foot-h{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);font-weight:800;margin-bottom:.6rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.foot-sm{font-size:.82rem;color:rgba(255,255,255,.62)}
.credits{margin-top:1rem;font-size:.78rem;color:rgba(255,255,255,.6)}.credits summary{cursor:pointer}.credits ul{margin-top:.6rem}