
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
img{height:auto}
[hidden]{display:none!important}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:9999;padding:10px 16px;background:#000;color:#fff;border-radius:8px;text-decoration:none}
.skip:focus{top:60px}
:focus-visible{outline:3px solid var(--focus,#1d4ed8);outline-offset:3px}
.ph{margin:0;overflow:hidden;background:var(--phbg,#ddd);position:relative}
.ph img{width:100%;height:100%;object-fit:cover}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-weight:600;font-size:.92rem}
.field .opt{font-weight:400;opacity:.7}
.field input,.field select,.field textarea{min-height:48px;padding:12px 14px;border-radius:var(--r-in,10px);border:1.5px solid var(--line,#ccc);background:var(--field,#fff);font-size:16px;width:100%;min-width:0}
.field textarea{min-height:110px;resize:vertical}
.field .hint{font-size:.82rem;opacity:.75}
.field .err{font-size:.84rem;color:var(--err,#b42318);min-height:0}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--err,#b42318)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form .full,.form .form-foot{grid-column:1/-1}
.form-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
fieldset{min-width:0;border:0;padding:0;margin:0}
@media (max-width:640px){.form{grid-template-columns:minmax(0,1fr)}}
.thanks{padding:28px;border-radius:var(--r-card,14px)}
.thanks-k{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;margin:0 0 6px}
.faq details{border-bottom:1px solid var(--line,#ccc)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;cursor:pointer;font-weight:600;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:14px;height:14px;position:relative}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;inset:6px 0 auto 0;height:2px;background:currentColor;transition:transform .25s}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq-a{padding:0 0 18px}
.faq-a p{margin:0;max-width:68ch}
.tablebox{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tablebox table{border-collapse:collapse;width:100%;min-width:520px}
.js [data-rv]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js [data-rv].in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.js [data-rv]{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

:root{--sand:#F5EADB;--paper:#FFF8EF;--ink:#2B1A14;--terra:#9E3F24;--teal:#1D5E57;--slate:#1F2A26;--chalk:#F2EEE3;--sun:#E9A23B;--muted:#6B5245;--line:#D9C7AE;--phbg:#E2CFB6;--focus:#1D5E57;--hf:'Yeseva One',Georgia,serif;--bf:'Hanken Grotesk',system-ui,sans-serif;--r-card:18px;--r-in:12px;--field:#FFF8EF}
body{background:var(--sand);color:var(--ink);font-family:var(--bf)}
h1,h2,h3{font-family:var(--hf);font-weight:400;line-height:1.08;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.6rem,7vw,5.6rem)}
h2{font-size:clamp(2rem,4.4vw,3.4rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
a{color:var(--terra);text-underline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--terra);margin:0 0 14px}
.lead{font-size:1.18rem;line-height:1.55;max-width:58ch}
.small{font-size:.88rem;color:var(--muted)}
.cap{font-size:.82rem;color:var(--muted);margin-top:8px}
em{font-style:normal;color:var(--terra)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);font-weight:700;text-decoration:none;font-size:.98rem;transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:20px;height:20px}
.btn-solid{background:var(--terra);border-color:var(--terra);color:var(--paper)}
.btn-solid:hover{background:#86331C}
.btn-solid[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn-line{border-color:currentColor}
.btn-light{background:var(--sand);border-color:var(--sand);color:var(--ink)}
.btn-ghost-light{border-color:var(--sand);color:var(--sand)}
.btn-sm{min-height:44px;padding:8px 18px;font-size:.92rem}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s}
.hdr-in{max-width:1320px;margin:0 auto;padding:12px 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;transition:padding .3s}
.hdr.is-scrolled{background:rgba(245,234,219,.96);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(8px)}
.hdr.is-scrolled .hdr-in{padding-top:6px;padding-bottom:6px}
.nav-l,.nav-r nav{display:flex;gap:22px}
.nav-l a,.nav-r nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;padding:10px 0;border-bottom:2px solid transparent}
.nav-l a:hover,.nav-r nav a:hover,.nav-l a[aria-current],.nav-r nav a[aria-current]{border-color:var(--terra)}
.nav-r{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.logo{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink)}
.logo-w{font-family:var(--hf);font-size:1.7rem;line-height:1}
.logo-s{display:flex;align-items:center;gap:8px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);font-weight:700;margin-top:4px}
.wave-mark{width:26px;height:10px}
.bagbtn{position:relative;width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);background:transparent;display:grid;place-items:center}
.bagbtn svg{width:22px;height:22px}
.bagbtn b{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;border-radius:999px;background:var(--terra);color:var(--paper);font-size:.75rem;display:grid;place-items:center;padding:0 5px}
.menubtn{display:none;align-items:center;gap:10px;min-height:48px;padding:0 16px;border-radius:999px;border:2px solid var(--ink);background:transparent;font-weight:700}
.mb-l{display:grid;gap:5px}.mb-l i{display:block;width:18px;height:2px;background:currentColor}
@media (max-width:1180px){.nav-l,.nav-r nav{display:none}.menubtn{display:inline-flex}.hdr-in{grid-template-columns:auto 1fr auto}.logo{align-items:flex-start;grid-column:1;grid-row:1}.nav-r{grid-column:3}}
@media (max-width:640px){.nav-r .btn-sm{display:none}.logo-w{font-size:1.4rem}.menubtn span:last-child{display:none}.menubtn{width:48px;padding:0;justify-content:center}.hdr .bagbtn{display:none}}

/* overlay menu */
.layer{position:fixed;inset:0;z-index:2000}
html.layer-open{overflow:hidden}
.menu-layer{background:var(--terra);color:var(--sand);overflow:auto}
.menu-in{max-width:1100px;margin:0 auto;padding:70px 20px 40px;min-height:100%;display:flex;flex-direction:column;gap:30px}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-top .logo-w{font-size:1.6rem}
.xbtn{min-height:44px;padding:8px 18px;border-radius:999px;border:2px solid currentColor;background:transparent;color:inherit;font-weight:700}
.menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 40px}
.menu-links a{display:flex;align-items:baseline;gap:16px;color:var(--sand);text-decoration:none;font-family:var(--hf);font-size:clamp(1.6rem,4vw,2.6rem);padding:10px 0;border-bottom:1px solid rgba(245,234,219,.25)}
.menu-links a i{font-family:var(--bf);font-style:normal;font-size:.8rem;opacity:.75}
.menu-links a:hover,.menu-links a[aria-current]{color:var(--sun)}
.menu-foot a{color:var(--sand)}
@media (max-width:640px){.menu-links{grid-template-columns:minmax(0,1fr)}}

/* bag drawer */
.bag-layer{background:rgba(43,26,20,.5)}
.bag{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--paper);display:flex;flex-direction:column;overflow:auto;padding-top:48px}
.bag-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.bag-top h2{font-size:1.8rem;margin:0}
.bag-body{padding:18px 22px}
.bag-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.bag-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding-bottom:14px;border-bottom:1px dashed var(--line)}
.bag-list .bl-n{font-weight:700}
.bag-list .bl-d{font-size:.84rem;color:var(--muted);grid-column:1}
.bag-list .bl-p{font-weight:700;text-align:right}
.bag-foot{padding:0 22px 30px;margin-top:auto}
.bag-sum{display:flex;justify-content:space-between;padding:6px 0}
.bag-total{font-size:1.2rem;border-top:2px solid var(--ink);margin-top:6px;padding-top:10px}
.bag-form{margin-top:18px}
.step{display:inline-flex;align-items:center;border:2px solid var(--ink);border-radius:999px;overflow:hidden}
.step button{width:44px;height:44px;border:0;background:transparent;font-size:1.2rem;font-weight:700}
.step output{min-width:30px;text-align:center;font-weight:700}
.bag-list .step{grid-column:1}.bag-list .step button{width:36px;height:36px}
.bl-x{background:none;border:0;color:var(--terra);text-decoration:underline;font-size:.85rem;min-height:36px;justify-self:end}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg legend{font-weight:700;font-size:.92rem;margin-bottom:8px;width:100%}
.seg label,.seg button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);font-size:.92rem;cursor:pointer}
.seg button[aria-pressed=true],.seg label:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--sand)}
.seg input{accent-color:var(--terra)}

/* tide + hero */
.tide{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px}
.tide-a{fill:var(--terra);opacity:.18}
.tide-b{fill:var(--sand)}
.hero{position:relative;padding:120px 0 120px;overflow:hidden;background:radial-gradient(1200px 600px at 85% 10%,#F0D7B8 0,transparent 60%),#EEDAC0}
.hero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:50px;align-items:center}
.hero h1{font-size:clamp(2.6rem,5.6vw,5.3rem);line-height:1.02}
.hero h1 span{display:block}
.hero h1 em{color:var(--terra)}
.hero-b{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.live{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600;background:var(--paper);border:1px solid var(--line);padding:10px 16px;border-radius:999px}
.dot{width:10px;height:10px;border-radius:50%;background:#2E8B57;box-shadow:0 0 0 0 rgba(46,139,87,.6);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(46,139,87,0)}100%{box-shadow:0 0 0 0 rgba(46,139,87,0)}}
.hero-v{position:relative;min-height:520px}
.ph-arch .ph{border-radius:999px 999px 24px 24px}
.hv-1{position:absolute;right:0;top:0;width:78%}
.hv-2{position:absolute;left:0;bottom:-10px;width:44%;border:8px solid var(--sand);border-radius:50%;overflow:hidden}
.hv-2 .ph{border-radius:50%}
.hv-tag{position:absolute;left:8%;top:12%;background:var(--slate);color:var(--chalk);padding:14px 18px;border-radius:14px;transform:rotate(-4deg);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.hv-tag b{display:block;font-family:var(--hf);font-size:1.8rem;color:var(--sun);font-weight:400}
.hv-tag span{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em}
.scrollcue{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:0}
.scrollcue i{width:2px;height:40px;background:linear-gradient(var(--terra),transparent);animation:cue 2s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.tide-a{animation:tide 9s ease-in-out infinite alternate}
@keyframes tide{to{transform:translateX(-60px)}}
@media (max-width:900px){.hero{padding:96px 0 100px}.hero-in{grid-template-columns:minmax(0,1fr)}.hero-v{min-height:0;height:380px}.hv-1{width:70%}.scrollcue{display:none}}

/* page hero */
.phero{position:relative;padding:130px 0 110px;background:radial-gradient(900px 500px at 90% 0,#F3D2AE 0,transparent 60%),#EEDAC0;overflow:hidden}
.phero-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:50px;align-items:end}
.phero-in.no-pic{grid-template-columns:minmax(0,1fr)}
.phero h1{font-size:clamp(2.6rem,6.4vw,5.4rem)}
.phero .ph-arch{max-width:420px;justify-self:end;width:100%}
@media (max-width:820px){.phero{padding:100px 0 90px}.phero-in{grid-template-columns:minmax(0,1fr)}.phero .ph-arch{max-width:320px;justify-self:start}}

/* sections */
.sec{padding:clamp(56px,8vw,104px) 0;position:relative}
.sand{background:var(--sand)}
.teal{background:var(--teal);color:var(--chalk)}
.terra{background:var(--terra);color:var(--sand)}
.slate-sec{background:var(--slate);color:var(--chalk)}
.teal .kicker,.slate-sec .kicker{color:var(--sun)}
.terra .kicker{color:#FFD9A8}
.teal em,.slate-sec em{color:var(--sun)}
.teal a:not(.btn),.terra a:not(.btn),.slate-sec a:not(.btn){color:inherit}
.teal .small,.terra .small,.slate-sec .small{color:inherit;opacity:.85}
.sh{margin-bottom:36px;max-width:760px}
.sh h2{margin-bottom:12px}
.split2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:820px){.split2{grid-template-columns:minmax(0,1fr)}}
.mask{overflow:hidden;border-radius:var(--r-card)}
.js .mask.armed{clip-path:inset(0 0 100% 0 round 18px);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
.js .mask.armed.in{clip-path:inset(0 0 0 0 round 18px)}
.js .mask.armed .ph img{transform:scale(1.15);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.js .mask.armed.in .ph img{transform:scale(1)}
.numl{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.numl li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.teal .numl li,.terra .numl li{border-color:rgba(242,238,227,.25)}
.nl-n{font-family:var(--hf);font-size:2rem;color:var(--terra);line-height:1}
.teal .nl-n{color:var(--sun)}
.numl h3{margin-bottom:6px}
.numl p{margin:0}
.ticks{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.ticks li{padding-left:30px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:8px;border-left:2.5px solid var(--sun);border-bottom:2.5px solid var(--sun);transform:rotate(-45deg)}
.quote{margin:28px 0}
.quote blockquote{margin:0}
.quote p{font-family:var(--hf);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.25;margin:0 0 10px}
.quote p::before{content:"\201C";color:var(--terra);margin-right:4px}
.teal .quote p::before{color:var(--sun)}
.quote figcaption{font-size:.88rem;opacity:.85}
.quote-xl{text-align:center;max-width:900px;margin:0 auto}
.quote-xl p{font-size:clamp(1.8rem,4vw,3.2rem)}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{background:var(--paper);color:var(--ink);border-radius:var(--r-card);padding:26px;border:1px solid var(--line)}
.teal .card{background:rgba(242,238,227,.08);color:var(--chalk);border-color:rgba(242,238,227,.2)}
.card h3{margin-bottom:8px}
.card p{margin:0}
.card-t .ct-p{display:block;font-family:var(--hf);font-size:2rem;color:var(--terra);margin-bottom:10px}
.card-t .ct-p small{font-family:var(--bf);font-size:.8rem;color:var(--muted);margin-left:6px}
@media (max-width:820px){.cards3{grid-template-columns:minmax(0,1fr)}}
.cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{margin-bottom:8px}
.cta p{margin:0;font-size:1.1rem}
.cta-b{display:flex;gap:12px;flex-wrap:wrap}
.panel{background:var(--paper);color:var(--ink);border-radius:24px;padding:clamp(20px,4vw,40px);border:1px solid var(--line)}
.thanks{background:var(--paper);color:var(--ink);border:2px solid var(--teal)}
.thanks-k{color:var(--teal)}
.tbl{width:100%;border-collapse:collapse;min-width:520px}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.tbl th{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.teal .tbl th,.teal .tbl td{border-color:rgba(242,238,227,.25)}

/* story home */
.story{display:grid;grid-template-columns:220px minmax(0,1fr);position:relative}
.rail{position:sticky;top:130px;align-self:start;padding:30px 14px 30px 24px;height:max-content;z-index:5;background:var(--sand);border-radius:0 18px 18px 0;margin-top:40px}
.rail ol{list-style:none;margin:0;padding:0 0 0 18px;display:grid;gap:4px}
.rail a{display:flex;gap:10px;align-items:baseline;text-decoration:none;color:var(--muted);font-size:.9rem;padding:8px 0;min-height:40px}
.rail a i{font-style:normal;font-family:var(--hf);font-size:1.1rem}
.rail a.on{color:var(--ink);font-weight:700}
.rail a.on i{color:var(--terra)}
.rail-line{position:absolute;left:24px;top:38px;bottom:38px;width:2px;background:var(--line)}
.rail-line i{display:block;width:100%;height:100%;background:var(--terra);transform-origin:top;transform:scaleY(0)}
.story-main{min-width:0}
.chap{padding:clamp(60px,8vw,110px) 0;position:relative}
.chap .wrap{padding-left:0}
.chap-h{position:relative;margin-bottom:34px}
.chap-n{position:absolute;right:0;top:-40px;font-family:var(--hf);font-size:clamp(7rem,16vw,14rem);line-height:1;color:transparent;-webkit-text-stroke:2px var(--line);pointer-events:none;z-index:0}
.chap-h>*:not(.chap-n){position:relative;z-index:1}
.chap-h h2{font-size:clamp(2.4rem,5.4vw,4.4rem)}
.chap-slate{background:var(--slate);color:var(--chalk)}
.chap-slate .chap-n{-webkit-text-stroke-color:rgba(242,238,227,.14)}
.chap-slate .kicker,.chap-teal .kicker{color:var(--sun)}
.chap-teal{background:var(--teal);color:var(--chalk)}
.chap-teal .chap-n{-webkit-text-stroke-color:rgba(242,238,227,.18)}
.chap-terra{background:var(--terra);color:var(--sand)}
.chap-terra .chap-n{-webkit-text-stroke-color:rgba(245,234,219,.25)}
.chap-terra .kicker{color:#FFD9A8}
.chap-slate,.chap-teal,.chap-terra{margin-left:-220px;padding-left:220px}
.big-p{font-family:var(--hf);font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.3;max-width:30ch}
.c1,.c3,.c4{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,70px);align-items:start}
.c3{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.tline{list-style:none;margin:30px 0 0;padding:0 0 0 26px;position:relative}
.tline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tline::after{content:"";position:absolute;left:6px;top:8px;width:2px;height:var(--tl,0%);background:var(--terra);transition:height .3s linear}
.tline li{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;padding:12px 0}
.tline li::before{content:"";position:absolute;left:-26px;top:20px;width:14px;height:14px;border-radius:50%;background:var(--sand);border:2px solid var(--terra)}
.tline b{font-family:var(--hf);font-weight:400;font-size:1.4rem;color:var(--terra)}
.tline h3{margin-bottom:4px;font-size:1.2rem}
.tline p{margin:0;font-size:.98rem}
.stats2,.stats3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}
.stats3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat b{display:block;font-family:var(--hf);font-weight:400;font-size:clamp(2.6rem,5vw,4rem);line-height:1;color:var(--terra)}
.chap-teal .stat b,.teal .stat b{color:var(--sun)}
.stat span{font-size:.92rem}
.c2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,60px);align-items:start}
.dish-links{display:grid;gap:12px}
.dlink{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:center;text-decoration:none;color:var(--ink);padding:10px;border-radius:16px;border:1px solid var(--line);background:var(--paper);transition:transform .25s}
.dlink:hover{transform:translateX(6px)}
.dlink .ph{border-radius:50%}
.dlink b{display:block;font-family:var(--hf);font-weight:400;font-size:1.25rem}
.dlink small{color:var(--muted)}
.oys-stack{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:end}
.oys-stack .mask:first-child{border-radius:50%}
.c5 .rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0 50px}
.room .ph.arch{border-radius:999px 999px 18px 18px;margin-bottom:14px}
.room p{margin:0}
.rev-h{font-size:1.8rem}
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rev{margin:0;background:var(--paper);border-radius:var(--r-card);padding:24px;border:1px solid var(--line)}
.rev blockquote{margin:10px 0}
.stars{color:var(--sun);letter-spacing:2px}
.rev figcaption{font-weight:700;font-size:.9rem}
.c6{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.c6-b{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.c6-facts{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.c6-facts b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#FFD9A8}
.c6-map svg{border-radius:var(--r-card);width:100%;height:auto}
.c6-map .cap{color:inherit;opacity:.85}
.pulse{animation:pulse 2.4s infinite;transform-origin:center;transform-box:fill-box}
@keyframes pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
@media (max-width:1000px){.story{grid-template-columns:minmax(0,1fr)}.rail{position:sticky;top:112px;z-index:30;padding:0;background:rgba(245,234,219,.97);border-bottom:1px solid var(--line);overflow-x:auto}.rail ol{display:flex;gap:14px;padding:6px 16px}.rail a{white-space:nowrap;font-size:.84rem}.rail a span{display:none}.rail a.on span{display:inline}.rail-line{left:0;right:0;top:auto;bottom:0;width:auto;height:3px}.rail-line i{transform-origin:left;transform:scaleX(0)}.chap-slate,.chap-teal,.chap-terra{margin-left:0;padding-left:0}.chap .wrap{padding-left:20px}}
@media (max-width:820px){.c1,.c2,.c3,.c4,.c6{grid-template-columns:minmax(0,1fr)}.c5 .rooms,.revs{grid-template-columns:minmax(0,1fr)}.stats3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats3 .stat b{font-size:2.2rem}}

/* the board (signature) */
.board{background:linear-gradient(135deg,#6B4A31,#4A3020);padding:14px;border-radius:14px;box-shadow:0 30px 60px rgba(0,0,0,.35),inset 0 0 0 2px rgba(255,255,255,.08)}
.board-in{position:relative;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.06),transparent 40%),radial-gradient(circle at 80% 90%,rgba(255,255,255,.05),transparent 40%),#1F2A26;border-radius:6px;padding:clamp(18px,3vw,34px);color:var(--chalk);overflow:hidden}
.board-top{text-align:center;margin-bottom:18px;border-bottom:2px dashed rgba(242,238,227,.3);padding-bottom:14px}
.b-k{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sun);margin:0 0 4px}
.b-h{font-size:clamp(2rem,4vw,3rem);margin:0;color:var(--chalk);text-shadow:0 0 1px rgba(242,238,227,.6)}
.b-upd{font-size:.85rem;margin:6px 0 0;opacity:.85}
.board-rows{list-style:none;margin:0;padding:0}
.brow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,.8fr) 96px;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid rgba(242,238,227,.12)}
.board-full .brow{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr) 96px auto}
.b-name{font-family:var(--hf);font-size:1.3rem;line-height:1.1}
.b-name small{display:block;font-family:var(--bf);font-size:.78rem;opacity:.75;margin-top:3px}
.b-left{display:grid;gap:5px;font-size:.88rem}
.b-left b{font-family:var(--hf);font-weight:400;font-size:1.15rem;color:var(--sun)}
.b-bar{display:block;height:5px;background:rgba(242,238,227,.15);border-radius:3px;overflow:hidden}
.b-bar i{display:block;height:100%;width:100%;background:var(--chalk);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.b-rate{font-family:var(--hf);font-size:1.15rem}
.b-rate small{display:block;font-family:var(--bf);font-size:.72rem;opacity:.7}
.b-stat{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 10px;border-radius:999px;border:1.5px solid #8FC7B4;color:#8FC7B4;text-align:center}
.brow.few .b-stat{border-color:var(--sun);color:var(--sun)}
.brow.gone .b-stat{border-color:#E7A49A;color:#E7A49A}
.brow.gone .b-name,.brow.gone .b-rate{text-decoration:line-through;text-decoration-thickness:2px;opacity:.55}
.b-pick{min-height:44px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--chalk);background:transparent;color:var(--chalk);font-weight:700;font-size:.85rem}
.b-pick:hover,.b-pick.sel{background:var(--chalk);color:var(--slate)}
.b-pick[disabled]{opacity:.35;cursor:not-allowed}
.b-note{grid-column:1/-1;font-size:.86rem;opacity:.75;margin-top:-4px}
.b-foot{font-size:.8rem;opacity:.75;margin:16px 0 0}
.b-chalk{position:absolute;right:16px;top:14px;width:80px;color:rgba(242,238,227,.35)}
.js .board .chalk-in{opacity:0}
@media (max-width:700px){.brow,.board-full .brow{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.b-left{grid-column:1}.b-rate{grid-column:2;grid-row:1;text-align:right}.b-stat{grid-column:2;grid-row:2;align-self:end}.b-pick{grid-column:1/-1}}
.catch{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:30px;align-items:start}
.plate{position:sticky;top:120px;background:var(--paper);color:var(--ink);border-radius:22px;padding:26px}
.plate h2{font-size:1.9rem;margin-bottom:6px}
.plate .kicker{color:var(--terra)}
.plate .small{color:var(--muted)}
.pf{margin:18px 0}
.pf legend{font-weight:700;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip input,.opt input,.chk input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;min-height:44px;align-items:center;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;cursor:pointer}
.chip input:checked+span{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.chip input:focus-visible+span,.opt input:focus-visible+span,.chk input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.opts{display:grid;gap:8px}
.opts2{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt span{display:block;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);cursor:pointer;font-weight:600;background:var(--paper)}
.opt span small{display:block;font-weight:400;color:var(--muted);font-size:.84rem}
.opt input:checked+span{border-color:var(--terra);box-shadow:inset 0 0 0 1px var(--terra);background:#FBEDE3}
.plate-sum{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;border-top:2px solid var(--ink);margin:18px 0 14px;padding-top:12px}
.plate-sum b{font-family:var(--hf);font-weight:400;font-size:2rem;color:var(--terra)}
.plate-sum small{grid-column:1/-1;color:var(--muted)}
.teal .plate-sum,.teal .plate-sum small{border-color:var(--chalk);color:var(--chalk)}
.teal .plate-sum b{color:var(--sun)}
.plate-b{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.catch{grid-template-columns:minmax(0,1fr)}.plate{position:static}.opts2{grid-template-columns:minmax(0,1fr)}}

/* menu */
.mtools{position:sticky;top:118px;z-index:20;background:var(--sand);padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:30px;display:grid;gap:10px}
.msearch{max-width:520px}
.mchips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.mchip{flex:none;min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font-weight:600;font-size:.9rem}
.mchip[aria-pressed=true]{background:var(--terra);border-color:var(--terra);color:var(--paper)}
.mchip-t[aria-pressed=true]{background:var(--teal);border-color:var(--teal)}
.menu-cols{columns:2 420px;column-gap:56px}
.mcat{break-inside:avoid;margin-bottom:40px}
.mcat-h{display:flex;align-items:baseline;gap:12px;font-size:2rem;border-bottom:2px solid var(--ink);padding-bottom:10px}
.mcat-h i{font-style:normal;font-family:var(--bf);font-size:.8rem;color:var(--terra);font-weight:700}
.mlist{list-style:none;margin:0;padding:0}
.mi{padding:16px 0;border-bottom:1px dashed var(--line);break-inside:avoid}
.mi-t{display:flex;align-items:baseline;gap:10px}
.mi-t h3{font-size:1.2rem;margin:0}
.mi-t h3 a{color:var(--ink)}
.dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px);min-width:20px}
.mi-p{font-weight:700;white-space:nowrap}
.mi p{margin:6px 0 10px;font-size:.95rem;color:var(--muted)}
.mi-f{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 8px;border-radius:6px;background:#EAD9C2}
.tag-pepper{background:#F6D3C4;color:#7A2A12}
.tag-shellfish{background:#D5E7E3;color:#14463F}
.add{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px 6px 16px;border-radius:999px;border:1.5px solid var(--ink);background:var(--paper);font-weight:700;font-size:.88rem}
.add span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--terra);color:var(--paper);font-size:1.1rem}
.add.added{background:var(--teal);color:var(--paper);border-color:var(--teal)}
.mnone{font-size:1.1rem}
.hero-b .add{min-height:48px;background:var(--terra);color:var(--paper);border-color:var(--terra);padding-left:20px}
.hero-b .add span{background:var(--paper);color:var(--terra)}

/* oyster builder */
.ob{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.ob .seg button{color:var(--ink)}
.ob .seg button[aria-pressed=true]{color:var(--sand);background:var(--slate);border-color:var(--sand)}
.ostl{list-style:none;margin:20px 0;padding:0;display:grid;gap:10px}
.ost{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;border-radius:16px;background:rgba(242,238,227,.08);border:1px solid rgba(242,238,227,.2)}
.ost h3{font-size:1.15rem;margin:0 0 2px}
.ost .step{border-color:var(--chalk)}
.ost .step button{color:var(--chalk)}
.platter{width:100%;max-width:460px;margin:0 auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.35))}
.ob-cap{text-align:center;font-size:.9rem;opacity:.85;margin-top:12px}
.gal2-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:820px){.ob{grid-template-columns:minmax(0,1fr)}.ob-v{order:-1}.platter{max-width:300px}}

/* detail */
.specs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.spec{background:var(--paper);border-radius:16px;padding:18px;border:1px solid var(--line)}
.spec span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--terra);font-weight:700;margin-bottom:6px}
.spec b{font-family:var(--hf);font-weight:400;font-size:1.15rem;line-height:1.25}
@media (max-width:900px){.specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rel-h{font-size:2rem}
.rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rel-i{text-decoration:none;color:var(--ink)}
.rel-i .ph{border-radius:999px 999px 16px 16px;margin-bottom:10px}
.rel-i span{font-family:var(--hf);font-size:1.3rem}
@media (max-width:700px){.rel{grid-template-columns:minmax(0,1fr)}}

/* gallery + lightbox */
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gal-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gal-wall{columns:3 260px;column-gap:14px;display:block}
.gal-wall .gal-i{margin-bottom:14px;break-inside:avoid;width:100%}
.gal-i{display:block;padding:0;border:0;background:none;border-radius:16px;overflow:hidden;cursor:zoom-in;transition:transform .3s}
.gal-i:hover{transform:scale(1.015)}
.gal-i .ph{border-radius:16px}
.gtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.gtabs button{min-height:44px;padding:8px 18px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;font-weight:700}
.gtabs button[aria-pressed=true]{background:var(--ink);color:var(--sand)}
@media (max-width:700px){.gal,.gal-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lb{background:rgba(20,14,10,.94);color:var(--chalk);display:grid;place-items:center;padding:60px 16px 20px}
.lb-in{width:min(1100px,100%);display:grid;gap:14px}
.lb-x{justify-self:end}
.lb-fig{margin:0;background:#2A211B;border-radius:12px;overflow:hidden}
.lb-fig img{width:100%;max-height:70vh;object-fit:contain;aspect-ratio:3/2}
.lb-fig figcaption{padding:12px 16px;font-size:.92rem}
.lb-nav{display:flex;justify-content:space-between;align-items:center}

/* wizard + calendar */
.wiz{max-width:900px;margin:0 auto}
.wiz-bar{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.wiz-bar li{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--muted);padding-top:10px;border-top:4px solid var(--line)}
.wiz-bar li i{font-style:normal;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;font-size:.8rem;flex:none}
.wiz-bar li.on{color:var(--ink);border-color:var(--terra)}
.wiz-bar li.done{border-color:var(--teal);color:var(--teal)}
.wiz-f fieldset{background:var(--paper);border-radius:24px;padding:clamp(18px,4vw,36px);border:1px solid var(--line)}
.wiz-h{font-family:var(--hf);font-size:1.7rem;margin-bottom:18px;padding:0;float:left;width:100%}
.wiz-h+*{clear:both}
.party{display:flex;align-items:center;gap:16px;margin-bottom:20px;font-weight:700}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cal-h h3{margin:0;font-size:1.5rem}
.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-dow{text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--muted);padding:4px 0}
.cday{aspect-ratio:1;min-height:44px;border-radius:12px;border:1.5px solid var(--line);background:var(--sand);font-weight:700;display:grid;place-items:center;position:relative;font-size:.95rem}
.cday::after{content:"";position:absolute;bottom:6px;width:6px;height:6px;border-radius:50%;background:var(--k,#2E8B57)}
.cday.few{--k:var(--sun)}
.cday.full{--k:#B4472A;color:var(--muted);text-decoration:line-through}
.cday.shut{--k:#9C8B7E;color:#9C8B7E;background:transparent}
.cday[disabled]{cursor:not-allowed}
.cday[aria-pressed=true]{background:var(--terra);border-color:var(--terra);color:var(--paper)}
.cday[aria-pressed=true]::after{background:var(--paper)}
.cday.blank{border:0;background:none}
.cal-k{display:flex;flex-wrap:wrap;gap:14px;font-size:.82rem;margin-top:12px;color:var(--muted)}
.cal-k i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;background:#2E8B57}
.cal-k .k-few{background:var(--sun)}.cal-k .k-full{background:#B4472A}.cal-k .k-shut{background:#9C8B7E}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:12px}
.slot{min-height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--sand);font-weight:700}
.slot[disabled]{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.slot[aria-pressed=true]{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.werr{color:#A3301A;font-weight:600;margin:12px 0 0}
.wiz-n{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}
.wiz-sum,.wfinal{background:var(--sand);border-radius:16px;padding:16px 18px;margin-bottom:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.wiz-sum div span,.wfinal div span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.wiz-thanks{padding:30px}
@media (max-width:640px){.wiz-bar li{font-size:0;gap:0}.wiz-bar li i{font-size:.8rem}.wiz-sum,.wfinal{grid-template-columns:minmax(0,1fr)}}

/* calculator */
.calc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:start}
.calc input[type=range]{width:100%;accent-color:var(--sun);min-height:44px}
.calc .field label{color:var(--chalk)}
.calc .opt span{background:rgba(242,238,227,.06);border-color:rgba(242,238,227,.25);color:var(--chalk)}
.calc .opt span small{color:rgba(242,238,227,.8)}
.calc .opt input:checked+span{background:rgba(233,162,59,.15);border-color:var(--sun);box-shadow:inset 0 0 0 1px var(--sun)}
.chks{display:grid;gap:8px}
.chk{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1.5px solid rgba(242,238,227,.25);cursor:pointer;position:relative;min-height:48px}
.chk:has(input:checked){border-color:var(--sun);background:rgba(233,162,59,.15)}
.chk span::before{content:"";display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-radius:5px;margin-right:10px;vertical-align:-3px}
.chk:has(input:checked) span::before{background:var(--sun);border-color:var(--sun)}
.calc .seg label{background:transparent;color:var(--chalk);border-color:rgba(242,238,227,.3)}
.calc .seg label:has(input:checked){background:var(--chalk);color:var(--slate)}
.calc-out{position:sticky;top:120px;background:var(--paper);color:var(--ink);border-radius:22px;padding:26px}
.calc-dl{margin:0 0 16px}
.calc-dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.calc-dl dd{margin:0;font-weight:700}
.calc-t{font-size:1.25rem;border-bottom:2px solid var(--ink)!important}
.calc-t dd{font-family:var(--hf);font-weight:400;font-size:1.8rem;color:var(--terra)}
.calc-out .btn-light{background:var(--terra);border-color:var(--terra);color:var(--paper)}
@media (max-width:900px){.calc{grid-template-columns:minmax(0,1fr)}.calc-out{position:static}}

/* story page */
.story-ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px}
.ed2 p{font-size:1.06rem}
.years{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative}
.years::before{content:"";position:absolute;left:0;right:0;top:28px;height:2px;background:rgba(242,238,227,.3)}
.years li{position:relative;padding-top:56px}
.years li::before{content:"";position:absolute;top:20px;left:0;width:18px;height:18px;border-radius:50%;background:var(--sun)}
.years b{font-family:var(--hf);font-weight:400;font-size:2rem;color:var(--sun)}
.years h3{margin:6px 0}
.years p{margin:0;font-size:.95rem}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tm{margin:0}
.tm .ph.arch{border-radius:999px 999px 16px 16px}
.tm figcaption{margin-top:10px}
.tm b{display:block;font-family:var(--hf);font-weight:400;font-size:1.3rem}
.tm span{font-size:.9rem;color:var(--muted)}
@media (max-width:900px){.story-ed{grid-template-columns:minmax(0,1fr)}.years{grid-template-columns:minmax(0,1fr)}.years::before{left:8px;right:auto;top:0;bottom:0;width:2px;height:auto}.years li{padding:0 0 0 40px}.years li::before{top:8px}.team{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* journal */
.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.jgrid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.jcard{display:block;text-decoration:none;color:var(--ink);background:var(--paper);border-radius:22px;overflow:hidden;border:1px solid var(--line);transition:transform .3s}
.jcard:hover{transform:translateY(-4px)}
.jcard .ph{border-radius:0}
.jcard .j-k,.jcard h3,.jcard p,.jcard .arrow{margin-left:22px;margin-right:22px}
.j-k{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--terra);font-weight:700;margin-top:18px;margin-bottom:8px}
.jcard h3{font-size:1.5rem}
.jcard p{color:var(--muted)}
.jcard .arrow{display:block;font-weight:700;color:var(--terra);margin-bottom:22px}
.jcard-more{background:var(--terra);color:var(--sand);padding-top:10px;border:0}
.jcard-more .j-k,.jcard-more p,.jcard-more .arrow{color:var(--sand)}
.jcard-more .arrow{font-size:2rem}
.shortn{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.shortn li{border-top:3px solid var(--terra);padding-top:16px}
@media (max-width:820px){.jgrid,.jgrid-2,.shortn{grid-template-columns:minmax(0,1fr)}}
.art-h{padding:130px 0 30px}
.art-h h1{font-size:clamp(2.4rem,5.6vw,4.6rem);max-width:18ch}
.art-h a{color:inherit}
.art-pic .ph{border-radius:24px}
.art-body{max-width:68ch;margin:0 auto;font-size:1.12rem}
.art-body h2{font-size:2rem;margin-top:1.4em}
.art-next a{color:inherit;text-decoration:none}
.art-next h2:hover{text-decoration:underline}

/* contact */
.contact-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;align-items:start}
.cinfo{background:var(--slate);color:var(--chalk);border-radius:24px;padding:30px}
.cinfo a:not(.btn){color:var(--chalk)}
.cinfo .small{color:inherit;opacity:.8}
.cinfo .btn-solid{margin-bottom:20px}
.cmap svg{width:100%;height:auto;border-radius:24px}
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(245,234,219,.2);font-size:.95rem}
.dz-out{margin-top:16px;padding:18px;border-radius:16px;background:var(--paper);border:1px solid var(--line)}
.dz-out b{font-family:var(--hf);font-weight:400;font-size:1.6rem;color:var(--terra)}
@media (max-width:820px){.contact-g{grid-template-columns:minmax(0,1fr)}}

/* footer */
.ftr{position:relative;background:var(--ink);color:var(--sand);padding:70px 0 120px;margin-top:60px}
.ftr-wave{position:absolute;top:-58px;left:0;width:100%;height:60px;fill:var(--ink)}
.ftr-in{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:36px}
.ftr-logo{font-family:var(--hf);font-size:2.4rem;margin-bottom:10px}
.ftr-h{font-family:var(--bf);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--sun);font-weight:700}
.ftr a:not(.btn){color:var(--sand)}
.ftr .small{color:var(--sand);opacity:.75}
.ftr-links{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.ftr-links a{display:inline-block;padding:6px 0;text-decoration:none}
.ftr-links a:hover{text-decoration:underline}
.ftr-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:20px;border-top:1px solid rgba(245,234,219,.2);font-size:.85rem;opacity:.85}
@media (max-width:900px){.ftr-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:560px){.ftr-in{grid-template-columns:minmax(0,1fr)}}

/* floating + bottom bar */
.wa{position:fixed;right:18px;bottom:22px;z-index:40;display:flex;align-items:center;gap:8px;min-height:52px;padding:0 18px 0 14px;border-radius:999px;background:#1F7A4D;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.wa svg{width:24px;height:24px}
.bbar{display:none}
@media (max-width:760px){.bbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--ink);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.bbar a,.bbar button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;justify-content:center;color:var(--sand);text-decoration:none;font-size:.75rem;font-weight:600;background:none;border:0}
.bbar svg{width:22px;height:22px}
.bbar b{position:absolute;margin:-30px 0 0 26px;background:var(--terra);border-radius:999px;min-width:18px;height:18px;font-size:.68rem;display:grid;place-items:center}
.bbar button{position:relative}
.wa{bottom:84px;width:52px;padding:0;justify-content:center}.wa span{display:none}
.ftr{padding-bottom:150px}}

@media (max-width:640px){.mtools{top:108px}}
