:root{
  --purple:#4B237A;--deep:#3D0E57;--pink:#D74490;--soft-pink:#F4DCE8;
  --ivory:#FFF9F1;--cream:#F8F0E6;--beige:#EFE3D3;--green:#75866A;
  --deep-green:#506348;--sage:#DDE5D8;--gold:#D6AE63;
  --ink:#2F2335;--muted:#6B6470;--white:#fff;
  --serif:'Instrument Serif',Georgia,serif;--body:'Mulish',Arial,sans-serif;--interface:'Jost',Arial,sans-serif;
}
.page-hero .hero-copy-mobile{display:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:400 1rem/1.68 var(--body)}body.menu-open{overflow:hidden}img,video{display:block;max-width:100%}img{object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;border-radius:50px}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:4px}::selection{background:var(--soft-pink);color:var(--deep)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-90px;left:12px;z-index:100;background:var(--purple);color:#fff;padding:10px 18px;border-radius:50px}.skip-link:focus{top:12px}
.container{width:min(100% - 64px,1320px);margin-inline:auto}.section{padding:clamp(84px,10vw,150px) 0}.section-sm{padding:clamp(70px,8vw,115px) 0}.eyebrow{display:inline-flex;align-items:center;gap:16px;color:var(--purple);font:500 .73rem/1.3 var(--interface);letter-spacing:.28em;text-transform:uppercase}.eyebrow:before{content:'';width:34px;height:1px;background:var(--gold)}h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.025em}h1{font-size:clamp(4.5rem,7vw,7.8rem)}h2{font-size:clamp(3.3rem,5.4vw,6.1rem)}h3{font-size:clamp(2.35rem,3.1vw,3.7rem)}h1,h2,h3,p{margin:0}p{color:var(--muted)}em,.accent{font-family:var(--serif);font-weight:400;font-style:normal;color:var(--pink)}.lead{font-size:clamp(1.06rem,1.35vw,1.22rem);line-height:1.74}.section-heading{max-width:760px}.section-heading h2{margin:24px 0}.section-heading p{max-width:53ch}.section-heading.center{text-align:center;margin-inline:auto}.section-heading.center p{margin-inline:auto}.section-heading.center .eyebrow:after{content:'';width:34px;height:1px;background:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:14px 28px;border:1px solid transparent;border-radius:50px;cursor:pointer;white-space:nowrap;font:500 .82rem/1.2 var(--interface);letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--deep)}.btn-outline{background:transparent;border-color:var(--purple);color:var(--purple)}.btn-outline:hover{background:var(--soft-pink)}.editorial-link,.text-link{display:inline-flex;align-items:center;gap:18px;padding:0 0 8px;border-bottom:1px solid var(--gold);color:var(--purple);font:500 .81rem/1.3 var(--interface);letter-spacing:.16em;text-transform:uppercase;transition:gap .2s}.editorial-link:hover,.text-link:hover{gap:27px}.arrow{font-size:1.2rem;line-height:1}

/* Keep icons legible even if later styles arrive slowly. */
.ui-icon{width:1em;height:1em;fill:none;stroke:currentColor}
.contact-icon{display:block;flex:none;width:24px;height:24px;fill:none;stroke:currentColor}

/* Quiet navigation over the image; ivory on scroll. */
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(255,249,241,.22);transition:background .25s,box-shadow .25s}.site-header.scrolled{background:rgba(255,249,241,.97);box-shadow:0 1px 0 rgba(75,35,122,.1)}.header-inner{height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;width:max-content}.nav{display:flex;align-items:center;gap:32px}.nav a{position:relative;color:var(--deep);font:500 .89rem/1 var(--interface);white-space:nowrap}.nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--pink);transition:right .2s}.nav a.active:after,.nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px}.header-book{min-height:46px;padding:11px 21px}.menu-toggle{display:none;width:44px;height:44px;border:0;background:none;color:var(--purple);cursor:pointer;align-items:center;justify-content:center}
body[data-page="home"] .site-header{background:linear-gradient(180deg,rgba(255,249,241,.62),rgba(255,249,241,.26));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body[data-page="home"] .site-header.scrolled{background:var(--ivory)}
body[data-page="home"] .site-header:not(.scrolled) .nav a{text-shadow:0 1px 5px rgba(255,249,241,.46)}
body[data-page="home"] .site-header:not(.scrolled) .brand-logo{filter:drop-shadow(0 1px 4px rgba(255,249,241,.46))}

/* Full-bleed editorial hero. */
.hero-home{position:relative;isolation:isolate;min-height:680px;height:100svh;overflow:hidden;background:var(--beige)}.hero-media,.hero-frame{position:absolute;inset:0}.hero-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--beige)}.hero-content{position:relative;z-index:2;min-height:inherit;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:95px;padding-bottom:115px}.hero-kicker{color:var(--purple);font:600 .77rem/1.4 var(--interface);letter-spacing:.36em}.hero-content h1{max-width:1000px;margin:23px auto 20px;color:var(--deep);font-size:clamp(5rem,8.4vw,9.2rem);line-height:.9;text-wrap:balance}.hero-content h1 em{display:block}.hero-content p{max-width:610px;color:var(--ink);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.65}.hero-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:32px}.hero-actions .editorial-link{margin-left:3px}.scroll-cue{position:absolute;z-index:3;bottom:23px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--deep);font:600 .7rem/1 var(--interface);letter-spacing:.28em;text-transform:uppercase}.scroll-cue-line{width:1px;height:38px;background:var(--purple)}

.intro-section{background:var(--ivory)}.intro-grid{display:grid;grid-template-columns:.92fr 1fr;gap:10%;align-items:start}.intro-grid h2{margin-top:27px;color:var(--deep)}.intro-prose{max-width:600px;padding-top:83px}.intro-prose p{font-size:1.06rem;line-height:1.85}.intro-prose p+p{margin-top:24px}.intro-prose .editorial-link{margin-top:30px}

/* A light, clear choice guide for first-time Thai massage guests. */
.needs{background:#fff}.needs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;margin-top:58px}.need-card{display:flex;align-items:center;gap:15px;min-height:112px;width:100%;padding:15px 0;border:0;border-top:1px solid #dfd2ca;background:transparent;color:var(--deep);font:500 1rem/1.3 var(--interface);text-align:left;cursor:pointer;transition:color .2s}.need-card:nth-last-child(-n+4){border-bottom:1px solid #dfd2ca}.need-card:hover,.need-card:focus-visible,.need-card.selected{color:var(--pink)}.need-icon{flex:0 0 auto;color:var(--deep-green);font:400 .76rem/1 var(--interface);letter-spacing:.08em}.need-arrow{margin-left:auto;color:var(--purple);font-size:1.2rem}.match-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin-top:32px;padding:28px 34px;background:var(--cream);border-left:2px solid var(--pink)}.match-panel[hidden]{display:none}.match-panel small{display:block;margin-bottom:6px;color:var(--purple);font:500 .72rem/1.3 var(--interface);letter-spacing:.24em;text-transform:uppercase}.match-panel h3{font-size:2.6rem;color:var(--deep);margin:0 0 6px}.match-panel p{max-width:55ch}

.favorites{background:var(--ivory)}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6%;margin-top:58px}.feature-image{display:block;overflow:hidden}.feature-card img{width:100%;height:clamp(340px,36vw,520px);object-fit:cover;transition:transform .6s}.feature-card:hover img{transform:scale(1.025)}.feature-body{padding:25px 1px 0;border-top:1px solid var(--gold);margin-top:18px}.feature-body small{color:var(--deep-green);font:500 .75rem/1.4 var(--interface);letter-spacing:.22em;text-transform:uppercase}.feature-body h3{margin:16px 0;color:var(--deep)}.feature-body p{min-height:55px;max-width:48ch;margin-bottom:20px;line-height:1.7}
.experience-scene{position:relative;min-height:740px;overflow:hidden;background:var(--beige)}.experience-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.scene-inner{position:relative;min-height:740px;display:flex;align-items:flex-end}.scene-copy{width:min(100%,555px);margin:0 0 62px;background:rgba(255,249,241,.95);padding:45px 50px 50px}.scene-copy h2{margin:19px 0;color:var(--deep)}.scene-copy p{max-width:44ch;margin-bottom:24px}.scene-actions{display:flex;flex-wrap:wrap;gap:20px 24px}
@media(min-width:821px){.experience-scene>img{transform:scaleX(-1)}}
.gallery-section{background:var(--cream)}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:280px 280px;gap:18px;margin-top:50px}.gallery img{width:100%;height:100%;object-fit:cover}.gallery img:first-child{grid-row:span 2}.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;color:var(--deep-green);font:500 .8rem/1.5 var(--interface)}
.cta-band{background:var(--soft-pink);text-align:center}.cta-content{max-width:860px}.cta-content h2{margin:22px 0;color:var(--deep)}.cta-content p{max-width:53ch;margin:0 auto}.cta-content .btn{margin-top:30px}

/* Inner page image heroes. */
.page-hero{position:relative;min-height:650px;height:80svh;background:var(--beige);overflow:hidden}.page-hero>.container{width:100%;max-width:none;height:100%}.page-hero-grid{height:100%;display:flex;align-items:center;position:relative}.page-hero-grid>div:first-child{position:relative;z-index:2;width:min(650px,60%);margin-left:clamp(32px,7vw,120px);padding-top:70px}.page-hero h1{margin:26px 0 25px;color:var(--deep)}.page-hero p{max-width:52ch;color:var(--ink)}.page-hero .btn{margin-top:30px}.page-hero .image-wrap{position:absolute;inset:0;z-index:0}.page-hero .image-wrap img{width:100%;height:100%;object-fit:cover}.page-hero .image-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,249,241,.96),rgba(255,249,241,.84) 35%,rgba(255,249,241,.15) 78%)}

/* Service menu: large photographs and quiet details. */
.service-section{background:var(--ivory)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:82px 6%;margin-top:60px}.service-card{scroll-margin-top:120px}.service-card img{width:100%;height:370px;object-fit:cover}.service-info{padding:22px 0 0;border-top:1px solid var(--gold);margin-top:17px}.service-info small{display:block;color:var(--deep-green);font:500 .74rem/1.4 var(--interface);letter-spacing:.2em;text-transform:uppercase}.service-info h3{margin:14px 0;color:var(--deep);font-size:clamp(2.5rem,3.2vw,3.8rem)}.service-info p{max-width:55ch}.service-info .text-link{margin-top:18px}.service-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.pill{display:inline-block;border:1px solid #d7c5d9;padding:7px 12px;color:var(--purple);font:500 .75rem/1.2 var(--interface);letter-spacing:.06em}.price-note{margin-top:50px;padding:20px 25px;border-left:2px solid var(--gold);background:var(--cream);font-size:.9rem}.faq-list{max-width:850px;margin:40px auto 0}.faq-list details{border-bottom:1px solid #ddcfc7;padding:21px 0}.faq-list summary{display:flex;justify-content:space-between;gap:22px;list-style:none;cursor:pointer;color:var(--deep);font:500 1rem/1.5 var(--interface)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:500 1.25rem/1 var(--interface)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{max-width:64ch;padding:14px 0 3px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split-media{position:relative;isolation:isolate}.split-media>img{display:block;width:100%;height:630px;object-fit:contain}.split-overlay{position:absolute;z-index:1;right:-5%;bottom:2%;width:44%;margin:0;padding:8px;background:var(--ivory);border:1px solid rgba(173,132,77,.52);box-shadow:0 24px 65px rgba(50,35,23,.28);transform-origin:bottom right;transform:scale(.85) rotate(3deg)}.split-overlay img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:10px}.split-copy h2{margin:22px 0;color:var(--deep)}.split-copy p+p{margin-top:24px}.split-copy .btn{margin-top:30px}.value-list{padding:0;margin:28px 0 0;display:grid;gap:12px}.value-list li{list-style:none;display:flex;align-items:flex-start;gap:12px;color:var(--deep)}.value-list li:before{content:'★';color:var(--pink);font:400 .9rem/1 var(--interface)}.story-values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.value-card{padding:25px 0 0;border-top:1px solid var(--gold)}.value-card .number{color:var(--pink);font:400 2.5rem/1 var(--serif)}.value-card h3{margin:21px 0 12px;font-size:2.5rem;color:var(--deep)}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.contact-cards{margin-top:32px;display:grid}.contact-card{display:flex;gap:18px;padding:21px 0;border-top:1px solid #dfd2ca}.contact-card:last-child{border-bottom:1px solid #dfd2ca}.contact-card .icon{flex:0 0 26px;color:var(--deep-green);font-size:1.25rem}.contact-card:nth-child(1) .icon{color:var(--deep-green)}.contact-card:nth-child(2) .icon{color:var(--purple)}.contact-card:nth-child(3) .icon{color:var(--pink)}.contact-card strong{display:block;margin-bottom:4px;color:var(--deep);font:500 .78rem/1.3 var(--interface);letter-spacing:.18em;text-transform:uppercase}.contact-card a{color:var(--purple);overflow-wrap:anywhere}.booking-box{margin-top:30px;padding:27px;background:var(--cream)}.booking-box h3{margin:0 0 10px;font-size:2.2rem;color:var(--deep)}.booking-box p{margin-bottom:18px}.map-wrap{background:var(--beige);min-height:520px}.map-wrap iframe{display:block;width:100%;height:520px;border:0}.map-link{margin-top:18px}

.site-footer{padding:68px 0 25px;background:var(--cream);border-top:1px solid #e6d9cf}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer-brand p{max-width:32ch;margin-top:20px}.footer-title{display:block;margin-bottom:17px;color:var(--deep);font:500 .82rem/1.3 var(--interface);letter-spacing:.17em;text-transform:uppercase}.footer-links{display:grid;gap:10px;color:var(--muted);font-size:.91rem}.footer-links a:hover{color:var(--purple)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:62px;padding-top:24px;border-top:1px solid #dfd2ca;color:var(--muted);font:400 .78rem/1.4 var(--interface)}

@media(max-width:1080px){.container{width:min(100% - 48px,1320px)}.header-inner{gap:18px}.nav{gap:18px}.header-actions{gap:14px}.hero-content h1{font-size:clamp(5rem,8vw,7rem)}.feature-card img{height:400px}.service-card img{height:320px}.scene-copy{margin-bottom:38px}}
@media(max-width:820px){.header-inner{height:76px;display:flex}.menu-toggle{display:flex;margin-left:auto;order:3}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px 26px 28px;background:var(--ivory);box-shadow:0 22px 30px rgba(47,35,53,.12);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:14px 0;border-bottom:1px solid #e4d5cc}.nav a:after{display:none}.header-actions{margin-left:auto}.header-book{display:none}.intro-grid,.split{gap:6%}.needs-grid{grid-template-columns:repeat(2,1fr)}.need-card:nth-last-child(-n+4){border-bottom:0}.need-card:nth-last-child(-n+2){border-bottom:1px solid #dfd2ca}.service-grid{gap:65px 5%}.service-card img{height:290px}.story-values{gap:22px}.contact-layout{gap:5%}}
@media(max-width:640px){.container{width:min(100% - 36px,1320px)}.section{padding:77px 0}.section-sm{padding:68px 0}.header-inner{height:70px}.site-header{background:rgba(255,249,241,.64)}.nav{top:70px}.header-actions{gap:8px}.lang-switch{font-size:.72rem}.hero-home{height:100svh;min-height:710px}.hero-content{padding-top:70px;padding-bottom:145px;justify-content:center}.hero-kicker{font-size:.64rem;letter-spacing:.25em}.hero-content h1{font-size:clamp(4.1rem,16.5vw,6rem);line-height:.88;margin:20px 0}.hero-content p{max-width:31ch;font-size:.95rem}.hero-actions{gap:19px;margin-top:25px;flex-direction:column}.hero-actions .btn{width:min(100%,270px)}.scroll-cue{bottom:20px}.intro-grid,.split,.contact-layout{grid-template-columns:1fr}.intro-prose{padding-top:26px}.intro-prose p{font-size:1rem}.section-heading h2{margin:18px 0}.needs-grid{gap:0 14px;margin-top:35px}.need-card{min-height:90px;gap:9px;font-size:.83rem}.need-icon{font-size:.65rem}.need-arrow{font-size:.95rem}.feature-grid,.service-grid,.story-values{grid-template-columns:1fr}.feature-grid{gap:46px;margin-top:39px}.feature-card img{height:320px}.feature-body h3{font-size:3rem}.feature-body p{min-height:0}.experience-scene,.scene-inner{min-height:660px}.scene-copy{width:100%;margin:0 0 18px;padding:27px 25px 30px}.scene-copy h2{font-size:4rem}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:290px 190px;gap:10px;margin-top:33px}.gallery img:first-child{grid-column:span 2;grid-row:auto}.gallery-caption{align-items:flex-start}.gallery-caption .editorial-link{font-size:.65rem}.cta-content h2{font-size:4.8rem}.page-hero{height:75svh;min-height:660px}.page-hero-grid>div:first-child{width:calc(100% - 36px);margin:0 auto;padding-top:65px}.page-hero h1{font-size:clamp(4.2rem,15vw,6rem)}.page-hero .image-wrap:after{background:linear-gradient(180deg,rgba(255,249,241,.9),rgba(255,249,241,.65) 55%,rgba(255,249,241,.2))}.service-grid{margin-top:38px;gap:58px}.service-card img{height:280px}.service-info h3{font-size:3rem}.match-panel{grid-template-columns:1fr;padding:22px}.match-panel .btn{width:100%}.split-media{order:-1}.split-media>img{height:390px}.split-overlay{right:-1%;bottom:2%;width:47%;padding:6px;transform-origin:bottom right;transform:scale(.85) rotate(2deg)}.split-copy{padding-top:30px}.story-values{gap:28px}.contact-cards{margin-top:22px}.map-wrap,.map-wrap iframe{min-height:360px;height:360px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span+span{display:block;margin-top:7px}}
@media(max-width:390px){.header-actions{gap:4px}.hero-content h1{font-size:4.05rem}.need-card{font-size:.76rem}.need-arrow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Larger, quieter editorial type and photograph-led home sections. */
body{font-size:1.125rem;line-height:1.75}
.section{padding-top:clamp(105px,11vw,175px);padding-bottom:clamp(105px,11vw,175px)}
.eyebrow{font-size:.85rem;letter-spacing:.2em}
.nav{gap:38px}
.nav a{font-size:1.04rem;font-weight:400}

.btn{min-height:61px;font-size:.94rem;letter-spacing:.1em}
.header-book{min-height:49px;font-size:.86rem}
.editorial-link,.text-link{font-size:.96rem;letter-spacing:.1em}
.hero-content p{font-size:clamp(1.15rem,1.5vw,1.35rem)}
.hero-kicker{font-size:.86rem}
.section-heading{max-width:900px}
.section-heading p{font-size:1.2rem;line-height:1.8}
.intro-editorial{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(55px,7vw,115px);align-items:start}
.intro-visual{position:relative;isolation:isolate;margin-right:3%}
.intro-visual>img{display:block;width:100%;height:clamp(650px,59vw,860px);object-fit:cover;border-radius:10px}
.intro-overlay{position:absolute;z-index:1;right:-5%;bottom:2%;width:44%;margin:0;padding:8px;background:var(--ivory);border:1px solid rgba(173,132,77,.52);box-shadow:0 24px 65px rgba(50,35,23,.28);transform:rotate(3deg)}
.intro-overlay img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.intro-overlay figcaption{padding:12px 7px 5px;color:var(--deep-green);font:500 .68rem/1.4 var(--interface);letter-spacing:.14em;text-align:center;text-transform:uppercase}
.need-scene img,.feature-image,.gallery img,.split-media>img{border-radius:10px}
.intro-story{padding-top:clamp(40px,7vw,110px)}
.intro-story h2{margin:30px 0 33px;color:var(--deep);font-size:clamp(4.8rem,6.6vw,7.5rem)}
.intro-story p{max-width:31ch;color:var(--ink);font-size:1.24rem;line-height:1.82}
.intro-story p+p{margin-top:22px}
.intro-story .editorial-link{margin-top:31px}
.guest-care{background:var(--cream);padding-block:clamp(52.5px,5.5vw,87.5px)}
.guest-care-heading{max-width:100%;margin-inline:auto}
.guest-care-heading h2{font-size:clamp(2.45rem,5.5vw,5.4rem);white-space:nowrap}
.guest-care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:55px}
.guest-care-card{min-height:250px;padding:28px 27px;border:1px solid rgba(173,132,77,.34);border-radius:10px;background:rgba(255,249,241,.82);box-shadow:0 13px 38px rgba(58,46,38,.055)}
.guest-care-stars{display:block;margin-bottom:20px;color:#bc8e48;font-size:1rem;letter-spacing:.15em}.guest-care-stars i{margin-right:.12em}
.guest-care-card h3{margin:0 0 13px;color:var(--deep);font-size:clamp(1.9rem,2.4vw,2.5rem)}
.guest-care-card p{max-width:37ch;font-size:1rem;line-height:1.7}
.guest-care-card small{display:block;margin-top:22px;color:var(--deep-green);font:500 .68rem/1.4 var(--interface);letter-spacing:.13em;text-transform:uppercase}
.guest-care-actions{display:flex;justify-content:center;margin-top:36px}
.guest-care-actions .btn{min-width:230px}
@media(max-width:820px){.guest-care-heading h2{white-space:normal}}
.needs{background:var(--ivory)}
.needs .section-heading h2{font-size:clamp(4.4rem,6.4vw,7.4rem)}
.need-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,80px);row-gap:clamp(75px,9vw,140px);margin-top:86px}
.need-scene{display:block;min-width:0}
.need-scene-image-link{display:block;overflow:hidden;border-radius:10px}
.need-scene-image-link:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
.need-scene img{display:block;width:100%;height:clamp(390px,39vw,570px);object-fit:cover;transition:transform .65s ease}
.need-scene-image-link:hover img{transform:scale(1.015)}
body[data-page="home"] .need-scene[data-need="head"] img{object-position:center bottom}
body[data-page="home"] .need-scene[data-need="body-tired"] img{object-position:center 15%}
.need-scene-copy{display:grid;grid-template-columns:1fr;gap:9px 20px;align-items:end;margin-top:22px;padding-top:20px;border-top:1px solid var(--gold)}
.need-scene-copy small{grid-column:1/-1;color:var(--deep-green);font:500 .86rem/1.4 var(--interface);letter-spacing:.16em;text-transform:uppercase}
.need-scene-copy strong{color:var(--deep);font:400 clamp(2.8rem,4.3vw,5rem)/1.04 var(--serif)}
.need-scene-copy p{max-width:38ch;margin:2px 0 0;color:var(--muted);font-size:.96rem;line-height:1.55}
.need-scene-copy>span{color:var(--purple);font-size:1.75rem;line-height:1.1}
.all-needs{text-align:center;margin-top:90px}
.feature-grid{grid-template-columns:1fr;gap:clamp(110px,12vw,180px);margin-top:90px}
.feature-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(50px,8vw,125px);align-items:center}
.feature-card:nth-child(even){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.feature-card:nth-child(even) .feature-image{order:2}
.feature-card img{height:clamp(500px,45vw,670px)}
.feature-body{margin-top:0;padding-top:28px}
.feature-body small{font-size:.86rem}
.feature-body h3{font-size:clamp(4rem,6vw,7rem);margin:24px 0}
.feature-body p{min-height:0;margin-bottom:29px;font-size:1.22rem;line-height:1.8}
.scene-copy p,.cta-content p{font-size:1.18rem;line-height:1.8}
.gallery{grid-template-rows:350px 350px;gap:22px;margin-top:65px}
.gallery-caption{font-size:.94rem}
.service-info p,.split-copy p,.faq-list details p{font-size:1.14rem;line-height:1.85}
.service-info small{font-size:.84rem}
.service-info .text-link{margin-top:26px}
.need-card{font-size:1.18rem;min-height:125px}
.need-icon{font-size:.84rem}
.match-panel p{font-size:1.12rem}
.faq-list summary{font-size:1.15rem}
.footer-links{font-size:1rem}

@media(max-width:1080px){
  .nav{gap:20px}.nav a{font-size:.96rem}
  .intro-story h2{font-size:clamp(4.1rem,6vw,6rem)}
  .intro-story p{font-size:1.1rem}
  .feature-card{gap:6%}
}
@media(max-width:820px){
  .nav{gap:0}.nav a{font-size:1.12rem}
  .intro-editorial{gap:6%}.intro-visual>img{height:610px}
  .intro-story{padding-top:35px}.intro-story h2{font-size:4.2rem}
  .need-scenes{gap:75px 30px}.need-scene img{height:390px}
  .need-scene-copy strong{font-size:3.15rem}
  .feature-card,.feature-card:nth-child(even){gap:5%}.feature-card img{height:480px}
  .feature-body h3{font-size:4.6rem}
}
@media(max-width:640px){
  body{font-size:1.06rem}
  .section{padding-top:95px;padding-bottom:95px}
  .guest-care{padding-block:47.5px}
  .eyebrow{font-size:.76rem}
  .hero-content p{font-size:1.06rem}
  .hero-kicker{font-size:.71rem}
  .btn{font-size:.88rem;min-height:57px}
  .editorial-link,.text-link{font-size:.88rem}
  .section-heading p{font-size:1.1rem}
  .intro-editorial{grid-template-columns:1fr;gap:40px}
  .intro-visual{margin-right:0}.intro-visual>img{height:500px}
  .intro-overlay{right:-1%;bottom:2%;width:47%;padding:6px;transform:rotate(2deg)}
  .intro-overlay figcaption{padding:9px 4px 3px;font-size:.58rem;letter-spacing:.1em}
  .intro-story{order:-1;padding-top:0}
  .intro-story h2{font-size:clamp(4.3rem,13vw,6rem)}
  .intro-story p{font-size:1.12rem;max-width:36ch}
  .needs .section-heading h2{font-size:clamp(4rem,12vw,5.5rem)}
  .guest-care-grid{grid-template-columns:1fr;gap:13px;margin-top:37px}
  .guest-care-card{min-height:0;padding:24px}
  .guest-care-card h3{font-size:calc(2.25rem - 8px)}
  .guest-care-actions .btn{width:100%}
  .need-scenes{grid-template-columns:1fr;gap:68px;margin-top:55px}
  .need-scene img{height:430px}
  .need-scene-copy{margin-top:16px;padding-top:18px}
  .need-scene-copy small{font-size:.78rem}
  .need-scene-copy strong{font-size:clamp(3rem,11vw,4.2rem)}
  .all-needs{margin-top:75px}
  .feature-grid{gap:92px;margin-top:60px}
  .feature-card,.feature-card:nth-child(even){grid-template-columns:1fr;gap:0}
  .feature-card:nth-child(even) .feature-image{order:0}
  .feature-card img{height:440px}
  .feature-body{margin-top:22px}
  .feature-body h3{font-size:clamp(3.8rem,12vw,5.2rem)}
  .feature-body p,.scene-copy p,.cta-content p{font-size:1.1rem}
  .gallery{grid-template-rows:360px 240px}
  .gallery-caption{font-size:.84rem}
  .service-info p,.split-copy p,.faq-list details p{font-size:1.08rem}
  .need-card{font-size:1.05rem;min-height:104px}
  .footer-links{font-size:.98rem}
}
@media(max-width:390px){
  .intro-visual>img{height:440px}
  .intro-overlay{width:50%}
  .need-scene img{height:380px}
  .feature-card img{height:390px}
}

/* Compact treatment cards keep names, details and prices easy to scan. */
.needs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.needs-grid .need-card{min-height:116px;border-top:0;border-bottom:1px solid #dfd2ca;font-size:1.24rem}
.needs-grid .need-card:nth-child(-n+2){border-top:1px solid #dfd2ca}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:68px}
.service-card,.service-card:nth-child(even){display:flex;flex-direction:column;min-width:0;gap:0;overflow:hidden;border-radius:10px;background:var(--white);border:1px solid #e8dbd2;box-shadow:0 10px 28px rgba(47,35,53,.035)}
.service-card:focus-within{border-color:var(--purple)}
.service-card:nth-child(even)>img{order:0}
.service-card img{width:100%;height:145px;object-fit:cover;filter:saturate(.86)}
.service-info{display:flex;flex-direction:column;align-items:flex-start;flex:1;margin:0;padding:29px 33px 32px;border-top:0}
.service-info h3{font-size:clamp(2.65rem,3.35vw,3.65rem);line-height:1.02;margin:14px 0 15px}
.service-info p{max-width:53ch;font-size:1.1rem;line-height:1.72}
.service-info .text-link{margin-top:auto;padding-top:27px}
.service-meta{gap:9px;margin-top:18px}
.pill{font-size:.86rem;padding:9px 13px}
.price-note{font-size:1.04rem;line-height:1.7}
@media(max-width:820px){
  .needs-grid{gap:0 24px}
  .needs-grid .need-card{font-size:1.1rem;min-height:104px}
  .service-grid{grid-template-columns:1fr;max-width:680px;margin-left:auto;margin-right:auto}
  .service-card img{height:160px}
}
@media(max-width:640px){
  .needs-grid{grid-template-columns:1fr;gap:0}
  .needs-grid .need-card{font-size:1.16rem;min-height:102px}
  .needs-grid .need-card:nth-child(2){border-top:0}
  .service-grid{gap:20px;margin-top:52px}
  .service-card img{height:128px}
  .service-info{padding:24px 23px 28px}
  .service-info h3{font-size:clamp(2.65rem,10vw,3.5rem)}
  .service-info p,.faq-list details p{font-size:1.08rem}
  .service-info .text-link{padding-top:20px}
  .price-note{font-size:1rem}
}

/* The supplied logo includes the name and artwork as one transparent image. */
.brand-logo{display:block;width:auto;height:57.4px;max-width:none;object-fit:contain}
.footer-brand .brand-logo{height:62px}
@media(max-width:820px){.site-header .brand-logo{height:49px}}
@media(max-width:640px){.site-header .brand-logo{height:44.8px}.footer-brand .brand-logo{height:54px}}

/* Compact language picker in the navigation. */
.nav-language{display:none}
.lang-switch{position:relative;flex:none;color:var(--deep);font:500 .78rem/1 var(--interface);letter-spacing:.04em}
.lang-trigger{display:flex;align-items:center;justify-content:center;gap:5px;min-width:96px;height:36px;padding:0 13px;border:1px solid #e6dfd7;border-radius:50px;background:#fff;box-shadow:0 2px 5px rgba(58,36,54,.08);cursor:pointer;list-style:none}
.lang-trigger::-webkit-details-marker{display:none}
.lang-trigger::marker{content:''}
.language-icon{display:inline-flex;flex:0 0 16px;width:16px;height:16px;justify-content:center;color:var(--deep-green)}
.lang-chevron{display:block;flex:0 0 12px;width:12px;height:12px;margin-left:3px;transition:transform .2s}
.lang-switch[open] .lang-chevron{transform:rotate(180deg)}
.lang-options{position:absolute;z-index:60;top:calc(100% + 8px);right:0;min-width:150px;padding:6px;border:1px solid #e6dfd7;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(47,35,53,.14)}
.lang-options button{display:flex;align-items:center;gap:9px;width:100%;min-height:36px;padding:8px 10px;border:0;background:transparent;color:var(--deep);font:500 .78rem/1.2 var(--interface);text-align:left;white-space:nowrap;cursor:pointer}
.lang-options button:hover,.lang-options button[aria-pressed=true]{background:#f6edf5;color:var(--purple)}
.header-book-mobile{display:none}
@media(max-width:820px){
  body[data-page="home"] .site-header:not(.scrolled){background:linear-gradient(180deg,rgba(255,249,241,.72),rgba(255,249,241,.32));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .header-language{display:none}
  .header-book{display:inline-flex;min-height:40px;padding:9px 21px;background:#4B237A;font-size:.72rem;letter-spacing:.09em}
  .header-book:hover{background:#3D1B65}
  .header-inner{position:relative;justify-content:space-between;gap:12px;width:min(100% - 24px,1320px);height:61px}
  .site-header .brand{position:absolute;left:50%;transform:translateX(-50%)}
  .header-actions{order:1;margin-left:0}
  .menu-toggle{order:0;width:52.8px;margin-left:-8px;color:#4B237A}
  
  .header-book-desktop{display:none}
  .header-book-mobile{display:inline}
  .nav{top:61px}
  .nav.open{max-height:calc(100svh - 61px);padding-bottom:12px;overflow-y:auto}
  .nav-language{display:block;margin-top:18px;padding-top:0;border-top:0}
  .nav-language .lang-switch{width:max-content}
  .nav-language .lang-options{right:auto;left:0}
  .nav-language-image{display:block;width:100%;height:auto;aspect-ratio:4/3;margin:18px auto 0;object-fit:cover;object-position:center 43%;border-radius:10px;box-shadow:0 8px 22px rgba(61,14,87,.1)}
}
@media(max-width:680px){
  body[data-page="home"] .site-header:not(.scrolled){background:linear-gradient(180deg,rgba(255,249,241,.62),rgba(255,249,241,.26));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
}
@media(max-width:640px){
  .header-inner{width:min(100% - 16px,1320px);height:56px}
  .nav{top:56px}
  .nav.open{max-height:calc(100svh - 56px)}
  .header-book{min-height:36px;padding:8px 16px;font-size:.66rem}
}

/* Warm contrast brings depth to the video hero. */
.hero-home .hero-frame video{filter:brightness(.89) contrast(1.18) saturate(1.14) sepia(.11);transform:translateX(6%) scale(1.15)}
.hero-home .hero-media:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 105% 115% at 0% 100%,rgba(255,249,241,.92) 0%,rgba(255,245,234,.68) 37%,rgba(255,244,233,.22) 68%,rgba(255,249,241,0) 100%);pointer-events:none}
.hero-home .hero-content{align-items:flex-start;justify-content:flex-end;text-align:left;padding-top:125px;padding-bottom:clamp(54px,7vh,90px)}
.hero-home .hero-content h1{max-width:100%;margin:20px 0 6px;color:#3D0E57;font-size:clamp(5.5rem,8.4vw,8.8rem);line-height:.9;white-space:nowrap;text-wrap:nowrap;text-shadow:0 2px 11px rgba(255,249,241,.44),0 0 1px rgba(255,249,241,.32)}
.hero-home .hero-content h1 em{display:inline;color:#D74490;font-style:normal}
.hero-benefits{display:flex;align-items:center;flex:0 0 auto;margin-top:18.5px;max-width:680px}
.hero-benefit{position:relative;display:flex;align-items:center;gap:10px;min-width:0;height:48px;padding-right:20px}
.hero-benefit+.hero-benefit{padding-left:20px}
.hero-benefit+.hero-benefit:before{content:'';position:absolute;top:50%;left:0;width:1px;height:42px;background:rgba(215,68,144,.8);transform:translateY(-50%)}
.hero-benefit-icon{flex:0 0 38px;width:38px;font-size:1.65rem;text-align:center;color:var(--deep-green);filter:drop-shadow(0 1px 2px rgba(255,249,241,.42))}.hero-benefit:nth-child(1) .hero-benefit-icon{color:var(--purple)}.hero-benefit:nth-child(3) .hero-benefit-icon{color:var(--pink)}
.hero-benefit small{display:block;color:var(--deep);font:500 calc(.65rem + 4px)/1.45 var(--interface);letter-spacing:.17em;white-space:nowrap;text-shadow:0 1px 4px rgba(255,249,241,.46)}
.hero-home .hero-actions{justify-content:flex-start;gap:20px;margin-top:39px}
.hero-home .hero-actions .btn-primary{width:270px;min-width:270px;border-radius:50px;background:#8947AD}
.hero-home .hero-actions .btn-primary:hover{background:#71378F}
.hero-home .hero-actions .editorial-link{justify-content:center;gap:20px;width:270px;min-height:61px;margin-left:0;padding:16px 26px;border:1px solid #8947AD;border-radius:50px;background:rgba(255,249,241,.28);color:var(--deep);font-size:.88rem;white-space:nowrap}
@media(max-width:1080px){
  .hero-home .hero-content h1{font-size:clamp(5.2rem,9vw,7rem)}
  .hero-benefit{gap:7px;padding-right:13px}
  .hero-benefit+.hero-benefit{padding-left:13px}
  .hero-benefit .hero-benefit-icon{flex-basis:33px;width:33px}
  .hero-benefit small{font-size:calc(.58rem + 4px);letter-spacing:.13em}
}
@media(max-width:680px){
  .hero-home{min-height:680px}
  .hero-home .hero-frame video{object-position:42% center}
  .hero-home .hero-frame video{transform:none}
  .hero-home .hero-media:after{background:linear-gradient(180deg,rgba(255,248,241,0) 0%,rgba(255,248,241,0) 30%,rgba(255,248,241,.12) 48%,rgba(255,245,233,.58) 70%,rgba(255,248,241,.88) 100%)}
  .hero-home .hero-content{align-items:center;justify-content:flex-end;text-align:center;padding-top:90px;padding-bottom:24px}
  .hero-home .hero-content h1{max-width:100%;margin:16px 0 4.5px;font-size:clamp(calc(2.1rem + 24px),calc(9vw + 24px),calc(4.2rem + 24px));white-space:normal;text-wrap:balance}
  .hero-benefits{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);width:100%;margin-top:8px}
  .hero-benefit{flex-direction:column;align-items:center;gap:3px;height:auto;padding-right:5px;text-align:center}
  .hero-benefit+.hero-benefit{position:relative;padding-left:8px;border-left:0}
  .hero-benefit+.hero-benefit:before{content:'';position:absolute;top:18%;left:0;width:1px;height:64%;background:rgba(215,68,144,.36)}
  .hero-benefit .hero-benefit-icon{flex-basis:auto;width:27px;font-size:1.45rem}
  .hero-benefit small{font-size:calc(.61rem + 2px);line-height:1.3;letter-spacing:0;white-space:normal;hyphens:auto;overflow-wrap:normal}
  .hero-home .hero-actions{align-items:center;justify-content:center;flex-direction:column;gap:12px;margin-top:25px}
  .hero-home .hero-actions .btn-primary,.hero-home .hero-actions .editorial-link{width:min(100%,300px);min-width:0;min-height:54px;font-size:.79rem}
  .hero-home .hero-actions .btn-primary{font-size:calc(.79rem + 2px)}
  .hero-home .hero-actions [data-booking]{display:none}
  .hero-home a:focus-visible{outline-color:#D74490}
}
@media(max-width:360px){
  .hero-home .hero-content h1{font-size:calc(12vw + 12px)}
}

/* Arched photo and quiet editorial copy in the home discovery section. */
.breath{position:relative;isolation:isolate;overflow:hidden;scroll-margin-top:92px;padding:clamp(62px,6vw,96px) 0;text-align:left;background:var(--soft-pink)}
.breath-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(48px,5.2vw,100px);align-items:center}
.breath-visual{position:relative;min-height:clamp(510px,46vw,650px)}
.breath-visual:before{content:'';position:absolute;inset:-16px 1px 13px 17px;border:1px solid rgba(209,160,111,.75);border-radius:48% 48% 0 0 / 32% 32% 0 0;pointer-events:none}
.breath-photo{position:absolute;inset:0 18px 0 0;overflow:hidden;border-radius:48% 48% 0 0 / 32% 32% 0 0;background:#e9d7c9}
.breath-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}
.breath-copy{padding:20px 0 25px}
.breath .eyebrow{gap:12px;font-size:.74rem;letter-spacing:.22em;white-space:nowrap}
.breath .eyebrow:before,.breath .eyebrow:after{content:'';width:28px;height:1px;background:var(--gold)}
.breath h2{max-width:730px;margin:28px 0 22px;color:var(--deep);font-size:clamp(3.3rem,5.2vw,6.1rem);line-height:1.02;text-wrap:balance}
.breath h2 span,.breath h2 em{display:block}
.breath h2 em{margin-top:3px;color:var(--pink)}
.breath-copy p{max-width:46ch;margin:0 0 32px;color:var(--muted);font-size:clamp(1.03rem,1.25vw,1.18rem);line-height:1.75}
.breath-actions{display:flex;flex-wrap:wrap;gap:15px}
.breath-actions .btn{min-height:58px;padding:15px 23px;border-radius:50px;font-size:.82rem;letter-spacing:.12em;gap:12px}
.breath-actions .btn-primary{background:var(--pink)}
.breath-actions .btn-primary:hover{background:#ad0f61}
.breath-actions .btn-outline{background:rgba(255,255,255,.45)}
@media(min-width:901px){
  .breath-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .breath-copy{grid-column:1;grid-row:1}
  .breath-visual{grid-column:2;grid-row:1}
}
@media(max-width:900px){
  .breath{scroll-margin-top:76px}
  .breath-grid{grid-template-columns:1fr;gap:44px}
  .breath-visual{width:min(100%,600px);min-height:580px;margin-inline:auto}
  .breath-copy{text-align:center;padding:0}
  .breath .eyebrow,.breath-actions{justify-content:center}
  .breath h2{margin-left:auto;margin-right:auto}
  .breath-copy p{margin-inline:auto}
}
@media(max-width:640px){
  .breath{scroll-margin-top:70px;padding:58px 0 70px}
  .breath-grid{gap:34px}
  .breath-visual{min-height:clamp(360px,108vw,500px)}
  .breath-photo{inset:0 8px 0 0}
  .breath .eyebrow{gap:8px;font-size:.67rem;letter-spacing:.13em}
  .breath .eyebrow:before,.breath .eyebrow:after{width:18px}
  .breath h2{margin:20px auto 18px;font-size:clamp(2.5rem,calc(10vw + 8px),4.5rem)}
  .breath h2 span,.breath h2 em{white-space:nowrap}
  .breath-copy p{margin-bottom:26px;font-size:1.05rem;line-height:1.72}
  .breath-actions{flex-direction:column;align-items:stretch}
  .breath-actions .btn{width:100%;min-height:55px}
}

/* Chang Siam Signature: shared type, eyebrow and CTA rhythm across all pages. */
/* Slightly more breathing room for all Instrument Serif text. */
h1,h2,h3,.serif,em,.accent,.value-card .number,.need-scene-copy strong,.team-person strong{letter-spacing:.01em}
.need-scene-copy strong{overflow-wrap:anywhere}
h1,h2,h3,.serif{line-height:1.04}
.section-heading h2,.split-copy h2,.scene-copy h2,.cta-content h2{
  color:var(--deep);
  font-size:clamp(3.4rem,5.5vw,6rem);
  line-height:1.02;
}
.section-heading h2{margin:20px 0 22px}
.intro-story h2{font-size:clamp(4rem,6vw,6.5rem);line-height:1.02}
.needs .section-heading h2{font-size:clamp(3.4rem,5.5vw,6rem)}
.feature-body h3{font-size:clamp(3.5rem,4.8vw,5.8rem);line-height:1.02}
@media(min-width:821px){.cta-content h2{font-size:clamp(3rem,5vw,4.5rem);white-space:nowrap}.cta-content h2 br{display:none}}
.section-heading p,.intro-story p,.split-copy p,.scene-copy p,.cta-content p{
  font-size:clamp(1.03rem,1.25vw,1.18rem);
  line-height:1.75;
}
.section-heading p{max-width:56ch}
.page-hero h1{font-size:clamp(4rem,7vw,7rem);line-height:.98}
.page-hero p{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.72}

.eyebrow,.breath .eyebrow{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  gap:12px;
  color:var(--purple);
  font:500 .875rem/1.35 var(--interface);
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:normal;
}
.eyebrow:before,.eyebrow:after,
.section-heading.center .eyebrow:after,
.breath .eyebrow:before,.breath .eyebrow:after{
  content:'';
  display:block;
  flex:0 0 30px;
  width:30px;
  height:1px;
  background:var(--gold);
}

.btn,.header-book,.breath-actions .btn{border-radius:50px}
.btn-primary,.breath-actions .btn-primary{background:#8947AD;color:#fff}
.btn-primary:hover,.breath-actions .btn-primary:hover{background:#71378F}
.header-book{background:var(--purple)}
.header-book:hover{background:#3D1B65}
.editorial-link,.text-link{color:var(--purple);border-color:var(--gold)}
.hero-home .hero-actions .btn-primary,.hero-home .hero-actions .editorial-link{
  flex:0 0 270px;
  width:270px;
  min-height:61px;
}
.breath-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,570px)}
.breath-actions .btn{width:100%;min-width:0;min-height:58px;padding-inline:18px;white-space:normal;text-align:center}
.need-scene-copy{grid-template-columns:minmax(0,1fr)}

@media(max-width:900px){
  .breath-actions{margin-inline:auto}
}
@media(max-width:680px){
  .hero-home .hero-actions .btn-primary,.hero-home .hero-actions .editorial-link{
    flex:none;
    width:min(100%,300px);
    min-height:54px;
  }
}
@media(max-width:640px){
  .section-heading h2,.split-copy h2,.scene-copy h2,.cta-content h2{
    font-size:clamp(3.05rem,11.5vw,4.8rem);
    line-height:1.04;
  }
  .intro-story h2,.needs .section-heading h2,.feature-body h3{
    font-size:clamp(3.05rem,11.5vw,4.8rem);
  }
  .intro-story h2{font-size:clamp(1.75rem,9.2vw,3.7rem);white-space:nowrap}
  .intro-story h2 br{display:none}
  .page-hero h1{font-size:clamp(3.5rem,12vw,5rem)}
  .section-heading p,.intro-story p,.split-copy p,.scene-copy p,.cta-content p{
    font-size:1.05rem;
    line-height:1.72;
  }
  .eyebrow,.breath .eyebrow{gap:8px;font-size:.75rem;letter-spacing:.12em}
  .eyebrow:before,.eyebrow:after,
  .section-heading.center .eyebrow:after,
  .breath .eyebrow:before,.breath .eyebrow:after{flex-basis:18px;width:18px}
  .breath-actions{grid-template-columns:minmax(0,1fr);width:min(100%,360px)}
  .breath-actions .btn{min-height:55px}
  body[data-page="home"] .intro-story{text-align:center}
  body[data-page="home"] .intro-story p{margin-inline:auto}
  body[data-page="home"] .gallery-section .section-heading{text-align:center;margin-inline:auto}
  body[data-page="home"] .intro-story h2,
  body[data-page="home"] .breath h2,
  body[data-page="home"] .needs .section-heading h2,
  body[data-page="home"] .scene-copy h2,
  body[data-page="home"] .gallery-section .section-heading h2,
  body[data-page="home"] .cta-content h2{font-size:34px}
  body[data-page="home"] .need-scene-copy strong{font-size:28px}
  body[data-page="home"] .need-scenes{
    display:flex;
    gap:16px;
    margin:49px -18px 0;
    padding:6px 18px 10px;
    overflow-x:auto;
    scroll-padding-inline:18px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  body[data-page="home"] .need-scene{flex:0 0 min(78vw,340px);scroll-snap-align:start}
  body[data-page="home"] .need-scene img{height:auto;aspect-ratio:4/5}
}

/* Tighter spacing for the selected home sections. */
body[data-page="home"] .gallery-caption{justify-content:flex-end}
body[data-page="home"] .intro-section,
body[data-page="home"] .needs,
body[data-page="home"] .gallery-section,
body[data-page="home"] .cta-band{padding-block:clamp(52.5px,5.5vw,87.5px)}
body[data-page="home"] .experience-scene,
body[data-page="home"] .scene-inner{min-height:0}
body[data-page="home"] .scene-inner{padding-block:clamp(90px,8vw,125px) 31px}
body[data-page="home"] .scene-copy{margin-bottom:0}
@media(max-width:1080px){
  body[data-page="home"] .scene-inner{padding-block:clamp(125px,14vw,155px) 19px}
}
@media(max-width:640px){
  body[data-page="home"] .intro-section,
  body[data-page="home"] .needs,
  body[data-page="home"] .gallery-section,
  body[data-page="home"] .cta-band{padding-block:47.5px}
  body[data-page="home"] .scene-inner{padding-block:clamp(115px,30vw,180px) 9px}
}

@media(max-width:640px){
  .gallery{gap:5px;grid-template-rows:360px 202px}
}

/* Quiet, editorial motion for the home page. */
@keyframes home-soft-rise{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes home-scroll-breathe{
  0%,100%{opacity:.45;transform:scaleY(.82);transform-origin:top}
  50%{opacity:1;transform:scaleY(1);transform-origin:top}
}
body[data-page="home"] .hero-content h1,
body[data-page="home"] .hero-benefits,
body[data-page="home"] .hero-actions{
  animation:home-soft-rise 1.05s cubic-bezier(.2,.7,.2,1) both;
}
body[data-page="home"] .hero-content h1{animation-delay:90ms}
body[data-page="home"] .hero-benefits{animation-delay:240ms}
body[data-page="home"] .hero-actions{animation-delay:390ms}
body[data-page="home"] .scroll-cue-line{animation:home-scroll-breathe 2.8s ease-in-out infinite}
body[data-page="home"] .motion-reveal{
  opacity:0;
  transform:translate3d(0,20px,0);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.05s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform;
}
body[data-page="home"] .gallery img.motion-reveal{transform:translate3d(0,14px,0) scale(.99)}
body[data-page="home"] .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
body[data-page="contact"] .page-hero .image-wrap img{object-position:center top}
@media(min-width:641px) and (max-width:1080px){
  body[data-page="contact"] .page-hero .image-wrap img{object-position:right top}
}
.atmos-gallery{grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:repeat(2,350px)}
.atmos-gallery img:first-child{grid-row:span 2}
@media(max-width:640px){.atmos-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px repeat(2,240px)}.atmos-gallery img:first-child{grid-column:span 2;grid-row:auto}}

/* Chang Siam Signature: shared responsive rules for inner-page layouts. */
:root{
  --page-section-space:clamp(105px,11vw,175px);
  --page-section-space-sm:clamp(70px,8vw,115px);
  --page-section-space-half:clamp(52.5px,5.5vw,87.5px);
  --page-section-space-sm-half:clamp(35px,4vw,57.5px);
  --page-hero-title:clamp(4rem,7vw,7rem);
  --section-title:clamp(3.4rem,5.5vw,6rem);
  --hero-wash-strong:rgba(255,249,241,.96);
  --hero-wash-mid:rgba(255,249,241,.84);
  --hero-wash-soft:rgba(255,249,241,.15);
}
body[data-page="menu"] .section,
body[data-page="about"] .section{padding-block:var(--page-section-space)}
body[data-page="contact"] .section{padding-block:var(--page-section-space)}
body[data-page="menu"] .section.section-padding-half,
body[data-page="about"] .section.section-padding-half,
body[data-page="contact"] .section.section-padding-half{padding-block:var(--page-section-space-half)}
body[data-page="menu"],body[data-page="about"],body[data-page="contact"]{line-height:1.75}
body[data-page="menu"] .section-sm,
body[data-page="about"] .section-sm,
body[data-page="contact"] .section-sm{padding-block:var(--page-section-space-sm)}
body[data-page="menu"] .section-sm.section-padding-half,
body[data-page="about"] .section-sm.section-padding-half,
body[data-page="contact"] .section-sm.section-padding-half{padding-block:var(--page-section-space-sm-half)}
.page-hero-grid>div:first-child{margin-left:clamp(32px,7vw,120px)}
.page-hero h1{font-size:var(--page-hero-title);line-height:.98}
.page-hero .image-wrap:after{background:linear-gradient(90deg,var(--hero-wash-strong) 0%,var(--hero-wash-mid) 35%,var(--hero-wash-soft) 78%)}
.section-heading h2,.split-copy h2,.cta-content h2{font-size:var(--section-title);line-height:1.02;color:var(--deep)}
.section-heading h2{margin:20px 0 22px}
.section-heading p,.split-copy p,.cta-content p{color:var(--muted);line-height:1.75}
.split-copy .lead,.page-hero .lead{color:var(--ink)}
.guest-care-heading h2{
  max-width:100%;
  font-size:clamp(2rem,5.5vw,4.75rem);
  line-height:1.08;
  white-space:normal;
  text-wrap:balance;
}
@media(max-width:820px){
  :root{--page-section-space:88px;--page-section-space-sm:68px;--page-section-space-half:44px;--page-section-space-sm-half:34px}
  .page-hero-grid>div:first-child{margin-left:clamp(32px,6vw,56px)}
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5%}
  .split-media>img{height:clamp(390px,55vw,470px)}
  .contact-layout{grid-template-columns:1fr;gap:42px;max-width:720px;margin-inline:auto}
  .contact-layout .map-wrap,.contact-layout .map-wrap iframe{height:420px;min-height:420px}
  body[data-page="menu"] .menu-categories{top:76px}
}
@media(max-width:640px){
  :root{--page-section-space:76px;--page-section-space-sm:64px;--page-section-space-half:38px;--page-section-space-sm-half:32px;--page-hero-title:clamp(3rem,11.5vw,4.25rem);--section-title:clamp(2rem,5.3vw,2.125rem)}
  body[data-page="menu"],body[data-page="about"],body[data-page="contact"]{line-height:1.72}
  body[data-page="menu"] .service-info p{line-height:1.72}
  .page-hero{height:auto;min-height:100svh}
  .page-hero-grid{height:auto;min-height:100svh;align-items:flex-end;padding-block:96px 24px}
  .page-hero-grid>div:first-child{width:calc(100% - 36px);margin:0 auto;padding-top:0}
  .page-hero h1{font-size:var(--page-hero-title);line-height:1}
  .page-hero .image-wrap:after{background:linear-gradient(0deg,rgba(255,249,241,.9) 0%,rgba(255,249,241,.72) 36%,rgba(255,249,241,.4) 56%,rgba(255,249,241,.12) 76%,rgba(255,249,241,0) 100%)}
  .page-hero .hero-copy-desktop{display:none}
  .page-hero .hero-copy-mobile{display:inline}
  .split{grid-template-columns:1fr;gap:32px}
  .split-media{order:-1}
  .split-media>img{height:390px}
  .split-overlay{right:-1%;bottom:2%;width:47%;padding:6px;transform-origin:bottom right;transform:scale(.85) rotate(2deg)}
  .split-copy{padding-top:0}
  .section-heading h2,.split-copy h2,.cta-content h2{font-size:var(--section-title);line-height:1.04}
  body[data-page="about"] .value-card h3,
  body[data-page="contact"] .booking-box h3{font-size:clamp(2rem,5.3vw,2.125rem);line-height:1.04}
  .guest-care-heading h2{font-size:clamp(2rem,8vw,2.125rem);line-height:1.12}
  .contact-layout{gap:34px}
  .contact-layout .map-wrap,.contact-layout .map-wrap iframe{height:360px;min-height:360px}
  body[data-page="menu"] .menu-categories{top:70px}
}
@media(max-width:390px){
  .eyebrow{gap:7px;letter-spacing:.1em}
  .eyebrow:before,.eyebrow:after,.section-heading.center .eyebrow:after{flex-basis:16px;width:16px}
}
@media(prefers-reduced-motion:reduce){
  body[data-page="home"] .hero-content h1,
  body[data-page="home"] .hero-benefits,
  body[data-page="home"] .hero-actions,
  body[data-page="home"] .scroll-cue-line{animation:none}
  body[data-page="home"] .motion-reveal,
  body[data-page="home"] .gallery img.motion-reveal{opacity:1;transform:none;transition:none;will-change:auto}
}

.ui-icon{display:inline-block;flex-shrink:0;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--pink)}
.faq-list summary:after{color:var(--pink)}

/* Keep the hamburger as a simple Chang Siam purple CSS icon. */
.menu-toggle-icon{display:flex;width:24px;height:18px;flex-direction:column;justify-content:space-between}
.menu-toggle-icon span{display:block;width:100%;height:2px;border-radius:2px;background:var(--purple);transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:first-child{transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:last-child{transform:translateY(-8px) rotate(-45deg)}

@media(min-width:821px){
  body[data-page="menu"] .page-hero,
  body[data-page="about"] .page-hero,
  body[data-page="contact"] .page-hero{height:100svh;min-height:680px}
  body[data-page="menu"] .page-hero h1,
  body[data-page="about"] .page-hero h1,
  body[data-page="contact"] .page-hero h1{white-space:nowrap;text-wrap:nowrap}
}
@media(min-width:821px) and (max-width:1080px){
  body[data-page="menu"] .page-hero h1,
  body[data-page="about"] .page-hero h1,
  body[data-page="contact"] .page-hero h1{font-size:clamp(3rem,5.2vw,3.5rem)}
}

/* Warm, clear mobile navigation with a distinct current page. */
.nav-language-image{display:none}
@media(max-width:820px){
  .nav{background:var(--cream)}
  .nav a{border-bottom-color:rgba(75,35,122,.12)}
  .nav a.active{color:var(--pink);font-weight:500}
  .nav-language{border-top:0}
  .nav-language-image{display:block}
}

/* Tighter mobile hero rhythm on the menu, about, and contact pages. */
@media(max-width:640px){
  .page-hero h1{margin:13px 0 12px;line-height:.9}
  .page-hero p{line-height:1.45}
  .page-hero .btn{margin-top:15px}
}

@media(max-width:640px){
  body[data-page="about"] .page-hero .image-wrap:after,
  body[data-page="contact"] .page-hero .image-wrap:after{
    background:linear-gradient(0deg,rgba(255,249,241,.94) 0%,rgba(255,249,241,.76) 36%,rgba(255,249,241,.45) 56%,rgba(255,249,241,.16) 76%,rgba(255,249,241,0) 100%)
  }
  body[data-page="contact"] .page-hero .image-wrap:after{
    background:linear-gradient(0deg,rgba(255,249,241,.97) 0%,rgba(255,249,241,.82) 36%,rgba(255,249,241,.55) 56%,rgba(255,249,241,.28) 76%,rgba(255,249,241,.06) 100%)
  }
}

@media(max-width:640px){
  body[data-page="menu"] .page-hero-grid>div:first-child,
  body[data-page="about"] .page-hero-grid>div:first-child,
  body[data-page="contact"] .page-hero-grid>div:first-child{text-align:center}
}

body[data-page="menu"] .page-hero .btn .ui-icon{display:block;flex:none;width:20px;height:20px;color:#fff;fill:none;stroke:currentColor}

@media(min-width:821px){
  body[data-page="contact"] .contact-layout .section-heading h2{font-size:clamp(1.8rem,3.2vw,3rem);white-space:nowrap}
}
@media(max-width:640px){
  body[data-page="contact"] .contact-layout>div:first-child>.section-heading{text-align:center}
  body[data-page="contact"] .contact-layout>div:first-child>.section-heading h2{font-size:calc(var(--section-title) + 4px)}
  body[data-page="contact"] .contact-layout>div:first-child>.section-heading p{margin-inline:auto}
}
body[data-page="contact"] .contact-layout .section-heading>p{font-size:clamp(1.236rem,1.5vw,1.416rem)}
@media(max-width:680px){
  body[data-page="contact"] .contact-layout .section-heading>p{font-size:1.26rem}
}

.footer-grid{grid-template-columns:1.35fr .8fr 1.15fr 1fr;gap:40px}
.footer-hours,.contact-hours{display:grid;gap:7px;margin:0;font-size:.88rem;line-height:1.45}
.footer-hours{gap:4px;font-size:.82rem;line-height:1.35}
.footer-hours>div,.contact-hours>div{display:flex;justify-content:space-between;gap:12px}
.footer-hours dt,.contact-hours dt{color:var(--muted)}
.footer-hours dd,.contact-hours dd{margin:0;color:var(--ink);white-space:nowrap}
.contact-hours{min-width:min(100%,250px);margin-top:9px;font-size:.94rem}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:640px){.footer-brand{grid-column:span 2}}

/* Carry the Home page's gentle entrance and scroll reveals onto inner pages. */
body[data-page="menu"] .page-hero .eyebrow,
body[data-page="about"] .page-hero .eyebrow,
body[data-page="contact"] .page-hero .eyebrow,
body[data-page="menu"] .page-hero h1,
body[data-page="about"] .page-hero h1,
body[data-page="contact"] .page-hero h1,
body[data-page="menu"] .page-hero .lead,
body[data-page="about"] .page-hero .lead,
body[data-page="contact"] .page-hero .lead,
body[data-page="menu"] .page-hero .btn,
body[data-page="about"] .page-hero .btn,
body[data-page="contact"] .page-hero .btn{
  animation:home-soft-rise 1.05s cubic-bezier(.2,.7,.2,1) both;
}
body[data-page="menu"] .page-hero h1,
body[data-page="about"] .page-hero h1,
body[data-page="contact"] .page-hero h1{animation-delay:90ms}
body[data-page="menu"] .page-hero .lead,
body[data-page="about"] .page-hero .lead,
body[data-page="contact"] .page-hero .lead{animation-delay:240ms}
body[data-page="menu"] .page-hero .btn,
body[data-page="about"] .page-hero .btn,
body[data-page="contact"] .page-hero .btn{animation-delay:390ms}
body[data-page="menu"] .page-hero .image-wrap img,
body[data-page="about"] .page-hero .image-wrap img,
body[data-page="contact"] .page-hero .image-wrap img{
  animation:inner-page-image 1.4s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes inner-page-image{
  from{opacity:.72;transform:scale(1.035)}
  to{opacity:1;transform:scale(1)}
}
body[data-page="menu"] .motion-reveal,
body[data-page="about"] .motion-reveal,
body[data-page="contact"] .motion-reveal{
  opacity:0;
  transform:translate3d(0,20px,0);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.05s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform;
}
body[data-page="menu"] .motion-reveal.is-visible,
body[data-page="about"] .motion-reveal.is-visible,
body[data-page="contact"] .motion-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
@media(prefers-reduced-motion:reduce){
  body[data-page="menu"] .page-hero .eyebrow,
  body[data-page="about"] .page-hero .eyebrow,
  body[data-page="contact"] .page-hero .eyebrow,
  body[data-page="menu"] .page-hero h1,
  body[data-page="about"] .page-hero h1,
  body[data-page="contact"] .page-hero h1,
  body[data-page="menu"] .page-hero .lead,
  body[data-page="about"] .page-hero .lead,
  body[data-page="contact"] .page-hero .lead,
  body[data-page="menu"] .page-hero .btn,
  body[data-page="about"] .page-hero .btn,
  body[data-page="contact"] .page-hero .btn,
  body[data-page="menu"] .page-hero .image-wrap img,
  body[data-page="about"] .page-hero .image-wrap img,
  body[data-page="contact"] .page-hero .image-wrap img{animation:none}
  body[data-page="menu"] .motion-reveal,
  body[data-page="about"] .motion-reveal,
  body[data-page="contact"] .motion-reveal{opacity:1;transform:none;transition:none;will-change:auto}
}

.lang-switch .language-icon{color:var(--purple)}
body[data-page="home"] .hero-benefit:nth-child(2) .hero-benefit-icon,
body[data-page="home"] .hero-benefit:nth-child(3) .hero-benefit-icon{color:var(--purple)}
@media(max-width:640px){
  body[data-page="about"] .atmos-gallery{margin-top:16.5px}
}
@media(max-width:820px){
  body.menu-open::before{content:"";position:fixed;inset:0;z-index:49;background:rgba(255,249,241,.14);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto}
}
.guest-care-stars span{color:#E5B83B}
body[data-page="home"] .hero-benefits .hero-benefit .hero-benefit-icon{color:#E16DA5}
@media(max-width:680px){
  body[data-page="home"] .hero-benefits .hero-benefit .hero-benefit-icon{font-size:1.16rem}
}

.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.footer-bottom>span:first-child{justify-self:start}
.footer-bottom>span:last-child{justify-self:end;text-align:right}
.footer-credit{text-align:center;white-space:nowrap}
.footer-credit a,.footer-privacy{color:var(--purple)}
.footer-credit a:hover,.footer-privacy:hover{text-decoration:underline}
.footer-privacy{display:inline-flex;margin-top:10px;font:500 .78rem/1.3 var(--interface)}
@media(max-width:820px){.footer-bottom{grid-template-columns:1fr;justify-items:center;gap:8px;text-align:center}.footer-bottom>span:first-child,.footer-bottom>span:last-child{justify-self:center;text-align:center}.footer-bottom span+span{margin-top:0}}
.privacy-hero{padding:150px 0 52px;background:var(--cream)}
.privacy-hero h1{margin:22px 0 12px;color:var(--deep);font-size:clamp(3.2rem,6vw,5.8rem)}
.privacy-updated{font:500 .82rem/1.5 var(--interface)}
.privacy-intro{max-width:70ch;margin-top:20px;font-size:1.08rem;line-height:1.75}
.privacy-content{padding:46px 0 105px;background:var(--ivory)}
.privacy-layout{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,850px);gap:clamp(36px,6vw,88px);align-items:start}
.privacy-toc{position:sticky;top:116px;display:grid;gap:12px;padding:23px;background:#fff;border:1px solid rgba(75,35,122,.12)}
.privacy-toc strong{margin-bottom:3px;color:var(--deep);font:600 .8rem/1.4 var(--interface);letter-spacing:.1em;text-transform:uppercase}
.privacy-toc a{color:var(--muted);font-size:.88rem;line-height:1.4}
.privacy-toc a:hover{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.privacy-article{min-width:0}
.privacy-article section{scroll-margin-top:110px;margin:0 0 47px}
.privacy-article h2{margin:0 0 17px;color:var(--deep);font-size:clamp(2rem,3.4vw,3rem);line-height:1.06}
.privacy-article h3{margin:25px 0 9px;color:var(--purple);font:600 .95rem/1.4 var(--interface);letter-spacing:.03em}
.privacy-article p,.privacy-article li{color:var(--ink);font-size:.98rem;line-height:1.8}
.privacy-article p+p{margin-top:14px}
.privacy-article ul{display:grid;gap:10px;padding-left:22px;margin:14px 0}
.privacy-article address{margin:16px 0;color:var(--ink);font-style:normal;line-height:1.7}
.privacy-article a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){
  .privacy-hero{padding:125px 0 42px}
  .privacy-layout{grid-template-columns:1fr;gap:32px}
  .privacy-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
  .privacy-toc strong{grid-column:1/-1}
}
@media(max-width:520px){
  .privacy-hero h1{font-size:clamp(2.7rem,12vw,4rem)}
  .privacy-content{padding-top:28px}
  .privacy-toc{grid-template-columns:1fr}
  .privacy-article h2{font-size:2rem}
}

/* Long translations remain readable on small screens. */
/* Anthika and Charlie: shared, photo-led introductions. */
.team-intro,.team-section{background:var(--cream)}
.team-intro-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,3vw,48px);align-items:center}
.team-intro-copy,.team-intro-people,.team-profile,.team-profile-copy{min-width:0}
.team-intro-copy h2{margin:22px 0;color:var(--deep);font-size:var(--section-title,clamp(3.4rem,5.5vw,6rem));line-height:1.02}
.team-intro-copy h2 span{display:block}
.team-intro-copy p{max-width:48ch;color:var(--muted);line-height:1.75}
.team-intro-copy p+p{margin-top:18px}
.team-intro-copy .btn{margin-top:30px;max-width:100%;white-space:normal;text-align:center}
.team-intro-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.team-person{min-width:0;margin:0}
.team-person:nth-child(2){padding-top:48px}
.team-person img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:10px}
.team-person figcaption{margin-top:18px;padding-top:15px;border-top:1px solid var(--gold)}
.team-person strong{display:block;color:var(--deep);font:400 clamp(1.65rem,2.4vw,2.4rem)/1.12 var(--serif)}
.team-person figcaption span,.team-role{display:block;margin-top:8px;color:var(--purple);font:500 .76rem/1.5 var(--interface);letter-spacing:.08em;text-transform:uppercase}
.team-image-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.team-section{scroll-margin-top:100px}
.team-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,70px);margin-top:48px}
.team-profile-photo{margin:0}
.team-profile-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:10px}
.team-profile-photo figcaption{margin-top:10px;color:var(--muted);font-size:.8rem;line-height:1.5}
.team-profile-copy{margin-top:24px;padding-top:24px;border-top:1px solid var(--gold)}
.team-profile-copy .team-role{margin-top:0}
.team-profile-copy h3{margin:14px 0 20px;color:var(--deep);font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.08}
.team-profile-copy p{color:var(--muted);line-height:1.75}
.team-profile-copy p+p{margin-top:18px}
.team-section-actions{display:flex;justify-content:center;margin-top:38px}
@media(max-width:1080px){.team-intro-grid{grid-template-columns:1fr;gap:40px}.team-intro-copy{max-width:760px}.team-intro-copy p{max-width:60ch}.team-intro-people{width:100%}}
@media(max-width:640px){
  .team-intro-copy h2{font-size:clamp(2rem,5.3vw,2.125rem);line-height:1.04}
  .team-intro-copy p,.team-profile-copy p{font-size:1.0625rem;line-height:1.72}
  .team-intro-people{grid-template-columns:1fr;gap:32px}.team-person:nth-child(2){padding-top:0}
  .team-person strong{font-size:clamp(1.5rem,6vw,1.9rem)}
  .team-person figcaption span{font-size:.68rem;letter-spacing:.04em}
  .team-profile-grid{grid-template-columns:1fr;gap:42px;margin-top:32px}
  .team-profile-copy h3{font-size:2.125rem}
  .team-section .eyebrow{white-space:normal;text-align:center;letter-spacing:.1em}
  .team-section-actions .btn{max-width:100%;white-space:normal}
}
@media(max-width:680px){.hero-benefit small{letter-spacing:.015em}.hero-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.btn{white-space:normal;text-align:center}.breath .eyebrow{white-space:normal}.service-meta dt{min-width:0}}
