/* V4 photography: real supplied photographs, non-destructive display treatment.
   Originals remain unchanged; no generative retouching or invented objects. */
.hero-photo {
  object-position: 48% 72%;
  transform: scale(1.035);
  transform-origin: 48% 72%;
  filter: brightness(1.06) contrast(1.11) saturate(1.04);
}
.shade {
  background: linear-gradient(90deg,rgba(20,13,8,.75),rgba(20,13,8,.18) 47%,transparent 76%),
              linear-gradient(0deg,rgba(20,13,8,.22),transparent 45%,transparent 75%,rgba(20,13,8,.62));
}
.story>img {
  transform: none;
  object-position: 46% 56%;
  filter: brightness(1.04) contrast(1.04) saturate(.93);
}
.story:after {
  background: linear-gradient(90deg,transparent 43%,rgba(25,17,10,.12) 55%,#19110a 69%,transparent 78%);
}
.room>img { object-position: 50% 59%; filter: brightness(1.015) contrast(1.025) saturate(.9); }
.find>img { object-position: 48% 43%; filter: brightness(1.045) contrast(1.035) saturate(.91); }
/* The gallery deliberately keeps the full photographs, without display grading. */
.gallery-grid img { filter:none; }
@media(max-width:700px) {
  .hero-photo {
    object-position: 54% 68%; transform:none;
    filter: brightness(1.06) contrast(1.11) saturate(1.04);
  }
  .shade {
    background:linear-gradient(0deg,rgba(20,12,6,.91),rgba(20,12,6,.57) 43%,rgba(20,12,6,.04) 83%);
  }
  .story>img { object-position: 35% 58%; }
  .room>img { object-position: 50% 58%; }
  .find>img { height:260px; object-position:50% 42%; }
}

/* Tablet readability: do not let desktop vw type collapse below readable sizes. */
@media(min-width:701px) and (max-width:1000px) {
  header { top:18px; align-items:center; gap:18px; }
  header>.phone,header>.social { display:none; }
  .brand { width:115px; }
  .brand b { font-size:29px; }
  .brand i { font-size:27px; }
  .cup { font-size:27px; }
  nav { padding:0; gap:12px; font-size:15px; }
  nav a,nav>button,.nav-button { min-height:44px; display:flex; align-items:center; padding:8px 0; }
  .hero { height:560px; max-height:none; }
  .hero-copy { bottom:36px; }
  .hero-copy h1 { font-size:74px; }
  .hero-copy h1 span { font-size:83px; }
  .eyebrow { font-size:11px; }
  .tagline { font-size:19px; }
  .button { min-height:44px; padding:10px 18px; font-size:15px; }
  .story,.room { height:360px; max-height:none; }
  .story>img { width:52%; height:100%; }
  .story:after { background:linear-gradient(90deg,transparent 40%,#19110a 52%,transparent 58%); }
  .story-copy,.room .story-copy { left:55%; right:3%; top:32px; }
  .story-copy h2 { font-size:35px; }
  .story-copy p:not(.eyebrow) { font-size:16px; line-height:1.5; }
  .story-copy p br { display:none; }
  .values { font-size:11px; gap:12px; margin-top:20px; }
  .values b { font-size:28px; }
  .menu-band { min-height:265px; height:auto; max-height:none; padding:24px; gap:20px; }
  .menu-title { width:26%; }
  .menu-title h2 { font-size:29px; }
  .menu-cards { height:210px; gap:8px; }
  .menu-cards span { font-size:14px; padding:30px 4px 12px; }
  .find { height:auto; max-height:none; align-items:stretch; }
  .find>img { width:36%; height:auto; min-height:360px; }
  .find-copy { padding:28px; gap:24px; flex-wrap:wrap; font-size:15px; }
  .find h3 { font-size:19px; }
  .find h3 span { font-size:25px; }
  .find address { line-height:1.5; }
  .directions { font-size:14px; min-height:44px; padding-top:12px; }
  .hours { border:0; padding:0; }
  .hours dl { gap:8px 20px; margin:16px 0; }
  .hours .button { font-size:16px; }
  footer { min-height:90px; height:auto; max-height:none; gap:16px; flex-wrap:wrap; padding:20px 30px; }
  footer>span { font-size:18px; }
  footer p { font-size:10px; letter-spacing:.12em; }
  footer .social { font-size:26px; }
}
