:root{--color-accent:#0f6e66;--color-accent-dark:#0a524c;--color-ink:#0b2a2e;--color-body:#2c3b3d;--color-muted:#5a6a6c;--color-line:#d9e4e2;--color-bg:#fff;--color-bg-alt:#f1f6f5;--color-highlight:#e3f1ee;--font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;--fs-h1:clamp(2.1rem,4.6vw,3.6rem);--fs-h2:clamp(1.6rem,3vw,2.2rem);--fs-h3:clamp(1.15rem,1.8vw,1.3rem);--s-1:.5rem;--s-2:1rem;--s-3:1.5rem;--s-4:2rem;--s-5:3rem;--s-6:4rem;--s-7:6rem;--container:1160px;--narrow:760px;--header-h:68px}
*,*::before,*::after{box-sizing:border-box}*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}
body{font-family:var(--font);font-size:1.0625rem;line-height:1.7;color:var(--color-body);background:var(--color-bg);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--color-ink)}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}
h1,h2,h3{font-family:var(--font);font-weight:800;line-height:1.15;color:var(--color-ink);letter-spacing:-.02em}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}
.skip{position:absolute;left:-9999px;top:0;background:var(--color-ink);color:#fff;padding:.5rem 1rem;z-index:100}.skip:focus{left:0}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--s-3)}
.container-narrow{max-width:calc(var(--narrow) + 2*var(--s-3))}
section{padding-block:var(--s-6)}@media(min-width:768px){section{padding-block:var(--s-7)}}
.overline{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--color-accent);margin-bottom:var(--s-2)}
.lede{font-size:1.2rem;line-height:1.6;color:var(--color-body);max-width:60ch}
.meta{font-size:.9rem;color:var(--color-muted);margin-top:var(--s-2)}
.btn{display:inline-flex;align-items:center;padding:.9rem 1.6rem;font-weight:800;text-decoration:none;border:2px solid transparent;transition:background-color .15s,color .15s}
.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-ink);color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-line);height:var(--header-h)}
.site-header>.container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--s-2)}
.logo{color:var(--color-ink);text-decoration:none}.logo-light{color:#fff}
.site-header nav{display:flex;gap:var(--s-3)}
.site-header nav a{color:var(--color-ink);text-decoration:none;font-weight:600;font-size:.98rem}.site-header nav a:hover{color:var(--color-accent)}
@media(max-width:420px){.site-header nav{gap:var(--s-2)}.site-header nav a{font-size:.9rem}}
.hero{background:var(--color-ink);color:#d6e6e3;padding-block:var(--s-6)}
.hero h1{color:#fff;margin-bottom:var(--s-3);max-width:16ch}.hero .lede{color:#cfe2de;margin-bottom:var(--s-4)}.hero .overline{color:#7fd3c6}
.hero .container{display:grid;gap:var(--s-5)}
@media(min-width:900px){.hero{padding-block:var(--s-7)}.hero .container{grid-template-columns:1.25fr .75fr;align-items:end}}
.hero-list{list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.hero-list li{display:flex;gap:var(--s-2);align-items:baseline;padding:var(--s-2) 0;border-bottom:1px solid rgba(255,255,255,.18);font-weight:600;color:#fff}
.hero-list span{font-size:.8rem;color:#7fd3c6;font-weight:800;letter-spacing:.08em}
.hero .btn-primary{background:#fff;color:var(--color-ink)}.hero .btn-primary:hover{background:#7fd3c6;color:var(--color-ink)}
.guides h2,.related h2,.principles h2{margin-bottom:var(--s-4)}
.cards{display:grid;gap:var(--s-3)}@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.related .cards{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;padding:var(--s-4) var(--s-3);border:2px solid var(--color-line);color:var(--color-body);text-decoration:none;background:#fff;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--color-ink);color:var(--color-body)}
.card h3{margin-bottom:var(--s-1)}.card p{flex:1}
.card-num{font-size:.85rem;font-weight:800;color:var(--color-accent);letter-spacing:.08em;margin-bottom:var(--s-2)}
.arrow{margin-top:var(--s-3);font-weight:800;color:var(--color-accent)}
.principles{background:var(--color-bg-alt)}
.pillars{display:grid;gap:var(--s-4)}@media(min-width:800px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillars h3{margin-bottom:var(--s-1);padding-top:var(--s-2);border-top:3px solid var(--color-accent)}
.breadcrumbs{padding-block:var(--s-2);font-size:.88rem;color:var(--color-muted)}.breadcrumbs a{color:var(--color-muted)}.breadcrumbs [aria-current]{color:var(--color-ink);font-weight:600}
.page-hero{padding-block:var(--s-4) var(--s-5);border-bottom:1px solid var(--color-line)}
.page-hero h1{margin-bottom:var(--s-3)}
.prose{padding-block:var(--s-5)}
.prose h2{margin:var(--s-5) 0 var(--s-2);font-size:clamp(1.4rem,2.6vw,1.8rem)}.prose h2:first-child{margin-top:0}
.prose p,.prose ul,.prose ol,.prose .table-wrap{margin-bottom:var(--s-3)}
.prose ul,.prose ol{padding-left:1.25rem}.prose li{margin-bottom:.4rem}
.checklist{list-style:none;padding-left:0!important}
.checklist li{position:relative;padding-left:2rem}
.checklist li::before{content:'';position:absolute;left:0;top:.35em;width:1.1rem;height:1.1rem;border:2px solid var(--color-accent);background:linear-gradient(var(--color-accent),var(--color-accent)) center/0 0 no-repeat}
.checklist li::after{content:'';position:absolute;left:.38rem;top:.5em;width:.32rem;height:.6rem;border:solid var(--color-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.steps{counter-reset:s;list-style:none;padding-left:0!important}
.steps li{counter-increment:s;position:relative;padding-left:2.6rem;min-height:1.9rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;display:grid;place-items:center;background:var(--color-ink);color:#fff;font-weight:800;font-size:.9rem}
.table-wrap{overflow-x:auto;border:1px solid var(--color-line)}
table{width:100%;border-collapse:collapse;font-size:.97rem;min-width:520px}
th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-line);vertical-align:top}
th{background:var(--color-bg-alt);color:var(--color-ink);font-weight:800}tbody tr:last-child td{border-bottom:0}
.contact-email{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:800}
.faq{background:var(--color-bg-alt)}.faq h2{margin-bottom:var(--s-3)}
.faq details{border-bottom:2px solid var(--color-line);padding-block:var(--s-2)}
.faq summary{font-weight:800;font-size:1.08rem;color:var(--color-ink);cursor:pointer;list-style:none;position:relative;padding-right:2rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:0;top:-.1rem;font-size:1.5rem;color:var(--color-accent)}
.faq details[open] summary::after{content:'\2212'}.faq details p{margin-top:var(--s-1)}
.related{border-top:1px solid var(--color-line)}
.site-footer{background:var(--color-ink);color:#cfe2de;padding-block:var(--s-5) var(--s-3);font-size:.95rem}
.site-footer a{color:#fff}
.footer-grid{display:grid;gap:var(--s-4)}@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}
.footer-h{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--s-2)}
.site-footer ul{list-style:none;padding:0}.site-footer li{margin-bottom:.5rem}
.tagline{margin:var(--s-2) 0;max-width:36ch}
.footer-bottom{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid rgba(255,255,255,.15);font-size:.84rem;color:#a9c4bf}
