/* Photograph additions and visual navigation */
.menu-all-link{text-align:center;margin:36px 24px 0}.menu-all-link .button{min-width:280px}.mediterranean-about{position:relative;isolation:isolate;overflow:hidden;padding-bottom:60px;background:#e9eee3}.mediterranean-about::before{content:"";position:absolute;inset:0;z-index:-1;background:url('../images/top-about-mediterranean.jpg') center 54%/cover no-repeat;opacity:.22}.mediterranean-about::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(237,242,231,.48),rgba(237,242,231,.12) 50%,rgba(237,242,231,.48));pointer-events:none}.mediterranean-about>.button{margin-bottom:0}.mediterranean-about .center-copy{position:relative;color:#244635}.access-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:70px}.access-photo img{width:100%;height:480px;object-fit:cover;object-position:52% center}.visual-category-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 35px}.visual-category-links .category-card{position:relative;display:block;border:0;overflow:hidden;height:250px;padding:0;background:var(--deep);color:#fff}.category-card>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.category-card:hover>img{transform:scale(1.04)}.category-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,40,27,.93),rgba(8,40,27,.07) 85%)}.category-card-copy{position:absolute;left:18px;right:18px;bottom:21px;display:block}.category-card-copy small{display:block;font-family:Georgia,serif;font-size:10px;letter-spacing:.09em;line-height:1.6;opacity:.9;margin-bottom:7px}.category-card-copy strong{display:block;font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.7;padding-right:12px;letter-spacing:.02em}.category-card-arrow{display:block;margin-top:12px;border-top:1px solid #ffffff55;padding-top:5px;text-align:right}.step-with-photo{grid-template-columns:65px minmax(0,1fr) minmax(0,36%);gap:25px;align-items:start;padding-block:36px}.step-photo{margin:0;min-width:0}.step-photo img{width:100%;height:220px;object-fit:cover;display:block}.step-with-photo h2{margin-top:0}.shop-photo-placeholder{margin:45px 0}.shop-photo-placeholder img{display:block;width:100%;height:460px;object-fit:cover}.shop-photo-placeholder figcaption{font-size:12px;line-height:1.8;text-align:right;margin-top:10px;color:#687b6c}.course-group:has(>img){grid-template-columns:minmax(200px,32%) minmax(0,1fr)}.course-group>img{display:block}.course-table th{overflow-wrap:anywhere}
@media(max-width:1100px){.visual-category-links{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-category-links .category-card{height:240px}.category-card-copy strong{font-size:23px}.step-with-photo{grid-template-columns:50px minmax(0,1fr) minmax(0,35%);gap:18px}.step-photo img{height:210px}.access-grid{gap:35px}}
@media(max-width:700px){.step-with-photo{grid-template-columns:48px minmax(0,1fr);gap:10px 18px}.step-photo{grid-column:2}.step-photo img{height:auto;aspect-ratio:3/2}.access-grid{grid-template-columns:1fr;gap:35px}.access-photo img{height:auto;aspect-ratio:4/3}.course-group:has(>img){grid-template-columns:1fr}.course-group>img{height:auto;aspect-ratio:3/2}.shop-photo-placeholder img{height:auto;aspect-ratio:3/2}}
@media(max-width:600px){.visual-category-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-category-links .category-card{height:230px}.category-card-copy{left:12px;right:12px;bottom:14px}.category-card-copy small{font-size:9px;letter-spacing:.03em}.category-card-copy strong{font-size:17px;line-height:1.65;padding:0}.category-card-arrow{margin-top:9px}.menu-all-link .button{min-width:0;width:100%;max-width:330px}.mediterranean-about{padding-bottom:55px}.mediterranean-about::before{background-position:36% center;opacity:.2}.step-with-photo{padding-block:28px}.shop-photo-placeholder{margin:30px 0}.shop-photo-placeholder figcaption{text-align:left}}
@media(prefers-reduced-motion:reduce){.category-card>img{transition:none}.category-card:hover>img{transform:none}}

/* Mobile hero: keep the photograph above the copy. Desktop styles are unchanged. */
@media (max-width:600px){
  .hero{display:block;height:auto;min-height:0;max-height:none;background:var(--cream)}
  .hero-image{position:relative;inset:auto;display:block;width:100%;height:clamp(220px,68vw,340px);object-fit:cover;object-position:78% center}
  .hero-wash{display:none}
  .hero-inner{display:block;width:100%;height:auto;margin:0;padding:27px 24px 32px}
  .hero-inner>.eyebrow{font-size:10px;letter-spacing:.13em}
  .hero h1{font-size:clamp(28px,7.4vw,36px);line-height:1.6;letter-spacing:.06em;margin:15px 0 18px}
  .hero-desc{font-size:14px;line-height:2;margin-bottom:22px}
  .hero .button{width:100%;max-width:360px;min-width:0;min-height:54px;gap:20px}
  .hero-location{margin-top:18px;font-size:11px;line-height:1.8}
  .hero .scroll-cue{display:none}
}

body:is([data-page="home"], [data-page="menu"], [data-page="guide"], [data-page="access"]) {
  font-weight: 600;
}

[data-page="home"] :is(.hero-desc, .hero-location, .notice a),
[data-page="menu"] .course-table tbody th {
  font-weight: 600;
}

.reservation-tel {
  display: table;
  margin: 18px auto 0;
}
