:root{--bg: #030f1a;--ink: #e2edf1;--accent: #9bcbd8;--on-accent: #082331;--line: #29404d;--jp: "Shippori Mincho", serif;--en: "Cormorant Garamond", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--jp);font-size:15px;line-height:2;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;width:100%;height:auto;-o-object-fit:cover;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(28px,3vw,43px);line-height:1.7}h3{font-size:23px;line-height:1.7}p{line-height:2.1}small{font-size:12px}section[id]{scroll-margin-top:25px}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-family:var(--en);font-size:12px;letter-spacing:.18em;line-height:1.5;display:block;margin-bottom:24px;color:var(--accent)}.site-header{min-height:108px;padding:24px 48px;display:flex;gap:32px;align-items:center;position:relative;z-index:5}.brand{line-height:1.6;flex-shrink:0}.brand>span{display:block;font-size:10px;letter-spacing:.14em}.brand strong{font-size:18px;font-weight:500;white-space:nowrap}.brand i{font-style:normal;font-size:13px;margin:0 5px}.main-nav{display:flex;gap:26px;margin-left:auto;font-size:12px;white-space:nowrap}.header-tools{display:flex;gap:24px;align-items:center}.languages{font:10px/1.6 sans-serif;white-space:nowrap;letter-spacing:.05em}.languages b{border-bottom:1px solid currentColor;padding-bottom:4px}.button{min-height:54px;padding:14px 26px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-size:13px;line-height:1.5;border:1px solid var(--line);transition:background .25s,color .25s}.button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.site-header .button{min-height:42px;padding:11px 20px;gap:22px;font-size:12px}.text-link{display:inline-block;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.intro-copy p{margin-top:26px;max-width:490px}.benefit-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.benefit-list article{border-top:1px solid var(--line);padding-top:25px}.benefit-list h3{font-size:20px;margin-bottom:14px}.benefit-list p{font-size:13px}.benefit-list .num{font-family:var(--en);font-size:13px;color:var(--accent);display:block;margin-bottom:18px}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.treatment-grid img{aspect-ratio:4/3;margin-bottom:28px}.treatment-grid h3{margin:12px 0}.treatment-grid p{font-size:14px}.course-label{font-family:var(--en);letter-spacing:.15em;font-size:11px;color:var(--accent)}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px}.price-item{border-top:1px solid var(--line);padding-top:24px}.price-item h3{font-size:20px;min-height:68px}.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.price-row strong{font-family:var(--en);font-size:29px;font-weight:400}.price-row span{font-size:13px}.price-note{font-size:12px;margin-top:22px;opacity:.8}.pair{margin-top:40px;padding:26px 30px;border:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:24px;font-size:13px}.pair h3{font-size:18px}.pair p{font-size:13px}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;margin-top:40px;align-items:start}.gallery-grid img{aspect-ratio:4/3}.gallery-grid figcaption{font-size:11px;margin-top:12px;opacity:.7}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:14px}.section-heading p{font-size:13px;max-width:350px}.reviews{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:40px;align-items:center}.rating strong{font-family:var(--en);font-size:65px;font-weight:400;line-height:1.2}.rating .stars{color:var(--accent);letter-spacing:.2em}.rating p{font-size:11px}.reviews blockquote{margin:0;border-left:1px solid var(--line);padding-left:30px;font-size:18px;line-height:2}.reviews cite{display:block;margin-top:16px;font-size:11px;font-style:normal;opacity:.7}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.access-grid h2{margin-bottom:24px}.access-grid p{font-size:14px}.details{margin:0}.details div{display:grid;grid-template-columns:85px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.details dt{opacity:.6}.details dd{margin:0}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.tags span{font-size:11px;border:1px solid var(--line);padding:3px 12px}.booking{text-align:center}.booking h2{margin-bottom:22px}.booking p{font-size:14px}.booking-actions{display:flex;gap:18px;justify-content:center;margin:30px 0 20px}.booking-actions .button{min-width:250px;text-align:left}.footer{padding:45px 48px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.footer small{font:10px/1.6 var(--en);letter-spacing:.08em}.hero{position:relative}canvas{pointer-events:none}::-moz-selection{background:var(--accent);color:var(--on-accent)}::selection{background:var(--accent);color:var(--on-accent)}@media (min-width: 1600px){.site-header{padding-inline:max(48px,calc((100vw - 1440px)/2))}}@media (max-width: 1100px){.site-header{gap:20px;padding:24px 32px}.main-nav{gap:16px}.header-tools{gap:18px}.languages{font-size:9px}.site-header .button{display:none}.wrap{width:calc(100% - 64px)}}@media (max-width: 700px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.site-header{padding:20px;min-height:94px;justify-content:space-between;gap:12px}.brand strong{font-size:14px}.brand>span{font-size:8px}.main-nav{display:none}.header-tools{display:block}.languages{font-size:8px}.section{padding-block:70px}.section-heading{display:block;margin-bottom:32px}.section-heading p{margin-top:18px}.benefit-list{grid-template-columns:1fr;gap:26px}.benefit-list article{padding-top:20px}.benefit-list .num{margin-bottom:10px}.benefit-list h3{margin-bottom:8px}.treatment-grid,.price-grid,.access-grid{grid-template-columns:1fr;gap:38px}.price-item h3{min-height:0}.pair{grid-template-columns:1fr;padding:22px;gap:14px}.gallery-grid{grid-template-columns:1fr 1fr;gap:18px}.gallery-grid figure:first-child{grid-column:1/-1}.reviews{grid-template-columns:1fr;gap:32px}.reviews blockquote{padding-left:22px}.booking-actions{flex-direction:column;align-items:stretch}.booking-actions .button{min-width:0}.footer{padding:30px 20px;align-items:start;gap:25px;flex-direction:column}.details div{grid-template-columns:66px 1fr;gap:14px}.eyebrow{font-size:11px;margin-bottom:18px}.price-row strong{font-size:28px}.button{gap:22px}.booking h2{font-size:28px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.site-header{position:absolute;inset:0 0 auto;color:#fff;border-bottom:1px solid #ffffff24}.hero{min-height:900px;height:100svh;max-height:1200px;display:flex;align-items:center;isolation:isolate;background:#062237}.hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;-o-object-position:center 68%;object-position:center 68%;z-index:-3}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#010d19d9,#051b2d68 54%,#000b1820),linear-gradient(0deg,#030f1a,transparent 24%);z-index:-2}.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;mix-blend-mode:screen;opacity:.35}.hero-copy{padding:140px 0 100px 8%;width:100%}.hero h1{font-size:clamp(36px,4.4vw,64px);line-height:1.8;letter-spacing:.18em}.hero .eyebrow{letter-spacing:.32em;font-size:13px}.hero-copy p{font-size:14px;letter-spacing:.1em;margin:25px 0 38px}.hero-side{position:absolute;right:40px;top:43%;writing-mode:vertical-rl;font-family:var(--en);font-size:12px;letter-spacing:.3em}.hero-bottom{position:absolute;bottom:38px;left:8%;right:8%;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.15em}.scroll-mark{display:flex;align-items:center;gap:20px;font-family:var(--en)}.scroll-mark:before{content:"";display:block;width:65px;height:1px;background:var(--accent)}.abyss-intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:140px}.abyss-intro .portrait{width:78%;height:620px;-o-object-position:center bottom;object-position:center bottom;justify-self:end}.abyss-intro h2{line-height:2;letter-spacing:.14em}.abyss-intro .intro-copy{padding-left:20px}.abyss-intro .text-link{margin-top:32px}.abyss-benefits{padding-top:0}.treatments{background:#081d2c}.menu-section{background:#061521}.menu-section .section-heading{border-bottom:1px solid var(--line);padding-bottom:30px}.gallery-section .gallery-grid figure:nth-child(2){margin-top:70px}.gallery-section .gallery-grid figure:nth-child(3){margin-top:140px}.review-section{background:#0b2231}.booking{padding:120px 0;background:radial-gradient(ellipse at 50% 100%,#134c62,#071927 70%)}.booking h2{letter-spacing:.15em}.depth-caption{font-family:var(--en);font-size:70px;line-height:1;color:#234858;margin-bottom:30px}.footer .brand strong{font-size:16px}@media (max-width: 700px){.hero{min-height:780px;max-height:950px}.hero-copy{padding:150px 25px 110px}.hero h1{font-size:36px;letter-spacing:.1em}.hero .hero-photo{-o-object-position:57% center;object-position:57% center}.hero:after{background:linear-gradient(90deg,#010d19b8,#051b2d25),linear-gradient(0deg,#030f1a,transparent 35%)}.hero-side{right:15px;font-size:10px}.hero-bottom{left:25px;right:25px;font-size:9px;gap:25px}.abyss-intro{grid-template-columns:1fr;padding-block:80px;gap:45px}.abyss-intro .portrait{width:82%;height:440px}.abyss-intro .intro-copy{padding-left:0}.gallery-section .gallery-grid figure:nth-child(n){margin-top:0}.booking{padding:80px 0}.depth-caption{font-size:55px}.hero-copy p{font-size:13px}}@media (max-width: 700px){.site-header{flex-wrap:wrap;gap:14px;min-height:0;padding:20px}.site-header .brand{flex:1 1 100%;min-width:0}.header-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.languages{font-size:10px;letter-spacing:0}.site-header .button{display:inline-flex;min-height:36px;padding:8px 16px;gap:16px}.hero-copy{padding:190px 40px 140px 25px}.hero h1{font-size:clamp(28px,8.8vw,36px)}.hero .eyebrow{font-size:11px;letter-spacing:.2em}.hero-side{right:16px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:12px;letter-spacing:.1em}.abyss-intro h2{font-size:clamp(25px,7.4vw,30px)}.booking h2{font-size:clamp(24px,7vw,28px)}}body{overflow-wrap:break-word}.site-header .brand{min-width:0}.brand strong{white-space:normal}.main-nav{gap:20px}.languages{display:flex;gap:5px;align-items:center}.languages a[aria-current]{border-bottom:1px solid currentColor;padding-bottom:4px}.inner-page .site-header{position:relative}.page-intro{padding:85px 0 30px}.page-intro h1{font-size:clamp(32px,4vw,56px);line-height:1.6}.page-intro p{max-width:680px;margin-top:24px}.detail-content{padding-top:45px}.faq-list{max-width:850px;margin-inline:auto}.faq-list details{border-bottom:1px solid var(--line);padding:24px 0}.faq-list summary{cursor:pointer;font-size:19px;line-height:1.8}.faq-list details p{font-size:14px;margin-top:18px;opacity:.85}.detail-notes{margin-top:40px;border-top:1px solid var(--line);padding-top:28px}.detail-notes h3{margin-bottom:16px}.detail-notes p{margin-top:12px}.mobile-nav{display:none}.skip-link{position:absolute;left:20px;top:-100px;z-index:20;background:var(--accent);color:var(--bg);padding:12px}.skip-link:focus{top:10px}.multiline{white-space:pre-line}.booking small{display:block}.footer{gap:24px}.footer-links{display:flex;flex-wrap:wrap;gap:24px}.footer-links a{font-size:12px}.hero h1{max-width:850px}html:not([lang=ja]) .hero h1{letter-spacing:.04em;font-size:clamp(36px,4.4vw,64px)}html:not([lang=ja]) .hero-copy p{letter-spacing:.03em}html[lang=en] .brand strong{font-size:17px}html[lang=en] .main-nav{gap:14px}.details dd{min-width:0}.details div{grid-template-columns:95px 1fr}@media (min-width: 701px) and (max-width: 1250px){.main-nav{display:none}.header-tools{margin-left:auto}}@media (max-width: 700px){.mobile-nav{display:flex;gap:12px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid var(--line);font-size:12px}.details div{grid-template-columns:76px 1fr}.hero h1{max-width:100%}html:not([lang=ja]) .hero h1{font-size:clamp(30px,8.8vw,36px)}.page-intro{padding-top:55px}.page-intro p{font-size:14px}.detail-content{padding-top:25px}.faq-list summary{font-size:17px}.footer-links{gap:18px}.languages{gap:5px;font-size:10px}.site-header .brand strong{font-size:16px}.booking-actions .button{width:100%}}
