:root{--green:#0f4a3c;--ink:#17231e;--cream:#f5f1e8;--paper:#fcfaf5;--line:rgba(15,74,60,.18);--serif:'DM Serif Display',Georgia,serif;--sans:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:2;letter-spacing:.04em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;height:94px;display:flex;align-items:center;padding:0 5.5%;color:#fff}.brand{font:400 30px/1 var(--serif);letter-spacing:-.04em}.brand span{font-style:italic}.site-nav{margin-left:auto;display:flex;gap:28px;align-items:center;font-size:12px;letter-spacing:.1em}.site-nav a{transition:opacity .2s}.site-nav a:hover{opacity:.65}.nav-reserve{border:1px solid rgba(255,255,255,.65);padding:8px 17px}.menu-button{display:none}.hero{height:100svh;min-height:650px;position:relative;color:#fff;background:url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=2200&q=90') center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,29,23,.63),rgba(5,29,23,.12) 65%,rgba(5,29,23,.3))}.hero-copy{position:absolute;left:12%;top:50%;transform:translateY(-43%)}.eyebrow{margin:0 0 16px;font-size:10px;font-weight:500;letter-spacing:.2em}.eyebrow.green{color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.12}h1,h2{font-family:var(--serif);letter-spacing:-.035em}h1{font-size:clamp(56px,8.5vw,124px);margin:0 0 23px}h1 em,h2 em{font-style:italic}.hero-text{font-size:15px;line-height:2;margin-bottom:29px}.text-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid var(--green);padding-bottom:6px;font-size:12px;letter-spacing:.08em}.text-link span{font-size:18px;line-height:1}.text-link.light{color:#fff;border-color:rgba(255,255,255,.8)}.hero-note{position:absolute;right:5.5%;top:49%;writing-mode:vertical-rl;font:18px/1.4 var(--serif);letter-spacing:.08em}.hero-note span{font:10px var(--sans);margin-bottom:15px}.scroll-mark{position:absolute;bottom:37px;left:5.5%;font-size:10px;letter-spacing:.18em;display:flex;gap:12px;align-items:center}.scroll-mark span{height:1px;width:55px;background:#fff}.section{padding:150px 8%}.intro{max-width:1350px;margin:auto}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:15%;align-items:start}.intro h2{font-size:clamp(38px,5vw,68px);margin:0}.intro-grid p{margin-bottom:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:65px}.section-heading h2{font-size:clamp(48px,6vw,78px);margin:0}.section-heading>p{margin:0;text-align:right;font-size:13px;line-height:1.9}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;max-width:1280px;margin:auto}.room-card.offset{margin-top:110px}.image-button{border:0;padding:0;cursor:pointer;background:transparent;width:100%;height:clamp(280px,38vw,520px);position:relative;overflow:hidden}.image-button img,.area-card img{transition:transform .7s ease}.image-button:hover img,.area-card:hover img{transform:scale(1.05)}.image-button span{position:absolute;right:18px;bottom:14px;background:rgba(250,248,241,.85);backdrop-filter:blur(8px);padding:5px 13px;color:var(--green);font-size:10px}.room-info{display:flex;justify-content:space-between;padding-top:18px}.room-info h3{font:32px var(--serif);margin:0}.room-info>p{text-align:right;font-size:12px;line-height:1.8;margin:0}.room-info .eyebrow{margin-bottom:3px}.experience{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:#fff;min-height:670px}.experience.reverse{direction:rtl}.experience.reverse>*{direction:ltr}.experience-image{min-height:500px}.cafe-image{background:url('https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=1300&q=85') center/cover}.bar-image{background:url('https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1300&q=85') center/cover}.experience-copy{padding:12% 15%;align-self:center}.experience-copy h2{font-size:clamp(52px,6vw,86px);margin-bottom:22px}.display-jp{font-size:18px;margin-bottom:28px}.experience-copy>p:not(.eyebrow):not(.display-jp){max-width:410px;font-size:13px;line-height:2}.small-note{opacity:.75;font-size:11px!important;margin:23px 0}.experience-copy .text-link{margin-top:20px}.area{max-width:1500px;margin:auto}.area-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:255px;gap:15px}.area-card{display:block;position:relative;overflow:hidden;color:#fff}.area-card.wide{grid-column:span 2}.area-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.62))}.area-card span{position:absolute;z-index:1;bottom:18px;left:20px;right:20px;display:flex;align-items:center;gap:11px;font:28px var(--serif)}.area-card small{font:10px var(--sans);opacity:.8}.area-card b{margin-left:auto;font:18px var(--sans)}.access{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:20%;padding-top:100px;padding-bottom:100px}.access h2{font-size:clamp(45px,5vw,70px);margin:0}.access-info p{font-size:13px;line-height:2.1;margin-bottom:30px}.reservation{background:linear-gradient(rgba(7,42,34,.72),rgba(7,42,34,.86)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=85') center/cover;color:#fff;text-align:center;padding:140px 20px}.reservation-inner{max-width:700px;margin:auto}.reservation h2{font-size:clamp(43px,6vw,78px);margin:0 0 28px}.reservation-inner>p:not(.eyebrow){font-size:13px;margin-bottom:38px}.booking-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.booking-links a{border:1px solid rgba(255,255,255,.65);padding:11px 21px;font-size:12px;transition:.2s}.booking-links a:hover{background:#fff;color:var(--green)}.booking-links .primary-button{background:#fff;color:var(--green);border-color:#fff}.primary-button span{margin-left:16px}footer{background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:30px 5.5%;font-size:10px;letter-spacing:.1em}footer .brand{font-size:24px}.gallery{border:0;width:min(900px,94vw);padding:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.35)}.gallery::backdrop{background:rgba(3,18,14,.78);backdrop-filter:blur(4px)}.gallery-content{display:grid;grid-template-columns:1.25fr .75fr}.gallery-content img{height:500px}.gallery-content>div{padding:50px 35px}.gallery-content h2{font-size:45px;margin:0 0 20px}.close-gallery{position:absolute;z-index:2;top:12px;right:14px;border:0;width:32px;height:32px;border-radius:50%;font-size:25px;line-height:1;background:rgba(255,255,255,.85);cursor:pointer;color:var(--green)}
@media(max-width:720px){.site-header{height:72px;padding:0 6%}.site-nav{display:none;position:absolute;top:72px;left:0;width:100%;padding:20px 6% 30px;background:var(--green);flex-direction:column;align-items:flex-start;gap:12px}.site-nav.open{display:flex}.menu-button{margin-left:auto;display:block;background:transparent;border:0;width:35px;padding:8px 0}.menu-button span{display:block;background:#fff;height:1px;margin:6px 0;width:100%}.hero{min-height:600px}.hero-copy{left:8%;right:7%;top:48%}.hero-note{display:none}.scroll-mark{left:8%}.section{padding:84px 7%}.intro-grid,.experience,.access{grid-template-columns:1fr;gap:35px}.section-heading{align-items:start;margin-bottom:36px}.section-heading>p{display:none}.room-grid{grid-template-columns:1fr;gap:48px}.room-card.offset{margin-top:0}.image-button{height:350px}.experience.reverse{direction:ltr}.experience-copy{padding:64px 9%}.experience-image{min-height:380px}.area-grid{grid-template-columns:1fr 1fr;grid-auto-rows:185px;gap:8px}.area-card.wide{grid-column:span 2}.area-card span{font-size:23px;bottom:12px;left:13px;right:13px}.access{padding-top:70px;padding-bottom:70px}.reservation{padding:100px 20px}.gallery-content{grid-template-columns:1fr}.gallery-content img{height:320px}.gallery-content>div{padding:30px}.gallery-content h2{font-size:38px}footer{padding:25px 7%}footer p{display:none}}

/* TAKIBE.st photography */
.hero{background-image:url('assets/tsunoshima.jpg')}.bar-image{background-image:url('assets/bar.jpg')}.reservation{background-image:linear-gradient(rgba(7,42,34,.72),rgba(7,42,34,.86)),url('assets/exterior.jpg')}

/* Mobile-first booking actions and local photo paths */
.hero{background-image:url('./assets/tsunoshima.jpg')}.bar-image{background-image:url('./assets/bar.jpg')}.reservation{background-image:linear-gradient(rgba(7,42,34,.72),rgba(7,42,34,.86)),url('./assets/exterior.jpg')}.booking-links{gap:12px}.booking-button{min-width:230px!important;display:flex!important;align-items:center;gap:10px;padding:14px 17px!important;text-align:left;font-family:Arial,sans-serif;font-weight:700;letter-spacing:0!important}.booking-button small{margin-left:auto;font-size:10px;font-weight:500;letter-spacing:.03em}.booking-com{color:#fff!important;background:#003580;border-color:#003580!important}.booking-com:hover{background:#00224f!important;color:#fff!important}.booking-icon{font-size:24px;font-weight:800;letter-spacing:-.13em}.airbnb{color:#fff!important;background:#ff385c;border-color:#ff385c!important}.airbnb:hover{background:#d92d4e!important;color:#fff!important}.airbnb-icon{font:30px/1 Arial,sans-serif;transform:rotate(90deg);display:inline-block}.footer-links{display:flex;gap:24px}
@media(max-width:720px){body{font-size:13px}.site-header{position:absolute;background:linear-gradient(rgba(5,29,23,.35),transparent)}.hero{height:92svh;min-height:580px;background-position:58% center}.hero-overlay{background:linear-gradient(180deg,rgba(5,29,23,.38),rgba(5,29,23,.12) 42%,rgba(5,29,23,.65))}.hero-copy{top:auto;bottom:13%;transform:none}.hero-copy h1{font-size:clamp(54px,16vw,76px)}.hero-text{font-size:13px;margin-bottom:22px}.intro{padding-top:78px;padding-bottom:82px}.intro h2{font-size:42px;line-height:1.2}.intro-grid{gap:27px}.intro-grid p{line-height:2.1;margin-bottom:14px}.section-heading h2{font-size:53px}.rooms{padding-top:75px}.room-grid{gap:42px}.image-button{height:300px}.room-info{padding-top:13px}.room-info h3{font-size:29px}.room-info>p{font-size:11px}.experience-image{min-height:300px}.experience-copy{padding:57px 8% 62px}.experience-copy h2{font-size:58px}.area{padding-top:76px}.area-grid{grid-auto-rows:172px}.access{padding:68px 7%}.access-info p{font-size:12px}.reservation{padding:82px 20px;background-position:center}.reservation h2{font-size:45px}.booking-links{display:grid;grid-template-columns:1fr;width:min(100%,330px);margin:auto}.booking-button{width:100%;min-width:0!important;padding:15px 17px!important}.footer-links{gap:16px}footer{align-items:flex-start;gap:16px;flex-wrap:wrap}footer .footer-links{width:100%;justify-content:space-between}footer p{display:none}}

/* Reservation-first layout and TAKIBE.st photography */
.cafe-image{background-image:url('./assets/cafe-host.jpg')}.bar-image{background-image:url('./assets/bar-drink.jpg')}.reservation{background-image:linear-gradient(rgba(7,42,34,.72),rgba(7,42,34,.9)),url('./assets/night-exterior.jpg')}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.hero-reserve{display:flex;align-items:center;justify-content:space-between;gap:22px;min-width:310px;padding:16px 20px;background:#fff;color:var(--green);box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:15px;font-weight:600;letter-spacing:.06em}.hero-reserve small{font-size:10px;font-weight:500;letter-spacing:.02em}.cafe-menu-preview{display:none}.official-booking{display:flex;align-items:center;gap:15px;max-width:420px;margin:0 auto 19px;padding:17px 20px;background:#fff;color:var(--green);text-align:left;box-shadow:0 12px 28px rgba(0,0,0,.15)}.official-booking strong,.official-booking small{display:block}.official-booking small{font-size:10px;letter-spacing:.03em}.official-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--green);color:#fff;font-weight:700}.reservation-note{font-size:12px!important;line-height:1.8;margin:0 auto 22px!important;max-width:430px}.alternate-booking{font-size:10px!important;opacity:.82;margin:0 0 12px!important}.instagram-section{display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:var(--cream)}.instagram-section>div{padding:100px 14%;align-self:center}.instagram-section h2{font-size:clamp(42px,5vw,66px);margin:0 0 22px}.instagram-section p:not(.eyebrow){font-size:13px;line-height:2;margin-bottom:28px}.instagram-section>img{width:100%;height:100%;object-fit:cover}.instagram-button{display:flex;align-items:center;flex-wrap:wrap;gap:9px;width:fit-content;padding:15px 19px;background:#0e0e0e;color:#fff;font-size:15px;font-weight:600;letter-spacing:.05em}.instagram-button>span{font-size:25px;line-height:1}.instagram-button small{width:100%;font-size:10px;opacity:.76;margin-left:34px}.instagram-button:hover{background:var(--green)}
@media(max-width:720px){.hero-copy{bottom:10%;width:84%}.hero-actions{gap:16px}.hero-reserve{width:100%;min-width:0;padding:14px 16px;font-size:14px}.hero-reserve small{font-size:9px}.cafe-image{background-position:center 30%}.cafe-menu-preview{display:block;width:120px;margin:22px 0}.cafe-menu-preview img{height:auto;aspect-ratio:3/4;object-fit:cover}.experience-copy .text-link{margin-top:4px}.official-booking{padding:16px;margin-bottom:17px}.reservation-note{font-size:11px!important}.instagram-section{grid-template-columns:1fr}.instagram-section>div{padding:72px 8%}.instagram-section>img{height:320px}.instagram-section h2{font-size:47px}.instagram-button{width:100%;justify-content:center}.instagram-button small{margin-left:0;text-align:center}.bar-image{background-position:35% center}}

/* Small-screen type and map refinements */
.intro{background-image:linear-gradient(90deg,var(--paper) 0%,rgba(252,250,245,.96) 46%,rgba(252,250,245,.28) 100%),url('./assets/night-exterior.jpg');background-size:cover;background-position:right center}.bar-image{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#15120f}.access{grid-template-columns:.8fr 1fr 1.3fr;gap:7%;align-items:center}.access-map{height:250px;box-shadow:0 10px 24px rgba(15,74,60,.14)}.access-map iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:720px){.intro{background-image:linear-gradient(180deg,rgba(252,250,245,.75) 0%,rgba(252,250,245,.45) 55%,rgba(252,250,245,.70) 100%),url('./assets/two.jpg');background-size:cover;background-position:center}.intro h2{font-size:clamp(26px,7.2vw,29px);letter-spacing:-.08em;white-space:nowrap;line-height:1.32}.reservation h2{font-size:clamp(25px,7vw,28px);letter-spacing:-.07em;line-height:1.25}.bar-image{background-position:center ;background-size:contain}.access{grid-template-columns:1fr;gap:28px}.access-map{height:300px;margin:0 -1px}.access-info{order:2}.access-map{order:3}}
