:root{
  --paper:#f4f1ea; --paper-2:#ebe5d8; --ink:#1d1d1b; --bark:#8e3b22; --bark-d:#6f2c18; --gold:#d6ad4e; --gold-d:#9b7426;
  --slate:#41505c; --muted:#55524b;
  --f-serif:"Playfair Display",Georgia,serif; --f-body:"Lato",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--f-body);font-size:1.08rem;line-height:1.62;color:var(--ink);background:var(--paper);overflow-x:hidden}
img,iframe,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--bark)}
h1,h2,h3{font-family:var(--f-serif);font-weight:400;line-height:1.08;margin:0 0 .45em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--gold-d);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 14px}
.skip-link:focus{left:8px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}
.small{font-size:.88rem;color:var(--muted)}
.ph{background:#fbefc4;color:#5a4100;padding:0 .25em;font-weight:700;font-size:.9em}
.photo-note{font-size:.8rem;color:var(--muted);margin:.5rem 0 0}
.demo-banner{margin:0;background:var(--bark);color:#fbefe6;font-size:.8rem;text-align:center;padding:6px 12px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75em 1.5em;font-family:var(--f-body);font-weight:700;font-size:1rem;text-decoration:none;border:0;cursor:pointer;border-radius:999px 999px 6px 6px}
.btn--bark{background:var(--bark);color:#fff8ef}
.btn--bark:hover{background:var(--bark-d);color:#fff}
.btn--plain{color:var(--ink);text-decoration:underline;text-underline-offset:4px;padding-left:.6em;padding-right:.6em}

/* masthead: centered wordmark, links beneath */
.masthead{background:var(--paper);border-bottom:1px solid #d7cfbe;position:relative;z-index:40}
.mast-in{max-width:1120px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.wordmark{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;line-height:1}
.wm-main{font-family:var(--f-serif);font-size:2rem;color:var(--bark)}
.wm-sub{font-size:.82rem;font-weight:700;color:var(--muted);margin-top:4px}
.nav-links{display:none;list-style:none;margin:0;padding:0;gap:0}
.nav-links li+li::before{content:"·";color:var(--gold-d);margin:0 14px}
.nav-links a{color:var(--ink);text-decoration:none;font-weight:600}
.nav-links a:hover{color:var(--bark)}
.nav-phone{color:var(--bark)!important;font-weight:700!important}
.nav-toggle{width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);transition:transform .2s}
.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{display:none;padding:6px 22px 22px;border-top:1px solid #d7cfbe}
.mobile-menu.is-open{display:block}
.mobile-menu ul{list-style:none;margin:0 0 12px;padding:0}
.mobile-menu li a{display:block;padding:12px 0;font-family:var(--f-serif);font-size:1.6rem;color:var(--ink);text-decoration:none;border-bottom:1px solid #e0d8c8}
@media (min-width:960px){
  .mast-in{flex-direction:column;gap:10px;padding:22px 22px 16px}
  .wordmark{align-items:center}
  .wm-main{font-size:2.8rem}
  .nav-links{display:flex}
  .nav-toggle{display:none}
  .mobile-menu{display:none!important}
}

/* window hero */
.window-hero{padding:28px 0 0}
.window{position:relative;max-width:1000px;margin:0 22px;border:10px solid var(--ink);border-bottom:0;border-radius:400px 400px 0 0;overflow:hidden;background:#2b2a27}
.window img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 32%;filter:brightness(.72) saturate(.85)}
.window::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.18) 0 18%,transparent 18% 26%,rgba(255,255,255,.08) 26% 30%,transparent 30%);pointer-events:none}
.window-letters{position:absolute;left:4%;right:4%;top:9%;width:92%}
.gold{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:50px;letter-spacing:3px;fill:var(--gold);stroke:#3b2a0b;stroke-width:1.5px;paint-order:stroke}
.window-line{position:absolute;left:0;right:0;top:47%;text-align:center;margin:0;font-family:var(--f-serif);font-style:italic;color:#f3e3b5;font-size:clamp(1.1rem,3.4vw,1.8rem);text-shadow:0 1px 0 #3b2a0b}
.window .photo-note{position:absolute;right:12px;bottom:10px;color:#f4f1ea;background:rgba(0,0,0,.55);padding:2px 8px}
.floor{height:46px;background:conic-gradient(var(--ink) 25%,var(--paper) 0 50%,var(--ink) 0 75%,var(--paper) 0) 0 0/46px 46px;border-top:6px solid var(--ink)}
.window-hero .floor{max-width:1000px;margin:0 22px}
.hero-text{max-width:1120px;margin:0 auto;padding:36px 22px 56px;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.hero-text h1{font-size:clamp(2.1rem,6vw,3.6rem);margin:0}
.hero-side p{font-size:1.15rem;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (min-width:760px){.window img{aspect-ratio:16/10}.window-letters{top:7%}.window-line{top:43%}}
@media (min-width:1044px){.window,.window-hero .floor{margin:0 auto}}
@media (min-width:900px){.hero-text{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:56px;align-items:end;padding-top:48px}}

/* walk in */
.walk-in{background:var(--paper-2);padding:72px 0}
.walk-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.walk-copy h2{font-size:clamp(2rem,5vw,3.1rem);color:var(--bark)}
.big{font-size:1.3rem;line-height:1.5}
.door-sign{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:44px}
.sign-string{position:absolute;top:0;width:150px;height:46px;border:2px solid #6c6556;border-bottom:0;border-radius:2px;clip-path:polygon(50% 0,100% 100%,0 100%);background:transparent}
.sign-string::before{content:"";position:absolute;left:50%;top:-6px;width:10px;height:10px;border-radius:50%;background:#6c6556;transform:translateX(-50%)}
.sign{width:min(100%,340px);background:var(--bark);color:#fff8ef;border-radius:10px;padding:18px 22px 16px;box-shadow:0 0 0 4px var(--paper-2),0 0 0 6px var(--bark);transform:rotate(-2deg);transform-origin:top center}
.sign-open{font-family:var(--f-serif);font-size:3.2rem;text-align:center;margin:0 0 8px;color:var(--gold);letter-spacing:.04em}
.sign-hours{width:100%;border-collapse:collapse}
.sign-hours th,.sign-hours td{padding:7px 0;border-top:1px dashed rgba(255,248,239,.35);text-align:left}
.sign-hours td{text-align:right;font-weight:700}
.sign-note{font-size:.8rem;margin:10px 0 0;color:#f6dccf}
.sign-string{clip-path:none;border:0;background:linear-gradient(to top right,transparent calc(50% - 1px),#6c6556 50%,transparent calc(50% + 1px)) left/50% 100% no-repeat,linear-gradient(to top left,transparent calc(50% - 1px),#6c6556 50%,transparent calc(50% + 1px)) right/50% 100% no-repeat}
@media (min-width:900px){.walk-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:64px;align-items:center}}

/* board */
.board-sec{padding:80px 0}
.board-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.board-intro h2{font-size:clamp(2rem,5vw,3.1rem)}
.board{background:#22231f;color:#f1ead8;padding:28px 26px 22px;border:12px solid #5b3a22;border-radius:4px;box-shadow:inset 0 0 40px rgba(0,0,0,.5)}
.board ul{list-style:none;margin:0;padding:0}
.board li{display:flex;align-items:baseline;gap:10px;padding:10px 0;font-family:var(--f-serif);font-size:1.45rem}
.board li span{flex:0 1 auto;min-width:0}
.board li i{flex:1 1 auto;border-bottom:2px dotted rgba(241,234,216,.45);transform:translateY(-6px);min-width:20px}
.board li b{font-family:var(--f-body);font-size:.85rem;background:#fbefc4;color:#5a4100;padding:0 .3em}
.board-foot{margin:14px 0 0;font-style:italic;color:var(--gold)}
.board-foot em{font-style:normal;color:#f1ead8;font-size:.85rem}
@media (min-width:900px){.board-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}}

/* reviews */
.reviews{padding:72px 0;border-top:1px solid #d7cfbe}
.rev-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 30px}
.rev-top h2{font-size:clamp(2rem,5vw,3.1rem);margin:0}
.rev-rating{margin:0;font-weight:700}
.rev-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;margin-top:30px}
.rev{margin:0;padding:0 0 0 22px;border-left:4px solid var(--gold)}
.rev p{font-family:var(--f-serif);font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2;margin:0 0 10px}
.rev footer{font-size:.9rem;color:var(--muted)}
.rev-themes p{padding:14px 0;border-bottom:1px solid #d7cfbe;margin:0}
.rev-themes strong{color:var(--bark)}
.rev-src{font-size:.84rem;color:var(--muted);margin-top:26px}
@media (min-width:900px){.rev-cols{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}}

/* photo strip */
.strip{padding:0 0 64px}
.strip-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.strip-row button{padding:0;border:0;background:#3a3732;cursor:zoom-in;overflow:hidden;aspect-ratio:3/2}
.strip-row img{width:100%;height:100%;object-fit:cover;filter:sepia(.15)}
.strip-row img.crop-left{object-position:60% 55%;transform:scale(1.12);transform-origin:90% 55%}
@media (min-width:700px){.strip-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* fourth street */
.fourth{position:relative;background:var(--slate);color:#f4f1ea;padding:0 0 64px}
.fourth a{color:#f3d58a}
.fourth .small{color:#d5dbe0}
.fourth-photo img{width:100%;height:clamp(220px,38vw,440px);object-fit:cover;background:#56636d}
.fourth-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:-70px;position:relative}
.fourth-card{background:var(--paper);color:var(--ink);padding:26px 24px;border-top:6px solid var(--bark)}
.fourth-card a{color:var(--bark)}
.fourth-card .small{color:var(--muted)}
.fourth-card h2{font-size:clamp(1.9rem,4.4vw,2.7rem);margin-bottom:.1em}
.fourth-city{font-weight:700;color:var(--muted)}
.fourth-phone a{font-family:var(--f-serif);font-size:2rem;text-decoration:none}
.map{background:#56636d;min-height:320px}
.map iframe{width:100%;height:100%;min-height:320px;border:0}
@media (min-width:900px){.fourth-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0;margin-top:-120px}.map{margin-top:120px}}

/* call ahead form */
.callahead{padding:72px 0}
.ca-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ca-grid h2{font-size:clamp(2rem,5vw,3rem);color:var(--bark)}
.ca-form{max-width:640px}
.row2{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px}
@media (min-width:560px){.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;padding:12px 2px;border:0;border-bottom:2px solid #7d776b;background:transparent;font:inherit;color:var(--ink);border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--bark);background:#fffdf8}
.field-error{color:#9e1b1b;font-size:.85rem;margin:4px 0 0}
.has-error input,.has-error textarea{border-bottom-color:#9e1b1b}
.form-success{display:none}
.form-success.is-visible{display:block}
.form-success h3{font-size:2rem;color:var(--bark)}
@media (min-width:900px){.ca-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}}

/* footer */
.foot{background:var(--ink);color:#d8d2c4;text-align:center}
.foot a{color:var(--gold)}
.floor--thin{height:22px;background-size:22px 22px;border-top:0}
.foot-in{padding:34px 22px 30px}
.foot-word{font-family:var(--f-serif);font-size:clamp(2.8rem,9vw,5rem);color:var(--gold);margin:0 0 6px;line-height:1}
.foot .small{color:#a39d90}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(20,18,15,.94);display:none;align-items:center;justify-content:center;padding:56px 16px}
.lightbox.is-open{display:flex}
.lightbox img{max-height:80vh;max-width:100%;object-fit:contain}
.lightbox-btn{position:absolute;background:var(--paper);color:var(--ink);border:0;width:46px;height:46px;font-size:1.6rem;cursor:pointer;border-radius:50%}
.lightbox-close{top:12px;right:12px}.lightbox-prev{left:8px;top:50%}.lightbox-next{right:8px;top:50%}
.lightbox-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#fff;margin:0;font-size:.9rem}
@media (max-width:759px){.window-letters{left:9%;width:82%;top:6%}.board li{font-size:1.2rem}.board{padding:22px 18px 18px;border-width:9px}}
