/* Landing below the 3D street: about, menu, gallery, visit, booking. Fixed light palette, independent of the scene's day/night. */
:root{--l-bg:#f6f4ec;--l-alt:#ecefe7;--l-paper:#fbfcfa;--l-ink:#203a32;--l-muted:#5d7068;--l-pine:#174d3d;--l-line:#d6ddd5;--l-coral:#c9805f}
html{scroll-behavior:smooth;scroll-padding-top:16px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.site-header nav a{padding:9px 0;font-size:14px;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}
.nav-cta{font-size:13px;padding:9px 16px;border-radius:6px;background:var(--pine);color:#fbfcfa;white-space:nowrap;transition:background .2s}.nav-cta:hover{background:#28624d}
body.evening .nav-cta{background:#e8be92;color:#26392d}

.world{height:calc(100svh - 74px - 52px)}
.scroll-cue{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;background:var(--l-bg);color:var(--l-ink);font-size:13px;border-bottom:1px solid var(--l-line)}
.scroll-cue svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:cue 2.4s ease-in-out infinite}
.scroll-cue:hover{background:#efece2}
@keyframes cue{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@media(prefers-reduced-motion:reduce){.scroll-cue svg{animation:none}}

.landing{background:var(--l-bg);color:var(--l-ink)}
.l-section{padding:96px 0;border-bottom:1px solid var(--l-line)}
.l-section:nth-child(even){background:var(--l-alt)}
.l-wrap{max-width:1180px;margin:0 auto;padding:0 5%}
.l-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:center}
.l-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--l-coral);margin:0 0 14px}
.landing h2{font:normal clamp(34px,4vw,52px)/1.06 Georgia,"Times New Roman",serif;letter-spacing:-1.5px;margin:0 0 22px;max-width:640px}
.landing h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--l-muted);font-weight:600;margin:0 0 14px}
.l-lead{font-size:16px;line-height:1.75;color:var(--l-muted);max-width:520px;margin:0 0 28px}
.l-note{font-size:12px;color:var(--l-muted);margin:24px 0 0}

.l-features{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.l-features li{display:flex;gap:16px;align-items:flex-start}
.l-features svg{flex:none;width:40px;height:40px;padding:8px;border-radius:50%;background:var(--l-paper);border:1px solid var(--l-line);fill:none;stroke:var(--l-pine);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.l-features strong{display:block;font-size:15px;font-weight:600;margin-bottom:4px}.l-features span{font-size:14px;line-height:1.6;color:var(--l-muted)}
.l-photo{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px #203a321c}.l-photo img{display:block;width:100%;height:auto}

.l-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px}
.l-menu-col dl{margin:0}
.l-menu-col dl>div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--l-line)}
.l-menu-col dt{font-size:15px;font-weight:500}.l-menu-col dt small{display:block;font-size:13px;font-weight:normal;color:var(--l-muted);margin-top:4px;line-height:1.45}
.l-menu-col dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}

.l-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(180px,20vw,250px);gap:16px;margin-top:8px}
.l-gallery-grid figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#d9ddd5}
.l-gallery-grid .g-big{grid-column:span 2;grid-row:span 2}
.l-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.l-gallery-grid figure:hover img{transform:scale(1.03)}
.l-gallery-grid figcaption{position:absolute;left:12px;bottom:12px;font-size:12px;padding:6px 10px;border-radius:20px;background:#fbfcfae6;color:var(--l-ink)}

.l-visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:8px}
.l-visit-grid p{font-size:15px;line-height:1.7;margin:0}
.l-map{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--l-line)}.l-map svg{display:block;width:100%;height:auto}
.l-pin{position:absolute;left:59%;top:60%;transform:translate(-50%,-100%);display:flex;align-items:center;gap:6px;font-size:12px;padding:7px 12px 7px 8px;border-radius:20px;background:var(--l-pine);color:#fbfcfa;box-shadow:0 6px 18px #174d3d40;white-space:nowrap}
.l-pin svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}

.l-form{display:grid;gap:16px;background:var(--l-paper);border:1px solid var(--l-line);border-radius:14px;padding:32px}
.l-form label{display:grid;gap:7px;font-size:13px;color:var(--l-muted)}
.l-form input,.l-form select{font:inherit;font-size:15px;color:var(--l-ink);background:#fff;border:1px solid #c5cfc8;border-radius:8px;min-height:46px;padding:10px 12px;width:100%}
.l-form input:focus-visible,.l-form select:focus-visible{outline:3px solid #e7bc77;outline-offset:1px}
.l-form [aria-invalid=true]{border-color:#b5523a}
.l-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.l-form-error{margin:0;font-size:13px;color:#a2452f}
.l-submit{min-height:50px;border-radius:8px;background:var(--l-pine);color:#fbfcfa;font-size:15px;transition:background .2s}.l-submit:hover{background:#28624d}
.l-done{background:var(--l-paper);border:1px solid var(--l-line);border-radius:14px;padding:32px;font-size:15px;line-height:1.7}
.l-done h3{font:normal 28px/1.15 Georgia,serif;letter-spacing:-.5px;text-transform:none;color:var(--l-ink);margin:0 0 12px}
.l-done p{margin:0 0 12px;color:var(--l-muted)}.l-done button{font-size:14px;background:none;border-bottom:1px solid currentColor;padding:2px 0;color:var(--l-pine)}

.l-footer,body.evening .l-footer{height:auto;min-height:64px;margin:0;padding:0 5%;background:var(--l-ink);color:#c9d5cf;border:0;font-size:12px}

@media(max-width:1000px){.nav-wide{display:none}.l-split{grid-template-columns:1fr;gap:40px}.l-menu-grid{grid-template-columns:1fr 1fr}.l-menu-col:last-child{grid-column:1/-1}}
@media(max-width:720px){
  .site-header nav{gap:14px}.site-header nav a{font-size:12px}.nav-cta{font-size:12px;padding:8px 11px}
  .world{height:calc(100svh - 68px - 48px);min-height:600px}.scroll-cue{height:48px;font-size:12px}
  .l-section{padding:64px 0}.l-wrap{padding:0 6%}.l-lead{font-size:15px}
  .l-menu-grid,.l-visit-grid{grid-template-columns:1fr;gap:28px}.l-menu-col:last-child{grid-column:auto}
  .l-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px;gap:10px}.l-gallery-grid .g-wide{grid-column:1/-1;grid-row:span 2}
  .l-gallery-grid figcaption{font-size:11px;left:8px;bottom:8px}
  .l-form{padding:22px}.l-form-row{grid-template-columns:1fr}
  .l-footer{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:18px 6%}
}
