/* Adapted from Refero style "HNST Studio": earthy atelier, rust on linen */
:root{--rust:#892500;--blush:#ea9195;--ink:#0e0e0e;--stone:#868686;--ash:#b7b7b7;--frost:#d7d7d7;--sand:#eee5d9;--silk:#f9f6f2;--linen:#fff;--ui:"Raleway","Montserrat","Lato",sans-serif;--disp:"Poppins","Montserrat",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--silk);color:var(--ink);font:400 15px/1.7 var(--ui)}
h1,h2,h3{font-family:var(--disp);text-transform:uppercase;margin:0 0 15px}
h1{font-weight:700;font-size:clamp(28px,6.4vw,62px);letter-spacing:.154em;line-height:1.15}
h2{font-weight:600;font-size:20px;letter-spacing:.091em;line-height:1.25;padding-bottom:9px;border-bottom:1px solid var(--rust);display:inline-block}
h3{font-weight:600;font-size:16px;letter-spacing:.065em}
em{font-style:normal;color:var(--rust)}a{color:var(--ink)}a:focus-visible{outline:1px solid var(--rust);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--linen);padding:8px;z-index:9}
.kick,nav a,.btn,.fine,dt,.lnk{font-family:var(--ui);font-weight:600;text-transform:uppercase;letter-spacing:.192em;font-size:12px}
.kick{color:var(--stone)}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px;border-bottom:1px solid var(--stone)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--rust);font:700 24px var(--ui);letter-spacing:.02em}.brand .mono{width:36px;height:36px}
.mono{color:var(--rust)}nav{order:3;width:100%;display:flex;gap:15px;overflow-x:auto}
nav a{color:var(--stone);text-decoration:none;padding:6px 0;transition:color .2s}nav a:hover{color:var(--ink)}nav a[aria-current]{color:var(--rust)}
@media(min-width:900px){nav{order:0;width:auto;gap:28px}.brand{font-size:30px}}
.btn{display:inline-block;background:var(--ink);color:var(--linen);padding:15px 42px;text-decoration:none;border:1px solid var(--ink);transition:background .2s,color .2s}.btn:hover{background:var(--rust);border-color:var(--rust)}
.top .btn{padding:12px 24px}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{color:var(--linen)}
.lnk{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rust);padding-bottom:3px}.lnk:hover{color:var(--rust)}
/* photo placeholders: sharp, flat, warm */
.arch,.bleed{position:relative;background:var(--sand);display:flex;align-items:flex-end;justify-content:flex-start;background-image:linear-gradient(135deg,rgba(137,37,0,.06),transparent 55%),repeating-linear-gradient(90deg,rgba(14,14,14,.035) 0 1px,transparent 1px 6px)}
.arch{aspect-ratio:3/4}.arch span,.bleed span{font:400 13px var(--ui);color:var(--stone);padding:12px 15px}
.bleed{width:100%;height:26vh;min-height:160px;margin:75px 0}
section,.menuwrap,.locs,.teamgrid.page,.vgrid.contact{padding:75px 20px;max-width:1200px;margin:auto}
.lede{font-size:16px;max-width:36em;color:#3a3a3a}.cta{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.hero{display:grid;gap:42px;padding-top:42px}.hero-art{position:relative}.hero-art .arch{aspect-ratio:4/5}
.stamp{position:absolute;right:0;bottom:0;background:var(--silk);width:110px;height:110px;display:grid;place-items:center}.stamp .mono{width:70px}.stamp span{display:none}
@media(min-width:900px){.hero{grid-template-columns:1fr 1.15fr;align-items:end;min-height:78vh}.hero-art .arch{aspect-ratio:auto;height:78vh}}
.label{display:none}
.cols3{display:grid;gap:15px;margin:30px 0}.cols3 article{padding:42px;background:var(--linen);border:1px solid var(--frost)}
@media(min-width:800px){.cols3{grid-template-columns:repeat(3,1fr)}}
.split>h2,.band>h2{display:inline-block}
.band{max-width:1200px}.band h2{display:block;border:0;font:700 clamp(22px,4vw,40px)/1.2 var(--disp);letter-spacing:.12em}
.teamgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 15px}@media(min-width:900px){.teamgrid{grid-template-columns:repeat(3,1fr);gap:42px 15px}}
.tm{text-decoration:none;color:inherit;display:block}.tm .arch{aspect-ratio:4/5;transition:opacity .2s}.tm:hover .arch{opacity:.85}.tm h3{margin:15px 0 0}.tm p{margin:0;font-size:13px;color:var(--stone)}.tm:hover h3{color:var(--rust)}
.quote{text-align:center}.quote blockquote{margin:0 auto;max-width:760px;font:500 20px/1.5 var(--disp);letter-spacing:.03em}.quote cite{display:block;margin-top:15px;font:600 12px var(--ui);letter-spacing:.192em;text-transform:uppercase;color:var(--stone)}
.vgrid{display:grid;gap:42px}@media(min-width:800px){.vgrid{grid-template-columns:1.2fr 1fr}}
.card-h{background:var(--sand);padding:42px}
.hours{display:grid;grid-template-columns:auto 1fr;gap:5px 20px;margin:0}dt{align-self:center;color:var(--stone)}dd{margin:0}
.phone{font:600 16px var(--disp);letter-spacing:.065em;color:var(--rust);text-decoration:none}.phone.big{font-size:26px}
.ph-t{background:var(--sand);color:var(--ink);font:600 12px var(--ui);padding:4px 10px;outline:1px dashed var(--blush)}
.phead{padding-top:75px}.phead.right{text-align:left}
.menuwrap{display:grid;gap:42px}@media(min-width:900px){.menuwrap{grid-template-columns:1fr 1fr 320px}.menuwrap .menu-sec:nth-child(3){grid-column:1/3}.menu-note{grid-column:3;grid-row:1/3;align-self:start}}
.menu{list-style:none;padding:0;margin:15px 0 0;border-left:1px solid var(--stone);padding-left:20px}.menu li{display:flex;align-items:baseline;gap:9px;padding:9px 0;flex-wrap:wrap;border-bottom:1px solid var(--frost)}.it{font-weight:600}.dots{flex:1}.pr{color:var(--stone);font-size:14px}.pr small{margin-left:6px}
.menu-note{background:var(--ink);color:var(--silk);padding:42px}.menu-note .mono{width:60px;color:var(--blush)}.menu-note .phone{color:var(--blush)}.menu-note .btn{background:var(--rust);border-color:var(--rust)}
.sty{display:grid;gap:42px;padding-top:42px}.sty-art{position:relative}.num{position:absolute;left:15px;top:10px;font:700 14px var(--disp);letter-spacing:.2em;color:var(--rust)}
@media(min-width:900px){.sty{grid-template-columns:1.1fr 1fr;align-items:center}.sty.flip .sty-art{order:2}}
.sty-txt h2{margin-top:20px}.tags{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap}.tags li{border-radius:10px}
.galgrid{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin:30px 0}.galgrid .arch:first-child{grid-row:span 2;aspect-ratio:auto}.galgrid .arch{aspect-ratio:4/3}
.locs{display:grid;gap:75px}.loc{display:grid;gap:20px}.loc .arch{aspect-ratio:16/10}
@media(min-width:900px){.loc{grid-template-columns:1.3fr 1fr;align-items:center;gap:60px}.loc.mid .arch{order:2}.loc>*:not(.arch){grid-column:auto}.loc{grid-template-areas:none}}
.loc>div.arch{grid-row:span 6}.addr{font-weight:600}
.foot{border-top:1px solid var(--stone);padding:75px 20px 20px;margin-top:75px}.fwrap{max-width:1200px;margin:auto;display:grid;gap:42px}@media(min-width:800px){.fwrap{grid-template-columns:1fr 1fr 1fr}}
.foot .mono{width:56px}.foot h2{font-size:12px;font-family:var(--ui);letter-spacing:.192em;border:0;padding:0}.foot a{color:var(--stone)}.foot .phone{color:var(--rust);font-size:18px}.fname{font:700 22px var(--ui);color:var(--rust);margin:.2em 0}.fname i{font-style:normal}.fine{text-align:center;color:var(--ash);margin-top:42px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.bleed{height:240px}@media(min-width:900px){.hero{min-height:0}.hero-art .arch{height:640px}}
.menuwrap .menu-sec{padding:0;margin:0;max-width:none}.loc>div.arch{grid-row:auto}nav{gap:12px}
/* ===== Reveal: solid panel slides up off each photo (HNST-style) ===== */
.arch,.bleed{overflow:hidden;isolation:isolate;background:none}
.arch::before,.bleed::before{content:"";position:absolute;inset:0;z-index:-1;background-color:var(--sand);background-image:linear-gradient(135deg,rgba(137,37,0,.06),transparent 55%),repeating-linear-gradient(90deg,rgba(14,14,14,.035) 0 1px,transparent 1px 6px)}
.arch::after,.bleed::after{content:"";position:absolute;inset:0;z-index:2;background:var(--silk);transform:translateY(101%);pointer-events:none}
.js .arch::before,.js .bleed::before{transform:scale(1.08);transition:transform 1.4s cubic-bezier(.77,0,.18,1) var(--d,0s)}
.js .arch::after,.js .bleed::after{transform:translateY(0);transition:transform 1s cubic-bezier(.77,0,.18,1) var(--d,0s)}
.js .hero-art .arch::after{background:var(--rust)}
.js .in::before{transform:scale(1)}.js .in::after{transform:translateY(-101%)}
.js .arch span,.js .bleed span{opacity:0;transition:opacity .4s ease calc(var(--d,0s) + .8s)}.js .in span{opacity:1}
/* Content slides up over the photo strip */
.bleed{position:sticky;top:0;margin-bottom:0;z-index:0}.bleed+*{position:relative;z-index:1;background:var(--silk);box-shadow:0 -1px 0 var(--stone)}
/* Mobile nav: wrap, no overflow */
nav{flex-wrap:wrap;overflow:visible;gap:4px 16px}
@media(prefers-reduced-motion:reduce){.arch::after,.bleed::after{display:none}.bleed{position:relative}}
