@font-face{font-family:'Klee Subset';src:url('assets/fonts/KleeOne-Regular-subset.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Klee Subset';src:url('assets/fonts/KleeOne-SemiBold-subset.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Klee One';src:url('assets/fonts/KleeOne-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Klee One';src:url('assets/fonts/KleeOne-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--ink:#253b32;--green:#335f4d;--deep:#1f4436;--muted:#64796b;--paper:#f8f7f1;--cream:#f1efe6;--sage:#e3ebe1;--line:#d5ddd2;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;--s16:128px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Klee Subset','Klee One',serif;font-size:16px;line-height:1.9;letter-spacing:.025em}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,dl{margin:0}h1,h2,h3{font-weight:600;line-height:1.55}h1{font-size:clamp(32px,4vw,56px)}h2{font-size:clamp(28px,3vw,40px)}h3{font-size:clamp(20px,2vw,24px)}p{line-height:2}header{height:80px;padding:0 var(--s6);display:flex;align-items:center;gap:var(--s4);background:var(--paper);position:relative;z-index:2}header span{margin-left:auto;font-size:13px;color:var(--muted)}.logo{font-family:'Klee Subset','Klee One',serif;font-weight:600;letter-spacing:.15em;font-size:32px;text-decoration:none;color:var(--deep);white-space:nowrap}.logo small{font-size:12px;letter-spacing:.02em}.head-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s4);background:var(--deep);color:#fff;text-decoration:none;padding:var(--s2) var(--s4);border:1px solid var(--deep);border-radius:0;transition:background .3s,color .3s,transform .3s}.head-cta{font-size:13px;padding:var(--s1) var(--s3)}.button:hover,.head-cta:hover{background:#fff;color:var(--deep)}.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bb9b5b;outline-offset:4px}.wrap{width:min(100% - 64px,1120px);margin-inline:auto}.hero{background:#ebece3;overflow:hidden}.hero-grid{width:100%;display:grid;grid-template-columns:52% 48%;min-height:720px}.hero-copy{padding:var(--s12) var(--s8);align-self:center}.hero-copy h1{margin:var(--s4) 0;letter-spacing:.04em}.hero-copy p{max-width:560px;margin:0 0 var(--s2)}.eyebrow,.en,.story-label,.feature-label{color:var(--muted);font-size:12px;letter-spacing:.16em;font-weight:600}.hero-photo{position:relative;min-height:720px;overflow:hidden}.hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:75% center}.tags{display:flex;flex-wrap:wrap;gap:var(--s1);margin:var(--s3) 0}.tags span{border:1px solid #b6c7b8;padding:var(--s1) var(--s2);font-size:12px}.hero-kicker{font-size:12px;letter-spacing:.18em;color:#718478;margin:var(--s4) 0 var(--s1)}.price-inline{border-top:1px solid #a4b7a6;padding:var(--s2) 0;margin:0 0 var(--s2);max-width:400px;font-size:15px}.price-inline strong{font-size:32px}.hero .button{width:min(100%,320px)}.note{font-size:13px!important;margin-top:var(--s1)!important}.section{padding:var(--s16) 0}.soft{background:var(--cream)}.section-head{max-width:720px;margin:0 auto var(--s8);text-align:center}.section-head h2{margin-top:var(--s2)}.section-head .en{color:#789182}.story-intro{background:#f8f7f1}.story-wrap{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr}.story-content{padding:var(--s16) var(--s8);align-self:center}.story-overline{margin:var(--s3) 0 var(--s1)}.story-content h2{font-size:clamp(32px,4vw,48px);margin:0 0 var(--s4)}.story-content p:last-child{max-width:440px;margin-top:var(--s3)}.story-line{height:1px;width:80px;background:#ad9878}.story-image{min-height:560px;background:url('assets/life-scenes.jpg') 100% 100%/300% 200% no-repeat}.scene-section{background:#e5ece1}.scene-section .section-head{text-align:left;margin-left:0}.scene-heading{display:flex;align-items:center;gap:var(--s2);font-size:16px}.scene-heading small{font-size:12px}.scene-heading span{font-size:12px;letter-spacing:.05em}.scenes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}.scene{display:grid;grid-template-columns:1fr 42%;min-height:192px;background:#f9f8f2;overflow:hidden}.scene-copy{padding:var(--s3);display:flex;flex-direction:column;justify-content:center}.scene-copy b{font-size:12px;color:#809389}.scene-name{font-size:24px;color:var(--deep);font-weight:600}.scene-copy p{font-size:15px;line-height:1.7}.scene-photo{min-height:192px;background-image:url('assets/life-scenes.jpg');background-size:300% 200%;background-repeat:no-repeat;transition:transform .8s ease}.scene:hover .scene-photo{transform:scale(1.04)}.after{max-width:680px;margin:var(--s8) auto var(--s4);text-align:center}.links{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center}.links a{border-bottom:1px solid currentColor;text-decoration:none;padding:var(--s1) 0;font-size:14px}.feature-section{background:var(--deep);color:white;padding:var(--s16) 0}.feature-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center}.feature-label{color:#b5c6b7}.feature-wrap h2{margin:var(--s3) 0}.feature-wrap p{max-width:480px}.feature-pair{display:flex;align-items:center;justify-content:center;gap:var(--s3)}.feature-pair span{width:176px;height:176px;border:1px solid #b9cbb9;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;font-size:24px}.feature-pair small{font-size:11px;letter-spacing:.15em}.feature-pair b{font-size:24px;font-weight:400}.first-section{background:#f8f7f1}.point-heading{font-size:14px}.point-heading span{margin-left:var(--s1)}.points{display:grid;gap:var(--s4)}.point{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center;background:#f0f1e9}.point:nth-child(even) img{order:2}.point img{width:100%;height:100%;max-height:400px;aspect-ratio:4/3;object-fit:cover}.point-copy{padding:var(--s6)}.point-copy strong{font-size:12px;letter-spacing:.18em;color:#728c78}.point-copy h3{margin:var(--s2) 0}.pricebox{max-width:800px;margin:auto;background:#eef0e8;padding:var(--s8);border-top:1px solid #789583}.price-number{font-size:18px;text-align:center}.price-number strong{font-size:48px}.pricebox dl{margin:var(--s4) 0}.pricebox dl div,.access dl div{display:grid;grid-template-columns:160px 1fr;gap:var(--s3);border-bottom:1px solid var(--line);padding:var(--s2) 0}.pricebox dt,.access dt{font-weight:600}dd{margin:0}.pricebox p{margin-top:var(--s2)}.cta{background:var(--deep);color:#fff;text-align:center;padding:var(--s12) var(--s3)}.cta h2{margin-bottom:var(--s2)}.cta p{margin-bottom:var(--s3)}.cta .button{background:#fff;color:var(--deep);border-color:white}.cta .button:hover{background:var(--green);color:white}.cta .links{margin-top:var(--s4)!important}.about{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center}.about img{width:100%;aspect-ratio:4/3;object-fit:cover}.about h2{margin:var(--s2) 0 var(--s3)}.about p{margin:0 0 var(--s2)}.name{border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s4)}.name p{margin-top:var(--s2)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}.step{border-top:1px solid #6d8c75;padding:var(--s3) 0}.step b{font-size:12px;color:#759079;letter-spacing:.12em}.step h3{font-size:18px;margin:var(--s2) 0}.access{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}.map{width:100%;height:320px;border:0}.map-link{display:block;text-align:center;margin-top:var(--s2);font-size:14px}.access-photo{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3);font-size:13px}.access-photo img{width:128px;aspect-ratio:3/2;object-fit:cover}.warning{margin-top:var(--s4);padding:var(--s3);background:#f1f2ec;font-size:14px}.faq{max-width:800px;margin:auto;display:grid;gap:var(--s1)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);list-style:none;cursor:pointer;padding:var(--s3) 0;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:24px;height:24px;flex:none;transition:transform .3s}.faq details[open] summary svg{transform:rotate(-180deg)}.faq .answer{padding:0 0 var(--s3)}footer{background:#173b2e;color:#fff;padding:var(--s8) 0}footer .logo{color:white}footer p{margin:var(--s3) 0;font-size:14px}footer small{font-size:12px;color:#ccd9cd}
@media(max-width:700px), (min-width:1024px){header{height:64px;padding:0 var(--s3);gap:var(--s2)}header span{display:none}.logo{font-size:24px}.logo small{font-size:10px}.head-cta{font-size:12px;padding:var(--s1) var(--s2);margin-left:auto}.wrap{width:calc(100% - 48px)}.hero-grid{width:100%;display:flex;flex-direction:column;min-height:0}.hero-photo{order:-1;min-height:288px;height:288px}.hero-photo img{object-position:center}.hero-copy{padding:var(--s6) var(--s3) var(--s8)}.hero-copy h1{font-size:28px;margin:var(--s3) 0}.hero-copy p{margin-bottom:var(--s2)}.hero .button{width:100%;max-width:none}.section{padding:var(--s10) 0}.section-head{margin-bottom:var(--s6);text-align:left}.story-wrap{width:100%;display:flex;flex-direction:column}.story-content{padding:var(--s10) var(--s3) var(--s6)}.story-image{min-height:288px}.scene-section .section-head{margin-bottom:var(--s4)}.scenes{grid-template-columns:1fr;gap:var(--s2)}.scene{min-height:152px}.scene-copy{padding:var(--s2)}.scene-name{font-size:20px}.scene-copy p{font-size:14px}.scene-photo{min-height:152px}.after{text-align:left;margin:var(--s6) 0 var(--s4)}.feature-section{padding:var(--s10) 0}.feature-wrap{grid-template-columns:1fr;gap:var(--s4)}.feature-pair{gap:var(--s2)}.feature-pair span{width:128px;height:128px;font-size:22px}.points{gap:var(--s3)}.point{display:flex;flex-direction:column;gap:0;align-items:stretch}.point:nth-child(even) img{order:0}.point img{height:auto;aspect-ratio:16/10}.point-copy{padding:var(--s3)}.pricebox{padding:var(--s3)}.pricebox dl div,.access dl div{grid-template-columns:1fr;gap:var(--s1)}.cta{padding:var(--s10) var(--s3)}.about,.access{grid-template-columns:1fr;gap:var(--s4)}.steps{grid-template-columns:1fr 1fr;gap:var(--s3)}.map{height:256px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@keyframes editorial-reveal{from{opacity:.25;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.is-revealed{animation:editorial-reveal .8s cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){.is-revealed{animation:none}}
@media(max-width:700px), (min-width:1024px){.hero-copy h1{font-size:24px;letter-spacing:0}}
/* Shimmer Button, adapted from Magic UI (MIT); motion remains optional. */
.shimmer-button{position:relative;isolation:isolate;overflow:hidden;--speed:5s;--cut:2px;--spread:90deg;--shimmer-color:rgba(236,231,201,.7);--bg:var(--deep);background:transparent}.cta .shimmer-button{--bg:#fff;background:transparent}.shimmer-button::before{content:'';position:absolute;inset:var(--cut);background:var(--bg);z-index:-1}.shimmer-label{display:inline-flex;align-items:center;justify-content:center;gap:var(--s4);position:relative;z-index:1}.shimmer-spark{position:absolute;inset:0;z-index:-2;overflow:hidden;container-type:size}.shimmer-spin{position:absolute;inset:-100%;background:conic-gradient(from calc(270deg - (var(--spread) * .5)),transparent 0,var(--shimmer-color) var(--spread),transparent var(--spread));animation:spin-around calc(var(--speed)*2) infinite linear}.shimmer-button:hover{--bg:#fff}.cta .shimmer-button:hover{--bg:var(--green)}
@keyframes spin-around{0%{transform:translateZ(0) rotate(0)}15%,35%{transform:translateZ(0) rotate(90deg)}65%,85%{transform:translateZ(0) rotate(270deg)}100%{transform:translateZ(0) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.shimmer-spin{animation:none}}

/* Each page has its own editorial palette. */
body[data-theme="general"]{--ink:#253b32;--green:#335f4d;--deep:#1f4436;--muted:#64796b;--paper:#f8f7f1;--cream:#f1efe6;--line:#d5ddd2;--hero:#e9ede4;--scene-bg:#e5ece1;--panel:#eef0e8;--footer:#173b2e;--accent:#8c9e87}
body[data-theme="back"]{--ink:#48362c;--green:#95654c;--deep:#664538;--muted:#8b6e5e;--paper:#faf6ef;--cream:#f2e8dc;--line:#dfd1c3;--hero:#ead8c7;--scene-bg:#ead9cb;--panel:#f2e7db;--footer:#4f342c;--accent:#b78569}
body[data-theme="shoulder"]{--ink:#303b4d;--green:#667795;--deep:#394b68;--muted:#68778c;--paper:#f5f6f5;--cream:#e9edf1;--line:#cfd7df;--hero:#dce5eb;--scene-bg:#dbe4ea;--panel:#e8edf1;--footer:#293b56;--accent:#889bb1}
.hero{background:var(--hero)}.scene-section{background:var(--scene-bg)}.story-intro,.first-section{background:var(--paper)}.point,.pricebox,.warning{background:var(--panel)}footer{background:var(--footer)}.section-head .en,.point-copy strong,.step b{color:var(--muted)}
.story-image{background:var(--deep);color:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:560px;overflow:hidden;position:relative}.story-image:before,.story-image:after{content:'';position:absolute;border:1px solid var(--accent);border-radius:50%;width:320px;height:320px;opacity:.45}.story-image:after{width:440px;height:440px}.story-image span{font-size:clamp(56px,8vw,112px);line-height:1.05;letter-spacing:.08em;text-align:center;position:relative;z-index:1}.story-image small{margin-top:var(--s4);letter-spacing:.18em;position:relative;z-index:1}.scene-number{display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--panel);font-size:clamp(64px,7vw,96px);line-height:1;opacity:.75;transition:transform .6s ease}.scene:hover .scene-number{transform:scale(1.08)}
@keyframes image-enter{from{opacity:.4;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@keyframes line-enter{from{opacity:.3;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
.hero-photo img{animation:image-enter 1.4s ease both}.hero-copy h1{animation:editorial-reveal 1s ease both}.story-image.is-revealed{animation:image-enter 1.2s ease both}.section-head.is-revealed,.step.is-revealed{animation:line-enter .8s ease both}.scene:nth-child(even).is-revealed,.point:nth-child(even).is-revealed{animation-delay:.12s}.feature-pair span{transition:transform .6s ease,border-color .6s ease}.feature-pair:hover span:first-child{transform:translateX(8px)}.feature-pair:hover span:last-child{transform:translateX(-8px)}
@media(max-width:700px), (min-width:1024px){.story-image{min-height:288px}.story-image:before{width:192px;height:192px}.story-image:after{width:256px;height:256px}.story-image span{font-size:56px}.scene-number{font-size:64px}}
@media(prefers-reduced-motion:reduce){.hero-photo img,.hero-copy h1,.story-image.is-revealed,.section-head.is-revealed,.step.is-revealed{animation:none}.feature-pair:hover span,.scene:hover .scene-number{transform:none}}


/* Mobile reading and booking. Spacing uses the 8px scale. */
.mobile-booking{display:none}
@media(max-width:700px), (min-width:1024px){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px))}
 .mobile-booking{position:fixed;z-index:20;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(144px,1fr);align-items:center;gap:var(--s2);min-height:80px;padding:var(--s1) var(--s3) calc(var(--s1) + env(safe-area-inset-bottom, 0px));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -8px 24px #172b2217}
 .mobile-booking div{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:var(--s1);line-height:1.4}.mobile-booking div span{width:100%;font-size:12px;color:var(--muted)}.mobile-booking strong{font-size:20px;color:var(--deep)}.mobile-booking small{font-size:11px}.mobile-booking a{display:flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:var(--s1) var(--s2);background:var(--deep);color:#fff;text-decoration:none;font-weight:600}.mobile-booking a:focus-visible{outline-offset:2px}
 .hero-photo{height:320px;min-height:320px}.hero-copy{padding:var(--s4) var(--s3) var(--s6)}.hero-copy h1{font-size:clamp(24px,6.4vw,28px);line-height:1.55}.hero-copy>p{font-size:16px}.hero-copy .eyebrow{line-height:1.6}.hero .tags{gap:var(--s1);margin:var(--s3) 0}.hero .button{min-height:56px}
 .scene{grid-template-columns:minmax(0,1fr) minmax(112px,40%);align-items:stretch;min-height:0}.scene-copy{min-width:0;padding:var(--s2)}.scene-photo{width:100%;height:auto;min-height:0;aspect-ratio:1;align-self:center}.scene-name{line-height:1.4}.scene-copy p{font-size:15px}.scene-section .after{margin-top:var(--s4)}
 .point-copy{padding:var(--s3)}.pricebox dl div,.access dl div{gap:var(--s1)}.faq summary{min-height:64px}.cta .button{min-height:56px;width:min(100%,320px)}.map{display:block}.story-image small{font-size:10px;text-align:center}
}
@media(max-width:360px){.mobile-booking{padding-inline:var(--s2);grid-template-columns:minmax(0,1fr) minmax(128px,1fr)}.mobile-booking strong{font-size:18px}.hero-copy h1{font-size:24px}.scene{grid-template-columns:minmax(0,1fr) minmax(104px,40%)}}

/* On wide screens the mobile LP remains the main reading column. */
.desktop-left,.desktop-right{display:none}
@media(min-width:1024px){
 body{padding-bottom:0;background:var(--cream)}
 body>header,body>main,body>footer{width:480px;max-width:100%;margin-inline:auto}
 body>main{background:var(--paper);box-shadow:0 0 32px #1c2a2017}
 body>header{background:var(--paper)}body>footer{padding-inline:0}
 .mobile-booking{display:none}
 .desktop-left,.desktop-right{display:flex;position:fixed;top:0;bottom:0;width:calc((100% - 480px)/2);padding:var(--s6);align-items:center;overflow-y:auto}
 .desktop-left{left:0;justify-content:flex-end}.desktop-right{right:0;justify-content:flex-start}
 .rail-inner{width:100%;max-width:240px}.rail-brand{display:block;color:var(--deep);font-size:32px;letter-spacing:.16em;text-decoration:none;font-weight:600}.rail-brand small{font-size:12px;letter-spacing:0}.rail-intro{font-size:20px;line-height:1.8;margin:var(--s4) 0}.desktop-left nav{display:grid;border-top:1px solid var(--line)}.desktop-left nav a{padding:var(--s1) 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px}.desktop-left nav a:hover,.rail-links a:hover{color:var(--green)}.rail-location,.rail-label,.rail-links span{display:block;font-size:11px;letter-spacing:.16em;color:var(--muted)}.rail-location{margin-top:var(--s4)}
 .rail-heading{font-size:20px;font-weight:600;line-height:1.8;margin:var(--s3) 0}.rail-price{border-top:1px solid var(--line);padding-top:var(--s3)}.rail-price strong{font-size:32px}.rail-price small,.rail-note{font-size:12px}.rail-note{margin:var(--s1) 0 var(--s3)}.rail-book{display:flex;justify-content:space-between;align-items:center;gap:var(--s1);background:var(--deep);color:white;text-decoration:none;padding:var(--s2);font-size:14px}.rail-links{display:grid;gap:var(--s1);border-top:1px solid var(--line);margin-top:var(--s6);padding-top:var(--s3)}.rail-links a{font-size:14px;text-decoration:none}.rail-links span{margin-bottom:var(--s1)}
}
@media(min-width:1024px) and (max-width:1199px){.desktop-left,.desktop-right{padding:var(--s3)}.rail-intro,.rail-heading{font-size:18px}}

/* Original horizontal clinic logo; preserve its aspect ratio and clear space. */
.logo{display:inline-flex;align-items:center;flex:none;line-height:0}.logo img{display:block;width:136px;height:auto}footer .logo img{width:160px}.rail-brand{display:inline-flex;align-items:center;line-height:0}.rail-brand img{display:block;width:176px;max-width:100%;height:auto}
@media(max-width:700px), (min-width:1024px){header .logo img{width:128px}}
@media(max-width:360px){header .logo img{width:112px}}

/* Readable search intent and secondary consultation links. */
.hero-copy .eyebrow{font-size:16px;color:var(--ink);letter-spacing:.02em;line-height:1.7}.line-consult{margin:var(--s2) 0!important;font-size:14px}.line-consult a{color:inherit;text-underline-offset:4px}.hero-copy .note a,.faq .answer a{text-underline-offset:4px}
