:root{--ink:#172128;--ink2:#22313a;--muted:#5a6870;--paper:#f5f7f8;--line:#dce3e5;--blue:#314d78;--mint:#d9eee8;--accent:#2f7d6b;--peach:#f7e7dc;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}h1,h2,h3{letter-spacing:-.04em;line-height:1.1;margin:0}h1{font-size:clamp(36px,6vw,72px);font-weight:800}h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:24px;font-weight:800}h3{font-size:20px;font-weight:700}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.top{background:var(--ink);position:sticky;top:0;z-index:10}.top .wrap{display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.logo{font-size:24px;font-weight:850;letter-spacing:-.06em;text-decoration:none;min-height:44px;display:flex;align-items:center;color:#fff}.logo span{color:#8fd1bf}
.top nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.top nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;border-radius:50px;color:#cfdadf}.top nav a:hover{background:var(--ink2);color:#fff}
.hero{background:radial-gradient(900px 400px at 85% -10%,#2d5a52 0,transparent 70%),linear-gradient(180deg,var(--ink),#101a20);color:#fff;padding:72px 0 80px}
.hero .lead{color:#c3d0d6}.badge{display:inline-block;padding:7px 16px;border-radius:50px;background:rgba(143,209,191,.15);color:#8fd1bf;font-size:14px;font-weight:700;margin-bottom:20px;border:1px solid rgba(143,209,191,.3)}
.lead{font-size:clamp(17px,2vw,21px);color:var(--muted);max-width:680px;margin:20px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:50px;background:#fff;color:var(--ink);font-weight:700;font-size:16px;text-decoration:none;border:1px solid #fff;cursor:pointer;font-family:inherit;transition:transform .15s}.btn:hover{transform:translateY(-2px)}
.btn.alt{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
section.blk{padding:64px 0}section.blk+section.blk{border-top:1px solid var(--line)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;position:relative;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 18px 40px rgba(23,33,40,.08);transform:translateY(-3px)}
.card .n{display:block;font-size:14px;font-weight:800;color:var(--accent);letter-spacing:.08em;margin-bottom:18px}.card p{margin:10px 0 0;color:var(--muted);font-size:16px}
.cal{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;font-size:16px}.cal th,.cal td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}.cal tr:last-child td{border-bottom:0}.cal th{background:var(--ink);color:#fff;font-weight:600}
.note{font-size:14px;color:var(--muted);margin-top:14px}
form.intro{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;max-width:600px;box-shadow:0 18px 40px rgba(23,33,40,.06)}
form.intro label{font-weight:650;font-size:15px;display:grid;gap:6px}form.intro input,form.intro select,form.intro textarea{font:inherit;font-size:16px;min-height:50px;padding:10px 14px;border:1px solid #b8c4c9;border-radius:14px;background:#fff;color:var(--ink)}form.intro input:focus,form.intro select:focus,form.intro textarea:focus{outline:3px solid #426bad;border-color:transparent}
form.intro textarea{min-height:100px}form.intro .btn{background:var(--ink);color:#fff;border-color:var(--ink)}
details{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:10px}details[open]{border-color:var(--accent)}details summary{cursor:pointer;min-height:56px;padding:16px 20px;font-weight:700;font-size:17px;display:flex;align-items:center}details p{padding:0 20px 18px;margin:0;color:var(--muted)}
.art{max-width:760px;margin:0 auto;padding:40px 20px 20px}.art h1{font-size:clamp(32px,4.6vw,50px)}.art h2{margin-top:44px;font-size:clamp(24px,3vw,30px);margin-bottom:12px}.art p,.art li{font-size:18px;line-height:1.7}.art ul{padding-left:22px}.art .btn{background:var(--ink);color:#fff;border-color:var(--ink)}.art .btn.alt{background:#fff;color:var(--ink);border-color:var(--ink)}.art .row{margin:40px 0}
.meta{font-size:14px;color:var(--muted);margin:16px 0 28px}.callout{background:var(--mint);border-left:4px solid var(--accent);border-radius:14px;padding:18px 22px;font-size:17px;margin:28px 0}
.crumbs{font-size:14px;color:var(--muted);padding-top:20px}.crumbs a{text-decoration:underline}
footer.foot{background:var(--ink);color:#9fb0b7;padding:36px 0 48px;margin-top:48px;font-size:14px}footer.foot a{color:#fff;display:inline-block;min-height:44px;line-height:44px;margin-right:18px}
@media(max-width:560px){.top nav{margin-left:0;gap:0}.top nav a{padding:0 10px}.btn{width:100%}.hero{padding:44px 0 52px}section.blk{padding:44px 0}.cal{font-size:14px}.cal th,.cal td{padding:12px}.card{padding:22px}}
