:root{
  --teal:#23A9B8;
  --deep:#0F3B3F;
  --brick:#8B3A2B;
  --chalk:#F4F7F6;
  --board:#1E2624;
  --sunset:#F3A99B;
  --ink:#16302F;
  --muted:#4C6563;
  --line:#D5E0DE;
  --display:"Archivo",system-ui,sans-serif;
  --body:"Instrument Sans",system-ui,sans-serif;
  --hand:"Caveat Brush","Bradley Hand",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--chalk);color:var(--ink);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--brick);outline-offset:3px}
.wrap{width:min(1160px,100% - 32px);margin-inline:auto}

.fascia{position:sticky;top:0;z-index:20;background:var(--teal);border-bottom:6px solid var(--deep)}
.fascia .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.wordmark{font:800 1.25rem/1 var(--display);font-stretch:125%;letter-spacing:.32em;text-transform:uppercase;color:var(--deep);text-decoration:none;white-space:nowrap}
.wordmark small{display:block;font:600 .62rem/1.4 var(--body);letter-spacing:.18em;margin-top:4px;opacity:.85}
.fascia nav{display:flex;gap:4px}
.fascia nav a{font:600 .95rem/1 var(--body);color:var(--deep);text-decoration:none;padding:10px 12px;border-radius:2px}
.fascia nav a:hover,.fascia nav a[aria-current=page]{background:var(--deep);color:var(--chalk)}
@media (max-width:640px){.wordmark{font-size:.92rem;letter-spacing:.2em}.fascia nav a{padding:10px 7px;font-size:.88rem;white-space:nowrap}.nav-extra{display:none}.review-pill{left:0;right:0;margin-inline:auto;width:max-content;bottom:12px;font-size:.82rem;padding:10px 14px}}

.btn{display:inline-flex;align-items:center;gap:8px;font:600 1rem/1 var(--body);padding:15px 20px;border-radius:2px;text-decoration:none;border:2px solid var(--deep)}
.btn-solid{background:var(--deep);color:var(--chalk)}
.btn-solid:hover{background:var(--brick);border-color:var(--brick)}
.btn-line{color:var(--deep)}
.btn-line:hover{background:var(--deep);color:var(--chalk)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(28px,6vw,72px) 0}
.hero h1{font:800 clamp(2.6rem,6.2vw,5rem)/.98 var(--display);font-stretch:112%;letter-spacing:-.01em;margin:0 0 22px;color:var(--deep);max-width:12ch}
.hero p.lede{font-size:1.2rem;max-width:34ch;margin:0 0 28px;color:var(--muted)}
.hero .addr{margin:28px 0 0;font-weight:600}
.hero .addr .hours{font-weight:400;color:var(--muted)}
.window{position:relative;aspect-ratio:3/4;background:var(--deep);overflow:hidden;box-shadow:16px 16px 0 var(--teal)}
.window video,.window img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.hero{grid-template-columns:1fr}.window{order:-1;box-shadow:10px 10px 0 var(--teal);margin-right:10px}}

section{padding:clamp(56px,9vw,112px) 0}
h2{font:800 clamp(2rem,4.4vw,3.2rem)/1.02 var(--display);font-stretch:108%;margin:0 0 18px;color:var(--deep)}
h3{font:700 1.35rem/1.2 var(--display);margin:0 0 8px}
p{max-width:62ch}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,64px);align-items:center}
@media (max-width:820px){.split{grid-template-columns:1fr}}

.band{background:var(--brick);color:#FBEDE8}
.band h2{color:#fff}
.band p{color:#F6DCD4}
.band .btn{border-color:#fff;color:#fff}
.band .btn:hover{background:#fff;color:var(--brick)}
.band img{width:100%;aspect-ratio:1/1;object-fit:cover}

.board-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
@media (max-width:820px){.board-wrap{grid-template-columns:1fr}}
.board{background:var(--board);color:#F2F2EC;padding:clamp(28px,5vw,48px);border-top:22px solid var(--teal);position:relative}
.board::before{content:"Chapman Lane";position:absolute;top:-19px;left:24px;font:800 .8rem/1 var(--display);font-stretch:125%;letter-spacing:.3em;text-transform:uppercase;color:var(--deep)}
.board ul{list-style:none;margin:0;padding:0}
.board li{font:400 clamp(1.9rem,4vw,2.6rem)/1.25 var(--hand)}
.board li::before{content:"\00B7  "}
.board .note{font:400 1.2rem/1.4 var(--hand);color:#BFD9D6;margin-top:18px}

.photos{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}
.photos img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.photos img:first-child{grid-row:span 2;aspect-ratio:auto}
@media (max-width:640px){.photos{grid-template-columns:1fr 1fr}}

.visit{background:var(--deep);color:var(--chalk)}
.visit h2{color:#fff}
.visit dl{display:grid;grid-template-columns:max-content 1fr;gap:12px 28px;margin:0}
.visit dt{font-weight:700;color:var(--teal)}
.visit dd{margin:0}
.visit a{color:#fff}
.visit .btn{border-color:#fff;color:#fff}
.visit .btn:hover{background:#fff;color:var(--deep)}

.cover{position:relative}
.cover img{width:100%;max-height:78vh;object-fit:cover}
.cover figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px)}
@media (max-width:820px){.story{grid-template-columns:1fr}}
.facts{border-top:2px solid var(--deep)}
.facts div{display:grid;grid-template-columns:7.5rem 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.facts dt{font:800 1.6rem/1 var(--display);color:var(--brick)}
.facts dd{margin:0}
.wide{width:100%;aspect-ratio:16/6;object-fit:cover}
.pull{font:700 clamp(1.5rem,3vw,2.1rem)/1.25 var(--display);color:var(--deep);max-width:28ch;margin:0}

footer{padding:40px 0 96px;font-size:.92rem;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}

.review-pill{position:fixed;left:16px;bottom:16px;z-index:30;background:var(--sunset);color:var(--ink);font:600 .9rem/1 var(--body);padding:12px 16px;border-radius:999px;text-decoration:none;box-shadow:0 4px 18px rgba(15,59,63,.25)}
.review{background:#fff;border-top:6px solid var(--sunset)}
.review ol{padding-left:1.2em;max-width:70ch}
.review li{margin:8px 0}

.window .still{display:none;position:absolute;inset:0}
@media (prefers-reduced-motion:reduce){.window video{display:none}.window .still{display:block}}
