:root{--forest:#153F35;--teal:#249A88;--btn:#1B7568;--btn-h:#166355;--btn-a:#114C41;--sand:#F3EFE5;--sage:#A9B89A;--ink:#1F2924;--muted:#66756E;--line:#E2DCCB;--err:#B42318;--ok:#26734D}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font-family:'Manrope',system-ui,sans-serif;font-size:17px;line-height:1.65}
h1,h2,h3{font-family:'Josefin Sans',sans-serif;font-weight:400;color:var(--forest);margin:0;line-height:1.15}
p{margin:0}
img{max-width:100%;display:block}
a{color:var(--btn-h)}a:hover{color:var(--forest)}
::selection{background:rgba(36,154,136,.25)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding-left:22px;padding-right:22px}
.kicker{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--btn-h);font-weight:600;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:none;border-radius:999px;font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn-primary{background:var(--btn);color:#fff}.btn-primary:hover{background:var(--btn-h)}.btn-primary:active{background:var(--btn-a)}
.btn-outline{background:transparent;border:1.5px solid var(--forest);color:var(--forest)}.btn-outline:hover{background:rgba(21,63,53,.07)}
.btn-sand{background:var(--sand);color:var(--forest);font-weight:700}.btn-sand:hover{background:var(--ink);color:#fff}
header.site{position:sticky;top:0;z-index:50;background:rgba(243,239,229,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:20px;height:70px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--forest)}
.brand img{width:50px;height:50px;object-fit:contain}
.brand span{font-family:'Josefin Sans',sans-serif;font-weight:500;font-size:16.5px;letter-spacing:.26em;text-transform:uppercase;margin-top:2px}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:30px}
.nav-links a{text-decoration:none;color:var(--ink);font-size:14.5px;font-weight:500}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--btn-h)}
.nav-links a.btn-primary,.nav-links a.btn-primary:hover{color:#fff}
.nav-links .btn{min-height:46px;padding:0 22px;font-size:14.5px}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--forest)}
.m-nav{display:none;flex-direction:column;border-top:1px solid var(--line);padding:6px 22px 18px;background:var(--sand)}
.m-nav a{text-decoration:none;color:var(--ink);font-weight:500;padding:13px 2px;border-bottom:1px solid var(--line)}
.m-nav a:last-child{border-bottom:none}
section.band{border-top:1px solid var(--line)}
.bg-white{background:#fff}
.bg-forest{background:var(--forest)}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.gauto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{padding:26px;background:var(--sand);border-radius:18px}
.card h3{font-size:20px;font-weight:500}
.card p{font-size:14.5px;color:var(--muted);margin-top:8px}
.card-line{padding:28px;border:1.5px solid var(--line);border-radius:18px;background:transparent}
.pill{font-size:13.5px;font-weight:500;padding:8px 16px;background:#fff;border:1.5px solid var(--line);border-radius:999px;color:var(--forest);display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.pill:hover{border-color:var(--teal);background:rgba(36,154,136,.08);color:var(--btn-h)}
.tag-sand{font-size:13px;font-weight:500;padding:7px 14px;background:var(--sand);border-radius:999px;color:var(--forest);display:inline-block}
.tile{aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:#E9E3D3;opacity:.72;filter:saturate(.85);transition:transform .3s,opacity .3s,filter .3s;position:relative}
.tile img{width:100%;height:100%;object-fit:cover}
.tile-cap{position:absolute;left:10px;bottom:10px;pointer-events:none;font-size:12px;font-weight:600;letter-spacing:.04em;color:#fff;background:rgba(21,63,53,.72);padding:5px 12px;border-radius:999px}
figure.tile-fig{margin:0;position:relative}
@media(hover:hover){.tile:hover{opacity:1;filter:saturate(1);transform:scale(1.015)}}
.tile.lit{opacity:1;filter:saturate(1)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
.reveal.on{opacity:1;transform:none}
input.f,select.f,textarea.f{width:100%;min-height:50px;font:inherit;font-size:16px;padding:12px 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--sand);color:var(--ink)}
input.f:focus-visible,textarea.f:focus-visible{border-color:var(--teal);outline-offset:0}
textarea.f{resize:vertical;min-height:110px}
label.fl{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px}
.chip{min-height:46px;padding:0 18px;border-radius:999px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--btn);border-color:var(--btn);color:#fff}
.err-msg{font-size:13px;color:var(--err);margin-top:5px}
footer.site{border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;padding-top:44px;padding-bottom:44px}
.foot-grid a{font-size:14.5px}
.foot-note{border-top:1px solid var(--line);padding:14px 0;font-size:12.5px;color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:1023px){.g2{grid-template-columns:1fr}.stack{grid-template-columns:1fr!important}}
@media(max-width:899px){.nav-links{display:none}.burger{display:inline-flex}.m-nav.open{display:flex}}
@media(max-width:767px){.g3{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr}}
@media(max-width:479px){.g3{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
@keyframes fill{from{width:0}to{width:100%}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

.foot-note .ft__credit{display:block;margin-top:5px;color:var(--muted)}.foot-note .ft__credit a{color:var(--forest);text-decoration:none;border-bottom:1px solid rgba(21,63,53,.35);padding-bottom:1px;transition:color .15s ease,border-color .15s ease}.foot-note .ft__credit a:hover,.foot-note .ft__credit a:focus-visible{color:var(--ink);border-bottom-color:var(--ink)}
