/* Mayfair-aligned photographic composition. Page copy, routes and booking are unchanged. */
@font-face{font-family:'Gowun Dodum';src:url('/assets/gowun-dodum.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cabin;src:url('/assets/cabin-400.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Cabin;src:url('/assets/cabin-500.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:Cabin;src:url('/assets/cabin-600.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Cabin;src:url('/assets/cabin-700.woff') format('woff');font-weight:700;font-display:swap}
:root{--ink:#1f3a3b;--muted:#435b5c;--teal:#3f7d7a;--mint:#e8f1f0;--line:#cfe0de;--serif:'Gowun Dodum',sans-serif}
body{font-family:Cabin,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Gowun Dodum',sans-serif;font-weight:700;letter-spacing:-.02em}
h1,.hero h1{font-size:clamp(34px,5.2vw,58px);line-height:1.07}
h2{font-size:clamp(28px,3.6vw,42px);line-height:1.12;letter-spacing:-.015em}
h3,.card h3{font-size:22px;line-height:1.3;letter-spacing:0}
h1 em{font-style:normal;color:var(--ink);font-weight:700}
.hero{background:white;padding:64px 0 32px}.hero-grid{grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hero-copy>p:not(.eyebrow){max-width:610px}.hero h1 br{display:none}.hero h1 br::after{content:' '}
.hero h1 em{display:inline}.hero-copy h1{max-width:620px}
.lead{font-size:19px}.eyebrow{font-size:13px;letter-spacing:.14em;font-weight:600;color:var(--teal)}
.container{width:min(1160px,calc(100% - 48px))}.section{padding:72px 0}.section.soft,.page-hero{background:var(--mint)}
.section.strip{padding:0 0 36px;background:white;border-bottom:1px solid var(--line)}
.trust-strip{gap:16px}.trust-strip p{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;margin:0;padding:22px 24px;background:var(--mint);border:1px solid var(--line);border-radius:8px}
.trust-strip strong{font-size:17px;font-weight:600;line-height:1.4}.trust-strip span{font-size:15px;line-height:1.5}
.section-heading{margin-bottom:32px}.section-heading h2{margin-bottom:18px}
.section .cards{gap:20px}.section .cards>.card{padding:24px;border:1px solid var(--line);border-radius:8px;background:white}
.card-number{margin-bottom:14px}.inline-links{gap:20px;margin-top:24px}.inline-links .textlink{margin-top:0}
.button{background:var(--teal);border:2px solid var(--teal);border-radius:6px;font-size:16px;font-weight:600;padding:15px 22px}
.button:hover{background:var(--ink);border-color:var(--ink)}.button.secondary{color:var(--teal);border-color:var(--teal)}
.brand span{font-family:'Gowun Dodum',sans-serif}.brand strong{font-family:'Gowun Dodum',sans-serif;font-weight:700}
.topbar{background:var(--ink)}.hero-note strong{font-family:Cabin,sans-serif;font-weight:700;color:var(--teal)}
.photo img,.hero .photo img,.split .photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:50% 50%;border-radius:6px;background:var(--mint)}
.photo figcaption{font-size:12px;color:var(--muted);line-height:1.45;margin-top:10px}
.photo--treatment-wide img{object-position:50% 52%}.photo--follicle-macro img{object-position:50% 56%}
.photo--workstation img{object-position:50% 50%}.photo--upperlip-treatment img{object-position:52% 51%}
.photo--step-probe img{object-position:49% 55%}.photo--step-pulse img{object-position:50% 55%}
.photo--step-remove img{object-position:47% 57%}.photo--removed-hair img{object-position:51% 58%}
.photo--forearm-treatment img{object-position:50% 55%}
.visual-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;align-items:start}
.visual-split>div,.visual-split>figure{min-width:0}.visual-split .section-heading{margin-bottom:32px}
.visual-split .comparison{gap:18px}.comparison article{border-radius:6px;padding:30px}.comparison h3{font-size:24px}
.comparison .highlight{background:white;border:2px solid #69a4a2}.visual-split .cards{grid-template-columns:1fr;gap:18px}
.expectation-visual .card{border:1px solid #516b6d;border-radius:6px;padding:24px}.expectation-visual .card-number{margin-bottom:10px}
.split:has(.area-photo){grid-template-columns:2fr 1fr;gap:48px;align-items:start}
.split:has(.area-photo)>div:first-child{order:2}.split:has(.area-photo)>div:last-child{order:1}
.treatment-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.treatment-step{min-width:0;padding:18px;background:white;border:1px solid var(--line);border-radius:8px}.treatment-step .card-number{margin:20px 0 8px;color:var(--teal);font-size:15px;font-weight:700}
.treatment-step h3{font-size:20px;margin-bottom:12px}.treatment-step p{font-size:16px;color:var(--muted)}
.treatment-step .photo figcaption{font-size:12px}.treatment-step .photo img{aspect-ratio:9/16;object-fit:contain}
.pricing-composition{display:flex;flex-direction:column}.pricing-composition>.package-heading{order:1;margin-top:0}
.pricing-composition>.package-layout{order:2}.pricing-composition>.pricing-single{order:3;margin-top:48px}
.pricing-composition>.textlink{order:4;align-self:flex-start}
.package-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.package-layout>div{min-width:0}.packages{gap:16px}.package{border-radius:6px;border:1px solid #69a4a2;background:white;padding:24px;box-shadow:0 8px 24px rgba(31,58,59,.035)}
.package h3{font-family:Cabin,sans-serif;font-weight:700;font-size:24px}.package .amount{font-family:Cabin,sans-serif;color:var(--teal);font-weight:700;font-size:42px;letter-spacing:-.03em;margin:22px 0 18px}
.package .amount span{font-size:24px}.package .bonus{background:var(--mint);color:var(--ink);border-radius:4px;padding:10px 12px;font-size:18px;line-height:1.4;align-self:stretch;font-weight:700;margin-bottom:14px!important}
.package p:not(.bonus):not(.amount):not(.eyebrow){font-size:15px}.package .button{font-size:15px;padding:13px 12px;margin-top:12px}
.package--10{background:var(--ink);color:white;border:2px solid var(--ink);box-shadow:0 12px 30px rgba(31,58,59,.12)}
.package--10 .eyebrow,.package--10 .amount{color:#d4eeea}.package--10 .bonus{background:#d7eeea}.package--10 .button{background:white;border-color:white;color:var(--ink)}
.time-meter{display:flex;width:100%;height:7px;border-radius:4px;background:#91bfbb;margin:0 0 16px;overflow:hidden}
.time-meter span{background:var(--teal);height:100%}.package--10 .time-meter{background:#bae0da}.package--10 .time-meter span{background:#6ca8a4}
.prices{gap:16px}.price{padding:22px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:none}
.price:first-child{background:white;border-color:var(--line)}.price h3{font-family:Cabin,sans-serif;font-size:20px;font-weight:600}
.price .amount{font-family:Cabin,sans-serif;font-weight:700;font-size:32px;color:var(--teal);margin:15px 0}.price .amount span{font-size:20px}
.price .eyebrow{font-size:12px;margin-bottom:12px}.price p:not(.amount):not(.eyebrow){font-size:15px}.price .button{background:white;color:var(--teal);font-size:14px;min-height:46px;padding:11px}
.price .button:hover{background:var(--mint)}.package-heading h3{font-size:28px}.equipment-photo figcaption{font-size:12px}
.studio-panel{background:var(--mint);padding:28px;border:1px solid var(--line);border-radius:8px;justify-content:flex-start}.studio-panel .monogram{display:none}
.studio-panel>.eyebrow{margin-top:25px}.studio-panel h3{font-size:25px;margin-bottom:15px}.studio-treatment{width:100%}
.closing h2{font-size:clamp(30px,3.6vw,44px)}.page-hero h1{font-size:clamp(34px,5.2vw,58px)}
@media(max-width:1050px){.hero-grid{gap:40px}.package-layout{grid-template-columns:1fr}.equipment-photo{max-width:280px}.package .amount{font-size:40px}}
@media(max-width:820px){body{font-size:16px}.container{width:calc(100% - 40px)}.hero{padding:40px 0 24px}.hero-grid{grid-template-columns:1fr;gap:32px}
.hero .photo{width:min(100%,390px);margin:auto}.hero-copy h1{max-width:none}.hero .photo img{aspect-ratio:auto;max-height:none;object-fit:contain;object-position:50% 52%}
.section{padding:52px 0}.section.strip{padding:0 0 28px}.trust-strip{gap:12px}.trust-strip p{padding:18px 20px}.section .cards>.card{padding:22px}.studio-panel{padding:22px}.visual-split,.split:has(.area-photo){grid-template-columns:1fr;gap:32px}.visual-split>.photo,.area-photo{width:min(100%,280px);margin:0}
.visual-split .comparison{grid-template-columns:1fr 1fr}.split:has(.area-photo)>div:first-child{order:2}.split:has(.area-photo)>div:last-child{order:1}
.visual-split .photo img,.split .photo img{aspect-ratio:auto;object-fit:contain}.visual-split>.photo--upperlip-treatment img{object-position:52% 51%}
.treatment-steps{grid-template-columns:1fr;gap:16px}.treatment-step{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:18px;align-items:start;padding:16px}
.treatment-step .photo{grid-column:1;grid-row:1/4}.treatment-step .card-number,.treatment-step h3,.treatment-step>p{grid-column:2}
.treatment-step .card-number{margin:0 0 6px}.treatment-step h3{font-size:20px}.treatment-step .photo figcaption{font-size:12px;line-height:1.35;margin-top:8px}
.treatment-step .photo img{aspect-ratio:9/16;object-fit:contain}.studio-treatment{width:min(100%,280px)}
.package-layout{gap:30px}.packages{grid-template-columns:repeat(3,minmax(0,1fr))}.package{display:flex;padding:24px;align-items:stretch}
.package .amount{font-size:38px}.package .bonus{font-size:17px;padding:10px}.package .button{width:100%}.price{display:flex;flex-direction:column;padding:20px}
.price .amount{margin:15px 0}.price .button{width:100%}.prices{grid-template-columns:repeat(3,minmax(0,1fr))}
.comparison article{padding:24px}.mobile-cta .button{font-size:15px;background:var(--teal);border-color:var(--teal)}.footer-grid h2{font-family:Cabin,sans-serif}
}
@media(max-width:640px){.packages{grid-template-columns:1fr;gap:18px}.package{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:26px;column-gap:20px}
.package .eyebrow{grid-column:1/-1;margin-bottom:12px}.package h3{grid-column:1;grid-row:2;font-size:25px;align-self:center}
.package .amount{grid-column:2;grid-row:2;font-size:40px;margin:0;white-space:nowrap;line-height:1.1}
.package .bonus{grid-column:1/-1;grid-row:3;margin-top:22px;font-size:21px;text-align:center;padding:14px}
.package .time-meter{grid-column:1/-1;grid-row:4;margin-bottom:14px}.package>p:not(.amount):not(.eyebrow):not(.bonus){grid-column:1/-1;margin-top:0;margin-bottom:14px}
.package .button{grid-column:1/-1;font-size:16px;min-height:50px;margin-top:10px}.prices{grid-template-columns:1fr;gap:10px}
.price{display:grid;grid-template-columns:1fr auto;column-gap:20px;padding:20px}.price .eyebrow{grid-column:1/-1}.price h3{grid-column:1;grid-row:2}
.price .amount{grid-column:2;grid-row:2;font-size:28px;margin:0;line-height:1.2}.price>p:not(.amount):not(.eyebrow){grid-column:1/-1;margin:14px 0}
.price .button{grid-column:1/-1}.package-heading h3{font-size:26px}.pricing-composition>.pricing-single{margin-top:35px}
.treatment-step{grid-template-columns:96px minmax(0,1fr);column-gap:14px}.treatment-step h3{font-size:19px}.treatment-step>p{font-size:16px}
.visual-split .comparison{grid-template-columns:1fr}.section-heading h2 br{display:none}.hero h1{font-size:clamp(34px,8.8vw,48px)}
.hero .photo{width:min(100%,350px)}.brand strong{font-size:15px}.hero .actions .button{flex:1 1 100%}
.equipment-photo{width:min(100%,260px)}.equipment-photo img{object-position:50% 50%}
}
@media(max-width:359px){.container{width:calc(100% - 32px)}.package{padding:21px;column-gap:12px}.package .amount{font-size:34px}.package h3{font-size:22px}.package .bonus{font-size:19px}}

.section.dark:has(.expectation-visual){background:var(--ink);color:white}
.section.dark:has(.expectation-visual) h2,.section.dark:has(.expectation-visual) h3{color:white}
.section.dark:has(.expectation-visual) p{color:#d6e6e3}
.section.dark:has(.expectation-visual) .eyebrow,.section.dark:has(.expectation-visual) .card-number{color:#b5d9d4}
.section.dark .expectation-visual .card{background:#294849;border-color:#557474}

.faq{border:0;display:grid;gap:12px}.faq details{border:1px solid var(--line);border-radius:8px;background:white;padding:0 24px}.faq summary{padding:20px 0}.faq details p{padding-bottom:20px}
@media(max-width:640px){.trust-strip{grid-template-columns:1fr}.trust-strip strong{font-size:16px}.trust-strip span{font-size:14px}.faq details{padding:0 20px}}

/* Official Luxo Beauty logo stands alone. Service names belong to page content. */
.brand{flex-shrink:0}
.brand .brand-logo{position:relative;display:block;flex:none;width:144px;aspect-ratio:1769/528;margin:0;overflow:hidden}
.brand .brand-logo img{position:absolute;left:0;top:0;width:113.058225%;height:auto;max-width:none;object-fit:contain;transform:translate(-5.55%,-36.45%)}
footer .brand .brand-logo{width:160px}
@media(max-width:800px){.brand .brand-logo{width:128px}.nav-shell{padding:14px 0}}
@media(max-width:359px){.brand .brand-logo{width:118px}}

.package-followups{margin-top:30px;padding:26px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:6px;background:#f5f8f7;color:var(--ink)}
.package-followups h3{margin-bottom:14px}.package-followups .actions{margin-top:20px}.package-followups .button{font-size:15px;min-height:46px}
@media(max-width:640px){.package-followups{padding:22px}.package-followups .actions .button{flex:1 1 100%}.package .eyebrow{font-size:13px;letter-spacing:.06em}}

.phone-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:center;background:var(--mint);border:1px solid var(--line);border-radius:8px;padding:36px;margin-bottom:52px}
.phone-card .eyebrow{margin-bottom:14px}.phone-card h2{font-size:32px;line-height:1.18;margin-bottom:18px}.phone-card p{color:var(--muted)}
.phone-card-action{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.phone-number{font-family:Cabin,sans-serif;font-size:clamp(22px,2.5vw,30px);font-weight:600;line-height:1.3;color:var(--ink);white-space:nowrap}.phone-card-action .button{min-width:180px}.phone-card-action p{font-size:14px;margin:0;line-height:1.5}
@media(max-width:640px){.phone-card{grid-template-columns:1fr;gap:26px;padding:26px 22px;margin-bottom:36px}.phone-card h2{font-size:28px}.phone-card-action .button{width:100%}.phone-card-action{align-items:stretch}.phone-number{font-size:26px}}
@media(max-width:359px){.phone-number{font-size:23px}}

/* Graz contact section: clear spacing between address, guidance and actions. */
.location-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:48px}
.location-copy .section-heading{margin-bottom:24px}.location-copy .section-heading h2{margin-bottom:18px}
.location-copy>p{line-height:1.7}.location-copy>p+p{margin-top:16px}.location-copy>p .textlink{margin-top:0}
.location-copy>h3{margin-top:32px;margin-bottom:12px;font-size:23px;line-height:1.3}
.location-copy>.button{margin-top:28px}
.location-layout .map-panel{padding:32px;min-height:0;background:white;border:1px solid var(--line);border-radius:6px;justify-content:flex-start}
.location-layout .map-panel .eyebrow{margin-bottom:16px}.location-layout .map-panel h3{font-size:28px;line-height:1.25;margin-bottom:20px}
.location-layout .map-panel>p:not(.eyebrow){line-height:1.7}.location-layout .map-panel>.button{margin-top:24px;width:100%;font-size:15px}
@media(max-width:820px){.location-layout{grid-template-columns:1fr;gap:36px}.location-layout .map-panel{padding:28px}.location-copy>h3{margin-top:28px}}
@media(max-width:420px){.location-layout .map-panel{padding:24px}.location-copy>.button{width:100%}.location-layout .map-panel h3{font-size:26px}}

/* Reference comparison: heading and two cards left, portrait detail right. */
.compare-visual{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px}
.compare-visual .section-heading{margin-bottom:32px}
.compare-visual .comparison article{padding:28px;font-size:16px;line-height:1.6}
.compare-visual .comparison h3{font-size:23px;line-height:1.3;margin:16px 0 20px}
.compare-visual .comparison .eyebrow{margin:0}
.compare-visual .photo{margin:0;position:relative;align-self:stretch;min-height:0;overflow:hidden;border-radius:6px}
.compare-visual .photo img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:55% 60%}
@media(max-width:1000px) and (min-width:821px){.compare-visual{gap:28px}.compare-visual .comparison article{padding:22px}.compare-visual .comparison h3{font-size:21px}}
@media(max-width:820px){.compare-visual{grid-template-columns:1fr;gap:28px}.compare-visual>.photo{width:min(100%,390px);margin:0 auto}.compare-visual .photo img{position:static;inset:auto;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:50% 60%}.compare-visual .comparison article{padding:24px}}

/* Supporting page photographs share a deliberate text-to-image proportion. */
.pricing-label{margin-bottom:28px}
.studio-address-band{display:flex;align-items:center;justify-content:space-between;gap:32px}.studio-address-band h2{font-size:30px;margin-bottom:16px}.studio-address-band .eyebrow{margin-bottom:12px}.studio-address-band .button{flex-shrink:0}
.contact-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;padding:36px;background:var(--mint);border:1px solid var(--line);border-radius:8px}
.contact-panel h2{margin-bottom:24px}.contact-panel address{font-style:normal;font-size:20px;line-height:1.6}.contact-panel .textlink{margin-top:18px}
.contact-phone{border-left:1px solid #afccca;padding-left:36px}.contact-phone h3{font-size:28px;margin-bottom:20px}.contact-phone .phone-number{display:inline-block;margin-bottom:20px}.contact-phone>p:not(.eyebrow){color:var(--muted)}
.contact-arrival{max-width:860px;margin-top:36px}.contact-arrival h3{margin-bottom:18px}
.trial-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0;padding:24px;background:var(--mint);border:1px solid var(--line);border-radius:8px}.trial-summary strong{font-size:25px;color:var(--teal)}
.trial-invitation{display:flex;align-items:center;justify-content:space-between;gap:36px}.trial-invitation h2{font-size:32px;margin-bottom:18px}.trial-invitation>.button{flex-shrink:0}
@media(max-width:820px){.studio-address-band,.trial-invitation{flex-direction:column;align-items:flex-start}.contact-panel{grid-template-columns:1fr;gap:28px;padding:28px}.contact-phone{border-left:0;border-top:1px solid #afccca;padding:28px 0 0}.contact-panel .actions .button{width:100%}}
@media(max-width:640px){.contact-panel{padding:24px 20px}.contact-panel .phone-number{font-size:25px}.trial-summary{flex-direction:column;align-items:stretch;padding:22px}.trial-summary .button{width:100%}.studio-address-band .button,.trial-invitation>.button{width:100%}.studio-address-band h2{font-size:27px}}
.graz-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;margin-bottom:28px}
.graz-intro .section-heading{margin-bottom:0}
.graz-intro>.photo{width:100%;max-width:none}
.graz-intro .photo img{aspect-ratio:5/4;object-fit:cover;object-position:50% 64%}
.section .arrival-guidance{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:28px}
.location-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.location-layout .map-panel{align-self:stretch;justify-content:center}
@media(max-width:820px){.graz-intro,.location-layout{grid-template-columns:1fr;gap:28px}.graz-intro>.photo{width:100%;max-width:520px;margin:0 auto}.graz-intro .photo img{aspect-ratio:4/5;object-fit:contain}.section .arrival-guidance{grid-template-columns:1fr;gap:16px}.location-layout .map-panel{justify-content:flex-start}}
.pricing-composition>.pricing-single{background:var(--mint);border:1px solid var(--line);border-radius:8px;padding:28px;margin-top:36px}
.pricing-single>h3{margin-bottom:22px;font-size:26px}
@media(max-width:640px){.pricing-composition>.pricing-single{padding:22px 16px;margin-top:28px}.pricing-single>h3{font-size:24px;margin-bottom:18px}}
.detail-visual>.photo{width:100%;max-width:360px;justify-self:end}
.detail-visual>.photo--removed-hair,.aftercare-visual>.photo--removed-hair{max-width:300px;justify-self:end}
.split:has(>.area-photo){grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start}
.split>.area-photo{width:100%;max-width:360px}
.detail-visual .treatment-steps{gap:14px;margin-top:28px}
.detail-visual .treatment-step{padding:14px}
.detail-visual .cards+p{margin-top:24px}
.detail-visual .faq{margin-top:28px}
@media(max-width:820px){
 .detail-visual>.photo,.visual-split.aftercare-visual>.photo,.split .area-photo{width:min(100%,360px);max-width:360px;justify-self:center;margin:0 auto}
 .detail-visual>.photo--removed-hair,.aftercare-visual>.photo--removed-hair{max-width:300px}
 .split:has(>.area-photo){grid-template-columns:1fr;gap:32px}
 .detail-visual .treatment-steps{gap:16px}
 .studio-treatment{width:100%}
}
