:root{--emerald:#087f79;--deep:#063f3d;--red:#b64b32;--ink:#202827;--sand:#f4f0e8;--white:#fff;--serif:"Cormorant Garamond",serif;--sans:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-weight:300;line-height:1.85}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(22px,5vw,72px);transition:.35s;color:#fff}.site-header.scrolled{color:var(--ink);background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(0,0,0,.08);backdrop-filter:blur(12px)}.brand{display:flex;flex-direction:column;line-height:1}.brand span{font:600 clamp(24px,2.6vw,35px)/.9 var(--serif);letter-spacing:.13em}.brand small{font-size:7px;letter-spacing:.2em;margin-top:8px}.nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px);font-size:11px;font-weight:500;letter-spacing:.12em}.nav a{position:relative}.nav a:not(.nav-book):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:.25s}.nav a:hover:after{right:0}.nav-book{color:#fff;background:var(--emerald);padding:11px 21px}.menu-toggle{display:none;background:none;border:0}.hero{position:relative;min-height:100svh;display:grid;align-items:end;padding:12vh clamp(24px,8vw,120px);color:#fff;background:linear-gradient(135deg,#0a6b6d 0%,#2da8a0 42%,#83d6cb 60%,#f1d6a3 60%,#c77045 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 25%,rgba(255,255,255,.55),transparent 16%),linear-gradient(165deg,transparent 0 55%,rgba(9,65,59,.38) 55% 100%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,34,33,.6),transparent 70%)}.hero-content{position:relative;z-index:2;max-width:780px}.eyebrow{margin:0 0 20px;color:var(--emerald);font-size:11px;font-weight:600;letter-spacing:.25em}.eyebrow.light{color:#fff}.hero h1,.section-pad h2{font:500 clamp(42px,6.2vw,88px)/1.18 var(--serif);letter-spacing:.02em;margin:0}.hero h1{font-family:var(--sans);font-weight:300;letter-spacing:.08em}.hero-content>p:not(.eyebrow){font-size:clamp(14px,1.5vw,19px);letter-spacing:.08em}.hero-actions{display:flex;gap:12px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-width:190px;padding:15px 24px;font-size:13px;font-weight:500;letter-spacing:.08em;transition:.25s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--emerald);color:#fff}.button.ghost{border:1px solid rgba(255,255,255,.7)}.button.white{background:#fff;color:var(--emerald)}.scroll-cue{position:absolute;z-index:3;right:4vw;bottom:50px;font-size:9px;letter-spacing:.24em;writing-mode:vertical-rl}.scroll-cue span{display:block;height:54px;width:1px;background:#fff;margin:12px auto}.section-pad{position:relative;padding:clamp(90px,12vw,170px) clamp(24px,8vw,120px)}.section-number{font:500 13px/1 var(--serif);color:var(--red);letter-spacing:.1em;margin-bottom:38px}.welcome{display:grid;grid-template-columns:1fr minmax(280px,760px) 1fr;gap:7vw;align-items:center}.welcome-copy p:last-child{max-width:650px;margin-top:35px}.welcome-mark{aspect-ratio:1;border:1px solid #d7d2c8;border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--emerald)}.welcome-mark span{font:600 9vw/.75 var(--serif)}.welcome-mark small{font-size:8px;letter-spacing:.2em}.section-head{margin-bottom:65px}.section-head h2,.split-intro h2,.tarti h2,.access h2,.reservation h2{font-size:clamp(40px,5vw,70px)}.five{background:var(--sand)}.reason-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #cbc7bd}.reason{padding:32px 24px 10px;border-right:1px solid #cbc7bd;min-height:230px}.reason:last-child{border:0}.reason b,.place b{color:var(--red);font:500 18px var(--serif)}.reason h3,.food-card h3,.place h3{font-size:18px;font-weight:500;margin:35px 0 8px}.reason p,.place p{font-size:13px}.dark{color:#fff;background:var(--deep)}.dark .section-number{color:#e88165}.stay-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:7vw;align-items:center}.stay-copy{max-width:420px}.stay-copy dl{margin-top:45px}.stay-copy dl div{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.25);padding:15px 0}.stay-copy dt{font-size:10px;letter-spacing:.16em}.stay-copy dd{margin:0;font:500 17px var(--serif)}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end}.split-intro>p{max-width:540px}.food-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:75px}.food-card{min-height:320px;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(140deg,#0d7773,#4eaaa3)}.food-card:nth-child(2){background:linear-gradient(140deg,#b34d34,#d18b60)}.food-card:nth-child(3){background:linear-gradient(140deg,#333,#777)}.food-card span{margin-bottom:auto;font:500 18px var(--serif)}.food-card h3{font:500 28px var(--serif);margin-bottom:0}.food-card p{font-size:12px}.tarti{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#f3ddd2;padding-top:0;padding-bottom:0}.tarti-art{min-height:720px;display:grid;place-content:center;text-align:center;color:var(--deep);background:radial-gradient(circle,#fff8f3 0 24%,transparent 25%),linear-gradient(150deg,#d98b6f,#f0c9b8)}.paw{width:160px;height:160px;border-radius:47% 47% 52% 52%;display:grid;place-items:center;margin:auto;background:var(--ink);color:#f3ddd2;font-size:50px}.tarti-art span{font:600 70px var(--serif);margin-top:25px}.tarti-copy{padding:80px clamp(30px,7vw,110px)}.note{font-size:11px;margin-top:30px}.experience{background:#fff}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd}.place{background:var(--sand);padding:45px;min-height:260px}.access{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:var(--sand)}.access-copy>p:not(.eyebrow){margin:35px 0}.text-link{display:inline-block;color:var(--emerald);font-weight:500;border-bottom:1px solid}.map-art{min-height:500px;position:relative;display:grid;place-content:center;background:#dce9e5;color:var(--deep);overflow:hidden}.map-art:before,.map-art:after{content:"";position:absolute;width:80%;height:18%;border:3px solid rgba(8,127,121,.35);border-radius:50%;transform:rotate(-33deg)}.map-art:after{width:50%;height:65%;transform:rotate(25deg)}.map-art span{letter-spacing:.4em;font-size:12px}.map-art i{width:15px;height:15px;background:var(--red);border:4px solid #fff;border-radius:50%;margin:20px auto;box-shadow:0 0 0 5px rgba(182,75,50,.2)}.map-art b{font:500 22px var(--serif)}.reservation{text-align:center;color:#fff;background:var(--emerald)}.reservation-inner{max-width:800px;margin:auto}.reservation p:not(.eyebrow){margin:25px 0 35px}.reservation small{display:block;margin-top:18px;opacity:.7}footer{padding:55px clamp(24px,8vw,120px);display:flex;justify-content:space-between;align-items:flex-end;background:#182220;color:#fff}footer p{font-size:9px;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.mobile-only{display:none}@media(max-width:900px){.site-header{padding:18px 22px}.menu-toggle{display:block;position:relative;width:34px;height:30px;z-index:22}.menu-toggle span{position:absolute;left:4px;right:4px;height:1px;background:currentColor;top:10px;transition:.25s}.menu-toggle span:last-child{top:19px}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-5px) rotate(-45deg)}.nav{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;gap:25px;background:#fff;color:var(--ink);font-size:14px;transform:translateX(100%);transition:.35s}.nav.open{transform:none}.welcome,.stay-layout,.split-intro,.tarti,.access{grid-template-columns:1fr}.welcome{gap:50px}.welcome-mark{max-width:270px}.reason-grid{grid-template-columns:1fr 1fr}.reason:nth-child(2n){border-right:0}.food-cards,.place-grid{grid-template-columns:1fr}.food-card{min-height:240px}.tarti-art{min-height:480px}.photo-room{min-height:430px}footer{align-items:flex-start;flex-direction:column;gap:30px}}@media(max-width:560px){.hero{padding-bottom:100px}.hero h1{font-size:39px;line-height:1.35}.hero-actions{flex-direction:column;align-items:flex-start}.button{min-width:220px}.section-pad{padding:85px 22px}.reason-grid{grid-template-columns:1fr}.reason{border-right:0;min-height:auto}.welcome-mark{justify-self:center}.tarti{padding:0}.tarti-copy{padding:80px 22px}.mobile-only{display:block}.scroll-cue{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
/* Actual ZARATAN exterior */
.hero{background:#087f79 url("assets/zaratan-exterior.jpg") center center/cover no-repeat}.hero:before{background:none}.hero-shade{background:linear-gradient(90deg,rgba(0,25,24,.72),rgba(0,25,24,.08))}footer{flex-wrap:wrap;gap:20px}footer>a:last-child{overflow-wrap:anywhere;font-size:13px}

.tarti-art{background:#f3ddd2 url("assets/tarti.webp") center/cover no-repeat}

/* Gallery: no captions unless a title has been supplied. */
.z-gallery{background:#fff;scroll-margin-top:100px}
.z-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.z-gallery figure{margin:0;min-width:0}
.z-gallery img{display:block;width:100%;height:auto;border-radius:2px}
.z-gallery video{display:block;width:100%;aspect-ratio:4/3;background:#182220;object-fit:contain}
.z-gallery figcaption{margin-top:12px;font-size:14px}
.z-gallery a{display:block}
@media(max-width:900px){.z-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{gap:12px}}
@media(max-width:560px){.z-gallery-grid{grid-template-columns:1fr}}


.welcome{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:4vw}
.welcome-photo{width:100%;height:auto;display:block}
.stay-photo{width:100%;max-height:720px;object-fit:contain;display:block}
.amenities{background:var(--sand)}
.amenities h2{font-size:clamp(30px,4vw,48px)}
.amenity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:35px}
.amenity-grid h3{font-size:18px;font-weight:500}
.drink-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}
.drink-photo-row img{width:100%;aspect-ratio:4/3;object-fit:cover}
.travel-note{margin:0;padding:0 8vw 40px;font-size:13px}
@media(max-width:900px){.welcome,.amenity-grid{grid-template-columns:1fr}}
@media(max-width:560px){.drink-photo-row{grid-template-columns:1fr}}
