@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Manrope:wght@400;500;600;700&display=swap');

:root{--ink:#173331;--ink-soft:#284641;--paper:#f7f4ed;--white:#fffdfa;--lime:#d7e479;--coral:#d66e51;--sand:#e6ded0;--line:#d9d4ca;--muted:#62736e;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Manrope,Arial,sans-serif}a{color:inherit}.top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,94px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(247,244,237,.94);backdrop-filter:blur(14px);z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:11px;line-height:1.2}.brand img{width:43px;height:48px;object-fit:contain}.brand b{font-size:15px}.top nav{display:flex;align-items:center;gap:clamp(12px,2vw,27px)}.top nav a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.01em}.top nav a:hover{color:var(--coral)}.menu{display:none;border:0;background:transparent;color:var(--ink);font-size:26px}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1;letter-spacing:-.045em;margin:0}h1{font-size:clamp(53px,8vw,116px)}h2{font-size:clamp(39px,5.1vw,68px)}h3{font-size:clamp(25px,2.4vw,34px)}.eyebrow{margin:0 0 18px;font:500 11px/1.3 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;border:1px solid currentColor;border-radius:99px;text-decoration:none;font-size:13px;font-weight:700;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button.light{background:var(--lime);border-color:var(--lime);color:var(--ink)}.button.dark{background:var(--ink);border-color:var(--ink);color:var(--white)}.button.outline{color:var(--ink)}.hero{min-height:590px;padding:clamp(62px,8vw,130px) clamp(24px,7vw,120px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.48fr);gap:clamp(36px,8vw,145px);align-items:end;background:var(--ink);color:var(--white);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-12vw;bottom:-18vw;width:55vw;height:55vw;border-radius:50%;border:1px solid rgba(215,228,121,.25)}.hero>div,.hero>aside{position:relative;z-index:1}.hero .eyebrow{color:var(--lime)}.hero p:not(.eyebrow){max-width:550px;margin:28px 0;font-size:18px;color:#d9e3de}.hero aside{padding:27px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);background:rgba(255,255,255,.04)}.hero aside p{font:11px 'DM Mono',monospace;text-transform:uppercase;color:var(--lime);margin:0}.hero aside strong{display:block;margin:16px 0 20px;font:27px/1.16 Fraunces,serif}.hero aside a{font-size:13px;font-weight:700}.section{padding:clamp(64px,9vw,135px) clamp(24px,7vw,120px)}.section-head{max-width:1240px;margin:0 auto 48px;display:grid;grid-template-columns:1fr minmax(240px,.65fr);gap:clamp(30px,9vw,150px);align-items:end}.section-head>p{margin:0;color:var(--muted);font-size:16px}.notice{padding:23px clamp(24px,7vw,120px);display:grid;grid-template-columns:190px 1fr auto;gap:25px;align-items:center;background:var(--lime)}.notice span{font:500 11px 'DM Mono',monospace;text-transform:uppercase}.notice p{margin:0;font-weight:600}.notice a{font-size:13px;font-weight:700}.board{max-width:1480px;margin:auto}.announcement-list{border-top:1px solid var(--ink)}.announcement{display:grid;grid-template-columns:135px minmax(0,1fr) auto;gap:25px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}.announcement time{font:12px 'DM Mono',monospace;color:var(--muted)}.announcement h3{font-size:26px}.announcement p{margin:7px 0;color:var(--muted);font-size:14px}.announcement a{font-size:13px;font-weight:700;text-decoration:none}.announcement a:hover{text-decoration:underline}.announcement .download{display:block;margin-top:9px;color:var(--coral)}.text-link{display:inline-block;margin-top:25px;font-size:13px;font-weight:700;color:var(--coral);text-decoration:none}.text-link:hover{text-decoration:underline}.towns{background:var(--sand)}.town-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.town-grid article{background:var(--white);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}.town-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(23,51,49,.12)}.town-grid img{display:block;width:100%;height:285px;object-fit:cover}.town-grid div{padding:24px}.town-grid span{font:12px 'DM Mono',monospace;color:var(--coral)}.town-grid h3{margin:16px 0 8px}.town-grid p{margin:0;color:var(--muted);font-size:14px}.town-grid a{display:inline-block;margin-top:17px;font-size:13px;font-weight:700;text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,130px);background:var(--paper)}.link-cards{border-top:1px solid var(--ink)}.link-cards a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:19px 0;border-bottom:1px solid var(--ink);text-decoration:none;font:27px/1.15 Fraunces,serif;transition:padding .2s}.link-cards a:hover{padding-left:10px;color:var(--coral)}.tourism{display:grid;grid-template-columns:1fr 1fr;background:#df9959}.tourism img{width:100%;min-height:520px;height:100%;object-fit:cover}.tourism>div{padding:clamp(60px,10vw,145px) clamp(24px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.tourism p:not(.eyebrow){max-width:440px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,8vw,130px);background:var(--white)}.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:28px}.contact-card{padding:17px;border:1px solid var(--line);border-radius:14px}.contact-card span{display:block;font:10px 'DM Mono',monospace;color:var(--coral);text-transform:uppercase}.contact-card a,.contact-card strong{display:block;margin-top:5px;font-size:14px;color:var(--ink);text-decoration:none}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:14px Manrope,sans-serif}.contact-form textarea{min-height:110px;resize:vertical}.contact-form .form-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}.contact-form button{justify-self:start;background:var(--ink);color:var(--white);border:0}.reading-nav{position:sticky;top:82px;z-index:10;background:rgba(247,244,237,.97);border-bottom:1px solid var(--line);padding:13px clamp(20px,7vw,120px);display:flex;gap:9px;overflow-x:auto}.reading-nav a{flex:0 0 auto;border:1px solid var(--ink);border-radius:99px;padding:6px 12px;color:var(--ink);text-decoration:none;font-size:12px;font-weight:700}.source-section{padding:80px max(7vw,calc((100vw - 1050px)/2));border-bottom:1px solid var(--line)}.source-section:nth-child(even){background:var(--white)}.source-section h2{max-width:790px;margin-bottom:28px}.source-section .lead{max-width:780px;margin:0 0 25px;color:#3b534e;font-size:20px;font-weight:500}.source-section p{max-width:820px;margin:0 0 17px;color:#39504a;font-size:15px}.source-section p:not(.lead):not(.eyebrow){padding-left:17px;border-left:2px solid var(--lime)}.source-section a{font-weight:700;color:var(--ink)}footer{padding:46px clamp(24px,7vw,120px);background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end}footer .brand{color:var(--white)}footer p{margin:0;font-size:14px;color:#d8e0dc}footer a{color:inherit}.hidden{display:none!important}@media(max-width:800px){.top{height:72px}.menu{display:block}.top nav{display:none}.hero{min-height:auto;grid-template-columns:1fr;padding-top:75px}.notice{grid-template-columns:1fr;gap:7px}.section-head,.split,.contact{grid-template-columns:1fr;gap:25px}.announcement{grid-template-columns:1fr;gap:7px}.announcement>a{margin-top:4px}.town-grid{grid-template-columns:1fr}.town-grid img{height:240px}.tourism{grid-template-columns:1fr}.tourism img{min-height:290px;height:290px}.contact-details{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form label.full{grid-column:auto}.reading-nav{top:72px}.source-section{padding:55px 25px}.source-section .lead{font-size:18px}footer{grid-template-columns:1fr}}
