:root{--teal:#173b3a;--teal-dark:#0d2928;--ivory:#f4f0e7;--stone:#e9e2d6;--bronze:#a88658;--brown:#302923;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--brown);font-family:var(--sans);font-weight:300;letter-spacing:.06em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.header{position:absolute;z-index:10;top:0;left:0;width:100%;height:108px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;color:var(--ivory);border-bottom:1px solid #f4f0e72b}.brand{display:flex;flex-direction:column;align-items:center;font-family:var(--serif)}.brand span{font-size:32px;line-height:.9;letter-spacing:.24em;margin-right:-.24em}.brand small{font:400 7px var(--sans);letter-spacing:.28em;margin-top:9px}.header nav{display:flex;gap:3vw;font:400 11px var(--serif);text-transform:uppercase;letter-spacing:.16em}.header nav a{position:relative}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--bronze);transition:.3s}.header nav a:hover:after{right:0}.reserve-link{font:400 10px var(--sans);letter-spacing:.18em;border:1px solid #a8865899;padding:15px 21px}.reserve-link span{color:var(--bronze);margin-left:12px}.menu-button{display:none}.hero{min-height:100svh;background:radial-gradient(circle at 50% 110%,#32625f 0,transparent 38%),linear-gradient(135deg,#102e2d,var(--teal) 48%,#0b2928);color:var(--ivory);position:relative;display:grid;place-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0003,transparent 30%,transparent 70%,#0003)}.hero-water{position:absolute;inset:60% -10% -10%;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 28px,#c9ba9410 30px 31px,transparent 33px 52px);filter:blur(.2px);animation:drift 12s ease-in-out infinite alternate}.ripple{position:absolute;width:38vw;height:38vw;border:1px solid #c6b08326;border-radius:50%}.ripple:after,.ripple:before{content:"";position:absolute;border:1px solid #c6b08316;border-radius:50%;inset:9%}.ripple:after{inset:19%}.ripple-one{left:-22vw;bottom:-12vw}.ripple-two{right:-28vw;top:12%}.hero-copy{text-align:center;z-index:1;margin-top:4vh}.eyebrow{font:400 9px var(--sans);letter-spacing:.36em;color:#c7ad7f}.hero h1{font:300 clamp(86px,15vw,190px)/.72 var(--serif);letter-spacing:.19em;margin:42px 0 25px;padding-left:.19em}.sublogo{font:400 10px var(--sans);letter-spacing:.5em;margin:0}.hairline{width:1px;height:56px;background:linear-gradient(var(--bronze),transparent);margin:35px auto 10px}.tagline{font-size:13px;letter-spacing:.26em}.scroll{position:absolute;bottom:0;left:4.5vw;height:120px;display:flex;flex-direction:column;align-items:center;gap:12px;font:400 7px var(--sans);letter-spacing:.3em}.scroll i{width:1px;height:80px;background:linear-gradient(var(--bronze),transparent)}.hero-location{position:absolute;right:4.5vw;bottom:34px;font:400 8px/2 var(--sans);letter-spacing:.25em;text-align:right;color:#d8cfbc99}.stone-section{background-color:var(--ivory);background-image:linear-gradient(115deg,#c9bda51a 1px,transparent 1px),radial-gradient(circle at 70% 10%,#fff8,transparent 30%)}.concept{min-height:1020px;padding:150px 8vw 180px;display:grid;grid-template-columns:1fr 1.05fr;gap:8vw;position:relative}.section-number{position:absolute;top:100px;left:4vw;font:300 70px var(--serif);color:#a8865826}.concept-copy{padding-top:85px;max-width:520px}.eyebrow.dark{color:var(--bronze)}h2{font:300 clamp(42px,5.4vw,74px)/1.2 var(--serif);letter-spacing:.04em;margin:28px 0 38px}.concept-copy>p:not(.eyebrow){font-size:13px;line-height:2.4;letter-spacing:.12em;max-width:450px}.text-link{display:inline-flex;gap:70px;align-items:center;border-bottom:1px solid #a8865866;padding:15px 0;font:400 9px var(--sans);letter-spacing:.25em;margin-top:30px}.text-link span{color:var(--bronze)}.arch-frame{margin:0;height:630px;position:relative;overflow:hidden;border-radius:240px 240px 0 0}.arch-frame img{filter:saturate(.72) brightness(.8)}.arch-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#122a2988)}.arch-frame figcaption{position:absolute;z-index:1;bottom:28px;left:32px;color:#f4f0e7;font:400 8px/1.8 var(--sans);letter-spacing:.25em}.water-detail{position:absolute;width:250px;height:180px;bottom:80px;left:41%;border:9px solid var(--ivory);box-shadow:0 15px 40px #30292325}.experience{background:var(--teal);color:var(--ivory);min-height:840px;display:grid;grid-template-columns:58% 42%;align-items:stretch}.experience-image{margin:100px 0 100px 6vw;position:relative}.experience-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--teal))}.experience-image img{filter:saturate(.75) contrast(1.02)}.experience-copy{align-self:center;padding:8vw 7vw 8vw 5vw}.experience-copy h2{font-size:clamp(44px,5vw,68px)}.experience-copy>p:not(.eyebrow){font-size:12px;line-height:2.3;color:#ded7c9b8}.experience-points{margin-top:60px;border-top:1px solid #f4f0e726}.experience-points span{display:block;padding:18px 0;border-bottom:1px solid #f4f0e726;font:400 9px var(--sans);letter-spacing:.22em}.experience-points b{font:300 20px var(--serif);color:var(--bronze);margin-right:25px}.therapists{padding:140px 6vw}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:70px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:380px;font-size:12px;line-height:2.1}.therapist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2vw}.therapist-card{border-top:1px solid #a8865866;padding-top:15px}.portrait{height:460px;display:grid;place-items:center;background-position:center;background-size:cover;position:relative;overflow:hidden}.portrait:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#b6a484,#526a64);filter:saturate(.45)}.portrait-two:before{background:linear-gradient(25deg,#243f3e,#c3b497)}.portrait-three:before{background:linear-gradient(155deg,#cabda6,#405e5b)}.portrait:after{content:"";position:absolute;width:150%;height:150%;border:1px solid #f4f0e726;border-radius:50%}.portrait span{z-index:1;text-align:center;color:#f4f0e788;font:400 8px/2 var(--sans);letter-spacing:.24em}.therapist-card>div:last-child{position:relative;padding:20px 0}.card-no{position:absolute;right:0;top:18px;font:300 24px var(--serif);color:var(--bronze)}.therapist-card h3{font:400 34px var(--serif);margin:0}.therapist-card div>p{font-size:10px}.status{font:400 7px var(--sans);letter-spacing:.2em;color:var(--bronze)}.outline-button{display:flex;width:300px;justify-content:space-between;margin:60px auto 0;border:1px solid #30292345;padding:18px 22px;font:400 8px var(--sans);letter-spacing:.2em}.menu-section{background:var(--teal-dark);min-height:860px;color:var(--ivory);display:grid;grid-template-columns:48% 52%;padding:100px 6vw;gap:7vw}.menu-visual{position:relative}.menu-visual img{filter:saturate(.65) brightness(.7)}.menu-visual:after{content:"";position:absolute;inset:0;border:1px solid #a8865877;margin:20px}.menu-content{align-self:center}.menu-content h2{font-size:clamp(42px,5vw,68px)}.course{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #f4f0e72e;padding:28px 0}.course>div:first-child{max-width:390px}.course span{font:400 7px var(--sans);letter-spacing:.2em;color:var(--bronze)}.course h3{font:400 28px var(--serif);margin:7px 0}.course p{font-size:10px;color:#f4f0e799}.course>div:last-child{text-align:right;white-space:nowrap}.course b{font:300 45px var(--serif)}.course small{font-size:8px;margin-left:4px}.course strong{display:block;font:300 16px var(--serif);color:#cbb48a}.light{color:var(--ivory)}.information{padding:130px 8vw;text-align:center}.information h2{margin-top:20px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid #a8865855;border-bottom:1px solid #a8865855}.info-grid>div{padding:40px;border-right:1px solid #a8865855}.info-grid>div:last-child{border:0}.info-grid span{font:400 8px var(--sans);color:var(--bronze);letter-spacing:.24em}.info-grid p{font:300 16px/2 var(--sans)}.info-grid small{font-size:9px;color:#6e6259}.reservation{height:720px;position:relative;display:grid;place-items:center;color:var(--ivory);text-align:center;overflow:hidden}.fountain-bg{position:absolute;inset:0;background:linear-gradient(#092323b5,#092323e8),url("assets/images/fountain-night.jpg") center/cover;transform:scale(1.03)}.reservation:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #a8865850;border-radius:50%}.reservation-copy{z-index:1}.reservation h2{font-size:clamp(56px,8vw,105px);line-height:.85}.reservation-copy>p:not(.eyebrow){font-size:10px;letter-spacing:.2em}.reservation-copy>div{display:flex;gap:10px;justify-content:center;margin-top:35px}.reservation-copy a{min-width:220px;padding:18px;border:1px solid #f4f0e750;font:400 8px var(--sans);letter-spacing:.2em;display:flex;justify-content:space-between}footer{background:#071d1c;color:#f4f0e777;min-height:220px;padding:60px 6vw;display:flex;align-items:center;justify-content:space-between;font:400 7px var(--sans);letter-spacing:.2em}.footer-brand{color:var(--ivory)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@keyframes drift{to{transform:translateY(-18px) scaleX(1.04)}}
@media(max-width:800px){.header{height:82px;padding:0 22px}.brand span{font-size:25px}.header nav,.reserve-link{display:none}.menu-button{display:block;width:38px;height:38px;border:0;background:none;padding:10px}.menu-button i{display:block;width:18px;height:1px;background:var(--ivory);margin:6px}.hero h1{font-size:25vw}.hero-location{display:none}.ripple{width:85vw;height:85vw}.ripple-one{left:-60vw}.ripple-two{right:-65vw}.concept{padding:100px 24px 130px;display:block;min-height:0}.section-number{top:40px}.concept-copy{padding:0 0 65px}.arch-frame{height:500px;border-radius:180px 180px 0 0}.water-detail{width:145px;height:105px;left:auto;right:8px;bottom:75px}.experience{display:block;padding:70px 0}.experience-image{height:420px;margin:0 24px}.experience-copy{padding:65px 24px 0}.therapists{padding:100px 24px}.section-heading{display:block}.section-heading>p{margin-top:25px}.therapist-grid{grid-template-columns:1fr;gap:55px}.portrait{height:500px}.menu-section{display:block;padding:70px 24px}.menu-visual{height:450px}.menu-content{padding-top:65px}.course{gap:18px}.course p{line-height:1.8}.information{padding:100px 24px}.info-grid{grid-template-columns:1fr}.info-grid>div{border-right:0;border-bottom:1px solid #a8865855}.reservation{height:650px}.reservation:after{width:90vw;height:90vw}.reservation-copy>div{display:block;margin:30px 24px}.reservation-copy a{margin-top:10px}footer{display:block;text-align:center;padding:60px 24px}.footer-brand{margin-bottom:35px}footer>p{margin-top:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-water{animation:none}}
.subpage{background:var(--ivory)}.sub-header{position:absolute;background:transparent}.page-hero{height:520px;background:var(--teal);color:var(--ivory);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.page-hero h1{font:300 clamp(72px,10vw,132px)/.85 var(--serif);margin:28px 0 15px;letter-spacing:.06em}.page-hero>p:last-child{font-size:11px;letter-spacing:.25em}.page-ripple{position:absolute;width:600px;height:600px;border:1px solid #a8865838;border-radius:50%;right:-250px;bottom:-360px;box-shadow:0 0 0 70px #a8865818,0 0 0 140px #a886580d}.archive{padding:110px 6vw 150px}.archive-intro{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid #a8865844;padding-bottom:45px}.archive-intro>p{font:300 46px var(--serif);margin:0}.archive-intro>span{font-size:11px;line-height:2}.filter-row{display:flex;gap:14px;margin:36px 0 55px}.filter-row button{border:1px solid #a8865855;background:transparent;padding:12px 18px;font:400 8px var(--sans);letter-spacing:.15em;color:var(--brown)}.filter-row button.active{background:var(--teal);color:var(--ivory)}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 3vw}.archive-card .portrait{height:650px}.portrait-four:before{background:linear-gradient(30deg,#927f68,#264847)}.archive-card .portrait i{position:absolute;z-index:2;top:20px;left:20px;color:var(--ivory);border:1px solid #f4f0e766;padding:9px 12px;font:400 7px var(--sans);letter-spacing:.18em}.archive-meta{display:grid;grid-template-columns:40px 1fr 30px;gap:20px;padding:20px 0;border-bottom:1px solid #a8865855}.archive-meta>span{font:300 20px var(--serif);color:var(--bronze)}.archive-meta h2{font:400 38px/1 var(--serif);margin:0 0 7px}.archive-meta p{font-size:10px}.archive-meta small{font-size:9px;color:#756b61}.archive-meta>b{align-self:center;font-weight:300;color:var(--bronze)}.profile-hero{min-height:900px;padding:170px 8vw 90px;display:grid;grid-template-columns:48% 52%;align-items:center}.profile-portrait{height:650px;max-width:500px;width:100%;justify-self:center;border-radius:250px 250px 0 0}.profile-portrait:after{display:none}.profile-arch{position:absolute;inset:16px;border:1px solid #f4f0e73d;border-radius:240px 240px 0 0;z-index:2}.profile-title{padding-left:8vw}.profile-title h1{font:300 clamp(90px,12vw,150px)/.7 var(--serif);margin:50px 0 30px;letter-spacing:.03em}.jp-name{font-size:11px;letter-spacing:.25em}.profile-spec{display:flex;gap:42px;border-top:1px solid #a8865855;border-bottom:1px solid #a8865855;padding:21px 0;margin:38px 0}.profile-spec span{font:400 7px var(--sans);letter-spacing:.17em;color:var(--bronze)}.profile-spec b{display:block;font:300 18px var(--serif);color:var(--brown);margin-top:7px}.profile-lead{font:300 24px/1.8 var(--sans);letter-spacing:.13em}.tags{display:flex;gap:8px;margin-top:30px}.tags i{font:400 8px var(--sans);font-style:normal;border:1px solid #a8865855;padding:10px 15px}.profile-content{background:var(--teal);color:var(--ivory);padding:130px 9vw;display:grid;grid-template-columns:1fr 1.15fr;gap:10vw}.message h2{font-size:60px}.message>p:last-child{font-size:12px;line-height:2.4;color:#f4f0e7aa}.schedule-panel{background:var(--ivory);color:var(--brown);padding:55px}.schedule-panel h2{font-size:50px;margin:18px 0 32px}.schedule-row{display:grid;grid-template-columns:1fr 1.2fr 55px;align-items:center;border-top:1px solid #a8865844;padding:18px 0;font-size:9px}.schedule-row b{font:300 18px var(--serif)}.schedule-row i{font-style:normal;color:var(--bronze);text-align:right}.schedule-row.today{background:#a886580d}.schedule-row.off{opacity:.45}.schedule-panel>small{display:block;margin-top:25px;font-size:8px;color:#756b61}.profile-reserve{padding:110px 24px;text-align:center;background:var(--teal-dark);color:var(--ivory)}.profile-reserve h2{font-size:75px;margin:20px 0}.profile-reserve>p:not(.eyebrow){font-size:10px}.profile-reserve>div{display:flex;gap:10px;justify-content:center;margin-top:32px}.profile-reserve a{width:230px;padding:18px;border:1px solid #f4f0e744;font:400 8px var(--sans);letter-spacing:.16em;display:flex;justify-content:space-between}.back-list{display:block;text-align:center;padding:38px;background:var(--ivory);font:400 8px var(--sans);letter-spacing:.2em}
@media(max-width:800px){.page-hero{height:420px}.archive{padding:80px 24px}.archive-intro{display:block}.archive-intro>span{display:block;margin-top:20px}.filter-row{overflow:auto}.archive-grid{grid-template-columns:1fr;gap:60px}.archive-card .portrait{height:500px}.profile-hero{display:block;padding:130px 24px 80px}.profile-portrait{height:500px}.profile-title{padding:70px 0 0}.profile-title h1{font-size:30vw}.profile-spec{gap:25px}.profile-lead{font-size:17px}.profile-content{display:block;padding:90px 24px}.message{margin-bottom:65px}.message h2{font-size:47px}.schedule-panel{padding:30px 20px}.schedule-row{grid-template-columns:1fr 1.1fr 45px}.profile-reserve h2{font-size:52px}.profile-reserve>div{display:block}.profile-reserve a{margin:10px auto}}
.schedule-archive{padding:0 6vw 140px}.date-nav{height:130px;background:var(--ivory);display:grid;grid-template-columns:60px repeat(5,1fr) 60px;max-width:980px;margin:-65px auto 100px;position:relative;z-index:2;box-shadow:0 18px 50px #30292317}.date-nav button{border:0;border-right:1px solid #a8865833;background:transparent;color:var(--brown)}.date-nav .date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.date small,.date span{font:400 7px var(--sans);letter-spacing:.18em}.date b{font:300 38px var(--serif)}.date.active{background:var(--teal);color:var(--ivory)}.date.active small{color:var(--bronze)}.date-arrow{font:300 18px var(--serif)}.schedule-toolbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.schedule-toolbar h2{font-size:60px;margin:15px 0 0}.area-filter{display:flex;align-items:center;gap:8px}.area-filter>span{font:400 7px var(--sans);letter-spacing:.2em;margin-right:10px;color:var(--bronze)}.area-filter button{border:1px solid #a8865844;background:transparent;padding:10px 15px;font:400 8px var(--sans)}.area-filter button.active{background:var(--teal);color:var(--ivory)}.shift-list{border-top:1px solid #a8865855}.shift-card{display:grid;grid-template-columns:170px 1.25fr 1fr 130px;gap:35px;align-items:center;padding:30px 0;border-bottom:1px solid #a8865855}.shift-photo{height:205px}.shift-photo:after{display:none}.shift-photo i{position:absolute;top:10px;left:10px;z-index:2;color:var(--ivory);font:400 6px var(--sans);font-style:normal;letter-spacing:.14em;border:1px solid #f4f0e755;padding:7px}.shift-name{display:flex;gap:25px}.shift-name>span{font:300 22px var(--serif);color:var(--bronze)}.shift-name h3{font:400 42px/1 var(--serif);margin:0}.shift-name p{font-size:10px}.shift-name small{font-size:8px;color:#74695f}.shift-time{border-left:1px solid #a8865844;padding-left:35px}.shift-time>span{font:400 7px var(--sans);letter-spacing:.18em;color:var(--bronze)}.shift-time b{display:block;font:300 27px var(--serif);margin:10px 0}.shift-time p{font-size:9px}.shift-time strong{color:var(--teal);font-weight:500;margin-left:12px}.shift-reserve{border:1px solid #a8865866;padding:17px;display:flex;justify-content:space-between;font:400 8px var(--sans);letter-spacing:.14em}.shift-reserve span{color:var(--bronze)}.shift-reserve.closed{justify-content:center;opacity:.5}.shift-card.unavailable .shift-photo{filter:grayscale(.7)}.cms-note{text-align:right;font-size:8px;color:#766c63;margin-top:20px}.schedule-contact{padding:100px 9vw;background:var(--teal);color:var(--ivory);display:flex;justify-content:space-between;align-items:end}.schedule-contact h2{font-size:65px;margin:15px 0}.schedule-contact p{font-size:10px;line-height:2}.schedule-contact>div:last-child{display:flex;gap:10px}.schedule-contact a{min-width:190px;border:1px solid #f4f0e744;padding:17px;display:flex;justify-content:space-between;font:400 8px var(--sans);letter-spacing:.15em}
@media(max-width:800px){.schedule-archive{padding:0 20px 90px}.date-nav{height:100px;margin:-50px 0 70px;grid-template-columns:35px repeat(3,1fr) 35px}.date-nav .date:nth-of-type(5),.date-nav .date:nth-of-type(6){display:none}.date b{font-size:30px}.schedule-toolbar{display:block}.schedule-toolbar h2{font-size:45px}.area-filter{margin-top:30px;overflow:auto}.shift-card{grid-template-columns:110px 1fr;gap:20px}.shift-photo{height:150px}.shift-name h3{font-size:34px}.shift-name>span{display:none}.shift-time{grid-column:1/3;border-left:0;border-top:1px solid #a8865833;padding:18px 0 0}.shift-reserve{grid-column:1/3}.cms-note{text-align:left;line-height:1.8}.schedule-contact{display:block;padding:75px 24px}.schedule-contact h2{font-size:52px}.schedule-contact>div:last-child{display:block;margin-top:35px}.schedule-contact a{margin-top:10px}}

/* Sensual treatment hero — luxury spa tone with clearer men's-esthetic context */
.hero{background:var(--teal) url("assets/images/trevi-hero-treatment-v2.png") center/cover no-repeat}
.hero:before{background:linear-gradient(90deg,#071d1cf2 0%,#0a2625d8 25%,#0c2a2996 50%,#07181720 75%,#07181755 100%),linear-gradient(0deg,#061c1b9c 0%,transparent 45%,#061c1b75 100%)}
.hero-copy{width:52%;justify-self:start}
.hero h1{font-size:clamp(76px,11vw,155px);text-shadow:0 3px 30px #071d1c99}
@media(max-width:800px){.hero{background-position:62% center}.hero:before{background:linear-gradient(0deg,#071d1ce8 0%,#071d1c79 45%,#071d1c80 100%),linear-gradient(90deg,#071d1cad,transparent)}.hero-copy{width:100%;align-self:end;margin-bottom:18vh;padding:0 12px}.hero h1{font-size:23vw}}

/* Therapist naming and responsive archive grid */
.roman-name{font:400 7px var(--sans)!important;letter-spacing:.2em;color:var(--bronze)}
.archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:55px 1.5vw}
.archive-card .portrait{height:clamp(360px,36vw,500px)}
.archive-meta{grid-template-columns:24px minmax(0,1fr) 18px;gap:9px}
.archive-meta h2{font:300 22px/1.35 var(--sans);letter-spacing:.08em;white-space:nowrap}
.archive-meta small{display:block;line-height:1.7;margin-top:9px}
.archive-meta>span{font-size:16px}
@media(max-width:800px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 12px}.archive-card .portrait{height:62vw}.archive-meta{grid-template-columns:1fr 14px;display:grid;gap:4px}.archive-meta>span{display:none}.archive-meta h2{font-size:15px}.archive-meta small{display:none}.archive-meta>b{grid-column:2;grid-row:1;align-self:start}.archive-meta .roman-name{font-size:6px!important;line-height:1.6}.archive-card .portrait i{top:8px;left:8px;padding:6px;font-size:5px}.archive{padding-left:14px;padding-right:14px}}

.concept-copy .concept-lead{font:300 18px/1.8 var(--sans);letter-spacing:.16em;color:var(--teal);margin-bottom:18px}.system-hero{background:linear-gradient(#0a2929c9,#0a2929e8),url("assets/images/water-gold.jpg") center/cover}.price-section{padding:120px 8vw 150px}.price-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.price-intro h2{margin:18px 0 0}.price-intro>p{font-size:11px;line-height:2.1}.price-table{border-top:1px solid #a8865855}.price-row{min-height:180px;display:grid;grid-template-columns:65px 1.5fr 1fr 1fr;align-items:center;border-bottom:1px solid #a8865855;padding:20px 25px;position:relative}.price-row.featured{background:#a886580b}.price-row.featured:before{content:"RECOMMENDED";position:absolute;right:0;top:0;background:var(--bronze);color:var(--ivory);font:400 6px var(--sans);letter-spacing:.2em;padding:7px 12px}.price-no{font:300 22px var(--serif);color:var(--bronze)}.price-name small{font:400 7px var(--sans);color:var(--bronze);letter-spacing:.18em}.price-name h3{font:300 29px/1.2 var(--sans);letter-spacing:.09em;margin:10px 0}.price-name p{font-size:8px;color:#756b61}.price-duration{display:flex;align-items:baseline;gap:10px}.price-duration b{font:300 66px/1 var(--serif)}.price-duration span{font:400 7px var(--sans);letter-spacing:.2em}.price-value{font:300 38px var(--serif);text-align:right}.price-value small{font-size:17px;margin-right:5px}.option-section{background:var(--teal);color:var(--ivory);padding:120px 9vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw}.option-heading h2{font-size:65px;margin:18px 0}.option-heading>p:last-child{font-size:10px;color:#f4f0e799}.option-list{border-top:1px solid #f4f0e733}.option-list article{display:grid;grid-template-columns:45px 1fr 170px;align-items:center;border-bottom:1px solid #f4f0e733;padding:32px 0}.option-list article>span{font:300 20px var(--serif);color:var(--bronze)}.option-list h3{font:300 22px var(--sans);letter-spacing:.1em;margin:0 0 8px}.option-list p{font-size:9px;color:#f4f0e788}.option-list strong{font:300 24px var(--serif);text-align:right;color:#d0b987}.price-notes{padding:110px 9vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.price-notes h2{font-size:56px;margin:18px 0}.price-notes ul{list-style:none;margin:0;padding:0;border-top:1px solid #a8865844}.price-notes li{font-size:10px;line-height:1.8;padding:18px 5px;border-bottom:1px solid #a8865844}.price-notes li:before{content:"—";color:var(--bronze);margin-right:15px}
@media(max-width:800px){.price-section{padding:80px 20px}.price-intro{display:block}.price-intro>p{margin-top:25px}.price-row{min-height:145px;grid-template-columns:25px 1fr 68px;padding:18px 5px}.price-name h3{font-size:18px}.price-duration{display:block;text-align:center}.price-duration b{font-size:42px}.price-duration span{display:block;font-size:5px}.price-value{grid-column:2/4;font-size:25px;margin-top:-20px}.option-section{display:block;padding:80px 24px}.option-heading{margin-bottom:50px}.option-list article{grid-template-columns:26px 1fr 110px}.option-list strong{font-size:16px}.price-notes{display:block;padding:80px 24px}.price-notes ul{margin-top:35px}}
.commerce-law-section{padding:100px 9vw}.commerce-law-section header{margin-bottom:40px}.commerce-law-section h2{font-size:39px;margin:18px 0}.commerce-law-list{max-width:1080px;margin:0;border-top:1px solid #a8865844}.commerce-law-list>div{display:grid;grid-template-columns:minmax(200px,28%) 1fr;gap:32px;padding:20px 5px;border-bottom:1px solid #a8865844}.commerce-law-list dt{font-weight:600;letter-spacing:.08em;color:var(--teal)}.commerce-law-list dd{margin:0;line-height:1.9}.commerce-law-list a{color:inherit;text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.commerce-law-section{padding:80px 24px}.commerce-law-section h2{font-size:32px}.commerce-law-list>div{display:block;padding:18px 3px}.commerce-law-list dd{margin-top:8px}}

.terms-section{background:var(--teal-dark);color:var(--ivory);padding:130px 9vw}.terms-section>header{max-width:700px;margin-bottom:65px}.terms-section>header h2{font-size:68px;margin:18px 0}.terms-section>header>p:last-child{font-size:11px;color:#f4f0e799}.terms-list{border-top:1px solid #f4f0e72e}.terms-list details{border-bottom:1px solid #f4f0e72e}.terms-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:55px 1fr 30px;align-items:center;padding:30px 0}.terms-list summary::-webkit-details-marker{display:none}.terms-list summary>span{font:300 23px var(--serif);color:var(--bronze)}.terms-list summary div{display:flex;align-items:center;gap:28px}.terms-list summary small{font:400 7px var(--sans);letter-spacing:.2em;color:var(--bronze);min-width:120px}.terms-list summary b{font:300 18px var(--sans);letter-spacing:.12em}.terms-list summary>i{font:300 24px var(--serif);font-style:normal;color:var(--bronze);transition:.3s}.terms-list details[open] summary>i{transform:rotate(45deg)}.terms-body{margin:0 30px 55px 55px;padding:42px 5vw;background:#f4f0e70a;border-left:1px solid #a8865866;max-width:980px;color:#f4f0e7bd}.terms-body h3{font:400 13px var(--sans);letter-spacing:.15em;color:var(--ivory);margin:34px 0 14px}.terms-body h3:first-child{margin-top:0}.terms-body p,.terms-body li{font-size:10px;line-height:2.1}.terms-body ul{padding-left:1.6em;margin:0}.terms-body p+ul{margin-top:10px}
@media(max-width:800px){.terms-section{padding:85px 20px}.terms-section>header h2{font-size:46px}.terms-list summary{grid-template-columns:32px 1fr 20px;padding:24px 0}.terms-list summary div{display:block}.terms-list summary small{display:block;margin-bottom:8px}.terms-list summary b{font-size:14px}.terms-body{margin:0 0 40px 32px;padding:30px 18px}.terms-body p,.terms-body li{font-size:9px;line-height:2}}

/* Rich therapist profile — CMS fields mirror the Type-C profile model */
.profile-mast{min-height:950px;padding:155px 8vw 100px;display:grid;grid-template-columns:48% 52%;gap:7vw;align-items:center}.profile-gallery{max-width:560px}.profile-main-photo{height:650px;border-radius:270px 270px 0 0}.profile-main-photo:after{display:none}.profile-main-photo>i{position:absolute;z-index:2;left:24px;top:24px;border:1px solid #f4f0e766;color:var(--ivory);padding:9px 13px;font:400 7px var(--sans);font-style:normal;letter-spacing:.18em}.profile-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.profile-thumbs button{border:0;height:130px;padding:0}.profile-thumbs .portrait:after{display:none}.profile-overview h1{font:300 clamp(65px,8vw,112px)/1 var(--sans);letter-spacing:.13em;margin:35px 0 12px}.profile-status{display:flex;gap:16px;align-items:center;margin-top:35px}.profile-status span{background:var(--teal);color:var(--ivory);padding:9px 13px;font-size:8px}.profile-status b{font:400 12px var(--sans);color:var(--bronze)}.profile-catch{font:300 20px/1.8 var(--sans);letter-spacing:.1em;margin:38px 0}.body-spec{display:grid;grid-template-columns:repeat(5,1fr);margin:0;border-top:1px solid #a8865844;border-bottom:1px solid #a8865844}.body-spec div{padding:18px 8px;border-right:1px solid #a8865844}.body-spec div:last-child{border:0}.body-spec dt{font:400 7px var(--sans);color:var(--bronze);letter-spacing:.16em}.body-spec dd{font:300 17px var(--serif);margin:8px 0 0}.today-box{margin-top:38px;border:1px solid #a8865855;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.today-box>div{padding:20px}.today-box span,.today-box small{font:400 7px var(--sans);letter-spacing:.15em;color:var(--bronze)}.today-box b{display:block;font:300 25px var(--serif);margin:7px 0}.today-box small{color:#6c6259}.today-box>a{background:var(--teal);color:var(--ivory);padding:20px;display:flex;justify-content:space-between;align-items:center;font:400 8px var(--sans);letter-spacing:.13em}.profile-editorial{background:var(--teal);color:var(--ivory);padding:130px 9vw;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw}.store-comment h2,.personal-data h2{font-size:55px}.store-comment>div p{font-size:11px;line-height:2.4;color:#f4f0e7b5}.personal-data{background:var(--ivory);color:var(--brown);padding:50px}.personal-data dl{margin:30px 0 0}.personal-data dl div{display:grid;grid-template-columns:120px 1fr;padding:16px 0;border-top:1px solid #a8865844}.personal-data dt{font-size:9px;color:var(--bronze)}.personal-data dd{font-size:10px;margin:0}.therapist-message{padding:130px 9vw;display:grid;grid-template-columns:48% 42%;gap:10%;align-items:center}.message-photo{height:650px;border-radius:240px 240px 0 0}.message-photo:after{display:none}.therapist-message h2{font-size:55px}.therapist-message>div:last-child>div p{font-size:11px;line-height:2.4}.signature{font:italic 35px var(--serif);color:var(--bronze);text-align:right}.weekly-schedule{background:var(--teal-dark);color:var(--ivory);padding:120px 7vw}.weekly-schedule>header{display:flex;justify-content:space-between;align-items:end}.weekly-schedule h2{font-size:60px;margin:18px 0}.weekly-schedule>header>p{font-size:9px;color:#f4f0e788}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #f4f0e72e;border-bottom:1px solid #f4f0e72e}.week-grid article{min-height:210px;padding:24px 16px;border-right:1px solid #f4f0e72e;display:flex;flex-direction:column;justify-content:space-between}.week-grid article:last-child{border:0}.week-grid article.is-today{background:#a886581e}.week-grid article.off{opacity:.4}.week-grid span{font:300 22px var(--serif)}.week-grid span small{display:block;font:400 7px var(--sans);letter-spacing:.18em;color:var(--bronze);margin-top:5px}.week-grid b{font:300 19px/1.5 var(--serif)}.week-grid i{font:400 8px var(--sans);font-style:normal;color:#d0b987}.weekly-schedule .cms-note{color:#f4f0e766}
@media(max-width:800px){.profile-mast{display:block;padding:115px 18px 70px}.profile-main-photo{height:125vw}.profile-thumbs button{height:30vw}.profile-overview{padding:60px 6px 0}.profile-overview h1{font-size:18vw}.profile-catch{font-size:16px}.body-spec{grid-template-columns:repeat(5,1fr)}.body-spec div{padding:14px 3px}.body-spec dd{font-size:12px}.today-box{grid-template-columns:1fr}.profile-editorial{display:block;padding:85px 20px}.store-comment h2,.personal-data h2{font-size:43px}.personal-data{margin-top:60px;padding:30px 22px}.personal-data dl div{grid-template-columns:100px 1fr}.therapist-message{display:block;padding:80px 20px}.message-photo{height:115vw}.therapist-message>div:last-child{padding-top:60px}.therapist-message h2{font-size:43px}.weekly-schedule{padding:80px 15px}.weekly-schedule>header{display:block}.weekly-schedule h2{font-size:45px}.week-grid{overflow-x:auto;grid-template-columns:repeat(7,105px)}.week-grid article{min-height:175px;padding:18px 12px}.profile-reserve h2{font-size:45px}}

.sub-header{position:absolute;background:linear-gradient(90deg,#0b2928f5,#173b3aed);box-shadow:0 10px 35px #071d1c20}.profile-main-photo,.archive-card:first-child .portrait,.therapist-card:first-child .portrait{background:url("assets/images/therapist-reira-v2.png") center 18%/cover no-repeat}.profile-main-photo:before,.archive-card:first-child .portrait:before,.therapist-card:first-child .portrait:before{display:none}.profile-main-photo>span,.archive-card:first-child .portrait>span,.therapist-card:first-child .portrait>span{display:none}

/* Template-aligned profile: straightforward information hierarchy and rectangular photo */
.profile-breadcrumb{padding:132px 7vw 22px;background:var(--ivory);font:400 7px var(--sans);letter-spacing:.18em;color:#8a7c6e}.profile-breadcrumb span{margin:0 12px;color:var(--bronze)}.template-profile-main{padding:45px 8vw 100px;display:grid;grid-template-columns:minmax(380px,520px) 1fr;gap:7vw;align-items:start}.template-profile-photo{width:100%}.template-profile .profile-main-photo{height:auto;aspect-ratio:4/5;border-radius:0;background-position:center top}.template-profile .profile-main-photo:after{display:none}.template-profile-info{padding-top:25px}.template-profile-info .name-line{display:flex;align-items:baseline;gap:22px;border-bottom:1px solid #a8865844;padding:26px 0 22px}.template-profile-info .name-line h1{font:300 clamp(48px,6vw,76px)/1 var(--sans);letter-spacing:.12em;margin:0}.template-profile-info .name-line b{font:300 18px var(--sans)}.profile-description{font-size:12px;line-height:2.1;margin:30px 0}.publish-badges{display:flex;gap:8px}.publish-badges span,.publish-badges em{font:400 7px var(--sans);font-style:normal;letter-spacing:.16em;border:1px solid #a8865866;padding:9px 12px}.publish-badges em{background:var(--teal);color:var(--ivory)}.template-spec{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #a8865844;border-bottom:1px solid #a8865844;margin:30px 0 20px}.template-spec div{padding:17px;border-right:1px solid #a8865844}.template-spec div:last-child{border:0}.template-spec dt{font:400 8px var(--sans);color:var(--bronze)}.template-spec dd{font:300 19px var(--serif);margin:8px 0 0}.template-tags{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 28px}.template-tags li{font-size:8px;border:1px solid #a8865855;padding:9px 13px}.template-today{border:1px solid #a8865855;padding:22px;display:grid;grid-template-columns:1fr auto;align-items:center}.template-today span{font-size:8px;color:var(--bronze)}.template-today b{font:300 25px var(--serif);display:block;margin:8px 0}.template-today em{font-size:9px;font-style:normal;color:var(--teal)}.template-today>p{font-size:9px}.template-reserve-buttons{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:10px}.template-reserve-buttons a{padding:18px;text-align:center;background:var(--teal);color:var(--ivory);font:400 9px var(--sans);letter-spacing:.12em}.template-reserve-buttons a.line{background:#637d64}.template-profile-section{padding:100px 8vw}.template-profile-section header h2,.comments-block h2{font-size:52px;margin:16px 0 45px}.template-week{border-top:1px solid #a8865855}.template-week article{display:grid;grid-template-columns:120px 1fr 1fr 100px;align-items:center;padding:20px;border-bottom:1px solid #a8865855}.template-week article.today{background:#a886580d}.template-week article.off{opacity:.5}.template-week article div b{font:300 23px var(--serif)}.template-week article div span{font-size:9px;margin-left:13px}.template-week article strong{font:300 18px var(--serif)}.template-week article p,.template-week article em{font-size:9px;font-style:normal}.template-week article em{color:var(--bronze)}.comments-block{background:var(--ivory);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.comments-block article{border-top:1px solid #a8865855;padding-top:30px}.comments-block article>div p{font-size:11px;line-height:2.3}
@media(max-width:800px){.profile-breadcrumb{padding:105px 18px 18px}.template-profile-main{display:block;padding:20px 14px 70px}.template-profile .profile-main-photo{aspect-ratio:3/4}.template-profile-info{padding:50px 5px 0}.template-profile-info .name-line h1{font-size:47px}.profile-description{font-size:10px}.template-spec div{padding:12px 7px}.template-spec dd{font-size:14px}.template-tags{flex-wrap:wrap}.template-today{grid-template-columns:1fr}.template-today>p{margin-top:18px}.template-reserve-buttons{grid-template-columns:1fr}.template-profile-section{padding:75px 15px}.template-profile-section header h2,.comments-block h2{font-size:39px}.template-week article{grid-template-columns:70px 1fr 80px;padding:16px 7px}.template-week article p{display:none}.template-week article strong{font-size:14px}.comments-block{display:block}.comments-block article+article{margin-top:70px}}

.template-profile main{display:flex;flex-direction:column}.template-profile .profile-breadcrumb{order:1}.template-profile .template-profile-main{order:2;width:100%}.template-profile .comments-block{order:3;width:100%}.template-profile .schedule-block{order:4;width:100%}.template-profile .profile-reserve{order:5;width:100%}.template-profile .back-list{order:6;width:100%}.cms-photo-slider{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.cms-photo-slider button{height:145px;border:1px solid transparent;background:transparent;padding:0;position:relative;cursor:pointer;opacity:.6;transition:.25s}.cms-photo-slider button.active{border-color:var(--bronze);opacity:1}.cms-photo-slider button span{display:block;width:100%;height:100%;background-position:center 20%;background-size:cover}.cms-photo-slider button:nth-child(3) span{background-position:center}.cms-photo-slider button b{position:absolute;right:8px;bottom:7px;color:var(--ivory);font:400 7px var(--sans);text-shadow:0 1px 5px #000}.cms-photo-slider button:after{content:"";position:absolute;inset:0;background:#173b3a24}.cms-photo-slider button.active:after{background:transparent}
@media(max-width:800px){.cms-photo-slider{gap:6px;margin-top:6px}.cms-photo-slider button{height:28vw}.template-profile .comments-block{padding-top:75px;padding-bottom:75px}}

/* TREVI does not use therapist ranks. Keep only operational status labels. */
[data-cms-field="rank"],.archive-card .portrait>i,.publish-badges>span{display:none!important}
.template-profile .profile-reserve{display:none}.template-profile .back-list{border-top:1px solid #a8865844}

/* Global CMS state: WEB reservation OFF also removes availability derived from slots. */
.web-reservation-off .reserve-link,.web-reservation-off [data-cms-field="web_reserve_url"],.web-reservation-off [data-cms-field="availability"],.web-reservation-off .template-today em,.web-reservation-off .template-week article>p,.web-reservation-off .shift-time>p{display:none!important}.web-reservation-off .template-reserve-buttons{grid-template-columns:1fr}.web-reservation-off .reservation-copy a:first-child,.web-reservation-off .profile-reserve a:first-child{display:none}.web-reservation-off .reservation-copy>div,.web-reservation-off .profile-reserve>div{justify-content:center}
.home-roster .compact-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;width:100%}.home-roster .compact-grid .therapist-card{max-width:none}
@media(max-width:800px){.home-roster .compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.access-hero{background:linear-gradient(#0a2929c9,#0a2929e4),url("assets/images/trevi-night.jpg") center/cover}.access-intro{padding:120px 9vw;text-align:center}.access-intro h2{font-size:64px;margin:20px 0 35px}.access-intro>p:last-child{max-width:660px;margin:auto;font-size:11px;line-height:2.4}.room-access{background:var(--teal);color:var(--ivory);padding:110px 7vw;display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;align-items:stretch}.room-details h2{font-size:62px;margin:20px 0 45px}.room-details dl{border-top:1px solid #f4f0e733}.room-details dl div{display:grid;grid-template-columns:110px 1fr;padding:18px 0;border-bottom:1px solid #f4f0e733}.room-details dt{font:400 7px var(--sans);letter-spacing:.18em;color:var(--bronze)}.room-details dd{font-size:10px;margin:0}.station-route{margin-top:45px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}.station-route span,.station-route b{font:400 9px var(--sans);letter-spacing:.12em}.station-route i{height:1px;background:linear-gradient(90deg,var(--bronze),#f4f0e744);position:relative}.station-route i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--bronze)}.station-route small{grid-column:2;font-size:7px;color:#f4f0e777}.access-map{min-height:550px;border:1px solid #a8865877;padding:14px}.access-map iframe{width:100%;height:100%;border:0;filter:grayscale(.8) sepia(.2) contrast(.9)}.arrival-guide{padding:120px 8vw}.arrival-guide header{text-align:center}.arrival-guide h2{font-size:60px;margin:20px 0 65px}.arrival-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #a8865855;border-bottom:1px solid #a8865855}.arrival-steps article{padding:45px;border-right:1px solid #a8865855}.arrival-steps article:last-child{border:0}.arrival-steps span{font:300 28px var(--serif);color:var(--bronze)}.arrival-steps h3{font:300 18px var(--sans);letter-spacing:.12em;margin:25px 0 15px}.arrival-steps p{font-size:9px;line-height:2}.access-contact{padding:100px 24px;background:var(--teal-dark);color:var(--ivory);text-align:center}.access-contact h2{font-size:58px;margin:18px 0}.access-contact>p:not(.eyebrow){font-size:9px}.access-contact a{display:flex;justify-content:space-between;width:270px;margin:30px auto 0;border:1px solid #f4f0e744;padding:18px;font:400 8px var(--sans);letter-spacing:.16em}
@media(max-width:800px){.access-intro{padding:85px 22px}.access-intro h2{font-size:45px}.room-access{display:block;padding:80px 20px}.room-details h2{font-size:47px}.room-details dl div{grid-template-columns:85px 1fr}.access-map{height:420px;min-height:0;margin-top:60px}.arrival-guide{padding:85px 20px}.arrival-guide h2{font-size:45px}.arrival-steps{grid-template-columns:1fr}.arrival-steps article{border-right:0;border-bottom:1px solid #a8865855;padding:32px 10px}.access-contact h2{font-size:43px}}

.phone-reservation small{font:400 8px var(--sans);letter-spacing:.1em;margin-left:auto;margin-right:14px}.web-reservation-off .template-reserve-buttons{grid-template-columns:1fr 1fr}.access-contact-actions{display:flex;gap:10px;justify-content:center;margin-top:30px}.access-contact .access-contact-actions>a{display:flex;justify-content:space-between;align-items:center;width:270px;margin:0;border:1px solid #f4f0e744;padding:18px;font:400 8px var(--sans);letter-spacing:.16em}.access-contact .access-contact-actions .phone-reservation{background:#f4f0e70a}.access-contact .access-contact-actions small{color:#d4c7b3}.reservation-copy .phone-reservation,.profile-reserve .phone-reservation{min-width:220px;padding:18px;border:1px solid #f4f0e750;font:400 8px var(--sans);letter-spacing:.12em;display:flex;justify-content:space-between;align-items:center;color:var(--ivory)}
@media(max-width:800px){.web-reservation-off .template-reserve-buttons{grid-template-columns:1fr}.access-contact-actions{display:block}.access-contact .access-contact-actions>a{margin:10px auto}.reservation-copy .phone-reservation,.profile-reserve .phone-reservation{margin:10px auto}}

/* Shared TREVI header utility: business hours, phone and LINE from CMS globals */
.header{height:124px;padding-top:30px}.header-utility{position:absolute;inset:0 0 auto;height:31px;padding:0 4.5vw;display:flex;justify-content:flex-end;align-items:center;gap:0;background:#071d1c9c;border-bottom:1px solid #f4f0e71f;color:var(--ivory);backdrop-filter:blur(8px)}.header-utility p,.header-utility a{height:31px;margin:0;padding:0 18px;display:flex;align-items:center;gap:10px;border-left:1px solid #f4f0e71f}.header-utility span{font:400 6px var(--sans);letter-spacing:.2em;color:var(--bronze)}.header-utility b{font:400 9px var(--sans);letter-spacing:.1em}.header-utility .header-phone:hover{background:#a886581c}.header-utility .header-line{background:#637d64}.header-utility .header-line span{color:#f4f0e7}.header-utility .header-line:hover{background:#718d72}.sub-header{height:124px}.profile-breadcrumb{padding-top:148px}
@media(max-width:800px){.header{height:105px;padding-top:26px}.header-utility{height:27px;padding:0;justify-content:stretch}.header-utility p,.header-utility a{height:27px;padding:0 9px;justify-content:center;flex:1}.header-utility p{flex:1.15}.header-utility span{font-size:5px}.header-utility b{font-size:7px;white-space:nowrap}.header-utility .header-line b{display:none}.sub-header{height:105px}.profile-breadcrumb{padding-top:123px}.page-hero{padding-top:25px}}

/* Larger desktop utility controls */
@media(min-width:801px){.header{height:134px;padding-top:40px}.sub-header{height:134px}.header-utility{height:41px}.header-utility p,.header-utility a{height:41px;padding:0 25px;gap:12px}.header-utility span{font-size:7px}.header-utility b{font-size:11px}.profile-breadcrumb{padding-top:158px}}
.mobile-contact-bar{display:none}
@media(max-width:800px){body{padding-bottom:68px}.header{height:82px;padding-top:0}.sub-header{height:82px}.header-utility{display:none}.profile-breadcrumb{padding-top:100px}.page-hero{padding-top:0}.mobile-contact-bar{position:fixed;z-index:1000;left:0;right:0;bottom:0;height:68px;display:grid;grid-template-columns:1fr 1fr;background:#071d1cf7;box-shadow:0 -8px 25px #071d1c35;padding:max(7px,env(safe-area-inset-bottom)) 9px 7px;gap:7px}.mobile-contact-bar a{min-width:0;border:1px solid #a8865866;border-radius:3px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ivory)}.mobile-contact-bar i{font:400 10px var(--sans);font-style:normal;color:var(--bronze)}.mobile-contact-bar span{display:flex;flex-direction:column}.mobile-contact-bar b{font:500 11px var(--sans);letter-spacing:.08em}.mobile-contact-bar small{font:400 7px var(--sans);letter-spacing:.05em;margin-top:3px;color:#f4f0e799}.mobile-contact-bar .mobile-line{background:#637d64;border-color:#637d64}.mobile-contact-bar .mobile-line i{color:var(--ivory);font-size:7px;border:1px solid #f4f0e788;border-radius:50%;padding:4px 2px}}

.home-roster{padding-top:115px;padding-bottom:115px}.home-roster+.home-roster{padding-top:35px}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:980px}.compact-grid .therapist-card{max-width:310px}.compact-grid .portrait{height:390px}.compact-grid .therapist-card h3{font:300 24px var(--sans);letter-spacing:.09em}.mini-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.mini-tags span{border:1px solid #a8865855;padding:6px 8px;font-size:7px}.work-hours{font:300 17px var(--serif)!important;color:var(--teal)}.work-hours small{font:400 7px var(--sans);color:var(--bronze)}
@media(max-width:800px){.home-roster{padding:80px 14px}.home-roster+.home-roster{padding-top:20px}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 10px}.compact-grid .portrait{height:62vw}.compact-grid .therapist-card h3{font-size:15px}.work-hours{font-size:13px!important}.section-heading h2{font-size:42px}}
.home-section-heading{display:block;text-align:center;margin:0 auto 52px}.home-section-heading>div{display:inline-block}.home-section-heading .eyebrow{font:400 15px/1.2 var(--serif);letter-spacing:.18em;color:var(--brown)}.home-section-heading h2{font:300 20px/1.4 var(--serif);letter-spacing:.12em;margin:9px 0 0;color:var(--bronze)}
@media(max-width:800px){.home-roster{padding-top:68px;padding-bottom:76px}.home-roster+.home-roster{padding-top:26px}.home-section-heading{margin-bottom:34px}.home-section-heading .eyebrow{font-size:14px}.home-section-heading h2{font-size:17px;margin-top:7px}}
.therapist-archive-hero{height:430px}.therapist-archive-hero h1{font-size:clamp(68px,8vw,104px);margin:24px 0 14px;letter-spacing:.08em}.therapist-archive-hero>p:last-child{font-size:11px;letter-spacing:.2em}.therapist-list-heading{text-align:center;padding:38px 24px;border-bottom:1px solid #a8865844}.therapist-list-lead{max-width:620px;margin:0 auto;font-size:10px;line-height:2;letter-spacing:.1em}.therapist-list-heading+.archive{padding-top:58px}
@media(max-width:800px){.therapist-archive-hero{height:335px}.therapist-archive-hero h1{font-size:52px;margin:18px 0 11px}.therapist-archive-hero>p:last-child{font-size:9px}.therapist-list-heading{padding:28px 18px}.therapist-list-lead{font-size:9px}.therapist-list-heading+.archive{padding-top:38px}}

/* Keep the top-page menu teaser inside the viewport. */
.menu-section{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);overflow:hidden}.menu-content{min-width:0}.course{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px}.course>div:first-child{min-width:0}.course>div:last-child{min-width:90px}

.home-information{padding:105px 8vw 115px;border-bottom:1px solid #a8865833}.info-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.info-heading h2{font:300 58px/1 var(--serif);margin:18px 0 0}.info-heading>p{font-size:9px;color:#766a60}.information-list{border-top:1px solid #a8865855}.information-list article{border-bottom:1px solid #a8865855}.information-list article a{min-height:125px;display:grid;grid-template-columns:105px 115px minmax(0,1fr) 30px;gap:30px;align-items:center;padding:20px 10px;transition:.25s}.information-list article a:hover{background:#a8865809;padding-left:18px}.information-list time{font:300 16px var(--serif);color:#6f655c}.information-list article>a>span{font:400 7px var(--sans);letter-spacing:.18em;color:var(--bronze)}.information-list h3{font:300 17px var(--sans);letter-spacing:.1em;margin:0 0 10px}.information-list p{font-size:9px;color:#756b61;margin:0}.information-list b{font-weight:300;color:var(--bronze)}.information-more{width:220px;margin:38px 0 0 auto;border-bottom:1px solid #a8865866;padding:14px 0;display:flex;justify-content:space-between;font:400 8px var(--sans);letter-spacing:.18em}.information-more span{color:var(--bronze)}
.tlc-info-banner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:70px 8vw 25px;background:var(--ivory)}.tlc-info-banner.count-1{grid-template-columns:1fr}.tlc-info-banner.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tlc-info-banner a,.tlc-info-banner>div{display:block;overflow:hidden;border:1px solid #a8865844;background:#e9e2d6;aspect-ratio:3.2/1}.tlc-info-banner img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.tlc-info-banner a:hover img{transform:scale(1.025)}
@media(max-width:800px){.home-information{padding:75px 18px 85px}.info-heading{display:block}.info-heading h2{font-size:44px}.info-heading>p{margin-top:20px}.information-list article a{grid-template-columns:80px 1fr 18px;gap:8px 12px;padding:20px 2px;min-height:110px}.information-list article>a>span{grid-column:2}.information-list article>a>div{grid-column:1/3}.information-list article>a>b{grid-column:3;grid-row:1/3}.information-list h3{font-size:14px}.information-list p{line-height:1.7}.information-more{margin-top:30px}}
@media(max-width:800px){.tlc-info-banner,.tlc-info-banner.count-2{grid-template-columns:1fr;padding:45px 18px 10px;gap:10px}}

.news-hero{background:linear-gradient(#0a2929c9,#0a2929e6),url("assets/images/fountain-night.jpg") center/cover}.news-archive{padding:110px 9vw 150px}.news-archive>header h2{font-size:60px;margin:18px 0 50px}.news-filter{display:flex;gap:8px;margin-bottom:35px}.news-filter button{border:1px solid #a8865855;background:transparent;padding:11px 16px;font:400 7px var(--sans);letter-spacing:.15em}.news-filter button.active{background:var(--teal);color:var(--ivory)}.news-detail{padding:190px 12vw 130px}.news-detail>header{max-width:900px;margin:0 auto 65px;text-align:center}.news-detail h1{font:300 clamp(38px,5vw,65px)/1.4 var(--sans);letter-spacing:.1em;margin:25px 0}.news-detail time{font:300 15px var(--serif);color:var(--bronze)}.news-detail figure{max-width:1000px;height:520px;margin:0 auto 80px}.news-detail figure img{filter:saturate(.7)}.news-body{max-width:760px;margin:auto}.news-body p{font-size:11px;line-height:2.5;margin:0 0 25px}.news-body h2{font:300 38px/1.4 var(--serif);margin:65px 0 30px;color:var(--teal)}
@media(max-width:800px){.news-archive{padding:80px 18px}.news-archive>header h2{font-size:45px}.news-filter{overflow:auto}.news-detail{padding:135px 20px 85px}.news-detail>header{margin-bottom:45px}.news-detail h1{font-size:29px}.news-detail figure{height:270px;margin-bottom:50px}.news-body p{font-size:10px;line-height:2.3}.news-body h2{font-size:31px}}
/*
Theme Name: Salon CMS Type-E
Description: Deep teal luxury men's esthetic CMS theme.
Version: 1.0.0
Text Domain: salon-cms-type-e
*/
/* TYPE-E WordPress dynamic-page alignment */
.archive-card .portrait:before,.therapist-card .portrait:before{display:none!important}.archive-card .portrait:after,.therapist-card .portrait:after{display:none}.subpage main>.page-hero{width:100%;max-width:none;margin:0}.cms-photo-slider button[hidden]{display:none!important}
body.archive{padding:0!important}body.archive main,body.archive footer{width:100%;margin:0}
.home .hero{background-image:linear-gradient(rgba(6,38,37,.28),rgba(6,38,37,.48)),url("assets/images/trevi-hero-treatment-v2.png")!important}.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 32%,transparent 72%,rgba(0,0,0,.14))}
.hero-cms-images{position:absolute;inset:0;z-index:0;background:var(--teal)}.hero-cms-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;filter:saturate(.88) brightness(1.03)}.hero-cms-images img.is-active{opacity:1}.home .hero:before{z-index:1;background:linear-gradient(90deg,rgba(6,38,37,.78) 0%,rgba(6,38,37,.46) 37%,rgba(6,38,37,.12) 72%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,rgba(6,28,27,.52),transparent 48%,rgba(6,28,27,.28))}.home .hero-copy,.home .scroll,.home .hero-water,.home .ripple{z-index:2}
.area-filter a{border:1px solid #a8865844;background:transparent;padding:10px 15px;font:400 8px var(--sans)}.area-filter a.active{background:var(--teal);color:var(--ivory)}
.shift-photo img{width:100%;height:100%;object-fit:cover}.template-profile .profile-main-photo{border-radius:0!important}.template-profile .profile-main-photo:before{display:none}.tlc-access-wide-map{margin:80px 7vw;min-height:500px}.tlc-access-wide-map h2{font:300 42px var(--serif)}
/* Recruit */
.recruit-intro{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:clamp(48px,7vw,130px);align-items:center;padding:clamp(70px,9vw,145px) max(6vw,32px);background:radial-gradient(circle at 13% 24%,rgba(168,134,88,.12),transparent 24%),#f4f0e7}
.recruit-intro__copy{max-width:650px}.recruit-intro__copy h2{font-family:var(--font-serif);font-size:clamp(38px,4.7vw,74px);font-weight:400;line-height:1.34;margin:24px 0 36px}.recruit-intro__copy>p:last-child{line-height:2.15;white-space:normal}.recruit-intro figure{margin:0;aspect-ratio:4/3;overflow:hidden}.recruit-intro img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02)}
.recruit-intro__visual{position:relative;background:#173b3a;isolation:isolate}.recruit-intro__visual:before,.recruit-intro__visual:after{content:"";position:absolute;pointer-events:none}.recruit-intro__visual:before{inset:9%;border:1px solid rgba(168,134,88,.55);border-radius:48% 48% 0 0;z-index:2}.recruit-intro__visual:after{width:72%;aspect-ratio:1;border:1px solid rgba(244,240,231,.13);border-radius:50%;right:-30%;bottom:-38%;box-shadow:0 0 0 55px rgba(244,240,231,.035),0 0 0 110px rgba(244,240,231,.025);z-index:1}.recruit-intro__monogram{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#f4f0e7;background:radial-gradient(circle at 50% 38%,rgba(168,134,88,.16),transparent 38%),linear-gradient(145deg,#173b3a,#0b2929)}.recruit-intro__monogram span{font-family:var(--font-serif);font-size:clamp(120px,15vw,260px);font-weight:400;line-height:.85;color:rgba(244,240,231,.9)}.recruit-intro__monogram small{margin-top:34px;color:#c6a66f;letter-spacing:.32em;line-height:2}.recruit-intro.no-image .recruit-intro__copy{padding-left:clamp(0px,3vw,45px)}
.recruit-intro__visual figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:28px 34px;color:#f4f0e7;background:linear-gradient(0deg,rgba(9,36,35,.94),rgba(9,36,35,.08));display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.recruit-intro__visual figcaption small{color:#c6a66f;letter-spacing:.26em}.recruit-intro__visual figcaption span{font-family:var(--font-serif);font-size:clamp(17px,1.4vw,24px)}
.recruit-details{background:linear-gradient(180deg,#173b3a,#0f302f);color:#f4f0e7;padding:clamp(75px,10vw,150px) max(6vw,32px);display:grid;grid-template-columns:.42fr 1fr;gap:8vw}.recruit-details__heading h2,.recruit-contact h2{font-family:var(--font-serif);font-size:clamp(42px,5vw,76px);font-weight:400;margin:18px 0}.recruit-details__heading:after{content:"";display:block;width:92px;height:1px;margin-top:34px;background:#a88658}.recruit-table{border-top:1px solid rgba(244,240,231,.25)}.recruit-row{display:grid;grid-template-columns:180px 1fr;gap:32px;padding:34px 0;border-bottom:1px solid rgba(244,240,231,.2)}.recruit-row h3{font-size:17px;font-weight:500;margin:0;color:#c7a66f}.recruit-row p{line-height:2;margin:0;color:rgba(244,240,231,.86)}
.recruit-contact{text-align:center;padding:clamp(80px,11vw,160px) max(6vw,32px);position:relative;overflow:hidden;background:radial-gradient(circle at 85% 15%,rgba(168,134,88,.18),transparent 30%),#f4f0e7}.recruit-contact:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(168,134,88,.18);border-radius:50%;right:-170px;bottom:-260px;box-shadow:0 0 0 42px rgba(168,134,88,.05),0 0 0 84px rgba(168,134,88,.035);pointer-events:none}.recruit-contact>*{position:relative;z-index:1}.recruit-contact>p{max-width:720px;margin:28px auto 50px;line-height:2}.recruit-contact__buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.recruit-contact__buttons a{min-width:240px;border:1px solid #a88658;padding:18px 28px;color:#302923;text-decoration:none;letter-spacing:.08em;background:rgba(255,255,255,.4)}.recruit-contact__buttons a.is-line{background:#6f8d76;color:#fff;border-color:#6f8d76}.recruit-contact__buttons span{display:block;font-size:11px;margin-top:6px;opacity:.75}
@media(max-width:1050px){.recruit-intro,.recruit-details{grid-template-columns:1fr;gap:45px;padding-left:clamp(24px,7vw,70px);padding-right:clamp(24px,7vw,70px)}.recruit-intro figure{order:-1;max-width:760px;width:100%;margin-inline:auto}.recruit-intro__copy{max-width:760px;margin-inline:auto}.recruit-row{grid-template-columns:minmax(120px,180px) 1fr}.recruit-contact{padding-left:24px;padding-right:24px}}
@media(max-width:620px){.recruit-intro{padding-top:42px}.recruit-intro__visual figcaption{padding:20px;display:block}.recruit-intro__visual figcaption span{display:block;margin-top:7px}.recruit-row{grid-template-columns:1fr;gap:12px;padding:26px 0}.recruit-contact__buttons{display:grid}.recruit-contact__buttons a{min-width:0}}

/* Footer mutual-link banners */
.footer-links{padding:clamp(80px,9vw,135px) 6vw}.footer-links__heading{text-align:center;margin-bottom:55px}.footer-links__heading h2{font-size:clamp(50px,6vw,78px);margin:14px 0 7px}.footer-links__heading span{font-size:10px;letter-spacing:.24em;color:var(--bronze)}.footer-links__grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.footer-link-banner{min-height:92px;padding:16px;background:rgba(23,59,58,.07);border:1px solid rgba(168,134,88,.25);display:flex;align-items:center;justify-content:center;transition:.3s}.footer-link-banner:hover{background:rgba(23,59,58,.13);border-color:rgba(168,134,88,.6);transform:translateY(-2px)}.footer-link-banner a{width:100%;display:flex;align-items:center;justify-content:center}.footer-link-banner img{display:block;width:auto;max-width:100%;height:auto;max-height:60px;object-fit:contain}
@media(max-width:900px){.footer-links__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-link-banner{min-height:78px}}
@media(max-width:480px){.footer-links{padding-left:18px;padding-right:18px}.footer-links__grid{gap:9px}.footer-link-banner{padding:9px;min-height:68px}.footer-link-banner img{max-height:48px}}
/* Mobile navigation drawer */
@media(max-width:800px){body.mobile-menu-open{overflow:hidden}.header{z-index:100}.header .brand{position:relative;z-index:102}.header nav#site-navigation{position:fixed;z-index:101;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:100px 32px 90px;background:linear-gradient(155deg,#082827f5,#173b3afa 58%,#0b2928fc);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .28s ease,transform .28s ease,visibility .28s}.header nav#site-navigation a{width:min(330px,82vw);padding:18px 8px;border-bottom:1px solid #f4f0e729;text-align:center;font-size:18px;letter-spacing:.22em}.header nav#site-navigation a:first-child{border-top:1px solid #f4f0e729}.header nav#site-navigation a:after{display:none}.mobile-menu-open .header nav#site-navigation{opacity:1;visibility:visible;pointer-events:auto;transform:none}.header .menu-button{position:relative;z-index:102;width:44px;height:44px;padding:11px;cursor:pointer}.header .menu-button i{width:22px;margin:7px auto;transition:transform .25s ease,opacity .2s ease}.header .menu-button[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}.header .menu-button[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}}

/* Client typography refinement: keep the visual direction, tighten section scale. */
.home-information .info-heading h2{font-size:41px}
.concept-copy h2{font-size:clamp(30px,3.78vw,52px)}
.experience-copy h2,.menu-content h2{font-size:clamp(31px,3.5vw,48px)}
.footer-links__heading h2{font-size:clamp(35px,4.2vw,55px)}
.price-intro h2{font-size:clamp(30px,3.78vw,52px)}
.option-heading h2{font-size:46px}
.price-notes h2{font-size:39px}
.terms-section h2{font-size:48px}

/* Course numerals use one consistent luxury face and equal visual scale. */
.price-table{font-family:var(--serif)}
.price-name h3{font-family:var(--serif);font-weight:400;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.price-duration b,.price-value{font-family:var(--serif);font-size:66px;font-weight:400;line-height:1;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;letter-spacing:.015em}
.price-value small{font-size:.36em;vertical-align:.18em}
.option-list strong{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}

@media(max-width:800px){
  .home-information .info-heading h2{font-size:31px}
  .concept-copy h2,.experience-copy h2,.menu-content h2{font-size:clamp(29px,9vw,36px)}
  .footer-links__heading h2{font-size:35px}
  .price-intro h2{font-size:clamp(30px,9vw,36px)}
  .option-heading h2,.price-notes h2{font-size:32px}
  .terms-section h2{font-size:34px}
  .price-duration b,.price-value{font-size:42px}
}

/* 2026-09 mobile readability and profile gallery */
.therapist-kana{display:inline;margin-left:.35em;font:400 .55em var(--sans);font-style:normal;letter-spacing:.08em;color:var(--bronze);white-space:nowrap}
.profile-lightbox{position:fixed;z-index:99999;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(3,18,18,.94)}
.profile-lightbox.is-open{display:flex}.profile-lightbox img{width:auto;height:auto;max-width:94vw;max-height:88vh;object-fit:contain}.profile-lightbox button{position:absolute;top:18px;right:20px;width:46px;height:46px;border:1px solid #fff8;background:#082827;color:#fff;font-size:28px;cursor:pointer}.cms-photo-slider button{cursor:zoom-in}
.profile-lightbox .profile-lightbox__prev,.profile-lightbox .profile-lightbox__next{top:50%;transform:translateY(-50%);border-radius:50%;font-size:38px;line-height:1}.profile-lightbox .profile-lightbox__prev{left:16px;right:auto}.profile-lightbox .profile-lightbox__next{right:16px}.profile-lightbox__counter{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);margin:0;color:#fff;font-size:13px;letter-spacing:.16em}.profile-lightbox img{touch-action:pan-y;user-select:none}
@media(max-width:800px){
  .page-hero{height:320px}.page-hero h1,.therapist-archive-hero h1{font-size:42px!important;line-height:1!important}
  .archive-intro>p,.schedule-toolbar h2,.schedule-contact h2,.news-archive>header h2,.option-heading h2,.price-notes h2,.terms-section h2,.weekly-schedule h2,.store-comment h2,.personal-data h2,.therapist-message h2,.profile-reserve h2,.access-intro h2,.room-details h2,.arrival-guide h2,.access-contact h2,.recruit-intro__copy h2,.recruit-details__heading h2,.recruit-contact h2{font-size:32px!important}
  .archive-meta h2{font-size:20px!important;line-height:1.3}.archive-meta .roman-name{font-size:12px!important;font-weight:500;margin:6px 0}.archive-meta small{display:block!important;font-size:11px;line-height:1.55;margin-top:7px}
  .profile-overview h1,.template-profile-info .name-line h1{font-size:42px!important}
}
