
:root{--sand:#F7EBD8;--cream:#FFF9EE;--ink:#3A2A1E;--pool:#177E7E;--poolt:#DDF0EC;--coral:#F2665E;--coralt:#FBE3DC;--sun:#F5B841;--sunt:#FBEFD2;--line:#E4D2B4;--mut:#7A6A57}
*{box-sizing:border-box;margin:0}
body{background:var(--sand);color:var(--ink);font:16.5px/1.62 "Karla",system-ui,sans-serif}
h1,h2,h3,.brand{font-family:"Alfa Slab One",Georgia,serif;font-weight:400;letter-spacing:.01em}
a{color:var(--pool)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.site{padding:16px 0;border-bottom:3px solid var(--ink);background:var(--sand)}
header.site .wrap{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}
.brand{font-size:1.25rem;color:var(--coral);text-decoration:none;text-shadow:2px 2px 0 var(--sunt)}
nav a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.93rem;margin-right:16px;border-bottom:3px solid transparent}
nav a:hover{border-bottom-color:var(--sun)}
.hero{padding:64px 0 46px;position:relative;overflow:hidden;border-bottom:3px solid var(--ink)}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.14;max-width:17ch;color:var(--ink)}
.hero p{max-width:56ch;margin-top:16px;font-size:1.1rem}
.arc{position:absolute;right:4%;bottom:-4px;width:380px;height:190px;border-radius:380px 380px 0 0;background:radial-gradient(circle at 50% 100%,var(--sun) 0 20%,transparent 20% 27%,var(--coral) 27% 47%,transparent 47% 54%,var(--pool) 54% 74%,transparent 74%);opacity:.9;pointer-events:none}
@media(max-width:860px){.arc{width:240px;height:120px;opacity:.35;right:-30px}}
.kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);font-weight:700;margin-bottom:12px}
.stamp{display:inline-block;border:2px solid var(--ink);border-radius:999px;padding:5px 16px;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--ink);opacity:.72;transform:rotate(-2deg);margin-top:18px;background:transparent}
.controls{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0 6px}
.chip{border:2px solid var(--ink);background:var(--cream);border-radius:999px;padding:6px 15px;font:700 .85rem "Karla";cursor:pointer;box-shadow:2px 2px 0 rgba(58,42,30,.18)}
.chip.on{background:var(--pool);color:#fff;border-color:var(--ink)}
.chip:active{transform:translate(1px,1px);box-shadow:none}
.tblwrap{overflow-x:auto;border:2px solid var(--ink);border-radius:12px;background:var(--cream);margin:14px 0 44px;box-shadow:5px 5px 0 rgba(58,42,30,.14)}
table{border-collapse:collapse;width:100%;font-size:.9rem;font-variant-numeric:tabular-nums}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:var(--sunt);font-weight:700;cursor:pointer;position:sticky;top:0;border-bottom:2px solid var(--ink)}
th:hover{color:var(--coral)}
td:first-child,th:first-child{position:sticky;left:0;background:var(--cream);max-width:230px;white-space:normal}
th:first-child{background:var(--sunt)}
tbody tr:hover td{background:var(--poolt)}
tbody tr:hover td:first-child{background:var(--poolt)}
tr:last-child td{border-bottom:none}
td a{font-weight:700;text-decoration:none;color:var(--pool)}
.b{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;border:1.5px solid var(--ink)}
.ok{background:var(--poolt);color:#0F5B54}.no{background:var(--coralt);color:#9C3423}.mid{background:var(--sunt);color:#8A5F0B}
.check{color:var(--pool);font-weight:700}
.dash{color:#C9B78F}
section.tier{padding:30px 0}
section.tier h2{font-size:1.35rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:18px}
.card{background:var(--cream);border:2px solid var(--ink);border-radius:10px;padding:20px 20px 18px;display:block;text-decoration:none;color:var(--ink);position:relative;box-shadow:4px 4px 0 rgba(58,42,30,.16);transition:transform .12s}
.card:hover{transform:rotate(-.6deg) translateY(-2px)}
.card h3{color:var(--coral);margin-bottom:8px;font-size:1.05rem;padding-right:86px;line-height:1.3}
.card p{font-size:.9rem;color:var(--mut)}
.card .m{margin-top:12px}
.pstamp{position:absolute;top:12px;right:12px;border:2px dashed var(--ink);border-radius:6px;padding:5px 9px;font:700 .78rem "Karla";transform:rotate(2deg);background:var(--sunt);text-align:center;line-height:1.25}
.pstamp small{display:block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--mut)}
/* city page */
.cityhead{padding:48px 0 32px;border-bottom:3px solid var(--ink);position:relative;overflow:hidden}
.cityhead h1{font-size:clamp(1.6rem,4vw,2.5rem);max-width:22ch}
.cols{display:grid;grid-template-columns:310px 1fr;gap:38px;padding:36px 0}
@media(max-width:760px){.cols{grid-template-columns:1fr}}
.spine{background:var(--cream);border:2px solid var(--ink);border-radius:10px;height:fit-content;box-shadow:4px 4px 0 rgba(58,42,30,.16)}
.spine h2{font-size:.95rem;padding:13px 16px;background:var(--sunt);border-bottom:2px solid var(--ink);border-radius:8px 8px 0 0}
.fact{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);font-size:.87rem}
.fact:last-child{border-bottom:none}
.fact .k{color:var(--mut)}
.fact .v{text-align:right;font-weight:700;max-width:60%}
.body h2{margin:24px 0 8px;font-size:1.25rem}
.note{background:var(--sunt);border:2px dashed var(--ink);padding:14px 16px;border-radius:8px;font-size:.9rem;margin:20px 0}
input,select,textarea{font:inherit;width:100%;padding:11px 13px;border:2px solid var(--ink);border-radius:8px;background:var(--cream);color:var(--ink)}
label{display:block;font-size:.85rem;font-weight:700;margin:14px 0 6px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.formgrid{grid-template-columns:1fr}}
fieldset{border:2px solid var(--ink);border-radius:8px;padding:12px 14px;margin-top:14px;background:var(--cream)}
legend{font-size:.85rem;font-weight:700;padding:0 6px}
.mk{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:400;margin:4px 12px 4px 0}
.mk input{width:auto}
button.cta{border:2px solid var(--ink);cursor:pointer;font-size:1rem}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.nl{background:var(--poolt);border-top:3px solid var(--ink);padding:30px 0}
.nl form{display:flex;gap:10px;max-width:540px;flex-wrap:wrap}
.nl input{flex:1;min-width:220px}
.nl h2{font-size:1.1rem;margin-bottom:4px;color:var(--pool)}
.hp{position:absolute;left:-9999px}
footer{border-top:3px solid var(--ink);margin-top:0;padding:26px 0;font-size:.84rem;color:var(--mut);background:var(--sand)}
.cta{display:inline-block;background:var(--coral);color:#fff;text-decoration:none;padding:12px 24px;border-radius:999px;font-weight:700;margin-top:18px;box-shadow:3px 3px 0 rgba(58,42,30,.25)}
.cta:hover{background:#DB4F47}
.cta:active{transform:translate(1px,1px);box-shadow:none}
