:root{--ivory:#f4eee5;--paper:#fcfaf6;--espresso:#33241d;--taupe:#847466;--gold:#b68b46;--line:rgba(57,39,29,.14);--radius:28px;--sans:"Manrope",sans-serif;--serif:"Cormorant Garamond",Baskerville,"Times New Roman",serif}
*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;background:var(--ivory);color:var(--espresso);font-family:var(--sans)}
button{font:inherit;color:inherit}
.screen{display:none;min-height:100svh;overflow:hidden}
.screen.active{display:block;animation:reveal .55s ease both}
@keyframes reveal{from{opacity:0;transform:translateY(8px)}
to{opacity:1;transform:none}
}
.welcome{position:relative;color:#fff}
.welcome-photo,.welcome-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.welcome-photo{animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.035)}
}
.welcome-shade{background:linear-gradient(90deg,rgba(31,19,13,.72) 0%,rgba(31,19,13,.3) 54%,rgba(31,19,13,.12)),linear-gradient(0deg,rgba(20,12,8,.45),transparent 48%)}
.welcome-top,.hydra-nav{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:34px 4.5vw}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:22px;line-height:.78}
.brand small{font:500 8px/1 var(--sans);letter-spacing:.34em}
.monogram{display:grid;place-items:center;width:46px;height:46px;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-size:18px}
.welcome-note,.step{font-size:10px;letter-spacing:.28em}
.welcome-copy{position:absolute;z-index:2;left:8vw;top:50%;transform:translateY(-44%);max-width:760px}
.eyebrow{margin:0 0 18px;font-size:10px;font-weight:600;letter-spacing:.28em}
.welcome h1{margin:0;font:400 clamp(52px,6.4vw,92px)/.93 var(--serif);letter-spacing:-.04em}
.intro{max-width:460px;margin:28px 0 32px;font-size:17px;line-height:1.65}
.primary{display:flex;align-items:center;justify-content:space-between;gap:42px;min-width:250px;padding:17px 20px;border:0;border-radius:999px;background:var(--espresso);color:#fff;font-size:12px;font-weight:600;letter-spacing:.08em;cursor:pointer}
.primary.light{background:rgba(255,255,255,.94);color:var(--espresso)}
.primary span{font-size:20px}
.sound-note{position:absolute;z-index:2;right:4.5vw;bottom:33px;margin:0;font:italic 16px var(--serif)}
.shell{padding:0 4.2vw 42px}
.topbar{height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}
.topbar .step{justify-self:end}
.icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:20px;cursor:pointer}
.page-head{display:flex;align-items:end;justify-content:space-between;padding:42px 0 30px}
.page-head h2,.facial-intro h2{margin:0;font:400 clamp(44px,4.2vw,67px)/.95 var(--serif);letter-spacing:-.035em}
.page-head>p{max-width:390px;margin:0;color:var(--taupe);font-size:14px;line-height:1.75}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(190px,25vh));gap:16px}
.category-card{position:relative;overflow:hidden;border:0;border-radius:var(--radius);padding:0;background:#cfc3b5;color:#fff;text-align:left;cursor:pointer}
.category-card.large{grid-row:span 2}
.category-card img,.hydra-banner img,.hydra-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.category-card:hover img,.hydra-banner:hover img{transform:scale(1.035)}
.card-grad,.banner-shade,.hydra-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,16,11,.74),transparent 68%)}
.card-index{position:absolute;top:21px;left:23px;font-size:10px;letter-spacing:.18em}
.card-badge{position:absolute;top:16px;right:16px;padding:7px 10px;border:1px solid rgba(255,255,255,.52);border-radius:999px;background:rgba(252,250,246,.82);backdrop-filter:blur(10px);color:var(--espresso);font-size:7px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.card-label{position:absolute;left:23px;right:62px;bottom:22px;font:400 clamp(22px,2vw,30px)/1 var(--serif)}
.card-label small{display:block;margin-bottom:8px;font:600 8px var(--sans);letter-spacing:.2em}
.round-arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--espresso);font-size:18px}
.more-note{text-align:center;margin:22px 0 0;color:var(--taupe);font-size:10px;letter-spacing:.12em}
.facial-layout{display:grid;grid-template-columns:.72fr 1.7fr;gap:5vw;padding:46px 0 30px}
.facial-intro>p:last-child{max-width:390px;color:var(--taupe);font-size:14px;line-height:1.75}
.facial-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{display:flex;flex-direction:column;min-height:390px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.service-card.warm{background:#e9dccb}
.service-card.dark{background:var(--espresso);color:#fff}
.service-top{display:flex;justify-content:space-between;gap:12px}
.service-top span,.service-top p{font-size:8px;letter-spacing:.17em}
.service-top p{text-align:right}
.service-card h3{margin:48px 0 4px;font:400 31px var(--serif)}
.price{margin:0 0 24px!important;color:var(--gold)!important;font-size:16px!important;font-weight:600}
.service-card>p{margin:0;color:var(--taupe);font-size:12px;line-height:1.65}
.dark>p{color:rgba(255,255,255,.68)}
.includes{margin-top:auto;padding-top:20px;border-top:1px solid currentColor}
.includes small{font-size:8px;letter-spacing:.15em}
.includes p{margin:9px 0 0;font-size:10px;line-height:1.6}
.facial-addons{margin:18px 0;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.5)}
.addon-heading{display:grid;grid-template-columns:1fr minmax(280px,.65fr);align-items:end;gap:32px;margin-bottom:17px}
.addon-heading h3{margin:5px 0 0;font:400 25px/1.1 var(--serif)}
.addon-heading>p{margin:0;color:var(--taupe);font-size:11px;line-height:1.6}
.addon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.addon-card{min-height:104px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.addon-card>div{display:flex;align-items:start;justify-content:space-between;gap:10px}
.addon-card strong{font:500 17px var(--serif)}
.addon-card span{color:var(--gold);font-size:12px;font-weight:600;white-space:nowrap}
.addon-card p{margin:15px 0 0;color:var(--taupe);font-size:10px;line-height:1.5}
.hydra-banner{position:relative;display:block;width:100%;height:235px;overflow:hidden;padding:0;border:0;border-radius:var(--radius);color:#fff;text-align:left;cursor:pointer}
.banner-copy,.banner-price{position:absolute;z-index:2;bottom:28px}
.banner-copy{left:30px;display:flex;flex-direction:column}
.banner-copy small,.banner-price small{font:600 8px var(--sans);letter-spacing:.2em}
.banner-copy strong{font:400 41px/.95 var(--serif)}
.banner-copy em{margin-top:7px;font:italic 14px var(--serif)}
.banner-price{right:28px;font:400 29px var(--serif)}
.banner-price small{display:block}
.banner-price b{display:inline-grid;place-items:center;margin-left:15px;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--espresso)}
.hydra{display:none;grid-template-columns:1.15fr .85fr;background:var(--paper)}
.hydra.active{display:grid}
.hydra-visual{position:relative;min-height:100svh;color:#fff}
.hydra-visual>img{position:absolute;inset:0}
#hydrafacial-tier-image{opacity:1;transition:opacity .22s ease,transform .65s ease}
#hydrafacial-tier-image.changing{opacity:.18}
.hydra-shade{background:linear-gradient(0deg,rgba(30,18,12,.76),rgba(30,18,12,.05) 65%)}
.hydra-nav{padding:28px 3.5vw}
.glass{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.1)}
.hydra-title{position:absolute;z-index:2;left:6vw;bottom:7vh}
.hydra-title h2{margin:0;font:400 clamp(62px,7vw,104px)/.76 var(--serif);letter-spacing:-.055em}
.hydra-title>p:last-child{margin-top:28px;font-size:13px;line-height:1.65}
.hydra-story{padding:7vh 5vw;overflow:auto;max-height:100svh}
.hydra-price{padding-bottom:28px;border-bottom:1px solid var(--line)}
.hydra-price p,.hydra-price span{font-size:8px;letter-spacing:.18em}
.hydra-price strong{display:block;margin:5px 0;font:400 46px var(--serif);color:var(--gold)}
.ritual{padding:31px 0 10px}
.ritual h3{margin:7px 0 8px;font:400 27px/1.1 var(--serif)}
.ritual-summary{margin:0 0 20px;color:var(--taupe);font-size:12px;line-height:1.6}
.ritual ol{list-style:none;margin:0;padding:0}
.ritual li{display:grid;grid-template-columns:36px 1fr;gap:17px;padding:18px 0;border-top:1px solid var(--line)}
.ritual li>span{font-size:9px;color:var(--gold)}
.ritual strong{font:500 21px var(--serif)}
.ritual li p{margin:6px 0 0;color:var(--taupe);font-size:11px;line-height:1.6}
.hydra-notes{font-size:10px;line-height:1.6;color:var(--taupe)}
.upgrade{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--espresso)}
.hydra-story .primary{margin-top:24px;width:100%}
@media(max-width:900px){.category-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 210px}
.category-card.large{grid-column:span 2;grid-row:auto}
.facial-layout{grid-template-columns:1fr}
.facial-cards{grid-template-columns:repeat(3,1fr)}
.hydra{grid-template-columns:1fr}
.hydra-visual{min-height:72svh}
.hydra-story{max-height:none}
.welcome-copy{left:7vw}
.welcome-note{display:none}
}
@media(max-width:650px){.shell{padding:0 18px 28px}
.topbar{height:82px}
.topbar .brand{font-size:17px}
.topbar .monogram{width:37px;height:37px}
.step{font-size:8px}
.page-head{align-items:start;gap:20px;flex-direction:column}
.category-grid{display:flex;flex-direction:column}
.category-card{height:230px}
.category-card.large{height:330px}
.facial-cards{grid-template-columns:1fr}
.service-card{min-height:330px}
.welcome-copy{right:7vw}
.welcome h1{font-size:49px}
.intro{font-size:14px}
.hydra-banner{height:280px}
.banner-price{left:30px;right:auto;bottom:24px}
.banner-copy{bottom:92px}
.hydra-title h2{font-size:65px}
.hydra-story{padding:45px 25px}
.welcome-top{padding:24px}
.sound-note{display:none}
}

/* Refined brand and menu hierarchy */
.welcome-video{background:#746355;animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.025)}}
.brand{gap:11px;font-size:23px;line-height:.9}
.brand>span{display:flex;flex-direction:column}
.brand small{margin-top:6px;font-size:10px;letter-spacing:.36em}
.brand-mark{width:56px;height:56px;object-fit:contain}
.brand-wordmark{display:block;width:148px;height:auto;object-fit:contain}
.brand-light .brand-mark{filter:none}
.welcome-copy{position:relative;top:auto;left:auto;right:auto;transform:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100svh;width:100%;max-width:none;padding:140px 8vw 100px}
.welcome h1{margin:0;width:100%;max-width:720px;font:400 clamp(44px,5vw,76px)/1.06 var(--serif);letter-spacing:-.025em}
.welcome-greeting{display:block;margin:0 0 24px;font:500 18px/1.5 var(--sans);letter-spacing:.03em}
.welcome .intro{max-width:530px;margin:24px 0 34px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.92)}
.quiet-enter{display:flex;align-items:center;gap:28px;min-height:48px;padding:10px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-size:14px;letter-spacing:.04em;cursor:pointer}
.quiet-enter:hover{border-bottom-color:#fff}
.quiet-enter:focus-visible{outline:2px solid #fff;outline-offset:8px;border-radius:2px}
.quiet-enter b{font-size:17px;font-weight:400}
.category-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(205px,26vh))}
.card-index{font-size:12px}
.card-label small{font-size:12px;letter-spacing:.16em}
@media(max-width:900px){.category-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,230px)}.topbar .brand-mark{width:42px;height:42px}.brand-wordmark{width:132px}}
@media(max-width:650px){.category-grid{display:flex}.brand-mark{width:46px;height:46px}.brand-wordmark{width:122px}.welcome-copy{top:auto;padding:130px 7vw 80px}.welcome h1{font-size:clamp(36px,7.8vw,48px)}.welcome .intro{font-size:17px;margin:24px 0 30px}.welcome-greeting{font-size:17px;margin-bottom:20px}}
@media(max-height:540px) and (min-width:651px){.welcome-copy{padding:110px 8vw 45px}.welcome h1{font-size:46px}.welcome-greeting{font-size:17px;margin-bottom:16px}.welcome .intro{margin:18px 0}}
@media(prefers-reduced-motion:reduce){.welcome-video{animation:none}}

/* HydraFacial collection */
.hydra-banner{height:250px}
.hydra-banner img{object-position:center 66%}
.banner-shade{background:linear-gradient(90deg,rgba(32,20,14,.82) 0%,rgba(32,20,14,.52) 48%,rgba(32,20,14,.14) 76%),linear-gradient(0deg,rgba(25,15,10,.42),transparent 64%)}
.banner-copy{left:38px;bottom:auto;top:50%;max-width:560px;transform:translateY(-50%)}
.banner-copy small,.banner-price small{font-size:12px;letter-spacing:.18em}
.banner-copy strong{margin-top:8px;font-size:44px;line-height:1}
.banner-desc{max-width:490px;margin-top:10px;font-size:15px;line-height:1.55}
.banner-price{right:34px;bottom:32px;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 16px;font-size:30px}
.banner-price small{grid-column:1/2}
.banner-price>span{grid-column:1/2}
.banner-price b{grid-column:2/3;grid-row:1/3;margin:0;width:48px;height:48px;font-size:19px}
.hydra-title{left:5vw;right:4vw;bottom:7vh}
.hydra-title h2{font-size:clamp(52px,5.4vw,82px);line-height:.92;letter-spacing:-.045em}
.hydra-title>p:last-child{font-size:15px;line-height:1.65}
.hydra-story{padding:5.5vh 4.2vw}
.collection-head h3{margin:0 0 26px;font:400 36px/1 var(--serif);letter-spacing:-.025em}
.tier-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.tier-tab{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:15px 13px;border:1px solid var(--line);border-radius:17px;background:transparent;text-align:left;cursor:pointer;transition:.25s ease}
.tier-tab span{font-size:12px;color:var(--taupe)}
.tier-tab strong{margin:15px 0 3px;font:500 18px var(--serif)}
.tier-tab small{font-size:12px;color:var(--taupe)}
.tier-tab.active{border-color:var(--espresso);background:var(--espresso);color:#fff}
.tier-tab.active span,.tier-tab.active small{color:rgba(255,255,255,.66)}
.tier-detail{padding:25px;border:1px solid var(--line);border-radius:22px;background:#f5eee4}
.tier-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.tier-heading p{margin:0 0 7px;font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--gold)}
.tier-heading h4{margin:0;font:500 27px/1 var(--serif)}
.tier-heading>strong{font:400 29px var(--serif);color:var(--gold);white-space:nowrap}
.tier-detail>p{margin:18px 0;color:var(--taupe);font-size:14px;line-height:1.65}
.tier-includes{padding-top:16px;border-top:1px solid var(--line)}
.tier-includes small{font-size:12px;font-weight:600;letter-spacing:.14em}
.tier-includes p{margin:8px 0 0;font-size:13px;line-height:1.55}
.tier-detail .upgrade{margin-bottom:0;color:var(--espresso)}
.ritual li p{font-size:13px}
.hydra-notes{font-size:13px}
@media(max-width:900px){.hydra-story{padding:42px 5vw}.hydra-title h2{font-size:66px}.banner-copy{max-width:60%}.addon-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.hydra-banner{height:360px}.banner-copy{left:24px;right:24px;top:39%;max-width:none}.banner-copy strong{font-size:35px}.banner-desc{max-width:84%;font-size:13px}.banner-price{left:24px;right:auto;bottom:22px}.tier-tabs{grid-template-columns:1fr}.tier-tab{display:grid;grid-template-columns:28px 1fr auto;align-items:center}.tier-tab strong{margin:0}.tier-heading{align-items:flex-start;flex-direction:column}.hydra-title h2{font-size:51px}.addon-heading{grid-template-columns:1fr}.addon-grid{grid-template-columns:1fr 1fr}.facial-addons{padding:18px}}

/* Complete menu collections */
.category-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(185px,24vh))}
.category-card:first-child{grid-column:span 1}
.category-card img{position:absolute;inset:0;display:block;object-position:center}
.category-card[data-category="advanced"] img{object-position:center 45%}
.category-card[data-category="laser"] img{object-position:center 42%}
.category-card[data-category="renewal"] img{object-position:center 62%}
.category-card[data-category="contour"] img{object-position:center 63%}
.category-grid{grid-template-rows:repeat(2,minmax(280px,auto));grid-auto-rows:minmax(280px,auto)}
.work-gallery{padding:28px 0;border-top:1px solid var(--line)}
.work-gallery h3{margin:0 0 20px;font:400 30px var(--serif)}
.work-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.work-gallery figure{margin:0;overflow:hidden;border-radius:20px;background:var(--paper)}
.work-gallery img{display:block;width:100%;height:300px;object-fit:cover;object-position:center}
.work-gallery figcaption{padding:16px;font-size:14px;color:var(--taupe)}
.catalog-card.has-photo{padding-top:0;overflow:hidden}
.service-photo{margin:0 -22px 22px;background:#e8ded1}
.service-photo img{display:block;width:100%;height:300px;object-fit:cover;object-position:var(--photo-position,center 58%)}
.service-photo figcaption{padding:10px 16px;color:var(--taupe);font-size:12px}
@media(max-width:750px){.work-gallery-grid{grid-template-columns:1fr}.work-gallery img{height:320px}.category-card[data-category="renewal"],.category-card[data-category="contour"]{height:340px}.service-photo img{height:300px}}
.card-label{right:68px;font-size:27px;line-height:1.03}
.more-link{display:flex;align-items:center;justify-content:space-between;width:100%;margin:18px 0 0;padding:15px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.42);color:var(--taupe);font-size:11px;cursor:pointer}
.more-link strong{color:var(--espresso);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.category-head{align-items:center;padding:25px 0 22px}
.category-head h2{font-size:clamp(38px,3.4vw,54px);line-height:1}
.category-head>p{max-width:330px}
.secondary-strip{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.48)}
.secondary-strip>span{padding:0 14px 0 5px;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.17em;white-space:nowrap}
.secondary-strip button{position:relative;display:flex;min-height:58px;flex-direction:column;align-items:flex-start;justify-content:center;padding:9px 48px 9px 16px;border:0;border-left:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}
.secondary-strip strong{font:500 18px var(--serif)}
.secondary-strip small{margin-top:3px;color:var(--taupe);font-size:10px;letter-spacing:.03em}
.secondary-strip b{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:17px;font-weight:400}
.catalog{overflow:visible}
.catalog-head{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:8vw;padding:44px 0 34px}
.catalog-head h2{max-width:720px;margin:0;font:400 clamp(45px,4.7vw,72px)/.94 var(--serif);letter-spacing:-.04em}
.catalog-head>p{max-width:470px;margin:0;color:var(--taupe);font-size:15px;line-height:1.75}
.catalog-groups{display:grid;gap:36px;padding-bottom:55px}
.catalog-guide{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;width:100%;padding:20px 24px;border:1px solid rgba(182,139,70,.42);border-radius:22px;background:linear-gradient(110deg,#f1e5d6,#faf6ef);color:var(--espresso);text-align:left;cursor:pointer}
.catalog-guide span{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:5px 22px}
.catalog-guide small{grid-column:1/2;color:var(--gold);font-size:9px;font-weight:600;letter-spacing:.16em}
.catalog-guide strong{grid-column:2/3;font:500 22px var(--serif)}
.catalog-guide p{grid-column:2/3;margin:0;color:var(--taupe);font-size:12px;line-height:1.55}
.catalog-guide>b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--espresso);color:#fff;font-size:18px;font-weight:400}
.catalog-group{padding-top:22px;border-top:1px solid var(--line)}
.catalog-group>h3{margin:0 0 18px;font:500 21px var(--serif)}
.catalog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.catalog-card{display:flex;min-height:210px;width:100%;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:inherit;text-align:left}
.catalog-card[data-service]{cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.catalog-card[data-service]:hover{transform:translateY(-2px);border-color:rgba(182,139,70,.5);box-shadow:0 14px 34px rgba(51,36,29,.08)}
.catalog-card:nth-child(3n+2){background:#eee3d5}
.catalog-card>div{display:flex;align-items:start;justify-content:space-between;gap:18px}
.catalog-card h4{max-width:70%;margin:0;font:500 24px/1.04 var(--serif)}
.catalog-card strong{color:var(--gold);font-size:14px;line-height:1.35;text-align:right;white-space:normal}
.catalog-card p{margin:24px 0;color:var(--taupe);font-size:13px;line-height:1.65}
.catalog-card small{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);font-size:11px;line-height:1.55;letter-spacing:.02em}
.learn-more{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.treatment-detail{grid-template-columns:1.04fr .96fr;background:var(--paper)}
.treatment-detail.active{display:grid}
.detail-visual{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100svh;min-height:0;overflow:hidden;color:#fff;background:var(--espresso)}
.detail-photo-frame{position:relative;min-height:0;overflow:hidden}
.detail-photo-frame>img,.detail-shade{position:absolute;inset:0;width:100%;height:100%}
.detail-photo-frame>img{display:block;object-fit:cover}
.detail-shade{background:linear-gradient(180deg,rgba(34,22,16,.3),transparent 28%)}
.detail-nav{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 3.5vw}
.detail-hero-copy{position:relative;padding:28px 4vw 32px}
.detail-hero-copy h2{max-width:680px;margin:0;font:400 clamp(38px,4vw,60px)/1.05 var(--serif);letter-spacing:-.02em}
.detail-content{max-height:100svh;overflow:auto;padding:6vh 4.2vw}
.detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.detail-heading h3{margin:0;font:500 38px/1 var(--serif);letter-spacing:-.025em}
.detail-heading>strong{color:var(--gold);font:400 30px var(--serif);text-align:right}
.detail-intro{margin:25px 0;color:var(--taupe);font-size:15px;line-height:1.75}
.detail-block{padding:22px 0;border-top:1px solid var(--line)}
.detail-block h4{margin:0 0 14px;font:500 21px var(--serif)}
.detail-block ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding:0;list-style:none}
.detail-block li{position:relative;padding-left:16px;color:var(--taupe);font-size:12px;line-height:1.55}
.detail-block li:before{content:'·';position:absolute;left:0;color:var(--gold);font-size:20px;line-height:.8}
.detail-options{padding:18px;border-radius:18px;background:#eee3d5}
.detail-options small{font-size:9px;font-weight:600;letter-spacing:.16em;color:var(--gold)}
.detail-options p{margin:8px 0 0;font-size:12px;line-height:1.65}
.detail-note{margin:18px 0 0;color:var(--taupe);font-size:11px;line-height:1.65}
.detail-content .primary{width:100%;margin-top:24px}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.more-grid button{display:flex;min-height:360px;flex-direction:column;align-items:flex-start;padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);text-align:left;cursor:pointer}
.more-grid button:nth-child(2){background:#eadcca}
.more-grid button:nth-child(3){background:var(--espresso);color:#fff}
.more-grid span,.more-grid small{font-size:11px;letter-spacing:.17em}
.more-grid small{margin-top:55px;color:var(--gold)}
.more-grid strong{margin:16px 0;font:500 34px/1 var(--serif)}
.more-grid p{max-width:320px;color:var(--taupe);font-size:13px;line-height:1.65}
.more-grid button:nth-child(3) p{color:rgba(255,255,255,.65)}
.more-grid b{margin-top:auto;font-size:12px;letter-spacing:.08em}
.secondary{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:21px;padding:15px 17px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:12px;font-weight:600;cursor:pointer}
.hydra-story .secondary+.primary{margin-top:10px}
@media(max-width:1100px){.catalog-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,220px)}.secondary-strip{grid-template-columns:1fr 1fr}.secondary-strip>span{grid-column:1/-1;padding:5px 8px}.catalog-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.treatment-detail{grid-template-columns:1fr}.detail-visual{height:auto;min-height:0;grid-template-rows:clamp(340px,64svh,720px) auto}.detail-content{max-height:none}}
@media(max-width:750px){.category-grid{display:flex}.more-link span{display:none}.more-link{justify-content:center}.secondary-strip{grid-template-columns:1fr}.secondary-strip>span{grid-column:auto}.secondary-strip button{border-left:0;border-top:1px solid var(--line)}.catalog-head{grid-template-columns:1fr;gap:20px}.catalog-list,.more-grid{grid-template-columns:1fr}.catalog-card{min-height:190px}.catalog-guide span{display:block}.catalog-guide strong{display:block;margin:8px 0 5px}.more-grid button{min-height:270px}.more-grid small{margin-top:35px}.detail-content{padding:40px 24px}.detail-heading{align-items:flex-start;flex-direction:column}.detail-block ul{grid-template-columns:1fr}.detail-hero-copy h2{font-size:48px}}

/* Consistent display typography and full-frame photography. */
.quiet-enter{font:500 clamp(25px,2.4vw,32px)/1.25 var(--serif);letter-spacing:.015em;gap:36px;padding:12px 0 14px}
.quiet-enter b{font:400 22px/1 var(--sans)}
.page-head h2,.catalog-head h2,.facial-intro h2{line-height:1.08;letter-spacing:-.025em}
.card-label{font-weight:500;font-size:30px;line-height:1.06}
.card-label small{line-height:1.4;letter-spacing:.12em}
.category-card .card-grad{background:linear-gradient(0deg,rgba(26,16,11,.86),rgba(26,16,11,.08) 58%,rgba(26,16,11,.12))}
.category-card:focus-visible,.catalog-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.catalog-card h4{font-size:28px;line-height:1.1}
.catalog-card.has-photo .service-photo{flex:none}
.service-photo{overflow:hidden}
.catalog-card.has-photo>div{align-items:flex-start}
.catalog-card.has-photo p{font-size:16px}
.catalog-card.has-photo small{font-size:14px}
.detail-heading h3{line-height:1.1}
.detail-intro{font-size:16px}
.detail-block li,.detail-options p{font-size:14px;line-height:1.65}
.detail-note{font-size:13px}
.detail-hero-copy .eyebrow{margin-bottom:12px}
.detail-nav{padding:22px 3vw}
@media(max-width:900px){.detail-hero-copy{padding:25px 5vw 30px}.detail-hero-copy h2{font-size:44px}.category-card .card-label{font-size:30px}}
@media(max-width:750px){.category-card[data-category="renewal"],.category-card[data-category="contour"]{height:280px}.detail-hero-copy h2{font-size:40px}.detail-nav .brand-mark{width:40px;height:40px}.detail-nav .brand-wordmark{width:118px}}

/* A more spacious iPad catalogue, with a consistent photographic rhythm. */
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:24px}
.category-card,.category-card[data-category="renewal"],.category-card[data-category="contour"]{height:auto;min-height:300px;aspect-ratio:1.48;border-radius:24px}
.card-label{left:30px;right:85px;bottom:30px;font-size:clamp(32px,3.3vw,46px);line-height:1.02}
.card-label small{font-size:12px;letter-spacing:.15em;margin-bottom:12px}
.round-arrow{right:28px;bottom:28px;width:48px;height:48px}
.card-index{top:26px;left:30px;font-size:14px}
.card-badge{top:23px;right:25px;font-size:10px}
.category-head{padding:38px 0 32px;gap:32px}
.category-head h2{font-size:clamp(42px,4.7vw,68px)}
.category-head>p{font-size:16px;max-width:300px}
.catalog[data-catalog="drips"] .catalog-list,.catalog[data-catalog="advanced"] .catalog-list,.catalog[data-catalog="contour"] .catalog-list,.catalog[data-catalog="renewal"] .catalog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.catalog[data-catalog="drips"] .catalog-group>h3,.catalog[data-catalog="advanced"] .catalog-group>h3,.catalog[data-catalog="contour"] .catalog-group>h3{font-size:32px;margin-bottom:24px}
.catalog-card.has-photo{padding:0;border-radius:24px;display:flex;overflow:hidden;background:var(--paper)}
.catalog-card.has-photo .service-photo{position:relative;margin:0;width:100%;aspect-ratio:1.5;background:#ded4c8}
.catalog-card.has-photo .service-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,center)}
.catalog-card.has-photo .service-photo figcaption{position:absolute;left:16px;bottom:14px;padding:5px 8px;border-radius:4px;background:rgba(252,250,246,.87);font-size:12px;color:var(--espresso)}
.catalog-card>.catalog-card-copy{display:flex;flex:1;flex-direction:column;align-items:stretch;gap:0;padding:28px}
.catalog-card-copy .catalog-card-title{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.catalog-card-copy h4{max-width:100%;font-size:36px;font-weight:500;line-height:1.08;overflow-wrap:anywhere}
.catalog-card-copy strong{text-align:left;font-size:17px;font-weight:500}
.catalog-card-copy p{margin:20px 0 24px;line-height:1.7}
.catalog-card-copy small{padding-top:18px;line-height:1.6}
.catalog-card-copy .learn-more{font-size:12px;padding-top:18px}
.catalog[data-catalog="drips"] .catalog-list>.has-photo:last-child:nth-child(odd),.catalog[data-catalog="advanced"] .catalog-list>.has-photo:last-child:nth-child(odd),.catalog[data-catalog="contour"] .catalog-list>.has-photo:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1.08fr 1fr}

.catalog[data-catalog="nails"] .catalog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.catalog[data-catalog="nails"] .catalog-card{padding:28px}
.catalog[data-catalog="nails"] .catalog-card h4{font-size:32px;max-width:100%}
.catalog[data-catalog="nails"] .catalog-card>.catalog-card-title{display:flex;flex-direction:column;gap:12px}
.catalog[data-catalog="nails"] .catalog-card strong{text-align:left;font-size:16px}
.catalog[data-catalog="nails"] .catalog-card p{font-size:16px}
.catalog[data-catalog="nails"] .catalog-card small{font-size:14px}
.catalog[data-catalog="nails"] .catalog-group>h3{font-size:30px}
.treatment-detail[data-visual="landscape"].active{display:block}
.treatment-detail[data-visual="landscape"] .detail-visual{height:auto;grid-template-rows:clamp(360px,55vw,740px) auto}
.treatment-detail[data-visual="landscape"] .detail-photo-frame>img{object-fit:cover}
.treatment-detail[data-visual="landscape"] .detail-hero-copy{padding:30px max(5vw,calc((100vw - 1200px)/2)) 36px}
.treatment-detail[data-visual="landscape"] .detail-hero-copy h2{max-width:1100px;font-size:clamp(42px,5vw,70px)}
.treatment-detail[data-visual="landscape"] .detail-content{max-height:none;overflow:visible;max-width:1200px;margin:0 auto;padding:48px 5vw 64px}
.treatment-detail[data-visual="landscape"] .detail-heading h3{font-size:clamp(36px,4vw,52px)}
.treatment-detail[data-visual="landscape"] .detail-intro{font-size:18px;line-height:1.8}
.treatment-detail[data-visual="landscape"] .detail-block h4{font-size:28px}
.treatment-detail[data-visual="landscape"] .detail-block li{font-size:16px;line-height:1.75}
.treatment-detail[data-visual="landscape"] .detail-options p{font-size:16px}
.photo-expand{position:absolute;right:20px;bottom:18px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(35,25,19,.58);color:#fff;padding:11px 16px;font-size:14px;cursor:pointer;backdrop-filter:blur(10px)}
.photo-expand span{margin-left:14px}
.photo-credit{position:absolute;left:20px;bottom:20px;padding:6px 9px;border-radius:4px;background:rgba(252,250,246,.9);font-size:12px;color:var(--espresso)}
.work-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.work-gallery h3{font-size:42px;margin-bottom:28px}
.gallery-tile{display:block;padding:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--paper);text-align:left;cursor:pointer}
.work-gallery .gallery-tile img{height:360px;width:100%;object-fit:cover}
.gallery-tile>span{display:flex;justify-content:space-between;gap:18px;padding:20px;font-size:15px;line-height:1.5}
.gallery-tile b{font-size:20px;font-weight:400}
.gallery-tile:focus-visible,.photo-expand:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
#photo-viewer{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:60px 5vw 24px;border:0;background:#211a16;color:#fff;overflow:auto}
#photo-viewer::backdrop{background:rgba(15,11,8,.92)}
#photo-viewer[open]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px}
#photo-viewer figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-height:calc(100svh - 150px);max-width:100%}
#viewer-image{display:block;max-width:100%;max-height:calc(100svh - 210px);width:auto;height:auto;object-fit:contain}
#viewer-caption{font-size:16px;line-height:1.5;text-align:center;max-width:700px}
.viewer-close{position:absolute;top:15px;right:20px;width:48px;height:48px;border:1px solid #ffffff70;border-radius:50%;background:transparent;color:#fff;font-size:32px;cursor:pointer}
.viewer-controls{display:flex;align-items:center;justify-content:center;gap:28px}
.viewer-controls button{width:48px;height:48px;border-radius:50%;border:1px solid #ffffff70;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.viewer-controls span{min-width:60px;text-align:center;font-size:14px;letter-spacing:.1em}
.viewer-open{overflow:hidden}
@media(min-width:1600px){.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card-label{font-size:36px}.category-card{min-height:360px;aspect-ratio:1}}
@media(max-width:750px){
 .category-grid{display:grid;grid-template-columns:1fr;gap:20px}
 .category-card,.category-card[data-category="renewal"],.category-card[data-category="contour"]{height:auto;min-height:290px;aspect-ratio:1.3}
 .category-card .card-label{font-size:36px}
 .category-head{padding:30px 0;align-items:flex-start}
 .catalog[data-catalog] .catalog-list{grid-template-columns:1fr}
 .catalog[data-catalog] .catalog-list>.has-photo:last-child:nth-child(odd){grid-column:auto;display:flex}
 .catalog-card-copy h4{font-size:32px}.catalog-card>.catalog-card-copy{padding:25px}
 .treatment-detail[data-visual="landscape"] .detail-visual{grid-template-rows:clamp(300px,72vw,480px) auto}
 .treatment-detail[data-visual="landscape"] .detail-content{padding:32px 24px 48px}
 .work-gallery-grid{grid-template-columns:1fr}.work-gallery .gallery-tile img{height:360px}
 .photo-expand{font-size:13px;right:14px;padding:10px 13px}.photo-credit{left:14px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.screen.active{animation:none}.category-card img,.catalog-card{transition:none}}

.collection-photo{position:relative;width:100%;height:clamp(300px,42vw,560px);border:0;border-radius:24px;padding:0;overflow:hidden;cursor:zoom-in;background:var(--paper)}
.collection-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.collection-photo>span{position:absolute;bottom:20px;right:20px;padding:10px 14px;border-radius:6px;background:rgba(252,250,246,.88);font-size:13px;color:var(--espresso)}
.collection-photo b{margin-left:16px;font-size:20px;font-weight:400}
.collection-photo:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
@media(max-width:750px){.catalog[data-catalog="laser"] .catalog-list{grid-template-columns:1fr}}

.catalog[data-catalog="drips"] .catalog-list>.has-photo:last-child:nth-child(odd) .service-photo,.catalog[data-catalog="advanced"] .catalog-list>.has-photo:last-child:nth-child(odd) .service-photo,.catalog[data-catalog="contour"] .catalog-list>.has-photo:last-child:nth-child(odd) .service-photo{height:100%;aspect-ratio:auto;min-height:340px}
@media(max-width:750px){.catalog[data-catalog] .catalog-list>.has-photo:last-child:nth-child(odd) .service-photo{height:auto;aspect-ratio:1.5;min-height:0}}

/* Appointment actions share the menu's existing typography and palette. */
.welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px 36px;width:100%}
.appointment-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;max-width:100%;padding:15px 25px;border:1px solid var(--espresso);border-radius:999px;background:var(--espresso);color:var(--paper);font:600 15px/1.5 var(--sans);letter-spacing:.015em;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}
.appointment-button:hover{background:#4c372b;border-color:#4c372b}
.appointment-button-light{background:var(--paper);border-color:var(--paper);color:var(--espresso)}
.appointment-button-light:hover{background:#eee3d5;border-color:#eee3d5}
.appointment-button:focus-visible,.appointment-call:focus-visible,.appointment-close:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.appointment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin:26px 0}
.appointment-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--espresso);font:500 15px/1.5 var(--sans);text-underline-offset:5px;text-decoration-thickness:1px}
.appointment-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px 48px;margin:52px 0 24px;padding:36px 0 12px;border-top:1px solid var(--line)}
.appointment-eyebrow{margin:0 0 12px;font:600 12px/1.5 var(--sans);letter-spacing:.16em;color:#87642e}
.appointment-footer h3{margin:0 0 12px;font:500 clamp(32px,3.5vw,44px)/1.1 var(--serif);letter-spacing:-.02em}
.appointment-footer>div>p:not(.appointment-eyebrow){max-width:510px;margin:0;font:400 16px/1.65 var(--sans);color:#645347}
.appointment-footer-actions{display:flex;flex-direction:column;align-items:center;gap:8px}
.appointment-hours{margin:0;font:400 14px/1.6 var(--sans);color:#645347}
.appointment-open{overflow:hidden}
.appointment-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100svh - 32px);box-sizing:border-box;padding:42px 36px 30px;border:1px solid var(--line);border-radius:28px;background:var(--paper);color:var(--espresso);overflow:auto;text-align:center;box-shadow:0 24px 90px #211a1640}
.appointment-dialog::backdrop{background:rgba(26,19,14,.65);backdrop-filter:blur(4px)}
.appointment-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--espresso);font:400 28px/1 var(--sans);cursor:pointer}
.appointment-mark{display:block;width:58px;height:58px;object-fit:contain;margin:0 auto 22px}
.appointment-dialog h2{margin:0 0 18px;font:500 clamp(34px,6vw,48px)/1.08 var(--serif);letter-spacing:-.025em}
.appointment-dialog #appointment-description{margin:0 0 24px;font:400 16px/1.7 var(--sans);color:#645347}
.appointment-selection{margin:0 0 18px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;font:500 16px/1.5 var(--sans);overflow-wrap:anywhere}
.appointment-contact-options{display:flex;flex-direction:column;gap:12px}
.appointment-contact-options .appointment-button{width:100%}
.appointment-phone{margin:18px 0 3px;font:600 18px/1.5 var(--sans);letter-spacing:.03em}
.appointment-walkins{margin:20px 0 8px;font:500 15px/1.6 var(--sans);color:var(--espresso)}
.appointment-confirmation{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line);font:400 14px/1.6 var(--sans);color:#645347}
@media(max-width:750px){.appointment-footer{grid-template-columns:1fr;gap:24px;margin-top:36px}.appointment-footer-actions{align-items:flex-start}.appointment-footer-actions .appointment-button{width:100%}.appointment-actions{gap:10px 20px}.appointment-actions .appointment-button{flex:1 1 230px}.welcome-actions{gap:24px}.appointment-dialog{padding:42px 24px 26px}}
@media(prefers-reduced-motion:reduce){.appointment-button{transition:none}}
