:root{color-scheme:light;--ink:#183a40;--teal:#007b80;--pink:#bd2876;--cream:#fff8f2;--line:#dfd9d8;--muted:#53686d;--soft:#e7f3f1;--warn:#fff1d6;--warnline:#e9c77b}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}
a{color:var(--teal);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.skip-link{position:absolute;left:1rem;top:-100px;background:#fff;padding:1rem;z-index:2}.skip-link:focus{top:1rem}
.preview-note{padding:.5rem 1rem;text-align:center;background:#e7eeee;color:#33515a;font-size:.8rem}
header,footer{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 2rem}
header{border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);font-weight:750;text-decoration:none}
.brand span{display:grid;place-items:center;width:2.3rem;height:2.3rem;background:#f3c4d9;border-radius:.8rem;color:#803454}
nav{display:flex;gap:1.6rem;flex-wrap:wrap}nav a{text-decoration:none}
main{max-width:1100px;margin:0 auto;padding:0 2rem}
footer{border-top:1px solid var(--line);font-size:.85rem;flex-wrap:wrap;margin-top:3rem}
.eyebrow{font-size:.85rem;letter-spacing:.05em;color:var(--teal);font-weight:750;margin:0}
h1{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.12;letter-spacing:-.03em;margin:.8rem 0 1rem;overflow-wrap:anywhere}
h2{font-size:1.5rem;line-height:1.3;margin:2.6rem 0 1rem;padding-top:1.6rem;border-top:1px solid var(--line)}
h3{font-size:1.1rem;line-height:1.35;margin:0 0 .4rem}
.lead{font-size:1.2rem;max-width:760px}.hero{padding:3rem 0 1rem;max-width:880px}
.muted{color:var(--muted)}.small{font-size:.85rem}
.disclaimer{background:var(--warn);border:1px solid var(--warnline);border-radius:14px;padding:1rem 1.2rem;font-size:.92rem;margin:1.2rem 0}
.disclaimer strong{display:block}
.actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0}
.btn,.actions a,button{display:inline-block;padding:.75rem 1.4rem;border-radius:10px;text-decoration:none;font-weight:700;font:inherit;font-weight:700;cursor:pointer;border:0}
.primary{background:var(--pink);color:#fff}.primary:hover{background:#a42065}
.secondary{background:#fff;border:1px solid var(--line)!important;color:var(--teal)}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1.2rem 1.3rem;color:var(--ink)}
a.card{text-decoration:none;display:block}a.card:hover{border-color:var(--teal)}
.card .flag{font-size:1.8rem;line-height:1}.card .go{color:var(--teal);font-weight:700}
.badge{display:inline-block;font-size:.72rem;font-weight:750;letter-spacing:.03em;padding:.12rem .55rem;border-radius:999px;background:var(--soft);color:var(--teal);margin:.1rem .25rem .1rem 0;vertical-align:middle}
.badge.warn{background:var(--warn);color:#7a5200}.badge.grey{background:#eee;color:#555}.badge.new{background:#fde3ef;color:#8a1d56}
.search{width:100%;max-width:520px;padding:.8rem 1rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.summary{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1.5rem 0}
.summary .card h3{font-size:.95rem;color:var(--muted);font-weight:700}
.summary .card p{margin:.3rem 0;font-weight:650}
.facts{display:grid;gap:1rem}
.fact{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1rem 1.2rem}
.fact .value{margin:.3rem 0 .5rem}.fact.nc .value{color:var(--muted);font-style:italic}
.fact .meta{font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.3rem 1rem}
.fact .note{font-size:.85rem;background:#fdf3f8;border-radius:8px;padding:.35rem .6rem;margin:.3rem 0}
.stale{font-size:.85rem;color:#7a5200;background:var(--warn);border-radius:8px;padding:.35rem .6rem;margin:.3rem 0}
.principle{background:var(--soft);border:1px solid #c7e1de;border-radius:14px;padding:1rem 1.2rem;margin:1rem 0}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 1rem}
.pills a{padding:.4rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-weight:650;font-size:.92rem}
.pills a[aria-current=true]{background:var(--teal);color:#fff;border-color:var(--teal)}
.links{columns:2 300px;column-gap:2rem;padding-left:1.1rem}.links li{break-inside:avoid;margin:.45rem 0}
.links .src-warn{font-size:.78rem;color:#7a5200}
.support{background:var(--soft);border:1px solid #c7e1de;padding:1.5rem;border-radius:16px;margin:2.5rem 0}
.support h2{margin-top:0;border:0;padding:0}
.slot{display:none}
form.stack{display:grid;gap:1rem;max-width:620px}
label{font-weight:700;display:block}label span{font-weight:400;color:var(--muted);font-size:.9rem}
input[type=text],input[type=number],input[type=date],input[type=email],input[type=url],select,textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:8rem}
.hp{position:absolute;left:-5000px}
.checklist{list-style:none;padding:0;display:grid;gap:.9rem}
.checklist>li{border:1px solid var(--line);border-radius:14px;background:#fff;padding:1rem 1.2rem;margin:0}
.checklist .tick{font-weight:750}
.alert{border-left:5px solid var(--pink);background:#fff;padding:.8rem 1rem;border-radius:8px;margin:1rem 0}
.ok{border-left-color:var(--teal)}
table{border-collapse:collapse;width:100%;font-size:.88rem;background:#fff}th,td{border:1px solid var(--line);padding:.4rem .55rem;text-align:left;vertical-align:top}
.trip-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:end;margin:.4rem 0}
.trip-row button{padding:.6rem .8rem}
.calc-out{margin-top:1rem}
.back{font-size:.9rem}
@media(max-width:650px){header,footer{padding:1rem 1.2rem}header{flex-direction:column;align-items:flex-start;gap:.6rem}.brand{font-size:.95rem}nav{gap:1.1rem;font-size:.95rem}nav .hide-sm{display:none}.actions a{flex:1 1 100%}main{padding:0 1rem}.hero{padding-top:2rem}.lead{font-size:1.05rem}.actions a{text-align:center;flex:1}.links{columns:1}.trip-row{grid-template-columns:1fr 1fr}.trip-row button{grid-column:span 2}}