:root{--ink:#101313;--ink2:#181e1d;--paper:#f5f7f5;--muted:#aeb8b5;--teal:#00b6aa;--teal-bright:#47d8ca;--line:#303a38;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#f4f6f5;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#111;padding:12px}.skip-link:focus{left:8px}.site-header{position:relative;z-index:10;border-bottom:1px solid #2b3331;background:var(--ink)}.header-inner{height:88px;display:flex;align-items:center;gap:42px}.brand{display:inline-flex;align-items:center;gap:10px;flex:none}.brand-mark{font-size:24px;font-weight:950;letter-spacing:-.14em;line-height:1;border:2px solid #f4f6f5;width:46px;height:46px;display:flex;justify-content:center;align-items:center;padding-right:5px}.brand-mark-dot{color:var(--teal);letter-spacing:0}.brand-name{font-family:Arial,sans-serif;font-size:18px;font-weight:900;letter-spacing:.065em;line-height:1.04;white-space:nowrap}.brand-name small{display:block;font-size:10px;font-weight:600;letter-spacing:.16em;color:#b5c0bc;margin-top:6px}.desktop-nav{display:flex;gap:30px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:700;color:#c5cfca}.desktop-nav a:hover,.footer a:hover{color:var(--teal-bright)}.header-cta{background:var(--teal);color:#081715;font-size:12px;font-weight:900;padding:15px 19px;white-space:nowrap}.header-cta span{margin-left:18px}.header-cta:hover,.button-primary:hover,.mobile-bar a:hover{background:var(--teal-bright)}.hero{overflow:hidden;padding:64px 0 0;background:radial-gradient(circle at 28% 38%,#1a2926 0,transparent 38%),var(--ink)}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:570px;align-items:stretch}.hero-copy{padding:28px 32px 28px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow,.section-kicker{font-family:Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--teal-bright);margin:0 0 25px;display:flex;align-items:center;gap:10px}.eyebrow-line{width:23px;height:1px;background:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(46px,5.2vw,76px);letter-spacing:-.075em;line-height:1.2;margin:0 0 29px;font-weight:900}h1 em{color:var(--teal-bright);font-style:normal}.hero-lead{font-size:15px;line-height:2.15;color:#d5dbd8;margin:0 0 33px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{min-height:55px;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:16px 22px;font-size:13px;font-weight:900;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:#061d1b;background:var(--teal)}.button-primary span,.button-outline span{font-size:19px;font-weight:500}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #87928e;padding-bottom:7px}.text-link span{margin-left:15px}.hero-note{color:#87958f;font-size:10px;line-height:1.8;margin:18px 0 0}.hero-visual{position:relative;min-height:570px}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:51% 50%}.photo-label{position:absolute;bottom:17px;right:23px;font:700 10px Arial,sans-serif;letter-spacing:.15em;text-shadow:0 1px 8px #000}.photo-label span{margin-left:14px;color:#c8d6cf}.hero-float-card{position:absolute;left:-48px;bottom:45px;width:180px;background:var(--teal);color:#0a1b19;padding:19px 22px 16px;box-shadow:0 18px 34px #0005}.hero-float-card>span,.hero-float-card small{display:block;font-size:10px;font-weight:700}.hero-float-card strong{display:block;font-size:22px;line-height:1.25;margin:5px 0 8px;letter-spacing:-.04em}.hero-float-card strong span{font:800 37px Arial,sans-serif}.hero-float-card small{font-size:9px;white-space:nowrap}.hero-bottom{height:65px;display:flex;justify-content:space-between;align-items:center;color:#899691;font:700 10px Arial,sans-serif;letter-spacing:.16em}.hero-bottom a{color:#d6e1db}.hero-bottom a span{margin-left:12px;color:var(--teal)}.quick-facts{background:var(--paper);color:var(--ink)}.quick-facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}.quick-facts-grid>div{min-height:133px;display:flex;flex-direction:column;justify-content:center;padding:22px 24px;border-right:1px solid #dce2dd}.quick-facts-grid>div:first-child{border-left:1px solid #dce2dd}.fact-icon{font:700 21px Arial,sans-serif;color:#008f84;line-height:1;margin-bottom:9px}.quick-facts strong{font-size:16px;letter-spacing:-.03em}.quick-facts small{font-size:10px;color:#69746f;margin-top:6px}.section{padding:122px 0}.section-kicker{margin-bottom:24px}.section-kicker span{color:#79918a;margin-right:6px}h2{font-size:clamp(33px,3.5vw,50px);line-height:1.4;letter-spacing:-.06em;margin-bottom:30px}h3{letter-spacing:-.04em}.section-about{background:#131a18}.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:100px;align-items:center}.section-copy>p:not(.section-kicker){color:#aeb9b3;line-height:2.15;font-size:13px}.section-copy .body-large{font-size:15px!important;color:#e5ebe7!important;line-height:2!important}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:29px}.tag-list span{border:1px solid #52615b;color:#c4d2ca;font-size:10px;padding:9px 12px}.about-media{position:relative}.about-image-main{margin:0}.about-image-main img{width:100%;aspect-ratio:1.26;object-fit:cover}.about-image-main figcaption{margin-top:10px;text-align:right;color:#75877e;font:700 10px Arial,sans-serif;letter-spacing:.15em}.about-stamp{position:absolute;left:-38px;bottom:-20px;width:132px;height:132px;background:#e8f1ed;color:#142522;display:flex;flex-direction:column;justify-content:center;padding:18px;font:900 26px/.98 Arial,sans-serif;letter-spacing:-.06em}.about-stamp span{color:#008f84;font-size:13px;margin-top:11px}.section-equipment{background:var(--paper);color:var(--ink)}.section-equipment .section-kicker,.section-price .section-kicker,.section-faq .section-kicker{color:#008f84}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}.section-heading-row h2{margin-bottom:0}.section-heading-row>p{color:#626e67;font-size:12px;line-height:2;margin-bottom:4px}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.equipment-card{background:#fff}.equipment-image{aspect-ratio:1.2;overflow:hidden}.equipment-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.equipment-card:hover img{transform:scale(1.04)}.equipment-text{padding:23px 23px 26px}.equipment-text>span{color:#008f84;font:800 10px Arial,sans-serif;letter-spacing:.13em}.equipment-text h3{font-size:17px;margin:14px 0 10px}.equipment-text p{font-size:11px;line-height:1.9;color:#6e7972;margin:0}.equipment-extra{border-top:1px solid #dce4de;margin:35px 0 0;padding-top:20px;font-size:12px;color:#3a4740}.equipment-extra span{color:#77847c;margin-left:20px}.section-price{background:#dce9e3;color:var(--ink)}.price-grid{display:grid;grid-template-columns:1fr .85fr;gap:110px;align-items:center}.price-grid>div:first-child>p:not(.section-kicker){max-width:440px;font-size:13px;line-height:2;color:#59675f}.price-card{background:#101817;color:#f5faf6;padding:34px 35px 24px;box-shadow:20px 20px 0 #c5d8ce}.price-card-top{font-size:11px;color:#acbdb3}.price-line{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #40504a;padding:19px 0 16px;margin-bottom:15px}.price-line>span{font-size:15px;font-weight:700}.price-line strong{font:800 clamp(40px,4vw,62px) Arial,sans-serif;letter-spacing:-.06em;color:var(--teal-bright)}.price-line small{font-size:26px;margin-right:5px}.price-card-bottom{display:flex;justify-content:space-between;color:#cbd9d0;font-size:11px;margin:0 0 26px}.price-card .button{width:100%}.price-card p{color:#85998d;font-size:10px;line-height:1.75;margin:14px 0 0}.section-how{background:#121916}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:47px}.step{border-top:1px solid #556961;padding-top:22px}.step>span{font:800 13px Arial,sans-serif;color:var(--teal-bright)}.step h3{font-size:19px;margin:25px 0 10px}.step p{font-size:12px;line-height:2;color:#a9b8ae;max-width:300px}.section-access{background:#18211d}.access-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.access-photo{position:relative}.access-photo img{width:100%;aspect-ratio:1.2;object-fit:cover}.access-photo span{position:absolute;bottom:19px;left:20px;color:white;text-shadow:0 1px 8px #000;font:700 11px Arial,sans-serif;letter-spacing:.17em}.access-address{font-size:16px;line-height:2;margin-bottom:22px}.access-times{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 35px}.access-times span{font-size:11px;color:#b7cac0;border:1px solid #577065;padding:9px 12px}.button-outline{border:1px solid #a5b8ad;color:#f2faf5}.button-outline:hover{background:#f0f7f2;color:#13231b}.section-faq{background:var(--paper);color:var(--ink)}.faq-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:100px}.faq-list{border-top:1px solid #bdcac0}.faq-list details{border-bottom:1px solid #bdcac0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-size:14px;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:#008f84;font:300 23px Arial,sans-serif;line-height:.8}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:12px;color:#536158;line-height:2;margin:0 0 25px;max-width:620px}.closing{background:var(--teal);color:#081f1b;padding:70px 0}.closing-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.closing p{font:800 11px Arial,sans-serif;letter-spacing:.18em}.closing h2{font-size:clamp(31px,3.3vw,48px);margin:0}.closing .button-primary{background:#0e2420;color:white;border:1px solid #0e2420}.closing .button-primary:hover{background:#25473f}.button-large{min-width:230px}.footer{background:#0c1210;color:#d5dfd8}.footer-top{display:flex;justify-content:space-between;align-items:end;padding:53px 0;border-bottom:1px solid #2d3a32}.footer-top strong{font:900 25px Arial,sans-serif;letter-spacing:.05em;display:block}.footer-top span{display:block;color:#94a69a;font-size:11px;margin-top:8px}.footer-top>a{font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding:25px 0 39px;color:#8ea096;font-size:10px}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 20px}.mobile-bar{display:none}a:focus-visible,summary:focus-visible{outline:3px solid #70ffe8;outline-offset:4px}
@media(max-width:1000px){.desktop-nav{gap:16px}.header-inner{gap:22px}.about-grid,.price-grid,.access-grid{gap:50px}.hero-grid{grid-template-columns:1fr 1fr}.hero-copy{padding-right:25px}h1{font-size:clamp(42px,5vw,60px)}.faq-grid{gap:55px}}
@media(max-width:760px){.wrap{width:min(calc(100% - 36px),var(--max))}.site-header{position:sticky;top:0}.header-inner{height:65px}.brand-mark{width:37px;height:37px;font-size:20px}.brand-name{font-size:15px}.brand-name small{font-size:8px}.desktop-nav,.header-cta{display:none}.hero{padding:0}.hero-grid{display:flex;flex-direction:column-reverse;min-height:0}.hero-visual{min-height:0;height:300px;margin:0 -18px}.hero-visual>img{object-position:center 45%}.hero-float-card{left:auto;right:18px;bottom:-22px;width:145px;padding:11px 14px}.hero-float-card strong{font-size:17px;margin:2px 0}.hero-float-card strong span{font-size:29px}.hero-float-card small{font-size:8px}.photo-label{top:15px;bottom:auto;left:18px;right:auto}.hero-copy{padding:55px 0 43px}.eyebrow{font-size:9px;margin-bottom:20px}h1{font-size:clamp(43px,10vw,64px);margin-bottom:20px}.hero-lead{font-size:13px;line-height:1.9;margin-bottom:24px}.hero-lead br{display:none}.hero-actions{gap:18px}.button{min-height:50px;padding:13px 17px;font-size:12px}.hero-note{font-size:10px}.hero-bottom{display:none}.quick-facts-grid{grid-template-columns:repeat(2,1fr)}.quick-facts-grid>div{min-height:104px;padding:15px 12px;border-bottom:1px solid #dce2dd}.quick-facts-grid>div:first-child{border-left:0}.quick-facts strong{font-size:13px}.quick-facts small{font-size:9px}.section{padding:77px 0}.section-kicker{font-size:10px;margin-bottom:17px}h2{font-size:clamp(32px,8vw,42px);margin-bottom:23px}.about-grid,.price-grid,.access-grid,.faq-grid{grid-template-columns:1fr;gap:34px}.section-copy>p:not(.section-kicker){font-size:12px}.about-media{margin-left:22px}.about-stamp{width:100px;height:100px;left:-22px;font-size:19px;padding:14px}.about-stamp span{font-size:11px}.section-heading-row{display:block}.section-heading-row>p{margin-top:22px;font-size:11px}.equipment-grid{grid-template-columns:1fr;gap:12px}.equipment-card{display:grid;grid-template-columns:40% 60%;min-height:135px}.equipment-image{aspect-ratio:auto}.equipment-text{padding:18px}.equipment-text h3{font-size:14px;margin:10px 0 7px}.equipment-text p{font-size:10px}.equipment-extra{font-size:11px}.equipment-extra span{display:block;margin:6px 0 0}.price-grid{gap:20px}.price-card{padding:25px;box-shadow:9px 9px 0 #c5d8ce;margin-right:9px}.steps{grid-template-columns:1fr;gap:15px;margin-top:20px}.step h3{margin:13px 0 5px;font-size:17px}.step p{margin-bottom:8px}.access-photo{order:2}.access-copy{order:1}.access-photo img{aspect-ratio:1.25}.access-address{font-size:15px}.faq-list summary{font-size:13px;padding:22px 0}.closing{padding:55px 0 65px}.closing-inner{display:block}.closing .button{margin-top:28px}.footer-top,.footer-bottom{display:block}.footer-top>a{display:inline-block;margin-top:28px}.footer-bottom nav{margin-bottom:22px}.mobile-bar{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#0c1210;padding:10px 13px max(10px,env(safe-area-inset-bottom));box-shadow:0 -8px 22px #0006}.mobile-bar a{display:flex;justify-content:space-between;align-items:center;background:var(--teal);color:#071c19;padding:13px 17px;font-size:13px;font-weight:900}.mobile-bar a span{font-size:19px;font-weight:400}.footer{padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:72px;height:72px;object-fit:cover;background:#101010}.access-photo img{aspect-ratio:4/5;object-fit:contain;background:#101010}.access-photo span{display:none}@media(max-width:760px){.access-photo img{aspect-ratio:4/5}.footer-brand img{width:60px;height:60px}}

/* Clear booking facts and a stronger LINE action. */
.hero-deal{width:100%;border-top:1px solid #47625a;border-bottom:1px solid #47625a;padding:15px 0;margin:-5px 0 24px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline}
.hero-deal p{margin:0;white-space:nowrap;font-size:14px;font-weight:800;color:#d7e4de}
.hero-deal strong{color:var(--teal-bright);font:900 clamp(26px,2.7vw,38px) Arial,sans-serif;letter-spacing:-.055em;margin-left:5px}
.hero-deal small{font-size:10px;margin-left:5px;color:#9cafaa}
.hero-lead{margin-bottom:24px}
.button-hero,.button-booking{min-height:70px;font-size:20px;padding:18px 28px;gap:46px}
.button-hero{min-width:290px}
.button-hero span,.button-booking span{font-size:26px}
.header-cta{font-size:14px;padding:17px 22px}
.quick-facts-grid>.fact-card{min-height:186px;padding:25px 22px}
.fact-label{font:800 10px Arial,sans-serif;letter-spacing:.18em;color:#008f84;margin-bottom:18px}
.quick-facts .fact-card strong{font-size:clamp(21px,2vw,27px);line-height:1.3;letter-spacing:-.055em}
.quick-facts .fact-card strong b{font-size:1.15em;color:#008f84;white-space:nowrap}
.quick-facts .fact-card small{font-size:11px;line-height:1.55;margin-top:13px}
.price-title-amount{font:900 clamp(48px,5.4vw,78px) Arial,sans-serif;letter-spacing:-.065em;color:#007d72}
.price-card-bottom{gap:12px;flex-wrap:wrap}
.how-title em{font-style:normal;color:var(--teal-bright)}
.closing .button-booking{min-width:275px}
@media(max-width:760px){
  .hero-deal{margin:-2px 0 18px;padding:12px 0;gap:4px 16px}
  .hero-deal p{font-size:12px}
  .hero-deal strong{font-size:27px}
  .hero-lead{font-size:12px;line-height:1.75;margin-bottom:20px}
  .hero-lead br{display:none}
  .hero-actions{width:100%}
  .button-hero{width:100%;min-width:0;min-height:64px;font-size:19px}
  .quick-facts-grid>.fact-card{min-height:164px;padding:18px 12px}
  .fact-label{font-size:9px;margin-bottom:13px}
  .quick-facts .fact-card strong{font-size:clamp(18px,5vw,22px);line-height:1.34}
  .quick-facts .fact-card small{font-size:10px;margin-top:9px}
  .price-title-amount{font-size:clamp(52px,14vw,76px)}
  .button-booking{min-height:62px;font-size:18px}
  .mobile-bar a{min-height:55px;font-size:18px;padding:13px 18px}
}

/* Keep the access section compact while showing the live Google map. */
.access-grid{gap:70px}
.access-map{min-width:0;border:1px solid #52665b;overflow:hidden;background:#e8ece8}
.access-map iframe{display:block;width:100%;height:480px}
.access-copy .button{margin-top:5px}
.access-route{margin:0 0 27px;color:#b7cac0;font-size:13px}
.hero-deal{scroll-margin-top:76px}
.quick-facts-grid{grid-template-columns:repeat(2,1fr)}
.quick-facts-grid>.fact-card{min-height:164px}
.quick-facts .fact-card strong{font-size:clamp(26px,3vw,36px)}
@media(max-width:760px){
  .access-grid{gap:30px}
  .access-map{order:2}
  .access-map iframe{height:360px}
  .quick-facts-grid{grid-template-columns:1fr}
  .quick-facts-grid>.fact-card{min-height:124px;padding:20px}
  .quick-facts .fact-card strong{font-size:clamp(24px,6.5vw,30px)}
}

/* Give the complete room view priority, with no image cropping. */
.hero-grid{width:min(calc(100% - 48px),1600px);grid-template-columns:minmax(340px,.7fr) minmax(0,1.3fr);gap:36px;min-height:0;align-items:center}
.hero-copy{min-width:0;padding:28px 0}
.hero h1{font-size:clamp(43px,4.3vw,68px)}
.hero-visual{min-height:0}
.hero-visual>img{width:100%;height:auto;object-fit:contain;object-position:center}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:80px}
.about-media{width:100%;max-width:400px;justify-self:end}
.about-image-main img{aspect-ratio:auto;height:auto}
@media(min-width:761px) and (max-width:1000px){
  .hero-grid{grid-template-columns:minmax(285px,.8fr) minmax(0,1.2fr);gap:24px}
  .hero h1{font-size:43px}
  .hero-deal{gap:8px 16px}
  .about-grid{grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:40px}
}
@media(max-width:760px){
  .hero-grid{width:min(calc(100% - 36px),var(--max));gap:0}
  .hero-copy{padding:38px 0 43px}
  .hero h1{font-size:clamp(43px,10vw,64px)}
  .hero-visual{height:auto;margin:0 -18px}
  .about-grid{grid-template-columns:1fr;gap:28px}
  .about-media{max-width:300px;margin:0;justify-self:center}
}
