/* v44 style block 1: fab-consolidated-styles */

:root{
  --paper:#f4f0e7;
  --paper-deep:#e9e2d5;
  --paper-light:#faf7f0;
  --ink:#2d241d;
  --brown:#482d12;
  --brown-soft:#73563b;
  --green:#596d45;
  --lemon:#d2b451;
  --line:rgba(72,45,18,.16);
  --white:#fffdf8;
  --pad:clamp(22px,4.6vw,74px);
  --max:1440px;
  --serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:auto}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:2;letter-spacing:.045em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font:inherit}
figure{margin:0}
::selection{background:rgba(210,180,81,.32)}
.grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.inner{width:min(calc(100% - (var(--pad) * 2)),var(--max));margin-inline:auto}
.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.24em;color:var(--brown-soft);text-transform:uppercase;margin:0 0 20px}
.section-title{margin:0;color:var(--brown);font:500 max(var(--fab-font-minimum), clamp(29px,3.2vw,42px))/1.75 var(--serif);letter-spacing:.075em}
.body-serif{font-family:var(--serif)}
.arrow{display:inline-flex;align-items:center;gap:15px;font-size:11px;letter-spacing:.14em}
.arrow::after{content:"";width:46px;height:1px;background:currentColor;transition:width .7s var(--ease)}
.arrow:hover::after{width:68px}


.header{position:fixed;inset:0 0 auto;z-index:120;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px var(--pad);color:#fff;transition:color .8s var(--ease),background .8s var(--ease),padding .8s var(--ease),border-color .8s var(--ease)}
.header.scrolled{color:var(--brown);background:rgba(244,240,231,.88);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding-top:13px;padding-bottom:13px}
.logo{justify-self:start;font:500 14px/1.35 var(--serif);letter-spacing:.15em}
.logo small{display:block;margin-bottom:3px;font:500 var(--fab-font-minimum)/1.3 var(--sans);letter-spacing:.24em;opacity:.78}
.header-place{justify-self:center;font-size:var(--fab-font-minimum);letter-spacing:.22em;white-space:nowrap;opacity:.82}
.header-actions{justify-self:end;display:flex;align-items:center;gap:8px}
.header-link{padding:10px 12px;font-size:var(--fab-font-minimum);letter-spacing:.15em}
.utility-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font-size:var(--fab-font-minimum);letter-spacing:.16em;transition:.5s var(--ease);cursor:pointer}
.utility-btn:hover{background:var(--lemon);border-color:var(--lemon);color:var(--brown)}
.menu-btn{width:40px;padding:0}
.menu-lines{position:relative;width:13px;height:8px}
.menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0;width:13px;height:1px;background:currentColor;transition:.5s var(--ease)}
.menu-lines::before{top:1px}.menu-lines::after{bottom:1px}
.menu-open .menu-lines::before{top:3px;transform:rotate(45deg)}
.menu-open .menu-lines::after{bottom:4px;transform:rotate(-45deg)}

.menu-panel{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:rgba(52,35,20,.96);color:#f8f1e5;opacity:0;visibility:hidden;transition:.8s var(--ease)}
.menu-open .menu-panel{opacity:1;visibility:visible}
.menu-panel nav{display:grid;text-align:center;gap:20px}
.menu-panel a{font:500 max(var(--fab-font-minimum), clamp(21px,2.4vw,30px))/1.7 var(--serif);letter-spacing:.1em}
.menu-panel small{display:block;margin-top:28px;font-size:var(--fab-font-minimum);letter-spacing:.2em;color:#d9c9b4}


.hero{position:relative;height:100vh;height:100dvh;min-height:690px;overflow:hidden;background:#26323a;color:#fff}
.hero-slides,.hero-slide,.hero-slide::after{position:absolute;inset:0}
.hero-slide{opacity:0;transition:opacity 2.5s ease;will-change:opacity}
.hero-slide.is-active{opacity:1}
.hero-slide img{position:absolute;inset:-3%;width:106%;height:106%;transform:scale(1.02);will-change:transform}
.hero-slide::after{content:"";background:linear-gradient(180deg,rgba(21,28,30,.12) 0%,rgba(26,25,22,.08) 40%,rgba(24,21,18,.58) 100%),linear-gradient(90deg,rgba(20,20,18,.18),transparent 55%)}
.hero-interface{position:relative;z-index:2;height:100%;padding:clamp(112px,14vh,150px) var(--pad) clamp(64px,8vh,88px);display:grid;grid-template-columns:minmax(0,720px) 1fr;grid-template-rows:1fr auto;align-items:end}
.hero-copy{align-self:end;max-width:720px;padding-bottom:clamp(38px,7vh,76px)}
.hero-kicker{margin-bottom:23px;font-size:var(--fab-font-minimum);letter-spacing:.25em;opacity:.78}
.hero h1{margin:0;font:500 max(var(--fab-font-minimum), clamp(32px,3.15vw,44px))/1.74 var(--serif);letter-spacing:.085em;text-shadow:0 2px 18px rgba(0,0,0,.2)}
.hero h1 span{display:block}
.mobile-line{display:none!important}
.hero-en{margin:20px 0 0;font:400 max(var(--fab-font-minimum), clamp(12px,1vw,14px))/1.9 var(--serif);letter-spacing:.07em;opacity:.84}
.hero-side{justify-self:end;align-self:center;display:grid;gap:28px;min-width:155px}
.hero-side-block{padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.35)}
.hero-side-label{display:block;margin-bottom:4px;font-size:var(--fab-font-minimum);letter-spacing:.2em;opacity:.68}
.hero-side-value{font:400 13px/1.6 var(--serif);letter-spacing:.12em}
.scene-nav{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.34);padding-top:18px}
.scene-name{font-size:var(--fab-font-minimum);letter-spacing:.22em;opacity:.7}
.scene-buttons{display:flex;align-items:center;gap:14px}
.scene-btn{display:flex;align-items:center;gap:8px;border:0;background:none;color:#fff;padding:5px 0;cursor:pointer;font-size:var(--fab-font-minimum);letter-spacing:.16em;opacity:.5;transition:.7s var(--ease)}
.scene-btn::before{content:"";width:22px;height:1px;background:currentColor;transition:width .7s var(--ease)}
.scene-btn.is-active{opacity:1}.scene-btn.is-active::before{width:44px}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:23px;transform:translateX(-50%);display:grid;justify-items:center;gap:8px;font-size:var(--fab-font-minimum);letter-spacing:.22em;opacity:.8}
.scroll-cue::after{content:"";width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:scrollLine 2.8s ease-in-out infinite}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}42%{transform:scaleY(1);transform-origin:top}58%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}


.intro{position:relative;padding:clamp(120px,15vw,210px) 0 clamp(110px,13vw,190px);background:var(--paper)}
.intro-text{position:relative;z-index:3;width:min(620px,55vw);margin-left:7.5vw}
.intro h2{margin:0 0 30px;color:var(--brown);font:500 max(var(--fab-font-minimum), clamp(29px,3.2vw,42px))/1.78 var(--serif);letter-spacing:.08em}
.intro p{max-width:540px;margin:0 0 1.25em;font:400 max(var(--fab-font-minimum), clamp(15px,1.2vw,18px))/2.35 var(--serif);letter-spacing:.045em}
.collage{position:relative;height:700px;margin-top:40px}
.photo{position:absolute;margin:0;overflow:hidden;background:#ddd}
.photo img{transition:transform 2.2s var(--ease)}
.photo.in img{transform:scale(1)}
.photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.p1{width:45%;height:520px;right:0;top:-80px}.p2{width:29%;height:385px;left:3%;top:180px}.p3{width:29%;height:285px;left:39%;top:365px}
.caption{position:absolute;left:0;bottom:-32px;font-size:var(--fab-font-minimum);letter-spacing:.16em;color:var(--brown-soft)}


.news{padding:0 var(--pad);background:var(--paper)}
.news-inner{width:min(100%,var(--max));margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:28px;padding:34px 0}
.news-title{font:500 18px/1.6 var(--serif);color:var(--brown);letter-spacing:.08em}
.news-item{display:flex;gap:24px;align-items:center;font-size:13px;line-height:1.8}
.news-item time{flex:0 0 auto;font-size:var(--fab-font-minimum);letter-spacing:.13em;color:var(--brown-soft)}


.feature-lead{padding:clamp(110px,13vw,180px) var(--pad) clamp(100px,12vw,170px)}
.feature-head{width:min(100%,var(--max));margin:0 auto 52px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}
.feature-head h2{max-width:680px}
.feature-note{max-width:300px;font:400 14px/2 var(--serif);color:var(--brown-soft)}
.feature-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:12px;align-items:end;min-height:620px}
.feature-card{position:relative;overflow:hidden;color:#fff;min-height:430px;cursor:pointer;background:#786b5f}
.feature-card:nth-child(1){grid-column:1/4;height:570px}.feature-card:nth-child(2){grid-column:4/6;height:470px}.feature-card:nth-child(3){grid-column:6/9;height:610px}.feature-card:nth-child(4){grid-column:9/11;height:490px}.feature-card:nth-child(5){grid-column:11/13;height:555px}
.feature-card img{transition:transform 1.8s var(--ease)}.feature-card:hover img{transform:scale(1.04)}
.feature-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(30,23,17,.7))}
.feature-card .no{position:absolute;top:17px;left:17px;z-index:2;font-size:var(--fab-font-minimum);letter-spacing:.19em}
.fc-text{position:absolute;z-index:2;left:18px;right:15px;bottom:18px}
.feature-card h3{min-height:132px;margin:0;font:500 max(var(--fab-font-minimum), clamp(18px,1.6vw,24px))/1.65 var(--serif);letter-spacing:.1em;writing-mode:vertical-rl}
.feature-card p{margin:10px 0 0;font-size:var(--fab-font-minimum);line-height:1.75;letter-spacing:.1em;opacity:.84}


.story{position:relative;overflow:hidden}
.story-copy p{margin:0 0 31px;font:400 max(var(--fab-font-minimum), clamp(14px,1.15vw,17px))/2.3 var(--serif);letter-spacing:.04em}
.story-num{margin-bottom:23px;font:500 11px/1.4 var(--sans);letter-spacing:.19em;color:var(--lemon)}
.story h3{margin:0 0 27px;color:var(--brown);font:500 max(var(--fab-font-minimum), clamp(28px,3vw,39px))/1.7 var(--serif);letter-spacing:.095em}


.story-house{padding:clamp(130px,15vw,210px) var(--pad);background:var(--paper-light)}
.house-stage{position:relative;width:min(100%,var(--max));min-height:820px;margin:auto}
.house-main{position:absolute;left:0;top:0;width:72%;height:700px;margin:0;overflow:hidden}
.house-copy{position:absolute;z-index:2;right:0;top:125px;width:min(430px,36%);padding:clamp(32px,4vw,58px);background:rgba(244,240,231,.96);box-shadow:0 26px 75px rgba(72,45,18,.1)}
.house-detail{position:absolute;z-index:3;right:7%;bottom:0;width:210px;height:310px;margin:0;overflow:hidden;border:10px solid var(--paper-light)}
.house-side{position:absolute;right:0;bottom:18px;font-size:var(--fab-font-minimum);letter-spacing:.27em;color:var(--brown-soft);writing-mode:vertical-rl}


.story-nature{padding:clamp(125px,15vw,205px) var(--pad);background:var(--paper-deep)}
.nature-head{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.nature-head .story-copy{max-width:460px;justify-self:end;padding-top:78px}
.nature-visuals{position:relative;width:min(100%,var(--max));height:760px;margin:70px auto 0}
.nature-main{position:absolute;left:0;top:0;width:69%;height:650px;margin:0;overflow:hidden}
.nature-small{position:absolute;right:0;bottom:0;width:34%;height:390px;margin:0;overflow:hidden;border:12px solid var(--paper-deep)}
.nature-word{position:absolute;z-index:2;right:4%;top:34px;font:500 max(var(--fab-font-minimum), clamp(38px,6vw,84px))/1 var(--serif);letter-spacing:.08em;color:rgba(72,45,18,.095);writing-mode:vertical-rl}


.story-food{padding:clamp(125px,15vw,205px) var(--pad);background:#efe7d9}
.food-layout{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1fr 1.55fr .75fr;gap:clamp(28px,5vw,74px);align-items:center}
.food-copy{align-self:start;padding-top:70px}
.food-main{height:660px;margin:0;overflow:hidden}
.food-aside{align-self:end;padding-bottom:70px}
.food-detail{height:260px;margin:0 0 30px;overflow:hidden}
.food-quote{padding-top:23px;border-top:1px solid var(--line);font:500 16px/2.1 var(--serif);letter-spacing:.07em;color:var(--brown)}


.story-life{padding:clamp(125px,14vw,195px) var(--pad);background:var(--paper)}
.life-layout{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,8vw,130px);align-items:start}
.life-copy{position:sticky;top:150px;max-width:430px;padding-top:100px}
.life-scenes{display:grid;gap:110px}
.life-main{height:650px;margin:0 0 0 8%;overflow:hidden}
.life-small{width:72%;height:470px;margin:0 auto 0 0;overflow:hidden}
.life-caption{display:flex;justify-content:space-between;margin-top:15px;font-size:var(--fab-font-minimum);letter-spacing:.16em;color:var(--brown-soft)}


.story-koune{background:#2e2a24;color:#fff}
.koune-visual{position:relative;height:min(92vh,900px);min-height:680px;overflow:hidden}
.koune-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,23,20,.08),rgba(25,22,19,.18) 52%,rgba(24,21,18,.68))}
.koune-card{position:absolute;z-index:2;left:var(--pad);bottom:clamp(45px,8vh,88px);width:min(520px,calc(100% - (var(--pad) * 2)));padding:clamp(30px,4vw,52px);background:rgba(244,240,231,.93);color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.koune-card h3{color:var(--brown)}
.koune-facts{display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,var(--max));margin:auto;padding:48px var(--pad) 58px;gap:32px}
.koune-fact{border-top:1px solid rgba(255,255,255,.25);padding-top:18px}
.koune-fact b{display:block;margin-bottom:7px;font:500 18px/1.5 var(--serif);letter-spacing:.08em;color:#f2e4c4}
.koune-fact span{font-size:var(--fab-font-minimum);line-height:1.8;letter-spacing:.13em;color:#d6c8b7}


.about{padding:clamp(125px,16vw,220px) var(--pad);background:var(--brown);color:#f7f0e3;overflow:hidden}
.about-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(45px,8vw,120px);align-items:end}
.about h2{max-width:760px;margin:0 0 30px;color:#f7f0e3;font:500 max(var(--fab-font-minimum), clamp(29px,3.2vw,42px))/1.75 var(--serif);letter-spacing:.08em}
.about-copy p{max-width:580px;margin:0;font:400 max(var(--fab-font-minimum), clamp(14px,1.15vw,17px))/2.35 var(--serif)}
.about .arrow{margin-top:28px}
.about-img{height:590px}.about-detail{position:relative;z-index:2;width:68%;height:280px;margin:-105px 0 0 auto;border:10px solid var(--brown)}
.gallery{padding:clamp(110px,14vw,190px) 0;background:var(--paper)}
.gallery-head{width:min(calc(100% - (var(--pad) * 2)),var(--max));margin:0 auto 50px;display:flex;align-items:end;justify-content:space-between;gap:30px}
.gallery h2{margin:0;color:var(--brown);font:500 max(var(--fab-font-minimum), clamp(29px,3.2vw,42px))/1.7 var(--serif);letter-spacing:.08em}
.gallery-track{display:flex;gap:12px;overflow-x:auto;padding:0 var(--pad) 28px;scrollbar-width:none;cursor:grab;touch-action:pan-y}.gallery-track::-webkit-scrollbar{display:none}
.gallery-track figure{flex:0 0 auto;width:clamp(260px,31vw,500px);height:clamp(350px,44vw,660px);margin:0;overflow:hidden}.gallery-track figure:nth-child(even){height:clamp(260px,33vw,480px);margin-top:105px}
.contact{padding:clamp(125px,17vw,225px) var(--pad);text-align:center;background:#ddd5c7}
.contact h2{max-width:760px;margin:0 auto 27px;color:var(--brown);font:500 max(var(--fab-font-minimum), clamp(29px,3.2vw,42px))/1.75 var(--serif);letter-spacing:.08em}
.contact p{max-width:620px;margin:0 auto 38px;font:400 15px/2.25 var(--serif)}
.contact-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:210px;padding:15px 25px;border:1px solid var(--brown);border-radius:999px;font-size:11px;letter-spacing:.15em;transition:.6s var(--ease)}
.btn.primary{background:var(--brown);color:#fff}.btn:hover{background:var(--lemon);border-color:var(--lemon);color:var(--brown)}
.footer{padding:78px var(--pad) 36px;background:#292019;color:#e9dfd1}
.footer-inner{width:min(100%,var(--max));margin:auto}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:62px}.footer-brand{font:500 22px/1.5 var(--serif);letter-spacing:.1em}.footer-brand small{display:block;margin-top:18px;font:400 11px/1.9 var(--sans);letter-spacing:.1em;color:#beaf9e}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:13px 35px;font-size:11px;letter-spacing:.1em}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.15);padding-top:24px;font-size:var(--fab-font-minimum);letter-spacing:.13em;color:#a99988}


.reveal{opacity:0;transform:translate3d(0,38px,0);transition:opacity 1.45s var(--ease),transform 1.65s var(--ease);transition-delay:var(--delay,0s)}
.reveal.in{opacity:1;transform:none}
.reveal-image{overflow:hidden}
.reveal-image img{transform:scale(1.045);transition:transform 2.1s var(--ease);will-change:transform}
.reveal-image.in img{transform:scale(1)}
[data-drift] img{will-change:transform}

@media(max-width:1040px){
  .header{grid-template-columns:1fr auto}.header-place,.header-link{display:none}
  .hero-interface{grid-template-columns:1fr}.hero-side{display:none}
  .intro-text{width:min(690px,76vw);margin-left:4vw}
  .feature-head{grid-template-columns:1fr}.feature-note{max-width:520px}
  .feature-grid{display:flex;min-height:0;overflow-x:auto;align-items:end;gap:10px;padding-bottom:18px;scrollbar-width:none}.feature-grid::-webkit-scrollbar{display:none}.feature-card,.feature-card:nth-child(n){flex:0 0 37vw;height:540px;min-height:440px}
  .house-stage{min-height:780px}.house-main{width:78%;height:650px}.house-copy{width:42%}.house-detail{right:4%}
  .nature-head{grid-template-columns:1fr}.nature-head .story-copy{justify-self:start;padding-top:0}.nature-visuals{height:680px}.nature-main{width:76%;height:590px}.nature-small{width:39%;height:350px}
  .food-layout{grid-template-columns:.9fr 1.35fr}.food-aside{grid-column:1/-1;display:grid;grid-template-columns:280px 1fr;align-items:end;gap:35px;padding:0}.food-detail{margin:0;height:230px}
  .life-layout{grid-template-columns:.85fr 1.15fr;gap:50px}.life-main{margin-left:0}
  .about-grid{grid-template-columns:1fr}.about-visual{max-width:720px;margin-left:auto;width:72%}
}
@media(max-width:760px){
  :root{--pad:20px}
  body{font-size:14px;line-height:1.95}
  .header{padding:14px var(--pad)}.header.scrolled{padding-top:11px;padding-bottom:11px}.logo{font-size:14px}.utility-btn{min-height:36px;padding:0 13px}.reserve-btn{display:none}
  .hero{min-height:650px}.hero-interface{padding:105px var(--pad) 65px;display:block}.hero-copy{position:absolute;left:var(--pad);right:var(--pad);bottom:84px;padding:0;max-width:500px}.hero h1{font-size:max(var(--fab-font-minimum), clamp(27px,7.5vw,34px));line-height:1.78}.desktop-line{display:none!important}.mobile-line{display:block!important}.hero-en{font-size:11px}.scene-nav{position:absolute;left:var(--pad);right:var(--pad);bottom:34px}.scene-buttons{gap:10px}.scene-btn{font-size:var(--fab-font-minimum)}.scene-btn span{display:none}.scroll-cue{display:none}
  .intro{padding-top:105px;padding-bottom:95px}.intro-text{width:100%;margin:0}.intro h2,.section-title,.about h2,.gallery h2,.contact h2{font-size:max(var(--fab-font-minimum), clamp(27px,7.4vw,34px));line-height:1.75}.intro p{font-size:15px;line-height:2.2}.collage{height:600px;margin-top:55px}.p1{width:72%;height:360px;right:0;top:0}.p2{width:48%;height:285px;left:0;top:245px}.p3{width:42%;height:210px;left:auto;right:2%;top:390px}.caption{font-size:var(--fab-font-minimum);bottom:-28px}
  .news-inner{grid-template-columns:1fr auto;gap:13px 20px;padding:28px 0}.news-title{font-size:17px}.news-item{grid-column:1/-1;grid-row:2;display:grid;gap:8px}.news-inner>.arrow{grid-column:2;grid-row:1}.news-item time{font-size:var(--fab-font-minimum)}
  .feature-lead{padding-top:100px;padding-bottom:100px}.feature-head{margin-bottom:36px}.feature-note{font-size:13px}.feature-card,.feature-card:nth-child(n){flex-basis:72vw;height:480px;min-height:480px}
  .story h3{font-size:max(var(--fab-font-minimum), clamp(26px,7vw,32px));line-height:1.72}.story-copy p{font-size:15px;line-height:2.2}
  .story-house{padding-top:105px;padding-bottom:105px}.house-stage{min-height:830px}.house-main{position:relative;width:88%;height:500px}.house-copy{top:430px;width:90%;padding:32px 25px}.house-detail{right:0;bottom:0;width:150px;height:220px;border-width:8px}.house-side{display:none}
  .story-nature{padding-top:105px;padding-bottom:105px}.nature-head{gap:35px}.nature-visuals{height:600px;margin-top:50px}.nature-main{width:85%;height:500px}.nature-small{width:48%;height:270px;border-width:8px}.nature-word{display:none}
  .story-food{padding-top:105px;padding-bottom:105px}.food-layout{grid-template-columns:1fr;gap:45px}.food-copy{padding:0}.food-main{height:500px}.food-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.food-detail{height:220px}.food-quote{font-size:14px}
  .story-life{padding-top:105px;padding-bottom:105px}.life-layout{grid-template-columns:1fr;gap:55px}.life-copy{position:relative;top:auto;padding:0}.life-scenes{gap:70px}.life-main{height:500px}.life-small{width:78%;height:330px}.life-caption{font-size:var(--fab-font-minimum)}
  .koune-visual{height:780px}.koune-card{left:var(--pad);bottom:30px;padding:28px 24px}.koune-facts{grid-template-columns:1fr;padding:35px var(--pad) 45px;gap:22px}.koune-fact{display:grid;grid-template-columns:95px 1fr;align-items:center}.koune-fact b{margin:0}
  .about{padding-top:110px;padding-bottom:110px}.about-visual{width:100%;max-width:none}.about-img{height:470px}.about-detail{height:215px;width:75%;margin-top:-75px}.gallery{padding-top:100px;padding-bottom:100px}.gallery-head{align-items:flex-start}.gallery-head>.arrow{display:none}.gallery-track figure{width:76vw;height:108vw}.gallery-track figure:nth-child(even){height:82vw;margin-top:70px}
  .contact{padding-top:110px;padding-bottom:110px}.contact p{font-size:14px}.footer{padding-top:65px}.footer-top{grid-template-columns:1fr;gap:42px}.footer-nav{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}
@media(max-width:430px){
  .hero h1{font-size:29px}.scene-name{display:none}.scene-nav{justify-content:flex-end}
  .food-aside{grid-template-columns:1fr}.food-detail{width:68%}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.reveal-image img{transform:none!important}
}





.hero-slide{transform:translate3d(0,var(--hero-scroll-y,0px),0);transition:opacity 2.5s ease,transform .15s linear}
.hero-slide img{inset:-4% -7%;width:114%;height:108%;transform:translate3d(-3.2%,0,0) scale(1.055);will-change:transform}
.hero-slide.is-active img,
.hero-slide.is-leaving img{animation:heroDriftHorizontal 12.5s linear both}
@keyframes heroDriftHorizontal{
  from{transform:translate3d(-3.2%,0,0) scale(1.055)}
  to{transform:translate3d(3.2%,0,0) scale(1.055)}
}
.scene-buttons{gap:18px}
.scene-btn{position:relative;gap:7px;padding:7px 0 7px 50px;min-width:92px;opacity:.46}
.scene-btn::before{position:absolute;left:0;top:50%;width:38px;height:1px;background:rgba(255,255,255,.35);transform:none;transition:none}
.scene-btn::after{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:#fff;transform:translateY(0);will-change:width}
.scene-btn.is-active::before{width:38px}
.scene-btn.is-active::after{animation:sceneTimeLine 9s linear forwards}
@keyframes sceneTimeLine{from{width:0}to{width:38px}}


.news{padding:clamp(92px,10vw,150px) var(--pad) clamp(100px,11vw,165px);background:#f7f6f2}
.news-shell{width:min(100%,var(--max));margin:auto}
.news-heading-row{display:grid;grid-template-columns:190px 1fr;gap:52px;align-items:end;margin-bottom:clamp(28px,2.6041667vw,50px)}
.news .eyebrow{margin-bottom:12px}
.news-title{margin:0;color:var(--brown);font:500 max(var(--fab-font-minimum), clamp(28px,2.7vw,38px))/1.55 var(--serif);letter-spacing:.11em}
.news-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}
.news-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border:1px solid rgba(72,45,18,.23);font:500 13px/1.4 var(--serif);letter-spacing:.08em;transition:background .6s var(--ease),color .6s var(--ease),border-color .6s var(--ease)}
.news-tabs a:hover,.news-tabs a.is-active{background:var(--brown);border-color:var(--brown);color:#fff}
.news-list{border-top:1px solid rgba(72,45,18,.2)}
.news-row{display:grid;grid-template-columns:28px 112px 1fr;gap:20px;align-items:center;min-height:76px;border-bottom:1px solid rgba(72,45,18,.2);transition:padding-left .65s var(--ease),background .65s var(--ease)}
.news-row:hover{padding-left:12px;background:rgba(255,255,255,.42)}
.news-circle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font:400 17px/1 var(--sans);transform:translateY(-1px)}
.news-row time{font-size:var(--fab-font-minimum);letter-spacing:.13em;color:var(--brown-soft)}
.news-row-title{font:400 max(var(--fab-font-minimum), clamp(14px,1.15vw,16px))/1.8 var(--serif);letter-spacing:.055em;color:var(--ink)}
.news-more{display:inline-flex;align-items:center;gap:18px;margin-top:42px;padding-bottom:14px;border-bottom:1px solid rgba(72,45,18,.28);font:500 14px/1.5 var(--serif);letter-spacing:.09em}


.intro{padding-top:clamp(125px,15vw,215px)}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(55px,9vw,145px);align-items:end}
.intro-text{width:auto;margin-left:0}
.intro h2{max-width:690px}
.intro-text p{max-width:630px}
.intro-core{align-self:center;padding:42px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-core>span{display:block;margin-bottom:19px;font-size:var(--fab-font-minimum);letter-spacing:.22em;color:var(--lemon)}
.intro-core p{margin:0 0 19px;color:var(--brown);font:500 max(var(--fab-font-minimum), clamp(19px,1.7vw,25px))/2 var(--serif);letter-spacing:.07em}
.intro-core small{display:block;color:var(--brown-soft);font:400 13px/2.15 var(--serif);letter-spacing:.045em}


.feature-title{line-height:1.65}
.feature-title span{font-size:max(var(--fab-font-minimum), .72em);letter-spacing:.09em;color:var(--brown-soft)}
.feature-grid{display:flex;align-items:flex-end;gap:12px;min-height:620px;overflow:visible}
.feature-card,.feature-card:nth-child(n){grid-column:auto;flex-basis:0;min-width:0;transition:flex-grow 1.25s var(--ease),filter 1.1s var(--ease);will-change:flex-grow}
.feature-card:nth-child(1){flex-grow:1.18;height:570px}
.feature-card:nth-child(2){flex-grow:.86;height:470px}
.feature-card:nth-child(3){flex-grow:1.18;height:610px}
.feature-card:nth-child(4){flex-grow:.86;height:490px}
.feature-card:nth-child(5){flex-grow:.92;height:555px}
.feature-grid:hover .feature-card{filter:saturate(.82) brightness(.92)}
.feature-grid .feature-card:hover{flex-grow:1.78;filter:saturate(1) brightness(1)}
.feature-card img{transition:transform 2s var(--ease)}
.fc-text{position:absolute;inset:0;z-index:2;pointer-events:none}
.feature-card h3{position:absolute;left:18px;bottom:18px;min-height:132px;margin:0}
.feature-card p{position:absolute;right:16px;bottom:18px;width:calc(100% - 78px);margin:0;text-align:right;font-size:var(--fab-font-minimum);line-height:1.85;letter-spacing:.095em;opacity:.88}


.story-copy p+p{margin-top:-8px}
.house-stage{min-height:930px}.house-copy{width:min(455px,38%)}.house-detail{right:34%;bottom:0}
.nature-head .story-copy{max-width:500px}
.food-copy{padding-top:45px}
.life-copy{max-width:455px;padding-top:72px}
.koune-card{width:min(570px,calc(100% - (var(--pad) * 2)))}


.gallery-head{align-items:end}
.gallery-flow-label{font-size:var(--fab-font-minimum);letter-spacing:.19em;color:var(--brown-soft)}
.gallery-viewport{overflow:hidden;width:100%}
.gallery-track{display:flex;width:max-content;gap:0;overflow:visible;padding:0;cursor:default;touch-action:auto;animation:galleryFlow 84s linear infinite;will-change:transform}
.gallery-group{display:flex;align-items:flex-start;gap:12px;padding-right:12px}
.gallery-group figure{flex:0 0 auto;width:clamp(260px,31vw,500px);height:clamp(350px,44vw,660px);overflow:hidden}
.gallery-group figure:nth-child(even){height:clamp(260px,33vw,480px);margin-top:105px}
@keyframes galleryFlow{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

@media(max-width:1040px){
  .news-heading-row{grid-template-columns:1fr;gap:26px}.news-tabs{justify-content:flex-start}
  .intro-grid{grid-template-columns:1fr;gap:55px}.intro-core{max-width:620px;margin-left:auto}
  .feature-grid{display:flex;overflow-x:auto;align-items:flex-end;gap:10px;padding-bottom:18px;scrollbar-width:none}
  .feature-card,.feature-card:nth-child(n){flex:0 0 37vw;min-width:300px;transition:transform 1s var(--ease);height:540px}
  .feature-grid:hover .feature-card{filter:none}.feature-grid .feature-card:hover{flex-grow:0;transform:translateY(-8px);filter:none}
}
@media(max-width:760px){
  .scene-btn{padding-left:38px;min-width:74px;gap:5px}.scene-btn span{display:inline!important}.scene-btn::before{width:28px}.scene-btn.is-active::before{width:28px}.scene-btn.is-active::after{animation-name:sceneTimeLineMobile}@keyframes sceneTimeLineMobile{from{width:0}to{width:28px}}
  .news{padding-top:80px;padding-bottom:95px}.news-heading-row{margin-bottom:25px}.news-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.news-tabs a{min-height:43px;padding:0 10px;font-size:11px}.news-row{grid-template-columns:24px 1fr;gap:8px 14px;min-height:92px;padding:16px 0}.news-row time{grid-column:2}.news-row-title{grid-column:2}.news-circle{grid-row:1/3;align-self:center;width:20px;height:20px}.news-more{margin-top:32px}
  .intro-grid{gap:42px}.intro-core{padding-top:30px}.intro-core p{font-size:19px;line-height:1.9}
  .feature-title span{font-size:max(var(--fab-font-minimum), .7em)}.feature-grid{overflow-x:auto}.feature-card,.feature-card:nth-child(n){flex:0 0 72vw;min-width:250px}.feature-card p{width:calc(100% - 82px);font-size:var(--fab-font-minimum)}
  .house-stage{min-height:1270px}.house-copy{width:90%}.house-detail{right:0;bottom:0}.nature-head .story-copy,.life-copy{max-width:none}.koune-card{width:calc(100% - (var(--pad) * 2))}
  .gallery-flow-label{display:none}.gallery-group figure{width:76vw;height:108vw}.gallery-group figure:nth-child(even){height:82vw;margin-top:70px}.gallery-track{animation-duration:66s}
}
@media(prefers-reduced-motion:reduce){
  .hero-slide.is-active img,.hero-slide.is-leaving img,.gallery-track,.scene-btn.is-active::after{animation:none!important}
}



.intro.intro-vision{padding:clamp(132px,16vw,230px) 0 clamp(145px,17vw,245px);background:var(--paper)}
.intro-vision .intro-opening{width:min(100%,1120px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(46px,8vw,120px);align-items:end}
.intro-vision .intro-opening .eyebrow{grid-column:1/-1;margin-bottom:0}
.intro-vision .intro-opening h2{margin:0;max-width:760px;font-size:max(var(--fab-font-minimum), clamp(29px,3vw,40px));line-height:1.9;letter-spacing:.075em}
.intro-opening-lead{margin:0!important;max-width:360px!important;padding-bottom:8px;font-size:max(var(--fab-font-minimum), clamp(14px,1.1vw,16px)) !important;line-height:2.25!important;color:var(--brown-soft)}
.intro-orbit{position:relative;width:min(100%,var(--max));margin:clamp(82px,9vw,130px) auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:clamp(12px,1.8vw,28px)}
.intro-visual{position:relative;overflow:visible}
.intro-visual img{overflow:hidden}
.intro-visual figcaption{margin-top:14px;font-size:var(--fab-font-minimum);line-height:1.5;letter-spacing:.18em;color:var(--brown-soft)}
.intro-visual-main{grid-column:4/13;grid-row:1;height:clamp(500px,50vw,720px)}
.intro-copy{position:relative;z-index:2;font-family:var(--serif)}
.intro-copy p{margin:0 0 1.35em!important;font-size:max(var(--fab-font-minimum), clamp(14px,1.1vw,17px)) !important;line-height:2.35!important;letter-spacing:.04em}
.intro-copy-primary{grid-column:1/6;grid-row:1;align-self:end;margin-bottom:-76px;padding:clamp(30px,4vw,54px) clamp(28px,3.6vw,50px);background:rgba(244,240,231,.97);border-top:1px solid var(--line)}
.intro-visual-portrait{grid-column:9/13;grid-row:2;height:clamp(390px,35vw,520px);margin-top:clamp(150px,15vw,220px)}
.intro-copy-secondary{grid-column:2/7;grid-row:2;align-self:start;margin-top:clamp(100px,10vw,145px);padding-left:clamp(0px,3vw,42px)}
.intro-copy-secondary::before{content:"";display:block;width:54px;height:1px;margin-bottom:33px;background:var(--lemon)}
.intro-visual-end{grid-column:5/11;grid-row:3;height:clamp(380px,38vw,560px);margin-top:clamp(85px,10vw,150px)}
.intro-closing{grid-column:1/5;grid-row:3;align-self:end;margin:0 0 44px!important;font:500 max(var(--fab-font-minimum), clamp(16px,1.45vw,21px))/2.25 var(--serif) !important;letter-spacing:.065em!important;color:var(--brown)}

.feature-head{grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:clamp(45px,8vw,120px)}
.feature-note{max-width:430px;font-size:14px;line-height:2.25}
.fc-text{position:absolute;inset:0;z-index:2;pointer-events:none}
.feature-card h3{position:absolute;left:18px;bottom:18px;min-height:132px;margin:0}
.feature-card .fc-category{position:absolute;right:16px;bottom:55px;width:calc(100% - 82px);margin:0;text-align:right;font:500 11px/1.7 var(--serif);letter-spacing:.1em;opacity:.98}
.feature-card .fc-brief{position:absolute;right:16px;bottom:19px;width:calc(100% - 82px);text-align:right;font-size:var(--fab-font-minimum);line-height:1.75;letter-spacing:.08em;opacity:.78}

.story{padding-top:clamp(145px,16vw,225px);padding-bottom:clamp(145px,16vw,225px)}
.story-num{margin-bottom:13px}
.story-category{margin:0 0 20px!important;font:500 13px/1.7 var(--sans) !important;letter-spacing:.12em!important;color:var(--brown-soft)!important}
.story h3{margin-bottom:34px;font-size:max(var(--fab-font-minimum), clamp(29px,2.65vw,37px));line-height:1.75}
.story-copy p{max-width:480px;font-size:max(var(--fab-font-minimum), clamp(14px,1.05vw,16px));line-height:2.35}
.story-copy p+p{margin-top:-4px}

.story-house{background:#faf8f3}
.house-stage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;column-gap:clamp(12px,1.8vw,28px);min-height:0}
.house-main{position:relative;grid-column:1/10;grid-row:1;width:auto;height:clamp(620px,54vw,780px)}
.house-copy{position:relative;grid-column:8/13;grid-row:1;align-self:center;right:auto;top:auto;width:auto;margin:50px 0 -50px;padding:clamp(34px,4vw,56px);background:rgba(250,248,243,.96);box-shadow:none;border-top:1px solid var(--line)}
.house-detail{position:relative;grid-column:2/5;grid-row:2;right:auto;bottom:auto;width:auto;height:clamp(260px,25vw,360px);margin-top:-105px;border:10px solid #faf8f3}
.house-side{right:0;bottom:0}

.story-nature{background:#ebe5da}
.nature-head{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,1.8vw,28px)}
.nature-head>div:first-child{grid-column:1/6}
.nature-head .story-copy{grid-column:7/12;max-width:none;justify-self:stretch;padding-top:78px}
.nature-visuals{height:clamp(690px,60vw,850px);margin-top:95px}
.nature-main{width:72%;height:clamp(600px,53vw,760px)}
.nature-small{width:31%;height:clamp(330px,31vw,440px);border-color:#ebe5da}

.story-food{background:#f3ecdf}
.food-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.8vw,28px);align-items:start}
.food-copy{grid-column:1/5;padding:60px 25px 0 0}
.food-main{grid-column:5/10;height:clamp(600px,54vw,760px)}
.food-aside{grid-column:10/13;padding:clamp(150px,14vw,210px) 0 0 clamp(8px,2vw,28px)}
.food-detail{height:clamp(220px,23vw,320px)}
.food-quote{font-size:max(var(--fab-font-minimum), clamp(14px,1.2vw,17px));line-height:2.2}

.story-life{background:#f8f5ee}
.life-layout{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.8vw,28px)}
.life-copy{grid-column:1/5;top:130px;max-width:none;padding:86px 28px 0 0}
.life-scenes{grid-column:6/13;gap:clamp(90px,10vw,150px)}
.life-main{height:clamp(600px,54vw,760px);margin-left:0}
.life-small{width:72%;height:clamp(400px,38vw,540px);margin-left:auto}

.koune-card{left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));width:min(560px,calc(100% - (var(--pad) * 2)));box-shadow:none;border-top:1px solid rgba(72,45,18,.2)}
.koune-card .story-category{color:var(--brown-soft)!important}

@media(max-width:1040px){
  .intro-vision .intro-opening{grid-template-columns:1fr}.intro-vision .intro-opening .eyebrow{grid-column:auto}.intro-opening-lead{max-width:620px!important}
  .intro-copy-primary{grid-column:1/7}.intro-visual-main{grid-column:4/13}.intro-copy-secondary{grid-column:1/7}.intro-visual-portrait{grid-column:9/13}.intro-closing{grid-column:1/6}.intro-visual-end{grid-column:5/12}
  .feature-head{grid-template-columns:1fr}.feature-note{max-width:620px}
  .house-copy{grid-column:7/13}.food-copy{grid-column:1/5}.food-main{grid-column:5/10}.food-aside{grid-column:10/13}
}
@media(max-width:760px){
  .intro.intro-vision{padding-top:108px;padding-bottom:118px}.intro-vision .intro-opening{gap:28px}.intro-vision .intro-opening h2{font-size:max(var(--fab-font-minimum), clamp(26px,7.6vw,33px));line-height:1.85}.intro-opening-lead{font-size:15px !important;line-height:2.15!important}
  .intro-orbit{display:block;margin-top:65px}.intro-visual-main{height:112vw;margin-left:12%}.intro-copy-primary{width:92%;margin:-58px 0 0;padding:30px 24px}.intro-visual-portrait{width:56%;height:78vw;margin:78px 0 0 auto}.intro-copy-secondary{width:92%;margin:70px 0 0;padding-left:0}.intro-visual-end{width:84%;height:95vw;margin:78px 0 0 8%}.intro-closing{margin:64px 0 0!important;font-size:17px !important;line-height:2.15!important}
  .feature-card .fc-category{font-size:var(--fab-font-minimum);bottom:54px}.feature-card .fc-brief{font-size:var(--fab-font-minimum)}
  .story{padding-top:112px;padding-bottom:112px}.story h3{margin-bottom:28px}.story-category{font-size:12px !important;margin-bottom:15px!important}
  .house-stage{display:block}.house-main{width:92%;height:132vw}.house-copy{width:92%;margin:-50px 0 0 auto;padding:31px 24px}.house-detail{width:46%;height:62vw;margin:-18px 0 0 4%;border-width:8px}
  .nature-head{display:block}.nature-head .story-copy{padding-top:38px}.nature-visuals{height:160vw;margin-top:65px}.nature-main{width:88%;height:132vw}.nature-small{width:50%;height:70vw}.nature-word{display:none}
  .food-layout{display:block}.food-copy{padding:0}.food-main{height:135vw;margin-top:55px}.food-aside{padding:58px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.food-detail{height:60vw}.food-quote{margin-top:0}
  .life-layout{display:block}.life-copy{position:relative;top:auto;padding:0}.life-scenes{margin-top:65px}.life-main{height:132vw}.life-small{width:82%;height:92vw}
  .koune-card{left:var(--pad)}
}




img,video{display:block;width:100%;height:100%;object-fit:cover}
.motion-frame{position:relative;overflow:hidden;background:#d9d2c6}
.motion-media{width:100%;height:100%;object-fit:cover;transform:translateZ(0)}
.motion-note{position:absolute;z-index:3;left:16px;bottom:14px;padding:7px 9px;background:rgba(41,31,23,.38);color:#fff;font-size:var(--fab-font-minimum);line-height:1.4;letter-spacing:.16em;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.koune-motion{position:absolute;inset:0}


.header-actions{gap:3px}
.header-link-icon,.reserve-btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.header-link-icon{padding-inline:9px}
.nav-icon{display:inline-flex;width:14px;height:14px;flex:0 0 auto}
.nav-icon svg,.mobile-cta-icon svg,.panel-bike svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.reserve-btn .nav-icon{width:13px;height:13px}
.menu-panel nav{gap:13px;min-width:min(420px,82vw)}
.menu-panel nav>a{display:grid;grid-template-columns:34px 1fr;align-items:center;text-align:left;font-size:max(var(--fab-font-minimum), clamp(18px,2vw,26px))}
.panel-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.25);border-radius:50%;font:500 var(--fab-font-minimum)/1 var(--sans);letter-spacing:.02em}
.panel-bike svg{width:14px;height:14px}


.feature-card h3{font-size:max(var(--fab-font-minimum), clamp(17px,1.35vw,21px));opacity:.9}
.feature-card .fc-category{bottom:58px;font-size:max(var(--fab-font-minimum), clamp(12px,.95vw,14px));line-height:1.65;letter-spacing:.075em;font-weight:500}
.feature-card .fc-brief{bottom:20px;font-size:var(--fab-font-minimum);line-height:1.75}


.stay-support{padding:clamp(118px,14vw,195px) var(--pad);background:#f6f2ea}
.support-shell{width:min(100%,var(--max));margin:auto}
.support-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:clamp(46px,8vw,120px);align-items:end;margin-bottom:clamp(54px,6vw,84px)}
.support-head p{max-width:470px;margin:0;font:400 14px/2.25 var(--serif);color:var(--brown-soft)}
.support-list{border-top:1px solid var(--line)}
.support-row{display:grid;grid-template-columns:60px minmax(230px,.8fr) minmax(320px,1.2fr) 34px;gap:clamp(18px,3vw,48px);align-items:center;min-height:112px;padding:23px 4px;border-bottom:1px solid var(--line);transition:padding .65s var(--ease),background .65s var(--ease)}
.support-row:hover{padding-left:16px;padding-right:16px;background:rgba(255,253,248,.62)}
.support-no{font-size:var(--fab-font-minimum);letter-spacing:.17em;color:var(--lemon)}
.support-row strong{font:500 max(var(--fab-font-minimum), clamp(15px,1.25vw,18px))/1.8 var(--serif);letter-spacing:.07em;color:var(--brown)}
.support-row p{margin:0;font-size:12px;line-height:1.9;letter-spacing:.045em;color:var(--brown-soft)}
.support-arrow{justify-self:end;font-size:15px;color:var(--brown);transition:transform .65s var(--ease)}
.support-row:hover .support-arrow{transform:translateX(7px)}


.page-index{position:fixed;z-index:92;left:22px;bottom:27px;width:176px;padding:14px 14px 12px;border-left:1px solid rgba(72,45,18,.28);background:rgba(244,240,231,.76);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translateY(15px);transition:opacity .8s var(--ease),transform .8s var(--ease),visibility .8s}
.page-index.is-visible{opacity:1;visibility:visible;transform:none}
.page-index-title{margin-bottom:9px;font-size:var(--fab-font-minimum);line-height:1.4;letter-spacing:.2em;color:var(--brown-soft)}
.page-index-link{position:relative;display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:center;min-height:23px;color:rgba(72,45,18,.48);transition:color .5s var(--ease)}
.page-index-link::before{content:"";position:absolute;left:-15px;top:50%;width:1px;height:0;background:var(--lemon);transition:height .65s var(--ease),transform .65s var(--ease)}
.page-index-link span{font-size:var(--fab-font-minimum);letter-spacing:.12em}
.page-index-link em{font:400 var(--fab-font-minimum)/1.5 var(--serif);letter-spacing:.05em;font-style:normal;white-space:nowrap}
.page-index-link.is-active{color:var(--brown)}
.page-index-link.is-active::before{height:16px;transform:translateY(-50%)}

.mobile-reserve-cta{display:none}

@media(max-width:1240px){
  .header-link-icon{font-size:var(--fab-font-minimum)}
}
@media(max-width:1040px){
  .support-head{grid-template-columns:1fr}.support-head p{max-width:640px}
  .support-row{grid-template-columns:48px minmax(200px,.75fr) minmax(280px,1.25fr) 28px}
  .page-index{left:14px;width:164px}
}
@media(max-width:980px){
  .header-link,.header .reserve-btn{display:none!important}
  .header-actions{gap:8px}
  .page-index{width:auto;left:13px;bottom:82px;padding:9px 10px;background:rgba(244,240,231,.9)}
  .page-index-title{display:none}
  .page-index-link{display:none;grid-template-columns:24px auto;min-height:22px}
  .page-index-link.is-active{display:grid}
  .page-index-link em{font-size:var(--fab-font-minimum)}
  .mobile-reserve-cta{position:fixed;z-index:125;left:10px;right:10px;bottom:10px;display:block;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-reserve-cta>a{display:grid;grid-template-columns:25px 1fr 20px;gap:13px;align-items:center;min-height:62px;padding:10px 17px;background:rgba(72,45,18,.96);color:#fffdf8;box-shadow:0 15px 42px rgba(35,22,12,.25);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .mobile-cta-icon{width:20px;height:20px;color:var(--lemon)}
  .mobile-cta-copy{display:grid;gap:2px}.mobile-cta-copy small{font-size:var(--fab-font-minimum);line-height:1.3;letter-spacing:.19em;color:#d9c89d}.mobile-cta-copy b{font:500 13px/1.55 var(--serif);letter-spacing:.065em}
  .mobile-cta-arrow{justify-self:end;font-size:15px}
  body{padding-bottom:79px}
}
@media(max-width:760px){
  .feature-card .fc-category{font-size:12px;bottom:59px}.feature-card .fc-brief{font-size:var(--fab-font-minimum)}
  .motion-note{left:10px;bottom:10px;font-size:var(--fab-font-minimum)}
  .stay-support{padding-top:108px;padding-bottom:116px}
  .support-head{gap:27px;margin-bottom:42px}.support-head p{font-size:14px;line-height:2.15}
  .support-row{grid-template-columns:36px 1fr 24px;gap:10px 14px;min-height:0;padding:24px 0}
  .support-no{grid-row:1/3;align-self:start;padding-top:4px}.support-row strong{grid-column:2;font-size:15px}.support-row p{grid-column:2;font-size:11px}.support-arrow{grid-column:3;grid-row:1/3}
}
@media(prefers-reduced-motion:reduce){
  .motion-media{animation:none!important}
}





.motion-frame{isolation:isolate}
.motion-media{transform:none!important}
.motion-note{left:10px;right:auto;bottom:10px;max-width:calc(100% - 20px);font-size:var(--fab-font-minimum);letter-spacing:.13em;background:rgba(42,31,22,.30);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.house-detail .motion-note,.nature-small .motion-note,.food-detail .motion-note{white-space:normal}
.koune-static{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.koune-motion-inset{position:absolute;z-index:3;right:var(--pad);top:clamp(92px,12vh,130px);width:clamp(260px,27vw,430px);aspect-ratio:16/10;border:9px solid rgba(244,240,231,.90);box-shadow:0 24px 64px rgba(20,16,12,.23)}
.koune-motion-inset figcaption{position:absolute;left:12px;bottom:9px;z-index:3;color:#fff;font-size:var(--fab-font-minimum);letter-spacing:.16em;text-shadow:0 2px 9px rgba(0,0,0,.5)}
.koune-motion-inset::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,18,16,.4));pointer-events:none}


.page-index{width:184px;padding:15px 15px 13px;border:1px solid rgba(255,255,255,.42);border-left-color:rgba(72,45,18,.22);background:linear-gradient(135deg,rgba(255,253,248,.22),rgba(244,240,231,.08));box-shadow:0 16px 38px rgba(72,45,18,.065),inset 0 1px 0 rgba(255,255,255,.45);backdrop-filter:blur(25px) saturate(132%);-webkit-backdrop-filter:blur(25px) saturate(132%)}
.page-index-title{margin-bottom:10px;font-size:var(--fab-font-minimum);letter-spacing:.22em;color:rgba(72,45,18,.58)}
.page-index-list{display:block}
.page-index-link{grid-template-columns:26px 1fr;min-height:25px;color:rgba(72,45,18,.50);transition:color .45s var(--ease),transform .45s var(--ease)}
.page-index-link span{font-size:var(--fab-font-minimum);letter-spacing:.13em;transition:color .45s var(--ease)}
.page-index-link em{font-size:11px;line-height:1.5}
.page-index-link:hover{color:var(--brown);transform:translateX(3px)}
.page-index-link:hover span{color:var(--lemon)}
.page-index-link.is-active{color:var(--brown)}
.page-index-link.is-active span{color:var(--lemon)}
.page-index-mobile-toggle{display:none}


.support-head{display:block;margin-bottom:clamp(45px,5.5vw,72px)}
.support-accordion{border-top:1px solid var(--line)}
.support-accordion-item{border-bottom:1px solid var(--line);scroll-margin-top:88px}
.support-accordion-trigger{width:100%;display:grid;grid-template-columns:58px minmax(210px,.78fr) minmax(270px,1.15fr) 34px;gap:clamp(16px,3vw,46px);align-items:center;min-height:112px;padding:24px 4px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:padding .65s var(--ease),background .65s var(--ease)}
.support-accordion-trigger:hover{padding-inline:16px;background:rgba(255,253,248,.52)}
.support-accordion-trigger strong{font:500 max(var(--fab-font-minimum), clamp(15px,1.25vw,18px))/1.8 var(--serif);letter-spacing:.07em;color:var(--brown)}
.support-summary{font-size:12px;line-height:1.9;letter-spacing:.045em;color:var(--brown-soft)}
.support-toggle{position:relative;justify-self:end;width:22px;height:22px;border:1px solid rgba(72,45,18,.24);border-radius:50%}
.support-toggle::before,.support-toggle::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1px;background:var(--brown);transform:translate(-50%,-50%);transition:transform .55s var(--ease),opacity .55s var(--ease)}
.support-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.support-accordion-trigger[aria-expanded="true"] .support-toggle::after{opacity:0;transform:translate(-50%,-50%) rotate(0)}
.support-accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease),background .8s var(--ease)}
.support-accordion-item.is-open .support-accordion-panel{grid-template-rows:1fr;background:rgba(255,253,248,.34)}
.support-panel-inner{overflow:hidden}
.support-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0 0 42px 58px}
.support-detail-grid>div{padding:24px clamp(18px,3vw,38px);border-left:1px solid var(--line)}
.support-detail-grid dt{margin:0 0 10px;font:500 14px/1.8 var(--serif);letter-spacing:.07em;color:var(--brown)}
.support-detail-grid dd{margin:0;font-size:11px;line-height:2;letter-spacing:.035em;color:var(--brown-soft)}
.support-lower-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);margin-top:clamp(58px,7vw,92px)}
.support-lower-link{display:grid;grid-template-columns:40px 1fr 24px;gap:18px;align-items:start;min-height:150px;padding:31px 28px;border-bottom:1px solid var(--line);transition:background .6s var(--ease),padding .6s var(--ease)}
.support-lower-link:first-child{border-right:1px solid var(--line)}
.support-lower-link:hover{background:rgba(255,253,248,.6);padding-left:38px}
.support-lower-link strong{display:block;margin-bottom:9px;font:500 max(var(--fab-font-minimum), clamp(14px,1.15vw,17px))/1.7 var(--serif);letter-spacing:.065em;color:var(--brown)}
.support-lower-link small{display:block;font-size:11px;line-height:1.9;letter-spacing:.035em;color:var(--brown-soft)}
.support-link-arrow{justify-self:end;color:var(--brown);transition:transform .6s var(--ease)}
.support-lower-link:hover .support-link-arrow{transform:translateX(6px)}

.feature-swipe-hint{display:none}

@media(max-width:1040px){
  .page-index{width:172px}
  .support-accordion-trigger{grid-template-columns:48px minmax(190px,.72fr) minmax(250px,1.28fr) 28px}
  .koune-motion-inset{width:34vw;right:32px}
}

@media(max-width:980px){
  .page-index{left:13px;bottom:82px;width:min(310px,calc(100vw - 26px));padding:0;border-radius:0;background:linear-gradient(135deg,rgba(255,253,248,.48),rgba(244,240,231,.25));backdrop-filter:blur(27px) saturate(135%);-webkit-backdrop-filter:blur(27px) saturate(135%);overflow:hidden}
  .page-index-title{display:none}
  .page-index-mobile-toggle{width:100%;display:grid;grid-template-columns:52px 1fr 18px;gap:10px;align-items:center;min-height:43px;padding:10px 13px;border:0;background:transparent;color:var(--brown);text-align:left;cursor:pointer}
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.2em;color:var(--brown-soft)}
  .page-index-mobile-toggle em{font:400 11px/1.5 var(--serif);letter-spacing:.05em;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .page-index-toggle-mark{position:relative;width:14px;height:14px}
  .page-index-toggle-mark::before,.page-index-toggle-mark::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:1px;background:var(--brown);transform:translate(-50%,-50%);transition:transform .5s var(--ease),opacity .5s var(--ease)}
  .page-index-toggle-mark::after{transform:translate(-50%,-50%) rotate(90deg)}
  .page-index.is-open .page-index-toggle-mark::after{opacity:0;transform:translate(-50%,-50%) rotate(0)}
  .page-index-list{max-height:0;overflow:hidden;border-top:1px solid transparent;transition:max-height .75s var(--ease),border-color .5s var(--ease),padding .75s var(--ease);padding:0 13px}
  .page-index.is-open .page-index-list{max-height:min(410px,56vh);overflow-y:auto;border-top-color:rgba(72,45,18,.12);padding:8px 13px 12px}
  .page-index-link,.page-index-link.is-active{display:grid;grid-template-columns:27px 1fr;min-height:31px}
  .page-index-link::before{left:-14px}
  .page-index-link em{font-size:11px}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:760px){
  
  .feature-lead{overflow:hidden}
  .feature-grid{width:calc(100% + var(--pad));max-width:none;margin-left:0;margin-right:calc(var(--pad) * -1);padding-right:34vw;padding-bottom:20px;overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-left:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
  .feature-card,.feature-card:nth-child(n){flex:0 0 72vw!important;min-width:250px;scroll-snap-align:start;scroll-snap-stop:normal}
  .feature-swipe-hint{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:13px 0 0;font-size:var(--fab-font-minimum);letter-spacing:.2em;color:var(--brown-soft)}
  .feature-swipe-hint i{display:block;width:48px;height:1px;background:var(--brown-soft);position:relative}
  .feature-swipe-hint i::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}

  .koune-motion-inset{right:18px;top:92px;width:52vw;border-width:6px}
  .koune-motion-inset figcaption{font-size:var(--fab-font-minimum);left:8px;bottom:6px}

  .support-head{margin-bottom:38px}
  .support-accordion-trigger{grid-template-columns:34px 1fr 22px;gap:9px 13px;min-height:0;padding:24px 0}
  .support-accordion-trigger .support-no{grid-row:1/3;align-self:start;padding-top:5px}
  .support-accordion-trigger strong{grid-column:2;font-size:15px}
  .support-summary{grid-column:2;font-size:11px;line-height:1.85}
  .support-toggle{grid-column:3;grid-row:1/3;width:21px;height:21px}
  .support-detail-grid{grid-template-columns:1fr;padding:0 0 28px 34px}
  .support-detail-grid>div{padding:20px 15px;border-left:1px solid var(--line);border-bottom:1px solid rgba(72,45,18,.09)}
  .support-detail-grid>div:last-child{border-bottom:0}
  .support-lower-links{grid-template-columns:1fr;margin-top:54px}
  .support-lower-link{min-height:126px;padding:25px 2px;grid-template-columns:34px 1fr 20px}
  .support-lower-link:first-child{border-right:0}
  .support-lower-link:hover{padding-left:8px}
  .support-lower-link strong{font-size:15px}
  .support-lower-link small{font-size:var(--fab-font-minimum)}
}

@media(prefers-reduced-motion:reduce){
  .motion-media{display:block!important}
}





.page-index{
  width:178px;
  padding:14px 14px 12px;
  border-color:rgba(255,255,255,.24);
  border-left-color:rgba(72,45,18,.16);
  background:linear-gradient(135deg,rgba(255,253,248,.026),rgba(244,240,231,.008));
  box-shadow:0 8px 22px rgba(72,45,18,.018),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(4px) saturate(106%);
  -webkit-backdrop-filter:blur(4px) saturate(106%);
}
.page-index-title{color:rgba(72,45,18,.68);text-shadow:0 1px 4px rgba(255,253,248,.78)}
.page-index-link{color:rgba(72,45,18,.60);text-shadow:0 1px 4px rgba(255,253,248,.78)}


.still-detail{overflow:visible!important}
.still-detail img{display:block;width:100%;height:100%;object-fit:cover;overflow:hidden}
.still-caption{position:absolute;left:0;top:calc(100% + 11px);width:100%;font-size:var(--fab-font-minimum);line-height:1.55;letter-spacing:.15em;color:var(--brown-soft);white-space:normal}


.intro-visual-portrait{
  grid-column:9/12;
  height:clamp(350px,30vw,445px);
  margin-top:clamp(175px,16vw,235px);
}


.house-detail{
  grid-column:2/4;
  height:clamp(330px,31vw,450px);
  margin-top:-72px;
  border-width:8px;
}
.house-detail img{object-position:center 48%}


.nature-small{
  right:3%;
  bottom:-18px;
  width:34%;
  height:clamp(280px,25vw,360px);
  border-width:8px;
}
.nature-small img{object-position:center 45%}


.food-detail{
  width:112%;
  height:clamp(185px,18vw,250px);
  margin:0 0 48px -12%;
}
.food-detail img{object-position:center 55%}


.life-small{
  width:63%;
  height:clamp(280px,28vw,390px);
  margin-left:auto;
}
.life-small img{object-position:center 50%}


.koune-motion-inset{
  right:clamp(26px,5vw,78px);
  top:clamp(80px,10vh,112px);
  width:clamp(240px,23vw,355px);
  aspect-ratio:4/3;
  border-width:7px;
  background:var(--paper-light);
}
.koune-motion-inset img{display:block;width:100%;height:100%;object-fit:cover}
.koune-motion-inset figcaption{font-size:var(--fab-font-minimum);letter-spacing:.13em}


.support-accordion-panel{transition:grid-template-rows .8s var(--ease)}
.support-accordion-item.is-open .support-accordion-panel{background:transparent}

.support-accordion-trigger[aria-expanded="true"]{background:transparent!important}
@media(hover:none){
  .support-accordion-trigger:hover{padding-inline:0;background:transparent}
}

@media(max-width:1040px){
  .page-index{width:168px}
  .intro-visual-portrait{grid-column:9/12}
  .koune-motion-inset{width:31vw;right:28px}
}

@media(max-width:980px){
  .page-index{
    left:11px;
    bottom:82px;
    width:min(198px,calc(100vw - 22px));
    background:linear-gradient(135deg,rgba(255,253,248,.045),rgba(244,240,231,.012));
    border-color:rgba(255,255,255,.20);
    backdrop-filter:blur(5px) saturate(106%);
    -webkit-backdrop-filter:blur(5px) saturate(106%);
  }
  .page-index-mobile-toggle{
    grid-template-columns:45px minmax(0,1fr) 15px;
    min-height:40px;
    padding:9px 11px;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.18em}
  .page-index-mobile-toggle em{font-size:var(--fab-font-minimum)}
  .page-index-list{padding-inline:11px}
  .page-index.is-open .page-index-list{padding:7px 11px 10px;max-height:min(390px,52vh)}
  .page-index-link,.page-index-link.is-active{grid-template-columns:24px 1fr;min-height:28px}
  .page-index-link em{font-size:var(--fab-font-minimum)}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:760px){
  .intro-visual-portrait{width:48%;height:65vw;margin:72px 2% 0 auto}
  .house-detail{width:38%;height:68vw;margin:25px 0 0 6%;border-width:6px}
  .nature-small{right:0;bottom:1vw;width:56%;height:54vw;border-width:6px}
  .food-detail{width:100%;height:48vw;margin:0 0 34px}
  .life-small{width:72%;height:58vw;margin-left:auto}
  .koune-motion-inset{right:16px;top:78px;width:46vw;border-width:5px}
  .still-caption{top:calc(100% + 8px);font-size:var(--fab-font-minimum);letter-spacing:.12em}
}






.page-index{
  left:auto!important;
  right:22px;
  width:214px;
}
.page-index-link{
  grid-template-columns:26px minmax(0,1fr);
}
.page-index-link em{
  white-space:normal;
  text-wrap:balance;
}


.koune-motion-inset{display:none!important}


.arrow{
  display:inline-grid;
  grid-template-columns:minmax(0,1fr) 34px;
  grid-template-areas:"meta icon" "label icon";
  align-items:center;
  column-gap:14px;
  row-gap:1px;
  width:max-content;
  max-width:100%;
  margin-top:28px;
  padding:7px 0 10px;
  border-bottom:1px solid rgba(72,45,18,.28);
  font-size:12px;
  line-height:1.55;
  letter-spacing:.09em;
  transition:color .55s var(--ease),border-color .55s var(--ease),transform .55s var(--ease);
}
.arrow::before{
  content:"VIEW MORE";
  grid-area:meta;
  display:block;
  font:600 var(--fab-font-minimum)/1.3 var(--sans);
  letter-spacing:.2em;
  color:var(--brown-soft);
  transition:color .55s var(--ease);
}
.arrow::after{
  content:"→";
  grid-area:icon;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid currentColor;
  border-radius:50%;
  background:transparent;
  font-size:14px;
  line-height:1;
  transition:background .55s var(--ease),border-color .55s var(--ease),color .55s var(--ease),transform .55s var(--ease);
}
.arrow:hover{
  color:var(--brown);
  border-color:var(--lemon);
  transform:translateX(3px);
}
.arrow:hover::before{color:var(--brown)}
.arrow:hover::after{
  width:32px;
  background:var(--lemon);
  border-color:var(--lemon);
  color:var(--brown);
  transform:translate(2px,-2px);
}
.about .arrow{
  border-bottom-color:rgba(247,240,227,.32);
}
.about .arrow::before{color:#d7c7b2}
.about .arrow:hover{color:#fff;border-color:var(--lemon)}
.about .arrow:hover::before{color:#f3e6d4}


.support-lower-link{
  grid-template-columns:40px minmax(0,1fr) auto;
}
.support-link-arrow{
  align-self:center;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--brown-soft);
}
.support-link-arrow small{
  font:600 var(--fab-font-minimum)/1 var(--sans);
  letter-spacing:.18em;
}
.support-link-arrow i{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(72,45,18,.32);
  border-radius:50%;
  font:400 14px/1 var(--sans);
  font-style:normal;
  transition:background .55s var(--ease),border-color .55s var(--ease),transform .55s var(--ease);
}
.support-lower-link:hover .support-link-arrow i{
  background:var(--lemon);
  border-color:var(--lemon);
  transform:translate(2px,-2px);
}

@media(max-width:1040px){
  .page-index{right:14px;width:202px}
}

@media(max-width:980px){
  .page-index{
    left:auto!important;
    right:11px;
    bottom:82px;
    width:176px;
    padding:0;
    transition:opacity .8s var(--ease),transform .8s var(--ease),visibility .8s,width .65s var(--ease);
  }
  .page-index.is-open{width:min(228px,calc(100vw - 22px))}
  .page-index-mobile-toggle{
    grid-template-columns:39px minmax(0,1fr) 13px;
    min-height:32px;
    padding:5px 8px;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.16em}
  .page-index-mobile-toggle em{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:var(--fab-font-minimum);
  }
  .page-index-list{padding-inline:8px}
  .page-index.is-open .page-index-list{
    padding:7px 8px 9px;
    max-height:min(390px,52vh);
  }
  .page-index-link,.page-index-link.is-active{
    grid-template-columns:24px minmax(0,1fr);
    min-height:29px;
  }
  .page-index-link em{font-size:var(--fab-font-minimum);line-height:1.45}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:760px){
  .koune-card{left:var(--pad);right:auto;width:calc(100% - (var(--pad) * 2))}
  .arrow{
    grid-template-columns:minmax(0,1fr) 31px;
    column-gap:12px;
    font-size:11px;
  }
  .arrow::after{width:30px;height:30px}
  .support-lower-link{grid-template-columns:34px minmax(0,1fr) auto}
  .support-link-arrow small{display:none}
  .support-link-arrow i{width:30px;height:30px}
}






.page-index{
  left:auto!important;
  right:22px;
  bottom:27px;
  width:206px;
  padding:0;
  border:1px solid transparent;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:hidden;
  transition:
    opacity .8s var(--ease),
    transform .8s var(--ease),
    visibility .8s,
    width .62s var(--ease),
    background .62s var(--ease),
    border-color .62s var(--ease),
    box-shadow .62s var(--ease);
}
.page-index.is-open{
  width:224px;
  border-color:rgba(255,255,255,.34);
  background:linear-gradient(135deg,rgba(255,253,248,.72),rgba(244,240,231,.57));
  box-shadow:0 15px 40px rgba(48,34,22,.10),inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(18px) saturate(112%);
  -webkit-backdrop-filter:blur(18px) saturate(112%);
}
.page-index-title{display:none!important}
.page-index-mobile-toggle{
  display:grid!important;
  width:100%;
  grid-template-columns:48px minmax(0,1fr) 15px;
  gap:9px;
  align-items:center;
  min-height:36px;
  padding:7px 10px;
  border:0;
  background:transparent;
  color:var(--brown);
  text-align:left;
  cursor:pointer;
  text-shadow:0 1px 5px rgba(255,253,248,.95),0 0 12px rgba(255,253,248,.78);
}
.page-index-mobile-label{font-size:var(--fab-font-minimum);line-height:1;letter-spacing:.19em;color:rgba(72,45,18,.68)}
.page-index-mobile-toggle em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:400 var(--fab-font-minimum)/1.45 var(--serif);
  letter-spacing:.045em;
  font-style:normal;
}
.page-index-toggle-mark{position:relative;width:13px;height:13px}
.page-index-toggle-mark::before,.page-index-toggle-mark::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:8px;height:1px;
  background:var(--brown);
  transform:translate(-50%,-50%);
  transition:transform .5s var(--ease),opacity .5s var(--ease);
}
.page-index-toggle-mark::after{transform:translate(-50%,-50%) rotate(90deg)}
.page-index.is-open .page-index-toggle-mark::after{opacity:0;transform:translate(-50%,-50%) rotate(0)}
.page-index-list{
  display:block;
  max-height:0;
  overflow:hidden;
  padding:0 10px;
  border-top:1px solid transparent;
  transition:max-height .72s var(--ease),padding .72s var(--ease),border-color .48s var(--ease);
}
.page-index.is-open .page-index-list{
  max-height:min(420px,62vh);
  overflow-y:auto;
  padding:7px 10px 11px;
  border-top-color:rgba(72,45,18,.12);
}
.page-index-link,.page-index-link.is-active{
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  gap:8px;
  min-height:29px;
  color:rgba(72,45,18,.58);
  text-shadow:none;
}
.page-index-link em{font-size:var(--fab-font-minimum);line-height:1.45;white-space:normal;text-wrap:balance}
.page-index-link span{font-size:var(--fab-font-minimum)}
.page-index-link:hover{color:var(--brown);transform:translateX(2px)}


.house-detail{
  grid-column:2/5;
  width:auto;
  height:clamp(220px,20vw,292px);
  aspect-ratio:auto;
  margin-top:-55px;
  border-width:8px;
}
.house-detail img{object-position:center 49%}


.arrow{
  display:inline-flex;
  grid-template:none;
  grid-template-areas:none;
  align-items:center;
  gap:13px;
  width:max-content;
  max-width:100%;
  margin-top:27px;
  padding:0 0 7px;
  border:0;
  border-bottom:1px solid rgba(72,45,18,.30);
  font-size:11px;
  line-height:1.6;
  letter-spacing:.12em;
  transition:color .5s var(--ease),border-color .5s var(--ease),gap .5s var(--ease);
}
.arrow::before{content:none!important;display:none!important}
.arrow::after{
  content:"→";
  display:inline-block;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  font:400 13px/1 var(--sans);
  transform:none;
  transition:transform .5s var(--ease),color .5s var(--ease);
}
.arrow:hover{
  color:var(--brown);
  border-color:var(--lemon);
  transform:none;
  gap:17px;
}
.arrow:hover::after{
  width:auto;
  height:auto;
  border:0;
  background:transparent;
  color:var(--brown);
  transform:translate(2px,-2px);
}
.about .arrow{border-bottom-color:rgba(247,240,227,.38)}
.about .arrow:hover{color:#fff;border-color:var(--lemon)}

.support-lower-link{
  grid-template-columns:40px minmax(0,1fr) auto;
  transition:color .5s var(--ease),border-color .5s var(--ease);
}
.support-lower-link:hover{
  background:transparent;
  padding-left:28px;
}
.support-link-arrow{
  align-self:center;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(72,45,18,.26);
  color:var(--brown-soft);
  transition:color .5s var(--ease),border-color .5s var(--ease),gap .5s var(--ease);
}
.support-link-arrow small{font:600 var(--fab-font-minimum)/1 var(--sans);letter-spacing:.18em}
.support-link-arrow i{
  display:inline-block;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  font:400 13px/1 var(--sans);
  font-style:normal;
  transition:transform .5s var(--ease);
}
.support-lower-link:hover .support-link-arrow{
  color:var(--brown);
  border-color:var(--lemon);
  gap:10px;
}
.support-lower-link:hover .support-link-arrow i{
  background:transparent;
  border:0;
  transform:translate(2px,-2px);
}

@media(max-width:1040px){
  .page-index{right:14px;width:194px}
  .page-index.is-open{width:216px}
}

@media(max-width:980px){
  .page-index{
    right:11px;
    bottom:82px;
    width:164px;
    padding:0;
    background:transparent;
    border-color:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .page-index.is-open{
    width:min(218px,calc(100vw - 22px));
    background:linear-gradient(135deg,rgba(255,253,248,.76),rgba(244,240,231,.62));
    border-color:rgba(255,255,255,.34);
    backdrop-filter:blur(18px) saturate(112%);
    -webkit-backdrop-filter:blur(18px) saturate(112%);
  }
  .page-index-mobile-toggle{
    grid-template-columns:39px minmax(0,1fr) 13px;
    min-height:31px;
    padding:5px 8px;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.16em}
  .page-index-mobile-toggle em{font-size:var(--fab-font-minimum)}
  .page-index-list{padding-inline:8px}
  .page-index.is-open .page-index-list{padding:7px 8px 9px;max-height:min(390px,52vh)}
  .page-index-link,.page-index-link.is-active{grid-template-columns:24px minmax(0,1fr);min-height:28px}
  .page-index-link em{font-size:var(--fab-font-minimum)}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:760px){
  .house-detail{
    width:58%;
    height:auto;
    aspect-ratio:4/3;
    margin:24px 0 0 6%;
    border-width:6px;
  }
  .arrow{font-size:11px;gap:11px}
  .arrow:hover{gap:14px}
  .support-lower-link{grid-template-columns:34px minmax(0,1fr) auto}
  .support-link-arrow small{display:block}
}





:root{
  
  --section-space-utility:clamp(84px,8.5vw,128px);
  --section-space-editorial:clamp(112px,12vw,176px);
  --section-space-immersive:clamp(128px,14vw,208px);
  --block-space-xl:clamp(72px,7.5vw,112px);
  --block-space-lg:clamp(48px,5.4vw,80px);
  --block-space-md:clamp(30px,3.4vw,52px);
  --block-space-sm:clamp(18px,2vw,30px);
  --grid-gap:clamp(14px,1.7vw,28px);
  --content-shell:min(calc(100% - (var(--pad) * 2)),var(--max));
}


.news{padding-block:var(--section-space-utility)}
.intro-vision{padding-block:var(--section-space-immersive)}
.feature-lead,
.story,
.stay-support,
.about,
.gallery,
.contact{padding-top:var(--section-space-editorial);padding-bottom:var(--section-space-editorial)}


.story-koune{padding-top:var(--section-space-editorial);padding-bottom:var(--section-space-editorial)}


.eyebrow{margin-bottom:var(--block-space-sm)}
.news-heading-row{margin-bottom:clamp(28px,2.6041667vw,50px)}
.feature-head,
.support-head,
.gallery-head{margin-bottom:var(--block-space-lg)}
.intro-orbit{margin-top:var(--block-space-xl)}
.nature-visuals{margin-top:var(--block-space-lg)}
.story h3{margin-bottom:var(--block-space-sm)}
.story-copy p{margin-bottom:var(--block-space-sm)}
.story-copy .arrow{margin-top:calc(var(--block-space-sm) - 4px)}
.about h2{margin-bottom:var(--block-space-sm)}
.about .arrow{margin-top:var(--block-space-md)}
.contact h2{margin-bottom:var(--block-space-sm)}
.contact p{margin-bottom:var(--block-space-md)}


.intro-vision .inner{width:var(--content-shell)}
.intro-vision .intro-opening{
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--grid-gap);
  row-gap:var(--block-space-sm);
  align-items:end;
}
.intro-vision .intro-opening .eyebrow{grid-column:1/13}
.intro-vision .intro-opening h2{grid-column:1/8;max-width:none}
.intro-opening-lead{grid-column:9/13;max-width:none!important;padding-bottom:8px}
.intro-orbit{width:100%;column-gap:var(--grid-gap)}

.feature-head{
  width:var(--content-shell);
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--grid-gap);
  align-items:end;
}
.feature-head>div{grid-column:1/8}
.feature-note{grid-column:9/13;max-width:none}
.feature-grid{width:var(--content-shell);gap:var(--grid-gap)}

.house-stage,
.nature-head,
.food-layout,
.life-layout{
  width:var(--content-shell);
  column-gap:var(--grid-gap);
}
.house-stage,
.nature-head,
.food-layout,
.life-layout{grid-template-columns:repeat(12,minmax(0,1fr))}


.nature-visuals{
  width:var(--content-shell);
  height:auto;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:1fr;
  column-gap:var(--grid-gap);
  align-items:end;
}
.nature-main{
  position:relative;
  inset:auto;
  grid-column:1/10;
  grid-row:1;
  width:auto;
  height:clamp(600px,53vw,760px);
}
.nature-small{
  position:relative;
  inset:auto;
  z-index:2;
  grid-column:9/13;
  grid-row:1;
  width:auto;
  height:clamp(320px,29vw,430px);
  margin:0 0 clamp(-38px,-2.8vw,-22px);
  border-width:10px;
}
.nature-word{right:calc(var(--pad) + var(--grid-gap));top:var(--block-space-sm)}


.food-layout{gap:var(--grid-gap)}
.food-copy{grid-column:1/5;padding-right:var(--grid-gap)}
.food-main{grid-column:5/10}
.food-aside{grid-column:10/13;padding-left:var(--grid-gap)}


.life-layout{gap:var(--grid-gap)}
.life-copy{grid-column:1/5;padding-right:var(--grid-gap)}
.life-scenes{
  grid-column:6/13;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  column-gap:var(--grid-gap);
  row-gap:var(--block-space-xl);
}
.life-scenes>div:first-child{grid-column:1/8}
.life-scenes>div:last-child{grid-column:3/8}
.life-main,.life-small{width:100%;margin:0}
.life-caption{gap:var(--grid-gap)}


.about-grid{
  width:var(--content-shell);
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--grid-gap);
  align-items:end;
}
.about-copy{grid-column:1/6}
.about-visual{grid-column:7/13;width:100%;max-width:none;margin:0}
.about-detail{width:66.666%;margin-top:calc(var(--block-space-lg) * -1);margin-left:auto}

.support-shell{width:var(--content-shell)}
.support-head{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--grid-gap);
}
.support-head>div{grid-column:1/9}
.gallery-head{width:var(--content-shell)}


.arrow{
  gap:12px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(72,45,18,.28);
}
.arrow::after{
  content:"→";
  width:auto;
  height:auto;
  border:0;
  background:transparent;
  font:400 14px/1 var(--sans);
  transform:none;
  transition:transform .5s var(--ease),color .5s var(--ease);
}
.arrow:hover{gap:15px;border-color:var(--lemon)}
.arrow:hover::after{
  width:auto;
  height:auto;
  border:0;
  background:transparent;
  transform:translateX(3px);
}
.support-link-arrow i{font-size:14px}
.support-lower-link:hover .support-link-arrow i{transform:translateX(3px)}


@media(max-width:1040px){
  .intro-vision .intro-opening{grid-template-columns:repeat(12,minmax(0,1fr))}
  .intro-vision .intro-opening h2{grid-column:1/9}
  .intro-opening-lead{grid-column:9/13}
  .feature-head>div{grid-column:1/9}
  .feature-note{grid-column:9/13}
  .about-copy{grid-column:1/7}
  .about-visual{grid-column:7/13}
}

@media(max-width:760px){
  :root{
    --section-space-utility:88px;
    --section-space-editorial:108px;
    --section-space-immersive:116px;
    --block-space-xl:68px;
    --block-space-lg:44px;
    --block-space-md:30px;
    --block-space-sm:20px;
    --grid-gap:14px;
  }
  .intro-vision .intro-opening,
  .feature-head,
  .nature-visuals,
  .about-grid,
  .support-head{display:block}
  .intro-opening-lead{margin-top:26px!important}
  .feature-note{margin-top:28px}
  .intro-orbit{margin-top:var(--block-space-xl)}

  .story{padding-top:var(--section-space-editorial);padding-bottom:var(--section-space-editorial)}
  .nature-visuals{height:158vw;margin-top:var(--block-space-lg)}
  .nature-main{
    position:absolute;
    left:0;top:0;
    width:88%;height:132vw;
  }
  .nature-small{
    position:absolute;
    right:0;bottom:0;
    width:50%;height:70vw;
    margin:0;
    border-width:8px;
  }

  .life-scenes{display:block;margin-top:var(--block-space-lg)}
  .life-scenes>div+div{margin-top:var(--block-space-xl)}
  .life-small{width:82%;margin-left:auto}

  .about-copy,.about-visual{width:100%;margin:0}
  .about-visual{margin-top:var(--block-space-lg)}
  .about-detail{width:68%;margin-top:-74px}

  .arrow{gap:10px}
  .arrow:hover{gap:13px}
}




.feature-island-backdrop{
  --feature-bg-opacity:0;
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  opacity:var(--feature-bg-opacity);
  visibility:hidden;
  transition:opacity .18s linear,visibility 0s linear .22s;
  transform:translateZ(0);
  will-change:opacity;
}
.feature-island-backdrop.is-visible{
  visibility:visible;
  transition:opacity .18s linear,visibility 0s linear 0s;
}
.feature-island-backdrop img{
  position:absolute;
  inset:-3%;
  width:106%;
  height:106%;
  object-fit:cover;
  object-position:center 47%;
  transform:scale(1.025);
  filter:saturate(.88) contrast(.96);
}
.feature-island-backdrop::before,
.feature-island-backdrop::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
}
.feature-island-backdrop::before{
  background:
    linear-gradient(180deg,rgba(20,26,27,.42) 0%,rgba(25,27,24,.24) 36%,rgba(31,27,22,.42) 100%),
    linear-gradient(90deg,rgba(26,22,18,.24),transparent 48%,rgba(24,22,19,.12));
}
.feature-island-backdrop::after{
  box-shadow:inset 0 0 150px rgba(27,21,16,.22);
}


main>section,
.footer{
  position:relative;
  z-index:2;
}
.feature-lead{
  position:relative;
  z-index:3;
  min-height:max(860px,112vh);min-height:max(860px,112dvh);
  background:transparent!important;
  color:#fff;
  isolation:isolate;
}
.feature-lead::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    var(--paper) 0%,
    rgba(244,240,231,.9) 2.5%,
    rgba(244,240,231,0) 18%,
    rgba(250,247,240,0) 80%,
    rgba(250,248,243,.78) 94%,
    #faf8f3 100%
  );
}
.feature-head,
.feature-grid,
.feature-swipe-hint{
  position:relative;
  z-index:1;
}
.feature-lead .eyebrow,
.feature-lead .feature-title,
.feature-lead .feature-title span,
.feature-lead .feature-note{
  color:#fff;
  text-shadow:0 2px 22px rgba(24,19,15,.34);
}
.feature-lead .feature-title span{opacity:.78}
.feature-lead .feature-note{color:rgba(255,253,248,.86)}
.feature-card{
  box-shadow:0 24px 80px rgba(24,18,14,.2);
  border:1px solid rgba(255,255,255,.12);
}
.feature-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  pointer-events:none;
}
.feature-card::after{z-index:1}
.feature-card .no,
.feature-card .fc-text{z-index:2}

@media(max-width:760px){
  .feature-island-backdrop img{
    inset:-2%;
    width:104%;
    height:104%;
    object-position:58% center;
    transform:scale(1.02);
  }
  .feature-island-backdrop::before{
    background:linear-gradient(180deg,rgba(22,27,27,.48),rgba(28,26,22,.31) 42%,rgba(30,25,21,.48));
  }
  .feature-lead{
    min-height:auto;
    padding-top:clamp(118px,30vw,156px);
    padding-bottom:clamp(126px,31vw,166px);
  }
  .feature-lead::before{
    background:linear-gradient(
      180deg,
      var(--paper) 0%,
      rgba(244,240,231,.82) 3%,
      rgba(244,240,231,0) 15%,
      rgba(250,247,240,0) 84%,
      rgba(250,248,243,.78) 95%,
      #faf8f3 100%
    );
  }
  .feature-lead .feature-note{color:rgba(255,253,248,.9)}
}

@media(prefers-reduced-motion:reduce){
  .feature-island-backdrop{transition:none}
}




:root{
  --fab-type-body:15px;
  --fab-type-lead:16px;
  --fab-type-small-heading:18px;
  --fab-type-section:25px;
  --fab-type-story:24px;
  --fab-type-hero:35px;
}

body{
  font-size:max(var(--fab-font-minimum), var(--fab-type-body)) !important;
  line-height:2.04;
}


.hero h1{
  font-size:max(var(--fab-font-minimum), clamp(31px,2.45vw,var(--fab-type-hero))) !important;
  line-height:1.82!important;
  letter-spacing:.078em!important;
  font-weight:500!important;
}
.hero-en{
  font-size:11px !important;
  line-height:1.8!important;
}


.news-title{
  font-size:20px !important;
  line-height:1.65!important;
  letter-spacing:.075em!important;
}
.news-row-title,
.news-item{
  font-size:13px !important;
}


.intro-vision .intro-opening h2,
.intro h2{
  font-size:max(var(--fab-font-minimum), clamp(23px,1.8vw,26px)) !important;
  line-height:1.88!important;
  letter-spacing:.068em!important;
}
.intro-opening-lead,
.intro-copy p,
.intro p{
  font-size:max(var(--fab-font-minimum), clamp(14px,1.05vw,var(--fab-type-lead))) !important;
  line-height:2.28!important;
}
.intro-core p{
  font-size:17px !important;
  line-height:2.06!important;
}
.intro-closing{
  font-size:16px !important;
  line-height:2.18!important;
}


.section-title,
.feature-title,
.about h2,
.gallery h2,
.contact h2,
.support h2{
  font-size:max(var(--fab-font-minimum), clamp(22px,1.72vw,var(--fab-type-section))) !important;
  line-height:1.82!important;
  letter-spacing:.065em!important;
  font-weight:500!important;
}
.feature-title span{
  font-size:max(var(--fab-font-minimum), .76em) !important;
  letter-spacing:.075em!important;
}
.feature-note{
  font-size:14px !important;
  line-height:2.15!important;
}


.feature-card h3{
  font-size:max(var(--fab-font-minimum), clamp(16px,1.15vw,var(--fab-type-small-heading))) !important;
  line-height:1.62!important;
  letter-spacing:.07em!important;
  font-weight:500!important;
}
.feature-card .fc-category{
  font-size:max(var(--fab-font-minimum), clamp(12px,.84vw,13px)) !important;
  line-height:1.7!important;
}
.feature-card .fc-brief{
  font-size:var(--fab-font-minimum) !important;
  line-height:1.75!important;
}


.story h3{
  font-size:max(var(--fab-font-minimum), clamp(21px,1.68vw,var(--fab-type-story))) !important;
  line-height:1.82!important;
  letter-spacing:.078em!important;
  font-weight:500!important;
}
.story-copy p{
  font-size:max(var(--fab-font-minimum), clamp(14px,1.02vw,15.5px)) !important;
  line-height:2.32!important;
}
.story-category{
  font-size:12px !important;
  line-height:1.7!important;
  letter-spacing:.12em!important;
}
.food-quote{
  font-size:15px !important;
  line-height:2.2!important;
}


.support-head p,
.contact p,
.about p{
  font-size:14px !important;
  line-height:2.16!important;
}
.support-row strong,
.support-accordion-trigger strong,
.support-lower-link strong{
  font-size:15px !important;
  line-height:1.7!important;
}
.gallery-flow-label,
.eyebrow{
  font-size:var(--fab-font-minimum) !important;
}
.footer-brand{
  font-size:20px !important;
}

@media(max-width:820px){
  :root{
    --fab-type-body:14px;
    --fab-type-lead:15px;
    --fab-type-small-heading:16px;
    --fab-type-section:22px;
    --fab-type-story:21px;
    --fab-type-hero:28px;
  }
  body{
    font-size:max(var(--fab-font-minimum), var(--fab-type-body)) !important;
    line-height:1.98;
  }
  .hero h1{
    font-size:max(var(--fab-font-minimum), clamp(27px,7.15vw,var(--fab-type-hero))) !important;
    line-height:1.84!important;
    letter-spacing:.067em!important;
  }
  .news-title{
    font-size:18px !important;
  }
  .intro-vision .intro-opening h2,
  .intro h2,
  .section-title,
  .feature-title,
  .about h2,
  .gallery h2,
  .contact h2,
  .support h2{
    font-size:max(var(--fab-font-minimum), var(--fab-type-section)) !important;
    line-height:1.84!important;
    letter-spacing:.055em!important;
  }
  .intro-opening-lead,
  .intro-copy p,
  .intro p{
    font-size:max(var(--fab-font-minimum), var(--fab-type-lead)) !important;
    line-height:2.18!important;
  }
  .intro-core p,
  .intro-closing{
    font-size:16px !important;
  }
  .story h3{
    font-size:max(var(--fab-font-minimum), var(--fab-type-story)) !important;
    line-height:1.78!important;
  }
  .story-copy p{
    font-size:15px !important;
    line-height:2.2!important;
  }
  .feature-card h3{
    font-size:max(var(--fab-font-minimum), var(--fab-type-small-heading)) !important;
  }
  .feature-card .fc-category{
    font-size:12px !important;
  }
  .feature-note,
  .support-head p{
    font-size:14px !important;
  }
}

@media(max-width:420px){
  .hero h1{
    font-size:27px !important;
  }
  .intro-vision .intro-opening h2,
  .intro h2,
  .section-title,
  .feature-title,
  .about h2,
  .gallery h2,
  .contact h2,
  .support h2{
    font-size:21px !important;
  }
  .story h3{
    font-size:20px !important;
  }
}







.intro.intro-vision{
  padding:clamp(142px,15vw,220px) 0 clamp(160px,18vw,260px);
}
.intro-vision .inner{width:var(--content-shell)}
.intro-vision .intro-opening{
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--grid-gap);
  row-gap:22px;
  align-items:end;
}
.intro-vision .intro-opening .eyebrow{grid-column:1/13;margin:0}
.intro-vision .intro-opening h2{grid-column:1/8;max-width:720px;margin:0}
.intro-opening-lead{grid-column:9/13;max-width:360px!important;justify-self:end;margin:0!important;padding:0 0 7px}
.intro-sequence{
  position:relative;
  width:100%;
  margin-top:clamp(88px,9vw,132px);
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  column-gap:var(--grid-gap);
}
.intro-scene{position:relative;overflow:visible}
.intro-scene img{display:block;overflow:hidden}
.intro-scene figcaption{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  color:var(--brown-soft);
  font:500 var(--fab-font-minimum)/1.6 var(--sans);
  letter-spacing:.17em;
}
.intro-scene figcaption span{color:var(--lemon);font-size:var(--fab-font-minimum)}
.intro-scene-house{
  grid-column:1/9;
  grid-row:1;
  height:clamp(540px,48vw,690px);
}
.intro-scene-house img{object-position:center 54%}
.intro-statement{
  position:relative;
  z-index:2;
  font-family:var(--serif);
  color:var(--ink);
}
.intro-statement::before{
  content:"";
  display:block;
  width:42px;
  height:1px;
  margin-bottom:28px;
  background:var(--lemon);
}
.intro-statement-label{
  display:block;
  margin-bottom:21px;
  color:var(--brown-soft);
  font:500 var(--fab-font-minimum)/1.5 var(--sans);
  letter-spacing:.19em;
}
.intro-statement p{
  margin:0 0 1.35em!important;
  font-size:max(var(--fab-font-minimum), clamp(14px,1.02vw,15.5px)) !important;
  line-height:2.34!important;
  letter-spacing:.04em;
}
.intro-statement-first{
  grid-column:9/13;
  grid-row:1;
  align-self:end;
  padding:0 0 clamp(42px,5vw,78px) clamp(18px,2.4vw,36px);
}
.intro-statement-second{
  grid-column:2/7;
  grid-row:2;
  align-self:start;
  margin-top:clamp(150px,15vw,220px);
  padding-right:clamp(10px,2vw,34px);
}
.intro-scene-lemon{
  grid-column:9/12;
  grid-row:2;
  height:clamp(370px,31vw,470px);
  margin-top:clamp(105px,11vw,165px);
}
.intro-scene-lemon img{object-position:center 48%}
.intro-closing{
  grid-column:1/5;
  grid-row:3;
  align-self:end;
  margin:0 0 clamp(54px,5vw,84px)!important;
  padding-right:clamp(12px,2vw,34px);
}
.intro-scene-living{
  grid-column:5/13;
  grid-row:3;
  height:clamp(500px,45vw,650px);
  margin-top:clamp(145px,16vw,235px);
}
.intro-scene-living img{object-position:center 48%}


.menu-panel{
  display:block;
  padding-top:64px;
  background:var(--paper-light);
  color:var(--brown);
  overflow:auto;
  opacity:0;
  visibility:hidden;
  transform:translateY(-10px);
  transition:opacity .72s var(--ease),visibility .72s var(--ease),transform .85s var(--ease);
}
.menu-open .menu-panel{opacity:1;visibility:visible;transform:none}
.menu-open .header{
  color:var(--brown)!important;
  background:rgba(250,247,240,.96)!important;
  border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
}
.menu-open .menu-btn{background:var(--lemon);border-color:var(--lemon)}
.menu-shell{
  min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);
  display:grid;
  grid-template-columns:minmax(300px,33vw) minmax(0,1fr);
}
.menu-visual{
  position:relative;
  min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);
  overflow:hidden;
  background:#665743;
  opacity:0;
  transform:translateX(-24px);
  transition:opacity 1s .12s var(--ease),transform 1.2s .12s var(--ease);
}
.menu-open .menu-visual{opacity:1;transform:none}
.menu-visual img{position:absolute;inset:0;object-position:48% center;transform:scale(1.025);transition:transform 8s ease}
.menu-open .menu-visual img{transform:scale(1)}
.menu-visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,24,19,.08),rgba(31,23,16,.58))}
.menu-visual-copy{position:absolute;left:clamp(28px,4vw,62px);right:clamp(28px,4vw,62px);bottom:clamp(32px,5vw,72px);color:#fff9ee}
.menu-visual-copy>span{display:block;margin-bottom:20px;font:500 var(--fab-font-minimum)/1.4 var(--sans);letter-spacing:.22em}
.menu-visual-copy strong{display:block;font:500 max(var(--fab-font-minimum), clamp(20px,2vw,29px))/1.9 var(--serif);letter-spacing:.08em}
.menu-visual-copy small{display:block;margin-top:24px;font-size:var(--fab-font-minimum);letter-spacing:.2em;opacity:.75}
.menu-directory{
  min-width:0;
  padding:clamp(42px,5vw,74px) clamp(36px,5.4vw,86px) 28px;
  display:flex;
  flex-direction:column;
  background:var(--paper-light);
}
.menu-directory-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.62fr);
  gap:40px;
  align-items:end;
  padding-bottom:clamp(30px,3.5vw,48px);
  border-bottom:1px solid var(--line);
  opacity:0;
  transform:translateY(18px);
  transition:opacity .9s .18s var(--ease),transform 1s .18s var(--ease);
}
.menu-open .menu-directory-head{opacity:1;transform:none}
.menu-kicker{display:block;margin-bottom:15px;font:600 var(--fab-font-minimum)/1.4 var(--sans);letter-spacing:.26em;color:var(--brown-soft)}
.menu-directory-head h2{margin:0;font:500 max(var(--fab-font-minimum), clamp(22px,2vw,28px))/1.75 var(--serif);letter-spacing:.08em}
.menu-directory-head p{max-width:340px;margin:0 0 3px;font:400 13px/2.05 var(--serif);color:var(--brown-soft)}
.menu-directory-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,.48fr);
  gap:clamp(42px,5vw,78px);
  padding:clamp(34px,4vw,58px) 0;
}
.menu-primary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(26px,3vw,48px)!important;text-align:left!important}
.menu-primary a{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:12px!important;
  min-height:82px;
  border-bottom:1px solid var(--line);
  color:var(--brown)!important;
  font:400 14px/1.6 var(--serif) !important;
  letter-spacing:.06em!important;
  opacity:0;
  transform:translateY(15px);
  transition:color .45s var(--ease),padding .45s var(--ease),opacity .8s var(--ease),transform .9s var(--ease);
}
.menu-open .menu-primary a{opacity:1;transform:none}
.menu-open .menu-primary a:nth-child(1){transition-delay:.24s}.menu-open .menu-primary a:nth-child(2){transition-delay:.29s}.menu-open .menu-primary a:nth-child(3){transition-delay:.34s}.menu-open .menu-primary a:nth-child(4){transition-delay:.39s}.menu-open .menu-primary a:nth-child(5){transition-delay:.44s}.menu-open .menu-primary a:nth-child(6){transition-delay:.49s}
.menu-primary a:hover{color:var(--green)!important;padding-left:0}
.menu-no{font:500 var(--fab-font-minimum)/1 var(--sans);letter-spacing:.1em;color:var(--brown-soft)}
.menu-label b{display:block;font:500 15px/1.65 var(--serif);letter-spacing:.075em}
.menu-label small{display:block;margin-top:3px;font:500 var(--fab-font-minimum)/1.3 var(--sans);letter-spacing:.18em;color:var(--brown-soft)}
.menu-primary i{font:400 14px/1 var(--sans);font-style:normal;transition:transform .45s var(--ease)}
.menu-primary a:hover i{transform:translateX(4px)}
.menu-aside{opacity:0;transform:translateY(16px);transition:opacity .9s .42s var(--ease),transform 1s .42s var(--ease)}
.menu-open .menu-aside{opacity:1;transform:none}
.menu-reservation{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"meta icon" "title icon";
  align-items:center;
  gap:5px 18px;
  padding:24px 22px;
  border:1px solid var(--brown);
  transition:background .5s var(--ease),color .5s var(--ease);
}
.menu-reservation span{grid-area:meta;font:600 var(--fab-font-minimum)/1.3 var(--sans);letter-spacing:.2em}
.menu-reservation strong{grid-area:title;font:500 16px/1.7 var(--serif);letter-spacing:.08em}
.menu-reservation i{grid-area:icon;font:400 17px/1 var(--sans);font-style:normal}
.menu-reservation:hover{background:var(--brown);color:#fff9ee}
.menu-utility-links{margin-top:26px;border-top:1px solid var(--line)}
.menu-utility-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font:400 13px/1.55 var(--serif);letter-spacing:.055em}
.menu-utility-links a small{font:500 var(--fab-font-minimum)/1.2 var(--sans);letter-spacing:.16em;color:var(--brown-soft)}
.menu-contact-meta{display:grid;gap:9px;margin-top:27px;color:var(--brown-soft);font-size:var(--fab-font-minimum);line-height:1.7;letter-spacing:.08em}
.menu-contact-meta p{margin:0}.menu-contact-meta span{display:inline-block;width:82px;font-size:var(--fab-font-minimum);letter-spacing:.18em}.menu-contact-meta a{text-decoration:underline;text-underline-offset:3px}
.menu-footer{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr auto auto auto;
  gap:22px;
  align-items:center;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:var(--fab-font-minimum);
  letter-spacing:.18em;
  color:var(--brown-soft);
  opacity:0;
  transition:opacity .8s .55s var(--ease);
}
.menu-open .menu-footer{opacity:1}
.menu-footer small{font-size:var(--fab-font-minimum)}


.reveal-image{
  opacity:0!important;
  transform:translate3d(0,24px,0)!important;
  transition:
    opacity 1.25s ease,
    transform 1.9s cubic-bezier(.18,.68,.28,1)!important;
  will-change:opacity,transform;
}
.reveal-image.in{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}
.reveal-image img{
  clip-path:inset(100% 0 0 0);
  filter:blur(7px) saturate(.92);
  transform:scale(1.035) translate3d(0,9px,0)!important;
  transition:
    clip-path 1.9s cubic-bezier(.18,.68,.28,1),
    filter 1.85s ease,
    transform 2.45s cubic-bezier(.18,.68,.28,1)!important;
  will-change:clip-path,filter,transform;
}
.reveal-image.in img{
  clip-path:inset(0 0 0 0);
  filter:blur(0) saturate(1);
  transform:scale(1) translate3d(0,0,0)!important;
}
.menu-open .mobile-reserve-cta{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@media(max-width:1040px){
  .menu-shell{grid-template-columns:minmax(260px,31vw) minmax(0,1fr)}
  .menu-directory{padding-inline:34px}
  .menu-directory-body{grid-template-columns:minmax(0,1fr) 230px;gap:34px}
  .menu-primary{grid-template-columns:1fr!important}
  .menu-primary a{min-height:64px}
  .intro-scene-house{grid-column:1/9}
  .intro-statement-first{grid-column:9/13}
  .intro-statement-second{grid-column:1/7}
  .intro-scene-lemon{grid-column:9/13}
}

@media(max-width:760px){
  .intro.intro-vision{padding:112px 0 126px}
  .intro-vision .intro-opening{display:block}
  .intro-opening-lead{max-width:92%!important;margin-top:25px!important}
  .intro-sequence{display:block;margin-top:66px}
  .intro-scene-house{width:94%;height:112vw;margin-left:6%}
  .intro-statement-first{width:92%;padding:0;margin:46px 0 0}
  .intro-statement::before{margin-bottom:22px}
  .intro-statement-label{margin-bottom:17px}
  .intro-scene-lemon{width:53%;height:75vw;margin:88px 0 0 auto}
  .intro-statement-second{width:92%;margin:72px 0 0;padding:0}
  .intro-scene-living{width:88%;height:98vw;margin:94px 0 0 4%}
  .intro-closing{width:92%;margin:58px 0 0!important;padding:0}
  .intro-scene figcaption{gap:8px;margin-top:10px;font-size:var(--fab-font-minimum);letter-spacing:.13em}

  .menu-panel{padding-top:58px}
  .menu-shell{display:block;min-height:calc(100vh - 58px);min-height:calc(100dvh - 58px);}
  .menu-visual{min-height:36vh;min-height:36dvh;height:36vh;height:36dvh;}
  .menu-visual-copy{left:22px;right:22px;bottom:23px}
  .menu-visual-copy>span{margin-bottom:10px;font-size:var(--fab-font-minimum)}
  .menu-visual-copy strong{font-size:18px;line-height:1.72}
  .menu-visual-copy small{margin-top:12px;font-size:var(--fab-font-minimum)}
  .menu-directory{padding:34px 22px 26px;min-height:auto}
  .menu-directory-head{display:block;padding-bottom:25px}
  .menu-directory-head p{margin-top:15px;font-size:12px}
  .menu-directory-body{display:block;padding:22px 0 30px}
  .menu-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}
  .menu-primary a{grid-template-columns:20px minmax(0,1fr) 12px!important;gap:8px!important;min-height:67px}
  .menu-label b{font-size:14px;letter-spacing:.055em}
  .menu-label small{font-size:var(--fab-font-minimum)}
  .menu-aside{margin-top:30px}
  .menu-reservation{padding:19px 17px}
  .menu-utility-links{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
  .menu-utility-links a{display:block;padding:14px 0}
  .menu-utility-links a small{display:block;margin-top:4px;font-size:var(--fab-font-minimum)}
  .menu-contact-meta{font-size:var(--fab-font-minimum)}
  .menu-footer{grid-template-columns:1fr auto auto;gap:13px}.menu-footer small{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){
  .reveal-image,.reveal-image.in{opacity:1!important;transform:none!important}
  .reveal-image img,.reveal-image.in img{clip-path:none!important;filter:none!important;transform:none!important}
  .menu-visual,.menu-directory-head,.menu-primary a,.menu-aside,.menu-footer{opacity:1!important;transform:none!important;transition:none!important}
}





.reveal-image{
  opacity:1!important;
  transform:none!important;
  will-change:auto;
}
.reveal-image img{
  clip-path:none!important;
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    transparent 28%,
    rgba(0,0,0,.025) 34%,
    rgba(0,0,0,.12) 39%,
    rgba(0,0,0,.34) 45%,
    rgba(0,0,0,.68) 51%,
    #000 58%,
    #000 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    transparent 28%,
    rgba(0,0,0,.025) 34%,
    rgba(0,0,0,.12) 39%,
    rgba(0,0,0,.34) 45%,
    rgba(0,0,0,.68) 51%,
    #000 58%,
    #000 100%
  );
  -webkit-mask-size:100% 300%;
  mask-size:100% 300%;
  -webkit-mask-position:0 0%;
  mask-position:0 0%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  opacity:.88;
  filter:blur(2.8px) saturate(.95);
  transform:scale(1.018) translate3d(0,7px,0)!important;
  transition:
    -webkit-mask-position 2.15s cubic-bezier(.22,.61,.24,1),
    mask-position 2.15s cubic-bezier(.22,.61,.24,1),
    opacity 1.85s ease,
    filter 2.05s cubic-bezier(.22,.61,.24,1),
    transform 2.35s cubic-bezier(.22,.61,.24,1)!important;
  will-change:-webkit-mask-position,mask-position,filter,transform,opacity;
}
.reveal-image.in img{
  -webkit-mask-position:0 100%;
  mask-position:0 100%;
  opacity:1;
  filter:blur(0) saturate(1);
  transform:scale(1) translate3d(0,0,0)!important;
}


.intro-scene-lemon.reveal-image img,
.house-detail.reveal-image img,
.nature-small.reveal-image img,
.life-small.reveal-image img{
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    transparent 25%,
    rgba(0,0,0,.02) 32%,
    rgba(0,0,0,.10) 39%,
    rgba(0,0,0,.30) 46%,
    rgba(0,0,0,.62) 54%,
    #000 63%,
    #000 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    transparent 25%,
    rgba(0,0,0,.02) 32%,
    rgba(0,0,0,.10) 39%,
    rgba(0,0,0,.30) 46%,
    rgba(0,0,0,.62) 54%,
    #000 63%,
    #000 100%
  );
}

@media(prefers-reduced-motion:reduce){
  .reveal-image img,
  .reveal-image.in img{
    -webkit-mask-image:none!important;
    mask-image:none!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }
}




:root{
  --setoda-bg:#f2f0e7;
  --setoda-paper:#f8f6ef;
  --setoda-green:#164b2d;
  --setoda-green-deep:#0d3420;
  --setoda-green-light:#dfe8dd;
  --setoda-ink:#16251c;
  --setoda-muted:#667168;
  --setoda-line:rgba(22,75,45,.20);
  --setoda-yellow:#d1bd45;
  --setoda-white:#fffef8;
  --setoda-sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
  --setoda-serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --setoda-ease:cubic-bezier(.22,.61,.36,1);
}
body{background:var(--setoda-bg)}
.feature-island-backdrop{display:none!important}


.setoda-intro{position:relative;padding:clamp(130px,15vw,225px) 0 clamp(145px,17vw,255px);background:var(--setoda-bg);color:var(--setoda-ink);overflow:hidden}
.setoda-intro-shell{width:min(calc(100% - (var(--pad) * 2)),1540px);margin:auto}
.setoda-intro-header{position:relative;text-align:center}
.setoda-round-label{font:500 11px/1.4 var(--setoda-sans);letter-spacing:.14em;color:var(--setoda-green);text-transform:uppercase}
.setoda-intro-eyebrow{margin:clamp(42px,5vw,72px) 0 24px;font:500 11px/1.5 var(--setoda-sans);letter-spacing:.25em;color:var(--setoda-green)}
.setoda-intro h2{margin:0 auto;max-width:1320px;color:var(--setoda-green-deep);font:400 max(var(--fab-font-minimum), clamp(44px,6.3vw,104px))/1.28 var(--setoda-serif);letter-spacing:.02em}
.setoda-intro h2 span{display:block}
.setoda-intro-lead{max-width:520px;margin:clamp(35px,4vw,58px) auto 0!important;color:var(--setoda-muted);font:400 max(var(--fab-font-minimum), clamp(14px,1.1vw,17px))/2.15 var(--setoda-serif) !important;letter-spacing:.04em!important}
.setoda-intro-landscape{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,1.5vw,26px);row-gap:0;margin-top:clamp(105px,11vw,170px);min-height:1280px}
.setoda-intro-photo{position:relative;margin:0;overflow:visible}
.setoda-intro-photo img{display:block;width:100%;height:100%;object-fit:cover}
.setoda-intro-photo figcaption{margin-top:13px;color:var(--setoda-green);font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.17em}
.setoda-intro-photo-main{grid-column:1/9;height:clamp(500px,48vw,735px)}
.setoda-intro-copy{grid-column:9/13;align-self:end;padding:0 0 clamp(20px,4vw,60px) clamp(12px,2.5vw,42px);color:var(--setoda-ink)}
.setoda-copy-label{display:block;margin-bottom:27px;color:var(--setoda-green);font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.21em}
.setoda-intro-copy p{margin:0 0 1.3em!important;font:400 max(var(--fab-font-minimum), clamp(14px,1.08vw,17px))/2.25 var(--setoda-serif) !important;letter-spacing:.035em!important}
.setoda-intro-photo-detail{grid-column:9/13;height:clamp(380px,35vw,525px);margin-top:clamp(165px,17vw,250px)}
.setoda-intro-copy-secondary{grid-column:2/7;grid-row:2;align-self:start;margin-top:clamp(135px,14vw,210px);padding:0 clamp(25px,4vw,68px) 0 0}
.setoda-intro-closing{grid-column:2/8;grid-row:3;align-self:end;margin:clamp(145px,15vw,220px) 0 0!important;color:var(--setoda-green-deep);font:400 max(var(--fab-font-minimum), clamp(18px,1.8vw,27px))/2.1 var(--setoda-serif) !important;letter-spacing:.05em!important}
.setoda-intro-landscape::after{content:"";grid-column:8/13;grid-row:3;height:clamp(300px,32vw,470px);margin-top:clamp(100px,12vw,175px);background:linear-gradient(145deg,rgba(22,75,45,.08),rgba(209,189,69,.12));border-radius:50% 50% 46% 54% / 58% 42% 58% 42%;transform:rotate(-7deg)}


.setoda-values{position:relative;background:var(--setoda-paper);color:var(--setoda-ink)}
.setoda-values-header{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:clamp(50px,9vw,145px);align-items:end;padding:clamp(130px,15vw,220px) var(--pad) clamp(100px,12vw,165px);width:min(100%,1540px);margin:auto}
.setoda-values-kicker{margin:40px 0 16px;font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.23em;color:var(--setoda-green)}
.setoda-values h2{margin:0;color:var(--setoda-green-deep);font:400 max(var(--fab-font-minimum), clamp(42px,5.7vw,88px))/1.12 var(--setoda-serif);letter-spacing:.015em}
.setoda-values h2 span{font-size:max(var(--fab-font-minimum), .40em);letter-spacing:.11em}
.setoda-values-intro{max-width:440px;margin:0;color:var(--setoda-muted);font:400 max(var(--fab-font-minimum), clamp(14px,1vw,16px))/2.15 var(--setoda-serif);letter-spacing:.035em}
.setoda-values-stage{display:grid;grid-template-columns:minmax(0,53%) minmax(0,47%);align-items:start;border-top:1px solid var(--setoda-line)}
.setoda-values-copy{grid-column:2;grid-row:1;min-width:0;background:var(--setoda-paper)}
.setoda-value{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;padding:clamp(110px,14vh,170px) clamp(42px,7vw,120px);border-bottom:0;scroll-margin-top:0}
.setoda-value-inner{width:min(100%,610px);margin:0 auto}
.setoda-value-meta{display:flex;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--setoda-line);color:var(--setoda-green);font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.18em}
.setoda-value-category{margin:clamp(45px,6vh,72px) 0 15px;color:var(--setoda-muted);font:500 12px/1.7 var(--setoda-sans);letter-spacing:.12em}
.setoda-value h3{margin:0 0 clamp(35px,5vh,58px);color:var(--setoda-green-deep);font:400 max(var(--fab-font-minimum), clamp(40px,4.7vw,72px))/1.28 var(--setoda-serif);letter-spacing:.035em}

.setoda-value-body p{margin:0 0 1.35em;color:#34463a;font:400 max(var(--fab-font-minimum), clamp(14px,1.05vw,17px))/2.25 var(--setoda-serif);letter-spacing:.035em}
.setoda-text-link,.setoda-about-link{display:inline-flex;align-items:center;gap:35px;margin-top:28px;padding-bottom:11px;border-bottom:1px solid currentColor;color:var(--setoda-green);font:500 12px/1.4 var(--setoda-sans);letter-spacing:.12em;transition:gap .6s var(--setoda-ease)}
.setoda-text-link:hover,.setoda-about-link:hover{gap:50px}
.setoda-text-link i,.setoda-about-link i{font-style:normal;font-size:16px}
.setoda-value-mobile-image{display:none}
.setoda-values-visual{grid-column:1;grid-row:1;position:sticky;top:0;height:100vh;height:100dvh;min-height:680px;overflow:hidden;background:var(--setoda-green-deep)}
.setoda-value-image{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.035);transition:opacity 1.35s ease,visibility 1.35s ease,transform 2.2s var(--setoda-ease)}
.setoda-value-image.is-active{opacity:1;visibility:visible;transform:scale(1)}
.setoda-value-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,25,14,.04),rgba(4,25,14,.06) 56%,rgba(4,25,14,.52))}
.setoda-value-image img{width:100%;height:100%;object-fit:cover}
.setoda-value-image figcaption{position:absolute;z-index:2;right:clamp(24px,4vw,65px);bottom:clamp(28px,5vw,68px);display:flex;justify-content:flex-end;gap:18px;color:#fff;text-align:right;font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.2em}
.setoda-value-image figcaption span{color:#e2ce5e}
.setoda-value-counter{position:absolute;z-index:4;left:clamp(24px,4vw,60px);top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:15px;color:#fff;font:500 var(--fab-font-minimum)/1 var(--setoda-sans);letter-spacing:.12em}
.setoda-value-counter i{display:block;width:1px;height:86px;background:rgba(255,255,255,.55)}


.setoda-about{position:relative;height:max(100vh,760px);height:max(100dvh,760px);min-height:760px;overflow:hidden;color:#fff;background:#14291c}
.setoda-about-media,.setoda-about-shade{position:absolute;inset:0}
.setoda-about-media img{width:100%;height:100%;object-fit:cover;object-position:center;animation:setodaAboutBreath 18s ease-in-out infinite alternate}
.setoda-about-shade{background:linear-gradient(180deg,rgba(5,24,14,.34),rgba(5,24,14,.24) 44%,rgba(5,24,14,.74)),linear-gradient(90deg,rgba(5,24,14,.34),transparent 68%)}
@keyframes setodaAboutBreath{from{transform:scale(1.01)}to{transform:scale(1.07)}}
.setoda-about-type{position:absolute;inset:clamp(90px,11vh,135px) 0 auto;z-index:2;display:grid;color:rgba(255,255,255,.94);font:400 max(var(--fab-font-minimum), clamp(66px,10.7vw,176px))/.88 var(--setoda-serif);letter-spacing:-.045em;white-space:nowrap;pointer-events:none}
.setoda-about-type span:nth-child(1){justify-self:start;margin-left:-.02em}
.setoda-about-type span:nth-child(2){justify-self:center}
.setoda-about-type span:nth-child(3){justify-self:end;margin-right:-.02em}
.setoda-about-content{position:absolute;z-index:3;left:var(--pad);bottom:clamp(45px,8vh,95px);width:min(580px,calc(100% - (var(--pad) * 2)))}
.setoda-about-eyebrow{margin:0 0 18px;font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.24em;color:#e5d66e}
.setoda-about-content h2{margin:0 0 24px;color:#fff;font:400 max(var(--fab-font-minimum), clamp(28px,3vw,43px))/1.65 var(--setoda-serif);letter-spacing:.045em;text-shadow:0 2px 16px rgba(0,0,0,.2)}
.setoda-about-content>p:not(.setoda-about-eyebrow){max-width:540px;margin:0;color:rgba(255,255,255,.88);font:400 max(var(--fab-font-minimum), clamp(14px,1vw,16px))/2.15 var(--setoda-serif);letter-spacing:.03em}
.setoda-about-link{color:#fff;border-color:rgba(255,255,255,.65)}


.contact{display:none!important}
.setoda-footer{position:relative;background:#f3f1e8;color:var(--setoda-green-deep);overflow:hidden}
.setoda-footer-contact{padding:clamp(105px,12vw,180px) var(--pad) clamp(85px,10vw,145px);border-bottom:1px solid var(--setoda-line)}
.setoda-footer-contact>header{display:grid;grid-template-columns:1fr 2fr;align-items:end;width:min(100%,1540px);margin:0 auto clamp(48px,6vw,82px)}
.setoda-footer-contact>header p{margin:0;color:var(--setoda-green);font:500 11px/1.4 var(--setoda-sans);letter-spacing:.16em}
.setoda-footer-contact>header h2{margin:0;color:var(--setoda-green-deep);font:400 max(var(--fab-font-minimum), clamp(42px,5.2vw,78px))/1.2 var(--setoda-serif);letter-spacing:.025em}
.setoda-footer-contact-links{width:min(100%,1540px);margin:auto;border-top:1px solid var(--setoda-line)}
.setoda-footer-contact-links a{display:grid;grid-template-columns:70px minmax(0,1fr) auto 28px;gap:25px;align-items:center;min-height:112px;border-bottom:1px solid var(--setoda-line);transition:padding .65s var(--setoda-ease),background .65s var(--setoda-ease)}
.setoda-footer-contact-links a:hover{padding-left:18px;background:rgba(255,255,255,.45)}
.setoda-footer-contact-links span{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.12em;color:var(--setoda-green)}
.setoda-footer-contact-links strong{font:400 max(var(--fab-font-minimum), clamp(17px,1.5vw,23px))/1.6 var(--setoda-serif);letter-spacing:.035em}
.setoda-footer-contact-links small{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.12em;color:var(--setoda-muted)}
.setoda-footer-contact-links i{font-style:normal;font-size:19px}
.setoda-footer-body{width:min(calc(100% - (var(--pad) * 2)),1540px);margin:auto;display:grid;grid-template-columns:1.05fr .85fr 1.1fr;grid-template-areas:"brand nav actions" "social nav letter";gap:clamp(35px,5vw,82px);padding:clamp(85px,10vw,145px) 0 clamp(75px,9vw,130px)}
.setoda-footer-brand-block{grid-area:brand}
.setoda-footer-logo{font:400 max(var(--fab-font-minimum), clamp(24px,2.4vw,38px))/1.4 var(--setoda-serif);letter-spacing:.09em}
.setoda-footer-brand-block p{margin:25px 0 0;color:var(--setoda-muted);font:400 12px/1.9 var(--setoda-sans);letter-spacing:.07em}
.setoda-footer-nav{grid-area:nav;display:grid;align-content:start;gap:14px}
.setoda-footer-nav a{width:max-content;font:400 14px/1.7 var(--setoda-serif);letter-spacing:.05em}
.setoda-footer-actions{grid-area:actions;display:grid;align-self:start;border-top:1px solid var(--setoda-line)}
.setoda-footer-action{display:flex;align-items:center;justify-content:space-between;min-height:78px;border-bottom:1px solid var(--setoda-line);font:500 13px/1.5 var(--setoda-sans);letter-spacing:.1em}
.setoda-footer-action i{font-style:normal;font-size:18px}
.setoda-footer-action-primary{color:#fff;background:var(--setoda-green);padding:0 24px;border:0;margin-bottom:12px}
.setoda-footer-social{grid-area:social;align-self:end;display:flex;gap:23px;align-items:center;font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.12em}
.setoda-footer-social span{color:var(--setoda-muted)}
.setoda-footer-letter{grid-area:letter;align-self:end;display:flex;justify-content:space-between;align-items:end;padding:26px 0;border-top:1px solid var(--setoda-line);border-bottom:1px solid var(--setoda-line)}
.setoda-footer-letter span{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.16em;color:var(--setoda-green)}
.setoda-footer-letter h3{margin:9px 0 5px;font:400 20px/1.5 var(--setoda-serif);letter-spacing:.05em}
.setoda-footer-letter p{margin:0;color:var(--setoda-muted);font:400 11px/1.7 var(--setoda-sans);letter-spacing:.04em}
.setoda-footer-letter>a{font-size:22px}
.setoda-footer-phrase{width:max-content;border-top:1px solid var(--setoda-line);border-bottom:1px solid var(--setoda-line);padding:24px 0 30px;overflow:hidden}
.setoda-footer-phrase div{font:400 max(var(--fab-font-minimum), clamp(60px,9.7vw,154px))/1 var(--setoda-serif);letter-spacing:-.025em;white-space:nowrap;animation:setodaFooterFlow 38s linear infinite}
@keyframes setodaFooterFlow{to{transform:translateX(-50%)}}
.setoda-footer-bottom{display:flex;justify-content:space-between;gap:25px;width:min(calc(100% - (var(--pad) * 2)),1540px);margin:auto;padding:26px 0 34px;color:var(--setoda-muted);font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.12em}
.setoda-footer-bottom div{display:flex;gap:25px}

@media(max-width:1040px){
  .setoda-intro h2{font-size:max(var(--fab-font-minimum), clamp(42px,7.6vw,78px))}
  .setoda-intro-landscape{min-height:1100px}
  .setoda-intro-photo-main{grid-column:1/10}
  .setoda-intro-copy{grid-column:9/13;background:rgba(242,240,231,.94);padding:35px;margin-bottom:-70px;position:relative;z-index:2}
  .setoda-intro-photo-detail{grid-column:9/13}
  .setoda-intro-copy-secondary{grid-column:1/7}
  .setoda-values-header{grid-template-columns:1fr;gap:45px}.setoda-values-intro{max-width:680px}
  .setoda-values-stage{grid-template-columns:50% 50%}
  .setoda-value{padding-left:45px;padding-right:45px}
  .setoda-footer-body{grid-template-columns:1fr 1fr;grid-template-areas:"brand actions" "nav letter" "social social"}
}

@media(max-width:760px){
  .setoda-intro{padding-top:105px;padding-bottom:120px}
  .setoda-intro-shell{width:calc(100% - 40px)}
  .setoda-intro-eyebrow{margin-top:34px}
  .setoda-intro h2{font-size:max(var(--fab-font-minimum), clamp(34px,10.5vw,46px));line-height:1.48;letter-spacing:.01em;text-align:left}
  .setoda-intro h2 span{display:inline}
  .setoda-intro h2 span::after{content:" ";}
  .setoda-intro-lead{text-align:left;margin-top:28px!important}
  .setoda-intro-landscape{display:block;min-height:0;margin-top:70px}
  .setoda-intro-photo-main{height:72vw}
  .setoda-intro-copy{margin:45px 0 0;padding:0;background:none}
  .setoda-intro-photo-detail{width:67%;height:78vw;margin:90px 0 0 auto}
  .setoda-intro-copy-secondary{margin:75px 0 0;padding:0}
  .setoda-intro-closing{margin-top:72px!important;font-size:17px !important}
  .setoda-intro-landscape::after{display:none}

  .setoda-values-header{padding:105px 20px 80px}
  .setoda-values h2{font-size:43px;line-height:1.25}.setoda-values h2 span{font-size:max(var(--fab-font-minimum), .43em)}
  .setoda-values-stage{display:block}
  .setoda-values-visual{display:none}
  .setoda-value{display:block;min-height:0;padding:86px 20px;border-bottom:0}
  .setoda-value-inner{max-width:none}
  .setoda-value-category{margin-top:38px}
  .setoda-value h3{font-size:35px;margin-bottom:30px}
  .setoda-value-body p{font-size:15px;line-height:2.15}
  .setoda-value-mobile-image{display:block;height:78vw;margin:55px 0 0;overflow:hidden}
  .setoda-value-mobile-image img{width:100%;height:100%;object-fit:cover}

  .setoda-about{height:830px;min-height:830px}
  .setoda-about-type{top:105px;font-size:max(var(--fab-font-minimum), clamp(56px,17vw,82px));line-height:.98;white-space:normal}
  .setoda-about-type span{justify-self:start!important;margin:0!important;padding-left:16px}
  .setoda-about-type span:nth-child(2){padding-left:9vw}
  .setoda-about-type span:nth-child(3){padding-left:30vw}
  .setoda-about-content{left:20px;bottom:50px;width:calc(100% - 40px)}
  .setoda-about-content h2{font-size:27px;line-height:1.68}
  .setoda-about-content>p:not(.setoda-about-eyebrow){font-size:14px;line-height:2.05}

  .setoda-footer-contact{padding:90px 20px 75px}
  .setoda-footer-contact>header{display:block;margin-bottom:40px}
  .setoda-footer-contact>header h2{font-size:40px;margin-top:22px}
  .setoda-footer-contact-links a{grid-template-columns:38px 1fr 20px;gap:12px;min-height:105px;padding:18px 0}
  .setoda-footer-contact-links small{grid-column:2}.setoda-footer-contact-links i{grid-column:3;grid-row:1/3}.setoda-footer-contact-links strong{font-size:16px}
  .setoda-footer-body{width:calc(100% - 40px);grid-template-columns:1fr;grid-template-areas:"brand" "actions" "nav" "letter" "social";gap:48px;padding:80px 0 70px}
  .setoda-footer-nav{grid-template-columns:1fr 1fr;gap:12px 20px}
  .setoda-footer-social{align-self:start}
  .setoda-footer-phrase{padding:19px 0 23px}
  .setoda-footer-phrase div{font-size:64px}
  .setoda-footer-bottom{width:calc(100% - 40px);flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  .setoda-about-media img,.setoda-footer-phrase div{animation:none!important}
  .setoda-value-image{transition:none!important}
}




:root{
  --setoda-frame:1540px;
  --setoda-frame-narrow:1180px;
  --setoda-footer:#095319;
  --setoda-footer-deep:#064412;
  --setoda-footer-text:#f1f3e8;
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


.setoda-intro-shell,.setoda-values-header,.setoda-reservation-inner,.setoda-footer-directory,.setoda-footer-bottom{
  width:min(calc(100% - (var(--pad) * 2)),var(--setoda-frame));
  margin-inline:auto;
}
.news-shell,.support-shell{max-width:var(--setoda-frame)}


.setoda-intro h2{font-size:max(var(--fab-font-minimum), clamp(29px,3.45vw,54px));line-height:1.72;letter-spacing:.035em}
.setoda-values h2{font-size:max(var(--fab-font-minimum), clamp(35px,4.15vw,62px));line-height:1.24}
.setoda-value h3{font-size:max(var(--fab-font-minimum), clamp(31px,3.55vw,54px));line-height:1.38}
.setoda-about-type{font-size:max(var(--fab-font-minimum), clamp(54px,8.15vw,126px));line-height:.96;letter-spacing:-.025em}
.setoda-about-content h2{font-size:max(var(--fab-font-minimum), clamp(27px,2.6vw,39px))}


.setoda-intro{padding:clamp(125px,13vw,195px) 0 clamp(135px,15vw,225px);background:var(--setoda-bg)}
.setoda-intro-composition{position:relative;min-height:clamp(930px,82vw,1230px)}
.setoda-intro-center{position:absolute;z-index:3;left:50%;top:50%;width:min(58%,790px);text-align:center;transform:translate(-50%,-50%)}
.setoda-intro-eyebrow{margin:32px 0 25px;font-size:var(--fab-font-minimum);letter-spacing:.22em}
.setoda-intro-center h2{max-width:790px;margin-inline:auto;color:var(--setoda-green-deep)}
.setoda-intro-story{width:min(100%,650px);margin:clamp(35px,4vw,54px) auto 0;padding-top:30px;border-top:1px solid var(--setoda-line)}
.setoda-intro-story p{margin:0 0 1.35em!important;color:var(--setoda-muted);font:400 max(var(--fab-font-minimum), clamp(14px,1vw,16px))/2.2 var(--setoda-serif) !important;letter-spacing:.035em!important}
.setoda-intro-orbit{position:absolute;margin:0;overflow:hidden;background:#d8ded3}
.setoda-intro-orbit img{width:100%;height:100%;object-fit:cover}
.setoda-intro-orbit-left-top{left:0;top:4%;width:25%;height:31%}
.setoda-intro-orbit-right-top{right:0;top:0;width:20%;height:25%}
.setoda-intro-orbit-left-bottom{left:6.5%;bottom:1%;width:18%;height:25%}
.setoda-intro-orbit-right-bottom{right:2.5%;bottom:4%;width:27%;height:31%}


.setoda-values-header{padding:clamp(120px,13vw,190px) 0 clamp(90px,10vw,140px);grid-template-columns:minmax(0,1.2fr) minmax(300px,.62fr)}
.setoda-values-stage{grid-template-columns:minmax(0,54%) minmax(0,46%)}
.setoda-value{padding-inline:clamp(40px,6vw,100px)}
.setoda-value-inner{width:min(100%,590px);margin-left:auto;margin-right:auto}
.setoda-value-meta{font-size:var(--fab-font-minimum)}
.setoda-value-category{margin-top:clamp(38px,5vh,58px)}
.setoda-value-image{overflow:hidden}
.setoda-value-image img{
  position:absolute;
  left:0;
  top:-4%;
  width:100%;
  height:108%;
  object-fit:cover;
  transform:translate3d(0,var(--setoda-parallax-y,0px),0) scale(1.025);
  transition:transform .18s linear;
  will-change:transform;
}


.page-index{transition:opacity .7s var(--setoda-ease),visibility .7s var(--setoda-ease),transform .7s var(--setoda-ease),width .65s var(--ease),background-color .65s var(--ease),box-shadow .65s var(--ease)!important}
.page-index.is-footer-visible{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(18px,0,0)!important}


.gallery{display:none!important}
.setoda-gallery{position:relative;width:100%;height:min(82vh,920px);height:min(82dvh,920px);min-height:560px;background:var(--setoda-green-deep);overflow:hidden}
.setoda-gallery-stage,.setoda-gallery-slide{position:absolute;inset:0}
.setoda-gallery-slide{margin:0;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity 1.25s ease,visibility 1.25s ease,transform 7s linear}
.setoda-gallery-slide.is-active{opacity:1;visibility:visible;transform:scale(1.065)}
.setoda-gallery-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,35,18,.04),rgba(6,35,18,.18))}
.setoda-gallery-slide img{width:100%;height:100%;object-fit:cover}
.setoda-gallery-control{position:absolute;z-index:3;top:50%;width:48px;height:48px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(7,47,23,.12);color:#fff;display:grid;place-items:center;transform:translateY(-50%);cursor:pointer;transition:background .45s ease,transform .45s ease}
.setoda-gallery-control:hover{background:rgba(7,47,23,.58);transform:translateY(-50%) scale(1.06)}
.setoda-gallery-prev{left:var(--pad)}
.setoda-gallery-next{right:var(--pad)}
.setoda-gallery-dots{position:absolute;z-index:3;left:50%;bottom:27px;display:flex;gap:10px;transform:translateX(-50%)}
.setoda-gallery-dots button{width:24px;height:2px;padding:0;border:0;background:rgba(255,255,255,.38);cursor:pointer;transition:width .45s ease,background .45s ease}
.setoda-gallery-dots button.is-active{width:48px;background:#fff}


.setoda-reservation{padding:clamp(105px,11vw,165px) 0 clamp(115px,12vw,180px);background:#f2f0e7;color:var(--setoda-green-deep);border-top:1px solid var(--setoda-line)}
.setoda-reservation-head{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:clamp(42px,5vw,70px)}
.setoda-reservation-head p{margin:0;color:var(--setoda-green);font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.17em}
.setoda-reservation-head h2{margin:0;font:400 max(var(--fab-font-minimum), clamp(38px,4.5vw,64px))/1.25 var(--setoda-serif);letter-spacing:.035em}
.setoda-reservation-card{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(35px,6vw,100px);align-items:center;min-height:290px;padding:clamp(38px,5vw,72px);overflow:hidden;border:1px solid var(--setoda-line);background:var(--setoda-paper);transition:transform .75s var(--setoda-ease),box-shadow .75s var(--setoda-ease),background .75s var(--setoda-ease),color .75s var(--setoda-ease)}
.setoda-reservation-card::before{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border:1px solid rgba(22,75,45,.16);border-radius:50%;transition:transform 1s var(--setoda-ease)}
.setoda-reservation-card:hover{transform:translateY(-7px);box-shadow:0 28px 75px rgba(13,52,32,.13);background:var(--setoda-green-deep);color:#fff}
.setoda-reservation-card:hover::before{transform:scale(1.18)}
.setoda-reservation-copy{position:relative;z-index:1}
.setoda-reservation-copy>span{display:block;margin-bottom:22px;color:var(--setoda-green);font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.2em;transition:color .6s ease}
.setoda-reservation-copy h3{margin:0 0 18px;font:400 max(var(--fab-font-minimum), clamp(27px,3vw,43px))/1.55 var(--setoda-serif);letter-spacing:.045em}
.setoda-reservation-copy p{margin:0;color:var(--setoda-muted);font:400 max(var(--fab-font-minimum), clamp(14px,1vw,16px))/2 var(--setoda-serif);transition:color .6s ease}
.setoda-reservation-card:hover .setoda-reservation-copy>span{color:#d8cb69}
.setoda-reservation-card:hover .setoda-reservation-copy p{color:rgba(255,255,255,.74)}
.setoda-reservation-action{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px 25px;align-items:center;padding:28px 0 28px 30px;border-left:1px solid var(--setoda-line)}
.setoda-reservation-action small{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.17em;color:var(--setoda-muted)}
.setoda-reservation-action strong{font:500 15px/1.5 var(--setoda-serif);letter-spacing:.07em}
.setoda-reservation-action i{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--setoda-yellow);color:var(--setoda-green-deep);font-style:normal;font-size:24px;transition:transform .65s var(--setoda-ease)}
.setoda-reservation-card:hover .setoda-reservation-action{border-color:rgba(255,255,255,.25)}
.setoda-reservation-card:hover .setoda-reservation-action small{color:rgba(255,255,255,.62)}
.setoda-reservation-card:hover .setoda-reservation-action i{transform:rotate(45deg) scale(1.07)}
.setoda-reservation-sub{display:flex;justify-content:flex-end;gap:35px;margin-top:28px}
.setoda-reservation-sub a{display:flex;align-items:center;gap:28px;padding-bottom:9px;border-bottom:1px solid var(--setoda-line);font:500 11px/1.4 var(--setoda-sans);letter-spacing:.11em}
.setoda-reservation-sub i{font-style:normal}


.setoda-footer{background:var(--setoda-footer);color:var(--setoda-footer-text)}
.setoda-footer-main{position:relative;overflow:hidden;background:var(--setoda-footer)}
.setoda-footer-main::before,.setoda-footer-main::after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(188,220,192,.13);border-radius:50%}
.setoda-footer-main::before{left:-28vw;top:17%;width:78vw;height:82vw;transform:rotate(-24deg)}
.setoda-footer-main::after{right:-25vw;top:26%;width:86vw;height:73vw;transform:rotate(18deg)}
.setoda-footer-directory{position:relative;z-index:2;display:grid;grid-template-columns:.95fr .95fr .85fr 1.25fr;gap:clamp(35px,5vw,88px);padding:clamp(75px,8vw,125px) 0 clamp(65px,7vw,105px)}
.setoda-footer-nav{display:grid;align-content:start;gap:13px}
.setoda-footer-nav a,.setoda-footer-social a{width:max-content;color:var(--setoda-footer-text);font:400 14px/1.7 var(--setoda-serif);letter-spacing:.055em;transition:opacity .35s ease,transform .35s ease}
.setoda-footer-nav a:hover,.setoda-footer-social a:hover{opacity:.72;transform:translateX(4px)}
.setoda-footer-social{display:grid;align-content:start;gap:14px}
.setoda-footer-letter{align-self:start}
.setoda-footer-letter figure{height:155px;margin:0 0 30px;overflow:hidden;border-radius:2px}
.setoda-footer-letter figure img{width:100%;height:100%;object-fit:cover}
.setoda-footer-letter>div>span{font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);letter-spacing:.17em;color:#b8cab8}
.setoda-footer-letter h3{margin:13px 0 17px;color:var(--setoda-footer-text);font:400 20px/1.55 var(--setoda-serif);letter-spacing:.055em}
.setoda-footer-letter p{margin:0 0 24px;color:#b8cab8;font:400 12px/1.85 var(--setoda-sans);letter-spacing:.04em}
.setoda-footer-letter-form{display:grid;grid-template-columns:1fr auto;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.08)}
.setoda-footer-letter-form input{min-width:0;height:48px;padding:0 16px;border:0;background:transparent;color:#fff;outline:none;font:400 12px var(--setoda-sans)}
.setoda-footer-letter-form input::placeholder{color:rgba(255,255,255,.48)}
.setoda-footer-letter-form button{width:64px;border:0;background:#f4f5ed;color:var(--setoda-footer-deep);cursor:pointer;font:500 12px var(--setoda-serif);transition:background .35s ease}
.setoda-footer-letter-form button:hover{background:var(--setoda-yellow)}
.setoda-footer-phrase{position:relative;z-index:2;height:clamp(390px,42vw,640px);border-top:1px solid rgba(255,255,255,.13)}
.setoda-footer-phrase span{position:absolute;color:var(--setoda-footer-text);font:400 max(var(--fab-font-minimum), clamp(34px,4.5vw,70px))/1.25 var(--setoda-serif);letter-spacing:.06em;white-space:nowrap}
.setoda-footer-phrase-one{left:var(--pad);top:18%}
.setoda-footer-phrase-two{left:50%;top:43%;transform:translateX(-50%)}
.setoda-footer-phrase-three{right:var(--pad);top:68%}
.setoda-footer-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;gap:30px;padding:25px 0 34px;color:#adc0af;border-top:1px solid rgba(255,255,255,.13);font:500 var(--fab-font-minimum)/1.5 var(--setoda-sans);letter-spacing:.11em}
.setoda-footer-bottom div{display:flex;gap:28px}

@media(max-width:1040px){
  .setoda-intro-composition{min-height:970px}
  .setoda-intro-center{width:min(65%,700px)}
  .setoda-intro-orbit-left-top{width:28%;height:27%}
  .setoda-intro-orbit-right-top{width:24%;height:23%}
  .setoda-intro-orbit-left-bottom{left:2%;width:23%;height:24%}
  .setoda-intro-orbit-right-bottom{width:30%;height:28%}
  .setoda-values-header{grid-template-columns:1fr;gap:38px}
  .setoda-footer-directory{grid-template-columns:1fr 1fr;grid-template-areas:"nav1 nav2" "social letter"}
  .setoda-footer-nav-primary{grid-area:nav1}.setoda-footer-nav-secondary{grid-area:nav2}.setoda-footer-social{grid-area:social}.setoda-footer-letter{grid-area:letter}
}

@media(max-width:760px){
  .setoda-intro{padding:95px 0 110px}
  .setoda-intro-composition{min-height:0;display:flex;flex-direction:column}
  .setoda-intro-center{position:relative;left:auto;top:auto;order:1;width:100%;padding:0 8px;transform:none}
  .setoda-intro-center h2{font-size:27px;line-height:1.82}
  .setoda-intro-center h2 br{display:none}
  .setoda-intro-story{padding-top:25px;margin-top:34px}
  .setoda-intro-orbit{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important}
  .setoda-intro-orbit img{aspect-ratio:4/3}
  .setoda-intro-orbit-left-top{order:2;width:82%!important;margin:70px 0 0 0}
  .setoda-intro-orbit-right-top{order:3;width:58%!important;margin:-32px 0 0 auto}
  .setoda-intro-orbit-left-bottom{order:4;width:64%!important;margin:65px 0 0 5%}
  .setoda-intro-orbit-right-bottom{order:5;width:76%!important;margin:-22px 0 0 auto}
  .setoda-values-header{width:calc(100% - 40px);padding:95px 0 75px}
  .setoda-values-stage{display:block}
  .setoda-value h3{font-size:31px}
  .setoda-value-image img{position:static;width:100%;height:100%;transform:none}
  .setoda-gallery{height:64vh;height:64dvh;min-height:430px}
  .setoda-gallery-control{width:42px;height:42px}
  .setoda-gallery-prev{left:18px}.setoda-gallery-next{right:18px}
  .setoda-reservation{padding:90px 0 105px}
  .setoda-reservation-inner{width:calc(100% - 40px)}
  .setoda-reservation-head{display:block;margin-bottom:35px}
  .setoda-reservation-head h2{margin-top:18px;font-size:40px}
  .setoda-reservation-card{grid-template-columns:1fr;gap:35px;min-height:0;padding:32px 25px}
  .setoda-reservation-copy h3{font-size:27px}
  .setoda-reservation-action{padding:24px 0 0;border-left:0;border-top:1px solid var(--setoda-line)}
  .setoda-reservation-sub{justify-content:flex-start;flex-direction:column;gap:18px}
  .setoda-reservation-sub a{justify-content:space-between}
  .setoda-footer-directory{width:calc(100% - 40px);grid-template-columns:1fr 1fr;grid-template-areas:"nav1 nav2" "social social" "letter letter";gap:48px 25px;padding:75px 0 70px}
  .setoda-footer-nav a,.setoda-footer-social a{font-size:13px}
  .setoda-footer-letter{margin-top:5px}
  .setoda-footer-letter figure{height:210px}
  .setoda-footer-phrase{height:390px}
  .setoda-footer-phrase span{font-size:max(var(--fab-font-minimum), clamp(25px,7vw,34px))}
  .setoda-footer-phrase-one{left:20px;top:18%}
  .setoda-footer-phrase-two{top:44%}
  .setoda-footer-phrase-three{right:20px;top:70%}
  .setoda-footer-bottom{width:calc(100% - 40px);flex-direction:column}
  .setoda-footer-bottom div{flex-direction:column;gap:10px}
}

@media(max-width:430px){
  .setoda-footer-directory{grid-template-columns:1fr;grid-template-areas:"nav1" "nav2" "social" "letter"}
  .setoda-footer-phrase span{font-size:24px;letter-spacing:.035em}
}

@media(prefers-reduced-motion:reduce){
  .setoda-value-image img{transform:none!important;transition:none!important}
  .setoda-gallery-slide{transform:none!important;transition:opacity .3s ease,visibility .3s ease!important}
}




.setoda-intro-center{width:min(60%,900px)}
.setoda-intro h2{font-size:max(var(--fab-font-minimum), clamp(28px,3vw,44px));line-height:1.78}
.setoda-intro-orbit{z-index:1}
.setoda-intro-orbit-left-top{width:23%;height:29%}
.setoda-intro-orbit-right-top{width:18%;height:23%}
.setoda-intro-orbit-left-bottom{left:4%;width:16%;height:23%}
.setoda-intro-orbit-right-bottom{right:1.5%;width:18%;height:26%}

.setoda-footer-directory>.setoda-footer-nav,
.setoda-footer-directory>.setoda-footer-social,
.setoda-footer-directory>.setoda-footer-letter{grid-area:auto}
.setoda-footer-directory>.setoda-footer-letter{display:block}
.setoda-footer-phrase{width:100%;max-width:none;margin:0;padding:0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.13)}

@media(max-width:1040px){
  .setoda-footer-directory>.setoda-footer-nav-primary{grid-area:nav1}
  .setoda-footer-directory>.setoda-footer-nav-secondary{grid-area:nav2}
  .setoda-footer-directory>.setoda-footer-social{grid-area:social}
  .setoda-footer-directory>.setoda-footer-letter{grid-area:letter}
}
@media(max-width:760px){
  .setoda-intro-center{width:100%}
  .setoda-intro h2{font-size:27px}
}






.setoda-intro{padding:clamp(120px,12vw,185px) 0 clamp(125px,13vw,205px)}
.setoda-intro-shell{width:min(calc(100% - (var(--pad) * 2)),var(--setoda-frame));margin-inline:auto}
.setoda-intro-composition{position:relative;min-height:clamp(840px,67vw,1050px)}
.setoda-intro-center{
  position:absolute;z-index:3;left:50%;top:49%;
  width:min(43vw,640px);max-width:640px;
  text-align:center;transform:translate(-50%,-50%);
}
.setoda-intro-center.reveal{transform:translate(-50%,calc(-50% + 38px))}
.setoda-intro-center.reveal.in{transform:translate(-50%,-50%)}
.setoda-intro-center h2{max-width:620px;margin-inline:auto;font-size:max(var(--fab-font-minimum), clamp(27px,2.25vw,36px));line-height:1.85}
.setoda-intro-center h2 span{display:block}
.setoda-intro-story{width:min(100%,570px);margin-top:clamp(34px,3.5vw,50px);padding-top:28px}
.setoda-intro-story p{font-size:max(var(--fab-font-minimum), clamp(14px,.9vw,15px)) !important;line-height:2.25!important}
.setoda-intro-orbit{position:absolute;margin:0;overflow:hidden;background:#d8ded3}
.setoda-intro-orbit-left{left:1.5%;top:27%;width:24%;height:43%}
.setoda-intro-orbit-right{right:2.5%;top:54%;width:17%;height:27%}
.setoda-intro-orbit img{width:100%;height:100%;object-fit:cover}


.feature-island-backdrop{display:block!important}
.feature-lead{overflow:hidden}
.feature-lead .feature-head{grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:clamp(42px,7vw,105px)}
.feature-lead .feature-head>div,.feature-lead .feature-note{grid-column:auto}
.feature-lead .section-title{font-size:max(var(--fab-font-minimum), clamp(29px,3.1vw,43px));line-height:1.56}
.feature-lead .feature-note{max-width:420px;font-size:13px;line-height:2.15}
.setoda-values{position:relative;z-index:2}
.setoda-values-stage{border-top:0}


.gallery{display:block!important;background:var(--paper)}
.gallery-head{width:min(calc(100% - (var(--pad) * 2)),var(--setoda-frame));max-width:none}
.gallery h2{font-size:max(var(--fab-font-minimum), clamp(28px,3vw,41px))}
.gallery-track{animation:galleryFlow 84s linear infinite}


.setoda-reservation-head{display:block;text-align:center;margin-bottom:clamp(42px,5vw,70px)}
.setoda-reservation-head p{margin:0 0 17px;text-align:center}
.setoda-reservation-head h2{text-align:center}


.setoda-footer-main::before,.setoda-footer-main::after{display:none!important}
.setoda-footer-bridge{position:absolute;z-index:1;left:0;top:5%;width:100%;height:82%;pointer-events:none;overflow:visible}
.setoda-footer-bridge path{fill:none;vector-effect:non-scaling-stroke;stroke:rgba(194,220,194,.13);stroke-width:1.2}
.setoda-footer-bridge .setoda-bridge-deck{stroke:rgba(194,220,194,.11)}
.setoda-footer-bridge .setoda-bridge-hangers path{stroke:rgba(194,220,194,.085);stroke-width:.8}
.setoda-footer-directory,.setoda-footer-phrase,.setoda-footer-bottom{position:relative;z-index:2}
.setoda-footer-phrase{height:clamp(330px,36vw,550px)}
.setoda-footer-phrase span{font-size:max(var(--fab-font-minimum), clamp(32px,4.25vw,66px));line-height:1.32;letter-spacing:.055em}
.setoda-footer-phrase-one{left:var(--pad);top:24%}
.setoda-footer-phrase-two{left:auto;right:var(--pad);top:58%;transform:none}

@media(max-width:1120px){
  .setoda-intro-center{width:min(51vw,590px)}
  .setoda-intro-center h2{font-size:max(var(--fab-font-minimum), clamp(27px,3vw,38px))}
  .setoda-intro-orbit-left{left:0;width:21%;height:37%}
  .setoda-intro-orbit-right{right:0;width:15%;height:24%}
  .feature-lead .feature-head{grid-template-columns:1fr;gap:30px}
}

@media(max-width:760px){
  .setoda-intro{padding-top:100px;padding-bottom:115px}
  .setoda-intro-composition{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0}
  .setoda-intro-center{position:relative;left:auto;top:auto;grid-column:1/-1;order:1;width:100%;max-width:none;transform:none;padding-bottom:35px}
  .setoda-intro-center.reveal,.setoda-intro-center.reveal.in{transform:none}
  .setoda-intro-center h2{max-width:620px;font-size:max(var(--fab-font-minimum), clamp(26px,7vw,33px));line-height:1.72;text-align:center}
  .setoda-intro-story{max-width:560px}
  .setoda-intro-orbit{position:relative;left:auto!important;right:auto!important;top:auto!important;width:auto!important}
  .setoda-intro-orbit-left{grid-column:1/2;order:2;height:58vw;margin-top:25px}
  .setoda-intro-orbit-right{grid-column:2/3;order:3;height:40vw;margin-top:78px}
  .feature-lead .feature-head{margin-bottom:36px}
  .feature-lead .feature-note{font-size:13px}
  .gallery-head{align-items:flex-start}
  .gallery-track{animation-duration:66s}
  .setoda-reservation-head p{margin-bottom:13px}
  .setoda-footer-bridge{top:14%;height:70%;width:145%;left:-22.5%}
  .setoda-footer-phrase{height:330px}
  .setoda-footer-phrase span{white-space:normal;font-size:max(var(--fab-font-minimum), clamp(27px,8.2vw,38px));line-height:1.55}
  .setoda-footer-phrase-one{left:var(--pad);right:var(--pad);top:20%}
  .setoda-footer-phrase-two{left:var(--pad);right:var(--pad);top:53%;text-align:right}
}

@media(prefers-reduced-motion:reduce){
  .gallery-track{animation:none!important}
}






.setoda-intro{padding:clamp(125px,12.5vw,195px) 0 clamp(135px,14vw,220px)}
.setoda-intro-composition{min-height:clamp(1120px,86vw,1370px)}
.setoda-intro-center{top:49%;width:min(44vw,660px);max-width:660px}
.setoda-intro-center h2{max-width:650px;font-size:max(var(--fab-font-minimum), clamp(28px,2.35vw,38px));line-height:1.82}
.setoda-intro-story{width:min(100%,620px);max-width:620px;margin-top:clamp(34px,3.5vw,52px);padding-top:30px;text-align:left}
.setoda-intro-story p{margin-bottom:1.6em!important;font-size:max(var(--fab-font-minimum), clamp(14px,.94vw,15px)) !important;line-height:2.3!important;letter-spacing:.035em!important}
.setoda-intro-orbit{z-index:1}
.setoda-intro-orbit-left-main{left:0;top:38%;width:22%;height:31%}
.setoda-intro-orbit-left-small{left:5%;top:70%;bottom:auto;width:16%;height:22%}
.setoda-intro-orbit-right-top{right:1%;top:36%;width:16%;height:21%}
.setoda-intro-orbit-right-mid{right:0;top:61%;width:21%;height:29%}
.setoda-intro-orbit-right-bottom{right:7%;top:79%;bottom:auto;width:15%;height:20%}
.setoda-intro-orbit-left-main img,.setoda-intro-orbit-left-small img,.setoda-intro-orbit-right-mid img,.setoda-intro-orbit-right-bottom img{object-position:50% 50%}
.setoda-intro-orbit-right-top img{object-position:50% 42%}


.setoda-value-thumbs{
  position:absolute;z-index:6;left:clamp(22px,2.5vw,42px);bottom:clamp(118px,13vh,168px);
  display:grid;gap:8px;justify-items:center;
}
.setoda-value-thumb{
  position:relative;display:block;width:clamp(40px,3.25vw,52px);height:clamp(40px,3.25vw,52px);
  overflow:hidden;border:1px solid rgba(255,255,255,.68);border-radius:50%;
  background:rgba(5,34,20,.35);box-shadow:0 5px 20px rgba(0,0,0,.14);
  transform:scale(.9);opacity:.66;transition:transform .5s var(--setoda-ease),opacity .5s ease,border-color .5s ease,box-shadow .5s ease;
}
.setoda-value-thumb::after{content:"";position:absolute;inset:3px;border:1px solid transparent;border-radius:inherit;transition:border-color .5s ease}
.setoda-value-thumb img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform .75s var(--setoda-ease)}
.setoda-value-thumb:hover,.setoda-value-thumb:focus-visible{opacity:1;transform:scale(1);outline:none}
.setoda-value-thumb:hover img,.setoda-value-thumb:focus-visible img{transform:scale(1.16)}
.setoda-value-thumb.is-active{opacity:1;transform:scale(1.08);border-color:#f1df6b;box-shadow:0 0 0 2px rgba(241,223,107,.26),0 9px 24px rgba(0,0,0,.2)}
.setoda-value-thumb.is-active::after{border-color:rgba(255,255,255,.78)}
.setoda-value-counter{left:clamp(22px,2.5vw,42px);top:36%}


.gallery{padding:clamp(95px,11vw,155px) 0;background:var(--paper)}
.gallery-head{display:none!important}


.setoda-about{--setoda-feature-copy-inset:max(var(--pad),clamp(40px,6vw,100px),calc(23vw - 295px))}
.setoda-about-content{left:var(--setoda-feature-copy-inset);right:var(--setoda-feature-copy-inset);bottom:clamp(45px,8vh,95px);width:auto;max-width:none}
.setoda-about-content h2,.setoda-about-content>p:not(.setoda-about-eyebrow),.setoda-about-link{max-width:580px}
.setoda-about-media{overflow:hidden}
.setoda-about-media img{
  position:absolute;left:0;top:-12%;width:100%;height:124%;animation:none!important;
  object-fit:cover;transform:translate3d(0,var(--setoda-about-parallax,0px),0) scale(1.06);
  transition:transform .12s linear;will-change:transform;
}


.setoda-footer-main{
  isolation:isolate;
  background:
    radial-gradient(ellipse at 16% 42%,rgba(72,111,83,.38) 0%,rgba(72,111,83,.18) 26%,rgba(72,111,83,0) 58%),
    radial-gradient(ellipse at 84% 82%,rgba(32,91,96,.48) 0%,rgba(32,91,96,.20) 34%,rgba(32,91,96,0) 68%),
    radial-gradient(circle at 76% 12%,rgba(211,220,184,.14) 0%,rgba(211,220,184,0) 32%),
    linear-gradient(155deg,#476f64 0%,#38645c 28%,#285a54 55%,#174d4c 78%,#0a3f43 100%);
}
.setoda-footer-main::before{
  content:"";display:block!important;position:absolute;z-index:0;inset:0;width:auto;height:auto;pointer-events:none;
  border:0;border-radius:0;transform:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
  background-size:240px 240px;background-repeat:repeat;opacity:.15;mix-blend-mode:soft-light;
}
.setoda-footer-main::after{display:none!important}
.setoda-footer-bridge{display:none!important}
.setoda-footer-directory,.setoda-footer-phrase{position:relative;z-index:2;background:transparent}
.setoda-footer-bottom{position:relative;z-index:2}

@media(max-width:1120px){
  .setoda-intro-center{width:min(53vw,620px)}
  .setoda-intro-orbit-left-main{top:40%;width:20%;height:27%}
  .setoda-intro-orbit-left-small{left:2%;top:70%;width:16%;height:19%}
  .setoda-intro-orbit-right-top{top:39%;width:15%;height:19%}
  .setoda-intro-orbit-right-mid{top:61%;width:18%;height:25%}
  .setoda-intro-orbit-right-bottom{right:3%;top:80%;width:14%;height:18%}
}

@media(max-width:760px){
  .setoda-intro-composition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0}
  .setoda-intro-center{position:relative;left:auto;top:auto;grid-column:1/-1;grid-row:1;width:100%;max-width:none;transform:none;padding-bottom:42px}
  .setoda-intro-center.reveal,.setoda-intro-center.reveal.in{transform:none}
  .setoda-intro-center h2{font-size:max(var(--fab-font-minimum), clamp(25px,6.8vw,32px));line-height:1.72}
  .setoda-intro-story{max-width:580px;text-align:left}
  .setoda-intro-story p{font-size:14px !important;line-height:2.2!important}
  .setoda-intro-orbit{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important}
  .setoda-intro-orbit-left-main{grid-column:1/-1;grid-row:2;height:68vw}
  .setoda-intro-orbit-left-small{grid-column:1;grid-row:3;height:46vw;margin-top:18px}
  .setoda-intro-orbit-right-top{grid-column:2;grid-row:3;height:58vw;margin-top:52px}
  .setoda-intro-orbit-right-mid{grid-column:1;grid-row:4;height:58vw;margin-top:4px}
  .setoda-intro-orbit-right-bottom{grid-column:2;grid-row:4;height:43vw;margin-top:55px}
  .setoda-value-thumbs{display:none}
  .setoda-about{--setoda-feature-copy-inset:var(--pad)}
  .setoda-about-content{left:var(--pad);right:var(--pad)}
  .setoda-about-media img{top:-8%;height:116%;transform:translate3d(0,var(--setoda-about-parallax,0px),0) scale(1.045)}
}

@media(prefers-reduced-motion:reduce){
  .setoda-about-media img{transform:scale(1.03)!important;transition:none!important}
  .setoda-value-thumb,.setoda-value-thumb img{transition:none!important}
}






.setoda-intro-composition{min-height:clamp(1160px,88vw,1420px)}
.setoda-intro-story{margin-top:clamp(38px,4vw,58px);padding-top:34px}
.setoda-intro-story p{margin:0 0 clamp(2.25em,3vw,3em)!important}
.setoda-intro-story p:last-child{margin-bottom:14px!important}

.setoda-intro-orbit-left-main{left:0;top:40%;width:22%;height:29%}
.setoda-intro-orbit-right-top{right:1.5%;top:41%;width:17%;height:22%}
.setoda-intro-orbit-right-mid{right:0;top:69%;width:21%;height:25%}
.setoda-intro-orbit-left-small,.setoda-intro-orbit-right-bottom{display:none!important}

@media(max-width:1120px){
  .setoda-intro-composition{min-height:clamp(1120px,96vw,1360px)}
  .setoda-intro-orbit-left-main{top:41%;width:20%;height:27%}
  .setoda-intro-orbit-right-top{top:42%;width:15%;height:20%}
  .setoda-intro-orbit-right-mid{top:70%;width:18%;height:23%}
}

@media(max-width:760px){
  .setoda-intro-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:0}
  .setoda-intro-center{padding-bottom:48px}
  .setoda-intro-story{margin-top:36px;padding-top:28px}
  .setoda-intro-story p{margin-bottom:2.45em!important}
  .setoda-intro-orbit-left-main{grid-column:1/-1;grid-row:2;height:69vw;margin-top:4px}
  .setoda-intro-orbit-right-top{grid-column:1;grid-row:3;height:49vw;margin-top:22px}
  .setoda-intro-orbit-right-mid{grid-column:2;grid-row:3;height:61vw;margin-top:70px}
}






.setoda-intro-composition{min-height:clamp(1240px,94vw,1510px)}
.setoda-intro-orbit-left-main{left:0;top:32%;width:22%;height:30%}
.setoda-intro-orbit-left-secondary-v08{left:6%;top:70%;width:15.5%;height:20.5%}
.setoda-intro-orbit-left-secondary-v08 img{object-position:50% 50%}

@media(max-width:1120px){
  .setoda-intro-composition{min-height:clamp(1190px,102vw,1430px)}
  .setoda-intro-orbit-left-main{top:34%;width:20%;height:28%}
  .setoda-intro-orbit-left-secondary-v08{left:2.5%;top:70%;width:16%;height:19%}
}

@media(max-width:760px){
  .setoda-intro-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:0}
  .setoda-intro-orbit-left-main{grid-column:1/-1;grid-row:2;height:69vw;margin-top:4px}
  .setoda-intro-orbit-left-secondary-v08{position:relative;left:auto;top:auto;width:auto;height:46vw;grid-column:1;grid-row:3;margin-top:18px}
  .setoda-intro-orbit-right-top{grid-column:2;grid-row:3;height:58vw;margin-top:54px}
  .setoda-intro-orbit-right-mid{grid-column:1/-1;grid-row:4;width:76%!important;height:58vw;margin:26px 0 0 auto}
}






.setoda-intro-center{
  width:min(39vw,580px);
  max-width:580px;
}
.setoda-intro-center h2{
  max-width:560px;
}
.setoda-intro-story{
  width:min(100%,550px);
  max-width:550px;
}


.page-index{
  background:var(--setoda-bg)!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 12px 30px rgba(72,45,18,.045)!important;
}


.setoda-footer-bridge{
  display:block!important;
  position:absolute;
  z-index:1;
  left:0;
  top:6%;
  width:100%;
  height:80%;
  pointer-events:none;
  overflow:visible;
  opacity:1;
}
.setoda-footer-bridge path{
  fill:none;
  vector-effect:non-scaling-stroke;
  stroke:rgba(226,235,218,.15);
  stroke-width:1.15;
}
.setoda-footer-bridge .setoda-bridge-deck{
  stroke:rgba(226,235,218,.12);
}
.setoda-footer-bridge .setoda-bridge-hangers path{
  stroke:rgba(226,235,218,.095);
  stroke-width:.8;
}
.setoda-footer-directory,.setoda-footer-phrase,.setoda-footer-bottom{
  position:relative;
  z-index:2;
}

@media(max-width:1120px){
  .setoda-intro-center{
    width:min(46vw,550px);
    max-width:550px;
  }
  .setoda-intro-story{
    max-width:520px;
  }
}

@media(max-width:760px){
  .setoda-intro-center{
    width:100%;
    max-width:none;
  }
  .setoda-intro-center h2,
  .setoda-intro-story{
    max-width:580px;
  }
  .page-index{
    background:var(--setoda-bg)!important;
  }
  .setoda-footer-bridge{
    left:-22.5%;
    top:14%;
    width:145%;
    height:70%;
  }
}






.setoda-intro-story p{
  font-size:max(var(--fab-font-minimum), clamp(14px,1vw,16px)) !important;
  line-height:2.3!important;
  margin-bottom:clamp(2em,2.6vw,2.6em)!important;
}
.setoda-intro-story p:last-child{margin-bottom:14px!important}

@media(max-width:760px){
  .setoda-intro-story p{
    font-size:15px !important;
    line-height:2.2!important;
    margin-bottom:2.2em!important;
  }
}






.setoda-intro-orbit{overflow:hidden}
.setoda-intro-orbit img{
  position:absolute;
  left:0;
  top:-16%;
  width:100%;
  height:132%;
  object-fit:cover;
  transform:translate3d(0,var(--setoda-for-you-parallax,0px),0) scale(1.045)!important;
  transition:transform .12s linear!important;
  will-change:transform;
}


.setoda-intro-orbit-left-main img{object-position:50% 50%}
.setoda-intro-orbit-left-secondary-v08 img{object-position:50% 50%}
.setoda-intro-orbit-right-top img{object-position:50% 42%}
.setoda-intro-orbit-right-mid img{object-position:50% 50%}

@media(max-width:760px){
  .setoda-intro-orbit img{top:-12%;height:124%;transform:translate3d(0,var(--setoda-for-you-parallax,0px),0) scale(1.035)!important}
}

@media(prefers-reduced-motion:reduce){
  .setoda-intro-orbit img{top:0;height:100%;transform:scale(1.02)!important;transition:none!important}
}



.header .logo{
  justify-self:start;
  position:relative;
  display:block;
  width:130px!important;
  max-width:130px;
  line-height:0;
}
.header .logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  transition:opacity .55s var(--ease),visibility .55s var(--ease);
}
.header .logo-light{opacity:1;visibility:visible}
.header .logo-dark{position:absolute;inset:0;opacity:0;visibility:hidden}
.header.scrolled .logo-light{opacity:0;visibility:hidden}
.header.scrolled .logo-dark{opacity:1;visibility:visible}


.setoda-intro-orbit{overflow:hidden!important}
.setoda-intro-orbit img{
  position:absolute!important;
  left:0!important;
  top:-55%!important;
  width:100%!important;
  height:210%!important;
  max-width:none!important;
  object-fit:cover!important;
  will-change:transform;
  transform:translate3d(0,var(--setoda-for-you-parallax,0px),0) scale(1.035)!important;
  transition:none!important;
}
.setoda-intro-orbit-left-main img,
.setoda-intro-orbit-left-secondary-v08 img,
.setoda-intro-orbit-right-mid img{object-position:50% 50%!important}
.setoda-intro-orbit-right-top img{object-position:50% 42%!important}

@media(max-width:760px){
  .header .logo{width:118px!important;max-width:118px}
  .setoda-intro-orbit img{
    top:-38%!important;
    height:176%!important;
    transform:translate3d(0,var(--setoda-for-you-parallax,0px),0) scale(1.025)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .setoda-intro-orbit img{
    top:0!important;
    height:100%!important;
    transform:scale(1.02)!important;
  }
}




.setoda-intro-orbit{
  overflow:hidden!important;
  will-change:transform;
  transform:translate3d(0,var(--setoda-for-you-frame-y,0px),0)!important;
  transition:opacity 1.45s var(--ease),transform .08s linear!important;
}
.setoda-intro-orbit.reveal{
  transform:translate3d(0,calc(var(--setoda-for-you-frame-y,0px) + 38px),0)!important;
}
.setoda-intro-orbit.reveal.in{
  transform:translate3d(0,var(--setoda-for-you-frame-y,0px),0)!important;
}
.setoda-intro-orbit img{
  position:absolute!important;
  left:0!important;
  top:-40%!important;
  width:100%!important;
  height:180%!important;
  max-width:none!important;
  object-fit:cover!important;
  will-change:transform;
  transform:translate3d(0,var(--setoda-for-you-image-y,0px),0) scale(1.045)!important;
  transition:transform .08s linear!important;
}
@media(max-width:760px){
  .setoda-intro-orbit{
    transform:translate3d(0,var(--setoda-for-you-frame-y,0px),0)!important;
  }
  .setoda-intro-orbit.reveal{
    transform:translate3d(0,calc(var(--setoda-for-you-frame-y,0px) + 26px),0)!important;
  }
  .setoda-intro-orbit.reveal.in{
    transform:translate3d(0,var(--setoda-for-you-frame-y,0px),0)!important;
  }
  .setoda-intro-orbit img{
    top:-28%!important;
    height:156%!important;
    transform:translate3d(0,var(--setoda-for-you-image-y,0px),0) scale(1.03)!important;
  }
}




.setoda-intro-orbit{
  --setoda-for-you-bg-y:0px;
  --setoda-for-you-bg-image:none;
  --setoda-for-you-bg-position:center center;
  overflow:hidden!important;
  background:#d8ded3!important;
  transform:none!important;
  will-change:auto!important;
  isolation:isolate;
}
.setoda-intro-orbit.reveal,
.setoda-intro-orbit.reveal.in{
  transform:none!important;
  transition:opacity 1.45s var(--ease)!important;
}
.setoda-intro-orbit::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:-24%;
  bottom:-24%;
  background-image:var(--setoda-for-you-bg-image);
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:var(--setoda-for-you-bg-position);
  transform:translate3d(0,var(--setoda-for-you-bg-y),0) scale(1.002);
  transform-origin:center;
  will-change:transform;
  pointer-events:none;
}
.setoda-intro-orbit img{
  display:none!important;
}
.setoda-intro-orbit-left-main{--setoda-for-you-bg-position:center center}
.setoda-intro-orbit-left-secondary-v08{--setoda-for-you-bg-position:center center}
.setoda-intro-orbit-right-top{--setoda-for-you-bg-position:center 42%}
.setoda-intro-orbit-right-mid{--setoda-for-you-bg-position:center center}

@media(max-width:760px){
  .setoda-intro-orbit::before{
    top:-18%;
    bottom:-18%;
    background-size:auto 100%;
    transform:translate3d(0,var(--setoda-for-you-bg-y),0) scale(1.002);
  }
}
@media(prefers-reduced-motion:reduce){
  .setoda-intro-orbit::before{
    transform:scale(1.02)!important;
  }
}






.news{
  background:#f4f0e7;
}
.setoda-intro{
  background:linear-gradient(180deg,#f4f0e7 0%,#f7f3ea 12%,#f7f3ea 88%,#f0eee5 100%)!important;
}
.feature-lead{
  background:linear-gradient(180deg,#f0eee5 0%,#efede3 100%);
}
.setoda-values,
.setoda-values-copy,
.setoda-value{
  background:#ebe9df!important;
}
.stay-support{
  background:linear-gradient(180deg,#ebe9df 0%,#f3efe6 12%,#f3efe6 100%);
}
.setoda-reservation{
  background:#eee9dd!important;
}


.island-ink-reveal{
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,13px,0);
  text-shadow:0 0 11px currentColor;
  transition:
    opacity 1.8s cubic-bezier(.22,.61,.36,1),
    filter 2.05s cubic-bezier(.22,.61,.36,1),
    transform 1.95s cubic-bezier(.22,.61,.36,1),
    text-shadow 2.1s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--island-ink-delay,0ms);
  will-change:opacity,filter,transform;
}
.island-ink-reveal.is-visible{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0);
  text-shadow:0 0 0 transparent;
}


.island-image-reveal{
  overflow:hidden!important;
}
.island-image-reveal > img{
  clip-path:inset(100% 0 0 0);
  filter:blur(10px);
  transform:scale(1.065);
  transform-origin:center bottom;
  transition:
    clip-path 2.15s cubic-bezier(.22,.61,.36,1),
    filter 2.25s cubic-bezier(.22,.61,.36,1),
    transform 2.45s cubic-bezier(.22,.61,.36,1)!important;
  transition-delay:var(--island-image-delay,0ms)!important;
  will-change:clip-path,filter,transform;
}
.island-image-reveal.is-visible > img{
  clip-path:inset(0 0 0 0);
  filter:blur(0);
  transform:scale(1);
}
.feature-card.island-image-reveal.is-visible:hover > img{
  transform:scale(1.04);
}


.setoda-intro-orbit::before{
  clip-path:inset(100% 0 0 0);
  filter:blur(11px);
  transform-origin:center bottom;
  transition:
    clip-path 2.25s cubic-bezier(.22,.61,.36,1),
    filter 2.35s cubic-bezier(.22,.61,.36,1)!important;
  transition-delay:var(--delay,0s)!important;
}
.setoda-intro-orbit.in::before{
  clip-path:inset(0 0 0 0);
  filter:blur(0);
}
.setoda-intro-orbit::after{
  content:attr(data-island-time) "  /  " attr(data-island-caption);
  position:absolute;
  z-index:2;
  left:12px;
  bottom:10px;
  color:rgba(255,255,255,.92);
  font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);
  letter-spacing:.16em;
  text-shadow:0 1px 12px rgba(0,0,0,.34);
  opacity:0;
  transform:translateY(7px);
  transition:opacity 1.2s ease 1.25s,transform 1.4s var(--setoda-ease) 1.25s;
  pointer-events:none;
}
.setoda-intro-orbit.in::after{
  opacity:1;
  transform:none;
}


.setoda-value-image{
  opacity:0!important;
  visibility:hidden!important;
  filter:blur(5px) saturate(.9);
  transform:scale(1.025)!important;
  transition:
    opacity 1.8s ease,
    filter 1.95s ease,
    transform 4.6s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 1.8s!important;
  will-change:opacity,filter,transform;
}
.setoda-value-image.is-active{
  opacity:1!important;
  visibility:visible!important;
  filter:blur(0) saturate(1);
  transform:scale(1)!important;
  transition-delay:0s!important;
}
.setoda-value-image img{
  transform:translate3d(0,var(--setoda-parallax-y,0px),0) scale(1.045)!important;
  transition:transform 8s cubic-bezier(.22,.61,.36,1)!important;
}
.setoda-value-image.is-active img{
  transform:translate3d(0,var(--setoda-parallax-y,0px),0) scale(1.075)!important;
}
.setoda-value-image figcaption{
  display:flex;
  align-items:flex-end;
  gap:12px;
}
.setoda-value-image figcaption small{
  display:block;
  margin-left:auto;
  color:rgba(255,255,255,.72);
  font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);
  letter-spacing:.16em;
}


.setoda-island-cartography{
  position:absolute;
  z-index:0;
  left:50%;
  bottom:2.5%;
  width:min(31vw,430px);
  color:var(--setoda-green-deep);
  transform:translateX(-50%) rotate(-2deg);
  pointer-events:none;
  opacity:.105;
}
.setoda-island-cartography svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.setoda-island-contour-line,
.setoda-island-contour-inner{
  fill:none;
  stroke:currentColor;
  vector-effect:non-scaling-stroke;
}
.setoda-island-contour-line{
  stroke-width:1.05;
  stroke-dasharray:1100;
  stroke-dashoffset:1100;
  transition:stroke-dashoffset 4.8s cubic-bezier(.22,.61,.36,1);
}
.setoda-island-contour-inner{
  stroke-width:.55;
  stroke-dasharray:420;
  stroke-dashoffset:420;
  transition:stroke-dashoffset 4.2s cubic-bezier(.22,.61,.36,1) .5s;
}
.setoda-intro.is-cartography-visible .setoda-island-contour-line,
.setoda-intro.is-cartography-visible .setoda-island-contour-inner{
  stroke-dashoffset:0;
}
.setoda-island-coordinate{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:-8px;
  padding-top:11px;
  border-top:1px solid currentColor;
  font-family:var(--setoda-sans);
  line-height:1.4;
  letter-spacing:.13em;
}
.setoda-island-coordinate span{font-size:var(--fab-font-minimum)}
.setoda-island-coordinate strong{font-size:var(--fab-font-minimum);font-weight:500;white-space:nowrap}

@media(max-width:760px){
  .island-ink-reveal{filter:blur(6px);transform:translate3d(0,9px,0)}
  .setoda-intro-orbit::after{left:9px;bottom:8px;font-size:var(--fab-font-minimum);letter-spacing:.12em}
  .setoda-island-cartography{position:relative;left:auto;bottom:auto;grid-column:1/-1;grid-row:5;width:70%;margin:68px auto 0;transform:rotate(-2deg);opacity:.11}
  .setoda-value-image figcaption small{display:none}
}

@media(prefers-reduced-motion:reduce){
  .island-ink-reveal,
  .island-ink-reveal.is-visible{
    opacity:1!important;filter:none!important;transform:none!important;text-shadow:none!important;
  }
  .island-image-reveal > img,
  .island-image-reveal.is-visible > img,
  .setoda-intro-orbit::before,
  .setoda-intro-orbit.in::before{
    clip-path:none!important;filter:none!important;transform:none!important;transition:none!important;
  }
  .setoda-value-image,.setoda-value-image.is-active{filter:none!important;transition:none!important}
  .setoda-island-contour-line,.setoda-island-contour-inner{stroke-dashoffset:0!important;transition:none!important}
}






.reveal-image,
.reveal-image.in,
.island-image-reveal,
.island-image-reveal.is-visible{
  opacity:1!important;
  transform:none!important;
}
.reveal-image img,
.reveal-image.in img,
.island-image-reveal > img,
.island-image-reveal.is-visible > img{
  clip-path:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  -webkit-mask-position:initial!important;
  mask-position:initial!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transition:transform .9s var(--ease)!important;
}
.feature-card:hover img{
  transform:scale(1.035)!important;
}


.setoda-intro-orbit::before,
.setoda-intro-orbit.in::before{
  clip-path:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  opacity:1!important;
  filter:none!important;
  transition:transform .12s linear!important;
}


.setoda-island-cartography{display:none!important}
.setoda-island-location-note{
  position:absolute;
  z-index:0;
  left:50%;
  bottom:3.3%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px,2vw,30px);
  color:var(--setoda-green-deep);
  font-family:var(--setoda-sans);
  line-height:1.4;
  letter-spacing:.15em;
  opacity:.34;
  transform:translateX(-50%);
  white-space:nowrap;
  pointer-events:none;
}
.setoda-island-location-note span{font-size:var(--fab-font-minimum)}
.setoda-island-location-note strong{font-size:var(--fab-font-minimum);font-weight:500}


.news-row{
  padding-left:4px;
  padding-right:4px;
  transition:padding .65s var(--ease),background .65s var(--ease)!important;
}
.news-row:hover{
  padding-left:16px!important;
  padding-right:16px!important;
  background:rgba(255,253,248,.52)!important;
}
.news-circle{
  transition:border-color .55s var(--ease),background .55s var(--ease),color .55s var(--ease);
}
.news-row:hover .news-circle{
  background:transparent;
  color:var(--brown);
}

@media(max-width:760px){
  .setoda-island-location-note{
    position:relative;
    left:auto;
    bottom:auto;
    grid-column:1/-1;
    grid-row:5;
    flex-wrap:wrap;
    gap:7px 14px;
    width:100%;
    margin:52px auto 0;
    transform:none;
    white-space:normal;
    text-align:center;
  }
  .news-row{padding-left:0;padding-right:0}
}

@media(prefers-reduced-motion:reduce){
  .reveal-image img,
  .island-image-reveal > img,
  .setoda-intro-orbit::before{
    transition:none!important;
  }
}






.news-row{
  grid-template-columns:112px minmax(0,1fr) 28px!important;
  gap:20px!important;
}
.news-row time{grid-column:1!important;grid-row:1!important}
.news-row-title{grid-column:2!important;grid-row:1!important;min-width:0}
.news-row .news-circle{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end;
}
.news-more{flex-direction:row!important}
.news-more .news-circle{order:2}


.setoda-intro-orbit::before{display:none!important}
.setoda-intro-orbit{
  contain:paint;
  transform:none!important;
  will-change:auto!important;
}
.setoda-intro-parallax-media{
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:-24%;
  bottom:-24%;
  background-image:var(--setoda-for-you-layer-image);
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:var(--setoda-for-you-bg-position,center center);
  transform:translate3d(0,0,0);
  transform-origin:center;
  backface-visibility:hidden;
  will-change:transform;
  pointer-events:none;
}
.setoda-intro-orbit::after{z-index:2}


.setoda-value h3{
  font-size:max(var(--fab-font-minimum), clamp(28px,2.35vw,38px)) !important;
  line-height:1.82!important;
  letter-spacing:.035em!important;
  margin-bottom:clamp(30px,4vh,46px)!important;
}

@media(max-width:760px){
  .news-row{
    grid-template-columns:minmax(0,1fr) 24px!important;
    gap:8px 14px!important;
  }
  .news-row time{grid-column:1!important;grid-row:1!important}
  .news-row-title{grid-column:1!important;grid-row:2!important}
  .news-row .news-circle{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center;
  }
  .setoda-intro-parallax-media{top:-18%;bottom:-18%}
  .setoda-value h3{
    font-size:max(var(--fab-font-minimum), clamp(25px,6.8vw,32px)) !important;
    line-height:1.72!important;
    margin-bottom:30px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .setoda-intro-parallax-media{
    transform:translate3d(0,0,0)!important;
    will-change:auto;
  }
}




.skip-link{position:fixed;z-index:1000;left:16px;top:12px;padding:10px 14px;background:#fffdf8;color:#482d12;border:1px solid rgba(72,45,18,.28);transform:translateY(-160%);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid #d2b451;outline-offset:4px}
main:focus{outline:none}

.quick-booking{position:relative;z-index:6;background:#f7f6f2;border-bottom:1px solid rgba(45,36,29,.18)}
.quick-booking-form{width:100%;display:grid;grid-template-columns:minmax(300px,1.75fr) repeat(3,minmax(138px,.72fr)) minmax(160px,.75fr) minmax(220px,1fr);align-items:stretch;min-height:136px}
.quick-booking-field{position:relative;display:grid;grid-template-columns:auto minmax(58px,1fr);align-items:center;gap:18px;margin:0 14px;padding:29px 0 18px;border-bottom:2px solid #38322e}
.quick-booking-field label{font:500 max(var(--fab-font-minimum), clamp(15px,1.25vw,22px))/1.4 var(--sans);letter-spacing:.05em;white-space:nowrap;color:#1f1b18}
.quick-booking-field input,.quick-booking-field select{min-width:0;width:100%;border:0;background:transparent;color:#090807;font:400 max(var(--fab-font-minimum), clamp(20px,2.15vw,40px))/1.15 var(--sans);letter-spacing:-.025em;appearance:none;outline:0}
.quick-booking-field:not(.quick-booking-date)::after{content:"";position:absolute;right:7px;top:54%;width:11px;height:11px;border-right:2px solid #28231f;border-bottom:2px solid #28231f;transform:translateY(-50%) rotate(45deg);pointer-events:none}
.quick-booking-date input{font-size:max(var(--fab-font-minimum), clamp(21px,2.2vw,39px))}
.quick-booking-date input::-webkit-calendar-picker-indicator{width:25px;height:25px;margin-left:8px;opacity:.78;cursor:pointer}
.quick-booking-links{display:grid;align-content:center;gap:18px;padding:18px 26px}
.quick-booking-links a{font:500 max(var(--fab-font-minimum), clamp(14px,1.2vw,20px))/1.35 var(--sans);letter-spacing:.05em;text-underline-offset:5px}
.quick-booking-links a:hover{text-decoration:underline}
.quick-booking-submit{display:flex;align-items:center;justify-content:center;gap:24px;border:0;background:#292624;color:#fff;cursor:pointer;font:600 max(var(--fab-font-minimum), clamp(16px,1.5vw,24px))/1.3 var(--sans);letter-spacing:.05em;transition:background .45s var(--ease),color .45s var(--ease)}
.quick-booking-submit:hover{background:#482d12;color:#fffdf8}
.quick-booking-search-icon{position:relative;width:30px;height:30px;border:2px solid currentColor;border-radius:50%}
.quick-booking-search-icon::after{content:"";position:absolute;width:14px;height:2px;right:-10px;bottom:-5px;background:currentColor;transform:rotate(48deg);transform-origin:left center}

.faq-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.faq-mini-grid>div{background:var(--paper-light);padding:24px 26px}
.faq-mini-grid dt{margin:0 0 8px;color:var(--brown);font:500 14px/1.75 var(--serif);letter-spacing:.055em}
.faq-mini-grid dd{margin:0;color:var(--brown-soft);font:400 13px/2 var(--serif)}
.support-consult-link{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 13px/1.5 var(--sans);letter-spacing:.08em}
.support-consult-link i{font-style:normal;transition:transform .35s ease}
.support-consult-link:hover i{transform:translateX(6px)}
.support-accordion-panel[aria-hidden="true"]{visibility:hidden}
.support-accordion-panel[aria-hidden="false"]{visibility:visible}

.gallery-viewport:focus-visible{outline-offset:-6px}
.setoda-values-visual{contain:layout paint}
.setoda-intro-parallax-media,.setoda-about-media img,.setoda-value-image{backface-visibility:hidden;transform-style:preserve-3d}
.news,.setoda-intro,.feature-section,.stay-support,.setoda-about,.gallery,.setoda-reservation{content-visibility:auto;contain-intrinsic-size:900px}
.hero,.quick-booking{content-visibility:visible}

@media(max-width:1180px){
  .quick-booking-form{grid-template-columns:1.55fr repeat(3,.72fr) .78fr 1fr}
  .quick-booking-field{grid-template-columns:1fr;gap:7px;padding-top:23px;margin-inline:10px}
  .quick-booking-field label{font-size:14px}
  .quick-booking-field input,.quick-booking-field select{font-size:22px}
  .quick-booking-links{padding-inline:16px}
}
@media(max-width:860px){
  .quick-booking-form{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;padding:18px 20px 20px}
  .quick-booking-field{margin:0;padding:16px 14px 13px;border-bottom:1px solid rgba(45,36,29,.38)}
  .quick-booking-date{grid-column:1/-1}
  .quick-booking-date input{font-size:25px}
  .quick-booking-links{grid-column:1;display:flex;flex-wrap:wrap;gap:10px 20px;padding:20px 14px}
  .quick-booking-submit{grid-column:2;min-height:70px}
  .faq-mini-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .quick-booking-form{grid-template-columns:1fr 1fr;padding:14px}
  .quick-booking-field{padding-inline:8px}
  .quick-booking-field:nth-of-type(4){grid-column:1/-1}
  .quick-booking-links,.quick-booking-submit{grid-column:1/-1}
  .quick-booking-links{justify-content:space-between;padding:16px 8px}
  .quick-booking-submit{min-height:66px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}



.quick-booking{
  position:relative;
  z-index:6;
  padding:clamp(68px,7.6vw,116px) var(--pad) clamp(34px,4.5vw,70px);
  background:transparent;
  border:0;
}
.quick-booking-form{
  width:min(100%,var(--max));
  min-height:104px;
  margin-inline:auto;
  grid-template-columns:minmax(270px,1.6fr) repeat(3,minmax(118px,.68fr)) minmax(138px,.72fr) minmax(190px,.92fr);
  background:transparent;
  color:var(--ink);
}
.quick-booking-field{
  grid-template-columns:auto minmax(48px,1fr);
  gap:14px;
  margin:0 12px;
  padding:20px 0 14px;
  border-bottom:1px solid var(--line);
}
.quick-booking-field label{
  color:var(--brown);
  font:500 max(var(--fab-font-minimum), clamp(12px,.78vw,14px))/1.5 var(--sans);
  letter-spacing:.11em;
}
.quick-booking-field input,
.quick-booking-field select{
  color:var(--ink);
  font:400 max(var(--fab-font-minimum), clamp(15px,1.15vw,19px))/1.45 var(--serif);
  letter-spacing:.025em;
}
.quick-booking-date input{font-size:max(var(--fab-font-minimum), clamp(16px,1.25vw,20px))}
.quick-booking-field:not(.quick-booking-date)::after{
  right:4px;
  top:53%;
  width:8px;
  height:8px;
  border-width:0 1px 1px 0;
  border-style:solid;
  border-color:var(--brown-soft);
}
.quick-booking-date input::-webkit-calendar-picker-indicator{
  width:18px;
  height:18px;
  margin-left:4px;
  opacity:.62;
}
.quick-booking-links{gap:10px;padding:14px 18px}
.quick-booking-links a{
  color:var(--brown);
  font:500 max(var(--fab-font-minimum), clamp(11px,.78vw,13px))/1.55 var(--sans);
  letter-spacing:.1em;
}
.quick-booking-submit{
  gap:16px;
  min-height:74px;
  align-self:center;
  background:var(--brown);
  color:var(--white);
  font:500 max(var(--fab-font-minimum), clamp(12px,.9vw,14px))/1.4 var(--sans);
  letter-spacing:.12em;
}
.quick-booking-submit:hover{background:var(--green);color:var(--white)}
.quick-booking-search-icon{width:21px;height:21px;border-width:1px}
.quick-booking-search-icon::after{width:10px;height:1px;right:-7px;bottom:-3px}

@media(max-width:1180px){
  .quick-booking{padding-top:clamp(58px,7vw,86px)}
  .quick-booking-form{grid-template-columns:1.45fr repeat(3,.68fr) .72fr .92fr}
  .quick-booking-field{grid-template-columns:1fr;gap:5px;padding-top:17px;margin-inline:8px}
  .quick-booking-field label{font-size:11px}
  .quick-booking-field input,.quick-booking-field select{font-size:16px}
  .quick-booking-links{padding-inline:12px}
}
@media(max-width:860px){
  .quick-booking{padding:58px var(--pad) 36px}
  .quick-booking-form{width:min(100%,var(--max));grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
  .quick-booking-field{margin:0;padding:15px 12px 12px}
  .quick-booking-date{grid-column:1/-1}
  .quick-booking-date input{font-size:18px}
  .quick-booking-links{padding:18px 12px}
  .quick-booking-submit{min-height:62px}
}
@media(max-width:560px){
  .quick-booking{padding:48px var(--pad) 26px}
  .quick-booking-form{grid-template-columns:1fr 1fr;padding:0}
  .quick-booking-field{padding-inline:7px}
  .quick-booking-field:nth-of-type(4){grid-column:1/-1}
  .quick-booking-links,.quick-booking-submit{grid-column:1/-1}
  .quick-booking-links{justify-content:space-between;padding:15px 7px}
  .quick-booking-submit{min-height:60px}
}




.fab-detail-link{
  --fab-link-line-rest:32px;
  --fab-link-line-hover:56px;
  --fab-link-arrow-travel:4px;
  --fab-link-lift:-1px;
  --fab-link-ease:var(--setoda-ease,var(--ease));
  position:relative;
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:12px!important;
  width:max-content;
  max-width:100%;
  padding-bottom:8px!important;
  border:0!important;
  color:inherit;
  transform:translate3d(0,0,0);
  transition:
    color .72s var(--fab-link-ease),
    transform .72s var(--fab-link-ease)!important;
}
.fab-detail-link > span:first-child{
  order:1;
  min-width:0;
}
.fab-detail-link::after{
  content:""!important;
  order:2;
  flex:0 0 auto;
  width:var(--fab-link-line-rest)!important;
  height:1px!important;
  border:0!important;
  background:currentColor!important;
  opacity:.72;
  transform:none!important;
  transform-origin:left center;
  transition:
    width .84s var(--fab-link-ease),
    opacity .72s var(--fab-link-ease)!important;
}
.fab-detail-link > i,
.fab-detail-link > .news-circle{
  order:3!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:currentColor!important;
  font:400 14px/1 var(--sans) !important;
  font-style:normal!important;
  opacity:.9;
  transform:translate3d(0,0,0)!important;
  transition:
    transform .84s var(--fab-link-ease),
    opacity .72s var(--fab-link-ease),
    color .72s var(--fab-link-ease)!important;
}
.fab-detail-link:hover,
.fab-detail-link:focus-visible{
  transform:translate3d(0,var(--fab-link-lift),0);
  color:var(--lemon);
}
.fab-detail-link:hover::after,
.fab-detail-link:focus-visible::after{
  width:var(--fab-link-line-hover)!important;
  opacity:1;
}
.fab-detail-link:hover > i,
.fab-detail-link:hover > .news-circle,
.fab-detail-link:focus-visible > i,
.fab-detail-link:focus-visible > .news-circle{
  transform:translate3d(var(--fab-link-arrow-travel),0,0)!important;
  opacity:1;
}
.fab-detail-link:focus-visible{
  outline:1px solid currentColor;
  outline-offset:7px;
}


.news-more{color:var(--brown)!important}
.setoda-text-link{color:var(--setoda-green)!important}
.setoda-about-link{color:#fff!important}
.setoda-reservation-sub .fab-detail-link{color:var(--setoda-green-deep)!important}
.news-more:hover,.news-more:focus-visible,
.setoda-text-link:hover,.setoda-text-link:focus-visible,
.setoda-reservation-sub .fab-detail-link:hover,
.setoda-reservation-sub .fab-detail-link:focus-visible{color:var(--lemon)!important}
.setoda-about-link:hover,.setoda-about-link:focus-visible{color:#e5d66e!important}

@media(max-width:760px){
  .fab-detail-link{
    --fab-link-line-rest:26px;
    --fab-link-line-hover:44px;
    gap:10px!important;
  }
}




#international-guests{scroll-margin-top:96px}
.international-header-link .nav-icon svg{stroke-width:1.35}

.news-row-main{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(10px,1.2vw,18px);
}
.news-row-main .news-row-title{
  grid-column:auto!important;
  grid-row:auto!important;
  min-width:0;
  flex:0 1 auto;
}
.news-category-tag{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 10px 3px;
  border:1px solid rgba(72,45,18,.22);
  border-radius:999px;
  color:var(--brown-soft);
  background:rgba(255,253,248,.24);
  font:500 var(--fab-font-minimum)/1.35 var(--sans);
  letter-spacing:.09em;
  white-space:nowrap;
  transition:color .55s var(--ease),border-color .55s var(--ease),background .55s var(--ease);
}
.news-row:hover .news-category-tag,
.news-row:focus-visible .news-category-tag{
  color:var(--brown);
  border-color:rgba(72,45,18,.38);
  background:rgba(255,253,248,.72);
}

.support-accordion-item-international .support-accordion-trigger strong::after{
  content:"FOR INTERNATIONAL GUESTS";
  display:block;
  margin-top:4px;
  color:var(--brown-soft);
  font:500 var(--fab-font-minimum)/1.4 var(--sans);
  letter-spacing:.15em;
}
.international-guide-head{
  display:grid;
  grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);
  gap:clamp(22px,4vw,64px);
  align-items:start;
  margin-bottom:clamp(30px,4vw,48px);
  padding-bottom:clamp(24px,3vw,38px);
  border-bottom:1px solid var(--line);
}
.international-guide-head span{
  color:var(--brown);
  font:500 11px/1.6 var(--sans);
  letter-spacing:.18em;
}
.international-guide-head p{
  max-width:660px;
  margin:0;
  color:var(--brown-soft);
  font:400 max(var(--fab-font-minimum), clamp(14px,1vw,15px))/2 var(--serif);
  letter-spacing:.035em;
}
.international-detail-grid dt small{
  display:block;
  margin-top:4px;
  color:var(--brown-soft);
  font:500 11px/1.5 var(--serif);
  letter-spacing:.04em;
}
.international-consult-link{margin-top:clamp(30px,4vw,48px)}

@media(max-width:1120px){
  .international-header-link span:last-child{max-width:92px;white-space:normal;line-height:1.35}
}
@media(max-width:760px){
  .news-row-main{
    grid-column:1!important;
    grid-row:2!important;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:8px 10px;
  }
  .news-row-main .news-row-title{flex:1 1 100%}
  .news-category-tag{min-height:23px;padding:3px 9px 2px;font-size:var(--fab-font-minimum)}
  .international-guide-head{grid-template-columns:1fr;gap:12px}
}

.support-text-link{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}.support-text-link:hover{opacity:.68}


/* v44 style block 2: fab-v25-header-news-refinements */


.header-link{
  position:relative;
  isolation:isolate;
  transition:transform .72s var(--ease),opacity .72s var(--ease),color .72s var(--ease);
}
.header-link::after{
  content:"";
  position:absolute;
  left:9px;
  right:9px;
  bottom:5px;
  height:1px;
  background:currentColor;
  opacity:.72;
  transform:scaleX(0);
  transform-origin:right center;
  transition:transform .82s var(--ease),opacity .72s var(--ease);
  pointer-events:none;
}
.header-link > span:last-child{
  display:inline-block;
  transition:transform .72s var(--ease),opacity .72s var(--ease);
}
.header-link .nav-icon{
  transition:transform .72s var(--ease),opacity .72s var(--ease);
}
@media(hover:hover){
  .header-link:hover,
  .header-link:focus-visible{transform:translateY(-1px)}
  .header-link:hover::after,
  .header-link:focus-visible::after{transform:scaleX(1);transform-origin:left center;opacity:1}
  .header-link:hover > span:last-child,
  .header-link:focus-visible > span:last-child{transform:translateX(2px)}
  .header-link:hover .nav-icon,
  .header-link:focus-visible .nav-icon{transform:translateY(-1px) scale(1.035)}

  .menu-panel nav > a .menu-label,
  .menu-utility-links a > span{
    display:inline-block;
    transition:transform .78s var(--ease),color .78s var(--ease),opacity .78s var(--ease);
  }
  .menu-panel nav > a i,
  .menu-utility-links a small{
    transition:transform .78s var(--ease),color .78s var(--ease),opacity .78s var(--ease);
  }
  .menu-panel nav > a:hover .menu-label,
  .menu-panel nav > a:focus-visible .menu-label,
  .menu-utility-links a:hover > span,
  .menu-utility-links a:focus-visible > span{transform:translateX(6px);color:var(--lemon)}
  .menu-panel nav > a:hover i,
  .menu-panel nav > a:focus-visible i{transform:translateX(5px)}
  .menu-utility-links a:hover small,
  .menu-utility-links a:focus-visible small{transform:translateX(3px);opacity:1}
}


.news-row-main{
  display:grid!important;
  grid-template-columns:clamp(128px,11vw,164px) minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:clamp(14px,1.8vw,28px)!important;
}
.news-row-main .news-category-tag{
  grid-column:1;
  justify-self:start;
  max-width:100%;
}
.news-row-main .news-row-title{
  grid-column:2!important;
  width:100%;
}
.news-row[hidden]{display:none!important}

@media(max-width:760px){
  .news-row-main{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .news-category-tag{
    min-height:22px;
    padding:3px 7px 2px;
    font-size:var(--fab-font-minimum);
    letter-spacing:.055em;
  }
}

@media(prefers-reduced-motion:reduce){
  .header-link,
  .header-link::after,
  .header-link > span:last-child,
  .header-link .nav-icon,
  .menu-panel nav > a .menu-label,
  .menu-panel nav > a i,
  .menu-utility-links a > span,
  .menu-utility-links a small{transition:none!important}
}


/* v44 style block 3: fab-rounded-content-images-v26 */


:root{
  --fab-content-image-radius: 10px;
}


.setoda-intro-orbit,
.feature-card,
.setoda-value-mobile-image,
.setoda-value-image,
.gallery-group figure,
.setoda-footer-letter figure{
  border-radius:var(--fab-content-image-radius);
  overflow:hidden;
  isolation:isolate;
}


.setoda-intro-orbit > img,
.feature-card > img,
.setoda-value-mobile-image > img,
.setoda-value-image > img,
.gallery-group figure > img,
.setoda-footer-letter figure > img{
  border-radius:inherit;
}


.setoda-value-thumb,
.setoda-value-thumb > img{
  border-radius:50%;
}

@media(max-width:760px){
  :root{
    --fab-content-image-radius:8px;
  }
}


/* v44 style block 4: fab-rounded-ui-v27 */





.quick-booking-form,
.quick-booking-submit{
  border-radius:var(--fab-content-image-radius);
}
.quick-booking-form{
  overflow:hidden;
  isolation:isolate;
}


.news-tabs a{
  border-radius:var(--fab-content-image-radius);
}


.page-index{
  border-radius:var(--fab-content-image-radius);
  overflow:hidden;
}


.setoda-reservation-card{
  border-radius:var(--fab-content-image-radius);
}


.setoda-footer-letter-form{
  border-radius:var(--fab-content-image-radius);
  overflow:hidden;
  isolation:isolate;
}

@media(max-width:760px){
  .quick-booking-form,
  .quick-booking-submit,
  .news-tabs a,
  .page-index,
  .setoda-reservation-card,
  .setoda-footer-letter-form{
    border-radius:var(--fab-content-image-radius);
  }
}



/* v44 style block 5: fab-radius-refinement-v28 */


:root{
  --fab-interface-radius:4px;
}


.quick-booking-form,
.quick-booking-submit,
.news-tabs a,
.page-index,
.setoda-reservation-card,
.setoda-footer-letter-form{
  border-radius:var(--fab-interface-radius);
}


.setoda-values-visual,
.setoda-value-image,
.setoda-value-image > img{
  border-radius:0 var(--fab-content-image-radius) var(--fab-content-image-radius) 0;
}
.setoda-values-visual{
  overflow:hidden;
  isolation:isolate;
}

@media(max-width:760px){
  :root{
    --fab-interface-radius:3px;
  }

  .quick-booking-form,
  .quick-booking-submit,
  .news-tabs a,
  .page-index,
  .setoda-reservation-card,
  .setoda-footer-letter-form{
    border-radius:var(--fab-interface-radius);
  }
}


/* v44 style block 6: fab-feature-viewport-v29 */


:root{
  --fab-header-height:76px;
}

@media(min-width:761px){
  .setoda-values-visual{
    top:var(--fab-header-height);
    height:calc(100vh - var(--fab-header-height));
    height:calc(100vh - var(--fab-header-height));height:calc(100dvh - var(--fab-header-height));
    height:calc(100dvh - var(--fab-header-height));
    min-height:0;
  }
}


/* v44 style block 7: fab-copy-refinement-v04 */


@media (min-width:1041px){
  .feature-head{align-items:start;}
  .feature-note{padding-top:clamp(72px,6.4vw,96px);}
}
@media (max-width:1040px){
  .feature-note{padding-top:0;}
}


/* v44 style block 8: fab-footer-directory-v06 */


.setoda-footer-directory.setoda-footer-directory-sketch{
  position:relative;
  z-index:2;
  width:min(90vw,var(--setoda-frame));
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(190px,250px) minmax(0,1fr);
  grid-template-areas:none;
  gap:clamp(34px,4.5vw,76px);
  align-items:start;
  padding:clamp(76px,8vw,124px) 0 clamp(70px,7vw,108px);
}
.setoda-footer-profile{
  display:grid;
  align-content:start;
  justify-items:start;
  gap:25px;
}
.setoda-footer-stamp{
  display:grid;
  place-content:center;
  width:112px;
  aspect-ratio:1.36/1;
  border:1px solid rgba(241,243,232,.48);
  border-radius:4px;
  color:var(--setoda-footer-text);
  text-align:center;
  transition:background .45s ease,color .45s ease,border-color .45s ease;
}
.setoda-footer-stamp span{
  font:400 19px/1 var(--setoda-serif);
  letter-spacing:.12em;
}
.setoda-footer-stamp small{
  margin-top:8px;
  color:rgba(241,243,232,.62);
  font:500 var(--fab-font-minimum)/1 var(--setoda-sans);
  letter-spacing:.24em;
}
.setoda-footer-stamp:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(241,243,232,.76);
}
.setoda-footer-address{
  display:grid;
  gap:8px;
  color:var(--setoda-footer-text);
  font-style:normal;
}
.setoda-footer-address b{
  font:400 12px/1.6 var(--setoda-serif);
  letter-spacing:.08em;
}
.setoda-footer-address span{
  color:rgba(241,243,232,.68);
  font:400 11px/1.85 var(--setoda-serif);
  letter-spacing:.055em;
}
.setoda-footer-booking{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  width:100%;
  min-height:72px;
  padding:15px 16px;
  border:1px solid rgba(241,243,232,.42);
  border-radius:4px;
  color:var(--setoda-footer-text);
  transition:background .45s ease,color .45s ease,border-color .45s ease,transform .45s ease;
}
.setoda-footer-booking small{
  grid-column:1/-1;
  margin-bottom:3px;
  color:rgba(241,243,232,.55);
  font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);
  letter-spacing:.18em;
}
.setoda-footer-booking span{
  font:400 14px/1.5 var(--setoda-serif);
  letter-spacing:.08em;
}
.setoda-footer-booking i{
  font-style:normal;
  font-size:15px;
}
.setoda-footer-booking:hover{
  transform:translateY(-2px);
  background:#f1f3e8;
  border-color:#f1f3e8;
  color:var(--setoda-footer-deep);
}
.setoda-footer-booking:hover small{color:rgba(6,68,18,.58)}
.setoda-footer-menu-block{
  min-width:0;
}
.setoda-footer-menu-heading{
  display:flex;
  align-items:baseline;
  gap:18px;
  margin-bottom:clamp(27px,3vw,42px);
}
.setoda-footer-menu-heading span{
  color:rgba(241,243,232,.50);
  font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans);
  letter-spacing:.19em;
}
.setoda-footer-menu-heading h3{
  margin:0;
  color:var(--setoda-footer-text);
  font:400 max(var(--fab-font-minimum), clamp(18px,1.55vw,24px))/1.5 var(--setoda-serif);
  letter-spacing:.065em;
}
.setoda-footer-feature-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.45vw,22px);
  margin-bottom:clamp(34px,4vw,52px);
}
.setoda-footer-feature-links a{
  min-width:0;
  color:var(--setoda-footer-text);
}
.setoda-footer-feature-links figure{
  aspect-ratio:1.48/1;
  margin:0 0 13px;
  overflow:hidden;
  border-radius:4px;
  background:rgba(255,255,255,.08);
}
.setoda-footer-feature-links img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.86) brightness(.88);
  transition:transform 1.15s var(--setoda-ease),filter .75s ease;
}
.setoda-footer-feature-links span{
  display:inline-block;
  padding-bottom:5px;
  border-bottom:1px solid transparent;
  font:400 max(var(--fab-font-minimum), clamp(11px,.85vw,14px))/1.75 var(--setoda-serif);
  letter-spacing:.045em;
  transition:border-color .4s ease,transform .4s ease;
}
.setoda-footer-feature-links a:hover img{
  transform:scale(1.045);
  filter:saturate(1) brightness(.98);
}
.setoda-footer-feature-links a:hover span{
  border-color:rgba(241,243,232,.46);
  transform:translateX(3px);
}
.setoda-footer-utility-area{
  display:grid;
  gap:18px;
}
.setoda-footer-text-links{
  display:flex;
  flex-wrap:wrap;
  gap:9px clamp(20px,2.2vw,38px);
}
.setoda-footer-text-links a,
.setoda-footer-instagram{
  width:max-content;
  color:var(--setoda-footer-text);
  font:400 13px/1.75 var(--setoda-serif);
  letter-spacing:.055em;
  transition:opacity .35s ease,transform .35s ease;
}
.setoda-footer-text-links a:hover,
.setoda-footer-instagram:hover{
  opacity:.72;
  transform:translateX(3px);
}
.setoda-footer-instagram{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:2px;
}
.setoda-footer-instagram span{
  font-size:14px;
}
.setoda-footer-legal{
  display:flex;
  flex-wrap:wrap;
  gap:7px 20px;
  margin-top:5px;
}
.setoda-footer-legal a{
  width:max-content;
  color:rgba(241,243,232,.43);
  font:500 var(--fab-font-minimum)/1.6 var(--setoda-sans);
  letter-spacing:.085em;
  transition:color .35s ease;
}
.setoda-footer-legal a:hover{
  color:rgba(241,243,232,.68);
}
.setoda-footer-bottom>div{
  justify-content:flex-end;
}

@media(max-width:1120px){
  .setoda-footer-directory.setoda-footer-directory-sketch{
    grid-template-columns:minmax(170px,220px) minmax(0,1fr);
    gap:36px;
  }
  .setoda-footer-feature-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 18px;
  }
}
@media(max-width:760px){
  .setoda-footer-directory.setoda-footer-directory-sketch{
    width:calc(100% - 40px);
    display:grid;
    grid-template-columns:1fr;
    gap:38px;
    padding:72px 0 68px;
  }
  .setoda-footer-profile{
    grid-template-columns:auto 1fr;
    column-gap:24px;
    align-items:start;
  }
  .setoda-footer-stamp{
    grid-row:1/3;
    width:92px;
  }
  .setoda-footer-address{
    align-self:start;
  }
  .setoda-footer-booking{
    grid-column:2;
    max-width:260px;
  }
  .setoda-footer-menu-heading{
    display:grid;
    gap:7px;
  }
  .setoda-footer-feature-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 12px;
  }
  .setoda-footer-feature-links span{
    font-size:12px;
  }
  .setoda-footer-text-links{
    gap:8px 20px;
  }
}
@media(max-width:430px){
  .setoda-footer-profile{
    grid-template-columns:88px 1fr;
    column-gap:18px;
  }
  .setoda-footer-stamp{
    width:88px;
  }
  .setoda-footer-booking{
    grid-column:1/-1;
    max-width:none;
  }
  .setoda-footer-feature-links{
    gap:21px 10px;
  }
  .setoda-footer-feature-links figure{
    aspect-ratio:1.25/1;
  }
  .setoda-footer-text-links{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .setoda-footer-legal{
    display:grid;
    gap:8px;
  }
}


/* v44 style block 9: fab-footer-brand-refinement-v07 */


.setoda-footer-brand-logo{
  display:block;
  width:min(178px,100%);
  line-height:0;
}
.setoda-footer-brand-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.setoda-footer-menu-heading{
  display:block;
}
.setoda-footer-instagram svg{
  display:block;
  width:15px;
  height:15px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.setoda-footer-instagram span{
  font:inherit;
}
.setoda-footer-legal{
  justify-content:flex-end;
}
@media(max-width:760px){
  .setoda-footer-brand-logo{width:150px;}
}


/* v44 style block 10: fab-footer-spacing-refinement-v09 */


.setoda-footer-directory.setoda-footer-directory-sketch{
  column-gap:clamp(58px,7vw,120px);
}
.setoda-footer-phrase{
  width:min(90vw,var(--setoda-frame));
  max-width:none;
  margin-inline:auto;
}
@media(max-width:1040px) and (min-width:761px){
  .setoda-footer-directory.setoda-footer-directory-sketch{
    column-gap:clamp(48px,5.5vw,72px);
  }
}
@media(max-width:760px){
  .setoda-footer-directory.setoda-footer-directory-sketch{
    column-gap:0;
  }
  .setoda-footer-phrase{
    width:calc(100% - 40px);
  }
}


/* v44 style block 11: setoda-responsive-final */

.gallery-swipe-hint{display:none}
@media (max-width:1040px){
  :root{
    --mobile-gutter:20px;
    --mobile-space-1:8px;
    --mobile-space-2:12px;
    --mobile-space-3:20px;
    --mobile-space-4:28px;
    --mobile-space-5:40px;
    --mobile-space-6:56px;
    --mobile-space-7:80px;
    --mobile-space-8:104px;
  }
}

@media (max-width:980px){
  body{padding-bottom:0!important}
  .mobile-reserve-cta{
    display:block!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,12px,0);
    transition:opacity .28s ease,visibility .28s ease,transform .28s ease;
  }
  body.mobile-cta-visible .mobile-reserve-cta{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  body.mobile-cta-visible{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  .page-index{
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    transition:opacity .45s var(--setoda-ease),visibility .45s var(--setoda-ease),transform .45s var(--setoda-ease),width .45s var(--ease),bottom .35s var(--ease)!important;
  }
  body.mobile-cta-visible .page-index{
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:760px){
  :root{
    --pad:var(--mobile-gutter);
    --setoda-mobile-title:clamp(30px,8.2vw,34px);
    --setoda-mobile-display:clamp(38px,10.2vw,42px);
    --setoda-mobile-h3:clamp(28px,7.8vw,31px);
    --setoda-mobile-lead:16px;
    --setoda-mobile-body:15px;
    --setoda-mobile-small:14px;
    --setoda-mobile-meta:10px;
  }

  html{scroll-padding-top:calc(var(--fab-header-height,64px) + 16px)}
  body{
    font-size:14px;
    line-height:1.95;
    overflow-x:clip;
  }

  .header{
    min-height:56px;
    padding-top:calc(10px + env(safe-area-inset-top));
    padding-bottom:10px;
    padding-left:max(var(--mobile-gutter),env(safe-area-inset-left));
    padding-right:max(var(--mobile-gutter),env(safe-area-inset-right));
  }
  .header.scrolled{
    padding-top:calc(8px + env(safe-area-inset-top));
    padding-bottom:8px;
  }
  .header-actions{gap:8px}
  .utility-btn{
    min-width:44px;
    min-height:44px;
    padding-inline:14px;
  }
  .menu-btn{width:44px;padding:0}
  .menu-lines{width:16px;height:10px}
  .menu-lines::before,.menu-lines::after{width:16px}
  .logo{min-width:132px}
  .logo img{height:auto;object-fit:contain}

  .hero{
    height:100vh;height:100dvh;
    min-height:650px;
    max-height:none;
  }
  .hero-interface{
    display:block;
    min-height:100%;
    padding:
      calc(var(--fab-header-height,64px) + 38px + env(safe-area-inset-top))
      var(--mobile-gutter)
      calc(30px + env(safe-area-inset-bottom));
  }
  .hero-copy{
    left:var(--mobile-gutter);
    right:var(--mobile-gutter);
    bottom:118px;
    max-width:520px;
  }
  .hero h1{
    font-size:max(var(--fab-font-minimum), clamp(29px,8vw,33px));
    line-height:1.66;
    letter-spacing:.065em;
  }
  .hero-en{margin-top:16px;font-size:11px;line-height:1.8}
  .scene-nav{
    left:var(--mobile-gutter);
    right:var(--mobile-gutter);
    bottom:calc(26px + env(safe-area-inset-bottom));
    min-height:44px;
    padding-top:12px;
  }
  .scene-buttons{gap:6px}
  .scene-btn{
    min-width:68px;
    min-height:44px;
    padding:8px 5px 8px 30px;
    font-size:var(--fab-font-minimum);
  }
  .scene-btn::before,.scene-btn.is-active::before{width:24px}
  .scene-btn.is-active::after{max-width:24px}
  .hero-slide img{transform:scale(1.025)}
  [data-hero-drift]{transform:none!important}

  .quick-booking{
    padding:var(--mobile-space-7) var(--mobile-gutter) var(--mobile-space-6)!important;
  }
  .quick-booking-form{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr!important;
    gap:0;
    padding:14px!important;
    border-radius:4px;
  }
  .quick-booking-field{
    min-width:0;
    min-height:72px;
    margin:0!important;
    padding:14px 10px 12px!important;
  }
  .quick-booking-date{grid-column:1/-1!important}
  .quick-booking-field:nth-of-type(2){grid-column:1}
  .quick-booking-field:nth-of-type(3){grid-column:2}
  .quick-booking-field:nth-of-type(4){grid-column:1/-1!important}
  .quick-booking-field label{font-size:11px !important}
  .quick-booking-field input,
  .quick-booking-field select{
    width:100%;
    min-height:32px;
    font-size:16px !important;
    line-height:1.4;
  }
  .quick-booking-date input{font-size:18px !important}
  .quick-booking-links{
    grid-column:1/-1!important;
    display:flex;
    justify-content:space-between;
    gap:12px 18px;
    min-height:52px;
    padding:16px 10px!important;
  }
  .quick-booking-links a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:11px !important;
  }
  .quick-booking-submit{
    grid-column:1/-1!important;
    min-height:58px!important;
    margin-top:6px;
    font-size:13px !important;
  }

  .news{padding-top:var(--mobile-space-7);padding-bottom:var(--mobile-space-8)}
  .news-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .news-tabs a{
    min-height:46px!important;
    padding:0 10px!important;
    font-size:11px !important;
  }
  .news-row{
    min-height:0!important;
    padding:20px 0!important;
  }
  .news-row time{font-size:var(--fab-font-minimum)}
  .news-category-tag{font-size:var(--fab-font-minimum)}
  .news-row-title{font-size:14px;line-height:1.9}
  .news-circle{width:28px!important;height:28px!important}

  .setoda-intro{
    padding:var(--mobile-space-8) 0 calc(var(--mobile-space-8) + 8px)!important;
  }
  .setoda-intro-shell{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .setoda-intro-composition{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    min-height:0!important;
  }
  .setoda-intro-center{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:none!important;
    padding:0 0 var(--mobile-space-6)!important;
    transform:none!important;
    text-align:left!important;
  }
  .setoda-intro-center.reveal,
  .setoda-intro-center.reveal.in{transform:none!important}
  .setoda-round-label,
  .setoda-intro-eyebrow{text-align:left}
  .setoda-intro-center h2{
    max-width:100%!important;
    margin-inline:0!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
    line-height:1.72!important;
    text-align:left!important;
  }
  .setoda-intro-story{
    width:100%!important;
    max-width:100%!important;
    margin-top:var(--mobile-space-5)!important;
    padding-top:var(--mobile-space-4)!important;
    text-align:left!important;
  }
  .setoda-intro-story p{
    margin-bottom:2.1em!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-body)) !important;
    line-height:2.15!important;
  }
  .setoda-intro-orbit{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:auto!important;
    overflow:hidden;
  }
  .setoda-intro-orbit-left-main{
    grid-column:1/-1!important;
    grid-row:2!important;
    height:66vw!important;
    margin:0!important;
  }
  .setoda-intro-orbit-left-secondary-v08{
    display:block!important;
    grid-column:1!important;
    grid-row:3!important;
    height:48vw!important;
    margin:var(--mobile-space-3) 0 0!important;
  }
  .setoda-intro-orbit-right-top{
    grid-column:2!important;
    grid-row:3!important;
    height:58vw!important;
    margin:var(--mobile-space-6) 0 0!important;
  }
  .setoda-intro-orbit-right-mid{
    grid-column:1/-1!important;
    grid-row:4!important;
    width:76%!important;
    height:58vw!important;
    margin:var(--mobile-space-5) 0 0 auto!important;
  }
  .setoda-intro-parallax-media{
    will-change:transform!important;
  }
  .setoda-island-location-note{
    position:relative!important;
    grid-column:1/-1!important;
    grid-row:5!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    margin-top:var(--mobile-space-5);
  }

  .feature-lead{
    padding-top:var(--mobile-space-8)!important;
    padding-bottom:var(--mobile-space-8)!important;
  }
  .feature-lead .feature-head{
    display:block!important;
    margin-bottom:var(--mobile-space-5)!important;
  }
  .feature-lead .section-title{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
    line-height:1.55!important;
  }
  .feature-lead .feature-note{
    max-width:100%!important;
    margin-top:var(--mobile-space-4);
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-small)) !important;
    line-height:2.05!important;
  }
  .feature-grid{
    width:calc(100% + var(--mobile-gutter))!important;
    margin-right:calc(var(--mobile-gutter) * -1)!important;
    padding-right:30vw!important;
    scroll-snap-type:x proximity!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .feature-card,.feature-card:nth-child(n){
    flex:0 0 72vw!important;
    min-width:250px!important;
    height:470px!important;
    min-height:470px!important;
    scroll-snap-align:start;
  }
  .feature-card h3{font-size:20px}
  .feature-card .fc-category{font-size:11px !important}
  .feature-card .fc-brief{font-size:var(--fab-font-minimum) !important}
  .feature-swipe-hint{
    display:flex!important;
    min-height:44px;
    align-items:center;
  }

  .setoda-values-header{
    width:calc(100% - (var(--mobile-gutter) * 2))!important;
    padding:var(--mobile-space-8) 0 var(--mobile-space-7)!important;
  }
  .setoda-values h2{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-display)) !important;
    line-height:1.28!important;
  }
  .setoda-values-intro{
    margin-top:var(--mobile-space-4);
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-small)) !important;
    line-height:2.05!important;
  }
  .setoda-values-stage{display:block!important}
  .setoda-values-visual,.setoda-value-thumbs{display:none!important}
  .setoda-value{
    display:block!important;
    min-height:0!important;
    padding:var(--mobile-space-7) var(--mobile-gutter) var(--mobile-space-8)!important;
  }
  .setoda-value + .setoda-value{border-top:1px solid var(--setoda-line)}
  .setoda-value-inner{max-width:none!important}
  .setoda-value-meta{font-size:max(var(--fab-font-minimum), var(--setoda-mobile-meta)) !important}
  .setoda-value-category{
    margin-top:var(--mobile-space-5)!important;
    font-size:12px !important;
  }
  .setoda-value h3{
    margin-bottom:var(--mobile-space-4)!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-h3)) !important;
    line-height:1.62!important;
  }
  .setoda-value-body p{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-body)) !important;
    line-height:2.15!important;
  }
  .setoda-text-link{
    min-height:44px;
    margin-top:var(--mobile-space-4)!important;
  }
  .setoda-value-mobile-image{
    display:block!important;
    height:auto!important;
    aspect-ratio:4/3;
    margin-top:var(--mobile-space-6)!important;
    overflow:hidden;
    border-radius:var(--fab-content-image-radius,8px);
  }
  .setoda-value-mobile-image img{
    position:static!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    transform:none!important;
  }

  .stay-support{
    padding-top:var(--mobile-space-8)!important;
    padding-bottom:var(--mobile-space-8)!important;
  }
  .support-head{gap:var(--mobile-space-4)!important;margin-bottom:var(--mobile-space-5)!important}
  .support-head p{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-small)) !important;
    line-height:2.05!important;
  }
  .support-accordion-trigger{
    grid-template-columns:36px minmax(0,1fr) 32px!important;
    gap:10px 14px!important;
    min-height:64px!important;
    padding:22px 0!important;
  }
  .support-accordion-trigger strong{font-size:15px !important}
  .support-summary{font-size:13px !important;line-height:1.85!important}
  .support-toggle{width:28px!important;height:28px!important}
  .support-detail-grid{grid-template-columns:1fr!important;padding-left:36px!important}
  .support-detail-grid>div{padding:20px 16px!important}
  .support-lower-links{grid-template-columns:1fr!important}

  .setoda-about{
    height:auto!important;
    min-height:760px!important;
    display:flex;
    align-items:flex-end;
    padding:
      calc(var(--mobile-space-8) + 20px)
      var(--mobile-gutter)
      var(--mobile-space-7)!important;
    overflow:hidden;
  }
  .setoda-about-media img{
    top:0!important;
    height:100%!important;
    transform:scale(1.03)!important;
    transition:none!important;
    will-change:auto!important;
  }
  .setoda-about-type{
    top:96px!important;
    font-size:max(var(--fab-font-minimum), clamp(54px,16vw,78px)) !important;
    line-height:1!important;
  }
  .setoda-about-content{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:430px!important;
  }
  .setoda-about-content h2{
    max-width:100%!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
    line-height:1.65!important;
  }
  .setoda-about-content>p:not(.setoda-about-eyebrow){
    max-width:100%!important;
    font-size:14px !important;
    line-height:2.05!important;
  }
  .setoda-about-link{
    min-height:44px;
    margin-top:var(--mobile-space-4)!important;
  }

  .gallery{
    padding:var(--mobile-space-8) 0 var(--mobile-space-8)!important;
    overflow:hidden;
  }
  .gallery-viewport{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    width:100%;
    scroll-snap-type:x mandatory;
    scroll-padding-left:var(--mobile-gutter);
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
    outline-offset:-4px;
  }
  .gallery-viewport::-webkit-scrollbar{display:none}
  .gallery-track{
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    padding:0!important;
    will-change:auto!important;
  }
  .gallery-group{
    display:flex!important;
    align-items:flex-start;
    gap:14px!important;
    padding-left:var(--mobile-gutter)!important;
    padding-right:var(--mobile-gutter)!important;
  }
  .gallery-group[aria-hidden="true"]{display:none!important}
  .gallery-group figure,
  .gallery-group figure:nth-child(even){
    flex:0 0 78vw!important;
    width:78vw!important;
    height:104vw!important;
    margin:0!important;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
    border-radius:var(--fab-content-image-radius,8px);
  }
  .gallery-group figure:nth-child(even){
    height:88vw!important;
    margin-top:54px!important;
  }
  .gallery-swipe-hint{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:12px;
    min-height:44px;
    width:calc(100% - (var(--mobile-gutter) * 2));
    margin:10px auto 0;
    color:var(--brown-soft);
    font:500 var(--fab-font-minimum)/1 var(--sans);
    letter-spacing:.2em;
  }
  .gallery-swipe-hint i{
    position:relative;
    display:block;
    width:48px;
    height:1px;
    background:currentColor;
  }
  .gallery-swipe-hint i::after{
    content:"";
    position:absolute;
    right:0;
    top:-2px;
    width:5px;
    height:5px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:rotate(45deg);
  }

  .setoda-reservation{
    padding:var(--mobile-space-8) 0 calc(var(--mobile-space-8) + 8px)!important;
  }
  .setoda-reservation-inner{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .setoda-reservation-head{margin-bottom:var(--mobile-space-5)!important}
  .setoda-reservation-head h2{
    margin-top:16px!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
  }
  .setoda-reservation-card{
    grid-template-columns:1fr!important;
    gap:var(--mobile-space-4)!important;
    min-height:0!important;
    padding:30px 24px!important;
  }
  .setoda-reservation-copy h3{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-h3)) !important;
    line-height:1.6!important;
  }
  .setoda-reservation-copy p{font-size:14px !important}
  .setoda-reservation-action{
    min-height:64px;
    padding:22px 0 0!important;
    border-left:0!important;
    border-top:1px solid var(--setoda-line)!important;
  }
  .setoda-reservation-sub{
    flex-direction:column!important;
    gap:12px!important;
  }
  .setoda-reservation-sub a{
    min-height:48px;
    justify-content:space-between!important;
  }

  .setoda-footer-directory.setoda-footer-directory-sketch,
  .setoda-footer-phrase,
  .setoda-footer-bottom{
    width:calc(100% - (var(--mobile-gutter) * 2))!important;
  }
  .setoda-footer-directory.setoda-footer-directory-sketch{
    grid-template-columns:1fr!important;
    gap:var(--mobile-space-6)!important;
    padding:var(--mobile-space-7) 0 var(--mobile-space-7)!important;
  }
  .setoda-footer-profile{
    grid-template-columns:1fr!important;
    gap:var(--mobile-space-4)!important;
  }
  .setoda-footer-brand-logo{width:150px!important}
  .setoda-footer-booking{
    grid-column:auto!important;
    max-width:none!important;
    min-height:64px!important;
  }
  .setoda-footer-feature-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 12px!important;
  }
  .setoda-footer-text-links{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
    gap:10px 16px!important;
  }
  .setoda-footer-text-links a,
  .setoda-footer-instagram{
    width:auto!important;
    min-width:0;
    min-height:44px;
    display:flex;
    align-items:center;
    overflow-wrap:anywhere;
  }
  .setoda-footer-legal{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .setoda-footer-legal a{
    display:flex;
    align-items:center;
    min-height:40px;
    width:auto!important;
  }
  .setoda-footer-phrase{
    height:auto!important;
    min-height:300px;
    padding:0!important;
  }
  .setoda-footer-phrase span{
    left:0!important;
    right:0!important;
    width:100%;
    white-space:normal!important;
    font-size:max(var(--fab-font-minimum), clamp(26px,7.6vw,34px)) !important;
    line-height:1.55!important;
  }
  .setoda-footer-phrase-one{top:20%!important}
  .setoda-footer-phrase-two{top:56%!important;text-align:right}
  .setoda-footer-bottom{
    flex-direction:column!important;
    gap:10px!important;
    padding-bottom:calc(34px + env(safe-area-inset-bottom))!important;
  }
  .setoda-footer-bottom>div{justify-content:flex-start!important}

  .mobile-reserve-cta{
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:10px!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
  .mobile-reserve-cta>a{
    min-height:62px!important;
    border-radius:4px;
  }
  .page-index{
    left:11px!important;
    right:auto!important;
    width:176px!important;
    padding:0!important;
  }
  .page-index.is-open{width:min(228px,calc(100vw - 22px))!important}
  .page-index-mobile-toggle{
    min-height:44px!important;
    padding:8px 10px!important;
    grid-template-columns:42px minmax(0,1fr) 14px!important;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum) !important}
  .page-index-mobile-toggle em{font-size:var(--fab-font-minimum) !important}
  .page-index-link,.page-index-link.is-active{
    min-height:40px!important;
  }
}

@media (max-width:560px){
  .quick-booking{padding-inline:var(--mobile-gutter)!important}
  .quick-booking-form{grid-template-columns:1fr 1fr!important}
  .gallery-group figure,
  .gallery-group figure:nth-child(even){flex-basis:80vw!important;width:80vw!important}
}

@media (max-width:430px){
  .hero-copy{bottom:112px}
  .hero h1{font-size:max(var(--fab-font-minimum), clamp(28px,8.3vw,31px))}
  .feature-card,.feature-card:nth-child(n){
    flex-basis:76vw!important;
    min-width:242px!important;
  }
  .setoda-about-content{margin-top:400px!important}
  .setoda-footer-feature-links{grid-template-columns:1fr!important}
  .setoda-footer-feature-links figure{aspect-ratio:1.35/1!important}
  .setoda-footer-text-links{grid-template-columns:1fr!important}
}

@media (hover:none), (pointer:coarse){
  .feature-card:hover img,
  .setoda-footer-feature-links a:hover img{transform:none!important}
  .feature-card:hover,
  .setoda-footer-feature-links a:hover span,
  .setoda-footer-text-links a:hover,
  .setoda-footer-instagram:hover,
  .fab-detail-link:hover,
  .setoda-footer-booking:hover,
  .setoda-reservation-card:hover{
    transform:none!important;
  }
}

@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .hero-slide,
  .hero-slide img,
  .setoda-intro-parallax-media,
  .setoda-about-media img,
  .gallery-track{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}


/* v44 style block 12: setoda-responsive-refinement-v2 */

/*
  Responsive master refinement v2
  - spacing by semantic grouping
  - stable two-line brand copy
  - calmer FOR YOU visual flow + subtle mobile parallax
  - FEATURE mobile order: identity -> photo -> narrative
  - compact reservation/footer utility groups
*/
@media (max-width:760px){
  :root{
    --mobile-group-tight:16px;
    --mobile-group-inner:28px;
    --mobile-group-related:44px;
    --mobile-group-separate:88px;
  }

  /* FIRST VIEW: preserve two intentional lines on all supported phone widths. */
  .hero h1{
    font-size:max(var(--fab-font-minimum), clamp(15px,6.35vw,29px)) !important;
    line-height:1.72!important;
    letter-spacing:.055em!important;
  }
  .hero h1 .mobile-line{
    display:block!important;
    white-space:nowrap;
  }

  /* NEWS: give the category/title/arrow their own breathing room. */
  .news-heading-row{margin-bottom:var(--mobile-group-inner)!important}
  .news-row{
    grid-template-columns:minmax(0,1fr) 32px!important;
    column-gap:20px!important;
    row-gap:10px!important;
    padding:22px 0!important;
  }
  .news-row-main{
    grid-column:1!important;
    grid-row:2!important;
    grid-template-columns:100px minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .news-row-main .news-category-tag{
    grid-column:1!important;
    margin-top:2px;
  }
  .news-row-main .news-row-title{
    grid-column:2!important;
    padding-right:4px;
  }
  .news-row .news-circle{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center!important;
    justify-self:end!important;
  }
  .news-more{
    display:flex!important;
    width:max-content!important;
    margin:var(--mobile-group-inner) 0 0 auto!important;
    justify-content:flex-end!important;
  }

  /* FOR YOU: one calm visual path rather than a noisy mini-grid. */
  .setoda-intro{padding-bottom:var(--mobile-group-separate)!important}
  .setoda-intro-composition{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .setoda-intro-center{
    order:1!important;
    padding-bottom:var(--mobile-group-related)!important;
  }
  .setoda-intro-story{margin-top:var(--mobile-group-inner)!important}
  .setoda-intro-story p{margin-bottom:1.75em!important}
  .setoda-intro-orbit{
    flex:none;
    contain:paint;
  }
  .setoda-intro-orbit-left-main{
    order:2!important;
    width:86%!important;
    height:auto!important;
    aspect-ratio:4/3;
    margin:0 auto 0 0!important;
  }
  .setoda-intro-orbit-left-secondary-v08{
    order:3!important;
    width:56%!important;
    height:auto!important;
    aspect-ratio:3/4;
    margin:var(--mobile-group-related) 3% 0 auto!important;
  }
  .setoda-intro-orbit-right-top{
    order:4!important;
    width:72%!important;
    height:auto!important;
    aspect-ratio:4/3;
    margin:var(--mobile-group-separate) auto 0 4%!important;
  }
  .setoda-intro-orbit-right-mid{
    order:5!important;
    width:62%!important;
    height:auto!important;
    aspect-ratio:3/4;
    margin:var(--mobile-group-related) 0 0 auto!important;
  }
  .setoda-intro-orbit img{aspect-ratio:auto!important}
  .setoda-intro-parallax-media{
    top:-9%!important;
    bottom:-9%!important;
    background-size:cover!important;
    will-change:transform!important;
  }
  .setoda-island-location-note{
    order:6!important;
    margin-top:var(--mobile-group-related)!important;
  }

  /* FEATURE intro and first story belong to one semantic family. */
  .setoda-values-header{
    padding-bottom:var(--mobile-group-related)!important;
  }
  .setoda-value{
    padding:var(--mobile-group-separate) var(--mobile-gutter) 0!important;
  }
  .setoda-value:first-child{
    padding-top:var(--mobile-group-inner)!important;
  }
  .setoda-value:last-child{
    padding-bottom:var(--mobile-space-8)!important;
  }
  .setoda-value-inner{
    display:flex!important;
    flex-direction:column!important;
  }
  .setoda-value-meta{order:1}
  .setoda-value-category{
    order:2;
    margin:var(--mobile-group-inner) 0 0!important;
  }
  .setoda-value-mobile-image{
    order:3;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    margin:var(--mobile-group-inner) 0 0!important;
  }
  .setoda-value h3{
    order:4;
    margin:var(--mobile-group-related) 0 var(--mobile-group-inner)!important;
  }
  .setoda-value-body{order:5}
  .setoda-value-body p{margin-bottom:1.35em!important}
  .setoda-text-link{
    order:6;
    margin-top:var(--mobile-group-inner)!important;
  }

  /* ACCESS / FAQ uses the same content width as the rest of the page. */
  .stay-support{
    padding-left:var(--mobile-gutter)!important;
    padding-right:var(--mobile-gutter)!important;
  }
  .support-shell{
    width:100%!important;
    max-width:none!important;
  }

  /* ABOUT: soften the oversized lettering and lock the narrative heading to two lines. */
  .setoda-about-type{
    top:92px!important;
    font-size:max(var(--fab-font-minimum), clamp(46px,14vw,64px)) !important;
    line-height:1.12!important;
    letter-spacing:.012em!important;
    opacity:.84;
  }
  .setoda-about-type span{padding-left:10px!important}
  .setoda-about-type span:nth-child(2){padding-left:6vw!important}
  .setoda-about-type span:nth-child(3){padding-left:18vw!important}
  .setoda-about-content h2{
    font-size:max(var(--fab-font-minimum), clamp(21px,6.3vw,27px)) !important;
    line-height:1.75!important;
    letter-spacing:.035em!important;
  }
  .setoda-about-content h2 br{display:none}
  .setoda-about-line{
    display:block;
    white-space:nowrap;
  }

  /* GALLERY remains touch-operable; autoplay is added in JS below. */
  .gallery-swipe-hint span::before{content:"AUTO / ";opacity:.62}

  /* RESERVATION: consultation + FAQ are one compact secondary action group. */
  .setoda-reservation-card{margin-bottom:14px!important}
  .setoda-reservation-sub{
    margin-top:var(--mobile-group-inner)!important;
    gap:0!important;
  }
  .setoda-reservation-sub a{
    min-height:46px!important;
    margin:0!important;
  }
  .setoda-reservation-sub a + a{
    border-top:1px solid rgba(22,75,45,.12);
  }

  /* FOOTER: keep utility/navigation groups compact while preserving tap area. */
  .setoda-footer-directory.setoda-footer-directory-sketch{
    gap:var(--mobile-group-related)!important;
    padding-top:var(--mobile-space-7)!important;
    padding-bottom:var(--mobile-space-6)!important;
  }
  .setoda-footer-menu-heading{margin-bottom:var(--mobile-group-inner)!important}
  .setoda-footer-feature-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px 12px!important;
    margin-bottom:var(--mobile-group-related)!important;
  }
  .setoda-footer-utility-area{gap:8px!important}
  .setoda-footer-text-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 16px!important;
  }
  .setoda-footer-text-links a,
  .setoda-footer-instagram{
    min-height:44px!important;
  }
  .setoda-footer-instagram{margin-top:4px!important}
  .setoda-footer-legal{
    margin-top:8px;
    gap:0!important;
  }
  .setoda-footer-legal a{min-height:38px!important}

  /* Footer tagline = exactly two semantic lines from 320px through 760px. */
  .setoda-footer-phrase{
    min-height:228px!important;
  }
  .setoda-footer-phrase span{
    width:100%!important;
    white-space:nowrap!important;
    font-size:max(var(--fab-font-minimum), clamp(20px,6vw,28px)) !important;
    line-height:1.5!important;
    letter-spacing:.04em!important;
  }
  .setoda-footer-phrase-one{
    top:25%!important;
    text-align:left!important;
  }
  .setoda-footer-phrase-two{
    top:58%!important;
    text-align:right!important;
    transform:none!important;
  }
}

/* The 430px legacy rule previously stacked footer menus into long single columns. */
@media (max-width:430px){
  .setoda-footer-feature-links,
  .setoda-footer-text-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .setoda-footer-feature-links figure{aspect-ratio:1.35/1!important}
}

@media (max-width:340px){
  .setoda-footer-text-links{column-gap:10px!important}
  .setoda-footer-text-links a{font-size:12px !important}
}

@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .setoda-intro-parallax-media{transform:none!important;will-change:auto!important}
  .gallery-swipe-hint span::before{content:""}
}


/* v44 style block 13: setoda-responsive-refinement-v3 */

/*
  Responsive master refinement v3
  COMMON MASTER:
  - no fixed INDEX on smartphones
  - resilient category labels
  - compact semantic utility/footer spacing
  - calmer, touch-friendly mobile menu
  TOP ONLY:
  - tighter feature lead -> cards relationship
  - FEATURE photo-first narrative order
  - ABOUT staged alignment
  - continuous gallery flow
*/
@media (max-width:760px){
  /* COMMON MASTER: fixed INDEX is removed on smartphones to preserve viewport space. */
  .page-index{display:none!important}

  /* COMMON MASTER: category tags size to content and never clip long labels. */
  .news-row-main{
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .news-category-tag{
    width:max-content!important;
    max-width:min(46vw,150px)!important;
    min-height:27px!important;
    padding:5px 11px 4px!important;
    font-size:var(--fab-font-minimum) !important;
    line-height:1.3!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .news-row-title{min-width:0!important}

  /* TOP: FEATURE introduction belongs visually to the banner row below. */
  .feature-lead{padding-bottom:72px!important}
  .feature-lead .feature-head{margin-bottom:24px!important}
  .feature-swipe-hint{margin-top:8px!important}

  /* TOP: give the beginning of FEATURE stories room after the background transition. */
  .setoda-values-header{padding-bottom:48px!important}
  .setoda-value:first-child{padding-top:76px!important}
  .setoda-value + .setoda-value{border-top:0!important}

  /* TOP: identity -> square photo -> category -> title -> body -> detail. */
  .setoda-value-inner{display:flex!important;flex-direction:column!important}
  .setoda-value-meta{order:1!important}
  .setoda-value-mobile-image{
    order:2!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    margin:32px 0 0!important;
    border-radius:var(--fab-content-image-radius,8px)!important;
    overflow:hidden!important;
  }
  .setoda-value-mobile-image img{width:100%!important;height:100%!important;object-fit:cover!important}
  .setoda-value-category{order:3!important;margin:24px 0 0!important}
  .setoda-value h3{order:4!important;margin:14px 0 26px!important}
  .setoda-value-body{order:5!important}
  .setoda-text-link{
    order:6!important;
    align-self:flex-end!important;
    justify-content:flex-end!important;
    margin:22px 0 0 auto!important;
    text-align:right!important;
  }

  /* TOP: ABOUT typography travels from left -> center -> right. */
  .setoda-about-type{
    left:var(--mobile-gutter)!important;
    right:var(--mobile-gutter)!important;
    width:auto!important;
    padding:0!important;
  }
  .setoda-about-type span{width:100%!important;margin:0!important;padding:0!important}
  .setoda-about-type span:nth-child(1){justify-self:start!important;text-align:left!important}
  .setoda-about-type span:nth-child(2){justify-self:center!important;text-align:center!important}
  .setoda-about-type span:nth-child(3){justify-self:end!important;text-align:right!important}
  .setoda-about-link{
    display:flex!important;
    width:max-content!important;
    margin:30px 0 0 auto!important;
    justify-content:flex-end!important;
    text-align:right!important;
  }

  /* TOP: same slow continuous infinite gallery language as desktop. */
  .gallery-viewport{
    overflow:hidden!important;
    scroll-snap-type:none!important;
    touch-action:pan-y!important;
  }
  .gallery-track{
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    padding:0!important;
    animation:galleryFlow 76s linear infinite!important;
    transform:translate3d(0,0,0);
    will-change:transform!important;
  }
  .gallery-group,
  .gallery-group[aria-hidden="true"]{
    display:flex!important;
    flex:none!important;
    align-items:flex-start!important;
    gap:14px!important;
    padding:0 7px!important;
  }
  .gallery-group figure,
  .gallery-group figure:nth-child(even){
    flex:0 0 74vw!important;
    width:74vw!important;
    height:98vw!important;
    margin:0!important;
    scroll-snap-align:none!important;
  }
  .gallery-group figure:nth-child(even){
    height:78vw!important;
    margin-top:48px!important;
  }
  .gallery-swipe-hint{display:none!important}

  /* COMMON MASTER: related reservation utility links are a compact pair. */
  .setoda-reservation-sub{margin-top:14px!important;gap:0!important}
  .setoda-reservation-sub a{min-height:44px!important;padding-top:6px!important;padding-bottom:6px!important}

  /* COMMON MASTER: mobile footer uses tighter semantic grouping. */
  .setoda-footer-directory.setoda-footer-directory-sketch{
    gap:34px!important;
    padding-top:64px!important;
    padding-bottom:26px!important;
  }
  .setoda-footer-address{gap:5px!important}
  .setoda-footer-address span{
    white-space:normal!important;
    font-size:11px !important;
    line-height:1.7!important;
  }
  .setoda-footer-menu-heading{margin-bottom:20px!important}
  .setoda-footer-feature-links{margin-bottom:26px!important;gap:17px 12px!important}
  .setoda-footer-utility-area{gap:2px!important}
  .setoda-footer-text-links{gap:0 14px!important}
  .setoda-footer-text-links a,
  .setoda-footer-instagram{min-height:38px!important}
  .setoda-footer-instagram{margin-top:0!important}
  .setoda-footer-legal{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:0 14px!important;
    margin-top:2px!important;
  }
  .setoda-footer-legal a{
    min-height:28px!important;
    font-size:var(--fab-font-minimum) !important;
    line-height:1.45!important;
    opacity:.78;
  }
  .setoda-footer-phrase{
    min-height:176px!important;
    height:176px!important;
    margin-top:0!important;
  }
  .setoda-footer-phrase-one{top:19%!important}
  .setoda-footer-phrase-two{top:48%!important}
  .setoda-footer-bottom{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
    padding:18px 0 calc(24px + env(safe-area-inset-bottom))!important;
    font-size:var(--fab-font-minimum) !important;
    line-height:1.45!important;
  }
  .setoda-footer-bottom>span{white-space:nowrap!important}
  .setoda-footer-bottom>div{
    display:block!important;
    justify-self:end!important;
    text-align:right!important;
    min-width:0!important;
  }
  .setoda-footer-bottom>div span{white-space:nowrap!important}

  /* COMMON MASTER: mobile menu prioritizes readability and touch comfort. */
  .menu-panel{
    padding-top:max(58px,env(safe-area-inset-top))!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .menu-shell{min-height:calc(100vh - 58px)!important;min-height:calc(100dvh - 58px)!important;}
  .menu-visual{
    min-height:24vh!important;min-height:24dvh!important;
    height:24vh!important;height:24dvh!important;
  }
  .menu-visual-copy{left:20px!important;right:20px!important;bottom:18px!important}
  .menu-visual-copy>span{margin-bottom:7px!important}
  .menu-visual-copy strong{font-size:17px !important;line-height:1.65!important}
  .menu-visual-copy small{margin-top:8px!important}
  .menu-directory{
    padding:30px var(--mobile-gutter) calc(32px + env(safe-area-inset-bottom))!important;
  }
  .menu-directory-head{padding-bottom:22px!important}
  .menu-directory-head h2{font-size:22px !important;line-height:1.62!important}
  .menu-directory-head p{margin-top:12px!important;font-size:13px !important;line-height:1.9!important}
  .menu-directory-body{display:block!important;padding:14px 0 24px!important}
  .menu-primary{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .menu-primary a{
    grid-template-columns:28px minmax(0,1fr) 18px!important;
    gap:12px!important;
    min-height:60px!important;
    padding:8px 2px!important;
  }
  .menu-no{font-size:var(--fab-font-minimum) !important}
  .menu-label b{font-size:15px !important;line-height:1.5!important}
  .menu-label small{margin-top:2px!important;font-size:var(--fab-font-minimum) !important}
  .menu-aside{margin-top:24px!important}
  .menu-reservation{
    min-height:70px!important;
    padding:17px 18px!important;
    background:var(--brown)!important;
    color:#fff9ee!important;
    border-radius:4px;
  }
  .menu-reservation strong{font-size:16px !important}
  .menu-utility-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-top:20px!important;
    border-top:1px solid var(--line)!important;
  }
  .menu-utility-links a{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    min-height:50px!important;
    padding:9px 0!important;
  }
  .menu-utility-links a small{margin-top:0!important;text-align:right!important}
  .menu-contact-meta{margin-top:20px!important;gap:6px!important}
  .menu-footer{
    grid-template-columns:1fr auto!important;
    gap:10px 18px!important;
    margin-top:20px!important;
    padding-top:16px!important;
    padding-bottom:4px!important;
  }
  .menu-footer span:nth-child(3){grid-column:2}
  .menu-footer small{grid-column:1/-1!important}
}

@media (max-width:360px){
  .news-row-main{grid-template-columns:1fr!important;row-gap:10px!important}
  .news-row-main .news-category-tag,
  .news-row-main .news-row-title{grid-column:1!important}
  .news-category-tag{max-width:100%!important}
  .setoda-footer-bottom{font-size:var(--fab-font-minimum) !important;gap:8px!important}
  .setoda-footer-bottom>div span{letter-spacing:.04em!important}
}

@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .gallery-track{animation:none!important;transform:none!important;will-change:auto!important}
}


/* v44 style block 14: setoda-responsive-refinement-v4 */

/*
  Responsive master refinement v4
  COMMON MASTER:
  - fixed-width NEWS category lane so every headline starts at one x-position
  - optically balanced footer brand phrase
  TOP ONLY:
  - FOR YOU divider removal
  - FEATURE intro grid intrinsic height
  - FEATURE detail rhythm values
  - ABOUT display gap cleanup
  - mobile gallery continuous motion restored
*/
@media (max-width:760px){
  /* COMMON MASTER: tag length must not move the headline start position. */
  .news-row-main{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr)!important;
    column-gap:16px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .news-row-main .news-category-tag{
    grid-column:1!important;
    justify-self:start!important;
    width:max-content!important;
    max-width:116px!important;
  }
  .news-row-main .news-row-title{
    grid-column:2!important;
    min-width:0!important;
    width:100%!important;
  }

  /* TOP: FOR YOU opening copy belongs to one uninterrupted semantic group. */
  .setoda-intro-story{
    border-top:0!important;
  }

  /* TOP: remove inherited 620px minimum that created empty air above the cards. */
  .feature-lead .feature-head{margin-bottom:16px!important}
  .feature-grid{
    min-height:0!important;
    height:auto!important;
    align-items:flex-end!important;
  }

  /* TOP: exact FEATURE reading rhythm requested. */
  .setoda-value-category{
    margin-top:30px!important;
    margin-bottom:0!important;
  }
  .setoda-value h3{
    margin-top:10px!important;
    margin-bottom:20px!important;
  }
  .setoda-value-body p{
    margin-top:0!important;
    margin-bottom:15px!important;
  }

  /* TOP: line alignment handles position; manual padding is no longer needed. */
  .setoda-about-type{gap:5px!important}
  .setoda-about-type span:nth-child(2),
  .setoda-about-type span:nth-child(3){padding-left:0!important}

  /* TOP: same continuously moving gallery language as desktop. */
  .gallery-viewport{
    overflow:hidden!important;
    scroll-snap-type:none!important;
    touch-action:pan-y!important;
  }
  .gallery-track{
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    padding:0!important;
    animation:setodaGalleryInfiniteV4 84s linear infinite!important;
    will-change:transform!important;
  }
  .gallery-group,
  .gallery-group[aria-hidden="true"]{
    display:flex!important;
    flex:none!important;
  }

  /* COMMON MASTER: equal optical breathing room above and below the two-line phrase. */
  .setoda-footer-phrase{
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    row-gap:24px!important;
    height:auto!important;
    min-height:176px!important;
    padding:30px 0!important;
  }
  .setoda-footer-phrase span{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
  }
  .setoda-footer-phrase-one{
    justify-self:start!important;
    text-align:left!important;
  }
  .setoda-footer-phrase-two{
    justify-self:end!important;
    text-align:right!important;
  }
}

@media (max-width:360px){
  /* Keep the title lane aligned even on the narrowest supported devices. */
  .news-row-main{
    grid-template-columns:108px minmax(0,1fr)!important;
    column-gap:12px!important;
  }
  .news-row-main .news-category-tag{max-width:104px!important}
}

@keyframes setodaGalleryInfiniteV4{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .gallery-track{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
}


/* v44 style block 15: setoda-responsive-refinement-v5 */

/*
  Responsive refinement v5
  COMMON MASTER:
  - NEWS headline lane starts closer to the category lane while remaining aligned across rows
  TOP ONLY:
  - FEATURE banner group begins 70px below its explanatory block on smartphone
*/
@media (max-width:760px){
  /* COMMON MASTER: no artificial gap between the fixed category lane and headline lane. */
  .news-row-main{
    column-gap:0!important;
    gap:0!important;
  }

  /* TOP: requested semantic distance from the FEATURE explanation to the banner rail. */
  .feature-grid{
    margin-top:70px!important;
  }
}


/* v44 style block 16: setoda-responsive-refinement-v6 */

/*
  Responsive refinement v6
  COMMON MASTER:
  - NEWS category tag occupies its own row on smartphone
  TOP ONLY:
  - FOR YOU third/lemon image uses the same vertical rhythm as the other orbit images
*/
@media (max-width:760px){
  /* COMMON MASTER: category and headline are independent rows, aligned to one left edge. */
  .news-row-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:0!important;
    row-gap:10px!important;
    align-items:start!important;
  }
  .news-row-main .news-category-tag{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
  }
  .news-row-main .news-row-title{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    padding-right:0!important;
  }

  /* TOP: unify the third (lemon) image's top spacing with the other FOR YOU images. */
  .setoda-intro-orbit-right-top{
    margin:var(--mobile-group-related) auto 0 4%!important;
  }
}


/* v44 style block 17: setoda-responsive-refinement-v7 */

/*
  Responsive refinement v7
  COMMON MASTER:
  - NEWS smartphone rows use two semantic lines:
    1) date + category tag
    2) headline + arrow
*/
@media (max-width:760px){
  .news-row{
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr) 32px!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:10px!important;
    align-items:center!important;
  }
  .news-row time{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
  }
  .news-row-main{
    display:contents!important;
  }
  .news-row-main .news-category-tag{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
  }
  .news-row-main .news-row-title{
    grid-column:1 / 4!important;
    grid-row:2!important;
    align-self:center!important;
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  .news-row .news-circle{
    grid-column:4!important;
    grid-row:2!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
  }
}


/* v44 style block 18: fab-top-copy-refinement-v2 */

/* 下層ページへの独立テキスト導線は、各コンテンツの右端を基準に配置 */
.news-more,
.setoda-value-inner > .setoda-text-link,
.setoda-about-content > .setoda-about-link{
  display:flex!important;
  width:max-content!important;
  margin-left:auto!important;
}
.setoda-reservation-sub{justify-content:flex-end!important}

/* ACCESS / FAQ：読むための小本文だけを底上げし、番号・キッカー等のメタ情報は小ささを維持 */
.support-summary{
  font-size:13px !important;
  line-height:1.9!important;
}
.support-detail-grid dd{
  font-size:13px !important;
  line-height:2!important;
}
.international-detail-grid dt small{
  font-size:12px !important;
  line-height:1.55!important;
}
.setoda-footer-address span{
  font-size:12px !important;
  line-height:1.85!important;
}

/* FEATUREバナー：最小コピーを削除した2階層構成。横書きカテゴリは右下へ */
.feature-card .fc-category{
  right:16px!important;
  bottom:20px!important;
  width:calc(100% - 82px)!important;
  opacity:.98;
  transition:opacity .82s ease,transform .82s var(--ease)!important;
}
.feature-card .no{
  transition:opacity .82s ease!important;
}
@media(hover:hover) and (min-width:1041px){
  .feature-grid:has(.feature-card:hover) .feature-card:not(:hover) .fc-category,
  .feature-grid:has(.feature-card:hover) .feature-card:not(:hover) .no{
    opacity:0!important;
  }
}

@media(max-width:820px){
  .support-summary{font-size:13px !important}
  .support-detail-grid dd{font-size:13px !important;line-height:1.95!important}
}
@media(max-width:760px){
  .setoda-reservation-sub{align-items:flex-end!important}
  .feature-card .fc-category{bottom:20px!important;font-size:12px !important}
}


/* v44 style block 19: fab-top-copy-refinement-v3 */

/* FEATURE 01-05: 「詳細を見る」の右端は本文ブロック（max 520px）の右端へ揃える */
.setoda-value-inner > .setoda-text-link{
  margin-left:auto!important;
  }

/* International FAQ: guide / CTA の左右端を、下の本文グリッドと同じ外寸に揃える */
.international-guide-head,
.support-panel-inner > .support-consult-link{
  width:calc(100% - 58px);
  margin-left:58px;
  margin-right:0;
}

/* 英語圏向けアコーディオンの補助ラベルも英語で統一 */
.support-accordion-item-international .support-accordion-trigger strong::after{
  content:"TRAVEL INFORMATION";
}

/* ABOUT: 「私たちについて」の右端を直上本文（max 580px）の右端へ揃える */
.setoda-about-content > .setoda-about-link{
  margin-left:auto!important;
  margin-right:max(0px,calc(100% - 580px))!important;
}

@media(max-width:760px){
  .international-guide-head,
  .support-panel-inner > .support-consult-link{
    width:calc(100% - 34px);
    margin-left:34px;
  }
  .setoda-value-inner > .setoda-text-link,
  .setoda-about-content > .setoda-about-link{
    }
}


/* v44 style block 20: fab-top-spacing-refinement-v4 */

/* International FAQ: expanded guide starts on the same left edge as the trigger title, with more breathing room above. */
@media(min-width:1041px){
  .support-accordion-item-international .international-guide-head{
    width:auto!important;
    margin-left:calc(62px + clamp(16px,3vw,46px))!important;
    margin-right:clamp(18px,3vw,38px)!important;
    margin-top:clamp(38px,4.6vw,60px)!important;
    padding-top:0!important;
  }
}
@media(min-width:761px) and (max-width:1040px){
  .support-accordion-item-international .international-guide-head{
    width:auto!important;
    margin-left:calc(52px + clamp(16px,3vw,46px))!important;
    margin-right:clamp(18px,3vw,38px)!important;
    margin-top:clamp(36px,4.4vw,54px)!important;
    padding-top:0!important;
  }
}

/* Accordion CTAs: align to the actual text edges inside the first/last detail columns.
   Remove CTA bottom border so it does not double with the accordion-item boundary. */
.support-panel-inner > .support-consult-link{
  width:auto!important;
  margin-left:calc(58px + clamp(18px,3vw,38px))!important;
  margin-right:clamp(18px,3vw,38px)!important;
  margin-top:clamp(28px,3.2vw,42px)!important;
  margin-bottom:clamp(24px,3vw,38px)!important;
  border-bottom:0!important;
}

@media(max-width:760px){
  .support-accordion-item-international .international-guide-head{
    width:auto!important;
    margin-left:47px!important;
    margin-right:15px!important;
    margin-top:32px!important;
    padding-top:0!important;
  }
  .support-panel-inner > .support-consult-link{
    width:auto!important;
    margin-left:49px!important;
    margin-right:15px!important;
    margin-top:28px!important;
    margin-bottom:26px!important;
    border-bottom:0!important;
  }
}


/* v44 style block 21: fab-editorial-color-master-v1 */

/*
  farm and bed SETODA / editorial color master
  Stay Information v5 parity:
  - Reading body text on light backgrounds uses #5c5856.
  - Headings, labels, feature cards, hero text and image-overlay text keep their existing colors.
*/
:root{
  --fab-editorial-body:#5c5856;
}

/* INTRO / FOR YOU */
.setoda-intro-story p,

/* FEATURE DETAILS */
.setoda-value-body p,

/* ACCESS / FAQ / SUPPORT */
.support-head p,
.support-summary,
.support-detail-grid dd,
.international-guide-head p,

/* RESERVATION SUPPORTING COPY */
.setoda-reservation-copy p{
  color:var(--fab-editorial-body)!important;
}


/* v44 style block 22: fab-brown-font-palette-v2 */

/*
  farm and bed SETODA / TOP font palette refinement v2
  Match the STAY INFORMATION editorial hierarchy:
  - strong headings / important text: #482d12
  - labels / meta / text links: #73563b
  - editorial body text remains #5c5856 (defined in the previous refinement)
  Green backgrounds, borders and the green-footer palette are intentionally preserved.
*/
:root{
  --fab-editorial-strong:#482d12;
  --fab-editorial-meta:#73563b;
}

/* Light-background labels / meta text */
.menu-primary a:hover,
.menu-primary a:focus-visible,
.setoda-round-label,
.setoda-intro-eyebrow,
.setoda-intro-photo figcaption,
.setoda-copy-label,
.setoda-values-kicker,
.setoda-value-meta,
.setoda-text-link,
.setoda-reservation-head p,
.setoda-reservation-copy > span,
.setoda-island-location-note{
  color:var(--fab-editorial-meta)!important;
}

/* Light-background primary headings / important text */
.setoda-intro h2,
.setoda-intro-center h2,
.setoda-intro-closing,
.setoda-values h2,
.setoda-value h3,
.setoda-reservation,
.setoda-reservation-head h2,
.setoda-reservation-copy h3,
.setoda-reservation-action strong,
.setoda-reservation-action i,
.setoda-reservation-sub .fab-detail-link{
  color:var(--fab-editorial-strong)!important;
}

/* Keep the established editorial paragraph color. */
.setoda-intro-story p,
.setoda-value-body p,
.support-head p,
.support-row p,
.setoda-reservation-copy p{
  color:var(--fab-editorial-body,#5c5856)!important;
}


/* v44 style block 23: fab-feature-background-koune-v1 */

/* =========================================================
   FEATURE BACKGROUND REVEAL — KOUNE ISLAND METHOD
   z0 : one fixed Koune Island photo
   z1 : one fixed paper-color surface
   z2 : page contents
   No section-edge gradient is used for the reveal.
   ========================================================= */

.feature-island-backdrop{
  position:fixed!important;
  z-index:0!important;
  inset:0!important;
  margin:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:none!important;
  transform:translateZ(0);
}
html.feature-fixed-scene-active .feature-island-backdrop{
  opacity:1!important;
  visibility:visible!important;
}

/* Remove the former black/gray local membranes completely. */
.feature-island-backdrop::before,
.feature-island-backdrop::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  opacity:0!important;
}

/* Keep only the same uniform photo tone used by the Koune page. */
.feature-island-backdrop img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 47%!important;
  filter:brightness(.68) saturate(.82) contrast(1.10)!important;
  transform:scale(1.075) translate3d(0,var(--feature-photo-shift,0vh),0)!important;
  transition:none!important;
  will-change:transform;
}

/* Same role as .ki-unified-page-surface on the Koune Island page. */
.feature-unified-page-surface{
  position:fixed;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:#f0eee5;
  opacity:1;
  visibility:hidden;
  will-change:opacity;
  transform:translateZ(0);
}
html.feature-fixed-scene-active .feature-unified-page-surface{
  visibility:visible;
}
.feature-unified-page-surface.is-exit-paper{
  background:#efede3;
}

/*
  Only while the fixed scene is active, adjacent sections share the same
  single paper surface. This removes the physical horizontal boundary itself.
*/
html.feature-fixed-scene-active .setoda-intro,
html.feature-fixed-scene-active .feature-lead,
html.feature-fixed-scene-active .setoda-values,
html.feature-fixed-scene-active .setoda-values-copy,
html.feature-fixed-scene-active .setoda-value{
  background:transparent!important;
}

/* Outside the transition, preserve the previously approved paper colors. */
html:not(.feature-fixed-scene-active) .feature-lead{
  background:linear-gradient(180deg,#f0eee5 0%,#efede3 100%)!important;
}

/* The old section-edge reveal gradient is completely retired. */
.feature-lead::before{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}

main,
.setoda-footer{
  position:relative;
  z-index:2!important;
}
.feature-lead{
  z-index:3!important;
}

@media(max-width:760px){
  .feature-island-backdrop img{
    object-position:58% center!important;
    transform:scale(1.065) translate3d(0,var(--feature-photo-shift,0vh),0)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.feature-fixed-scene-active .feature-unified-page-surface{
    opacity:0!important;
  }
  .feature-island-backdrop img{
    transform:scale(1.04)!important;
  }
}


/* v44 style block 24: fab-feature-values-spacing-refinement-v1 */

/* =========================================================
   FEATURE → VALUES / NEWS → FOR YOU refinement
   ========================================================= */

/*
  FEATUREの下端紙色とVALUESの最終背景色を完全一致させる。
  transition終了時に背景色が切り替わって見える水平境界をなくす。
*/
.setoda-values,
.setoda-values-copy,
.setoda-value{
  background:#efede3!important;
}

/*
  NEWS → FOR YOU は「NEWSの下余白 + FOR YOUの上余白」を
  二重に足さず、1つの章間余白として管理する。
  Desktop / Tablet は editorial spacing 1個分を両側で半分ずつ持つ。
*/
.news{
  padding-bottom:calc(var(--section-space-editorial) / 2)!important;
}
.news + .setoda-intro{
  padding-top:calc(var(--section-space-editorial) / 2)!important;
}

@media(max-width:760px){
  /*
    下層/共通レスポンシブで確定した「章の切り替え = 80px」を
    NEWS側40px + FOR YOU側40pxに分けて適用。
  */
  .news{
    padding-bottom:40px!important;
  }
  .news + .setoda-intro{
    padding-top:40px!important;
  }
}


/* v44 style block 25: fab-support-background-refinement-v1 */

/* ACCESS & FAQ: FEATURE / VALUES と同じ紙色へ統一 */
.stay-support{
  background:#efede3!important;
}


/* v44 style block 26: fab-mobile-feature-cleanup-v1 */

@media(max-width:760px){
  /*
    FEATURE horizontal grid:
    remove the smoky-looking plane created by overlapping card shadows.
    The fixed island photo remains the only background visual.
  */
  .feature-grid{
    background:transparent!important;
    box-shadow:none!important;
  }
  .feature-grid .feature-card,
  .feature-grid .feature-card:nth-child(n){
    box-shadow:none!important;
  }

  /* Safety: the hint has also been removed from the DOM. */
  .feature-swipe-hint{
    display:none!important;
  }

  /* Lower-page responsive body-size master applied to FEATURE details. */
  .setoda-value-body p{
    font-size:14px !important;
  }
}


/* v44 style block 27: fab-mobile-stay-support-spacing-v1 */

@media(max-width:760px){
  .stay-support{
    padding-top:0!important;
  }
}


/* v44 style block 28: fab-menu-close-icon-fix-v1 */

/* Menu close icon: center both strokes on the same axis so the open-state X is optically balanced. */
.menu-open .menu-lines::before,
.menu-open .menu-lines::after{
  top:50%!important;
  bottom:auto!important;
  left:50%!important;
  width:15px!important;
  transform-origin:50% 50%!important;
}
.menu-open .menu-lines::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
.menu-open .menu-lines::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}


/* v44 style block 29: fab-aug13-top-refinement-v2 */

/* User-requested final TOP refinements. */
.eyebrow{
  margin-bottom:10px!important;
}
.setoda-value-category{
  color:#73563b!important;
}
@media(max-width:760px){
  /* FEATURE sits inside an already-guttered section; remove the second inset. */
  .feature-lead .feature-head{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* v44 style block 30: client-revision-20260816-reservation */

/* Client revision: reservation banner only. Existing component code remains intact underneath. */
.setoda-reservation-card.fab-best-rate-card{
  display:block!important;position:relative!important;isolation:isolate!important;
  min-height:clamp(235px,19vw,300px)!important;padding:clamp(38px,4.8vw,70px)!important;
  overflow:hidden!important;background:var(--setoda-paper,#f8f6ef)!important;color:var(--setoda-green-deep,#0d3420)!important;
  border:1px solid var(--setoda-line,rgba(22,75,45,.20))!important;
  transition:transform .8s var(--setoda-ease,var(--ease)),box-shadow .8s var(--setoda-ease,var(--ease)),border-color .8s var(--setoda-ease,var(--ease))!important;
}
.setoda-reservation-card.fab-best-rate-card::before{
  content:""!important;position:absolute!important;z-index:0!important;inset:-3%!important;width:auto!important;height:auto!important;
  right:-3%!important;top:-3%!important;border:0!important;border-radius:0!important;pointer-events:none!important;
  background-image:linear-gradient(90deg,rgba(248,246,239,1) 0%,rgba(248,246,239,.985) 27%,rgba(248,246,239,.88) 49%,rgba(248,246,239,.52) 70%,rgba(248,246,239,.16) 100%),var(--fab-media-002-url)!important;
  background-position:center right!important;background-size:cover!important;background-repeat:no-repeat!important;
  opacity:.92!important;transform:scale(1.02)!important;transform-origin:right center!important;
  transition:transform 1.65s var(--setoda-ease,var(--ease)),filter 1.25s ease,opacity 1.1s ease!important;
}
.setoda-reservation-card.fab-best-rate-card::after{
  content:"";position:absolute;z-index:0;left:clamp(38px,4.8vw,70px);bottom:clamp(28px,3.5vw,48px);
  width:42px;height:1px;background:var(--setoda-green,#164b2d);opacity:.45;
  transition:width .85s var(--setoda-ease,var(--ease)),opacity .85s var(--setoda-ease,var(--ease));
}
.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy{
  position:relative!important;z-index:2!important;max-width:min(58%,720px)!important;
  transition:transform .9s var(--setoda-ease,var(--ease))!important;
}
.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy>span{margin-bottom:18px!important;color:var(--setoda-green,#164b2d)!important}
.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy h3{
  margin:0 0 16px!important;color:var(--setoda-green-deep,#0d3420)!important;
  font-size:max(var(--fab-font-minimum), clamp(25px,2.25vw,36px)) !important;line-height:1.55!important;
}
.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy p{
  margin:0!important;width:max-content;max-width:100%;color:var(--setoda-muted,#667168)!important;
  font-size:max(var(--fab-font-minimum), clamp(12px,.9vw,14px)) !important;line-height:1.9!important;
  text-decoration:none;
}
.setoda-reservation-card.fab-best-rate-card:hover{
  transform:translateY(-5px)!important;box-shadow:0 25px 65px rgba(38,57,43,.13)!important;
  background:var(--setoda-paper,#f8f6ef)!important;color:var(--setoda-green-deep,#0d3420)!important;border-color:rgba(22,75,45,.34)!important;
}
.setoda-reservation-card.fab-best-rate-card:hover::before{transform:scale(1.075) translateX(-.6%)!important;filter:saturate(1.05) contrast(1.025)!important;opacity:1!important}
.setoda-reservation-card.fab-best-rate-card:hover::after{width:78px;opacity:.8}
.setoda-reservation-card.fab-best-rate-card:hover .setoda-reservation-copy{transform:translateX(5px)}
.setoda-reservation-card.fab-best-rate-card:hover .setoda-reservation-copy>span{color:var(--setoda-green,#164b2d)!important}
.setoda-reservation-card.fab-best-rate-card:hover .setoda-reservation-copy p{color:var(--setoda-muted,#667168)!important}
@media(max-width:760px){
  .setoda-reservation-card.fab-best-rate-card{min-height:245px!important;padding:31px 25px 40px!important}
  .setoda-reservation-card.fab-best-rate-card::before{
    inset:-2%!important;right:-2%!important;top:-2%!important;
    background-image:linear-gradient(90deg,rgba(248,246,239,1) 0%,rgba(248,246,239,.97) 34%,rgba(248,246,239,.74) 64%,rgba(248,246,239,.28) 100%),var(--fab-media-002-url)!important;
    background-position:64% center!important;
  }
  .setoda-reservation-card.fab-best-rate-card::after{left:25px;bottom:25px;width:32px}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy{max-width:78%!important}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy>span{margin-bottom:14px!important;font-size:var(--fab-font-minimum) !important}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy h3{font-size:25px !important;margin-bottom:13px!important}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy p{font-size:12px !important;line-height:1.8!important}
}
@media(prefers-reduced-motion:reduce){
  .setoda-reservation-card.fab-best-rate-card,.setoda-reservation-card.fab-best-rate-card::before,.setoda-reservation-card.fab-best-rate-card::after,.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy{transition:none!important}
}


/* Client revision v4: make the reservation destination explicit without adding a decorative underline. */
.setoda-reservation-card.fab-best-rate-card::after{
  content:none!important;display:none!important;
}
.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy p{
  text-decoration:none!important;
}
.setoda-reservation-card.fab-best-rate-card .fab-best-rate-action{
  display:inline-flex;align-items:center;gap:14px;
  margin-top:clamp(24px,2.15vw,34px);
  color:inherit;
  font:500 var(--fab-font-minimum)/1.4 var(--setoda-sans,var(--sans));
  letter-spacing:.14em;
  white-space:nowrap;
}
.setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i{
  display:inline-grid;place-items:center;
  width:42px;height:42px;
  border:1px solid currentColor;border-radius:50%;
  font:400 15px/1 var(--setoda-sans,var(--sans));font-style:normal;
  transition:transform .65s var(--setoda-ease,var(--ease)),background-color .65s var(--setoda-ease,var(--ease)),color .65s var(--setoda-ease,var(--ease));
}
@media(hover:hover){
  .setoda-reservation-card.fab-best-rate-card:hover .fab-best-rate-action i{transform:translateX(4px)}
}
@media(max-width:760px){
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action{gap:11px;margin-top:21px;font-size:var(--fab-font-minimum);letter-spacing:.13em}
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i{width:36px;height:36px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i{transition:none!important}
}


/* v44 style block 31: client-revision-20260816-top-best-rate */

/* Client revision v5: BEST RATE follows the rounded NEWS-tag language, with a restrained light sweep on hover. */
.quick-booking.home-best-rate{
  padding:clamp(27px,3vw,44px) var(--pad)!important;
  background:#f7f6f2!important;
  border-bottom:1px solid rgba(72,45,18,.10)!important;
}
.home-best-rate-inner{width:min(100%,var(--max));margin:0 auto}
.home-best-rate-link{
  position:relative;display:grid;
  grid-template-columns:auto minmax(0,1fr) 38px;
  align-items:center;gap:clamp(24px,3vw,48px);
  min-height:82px;padding:0 clamp(22px,2.5vw,38px);
  color:var(--brown);
  border:1px solid rgba(72,45,18,.22);
  border-radius:10px;
  background:rgba(255,253,248,.24);
  overflow:hidden;
  transition:background-color .72s var(--ease),border-color .72s var(--ease),box-shadow .72s var(--ease);
}
.home-best-rate-link::before{
  content:"";position:absolute;z-index:0;top:-55%;left:-24%;width:28%;height:210%;pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(210,180,81,.10),rgba(255,255,255,0));
  transform:translateX(-170%) skewX(-14deg);
  transition:transform 1.05s var(--ease);
}
.home-best-rate-kicker{
  position:relative;z-index:1;
  font:600 max(var(--fab-font-minimum), clamp(9px,.62vw,11px))/1.3 var(--sans);
  letter-spacing:.17em;color:var(--brown-soft);white-space:nowrap;
  transition:color .65s var(--ease);
}
.home-best-rate-message{
  position:relative;z-index:1;margin:0;
  font:400 max(var(--fab-font-minimum), clamp(14px,1.15vw,16px))/1.8 var(--serif);
  letter-spacing:.055em;
  transition:transform .75s var(--ease),color .65s var(--ease);
}
.home-best-rate-cta{
  position:relative;z-index:1;display:grid;place-items:center;
  width:36px;height:36px;padding:0;border:1px solid rgba(72,45,18,.20);border-radius:50%;
  background:rgba(255,253,248,.26);
  font:400 18px/1 var(--sans);letter-spacing:0;white-space:nowrap;
  transition:transform .75s var(--ease),border-color .65s var(--ease),background-color .65s var(--ease);
}
.home-best-rate-cta::after{content:none!important;display:none!important}
@media(hover:hover) and (pointer:fine){
  .home-best-rate-link:hover,
  .home-best-rate-link:focus-visible{
    background:rgba(255,253,248,.68);
    border-color:rgba(72,45,18,.38);
    box-shadow:0 12px 34px rgba(72,45,18,.045);
  }
  .home-best-rate-link:hover::before,
  .home-best-rate-link:focus-visible::before{transform:translateX(520%) skewX(-14deg)}
  .home-best-rate-link:hover .home-best-rate-kicker,
  .home-best-rate-link:focus-visible .home-best-rate-kicker{color:var(--brown)}
  .home-best-rate-link:hover .home-best-rate-message,
  .home-best-rate-link:focus-visible .home-best-rate-message{transform:translateX(3px)}
  .home-best-rate-link:hover .home-best-rate-cta,
  .home-best-rate-link:focus-visible .home-best-rate-cta{
    transform:translateX(3px);
    border-color:rgba(72,45,18,.40);
    background:rgba(255,253,248,.76);
  }
}
@media(max-width:760px){
  .quick-booking.home-best-rate{padding:20px 20px!important}
  .home-best-rate-link{
    grid-template-columns:minmax(0,1fr) 34px;
    grid-template-rows:auto auto;
    gap:0px 14px;padding:17px 18px 17px 22px;
  }
  .home-best-rate-kicker{grid-column:1;grid-row:1;font-size:var(--fab-font-minimum);letter-spacing:.17em}
  .home-best-rate-message{grid-column:1;grid-row:2;font-size:12px;line-height:1.75;letter-spacing:.04em}
  .home-best-rate-cta{grid-column:2;grid-row:1/3;width:34px;height:34px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .home-best-rate-link,.home-best-rate-link::before,.home-best-rate-kicker,.home-best-rate-message,.home-best-rate-cta{transition:none!important}
}


/* v44 style block 32: client-revision-20260816-bottom-banners-v7 */

/*
  Client revision v7
  - Reservation banner / EXPLORE MORE cards: 10px radius
  - Hover motion is deliberately restrained for the fab brand tone
  - Best-rate sentence receives a quiet underline
  - Reservation-site label and arrow are rebalanced in scale
*/

/* Reservation banner -------------------------------------------------- */
.setoda-reservation-card.fab-best-rate-card{
  border-radius:10px!important;
  transition:
    transform .8s var(--setoda-ease,var(--ease)),
    box-shadow .8s var(--setoda-ease,var(--ease)),
    border-color .8s var(--setoda-ease,var(--ease))!important;
}

.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy{
  transform:none!important;
  transition:none!important;
}

.setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy p{
  text-decoration-line:underline!important;
  text-decoration-thickness:1px!important;
  text-decoration-color:rgba(22,75,45,.34)!important;
  text-underline-offset:5px!important;
  text-decoration-skip-ink:auto!important;
}

.setoda-reservation-card.fab-best-rate-card .fab-best-rate-action{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  font-size:11px !important;
  line-height:1.4!important;
  letter-spacing:.12em!important;
}

.setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  font-size:12px !important;
  line-height:1!important;
  transform:none!important;
  transition:
    transform .72s var(--setoda-ease,var(--ease)),
    background-color .72s var(--setoda-ease,var(--ease)),
    border-color .72s var(--setoda-ease,var(--ease))!important;
}

@media(hover:hover){
  .setoda-reservation-card.fab-best-rate-card:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 14px 36px rgba(38,57,43,.075)!important;
    border-color:rgba(22,75,45,.30)!important;
  }
  .setoda-reservation-card.fab-best-rate-card:hover::before{
    transform:scale(1.025)!important;
    filter:saturate(1.02)!important;
    opacity:.96!important;
  }
  .setoda-reservation-card.fab-best-rate-card:hover .setoda-reservation-copy{
    transform:none!important;
  }
  .setoda-reservation-card.fab-best-rate-card:hover .fab-best-rate-action i{
    transform:translateX(3px)!important;
    background-color:rgba(22,75,45,.055)!important;
  }
}

/* Lower-page navigation banners / EXPLORE MORE ----------------------- */
.si-journey-card{
  border-radius:10px!important;
  transition:box-shadow .9s var(--ease),transform .9s var(--ease)!important;
}
.si-journey-card figure{
  border-radius:inherit!important;
}
.si-journey-card figure::after{
  transition:background .95s var(--ease)!important;
}
.si-journey-card img{
  transition:transform 1.35s var(--ease),filter 1.1s var(--ease)!important;
}
.si-journey-copy i{
  transition:
    transform .72s var(--ease),
    background-color .72s var(--ease),
    border-color .72s var(--ease),
    color .72s var(--ease)!important;
}

@media(hover:hover){
  .si-journey-card:hover{
    transform:translateY(-1px)!important;
    box-shadow:0 16px 34px rgba(37,45,34,.08)!important;
  }
  .si-journey-card:hover img{
    transform:scale(1.018)!important;
    filter:saturate(1.015)!important;
  }
  .si-journey-card:hover figure::after{
    background:linear-gradient(180deg,rgba(5,29,17,.03) 22%,rgba(5,29,17,.70) 100%)!important;
  }
  .si-journey-card:hover .si-journey-copy i{
    transform:translate(2px,-2px)!important;
    background:rgba(255,255,255,.08)!important;
    border-color:rgba(255,255,255,.68)!important;
    color:#fffdf8!important;
  }
}

@media(max-width:760px){
  .setoda-reservation-card.fab-best-rate-card,
  .si-journey-card{
    border-radius:10px!important;
  }
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action{
    gap:9px!important;
    font-size:11px !important;
  }
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i{
    width:30px!important;
    height:30px!important;
    flex-basis:30px!important;
    font-size:11px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .setoda-reservation-card.fab-best-rate-card,
  .setoda-reservation-card.fab-best-rate-card::before,
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i,
  .si-journey-card,
  .si-journey-card img,
  .si-journey-card figure::after,
  .si-journey-copy i{
    transition:none!important;
    transform:none!important;
  }
}


/* v44 style block 33: fab-v9-support-more-links */

.support-more-links{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  margin-top:24px;
  text-align:right;
}
.support-more-links a{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  color:var(--brown-soft);
  font-size:12px;
  line-height:1.7;
  letter-spacing:.055em;
  transition:color .55s var(--ease);
}
.support-more-links a i{
  display:inline-block;
  font-style:normal;
  font-size:13px;
  line-height:1;
  transform:translateX(0);
  transition:transform .55s var(--ease);
}
@media (hover:hover){
  .support-more-links a:hover{color:var(--brown)}
  .support-more-links a:hover i{transform:translateX(3px)}
}
@media (max-width:720px){
  .support-more-links{margin-top:20px;gap:14px}
  .support-more-links a{font-size:11px;gap:8px}
}


/* v44 style block 34: fab-menu-refinement-v11 */

/* Menu refinement v11
   - remove language switch block
   - keep the left-side brand statement on exactly two fixed lines
   - prevent hover interactions from changing the navigation layout width
*/
.menu-visual-copy strong{
  font-size:max(var(--fab-font-minimum), clamp(14px,1.65vw,29px));
}
.menu-visual-copy strong .menu-copy-line{
  display:block;
  white-space:nowrap;
}
.menu-primary,
.menu-primary a,
.menu-label,
.menu-utility-links,
.menu-utility-links a{
  min-width:0;
  max-width:100%;
}
.menu-primary a{
  width:100%;
  overflow:hidden;
}
@media (hover:hover){
  .menu-primary a:hover,
  .menu-primary a:focus-visible{
    padding-left:0!important;
  }
  .menu-panel nav > a:hover .menu-label,
  .menu-panel nav > a:focus-visible .menu-label,
  .menu-utility-links a:hover > span,
  .menu-utility-links a:focus-visible > span{
    transform:none!important;
  }
  .menu-utility-links a:hover small,
  .menu-utility-links a:focus-visible small{
    transform:none!important;
  }
  .menu-panel nav > a:hover i,
  .menu-panel nav > a:focus-visible i{
    transform:translateX(3px)!important;
  }
}
@media (max-width:760px){
  .menu-visual-copy strong{
    font-size:17px !important;
  }
}
@media (max-width:360px){
  .menu-visual-copy strong{
    font-size:15px !important;
    letter-spacing:.065em!important;
  }
}


/* v44 style block 36: fab-menu-utility-extension-v6 */

/* Client-preview v6: add CONTACT / INSTAGRAM directly below NEWS without changing the established utility-link design. */
.menu-utility-links a{min-width:0;}
.menu-utility-links a > span{min-width:0;}
.menu-utility-links a > small{flex:0 0 auto;}
/* Keep the expanded menu compact on shorter desktop/tablet viewports while preserving the same visual hierarchy. */
@media (min-width:761px) and (max-height:820px){
  .menu-directory{padding-top:32px!important;padding-bottom:20px!important;}
  .menu-directory-head{padding-bottom:24px!important;}
  .menu-directory-body{padding-top:22px!important;padding-bottom:22px!important;}
  .menu-primary a{min-height:60px!important;}
  .menu-utility-links{margin-top:18px!important;}
  .menu-utility-links a{padding:10px 0!important;}
  .menu-contact-meta{margin-top:18px!important;}
  .menu-footer{padding-top:14px!important;}
}
@media (max-width:760px){
  .menu-utility-links a > span{overflow-wrap:normal;word-break:keep-all;}
}


/* v44 style block 37: fab-menu-legal-v7 */

/* Client-preview v7: legal/policy labels are intentionally secondary, and the duplicated
   INSTAGRAM / CONTACT labels at the very bottom of the expanded menu are removed. */
.menu-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px 16px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:var(--brown-soft);
  font:500 var(--fab-font-minimum)/1.65 var(--sans);
  letter-spacing:.12em;
  opacity:.76;
}
.menu-legal-links span{white-space:nowrap;}
.menu-footer{grid-template-columns:minmax(0,1fr) auto!important;}
.menu-footer small{grid-column:auto!important;justify-self:end;}
@media (max-width:760px){
  .menu-legal-links{
    gap:7px 13px;
    margin-top:14px;
    padding-top:13px;
    font-size:var(--fab-font-minimum);
    letter-spacing:.1em;
  }
  .menu-footer{grid-template-columns:minmax(0,1fr) auto!important;}
  .menu-footer small{grid-column:auto!important;justify-self:end!important;}
}
@media (max-width:360px){
  .menu-legal-links{gap:6px 10px;font-size:var(--fab-font-minimum);}
}


/* v44 style block 38: fab-menu-footer-copyright-v8 */

/* Client-preview v8: keep only the copyright in the expanded-menu footer.
   It inherits the exact size/color of the former left-side footer label and aligns to the rule's right edge. */
.menu-footer{
  grid-template-columns:1fr!important;
}
.menu-footer > small{
  grid-column:1!important;
  justify-self:end!important;
  font-size:var(--fab-font-minimum) !important;
  color:var(--brown-soft)!important;
}
@media (max-width:760px){
  .menu-footer{grid-template-columns:1fr!important;}
  .menu-footer > small{grid-column:1!important;justify-self:end!important;font-size:var(--fab-font-minimum) !important;}
}


/* v44 style block 39: fab-microtype-readability-v10 */

/* v10 readability correction:
   The previous pass missed font-size values written via the CSS `font` shorthand.
   Legal/policy labels also receive a practical readability floor while remaining secondary. */
.menu-legal-links{font-size:var(--fab-font-minimum) !important;}
@media(max-width:760px){.menu-legal-links{font-size:var(--fab-font-minimum) !important;}}
@media(max-width:360px){.menu-legal-links{font-size:var(--fab-font-minimum) !important;}}


/* v44 style block 40: fab-menu-legal-footer-v11 */

/* Client-preview v11
   Legal/policy labels are moved beneath the final menu rule so they remain secondary
   without compressing the navigation area. 10px is the readability floor;
   only <=360px uses 9px. */
.menu-footer{
  grid-template-columns:1fr!important;
  grid-template-areas:"legal" "copyright"!important;
  align-items:start!important;
  gap:6px!important;
  padding-top:10px!important;
}
.menu-footer .menu-legal-links{
  grid-area:legal!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0 18px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:var(--brown-soft)!important;
  font-family:var(--sans)!important;
  font-size:var(--fab-font-minimum) !important;
  font-weight:500!important;
  line-height:1.55!important;
  letter-spacing:.09em!important;
  opacity:.76!important;
}
.menu-footer .menu-legal-links span{
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.menu-footer > small{
  grid-area:copyright!important;
  grid-column:1!important;
  justify-self:end!important;
  align-self:start!important;
  margin:0!important;
  font-size:var(--fab-font-minimum) !important;
  line-height:1.45!important;
  color:var(--brown-soft)!important;
}
@media(max-width:760px){
  .menu-footer{
    grid-template-columns:1fr!important;
    grid-template-areas:"legal" "copyright"!important;
    gap:5px!important;
    padding-top:10px!important;
  }
  .menu-footer .menu-legal-links{
    gap:0 14px!important;
    font-size:var(--fab-font-minimum) !important;
    letter-spacing:.07em!important;
  }
  .menu-footer > small{font-size:var(--fab-font-minimum) !important;}
}
@media(max-width:360px){
  .menu-footer .menu-legal-links{
    gap:0 11px!important;
    font-size:var(--fab-font-minimum) !important;
    letter-spacing:.055em!important;
  }
  .menu-footer > small{font-size:var(--fab-font-minimum) !important;}
}

/* v44 style block 42: fab-menu-compact-desktop-v13 */

/* v13 — menu refinement for smaller desktop windows.
   Keeps hierarchy intact while preventing awkward wraps/collisions around 1182px. */
.menu-label small{
  margin-top:5px!important;
  font-weight:400!important;
}

@media (min-width:761px) and (max-width:1280px){
  .menu-shell{
    grid-template-columns:minmax(260px,30vw) minmax(0,1fr)!important;
  }
  .menu-visual-copy{
    left:clamp(26px,3vw,42px)!important;
    right:clamp(26px,3vw,42px)!important;
    bottom:clamp(30px,4vw,48px)!important;
  }
  .menu-visual-copy strong{
    font-size:clamp(19px,1.8vw,24px)!important;
    line-height:1.75!important;
  }
  .menu-directory{
    padding:clamp(28px,3vw,42px) clamp(28px,3.2vw,44px) 22px!important;
  }
  .menu-directory-head{
    grid-template-columns:minmax(0,1fr) minmax(190px,.58fr)!important;
    gap:24px!important;
    align-items:end!important;
    padding-bottom:24px!important;
  }
  .menu-directory-head h2{
    font-size:clamp(21px,1.8vw,24px)!important;
    line-height:1.65!important;
  }
  .menu-directory-head p{
    max-width:300px!important;
    font-size:13px!important;
    line-height:1.9!important;
  }
  .menu-directory-body{
    display:block!important;
    padding:24px 0 20px!important;
  }
  .menu-primary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 28px!important;
  }
  .menu-primary a{
    grid-template-columns:26px minmax(0,1fr) 16px!important;
    gap:10px!important;
    min-height:68px!important;
    padding:4px 0!important;
  }
  .menu-label{min-width:0!important;}
  .menu-label b{
    font-size:14px!important;
    line-height:1.55!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .menu-label small{
    margin-top:5px!important;
    font-weight:400!important;
    line-height:1.35!important;
    letter-spacing:.14em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .menu-aside{
    display:grid!important;
    grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)!important;
    grid-template-areas:
      "reservation utility"
      "meta utility"!important;
    gap:14px 28px!important;
    align-items:start!important;
    margin-top:26px!important;
    min-width:0!important;
  }
  .menu-reservation{
    grid-area:reservation!important;
    min-height:78px!important;
    padding:18px!important;
  }
  .menu-reservation span{letter-spacing:.16em!important;}
  .menu-reservation strong{font-size:15px!important;}
  .menu-utility-links{
    grid-area:utility!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:22px!important;
    margin-top:0!important;
    border-top:1px solid var(--line)!important;
    min-width:0!important;
  }
  .menu-utility-links a{
    display:block!important;
    min-width:0!important;
    min-height:64px!important;
    padding:10px 0!important;
    line-height:1.5!important;
  }
  .menu-utility-links a span{
    display:block!important;
    min-width:0!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .menu-utility-links a small{
    display:block!important;
    margin-top:5px!important;
    text-align:left!important;
    line-height:1.35!important;
    letter-spacing:.12em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .menu-contact-meta{
    grid-area:meta!important;
    margin-top:0!important;
    gap:6px!important;
    min-width:0!important;
  }
  .menu-contact-meta p{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:0 10px!important;
    align-items:start!important;
  }
  .menu-contact-meta span{width:auto!important;}
  .menu-footer{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"legal copyright"!important;
    gap:18px!important;
    align-items:center!important;
    margin-top:auto!important;
    padding-top:12px!important;
  }
  .menu-footer .menu-legal-links{
    gap:0 14px!important;
    min-width:0!important;
  }
  .menu-footer > small{
    justify-self:end!important;
    white-space:nowrap!important;
  }
}

/* Narrow desktop / landscape tablet: retain desktop tone, but stack the auxiliary
   block so no item is squeezed into an unnatural column. */
@media (min-width:761px) and (max-width:960px){
  .menu-shell{
    grid-template-columns:minmax(230px,29vw) minmax(0,1fr)!important;
  }
  .menu-directory{
    padding:26px 24px 20px!important;
  }
  .menu-directory-head{
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:start!important;
  }
  .menu-directory-head p{
    max-width:100%!important;
    margin:0!important;
  }
  .menu-primary{gap:0 22px!important;}
  .menu-aside{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "reservation"
      "utility"
      "meta"!important;
    gap:16px!important;
  }
  .menu-utility-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:22px!important;
  }
  .menu-contact-meta p{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .menu-footer{
    grid-template-columns:1fr!important;
    grid-template-areas:"legal" "copyright"!important;
    gap:6px!important;
  }
  .menu-footer > small{justify-self:end!important;}
}

/* Mobile master already uses a one-column menu; only normalize the requested label rhythm. */
@media (max-width:760px){
  .menu-label small{
    margin-top:5px!important;
    font-weight:400!important;
  }
}


/* v44 style block 43: fab-menu-layout-v14 */

/* v14 — expanded-menu rhythm and desktop-width stability.
   1) EN labels stay secondary but readable.
   2) Long utility labels never collide with their EN labels.
   3) The 761–1280px desktop range gets deliberate spacing instead of compressed rows.
   4) The menu intro copy aligns with the Japanese title rather than floating above it.
   5) TOP NEWS category wrapping grows downward without shifting the heading block. */
.menu-utility-links a > span{
  min-width:0!important;
}
.menu-utility-links a small{
  display:block!important;
  margin-top:10px!important;
  font-weight:400!important;
  line-height:1.35!important;
}

/* Standard desktop: keep the Japanese and English utility labels in one vertical flow.
   This prevents FOR INTERNATIONAL GUESTS / TRAVEL INFORMATION from crossing at any width. */
@media (min-width:1281px){
  .menu-directory-head{
    align-items:start!important;
  }
  .menu-directory-head p{
    align-self:start!important;
    padding-top:30px!important;
    margin:0!important;
  }
  .menu-utility-links a{
    display:block!important;
    min-width:0!important;
  }
  .menu-utility-links a > span{
    display:block!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* Smaller desktop / landscape-tablet range requested by client review. */
@media (min-width:761px) and (max-width:1280px){
  .menu-directory-head{
    align-items:start!important;
  }
  .menu-directory-head p{
    align-self:start!important;
    padding-top:30px!important;
    margin:0!important;
  }
  .menu-aside{
    margin-top:50px!important;
  }
  .menu-utility-links{
    align-items:start!important;
  }
  .menu-utility-links a{
    padding-top:20px!important;
    padding-bottom:20px!important;
    align-self:stretch!important;
  }
  .menu-utility-links a > span{
    display:block!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* TOP NEWS: when category buttons occupy a second row, the heading remains anchored
     to its original top edge; only the tab group grows downward. */
  .news-heading-row{
    align-items:start!important;
  }
  .news-tabs{
    align-self:start!important;
    align-items:flex-start!important;
  }
}

/* At the narrowest desktop widths the menu heading becomes one column. Reset the
   alignment spacer because the explanatory copy now naturally follows the title. */
@media (min-width:761px) and (max-width:960px){
  .menu-directory-head p{
    padding-top:0!important;
    margin-top:10px!important;
  }
}

/* Mobile keeps the established one-column composition while sharing the requested
   label weight/rhythm. */
@media (max-width:760px){
  .menu-utility-links a small{
    margin-top:10px!important;
    font-weight:400!important;
  }
}


/* v44 style block 44: fab-responsive-menu-and-viewport-v15 */

/* v15 — menu no-wrap / variable visual width / viewport containment.
   The two menu sub-label families intentionally use a 10px floor, while the
   project-wide readability floor remains unchanged everywhere else. */
:root{--fab-menu-sub-font-minimum:10px;}

html{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip!important;
}
@supports not (overflow:clip){
  html,body{overflow-x:hidden!important;}
}
.header,.menu-panel,.menu-shell,main,.setoda-footer{
  max-width:100%;
}

/* Only these two sub-label families are allowed below the global 11px floor. */
.menu-label small,
.menu-utility-links a small{
  font-size:var(--fab-menu-sub-font-minimum)!important;
}

/* Navigation labels must never change line count as the desktop window changes. */
.menu-label b,
.menu-label small{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.menu-primary a{
  min-width:0!important;
}
.menu-label{
  min-width:0!important;
  overflow:visible!important;
}

/* The visual panel becomes the flexible side of the composition, so the
   directory keeps enough width for its unbroken menu labels. */
@media (min-width:1281px){
  .menu-shell{
    grid-template-columns:clamp(340px,29vw,520px) minmax(0,1fr)!important;
  }
}
@media (min-width:761px) and (max-width:1280px){
  .menu-shell{
    grid-template-columns:clamp(220px,24vw,300px) minmax(0,1fr)!important;
  }
  .menu-directory{
    padding-left:clamp(22px,2.6vw,34px)!important;
    padding-right:clamp(22px,2.6vw,34px)!important;
  }
  .menu-primary{
    column-gap:clamp(18px,2vw,28px)!important;
  }
  .menu-primary a{
    grid-template-columns:24px minmax(0,1fr) 14px!important;
    column-gap:8px!important;
  }
  .menu-label b{
    font-size:clamp(12px,1.12vw,14px)!important;
    letter-spacing:.045em!important;
  }
  .menu-label small{
    letter-spacing:.12em!important;
  }
}

/* Keep every line inside the visual panel on one line, but scale the principal
   Japanese statement with the variable panel width rather than letting it escape. */
.menu-visual-copy > span,
.menu-visual-copy small,
.menu-visual-copy strong .menu-copy-line{
  white-space:nowrap!important;
}
@media (min-width:1281px){
  .menu-visual-copy strong{
    font-size:clamp(18px,1.55vw,29px)!important;
  }
}
@media (min-width:761px) and (max-width:1280px){
  .menu-visual-copy{
    left:clamp(18px,2.2vw,30px)!important;
    right:clamp(18px,2.2vw,30px)!important;
  }
  .menu-visual-copy strong{
    font-size:max(var(--fab-font-minimum), clamp(12px,1.35vw,18px))!important;
    line-height:1.72!important;
    letter-spacing:.055em!important;
  }
  .menu-visual-copy > span,
  .menu-visual-copy small{
    letter-spacing:.13em!important;
  }
}

/* Requested mobile INDEX rhythm. */
.page-index-mobile-toggle{
  gap:20px!important;
}


/* v44 style block 45: fab-top-news-refinement-v15 */

/* TOP NEWS — allow wrapped category tabs to grow only downward. The wrap begins
   around the high-1300px range in the current content, so the top-alignment
   correction intentionally starts above that point rather than at 1280px. */
@media (min-width:761px) and (max-width:1500px){
  .news-heading-row{
    align-items:start!important;
  }
  .news-tabs{
    align-self:start!important;
    align-content:flex-start!important;
  }
}

/* Within each NEWS row, dates and category tags belong to the Mincho family;
   the list-navigation affordance follows the site's Gothic detail-link language. */
.news-row time,
.news-category-tag{
  font-family:var(--serif)!important;
  font-weight:400!important;
}
.news-more{
  font-family:var(--sans)!important;
  font-weight:500!important;
}


/* v44 style block 46: fab-client-review-adjustments-v16 */

/* v16 — requested header/menu spacing refinements. */

/* All menu utility rows use the same vertical breathing room. */
.menu-utility-links a{
  padding-top:20px!important;
  padding-bottom:20px!important;
}

/* Header action spacing. */
.header-actions{gap:10px!important;}

/* These two header micro-labels are deliberate exceptions to the global 11px floor. */
.header-place,
.international-header-link{
  font-size:10px!important;
}

/* Smaller desktop / landscape-tablet menu spacing. */
@media (min-width:761px) and (max-width:1280px){
  .menu-aside{
    gap:0 50px!important;
  }
  .menu-utility-links{
    gap:30px!important;
  }
  .menu-primary{
    gap:30px!important;
  }
  .menu-footer{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
    padding-right:0!important;
  }
  .menu-footer > small{
    justify-self:end!important;
    text-align:right!important;
    margin-left:auto!important;
    margin-right:-.18em!important;
    white-space:nowrap!important;
  }
}


/* v44 style block 47: fab-client-review-adjustments-v17 */

/* v17 — small-desktop expanded-menu footer alignment and body spacing. */
@media (min-width:761px) and (max-width:1280px){
  .menu-directory-body{
    padding:50px 0 80px!important;
  }

  /* Keep the legal labels and copyright in dedicated full-width rows.
     The copyright uses the complete rule width so its visible right edge
     aligns with the menu footer rule without residual column spacing. */
  .menu-footer{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "legal"
      "copyright"!important;
    justify-items:stretch!important;
    align-items:start!important;
    column-gap:0!important;
    row-gap:6px!important;
    box-sizing:border-box!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .menu-footer .menu-legal-links{
    grid-area:legal!important;
    justify-self:start!important;
  }
  .menu-footer > small{
    grid-area:copyright!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    text-align:right!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
  }
}


/* v44 style block 48: fab-client-review-adjustments-v18 */

/* v18 — brand notation, menu footer rhythm, and mobile expanded-menu spacing. */
.menu-footer{
  gap:50px!important;
}

/* The site-wide readability floor drops to 10px only at 380px and below. */
@media (max-width:380px){
  :root{--fab-font-minimum:10px;}
}

/* Mobile expanded-menu tuning. */
@media (max-width:760px){
  .menu-primary a{
    padding-top:20px!important;
    padding-bottom:20px!important;
  }
  .menu-aside,
  .menu-utility-links{
    margin-top:30px!important;
  }
  .menu-visual-copy strong{
    font-size:20px!important;
  }
}


/* v44 style block 49: fab-client-review-adjustments-v19 */

/* v19 — menu visual copy typography refinements. */
.menu-visual-copy strong{
  line-height:1.6!important;
}

@media (max-width:760px){
  .menu-visual-copy strong{
    font-size:18px!important;
    line-height:1.5!important;
  }
  .menu-visual-copy > span{
    margin-bottom:10px!important;
    font-weight:400!important;
  }
  .menu-visual-copy small{
    display:none!important;
  }
}


/* v44 style block 50: fab-news-more-font-size-v20 */

/* v20 — NEWS list link uses the same font size as setoda text/about links. */
.news-more{font-size:12px!important;}


/* v44 style block 51: fab-mobile-setoda-text-link-margin-v21 */

@media (max-width:760px){
  .setoda-text-link{
    margin-top:10px!important;
  }
}

/* v23: TOP ACCESS & FAQ — accordion body copy uses the site Mincho family.
   Lower-page navigation links intentionally keep their existing typeface. */
#stay-support .support-accordion-trigger,
#stay-support .support-no,
#stay-support .support-summary,
#stay-support .support-detail-grid dt,
#stay-support .support-detail-grid dd{
  font-family:var(--serif) !important;
}


/* v44 style block 52: tablet-smartphone-parity-v2 */

/* 2026-09-07: Tablet (<=1040px) follows the established smartphone layout rules. */
@media(max-width:1040px){
  :root{--pad:20px}
  body{font-size:14px;line-height:1.95}
  .header{padding:14px var(--pad)}.header.scrolled{padding-top:11px;padding-bottom:11px}.logo{font-size:14px}.utility-btn{min-height:36px;padding:0 13px}.reserve-btn{display:none}
  .hero{min-height:650px}.hero-interface{padding:105px var(--pad) 65px;display:block}.hero-copy{position:absolute;left:var(--pad);right:var(--pad);bottom:84px;padding:0;max-width:500px}.hero h1{font-size:max(var(--fab-font-minimum), clamp(27px,7.5vw,34px));line-height:1.78}.desktop-line{display:none!important}.mobile-line{display:block!important}.hero-en{font-size:11px}.scene-nav{position:absolute;left:var(--pad);right:var(--pad);bottom:34px}.scene-buttons{gap:10px}.scene-btn{font-size:var(--fab-font-minimum)}.scene-btn span{display:none}.scroll-cue{display:none}
  .intro{padding-top:105px;padding-bottom:95px}.intro-text{width:100%;margin:0}.intro h2,.section-title,.about h2,.gallery h2,.contact h2{font-size:max(var(--fab-font-minimum), clamp(27px,7.4vw,34px));line-height:1.75}.intro p{font-size:15px;line-height:2.2}.collage{height:600px;margin-top:55px}.p1{width:72%;height:360px;right:0;top:0}.p2{width:48%;height:285px;left:0;top:245px}.p3{width:42%;height:210px;left:auto;right:2%;top:390px}.caption{font-size:var(--fab-font-minimum);bottom:-28px}
  .news-inner{grid-template-columns:1fr auto;gap:13px 20px;padding:28px 0}.news-title{font-size:17px}.news-item{grid-column:1/-1;grid-row:2;display:grid;gap:8px}.news-inner>.arrow{grid-column:2;grid-row:1}.news-item time{font-size:var(--fab-font-minimum)}
  .feature-lead{padding-top:100px;padding-bottom:100px}.feature-head{margin-bottom:36px}.feature-note{font-size:13px}.feature-card,.feature-card:nth-child(n){flex-basis:72vw;height:480px;min-height:480px}
  .story h3{font-size:max(var(--fab-font-minimum), clamp(26px,7vw,32px));line-height:1.72}.story-copy p{font-size:15px;line-height:2.2}
  .story-house{padding-top:105px;padding-bottom:105px}.house-stage{min-height:830px}.house-main{position:relative;width:88%;height:500px}.house-copy{top:430px;width:90%;padding:32px 25px}.house-detail{right:0;bottom:0;width:150px;height:220px;border-width:8px}.house-side{display:none}
  .story-nature{padding-top:105px;padding-bottom:105px}.nature-head{gap:35px}.nature-visuals{height:600px;margin-top:50px}.nature-main{width:85%;height:500px}.nature-small{width:48%;height:270px;border-width:8px}.nature-word{display:none}
  .story-food{padding-top:105px;padding-bottom:105px}.food-layout{grid-template-columns:1fr;gap:45px}.food-copy{padding:0}.food-main{height:500px}.food-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.food-detail{height:220px}.food-quote{font-size:14px}
  .story-life{padding-top:105px;padding-bottom:105px}.life-layout{grid-template-columns:1fr;gap:55px}.life-copy{position:relative;top:auto;padding:0}.life-scenes{gap:70px}.life-main{height:500px}.life-small{width:78%;height:330px}.life-caption{font-size:var(--fab-font-minimum)}
  .koune-visual{height:780px}.koune-card{left:var(--pad);bottom:30px;padding:28px 24px}.koune-facts{grid-template-columns:1fr;padding:35px var(--pad) 45px;gap:22px}.koune-fact{display:grid;grid-template-columns:95px 1fr;align-items:center}.koune-fact b{margin:0}
  .about{padding-top:110px;padding-bottom:110px}.about-visual{width:100%;max-width:none}.about-img{height:470px}.about-detail{height:215px;width:75%;margin-top:-75px}.gallery{padding-top:100px;padding-bottom:100px}.gallery-head{align-items:flex-start}.gallery-head>.arrow{display:none}.gallery-track figure{width:76vw;height:108vw}.gallery-track figure:nth-child(even){height:82vw;margin-top:70px}
  .contact{padding-top:110px;padding-bottom:110px}.contact p{font-size:14px}.footer{padding-top:65px}.footer-top{grid-template-columns:1fr;gap:42px}.footer-nav{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}

@media(max-width:1040px){
  .scene-btn{padding-left:38px;min-width:74px;gap:5px}.scene-btn span{display:inline!important}.scene-btn::before{width:28px}.scene-btn.is-active::before{width:28px}.scene-btn.is-active::after{animation-name:sceneTimeLineMobile}@keyframes sceneTimeLineMobile{from{width:0}to{width:28px}}
  .news{padding-top:80px;padding-bottom:95px}.news-heading-row{margin-bottom:25px}.news-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.news-tabs a{min-height:43px;padding:0 10px;font-size:11px}.news-row{grid-template-columns:24px 1fr;gap:8px 14px;min-height:92px;padding:16px 0}.news-row time{grid-column:2}.news-row-title{grid-column:2}.news-circle{grid-row:1/3;align-self:center;width:20px;height:20px}.news-more{margin-top:32px}
  .intro-grid{gap:42px}.intro-core{padding-top:30px}.intro-core p{font-size:19px;line-height:1.9}
  .feature-title span{font-size:max(var(--fab-font-minimum), .7em)}.feature-grid{overflow-x:auto}.feature-card,.feature-card:nth-child(n){flex:0 0 72vw;min-width:250px}.feature-card p{width:calc(100% - 82px);font-size:var(--fab-font-minimum)}
  .house-stage{min-height:1270px}.house-copy{width:90%}.house-detail{right:0;bottom:0}.nature-head .story-copy,.life-copy{max-width:none}.koune-card{width:calc(100% - (var(--pad) * 2))}
  .gallery-flow-label{display:none}.gallery-group figure{width:76vw;height:108vw}.gallery-group figure:nth-child(even){height:82vw;margin-top:70px}.gallery-track{animation-duration:66s}
}

@media(max-width:1040px){
  .intro.intro-vision{padding-top:108px;padding-bottom:118px}.intro-vision .intro-opening{gap:28px}.intro-vision .intro-opening h2{font-size:max(var(--fab-font-minimum), clamp(26px,7.6vw,33px));line-height:1.85}.intro-opening-lead{font-size:15px !important;line-height:2.15!important}
  .intro-orbit{display:block;margin-top:65px}.intro-visual-main{height:112vw;margin-left:12%}.intro-copy-primary{width:92%;margin:-58px 0 0;padding:30px 24px}.intro-visual-portrait{width:56%;height:78vw;margin:78px 0 0 auto}.intro-copy-secondary{width:92%;margin:70px 0 0;padding-left:0}.intro-visual-end{width:84%;height:95vw;margin:78px 0 0 8%}.intro-closing{margin:64px 0 0!important;font-size:17px !important;line-height:2.15!important}
  .feature-card .fc-category{font-size:var(--fab-font-minimum);bottom:54px}.feature-card .fc-brief{font-size:var(--fab-font-minimum)}
  .story{padding-top:112px;padding-bottom:112px}.story h3{margin-bottom:28px}.story-category{font-size:12px !important;margin-bottom:15px!important}
  .house-stage{display:block}.house-main{width:92%;height:132vw}.house-copy{width:92%;margin:-50px 0 0 auto;padding:31px 24px}.house-detail{width:46%;height:62vw;margin:-18px 0 0 4%;border-width:8px}
  .nature-head{display:block}.nature-head .story-copy{padding-top:38px}.nature-visuals{height:160vw;margin-top:65px}.nature-main{width:88%;height:132vw}.nature-small{width:50%;height:70vw}.nature-word{display:none}
  .food-layout{display:block}.food-copy{padding:0}.food-main{height:135vw;margin-top:55px}.food-aside{padding:58px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.food-detail{height:60vw}.food-quote{margin-top:0}
  .life-layout{display:block}.life-copy{position:relative;top:auto;padding:0}.life-scenes{margin-top:65px}.life-main{height:132vw}.life-small{width:82%;height:92vw}
  .koune-card{left:var(--pad)}
}

@media(max-width:1040px){
  .header-link,.header .reserve-btn{display:none!important}
  .header-actions{gap:8px}
  .page-index{width:auto;left:13px;bottom:82px;padding:9px 10px;background:rgba(244,240,231,.9)}
  .page-index-title{display:none}
  .page-index-link{display:none;grid-template-columns:24px auto;min-height:22px}
  .page-index-link.is-active{display:grid}
  .page-index-link em{font-size:var(--fab-font-minimum)}
  .mobile-reserve-cta{position:fixed;z-index:125;left:10px;right:10px;bottom:10px;display:block;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-reserve-cta>a{display:grid;grid-template-columns:25px 1fr 20px;gap:13px;align-items:center;min-height:62px;padding:10px 17px;background:rgba(72,45,18,.96);color:#fffdf8;box-shadow:0 15px 42px rgba(35,22,12,.25);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .mobile-cta-icon{width:20px;height:20px;color:var(--lemon)}
  .mobile-cta-copy{display:grid;gap:2px}.mobile-cta-copy small{font-size:var(--fab-font-minimum);line-height:1.3;letter-spacing:.19em;color:#d9c89d}.mobile-cta-copy b{font:500 13px/1.55 var(--serif);letter-spacing:.065em}
  .mobile-cta-arrow{justify-self:end;font-size:15px}
  body{padding-bottom:79px}
}

@media(max-width:1040px){
  .feature-card .fc-category{font-size:12px;bottom:59px}.feature-card .fc-brief{font-size:var(--fab-font-minimum)}
  .motion-note{left:10px;bottom:10px;font-size:var(--fab-font-minimum)}
  .stay-support{padding-top:108px;padding-bottom:116px}
  .support-head{gap:27px;margin-bottom:42px}.support-head p{font-size:14px;line-height:2.15}
  .support-row{grid-template-columns:36px 1fr 24px;gap:10px 14px;min-height:0;padding:24px 0}
  .support-no{grid-row:1/3;align-self:start;padding-top:4px}.support-row strong{grid-column:2;font-size:15px}.support-row p{grid-column:2;font-size:11px}.support-arrow{grid-column:3;grid-row:1/3}
}

@media(max-width:1040px){
  .page-index{left:13px;bottom:82px;width:min(310px,calc(100vw - 26px));padding:0;border-radius:0;background:linear-gradient(135deg,rgba(255,253,248,.48),rgba(244,240,231,.25));backdrop-filter:blur(27px) saturate(135%);-webkit-backdrop-filter:blur(27px) saturate(135%);overflow:hidden}
  .page-index-title{display:none}
  .page-index-mobile-toggle{width:100%;display:grid;grid-template-columns:52px 1fr 18px;gap:10px;align-items:center;min-height:43px;padding:10px 13px;border:0;background:transparent;color:var(--brown);text-align:left;cursor:pointer}
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.2em;color:var(--brown-soft)}
  .page-index-mobile-toggle em{font:400 11px/1.5 var(--serif);letter-spacing:.05em;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .page-index-toggle-mark{position:relative;width:14px;height:14px}
  .page-index-toggle-mark::before,.page-index-toggle-mark::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:1px;background:var(--brown);transform:translate(-50%,-50%);transition:transform .5s var(--ease),opacity .5s var(--ease)}
  .page-index-toggle-mark::after{transform:translate(-50%,-50%) rotate(90deg)}
  .page-index.is-open .page-index-toggle-mark::after{opacity:0;transform:translate(-50%,-50%) rotate(0)}
  .page-index-list{max-height:0;overflow:hidden;border-top:1px solid transparent;transition:max-height .75s var(--ease),border-color .5s var(--ease),padding .75s var(--ease);padding:0 13px}
  .page-index.is-open .page-index-list{max-height:min(410px,56vh);overflow-y:auto;border-top-color:rgba(72,45,18,.12);padding:8px 13px 12px}
  .page-index-link,.page-index-link.is-active{display:grid;grid-template-columns:27px 1fr;min-height:31px}
  .page-index-link::before{left:-14px}
  .page-index-link em{font-size:11px}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:1040px){
  
  .feature-lead{overflow:hidden}
  .feature-grid{width:calc(100% + var(--pad));max-width:none;margin-left:0;margin-right:calc(var(--pad) * -1);padding-right:34vw;padding-bottom:20px;overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-left:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
  .feature-card,.feature-card:nth-child(n){flex:0 0 72vw!important;min-width:250px;scroll-snap-align:start;scroll-snap-stop:normal}
  .feature-swipe-hint{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:13px 0 0;font-size:var(--fab-font-minimum);letter-spacing:.2em;color:var(--brown-soft)}
  .feature-swipe-hint i{display:block;width:48px;height:1px;background:var(--brown-soft);position:relative}
  .feature-swipe-hint i::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}

  .koune-motion-inset{right:18px;top:92px;width:52vw;border-width:6px}
  .koune-motion-inset figcaption{font-size:var(--fab-font-minimum);left:8px;bottom:6px}

  .support-head{margin-bottom:38px}
  .support-accordion-trigger{grid-template-columns:34px 1fr 22px;gap:9px 13px;min-height:0;padding:24px 0}
  .support-accordion-trigger .support-no{grid-row:1/3;align-self:start;padding-top:5px}
  .support-accordion-trigger strong{grid-column:2;font-size:15px}
  .support-summary{grid-column:2;font-size:11px;line-height:1.85}
  .support-toggle{grid-column:3;grid-row:1/3;width:21px;height:21px}
  .support-detail-grid{grid-template-columns:1fr;padding:0 0 28px 34px}
  .support-detail-grid>div{padding:20px 15px;border-left:1px solid var(--line);border-bottom:1px solid rgba(72,45,18,.09)}
  .support-detail-grid>div:last-child{border-bottom:0}
  .support-lower-links{grid-template-columns:1fr;margin-top:54px}
  .support-lower-link{min-height:126px;padding:25px 2px;grid-template-columns:34px 1fr 20px}
  .support-lower-link:first-child{border-right:0}
  .support-lower-link:hover{padding-left:8px}
  .support-lower-link strong{font-size:15px}
  .support-lower-link small{font-size:var(--fab-font-minimum)}
}

@media(max-width:1040px){
  .page-index{
    left:11px;
    bottom:82px;
    width:min(198px,calc(100vw - 22px));
    background:linear-gradient(135deg,rgba(255,253,248,.045),rgba(244,240,231,.012));
    border-color:rgba(255,255,255,.20);
    backdrop-filter:blur(5px) saturate(106%);
    -webkit-backdrop-filter:blur(5px) saturate(106%);
  }
  .page-index-mobile-toggle{
    grid-template-columns:45px minmax(0,1fr) 15px;
    min-height:40px;
    padding:9px 11px;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.18em}
  .page-index-mobile-toggle em{font-size:var(--fab-font-minimum)}
  .page-index-list{padding-inline:11px}
  .page-index.is-open .page-index-list{padding:7px 11px 10px;max-height:min(390px,52vh)}
  .page-index-link,.page-index-link.is-active{grid-template-columns:24px 1fr;min-height:28px}
  .page-index-link em{font-size:var(--fab-font-minimum)}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:1040px){
  .intro-visual-portrait{width:48%;height:65vw;margin:72px 2% 0 auto}
  .house-detail{width:38%;height:68vw;margin:25px 0 0 6%;border-width:6px}
  .nature-small{right:0;bottom:1vw;width:56%;height:54vw;border-width:6px}
  .food-detail{width:100%;height:48vw;margin:0 0 34px}
  .life-small{width:72%;height:58vw;margin-left:auto}
  .koune-motion-inset{right:16px;top:78px;width:46vw;border-width:5px}
  .still-caption{top:calc(100% + 8px);font-size:var(--fab-font-minimum);letter-spacing:.12em}
}

@media(max-width:1040px){
  .page-index{
    left:auto!important;
    right:11px;
    bottom:82px;
    width:176px;
    padding:0;
    transition:opacity .8s var(--ease),transform .8s var(--ease),visibility .8s,width .65s var(--ease);
  }
  .page-index.is-open{width:min(228px,calc(100vw - 22px))}
  .page-index-mobile-toggle{
    grid-template-columns:39px minmax(0,1fr) 13px;
    min-height:32px;
    padding:5px 8px;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.16em}
  .page-index-mobile-toggle em{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:var(--fab-font-minimum);
  }
  .page-index-list{padding-inline:8px}
  .page-index.is-open .page-index-list{
    padding:7px 8px 9px;
    max-height:min(390px,52vh);
  }
  .page-index-link,.page-index-link.is-active{
    grid-template-columns:24px minmax(0,1fr);
    min-height:29px;
  }
  .page-index-link em{font-size:var(--fab-font-minimum);line-height:1.45}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:1040px){
  .koune-card{left:var(--pad);right:auto;width:calc(100% - (var(--pad) * 2))}
  .arrow{
    grid-template-columns:minmax(0,1fr) 31px;
    column-gap:12px;
    font-size:11px;
  }
  .arrow::after{width:30px;height:30px}
  .support-lower-link{grid-template-columns:34px minmax(0,1fr) auto}
  .support-link-arrow small{display:none}
  .support-link-arrow i{width:30px;height:30px}
}

@media(max-width:1040px){
  .page-index{
    right:11px;
    bottom:82px;
    width:164px;
    padding:0;
    background:transparent;
    border-color:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .page-index.is-open{
    width:min(218px,calc(100vw - 22px));
    background:linear-gradient(135deg,rgba(255,253,248,.76),rgba(244,240,231,.62));
    border-color:rgba(255,255,255,.34);
    backdrop-filter:blur(18px) saturate(112%);
    -webkit-backdrop-filter:blur(18px) saturate(112%);
  }
  .page-index-mobile-toggle{
    grid-template-columns:39px minmax(0,1fr) 13px;
    min-height:31px;
    padding:5px 8px;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum);letter-spacing:.16em}
  .page-index-mobile-toggle em{font-size:var(--fab-font-minimum)}
  .page-index-list{padding-inline:8px}
  .page-index.is-open .page-index-list{padding:7px 8px 9px;max-height:min(390px,52vh)}
  .page-index-link,.page-index-link.is-active{grid-template-columns:24px minmax(0,1fr);min-height:28px}
  .page-index-link em{font-size:var(--fab-font-minimum)}
  .page-index-link span{font-size:var(--fab-font-minimum)}
}

@media(max-width:1040px){
  .house-detail{
    width:58%;
    height:auto;
    aspect-ratio:4/3;
    margin:24px 0 0 6%;
    border-width:6px;
  }
  .arrow{font-size:11px;gap:11px}
  .arrow:hover{gap:14px}
  .support-lower-link{grid-template-columns:34px minmax(0,1fr) auto}
  .support-link-arrow small{display:block}
}

@media(max-width:1040px){
  :root{
    --section-space-utility:88px;
    --section-space-editorial:108px;
    --section-space-immersive:116px;
    --block-space-xl:68px;
    --block-space-lg:44px;
    --block-space-md:30px;
    --block-space-sm:20px;
    --grid-gap:14px;
  }
  .intro-vision .intro-opening,
  .feature-head,
  .nature-visuals,
  .about-grid,
  .support-head{display:block}
  .intro-opening-lead{margin-top:26px!important}
  .feature-note{margin-top:28px}
  .intro-orbit{margin-top:var(--block-space-xl)}

  .story{padding-top:var(--section-space-editorial);padding-bottom:var(--section-space-editorial)}
  .nature-visuals{height:158vw;margin-top:var(--block-space-lg)}
  .nature-main{
    position:absolute;
    left:0;top:0;
    width:88%;height:132vw;
  }
  .nature-small{
    position:absolute;
    right:0;bottom:0;
    width:50%;height:70vw;
    margin:0;
    border-width:8px;
  }

  .life-scenes{display:block;margin-top:var(--block-space-lg)}
  .life-scenes>div+div{margin-top:var(--block-space-xl)}
  .life-small{width:82%;margin-left:auto}

  .about-copy,.about-visual{width:100%;margin:0}
  .about-visual{margin-top:var(--block-space-lg)}
  .about-detail{width:68%;margin-top:-74px}

  .arrow{gap:10px}
  .arrow:hover{gap:13px}
}

@media(max-width:1040px){
  .feature-island-backdrop img{
    inset:-2%;
    width:104%;
    height:104%;
    object-position:58% center;
    transform:scale(1.02);
  }
  .feature-island-backdrop::before{
    background:linear-gradient(180deg,rgba(22,27,27,.48),rgba(28,26,22,.31) 42%,rgba(30,25,21,.48));
  }
  .feature-lead{
    min-height:auto;
    padding-top:clamp(118px,30vw,156px);
    padding-bottom:clamp(126px,31vw,166px);
  }
  .feature-lead::before{
    background:linear-gradient(
      180deg,
      var(--paper) 0%,
      rgba(244,240,231,.82) 3%,
      rgba(244,240,231,0) 15%,
      rgba(250,247,240,0) 84%,
      rgba(250,248,243,.78) 95%,
      #faf8f3 100%
    );
  }
  .feature-lead .feature-note{color:rgba(255,253,248,.9)}
}

@media(max-width:1040px){
  .intro.intro-vision{padding:112px 0 126px}
  .intro-vision .intro-opening{display:block}
  .intro-opening-lead{max-width:92%!important;margin-top:25px!important}
  .intro-sequence{display:block;margin-top:66px}
  .intro-scene-house{width:94%;height:112vw;margin-left:6%}
  .intro-statement-first{width:92%;padding:0;margin:46px 0 0}
  .intro-statement::before{margin-bottom:22px}
  .intro-statement-label{margin-bottom:17px}
  .intro-scene-lemon{width:53%;height:75vw;margin:88px 0 0 auto}
  .intro-statement-second{width:92%;margin:72px 0 0;padding:0}
  .intro-scene-living{width:88%;height:98vw;margin:94px 0 0 4%}
  .intro-closing{width:92%;margin:58px 0 0!important;padding:0}
  .intro-scene figcaption{gap:8px;margin-top:10px;font-size:var(--fab-font-minimum);letter-spacing:.13em}

  .menu-panel{padding-top:58px}
  .menu-shell{display:block;min-height:calc(100vh - 58px);min-height:calc(100dvh - 58px);}
  .menu-visual{min-height:36vh;min-height:36dvh;height:36vh;height:36dvh;}
  .menu-visual-copy{left:22px;right:22px;bottom:23px}
  .menu-visual-copy>span{margin-bottom:10px;font-size:var(--fab-font-minimum)}
  .menu-visual-copy strong{font-size:18px;line-height:1.72}
  .menu-visual-copy small{margin-top:12px;font-size:var(--fab-font-minimum)}
  .menu-directory{padding:34px 22px 26px;min-height:auto}
  .menu-directory-head{display:block;padding-bottom:25px}
  .menu-directory-head p{margin-top:15px;font-size:12px}
  .menu-directory-body{display:block;padding:22px 0 30px}
  .menu-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}
  .menu-primary a{grid-template-columns:20px minmax(0,1fr) 12px!important;gap:8px!important;min-height:67px}
  .menu-label b{font-size:14px;letter-spacing:.055em}
  .menu-label small{font-size:var(--fab-font-minimum)}
  .menu-aside{margin-top:30px}
  .menu-reservation{padding:19px 17px}
  .menu-utility-links{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
  .menu-utility-links a{display:block;padding:14px 0}
  .menu-utility-links a small{display:block;margin-top:4px;font-size:var(--fab-font-minimum)}
  .menu-contact-meta{font-size:var(--fab-font-minimum)}
  .menu-footer{grid-template-columns:1fr auto auto;gap:13px}.menu-footer small{grid-column:1/-1}
}

@media(max-width:1040px){
  .setoda-intro{padding-top:105px;padding-bottom:120px}
  .setoda-intro-shell{width:calc(100% - 40px)}
  .setoda-intro-eyebrow{margin-top:34px}
  .setoda-intro h2{font-size:max(var(--fab-font-minimum), clamp(34px,10.5vw,46px));line-height:1.48;letter-spacing:.01em;text-align:left}
  .setoda-intro h2 span{display:inline}
  .setoda-intro h2 span::after{content:" ";}
  .setoda-intro-lead{text-align:left;margin-top:28px!important}
  .setoda-intro-landscape{display:block;min-height:0;margin-top:70px}
  .setoda-intro-photo-main{height:72vw}
  .setoda-intro-copy{margin:45px 0 0;padding:0;background:none}
  .setoda-intro-photo-detail{width:67%;height:78vw;margin:90px 0 0 auto}
  .setoda-intro-copy-secondary{margin:75px 0 0;padding:0}
  .setoda-intro-closing{margin-top:72px!important;font-size:17px !important}
  .setoda-intro-landscape::after{display:none}

  .setoda-values-header{padding:105px 20px 80px}
  .setoda-values h2{font-size:43px;line-height:1.25}.setoda-values h2 span{font-size:max(var(--fab-font-minimum), .43em)}
  .setoda-values-stage{display:block}
  .setoda-values-visual{display:none}
  .setoda-value{display:block;min-height:0;padding:86px 20px;border-bottom:0}
  .setoda-value-inner{max-width:none}
  .setoda-value-category{margin-top:38px}
  .setoda-value h3{font-size:35px;margin-bottom:30px}
  .setoda-value-body p{font-size:15px;line-height:2.15}
  .setoda-value-mobile-image{display:block;height:78vw;margin:55px 0 0;overflow:hidden}
  .setoda-value-mobile-image img{width:100%;height:100%;object-fit:cover}

  .setoda-about{height:830px;min-height:830px}
  .setoda-about-type{top:105px;font-size:max(var(--fab-font-minimum), clamp(56px,17vw,82px));line-height:.98;white-space:normal}
  .setoda-about-type span{justify-self:start!important;margin:0!important;padding-left:16px}
  .setoda-about-type span:nth-child(2){padding-left:9vw}
  .setoda-about-type span:nth-child(3){padding-left:30vw}
  .setoda-about-content{left:20px;bottom:50px;width:calc(100% - 40px)}
  .setoda-about-content h2{font-size:27px;line-height:1.68}
  .setoda-about-content>p:not(.setoda-about-eyebrow){font-size:14px;line-height:2.05}

  .setoda-footer-contact{padding:90px 20px 75px}
  .setoda-footer-contact>header{display:block;margin-bottom:40px}
  .setoda-footer-contact>header h2{font-size:40px;margin-top:22px}
  .setoda-footer-contact-links a{grid-template-columns:38px 1fr 20px;gap:12px;min-height:105px;padding:18px 0}
  .setoda-footer-contact-links small{grid-column:2}.setoda-footer-contact-links i{grid-column:3;grid-row:1/3}.setoda-footer-contact-links strong{font-size:16px}
  .setoda-footer-body{width:calc(100% - 40px);grid-template-columns:1fr;grid-template-areas:"brand" "actions" "nav" "letter" "social";gap:48px;padding:80px 0 70px}
  .setoda-footer-nav{grid-template-columns:1fr 1fr;gap:12px 20px}
  .setoda-footer-social{align-self:start}
  .setoda-footer-phrase{padding:19px 0 23px}
  .setoda-footer-phrase div{font-size:64px}
  .setoda-footer-bottom{width:calc(100% - 40px);flex-direction:column}
}

@media(max-width:1040px){
  .setoda-intro{padding:95px 0 110px}
  .setoda-intro-composition{min-height:0;display:flex;flex-direction:column}
  .setoda-intro-center{position:relative;left:auto;top:auto;order:1;width:100%;padding:0 8px;transform:none}
  .setoda-intro-center h2{font-size:27px;line-height:1.82}
  .setoda-intro-center h2 br{display:none}
  .setoda-intro-story{padding-top:25px;margin-top:34px}
  .setoda-intro-orbit{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important}
  .setoda-intro-orbit img{aspect-ratio:4/3}
  .setoda-intro-orbit-left-top{order:2;width:82%!important;margin:70px 0 0 0}
  .setoda-intro-orbit-right-top{order:3;width:58%!important;margin:-32px 0 0 auto}
  .setoda-intro-orbit-left-bottom{order:4;width:64%!important;margin:65px 0 0 5%}
  .setoda-intro-orbit-right-bottom{order:5;width:76%!important;margin:-22px 0 0 auto}
  .setoda-values-header{width:calc(100% - 40px);padding:95px 0 75px}
  .setoda-values-stage{display:block}
  .setoda-value h3{font-size:31px}
  .setoda-value-image img{position:static;width:100%;height:100%;transform:none}
  .setoda-gallery{height:64vh;height:64dvh;min-height:430px}
  .setoda-gallery-control{width:42px;height:42px}
  .setoda-gallery-prev{left:18px}.setoda-gallery-next{right:18px}
  .setoda-reservation{padding:90px 0 105px}
  .setoda-reservation-inner{width:calc(100% - 40px)}
  .setoda-reservation-head{display:block;margin-bottom:35px}
  .setoda-reservation-head h2{margin-top:18px;font-size:40px}
  .setoda-reservation-card{grid-template-columns:1fr;gap:35px;min-height:0;padding:32px 25px}
  .setoda-reservation-copy h3{font-size:27px}
  .setoda-reservation-action{padding:24px 0 0;border-left:0;border-top:1px solid var(--setoda-line)}
  .setoda-reservation-sub{justify-content:flex-start;flex-direction:column;gap:18px}
  .setoda-reservation-sub a{justify-content:space-between}
  .setoda-footer-directory{width:calc(100% - 40px);grid-template-columns:1fr 1fr;grid-template-areas:"nav1 nav2" "social social" "letter letter";gap:48px 25px;padding:75px 0 70px}
  .setoda-footer-nav a,.setoda-footer-social a{font-size:13px}
  .setoda-footer-letter{margin-top:5px}
  .setoda-footer-letter figure{height:210px}
  .setoda-footer-phrase{height:390px}
  .setoda-footer-phrase span{font-size:max(var(--fab-font-minimum), clamp(25px,7vw,34px))}
  .setoda-footer-phrase-one{left:20px;top:18%}
  .setoda-footer-phrase-two{top:44%}
  .setoda-footer-phrase-three{right:20px;top:70%}
  .setoda-footer-bottom{width:calc(100% - 40px);flex-direction:column}
  .setoda-footer-bottom div{flex-direction:column;gap:10px}
}

@media(max-width:1040px){
  .setoda-intro-center{width:100%}
  .setoda-intro h2{font-size:27px}
}

@media(max-width:1040px){
  .setoda-intro{padding-top:100px;padding-bottom:115px}
  .setoda-intro-composition{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0}
  .setoda-intro-center{position:relative;left:auto;top:auto;grid-column:1/-1;order:1;width:100%;max-width:none;transform:none;padding-bottom:35px}
  .setoda-intro-center.reveal,.setoda-intro-center.reveal.in{transform:none}
  .setoda-intro-center h2{max-width:620px;font-size:max(var(--fab-font-minimum), clamp(26px,7vw,33px));line-height:1.72;text-align:center}
  .setoda-intro-story{max-width:560px}
  .setoda-intro-orbit{position:relative;left:auto!important;right:auto!important;top:auto!important;width:auto!important}
  .setoda-intro-orbit-left{grid-column:1/2;order:2;height:58vw;margin-top:25px}
  .setoda-intro-orbit-right{grid-column:2/3;order:3;height:40vw;margin-top:78px}
  .feature-lead .feature-head{margin-bottom:36px}
  .feature-lead .feature-note{font-size:13px}
  .gallery-head{align-items:flex-start}
  .gallery-track{animation-duration:66s}
  .setoda-reservation-head p{margin-bottom:13px}
  .setoda-footer-bridge{top:14%;height:70%;width:145%;left:-22.5%}
  .setoda-footer-phrase{height:330px}
  .setoda-footer-phrase span{white-space:normal;font-size:max(var(--fab-font-minimum), clamp(27px,8.2vw,38px));line-height:1.55}
  .setoda-footer-phrase-one{left:var(--pad);right:var(--pad);top:20%}
  .setoda-footer-phrase-two{left:var(--pad);right:var(--pad);top:53%;text-align:right}
}

@media(max-width:1040px){
  .setoda-intro-composition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0}
  .setoda-intro-center{position:relative;left:auto;top:auto;grid-column:1/-1;grid-row:1;width:100%;max-width:none;transform:none;padding-bottom:42px}
  .setoda-intro-center.reveal,.setoda-intro-center.reveal.in{transform:none}
  .setoda-intro-center h2{font-size:max(var(--fab-font-minimum), clamp(25px,6.8vw,32px));line-height:1.72}
  .setoda-intro-story{max-width:580px;text-align:left}
  .setoda-intro-story p{font-size:14px !important;line-height:2.2!important}
  .setoda-intro-orbit{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important}
  .setoda-intro-orbit-left-main{grid-column:1/-1;grid-row:2;height:68vw}
  .setoda-intro-orbit-left-small{grid-column:1;grid-row:3;height:46vw;margin-top:18px}
  .setoda-intro-orbit-right-top{grid-column:2;grid-row:3;height:58vw;margin-top:52px}
  .setoda-intro-orbit-right-mid{grid-column:1;grid-row:4;height:58vw;margin-top:4px}
  .setoda-intro-orbit-right-bottom{grid-column:2;grid-row:4;height:43vw;margin-top:55px}
  .setoda-value-thumbs{display:none}
  .setoda-about{--setoda-feature-copy-inset:var(--pad)}
  .setoda-about-content{left:var(--pad);right:var(--pad)}
  .setoda-about-media img{top:-8%;height:116%;transform:translate3d(0,var(--setoda-about-parallax,0px),0) scale(1.045)}
}

@media(max-width:1040px){
  .setoda-intro-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:0}
  .setoda-intro-center{padding-bottom:48px}
  .setoda-intro-story{margin-top:36px;padding-top:28px}
  .setoda-intro-story p{margin-bottom:2.45em!important}
  .setoda-intro-orbit-left-main{grid-column:1/-1;grid-row:2;height:69vw;margin-top:4px}
  .setoda-intro-orbit-right-top{grid-column:1;grid-row:3;height:49vw;margin-top:22px}
  .setoda-intro-orbit-right-mid{grid-column:2;grid-row:3;height:61vw;margin-top:70px}
}

@media(max-width:1040px){
  .setoda-intro-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:0}
  .setoda-intro-orbit-left-main{grid-column:1/-1;grid-row:2;height:69vw;margin-top:4px}
  .setoda-intro-orbit-left-secondary-v08{position:relative;left:auto;top:auto;width:auto;height:46vw;grid-column:1;grid-row:3;margin-top:18px}
  .setoda-intro-orbit-right-top{grid-column:2;grid-row:3;height:58vw;margin-top:54px}
  .setoda-intro-orbit-right-mid{grid-column:1/-1;grid-row:4;width:76%!important;height:58vw;margin:26px 0 0 auto}
}

@media(max-width:1040px){
  .setoda-intro-center{
    width:100%;
    max-width:none;
  }
  .setoda-intro-center h2,
  .setoda-intro-story{
    max-width:580px;
  }
  .page-index{
    background:var(--setoda-bg)!important;
  }
  .setoda-footer-bridge{
    left:-22.5%;
    top:14%;
    width:145%;
    height:70%;
  }
}

@media(max-width:1040px){
  .setoda-intro-story p{
    font-size:15px !important;
    line-height:2.2!important;
    margin-bottom:2.2em!important;
  }
}

@media(max-width:1040px){
  .setoda-intro-orbit img{top:-12%;height:124%;transform:translate3d(0,var(--setoda-for-you-parallax,0px),0) scale(1.035)!important}
}

@media(max-width:1040px){
  .header .logo{width:118px!important;max-width:118px}
  .setoda-intro-orbit img{
    top:-38%!important;
    height:176%!important;
    transform:translate3d(0,var(--setoda-for-you-parallax,0px),0) scale(1.025)!important;
  }
}

@media(max-width:1040px){
  .setoda-intro-orbit{
    transform:translate3d(0,var(--setoda-for-you-frame-y,0px),0)!important;
  }
  .setoda-intro-orbit.reveal{
    transform:translate3d(0,calc(var(--setoda-for-you-frame-y,0px) + 26px),0)!important;
  }
  .setoda-intro-orbit.reveal.in{
    transform:translate3d(0,var(--setoda-for-you-frame-y,0px),0)!important;
  }
  .setoda-intro-orbit img{
    top:-28%!important;
    height:156%!important;
    transform:translate3d(0,var(--setoda-for-you-image-y,0px),0) scale(1.03)!important;
  }
}

@media(max-width:1040px){
  .setoda-intro-orbit::before{
    top:-18%;
    bottom:-18%;
    background-size:auto 100%;
    transform:translate3d(0,var(--setoda-for-you-bg-y),0) scale(1.002);
  }
}

@media(max-width:1040px){
  .island-ink-reveal{filter:blur(6px);transform:translate3d(0,9px,0)}
  .setoda-intro-orbit::after{left:9px;bottom:8px;font-size:var(--fab-font-minimum);letter-spacing:.12em}
  .setoda-island-cartography{position:relative;left:auto;bottom:auto;grid-column:1/-1;grid-row:5;width:70%;margin:68px auto 0;transform:rotate(-2deg);opacity:.11}
  .setoda-value-image figcaption small{display:none}
}

@media(max-width:1040px){
  .setoda-island-location-note{
    position:relative;
    left:auto;
    bottom:auto;
    grid-column:1/-1;
    grid-row:5;
    flex-wrap:wrap;
    gap:7px 14px;
    width:100%;
    margin:52px auto 0;
    transform:none;
    white-space:normal;
    text-align:center;
  }
  .news-row{padding-left:0;padding-right:0}
}

@media(max-width:1040px){
  .news-row{
    grid-template-columns:minmax(0,1fr) 24px!important;
    gap:8px 14px!important;
  }
  .news-row time{grid-column:1!important;grid-row:1!important}
  .news-row-title{grid-column:1!important;grid-row:2!important}
  .news-row .news-circle{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center;
  }
  .setoda-intro-parallax-media{top:-18%;bottom:-18%}
  .setoda-value h3{
    font-size:max(var(--fab-font-minimum), clamp(25px,6.8vw,32px)) !important;
    line-height:1.72!important;
    margin-bottom:30px!important;
  }
}

@media(max-width:1040px){
  .fab-detail-link{
    --fab-link-line-rest:26px;
    --fab-link-line-hover:44px;
    gap:10px!important;
  }
}

@media(max-width:1040px){
  .news-row-main{
    grid-column:1!important;
    grid-row:2!important;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:8px 10px;
  }
  .news-row-main .news-row-title{flex:1 1 100%}
  .news-category-tag{min-height:23px;padding:3px 9px 2px;font-size:var(--fab-font-minimum)}
  .international-guide-head{grid-template-columns:1fr;gap:12px}
}

@media(max-width:1040px){
  .news-row-main{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .news-category-tag{
    min-height:22px;
    padding:3px 7px 2px;
    font-size:var(--fab-font-minimum);
    letter-spacing:.055em;
  }
}

@media(max-width:1040px){
  :root{
    --fab-content-image-radius:8px;
  }
}

@media(max-width:1040px){
  .quick-booking-form,
  .quick-booking-submit,
  .news-tabs a,
  .page-index,
  .setoda-reservation-card,
  .setoda-footer-letter-form{
    border-radius:var(--fab-content-image-radius);
  }
}

@media(max-width:1040px){
  :root{
    --fab-interface-radius:3px;
  }

  .quick-booking-form,
  .quick-booking-submit,
  .news-tabs a,
  .page-index,
  .setoda-reservation-card,
  .setoda-footer-letter-form{
    border-radius:var(--fab-interface-radius);
  }
}

@media(max-width:1040px){
  .setoda-footer-directory.setoda-footer-directory-sketch{
    width:calc(100% - 40px);
    display:grid;
    grid-template-columns:1fr;
    gap:38px;
    padding:72px 0 68px;
  }
  .setoda-footer-profile{
    grid-template-columns:auto 1fr;
    column-gap:24px;
    align-items:start;
  }
  .setoda-footer-stamp{
    grid-row:1/3;
    width:92px;
  }
  .setoda-footer-address{
    align-self:start;
  }
  .setoda-footer-booking{
    grid-column:2;
    max-width:260px;
  }
  .setoda-footer-menu-heading{
    display:grid;
    gap:7px;
  }
  .setoda-footer-feature-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 12px;
  }
  .setoda-footer-feature-links span{
    font-size:12px;
  }
  .setoda-footer-text-links{
    gap:8px 20px;
  }
}

@media(max-width:1040px){
  .setoda-footer-brand-logo{width:150px;}
}

@media(max-width:1040px){
  .setoda-footer-directory.setoda-footer-directory-sketch{
    column-gap:0;
  }
  .setoda-footer-phrase{
    width:calc(100% - 40px);
  }
}

@media (max-width:1040px){
  body{padding-bottom:0!important}
  .mobile-reserve-cta{
    display:block!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,12px,0);
    transition:opacity .28s ease,visibility .28s ease,transform .28s ease;
  }
  body.mobile-cta-visible .mobile-reserve-cta{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  body.mobile-cta-visible{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  .page-index{
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    transition:opacity .45s var(--setoda-ease),visibility .45s var(--setoda-ease),transform .45s var(--setoda-ease),width .45s var(--ease),bottom .35s var(--ease)!important;
  }
  body.mobile-cta-visible .page-index{
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:1040px){
  :root{
    --pad:var(--mobile-gutter);
    --setoda-mobile-title:clamp(30px,8.2vw,34px);
    --setoda-mobile-display:clamp(38px,10.2vw,42px);
    --setoda-mobile-h3:clamp(28px,7.8vw,31px);
    --setoda-mobile-lead:16px;
    --setoda-mobile-body:15px;
    --setoda-mobile-small:14px;
    --setoda-mobile-meta:10px;
  }

  html{scroll-padding-top:calc(var(--fab-header-height,64px) + 16px)}
  body{
    font-size:14px;
    line-height:1.95;
    overflow-x:clip;
  }

  .header{
    min-height:56px;
    padding-top:calc(10px + env(safe-area-inset-top));
    padding-bottom:10px;
    padding-left:max(var(--mobile-gutter),env(safe-area-inset-left));
    padding-right:max(var(--mobile-gutter),env(safe-area-inset-right));
  }
  .header.scrolled{
    padding-top:calc(8px + env(safe-area-inset-top));
    padding-bottom:8px;
  }
  .header-actions{gap:8px}
  .utility-btn{
    min-width:44px;
    min-height:44px;
    padding-inline:14px;
  }
  .menu-btn{width:44px;padding:0}
  .menu-lines{width:16px;height:10px}
  .menu-lines::before,.menu-lines::after{width:16px}
  .logo{min-width:132px}
  .logo img{height:auto;object-fit:contain}

  .hero{
    height:100vh;height:100dvh;
    min-height:650px;
    max-height:none;
  }
  .hero-interface{
    display:block;
    min-height:100%;
    padding:
      calc(var(--fab-header-height,64px) + 38px + env(safe-area-inset-top))
      var(--mobile-gutter)
      calc(30px + env(safe-area-inset-bottom));
  }
  .hero-copy{
    left:var(--mobile-gutter);
    right:var(--mobile-gutter);
    bottom:118px;
    max-width:520px;
  }
  .hero h1{
    font-size:max(var(--fab-font-minimum), clamp(29px,8vw,33px));
    line-height:1.66;
    letter-spacing:.065em;
  }
  .hero-en{margin-top:16px;font-size:11px;line-height:1.8}
  .scene-nav{
    left:var(--mobile-gutter);
    right:var(--mobile-gutter);
    bottom:calc(26px + env(safe-area-inset-bottom));
    min-height:44px;
    padding-top:12px;
  }
  .scene-buttons{gap:6px}
  .scene-btn{
    min-width:68px;
    min-height:44px;
    padding:8px 5px 8px 30px;
    font-size:var(--fab-font-minimum);
  }
  .scene-btn::before,.scene-btn.is-active::before{width:24px}
  .scene-btn.is-active::after{max-width:24px}
  .hero-slide img{transform:scale(1.025)}
  [data-hero-drift]{transform:none!important}

  .quick-booking{
    padding:var(--mobile-space-7) var(--mobile-gutter) var(--mobile-space-6)!important;
  }
  .quick-booking-form{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr!important;
    gap:0;
    padding:14px!important;
    border-radius:4px;
  }
  .quick-booking-field{
    min-width:0;
    min-height:72px;
    margin:0!important;
    padding:14px 10px 12px!important;
  }
  .quick-booking-date{grid-column:1/-1!important}
  .quick-booking-field:nth-of-type(2){grid-column:1}
  .quick-booking-field:nth-of-type(3){grid-column:2}
  .quick-booking-field:nth-of-type(4){grid-column:1/-1!important}
  .quick-booking-field label{font-size:11px !important}
  .quick-booking-field input,
  .quick-booking-field select{
    width:100%;
    min-height:32px;
    font-size:16px !important;
    line-height:1.4;
  }
  .quick-booking-date input{font-size:18px !important}
  .quick-booking-links{
    grid-column:1/-1!important;
    display:flex;
    justify-content:space-between;
    gap:12px 18px;
    min-height:52px;
    padding:16px 10px!important;
  }
  .quick-booking-links a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    font-size:11px !important;
  }
  .quick-booking-submit{
    grid-column:1/-1!important;
    min-height:58px!important;
    margin-top:6px;
    font-size:13px !important;
  }

  .news{padding-top:var(--mobile-space-7);padding-bottom:var(--mobile-space-8)}
  .news-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .news-tabs a{
    min-height:46px!important;
    padding:0 10px!important;
    font-size:11px !important;
  }
  .news-row{
    min-height:0!important;
    padding:20px 0!important;
  }
  .news-row time{font-size:var(--fab-font-minimum)}
  .news-category-tag{font-size:var(--fab-font-minimum)}
  .news-row-title{font-size:14px;line-height:1.9}
  .news-circle{width:28px!important;height:28px!important}

  .setoda-intro{
    padding:var(--mobile-space-8) 0 calc(var(--mobile-space-8) + 8px)!important;
  }
  .setoda-intro-shell{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .setoda-intro-composition{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    min-height:0!important;
  }
  .setoda-intro-center{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    grid-column:1/-1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:none!important;
    padding:0 0 var(--mobile-space-6)!important;
    transform:none!important;
    text-align:left!important;
  }
  .setoda-intro-center.reveal,
  .setoda-intro-center.reveal.in{transform:none!important}
  .setoda-round-label,
  .setoda-intro-eyebrow{text-align:left}
  .setoda-intro-center h2{
    max-width:100%!important;
    margin-inline:0!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
    line-height:1.72!important;
    text-align:left!important;
  }
  .setoda-intro-story{
    width:100%!important;
    max-width:100%!important;
    margin-top:var(--mobile-space-5)!important;
    padding-top:var(--mobile-space-4)!important;
    text-align:left!important;
  }
  .setoda-intro-story p{
    margin-bottom:2.1em!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-body)) !important;
    line-height:2.15!important;
  }
  .setoda-intro-orbit{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:auto!important;
    overflow:hidden;
  }
  .setoda-intro-orbit-left-main{
    grid-column:1/-1!important;
    grid-row:2!important;
    height:66vw!important;
    margin:0!important;
  }
  .setoda-intro-orbit-left-secondary-v08{
    display:block!important;
    grid-column:1!important;
    grid-row:3!important;
    height:48vw!important;
    margin:var(--mobile-space-3) 0 0!important;
  }
  .setoda-intro-orbit-right-top{
    grid-column:2!important;
    grid-row:3!important;
    height:58vw!important;
    margin:var(--mobile-space-6) 0 0!important;
  }
  .setoda-intro-orbit-right-mid{
    grid-column:1/-1!important;
    grid-row:4!important;
    width:76%!important;
    height:58vw!important;
    margin:var(--mobile-space-5) 0 0 auto!important;
  }
  .setoda-intro-parallax-media{
    will-change:transform!important;
  }
  .setoda-island-location-note{
    position:relative!important;
    grid-column:1/-1!important;
    grid-row:5!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    margin-top:var(--mobile-space-5);
  }

  .feature-lead{
    padding-top:var(--mobile-space-8)!important;
    padding-bottom:var(--mobile-space-8)!important;
  }
  .feature-lead .feature-head{
    display:block!important;
    margin-bottom:var(--mobile-space-5)!important;
  }
  .feature-lead .section-title{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
    line-height:1.55!important;
  }
  .feature-lead .feature-note{
    max-width:100%!important;
    margin-top:var(--mobile-space-4);
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-small)) !important;
    line-height:2.05!important;
  }
  .feature-grid{
    width:calc(100% + var(--mobile-gutter))!important;
    margin-right:calc(var(--mobile-gutter) * -1)!important;
    padding-right:30vw!important;
    scroll-snap-type:x proximity!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .feature-card,.feature-card:nth-child(n){
    flex:0 0 72vw!important;
    min-width:250px!important;
    height:470px!important;
    min-height:470px!important;
    scroll-snap-align:start;
  }
  .feature-card h3{font-size:20px}
  .feature-card .fc-category{font-size:11px !important}
  .feature-card .fc-brief{font-size:var(--fab-font-minimum) !important}
  .feature-swipe-hint{
    display:flex!important;
    min-height:44px;
    align-items:center;
  }

  .setoda-values-header{
    width:calc(100% - (var(--mobile-gutter) * 2))!important;
    padding:var(--mobile-space-8) 0 var(--mobile-space-7)!important;
  }
  .setoda-values h2{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-display)) !important;
    line-height:1.28!important;
  }
  .setoda-values-intro{
    margin-top:var(--mobile-space-4);
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-small)) !important;
    line-height:2.05!important;
  }
  .setoda-values-stage{display:block!important}
  .setoda-values-visual,.setoda-value-thumbs{display:none!important}
  .setoda-value{
    display:block!important;
    min-height:0!important;
    padding:var(--mobile-space-7) var(--mobile-gutter) var(--mobile-space-8)!important;
  }
  .setoda-value + .setoda-value{border-top:1px solid var(--setoda-line)}
  .setoda-value-inner{max-width:none!important}
  .setoda-value-meta{font-size:max(var(--fab-font-minimum), var(--setoda-mobile-meta)) !important}
  .setoda-value-category{
    margin-top:var(--mobile-space-5)!important;
    font-size:12px !important;
  }
  .setoda-value h3{
    margin-bottom:var(--mobile-space-4)!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-h3)) !important;
    line-height:1.62!important;
  }
  .setoda-value-body p{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-body)) !important;
    line-height:2.15!important;
  }
  .setoda-text-link{
    min-height:44px;
    margin-top:var(--mobile-space-4)!important;
  }
  .setoda-value-mobile-image{
    display:block!important;
    height:auto!important;
    aspect-ratio:4/3;
    margin-top:var(--mobile-space-6)!important;
    overflow:hidden;
    border-radius:var(--fab-content-image-radius,8px);
  }
  .setoda-value-mobile-image img{
    position:static!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    transform:none!important;
  }

  .stay-support{
    padding-top:var(--mobile-space-8)!important;
    padding-bottom:var(--mobile-space-8)!important;
  }
  .support-head{gap:var(--mobile-space-4)!important;margin-bottom:var(--mobile-space-5)!important}
  .support-head p{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-small)) !important;
    line-height:2.05!important;
  }
  .support-accordion-trigger{
    grid-template-columns:36px minmax(0,1fr) 32px!important;
    gap:10px 14px!important;
    min-height:64px!important;
    padding:22px 0!important;
  }
  .support-accordion-trigger strong{font-size:15px !important}
  .support-summary{font-size:13px !important;line-height:1.85!important}
  .support-toggle{width:28px!important;height:28px!important}
  .support-detail-grid{grid-template-columns:1fr!important;padding-left:36px!important}
  .support-detail-grid>div{padding:20px 16px!important}
  .support-lower-links{grid-template-columns:1fr!important}

  .setoda-about{
    height:auto!important;
    min-height:760px!important;
    display:flex;
    align-items:flex-end;
    padding:
      calc(var(--mobile-space-8) + 20px)
      var(--mobile-gutter)
      var(--mobile-space-7)!important;
    overflow:hidden;
  }
  .setoda-about-media img{
    top:0!important;
    height:100%!important;
    transform:scale(1.03)!important;
    transition:none!important;
    will-change:auto!important;
  }
  .setoda-about-type{
    top:96px!important;
    font-size:max(var(--fab-font-minimum), clamp(54px,16vw,78px)) !important;
    line-height:1!important;
  }
  .setoda-about-content{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:430px!important;
  }
  .setoda-about-content h2{
    max-width:100%!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
    line-height:1.65!important;
  }
  .setoda-about-content>p:not(.setoda-about-eyebrow){
    max-width:100%!important;
    font-size:14px !important;
    line-height:2.05!important;
  }
  .setoda-about-link{
    min-height:44px;
    margin-top:var(--mobile-space-4)!important;
  }

  .gallery{
    padding:var(--mobile-space-8) 0 var(--mobile-space-8)!important;
    overflow:hidden;
  }
  .gallery-viewport{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    width:100%;
    scroll-snap-type:x mandatory;
    scroll-padding-left:var(--mobile-gutter);
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
    outline-offset:-4px;
  }
  .gallery-viewport::-webkit-scrollbar{display:none}
  .gallery-track{
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    padding:0!important;
    will-change:auto!important;
  }
  .gallery-group{
    display:flex!important;
    align-items:flex-start;
    gap:14px!important;
    padding-left:var(--mobile-gutter)!important;
    padding-right:var(--mobile-gutter)!important;
  }
  .gallery-group[aria-hidden="true"]{display:none!important}
  .gallery-group figure,
  .gallery-group figure:nth-child(even){
    flex:0 0 78vw!important;
    width:78vw!important;
    height:104vw!important;
    margin:0!important;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
    border-radius:var(--fab-content-image-radius,8px);
  }
  .gallery-group figure:nth-child(even){
    height:88vw!important;
    margin-top:54px!important;
  }
  .gallery-swipe-hint{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:12px;
    min-height:44px;
    width:calc(100% - (var(--mobile-gutter) * 2));
    margin:10px auto 0;
    color:var(--brown-soft);
    font:500 var(--fab-font-minimum)/1 var(--sans);
    letter-spacing:.2em;
  }
  .gallery-swipe-hint i{
    position:relative;
    display:block;
    width:48px;
    height:1px;
    background:currentColor;
  }
  .gallery-swipe-hint i::after{
    content:"";
    position:absolute;
    right:0;
    top:-2px;
    width:5px;
    height:5px;
    border-top:1px solid currentColor;
    border-right:1px solid currentColor;
    transform:rotate(45deg);
  }

  .setoda-reservation{
    padding:var(--mobile-space-8) 0 calc(var(--mobile-space-8) + 8px)!important;
  }
  .setoda-reservation-inner{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .setoda-reservation-head{margin-bottom:var(--mobile-space-5)!important}
  .setoda-reservation-head h2{
    margin-top:16px!important;
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-title)) !important;
  }
  .setoda-reservation-card{
    grid-template-columns:1fr!important;
    gap:var(--mobile-space-4)!important;
    min-height:0!important;
    padding:30px 24px!important;
  }
  .setoda-reservation-copy h3{
    font-size:max(var(--fab-font-minimum), var(--setoda-mobile-h3)) !important;
    line-height:1.6!important;
  }
  .setoda-reservation-copy p{font-size:14px !important}
  .setoda-reservation-action{
    min-height:64px;
    padding:22px 0 0!important;
    border-left:0!important;
    border-top:1px solid var(--setoda-line)!important;
  }
  .setoda-reservation-sub{
    flex-direction:column!important;
    gap:12px!important;
  }
  .setoda-reservation-sub a{
    min-height:48px;
    justify-content:space-between!important;
  }

  .setoda-footer-directory.setoda-footer-directory-sketch,
  .setoda-footer-phrase,
  .setoda-footer-bottom{
    width:calc(100% - (var(--mobile-gutter) * 2))!important;
  }
  .setoda-footer-directory.setoda-footer-directory-sketch{
    grid-template-columns:1fr!important;
    gap:var(--mobile-space-6)!important;
    padding:var(--mobile-space-7) 0 var(--mobile-space-7)!important;
  }
  .setoda-footer-profile{
    grid-template-columns:1fr!important;
    gap:var(--mobile-space-4)!important;
  }
  .setoda-footer-brand-logo{width:150px!important}
  .setoda-footer-booking{
    grid-column:auto!important;
    max-width:none!important;
    min-height:64px!important;
  }
  .setoda-footer-feature-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 12px!important;
  }
  .setoda-footer-text-links{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
    gap:10px 16px!important;
  }
  .setoda-footer-text-links a,
  .setoda-footer-instagram{
    width:auto!important;
    min-width:0;
    min-height:44px;
    display:flex;
    align-items:center;
    overflow-wrap:anywhere;
  }
  .setoda-footer-legal{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .setoda-footer-legal a{
    display:flex;
    align-items:center;
    min-height:40px;
    width:auto!important;
  }
  .setoda-footer-phrase{
    height:auto!important;
    min-height:300px;
    padding:0!important;
  }
  .setoda-footer-phrase span{
    left:0!important;
    right:0!important;
    width:100%;
    white-space:normal!important;
    font-size:max(var(--fab-font-minimum), clamp(26px,7.6vw,34px)) !important;
    line-height:1.55!important;
  }
  .setoda-footer-phrase-one{top:20%!important}
  .setoda-footer-phrase-two{top:56%!important;text-align:right}
  .setoda-footer-bottom{
    flex-direction:column!important;
    gap:10px!important;
    padding-bottom:calc(34px + env(safe-area-inset-bottom))!important;
  }
  .setoda-footer-bottom>div{justify-content:flex-start!important}

  .mobile-reserve-cta{
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:10px!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
  .mobile-reserve-cta>a{
    min-height:62px!important;
    border-radius:4px;
  }
  .page-index{
    left:11px!important;
    right:auto!important;
    width:176px!important;
    padding:0!important;
  }
  .page-index.is-open{width:min(228px,calc(100vw - 22px))!important}
  .page-index-mobile-toggle{
    min-height:44px!important;
    padding:8px 10px!important;
    grid-template-columns:42px minmax(0,1fr) 14px!important;
  }
  .page-index-mobile-label{font-size:var(--fab-font-minimum) !important}
  .page-index-mobile-toggle em{font-size:var(--fab-font-minimum) !important}
  .page-index-link,.page-index-link.is-active{
    min-height:40px!important;
  }
}

@media (max-width:1040px) and (prefers-reduced-motion:reduce){
  .hero-slide,
  .hero-slide img,
  .setoda-intro-parallax-media,
  .setoda-about-media img,
  .gallery-track{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}

@media (max-width:1040px){
  :root{
    --mobile-group-tight:16px;
    --mobile-group-inner:28px;
    --mobile-group-related:44px;
    --mobile-group-separate:88px;
  }

  /* FIRST VIEW: preserve two intentional lines on all supported phone widths. */
  .hero h1{
    font-size:max(var(--fab-font-minimum), clamp(15px,6.35vw,29px)) !important;
    line-height:1.72!important;
    letter-spacing:.055em!important;
  }
  .hero h1 .mobile-line{
    display:block!important;
    white-space:nowrap;
  }

  /* NEWS: give the category/title/arrow their own breathing room. */
  .news-heading-row{margin-bottom:var(--mobile-group-inner)!important}
  .news-row{
    grid-template-columns:minmax(0,1fr) 32px!important;
    column-gap:20px!important;
    row-gap:10px!important;
    padding:22px 0!important;
  }
  .news-row-main{
    grid-column:1!important;
    grid-row:2!important;
    grid-template-columns:100px minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .news-row-main .news-category-tag{
    grid-column:1!important;
    margin-top:2px;
  }
  .news-row-main .news-row-title{
    grid-column:2!important;
    padding-right:4px;
  }
  .news-row .news-circle{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center!important;
    justify-self:end!important;
  }
  .news-more{
    display:flex!important;
    width:max-content!important;
    margin:var(--mobile-group-inner) 0 0 auto!important;
    justify-content:flex-end!important;
  }

  /* FOR YOU: one calm visual path rather than a noisy mini-grid. */
  .setoda-intro{padding-bottom:var(--mobile-group-separate)!important}
  .setoda-intro-composition{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .setoda-intro-center{
    order:1!important;
    padding-bottom:var(--mobile-group-related)!important;
  }
  .setoda-intro-story{margin-top:var(--mobile-group-inner)!important}
  .setoda-intro-story p{margin-bottom:1.75em!important}
  .setoda-intro-orbit{
    flex:none;
    contain:paint;
  }
  .setoda-intro-orbit-left-main{
    order:2!important;
    width:86%!important;
    height:auto!important;
    aspect-ratio:4/3;
    margin:0 auto 0 0!important;
  }
  .setoda-intro-orbit-left-secondary-v08{
    order:3!important;
    width:56%!important;
    height:auto!important;
    aspect-ratio:3/4;
    margin:var(--mobile-group-related) 3% 0 auto!important;
  }
  .setoda-intro-orbit-right-top{
    order:4!important;
    width:72%!important;
    height:auto!important;
    aspect-ratio:4/3;
    margin:var(--mobile-group-separate) auto 0 4%!important;
  }
  .setoda-intro-orbit-right-mid{
    order:5!important;
    width:62%!important;
    height:auto!important;
    aspect-ratio:3/4;
    margin:var(--mobile-group-related) 0 0 auto!important;
  }
  .setoda-intro-orbit img{aspect-ratio:auto!important}
  .setoda-intro-parallax-media{
    top:-9%!important;
    bottom:-9%!important;
    background-size:cover!important;
    will-change:transform!important;
  }
  .setoda-island-location-note{
    order:6!important;
    margin-top:var(--mobile-group-related)!important;
  }

  /* FEATURE intro and first story belong to one semantic family. */
  .setoda-values-header{
    padding-bottom:var(--mobile-group-related)!important;
  }
  .setoda-value{
    padding:var(--mobile-group-separate) var(--mobile-gutter) 0!important;
  }
  .setoda-value:first-child{
    padding-top:var(--mobile-group-inner)!important;
  }
  .setoda-value:last-child{
    padding-bottom:var(--mobile-space-8)!important;
  }
  .setoda-value-inner{
    display:flex!important;
    flex-direction:column!important;
  }
  .setoda-value-meta{order:1}
  .setoda-value-category{
    order:2;
    margin:var(--mobile-group-inner) 0 0!important;
  }
  .setoda-value-mobile-image{
    order:3;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    margin:var(--mobile-group-inner) 0 0!important;
  }
  .setoda-value h3{
    order:4;
    margin:var(--mobile-group-related) 0 var(--mobile-group-inner)!important;
  }
  .setoda-value-body{order:5}
  .setoda-value-body p{margin-bottom:1.35em!important}
  .setoda-text-link{
    order:6;
    margin-top:var(--mobile-group-inner)!important;
  }

  /* ACCESS / FAQ uses the same content width as the rest of the page. */
  .stay-support{
    padding-left:var(--mobile-gutter)!important;
    padding-right:var(--mobile-gutter)!important;
  }
  .support-shell{
    width:100%!important;
    max-width:none!important;
  }

  /* ABOUT: soften the oversized lettering and lock the narrative heading to two lines. */
  .setoda-about-type{
    top:92px!important;
    font-size:max(var(--fab-font-minimum), clamp(46px,14vw,64px)) !important;
    line-height:1.12!important;
    letter-spacing:.012em!important;
    opacity:.84;
  }
  .setoda-about-type span{padding-left:10px!important}
  .setoda-about-type span:nth-child(2){padding-left:6vw!important}
  .setoda-about-type span:nth-child(3){padding-left:18vw!important}
  .setoda-about-content h2{
    font-size:max(var(--fab-font-minimum), clamp(21px,6.3vw,27px)) !important;
    line-height:1.75!important;
    letter-spacing:.035em!important;
  }
  .setoda-about-content h2 br{display:none}
  .setoda-about-line{
    display:block;
    white-space:nowrap;
  }

  /* GALLERY remains touch-operable; autoplay is added in JS below. */
  .gallery-swipe-hint span::before{content:"AUTO / ";opacity:.62}

  /* RESERVATION: consultation + FAQ are one compact secondary action group. */
  .setoda-reservation-card{margin-bottom:14px!important}
  .setoda-reservation-sub{
    margin-top:var(--mobile-group-inner)!important;
    gap:0!important;
  }
  .setoda-reservation-sub a{
    min-height:46px!important;
    margin:0!important;
  }
  .setoda-reservation-sub a + a{
    border-top:1px solid rgba(22,75,45,.12);
  }

  /* FOOTER: keep utility/navigation groups compact while preserving tap area. */
  .setoda-footer-directory.setoda-footer-directory-sketch{
    gap:var(--mobile-group-related)!important;
    padding-top:var(--mobile-space-7)!important;
    padding-bottom:var(--mobile-space-6)!important;
  }
  .setoda-footer-menu-heading{margin-bottom:var(--mobile-group-inner)!important}
  .setoda-footer-feature-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px 12px!important;
    margin-bottom:var(--mobile-group-related)!important;
  }
  .setoda-footer-utility-area{gap:8px!important}
  .setoda-footer-text-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 16px!important;
  }
  .setoda-footer-text-links a,
  .setoda-footer-instagram{
    min-height:44px!important;
  }
  .setoda-footer-instagram{margin-top:4px!important}
  .setoda-footer-legal{
    margin-top:8px;
    gap:0!important;
  }
  .setoda-footer-legal a{min-height:38px!important}

  /* Footer tagline = exactly two semantic lines from 320px through 760px. */
  .setoda-footer-phrase{
    min-height:228px!important;
  }
  .setoda-footer-phrase span{
    width:100%!important;
    white-space:nowrap!important;
    font-size:max(var(--fab-font-minimum), clamp(20px,6vw,28px)) !important;
    line-height:1.5!important;
    letter-spacing:.04em!important;
  }
  .setoda-footer-phrase-one{
    top:25%!important;
    text-align:left!important;
  }
  .setoda-footer-phrase-two{
    top:58%!important;
    text-align:right!important;
    transform:none!important;
  }
}

@media (max-width:1040px) and (prefers-reduced-motion:reduce){
  .setoda-intro-parallax-media{transform:none!important;will-change:auto!important}
  .gallery-swipe-hint span::before{content:""}
}

@media (max-width:1040px){
  /* COMMON MASTER: fixed INDEX is removed on smartphones to preserve viewport space. */
  .page-index{display:none!important}

  /* COMMON MASTER: category tags size to content and never clip long labels. */
  .news-row-main{
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .news-category-tag{
    width:max-content!important;
    max-width:min(46vw,150px)!important;
    min-height:27px!important;
    padding:5px 11px 4px!important;
    font-size:var(--fab-font-minimum) !important;
    line-height:1.3!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .news-row-title{min-width:0!important}

  /* TOP: FEATURE introduction belongs visually to the banner row below. */
  .feature-lead{padding-bottom:72px!important}
  .feature-lead .feature-head{margin-bottom:24px!important}
  .feature-swipe-hint{margin-top:8px!important}

  /* TOP: give the beginning of FEATURE stories room after the background transition. */
  .setoda-values-header{padding-bottom:48px!important}
  .setoda-value:first-child{padding-top:76px!important}
  .setoda-value + .setoda-value{border-top:0!important}

  /* TOP: identity -> square photo -> category -> title -> body -> detail. */
  .setoda-value-inner{display:flex!important;flex-direction:column!important}
  .setoda-value-meta{order:1!important}
  .setoda-value-mobile-image{
    order:2!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    margin:32px 0 0!important;
    border-radius:var(--fab-content-image-radius,8px)!important;
    overflow:hidden!important;
  }
  .setoda-value-mobile-image img{width:100%!important;height:100%!important;object-fit:cover!important}
  .setoda-value-category{order:3!important;margin:24px 0 0!important}
  .setoda-value h3{order:4!important;margin:14px 0 26px!important}
  .setoda-value-body{order:5!important}
  .setoda-text-link{
    order:6!important;
    align-self:flex-end!important;
    justify-content:flex-end!important;
    margin:22px 0 0 auto!important;
    text-align:right!important;
  }

  /* TOP: ABOUT typography travels from left -> center -> right. */
  .setoda-about-type{
    left:var(--mobile-gutter)!important;
    right:var(--mobile-gutter)!important;
    width:auto!important;
    padding:0!important;
  }
  .setoda-about-type span{width:100%!important;margin:0!important;padding:0!important}
  .setoda-about-type span:nth-child(1){justify-self:start!important;text-align:left!important}
  .setoda-about-type span:nth-child(2){justify-self:center!important;text-align:center!important}
  .setoda-about-type span:nth-child(3){justify-self:end!important;text-align:right!important}
  .setoda-about-link{
    display:flex!important;
    width:max-content!important;
    margin:30px 0 0 auto!important;
    justify-content:flex-end!important;
    text-align:right!important;
  }

  /* TOP: same slow continuous infinite gallery language as desktop. */
  .gallery-viewport{
    overflow:hidden!important;
    scroll-snap-type:none!important;
    touch-action:pan-y!important;
  }
  .gallery-track{
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    padding:0!important;
    animation:galleryFlow 76s linear infinite!important;
    transform:translate3d(0,0,0);
    will-change:transform!important;
  }
  .gallery-group,
  .gallery-group[aria-hidden="true"]{
    display:flex!important;
    flex:none!important;
    align-items:flex-start!important;
    gap:14px!important;
    padding:0 7px!important;
  }
  .gallery-group figure,
  .gallery-group figure:nth-child(even){
    flex:0 0 74vw!important;
    width:74vw!important;
    height:98vw!important;
    margin:0!important;
    scroll-snap-align:none!important;
  }
  .gallery-group figure:nth-child(even){
    height:78vw!important;
    margin-top:48px!important;
  }
  .gallery-swipe-hint{display:none!important}

  /* COMMON MASTER: related reservation utility links are a compact pair. */
  .setoda-reservation-sub{margin-top:14px!important;gap:0!important}
  .setoda-reservation-sub a{min-height:44px!important;padding-top:6px!important;padding-bottom:6px!important}

  /* COMMON MASTER: mobile footer uses tighter semantic grouping. */
  .setoda-footer-directory.setoda-footer-directory-sketch{
    gap:34px!important;
    padding-top:64px!important;
    padding-bottom:26px!important;
  }
  .setoda-footer-address{gap:5px!important}
  .setoda-footer-address span{
    white-space:normal!important;
    font-size:11px !important;
    line-height:1.7!important;
  }
  .setoda-footer-menu-heading{margin-bottom:20px!important}
  .setoda-footer-feature-links{margin-bottom:26px!important;gap:17px 12px!important}
  .setoda-footer-utility-area{gap:2px!important}
  .setoda-footer-text-links{gap:0 14px!important}
  .setoda-footer-text-links a,
  .setoda-footer-instagram{min-height:38px!important}
  .setoda-footer-instagram{margin-top:0!important}
  .setoda-footer-legal{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:0 14px!important;
    margin-top:2px!important;
  }
  .setoda-footer-legal a{
    min-height:28px!important;
    font-size:var(--fab-font-minimum) !important;
    line-height:1.45!important;
    opacity:.78;
  }
  .setoda-footer-phrase{
    min-height:176px!important;
    height:176px!important;
    margin-top:0!important;
  }
  .setoda-footer-phrase-one{top:19%!important}
  .setoda-footer-phrase-two{top:48%!important}
  .setoda-footer-bottom{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
    padding:18px 0 calc(24px + env(safe-area-inset-bottom))!important;
    font-size:var(--fab-font-minimum) !important;
    line-height:1.45!important;
  }
  .setoda-footer-bottom>span{white-space:nowrap!important}
  .setoda-footer-bottom>div{
    display:block!important;
    justify-self:end!important;
    text-align:right!important;
    min-width:0!important;
  }
  .setoda-footer-bottom>div span{white-space:nowrap!important}

  /* COMMON MASTER: mobile menu prioritizes readability and touch comfort. */
  .menu-panel{
    padding-top:max(58px,env(safe-area-inset-top))!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .menu-shell{min-height:calc(100vh - 58px)!important;min-height:calc(100dvh - 58px)!important;}
  .menu-visual{
    min-height:24vh!important;min-height:24dvh!important;
    height:24vh!important;height:24dvh!important;
  }
  .menu-visual-copy{left:20px!important;right:20px!important;bottom:18px!important}
  .menu-visual-copy>span{margin-bottom:7px!important}
  .menu-visual-copy strong{font-size:17px !important;line-height:1.65!important}
  .menu-visual-copy small{margin-top:8px!important}
  .menu-directory{
    padding:30px var(--mobile-gutter) calc(32px + env(safe-area-inset-bottom))!important;
  }
  .menu-directory-head{padding-bottom:22px!important}
  .menu-directory-head h2{font-size:22px !important;line-height:1.62!important}
  .menu-directory-head p{margin-top:12px!important;font-size:13px !important;line-height:1.9!important}
  .menu-directory-body{display:block!important;padding:14px 0 24px!important}
  .menu-primary{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .menu-primary a{
    grid-template-columns:28px minmax(0,1fr) 18px!important;
    gap:12px!important;
    min-height:60px!important;
    padding:8px 2px!important;
  }
  .menu-no{font-size:var(--fab-font-minimum) !important}
  .menu-label b{font-size:15px !important;line-height:1.5!important}
  .menu-label small{margin-top:2px!important;font-size:var(--fab-font-minimum) !important}
  .menu-aside{margin-top:24px!important}
  .menu-reservation{
    min-height:70px!important;
    padding:17px 18px!important;
    background:var(--brown)!important;
    color:#fff9ee!important;
    border-radius:4px;
  }
  .menu-reservation strong{font-size:16px !important}
  .menu-utility-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-top:20px!important;
    border-top:1px solid var(--line)!important;
  }
  .menu-utility-links a{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    min-height:50px!important;
    padding:9px 0!important;
  }
  .menu-utility-links a small{margin-top:0!important;text-align:right!important}
  .menu-contact-meta{margin-top:20px!important;gap:6px!important}
  .menu-footer{
    grid-template-columns:1fr auto!important;
    gap:10px 18px!important;
    margin-top:20px!important;
    padding-top:16px!important;
    padding-bottom:4px!important;
  }
  .menu-footer span:nth-child(3){grid-column:2}
  .menu-footer small{grid-column:1/-1!important}
}

@media (max-width:1040px) and (prefers-reduced-motion:reduce){
  .gallery-track{animation:none!important;transform:none!important;will-change:auto!important}
}

@media (max-width:1040px){
  /* COMMON MASTER: tag length must not move the headline start position. */
  .news-row-main{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr)!important;
    column-gap:16px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .news-row-main .news-category-tag{
    grid-column:1!important;
    justify-self:start!important;
    width:max-content!important;
    max-width:116px!important;
  }
  .news-row-main .news-row-title{
    grid-column:2!important;
    min-width:0!important;
    width:100%!important;
  }

  /* TOP: FOR YOU opening copy belongs to one uninterrupted semantic group. */
  .setoda-intro-story{
    border-top:0!important;
  }

  /* TOP: remove inherited 620px minimum that created empty air above the cards. */
  .feature-lead .feature-head{margin-bottom:16px!important}
  .feature-grid{
    min-height:0!important;
    height:auto!important;
    align-items:flex-end!important;
  }

  /* TOP: exact FEATURE reading rhythm requested. */
  .setoda-value-category{
    margin-top:30px!important;
    margin-bottom:0!important;
  }
  .setoda-value h3{
    margin-top:10px!important;
    margin-bottom:20px!important;
  }
  .setoda-value-body p{
    margin-top:0!important;
    margin-bottom:15px!important;
  }

  /* TOP: line alignment handles position; manual padding is no longer needed. */
  .setoda-about-type{gap:5px!important}
  .setoda-about-type span:nth-child(2),
  .setoda-about-type span:nth-child(3){padding-left:0!important}

  /* TOP: same continuously moving gallery language as desktop. */
  .gallery-viewport{
    overflow:hidden!important;
    scroll-snap-type:none!important;
    touch-action:pan-y!important;
  }
  .gallery-track{
    display:flex!important;
    width:max-content!important;
    gap:0!important;
    padding:0!important;
    animation:setodaGalleryInfiniteV4 84s linear infinite!important;
    will-change:transform!important;
  }
  .gallery-group,
  .gallery-group[aria-hidden="true"]{
    display:flex!important;
    flex:none!important;
  }

  /* COMMON MASTER: equal optical breathing room above and below the two-line phrase. */
  .setoda-footer-phrase{
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    row-gap:24px!important;
    height:auto!important;
    min-height:176px!important;
    padding:30px 0!important;
  }
  .setoda-footer-phrase span{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
  }
  .setoda-footer-phrase-one{
    justify-self:start!important;
    text-align:left!important;
  }
  .setoda-footer-phrase-two{
    justify-self:end!important;
    text-align:right!important;
  }
}

@media (max-width:1040px) and (prefers-reduced-motion:reduce){
  .gallery-track{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
}

@media (max-width:1040px){
  /* COMMON MASTER: no artificial gap between the fixed category lane and headline lane. */
  .news-row-main{
    column-gap:0!important;
    gap:0!important;
  }

  /* TOP: requested semantic distance from the FEATURE explanation to the banner rail. */
  .feature-grid{
    margin-top:70px!important;
  }
}

@media (max-width:1040px){
  /* COMMON MASTER: category and headline are independent rows, aligned to one left edge. */
  .news-row-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:0!important;
    row-gap:10px!important;
    align-items:start!important;
  }
  .news-row-main .news-category-tag{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
  }
  .news-row-main .news-row-title{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    padding-right:0!important;
  }

  /* TOP: unify the third (lemon) image's top spacing with the other FOR YOU images. */
  .setoda-intro-orbit-right-top{
    margin:var(--mobile-group-related) auto 0 4%!important;
  }
}

@media (max-width:1040px){
  .news-row{
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr) 32px!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:10px!important;
    align-items:center!important;
  }
  .news-row time{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
  }
  .news-row-main{
    display:contents!important;
  }
  .news-row-main .news-category-tag{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
  }
  .news-row-main .news-row-title{
    grid-column:1 / 4!important;
    grid-row:2!important;
    align-self:center!important;
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  .news-row .news-circle{
    grid-column:4!important;
    grid-row:2!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
  }
}

@media(max-width:1040px){
  .setoda-reservation-sub{align-items:flex-end!important}
  .feature-card .fc-category{bottom:20px!important;font-size:12px !important}
}

@media(max-width:1040px){
  .international-guide-head,
  .support-panel-inner > .support-consult-link{
    width:calc(100% - 34px);
    margin-left:34px;
  }
  .setoda-value-inner > .setoda-text-link,
  .setoda-about-content > .setoda-about-link{
    }
}

@media(max-width:1040px){
  .support-accordion-item-international .international-guide-head{
    width:auto!important;
    margin-left:47px!important;
    margin-right:15px!important;
    margin-top:32px!important;
    padding-top:0!important;
  }
  .support-panel-inner > .support-consult-link{
    width:auto!important;
    margin-left:49px!important;
    margin-right:15px!important;
    margin-top:28px!important;
    margin-bottom:26px!important;
    border-bottom:0!important;
  }
}

@media(max-width:1040px){
  .feature-island-backdrop img{
    object-position:58% center!important;
    transform:scale(1.065) translate3d(0,var(--feature-photo-shift,0vh),0)!important;
  }
}

@media(max-width:1040px){
  /*
    下層/共通レスポンシブで確定した「章の切り替え = 80px」を
    NEWS側40px + FOR YOU側40pxに分けて適用。
  */
  .news{
    padding-bottom:40px!important;
  }
  .news + .setoda-intro{
    padding-top:40px!important;
  }
}

@media(max-width:1040px){
  /*
    FEATURE horizontal grid:
    remove the smoky-looking plane created by overlapping card shadows.
    The fixed island photo remains the only background visual.
  */
  .feature-grid{
    background:transparent!important;
    box-shadow:none!important;
  }
  .feature-grid .feature-card,
  .feature-grid .feature-card:nth-child(n){
    box-shadow:none!important;
  }

  /* Safety: the hint has also been removed from the DOM. */
  .feature-swipe-hint{
    display:none!important;
  }

  /* Lower-page responsive body-size master applied to FEATURE details. */
  .setoda-value-body p{
    font-size:14px !important;
  }
}

@media(max-width:1040px){
  .stay-support{
    padding-top:0!important;
  }
}

@media(max-width:1040px){
  /* FEATURE sits inside an already-guttered section; remove the second inset. */
  .feature-lead .feature-head{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

@media(max-width:1040px){
  .setoda-reservation-card.fab-best-rate-card{min-height:245px!important;padding:31px 25px 40px!important}
  .setoda-reservation-card.fab-best-rate-card::before{
    inset:-2%!important;right:-2%!important;top:-2%!important;
    background-image:linear-gradient(90deg,rgba(248,246,239,1) 0%,rgba(248,246,239,.97) 34%,rgba(248,246,239,.74) 64%,rgba(248,246,239,.28) 100%),var(--fab-media-002-url)!important;
    background-position:64% center!important;
  }
  .setoda-reservation-card.fab-best-rate-card::after{left:25px;bottom:25px;width:32px}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy{max-width:78%!important}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy>span{margin-bottom:14px!important;font-size:var(--fab-font-minimum) !important}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy h3{font-size:25px !important;margin-bottom:13px!important}
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy p{font-size:12px !important;line-height:1.8!important}
}

@media(max-width:1040px){
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action{gap:11px;margin-top:21px;font-size:var(--fab-font-minimum);letter-spacing:.13em}
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i{width:36px;height:36px;font-size:14px}
}

@media(max-width:1040px){
  .quick-booking.home-best-rate{padding:20px 20px!important}
  .home-best-rate-link{
    grid-template-columns:minmax(0,1fr) 34px;
    grid-template-rows:auto auto;
    gap:0px 14px;padding:17px 18px 17px 22px;
  }
  .home-best-rate-kicker{grid-column:1;grid-row:1;font-size:var(--fab-font-minimum);letter-spacing:.17em}
  .home-best-rate-message{grid-column:1;grid-row:2;font-size:12px;line-height:1.75;letter-spacing:.04em}
  .home-best-rate-cta{grid-column:2;grid-row:1/3;width:34px;height:34px;font-size:16px}
}

@media(max-width:1040px){
  .setoda-reservation-card.fab-best-rate-card,
  .si-journey-card{
    border-radius:10px!important;
  }
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action{
    gap:9px!important;
    font-size:11px !important;
  }
  .setoda-reservation-card.fab-best-rate-card .fab-best-rate-action i{
    width:30px!important;
    height:30px!important;
    flex-basis:30px!important;
    font-size:11px !important;
  }
}

@media (max-width:1040px){
  .menu-visual-copy strong{
    font-size:17px !important;
  }
}

@media (max-width:1040px){
  .menu-utility-links a > span{overflow-wrap:normal;word-break:keep-all;}
}

@media (max-width:1040px){
  .menu-legal-links{
    gap:7px 13px;
    margin-top:14px;
    padding-top:13px;
    font-size:var(--fab-font-minimum);
    letter-spacing:.1em;
  }
  .menu-footer{grid-template-columns:minmax(0,1fr) auto!important;}
  .menu-footer small{grid-column:auto!important;justify-self:end!important;}
}

@media (max-width:1040px){
  .menu-footer{grid-template-columns:1fr!important;}
  .menu-footer > small{grid-column:1!important;justify-self:end!important;font-size:var(--fab-font-minimum) !important;}
}

@media(max-width:1040px){.menu-legal-links{font-size:var(--fab-font-minimum) !important;}}

@media(max-width:1040px){
  .menu-footer{
    grid-template-columns:1fr!important;
    grid-template-areas:"legal" "copyright"!important;
    gap:5px!important;
    padding-top:10px!important;
  }
  .menu-footer .menu-legal-links{
    gap:0 14px!important;
    font-size:var(--fab-font-minimum) !important;
    letter-spacing:.07em!important;
  }
  .menu-footer > small{font-size:var(--fab-font-minimum) !important;}
}

@media (max-width:1040px){
  .menu-label small{
    margin-top:5px!important;
    font-weight:400!important;
  }
}

@media (max-width:1040px){
  .menu-utility-links a small{
    margin-top:10px!important;
    font-weight:400!important;
  }
}

@media (max-width:1040px){
  .menu-primary a{
    padding-top:20px!important;
    padding-bottom:20px!important;
  }
  .menu-aside,
  .menu-utility-links{
    margin-top:30px!important;
  }
  .menu-visual-copy strong{
    font-size:20px!important;
  }
}

@media (max-width:1040px){
  .menu-visual-copy strong{
    font-size:18px!important;
    line-height:1.5!important;
  }
  .menu-visual-copy > span{
    margin-bottom:10px!important;
    font-weight:400!important;
  }
  .menu-visual-copy small{
    display:none!important;
  }
}

@media (max-width:1040px){
  .setoda-text-link{
    margin-top:10px!important;
  }
}


/* v44 style block 53: client-revision-20260911-global-v4 */

/* 2026-09-11 v4: shared interaction rules only. Existing placement/margins are preserved. */

/* Text navigation: use the FEATURE 01 "詳細を見る" text + line + arrow language consistently. */
.fab-detail-link{
  --fab-link-line-rest:32px;
  --fab-link-line-hover:56px;
  --fab-link-arrow-travel:4px;
  --fab-link-lift:-1px;
  --fab-link-ease:var(--setoda-ease,var(--ease));
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:max-content!important;
  max-width:100%!important;
  padding-bottom:8px!important;
  border:0!important;
  color:inherit;
  transform:translate3d(0,0,0);
  transition:color .72s var(--fab-link-ease),transform .72s var(--fab-link-ease)!important;
}
.fab-detail-link > span:first-child{order:1;min-width:0}
.fab-detail-link::after{
  content:""!important;
  order:2!important;
  flex:0 0 auto!important;
  width:var(--fab-link-line-rest)!important;
  height:1px!important;
  border:0!important;
  background:currentColor!important;
  opacity:.72!important;
  transform:none!important;
  transform-origin:left center;
  transition:width .84s var(--fab-link-ease),opacity .72s var(--fab-link-ease)!important;
}
.fab-detail-link > i,.fab-detail-link > .news-circle{
  order:3!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:currentColor!important;
  font:400 14px/1 var(--sans)!important;
  font-style:normal!important;
  opacity:.9!important;
  transform:translate3d(0,0,0)!important;
  transition:transform .84s var(--fab-link-ease),opacity .72s var(--fab-link-ease),color .72s var(--fab-link-ease)!important;
}
.fab-detail-link:hover,.fab-detail-link:focus-visible{
  transform:translate3d(0,var(--fab-link-lift),0)!important;
  color:var(--lemon)!important;
}
.fab-detail-link:hover::after,.fab-detail-link:focus-visible::after{width:var(--fab-link-line-hover)!important;opacity:1!important}
.fab-detail-link:hover > i,.fab-detail-link:hover > .news-circle,
.fab-detail-link:focus-visible > i,.fab-detail-link:focus-visible > .news-circle{
  transform:translate3d(var(--fab-link-arrow-travel),0,0)!important;opacity:1!important
}
.fab-detail-link:focus-visible{outline:1px solid currentColor!important;outline-offset:7px!important}

/* Hamburger menu: Japanese, English, number and arrow change together. */
@media (hover:hover){
  .menu-primary a:hover,
  .menu-primary a:focus-visible,
  .menu-primary a:hover .menu-no,
  .menu-primary a:focus-visible .menu-no,
  .menu-primary a:hover .menu-label b,
  .menu-primary a:focus-visible .menu-label b,
  .menu-primary a:hover .menu-label small,
  .menu-primary a:focus-visible .menu-label small,
  .menu-primary a:hover i,
  .menu-primary a:focus-visible i,
  .menu-utility-links a:hover > span,
  .menu-utility-links a:focus-visible > span,
  .menu-utility-links a:hover small,
  .menu-utility-links a:focus-visible small{
    color:var(--lemon)!important;
  }
}
@media(max-width:760px){
  .fab-detail-link{--fab-link-line-rest:26px;--fab-link-line-hover:44px;gap:10px!important}
}


/* v44 style block 54: client-revision-20260911-global-v5 */

/* 2026-09-11 v5: targeted interaction / reservation refinements. */
@media (hover:hover){
  /* International Guests: underline sweep only. Remove lift / scale / text or icon shift. */
  .international-header-link:hover,
  .international-header-link:focus-visible{
    transform:none!important;
  }
  .international-header-link:hover > span:last-child,
  .international-header-link:focus-visible > span:last-child,
  .international-header-link:hover .nav-icon,
  .international-header-link:focus-visible .nav-icon{
    transform:none!important;
  }
}

/* Smartphone reservation card: remove minimum-height surplus and make visual top / bottom padding equal. */
@media(max-width:760px){
  .setoda-reservation-card.fab-best-rate-card{
    min-height:0!important;
    height:auto!important;
    padding:30px 24px!important;
  }
  .setoda-reservation-card.fab-best-rate-card .setoda-reservation-copy > .fab-best-rate-action{margin-bottom:9px!important}
}


/* v44 style block 55: client-revision-20260911-top-v5 */

/* NEWS & TOPICS: preserve the original right-aligned placement of "一覧を見る". */
.news .news-more{
  display:flex!important;
  width:max-content!important;
  margin-left:auto!important;
  margin-right:0!important;
}

/* v44 style block 57: client-revision-20260912-top-v7 */

/* TOP support accordion: FAQ interaction timing, 5px closed-state edge insets. */
.support-accordion-trigger{
  min-height:0!important;
  padding:40px 5px!important;
  transition:padding .65s var(--ease),background .65s var(--ease)!important;
}
.support-accordion-panel{
  grid-template-rows:0fr!important;
  transition:grid-template-rows .8s var(--ease),background .8s var(--ease)!important;
}
.support-accordion-item.is-open .support-accordion-panel{grid-template-rows:1fr!important}
.support-panel-inner{min-height:0!important;overflow:hidden!important}
.support-toggle::before,.support-toggle::after{
  transition:transform .55s var(--ease),opacity .55s var(--ease)!important;
}
@media (hover:hover){
  .support-accordion-trigger:hover{
    padding-left:17px!important;
    padding-right:17px!important;
    background:rgba(255,253,248,.42)!important;
  }
}
/* Content rows use padding rather than numeric minimum heights. */
.news-row{
  min-height:0!important;
  padding-top:24px!important;
  padding-bottom:24px!important;
  box-sizing:border-box!important;
}
.support-lower-link{min-height:0!important}
@media(max-width:1040px){
  .support-accordion-trigger{padding:24px 5px!important}
  .news-row{padding-top:24px!important;padding-bottom:24px!important}
}
@media(max-width:760px){
  .support-accordion-trigger{padding:24px 5px!important}
}


/* v44 style block 58: fab-v15-requested-fixes */

/* v15｜Client requested refinements */

/* TOP / NEWS: optically center the chevron inside the circular UI. */
.news-row .news-circle{
  font-size:0!important;
}
.news-row .news-circle::before{
  content:"›";
  display:block;
  font:400 17px/1 var(--sans);
  transform:translateY(-1px);
}

/* TOP / FOR YOU: preserve the desktop two-line title break at every viewport width. */
.setoda-intro h2 span{
  display:block!important;
  white-space:nowrap;
}
.setoda-intro h2 span::after{
  content:none!important;
}

/* TOP / five vertical feature banners: break only at the authored <wbr> positions. */
.feature-card .fc-category{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}


/* v44 style block 59: fab-v22-top-refinements */

/* v22 — TOP responsive refinements. */
@media (min-width:1041px) and (max-width:1120px){
  /* Preserve the desktop FEATURE lead composition until the lower-page/mobile switch at 1040px. */
  .feature-lead .feature-head{
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr)!important;
    gap:clamp(42px,7vw,105px)!important;
  }
  .feature-lead .feature-head>div,
  .feature-lead .feature-note{grid-column:auto!important;}
}
@media (min-width:761px) and (max-width:1040px){
  /* About: make the content box itself the same width as the body-copy measure,
     so the CTA right edge and paragraph right edge share one axis. */
  .setoda-about-content{
    right:auto!important;
    width:min(580px,calc(100% - (var(--pad) * 2)))!important;
    max-width:580px!important;
  }
  .setoda-about-content > .setoda-about-link{
    margin-left:auto!important;
    margin-right:0!important;
  }
}


/* v44 style block 60: fab-v23-top-about-mobile-align */

/* v23 — <=760px: align the About CTA right edge with the body copy right edge. */
@media (max-width:760px){
  .setoda-about-content > .setoda-about-link{
    margin-left:auto!important;
    margin-right:0!important;
  }
}


/* v44 style block 61: fab-v27-accessibility-and-legal-links */

/* v27 — expand hit areas without materially changing the visible design. */
.setoda-footer-legal a{
  display:inline-flex!important;align-items:center!important;min-height:40px!important;
  color:inherit!important;text-decoration:none!important;
}
.menu-legal-links span>a{color:inherit!important;text-decoration:none!important;}
.menu-legal-links span>a:focus-visible,.setoda-footer-legal a:focus-visible{outline:1px solid currentColor;outline-offset:3px;}
@media(max-width:1040px){.setoda-footer-legal a{min-height:44px!important;}}


/* v44 style block 62: fab-v27-top-news-tag-lane */

@media(min-width:1041px){
  .news-row-main{grid-template-columns:clamp(140px,11.5vw,164px) minmax(0,1fr)!important;}
  .news-row-main .news-category-tag{
    transform:translateX(-4px)!important;
    padding:4px 10px 3px!important;
  }
}

* v44 style block 65: fab-v33-top-refinements */

/* TOP: mobile INDEX tracking. */
.page-index-mobile-label{letter-spacing:.1em!important;}

/* TOP: value meta spacing. */
.setoda-value-meta{padding-bottom:10px!important;}

/* TOP: consultation links begin immediately after their preceding content. */
.support-panel-inner > .support-consult-link{margin-top:0!important;}

/* TOP: the five feature banners reveal as one visual group. */
.feature-grid .feature-card.reveal{transition-delay:0s!important;}
@media(min-width:1041px){
  .feature-grid .feature-card.reveal{
    transition:opacity 1.45s var(--ease),transform 1.65s var(--ease),flex-grow 1.25s var(--ease),filter 1.1s var(--ease)!important;
  }
}
@media(max-width:1040px){
  .feature-grid .feature-card.reveal{
    transition:opacity 1.45s var(--ease),transform 1s var(--ease)!important;
  }
}

/* TOP footer phrase: apply the 600px measure only on Tablet/SP (<=1040px). */
@media(max-width:1040px){
  .setoda-footer-phrase{
    max-width:600px!important;
    border-top:0!important;
    border-bottom:0!important;
    overflow:visible!important;
  }
  .setoda-footer-phrase::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:min(calc(100vw - (var(--pad) * 2)),1540px);
    border-top:1px solid rgba(255,255,255,.13);
    transform:translateX(-50%);
    pointer-events:none;
  }
}


/* v44 style block 66: fab-news-tag-radius-v43 */

/* v43 — unify all circular-board category tags with the TOP filter corner radius. */
.news-category-tag,
.nw-card-meta span,
.nd-category{
  border-radius:var(--fab-interface-radius)!important;
}



/* Stage 8B-1 Hotfix 03 — TOP intro orbit mobile/tablet reveal stability.
 *
 * A legacy <=1040px rule later in this stylesheet reintroduced the old
 * frame-level reveal translate (+26px -> 0) for `.setoda-intro-orbit`.
 * The current intro implementation keeps each figure frame stationary and
 * uses opacity for the reveal while the generated inner media layer owns the
 * parallax motion. Re-lock the frame transform at the end of the cascade so
 * entering the viewport cannot make the four intro images jump upward.
 */
@media (max-width:1040px){
  .setoda-intro-orbit,
  .setoda-intro-orbit.reveal,
  .setoda-intro-orbit.reveal.in{
    transform:none!important;
  }
  .setoda-intro-orbit.reveal,
  .setoda-intro-orbit.reveal.in{
    transition-property:opacity!important;
  }
}

/* Stage 8D — empty state for the dynamic TOP circular board. */
.news-empty-home{
  margin:0;padding:28px 0;border-bottom:1px solid rgba(72,45,18,.2);
  color:var(--brown-soft);font:400 max(var(--fab-font-minimum),13px)/1.9 var(--serif);letter-spacing:.055em;
}

/* Stage10 A11y01: small ochre text on light paper backgrounds.
   #78631d keeps the established ochre character while providing >=4.5:1
   against the lightest FAB paper surfaces used by these controls/labels. */
:root{--fab-a11y-ochre:#78631d}
.support-no,
.page-index-link:hover span,
.page-index-link.is-active span,
.news-more:hover,
.news-more:focus-visible,
.setoda-text-link:hover,
.setoda-text-link:focus-visible{
  color:var(--fab-a11y-ochre)!important;
}

