@font-face { font-family:'DM Sans'; font-style:normal; font-weight:500 700; font-display:swap; src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:600 700; font-display:swap; src:url('/assets/fonts/playfair-display-latin.woff2') format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:italic; font-weight:600; font-display:swap; src:url('/assets/fonts/playfair-display-italic-latin.woff2') format('woff2'); }
@font-face { font-family:'Plus Jakarta Sans'; font-style:normal; font-weight:400 600; font-display:swap; src:url('/assets/fonts/plus-jakarta-sans-latin.woff2') format('woff2'); }

:root { --paper:#F8F6FC; --purple:#5524B8; --magenta:#E6007E; --ink:#192847; --lilac:#EDE3FA; --white:#fff; --line:rgba(25,40,71,.14); --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.75 'Plus Jakarta Sans',sans-serif; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:1000; background:var(--ink); color:#fff; padding:.7rem 1rem; }
.skip-link:focus { top:1rem; }
.site-header { min-height:92px; max-width:var(--max); margin:auto; padding:1rem 28px; display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; }
.brand { display:block; text-decoration:none; }
.brand img { display:block; width:70px; height:70px; object-fit:contain; }
.site-nav { justify-self:center; display:flex; gap:16px; align-items:center; }
.site-nav a,.site-nav button,.language { position:relative; color:inherit; text-decoration:none; font:600 13px/1.2 'DM Sans',sans-serif; }
.site-nav > a::after,.nav-dropdown-toggle::after { content:''; position:absolute; left:0; right:100%; bottom:-7px; height:2px; background:var(--magenta); transition:.25s; }
.site-nav > a:hover::after,.site-nav > a[aria-current=page]::after,.nav-dropdown:hover > .nav-dropdown-toggle::after,.nav-dropdown.active > .nav-dropdown-toggle::after { right:0; }
.nav-dropdown { position:relative; }
.nav-dropdown-toggle { display:flex; align-items:center; gap:6px; padding:0; border:0; background:transparent; cursor:pointer; }
.nav-dropdown-toggle span { color:var(--magenta); font-size:1rem; transition:transform .2s; }
.nav-dropdown.open .nav-dropdown-toggle span { transform:rotate(180deg); }
.nav-submenu { position:absolute; z-index:40; top:calc(100% + 16px); left:50%; min-width:250px; display:grid; gap:2px; padding:12px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 22px 50px rgba(25,40,71,.16); opacity:0; visibility:hidden; transform:translate(-50%,-6px); transition:.2s; }
.nav-submenu a { padding:11px 13px; border-radius:10px; white-space:nowrap; }
.nav-submenu a:hover,.nav-submenu a:focus-visible,.nav-submenu a[aria-current=page] { background:var(--lilac); color:var(--purple); outline:none; }
.nav-dropdown.open .nav-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.header-actions { display:flex; align-items:center; gap:16px; }
.language { border:1px solid var(--line); border-radius:999px; padding:.55rem .65rem; }
.menu-toggle { display:none; border:0; background:none; color:var(--ink); font:700 14px 'DM Sans',sans-serif; }
.button { min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:.5rem; border:1px solid var(--purple); border-radius:999px; padding:.75rem 1.4rem; text-decoration:none; background:transparent; color:var(--purple); font:700 14px/1 'DM Sans',sans-serif; cursor:pointer; transition:transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(85,36,184,.16); }
.button.small { min-height:40px; padding:.6rem 1rem; background:var(--purple); color:#fff; }
.button.primary { background:var(--magenta); border-color:var(--magenta); color:#fff; }
.button.ghost { background:rgba(255,255,255,.55); }
.hero { max-width:var(--max); min-height:670px; margin:0 auto; padding:64px 28px 80px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:60px; overflow:hidden; }
.eyebrow,.kicker { margin:0 0 18px; text-transform:uppercase; letter-spacing:.16em; color:var(--purple); font:700 11px/1.3 'DM Sans',sans-serif; }
.eyebrow { display:flex; align-items:center; gap:12px; }
.eyebrow span { width:34px; height:2px; background:var(--magenta); }
h1,h2,h3,blockquote { font-family:'Playfair Display',serif; line-height:1.06; margin-top:0; }
h1 { max-width:780px; margin-bottom:28px; font-size:clamp(3.4rem,6.5vw,6.8rem); letter-spacing:-.055em; overflow-wrap:normal; word-break:normal; hyphens:none; }
h1 em,h2 em { color:var(--magenta); font-weight:600; }
h2 { font-size:clamp(2.5rem,4.3vw,4.5rem); letter-spacing:-.04em; }
h3 { font-size:1.7rem; }
.lede { max-width:660px; font-size:1.14rem; }
.hero-actions { display:flex; gap:12px; margin-top:34px; flex-wrap:wrap; }
.hero-art { position:relative; min-height:520px; background:linear-gradient(145deg,var(--lilac),#fff 64%); border-radius:48% 48% 10% 48%; isolation:isolate; }
.hero-photo { margin:0; overflow:hidden; background:var(--lilac); box-shadow:0 24px 70px rgba(25,40,71,.12); }
.hero-photo::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 62%,rgba(25,40,71,.48)); pointer-events:none; }
.hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-home { grid-template-columns:.88fr 1.12fr; }
.hero-photo-home { min-height:560px; }
.hero-photo-home > img:first-child { object-position:center 46%; }
.hero-photo .hero-watermark { z-index:2; inset:auto -9% -13% auto; width:70%; height:70%; object-fit:contain; opacity:.13; filter:brightness(0) invert(1); mix-blend-mode:screen; pointer-events:none; }
.hero-brand-art { overflow:hidden; display:grid; place-items:center; }
.hero-brand-art .abstract-logo { position:relative; z-index:2; width:72%; height:72%; object-fit:contain; opacity:.78; filter:brightness(0) invert(1); }
.orb { position:absolute; border-radius:50%; filter:blur(2px); }
.orb-one { width:300px; height:300px; background:rgba(230,0,126,.88); right:-80px; top:70px; }
.orb-two { width:360px; height:360px; background:rgba(85,36,184,.94); left:-70px; bottom:-100px; mix-blend-mode:multiply; }
.line-flower { position:absolute; inset:18% 12% 15% 15%; }
.line-flower i { position:absolute; width:48%; height:58%; border:3px solid rgba(255,255,255,.75); border-radius:100% 0 100% 0; transform-origin:100% 100%; }
.line-flower i:nth-child(2) { transform:rotate(90deg); }.line-flower i:nth-child(3) { transform:rotate(180deg); }.line-flower i:nth-child(4) { transform:rotate(270deg); }
.line-flower b { position:absolute; width:45px; height:45px; left:46%; top:48%; border-radius:50%; background:#ffd4e9; }
.art-label { position:absolute; z-index:2; right:30px; bottom:26px; text-align:right; color:white; font:700 13px/1.2 'DM Sans'; letter-spacing:.2em; }
.trust-strip { max-width:var(--max); margin:0 auto 50px; padding:22px 28px; border-block:1px solid var(--line); display:flex; justify-content:space-around; gap:20px; color:var(--purple); font:700 12px 'DM Sans'; text-transform:uppercase; letter-spacing:.12em; }
.trust-strip span::before { content:'✦'; color:var(--magenta); margin-right:12px; }
.section { max-width:var(--max); margin:0 auto; padding:110px 28px; opacity:0; transform:translateY(25px); transition:.7s ease; }
.section.revealed,.trust-strip.revealed { opacity:1; transform:none; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.split.reverse > :first-child { order:2; }
.split p { max-width:620px; }
.quote-card,.info-card { position:relative; padding:64px; border-radius:32px; background:var(--lilac); }
.quote-card blockquote { margin:1.5rem 0; color:var(--purple); font-size:clamp(2rem,3vw,3.2rem); }
.quote-card.dark { background:var(--ink); color:#fff; }.quote-card.dark blockquote { color:#fff; }
.spark { font-size:2rem; color:var(--magenta); }
.text-link { display:inline-flex; gap:10px; align-items:center; margin-top:14px; color:var(--purple); font:700 14px 'DM Sans'; text-underline-offset:6px; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.section-head h2 { margin-bottom:0; }.section-head > p { max-width:470px; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.brand-pillar-section { padding-top:70px; }
.brand-pillar-head { align-items:start; }
.brand-pillar-head > div { max-width:660px; }
.brand-pillar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.brand-pillar-card { position:relative; min-height:350px; padding:32px; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:#fff; color:var(--ink); text-decoration:none; transition:transform .22s,box-shadow .22s,border-color .22s; }
.brand-pillar-card:nth-child(1) { background:var(--purple); color:#fff; }
.brand-pillar-card:nth-child(2) { background:var(--lilac); }
.brand-pillar-card:nth-child(4) { background:var(--ink); color:#fff; }
.brand-pillar-card:hover,.brand-pillar-card:focus-visible { transform:translateY(-5px); border-color:var(--magenta); box-shadow:0 20px 45px rgba(85,36,184,.14); outline:none; }
.brand-pillar-card .number { color:var(--magenta); font:700 11px 'DM Sans'; letter-spacing:.12em; }
.brand-pillar-card .status { position:absolute; top:26px; right:24px; padding:7px 10px; border-radius:999px; background:rgba(248,246,252,.8); color:var(--purple); font:700 9px 'DM Sans'; letter-spacing:.08em; text-transform:uppercase; }
.brand-pillar-card h3 { margin:100px 0 16px; font-size:2.15rem; }
.brand-pillar-card p { font-size:.92rem; line-height:1.65; }
.brand-pillar-card strong { position:absolute; left:32px; bottom:28px; font:700 12px 'DM Sans'; text-decoration:underline; text-underline-offset:5px; }
.service-card { position:relative; min-height:390px; padding:44px; overflow:hidden; border-radius:30px; color:#fff; text-decoration:none; }
.service-card::after { content:''; position:absolute; width:260px; height:260px; right:-90px; bottom:-110px; border:1px solid rgba(255,255,255,.45); border-radius:50%; box-shadow:0 0 0 35px rgba(255,255,255,.08),0 0 0 70px rgba(255,255,255,.05); }
.service-card.purple { background:var(--purple); }.service-card.magenta { background:var(--magenta); }
.service-card .number { font:700 12px 'DM Sans'; }.service-card h3 { margin:110px 0 18px; font-size:2.8rem; }.service-card p { max-width:440px; }
.round-arrow { position:absolute; right:26px; top:26px; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; font-size:1.3rem; }
.process { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }
.process ol { list-style:none; padding:0; margin:0; }.process li { display:grid; grid-template-columns:60px 1fr; gap:20px; padding:24px 0; border-top:1px solid var(--line); }.process li > span,.steps article > span,.values span { color:var(--magenta); font:700 12px 'DM Sans'; }.process h3 { margin-bottom:5px; }.process p { margin:0; }
.info-card h3 { font-size:2.3rem; }.info-card ul { padding-left:1.2rem; }.info-card li { margin:.8rem 0; }
.three-grid,.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:45px; }.three-grid article,.price-grid article { padding:34px; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.6); }.three-grid h3 { margin:30px 0 12px; }
.photo-feature,.team-story { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:70px; align-items:center; }
.affirming-definition { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:55px; align-items:start; margin-top:45px; padding:54px 58px; border-radius:30px; background:var(--lilac); }
.affirming-definition h2 { margin:0; }
.affirming-definition p:first-child { margin-top:0; }
.affirming-definition p:last-child { margin-bottom:0; }
.photo-feature.reverse .photo-frame { order:2; }
.photo-frame,.team-photo { position:relative; margin:0; overflow:hidden; border-radius:32px; background:var(--lilac); box-shadow:0 24px 60px rgba(25,40,71,.12); }
.photo-frame { min-height:520px; aspect-ratio:4/5; }
.team-photo { aspect-ratio:3/4; }
.photo-frame::after,.team-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 70%,rgba(25,40,71,.18)); pointer-events:none; }
.photo-frame img,.team-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.treatment-photo img { object-position:center 48%; }
.team-story { grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr); }
.team-story h2,.photo-feature h2 { margin-bottom:24px; }
.beauty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.beauty-grid article { position:relative; min-height:360px; padding:38px; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:#fff; }
.beauty-grid article:nth-child(2) { background:var(--lilac); }
.beauty-grid article:nth-child(3) { background:var(--ink); color:#fff; }
.beauty-grid span { color:var(--magenta); font:700 11px 'DM Sans'; letter-spacing:.12em; }
.beauty-grid h3 { margin:100px 0 16px; font-size:2.2rem; }
.beauty-grid article::after { content:''; position:absolute; width:180px; height:180px; right:-80px; top:-70px; border:1px solid rgba(85,36,184,.18); border-radius:50%; box-shadow:0 0 0 28px rgba(85,36,184,.05); }
.beauty-grid article:nth-child(3)::after { border-color:rgba(255,255,255,.22); box-shadow:0 0 0 28px rgba(255,255,255,.05); }
.hero-photo-beauty > img { object-position:center 56%; }
.zone-cloud { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:45px; align-items:start; }
.zone-card button { width:100%; min-height:62px; padding:16px 20px; border:0; border-radius:999px; background:var(--lilac); color:var(--purple); font:700 16px 'DM Sans'; cursor:pointer; transition:transform .2s,box-shadow .2s,background .2s; }
.zone-card:nth-child(3n) button { background:var(--purple); color:#fff; }.zone-card:nth-child(4n) button { background:#ffe0f0; color:#9c0055; }
.zone-card button:hover,.zone-card button:focus-visible,.zone-card.open button { transform:translateY(-2px); box-shadow:0 12px 28px rgba(85,36,184,.14); outline:2px solid var(--magenta); outline-offset:3px; }
.zone-card p { max-height:0; margin:0; padding:0 17px; overflow:hidden; opacity:0; border-radius:18px; background:#fff; font-size:.85rem; line-height:1.6; transition:max-height .32s ease,opacity .25s ease,margin .25s ease,padding .25s ease; }
.zone-card:hover p,.zone-card:focus-within p,.zone-card.open p { max-height:240px; margin-top:10px; padding:16px 17px; opacity:1; }
.price-notice { padding:60px; text-align:center; background:var(--ink); color:white; border-radius:30px; }.price-notice span { color:#ff8bc9; font:700 11px 'DM Sans'; text-transform:uppercase; letter-spacing:.15em; }.price-notice h2 { margin:16px 0; }.price-grid strong { display:block; margin:22px 0; color:var(--purple); font:700 1.15rem 'DM Sans'; }.fineprint,.form-note { color:#5b6477; font-size:.84rem; }
.price-source p { max-width:820px; margin:0 auto; }.price-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:34px 0 24px; }.price-group { padding:36px; border:1px solid var(--line); border-radius:26px; background:#fff; }.price-group h3 { margin-bottom:22px; color:var(--purple); font-size:2rem; }.price-rows { display:grid; }.price-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:start; padding:14px 0; border-top:1px solid var(--line); }.price-row span { min-width:0; }.price-row span small { display:block; margin-top:2px; color:#6c7180; font-size:.72rem; }.price-row strong { color:var(--ink); font:700 1rem 'DM Sans'; white-space:nowrap; }
.price-package-card { background:linear-gradient(145deg,var(--purple),#7b39ce); color:#fff; }.price-package-card .kicker { color:#ffc8e5; }.price-package-card h3 { color:#fff; }.price-package-card p { margin-bottom:0; }.discount-badges { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:28px 0; }.discount-badges span { padding:18px 12px; border:1px solid var(--line); border-radius:18px; background:#fff; color:var(--ink); text-align:center; font:600 12px 'DM Sans'; }.discount-badges strong { display:block; margin-bottom:4px; color:var(--magenta); font-size:1.6rem; }
.values article { padding:22px 0; border-top:1px solid var(--line); }.values h3 { margin:8px 0; }.values p { margin:0; }
.address-card { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:70px; background:#fff; border-radius:32px; }
.address-card-location { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:start; }
.address-card-location h2 { font-size:clamp(2.5rem,4vw,4.4rem); }
.location-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:28px; }
.location-map { grid-column:1 / -1; min-height:390px; overflow:hidden; border-radius:26px; background:var(--lilac); }
.location-map iframe { width:100%; height:440px; display:block; border:0; }
.map-placeholder { min-height:390px; display:grid; place-items:center; padding:46px; background:radial-gradient(circle at 82% 22%,rgba(215,38,130,.14),transparent 32%),linear-gradient(135deg,var(--lilac),#f8f4ff); text-align:center; }
.map-placeholder > div { max-width:720px; }
.map-placeholder h3 { margin:14px 0 12px; font-size:clamp(2rem,3.5vw,3.4rem); }
.map-placeholder p:not(.kicker) { max-width:620px; margin-inline:auto; }
.map-pin { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:var(--purple); color:#fff; font:700 1.8rem 'DM Sans'; box-shadow:0 16px 34px rgba(85,36,184,.2); }
.map-actions { display:flex; justify-content:center; align-items:center; gap:22px; flex-wrap:wrap; margin-top:26px; }
.faq-list { max-width:940px; }.faq-list details { border-top:1px solid var(--line); padding:28px 4px; }.faq-list details:last-child { border-bottom:1px solid var(--line); }.faq-list summary { cursor:pointer; list-style:none; padding-right:50px; font:600 1.5rem 'Playfair Display'; }.faq-list summary::after { content:'+'; float:right; color:var(--magenta); font:400 1.7rem 'DM Sans'; }.faq-list details[open] summary::after { content:'−'; }.faq-list p { max-width:760px; }
.consultation-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:28px; align-items:start; }.consultation-form { padding:44px; border-radius:28px; background:white; display:grid; gap:20px; }.consultation-form label { display:grid; gap:8px; font:700 13px 'DM Sans'; }.consultation-form input,.consultation-form select,.consultation-form textarea { width:100%; border:1px solid var(--line); border-radius:12px; background:var(--paper); padding:14px; color:var(--ink); }.consultation-form .consent { grid-template-columns:20px 1fr; font:400 12px/1.5 'Plus Jakarta Sans'; }.consent input { width:18px; }
.booking-card { padding:52px; border-radius:30px; background:linear-gradient(145deg,var(--purple),#7937cc); color:#fff; }.booking-card .kicker { color:#ffc8e5; }.booking-card h2 { font-size:clamp(2.2rem,3.5vw,3.6rem); }.booking-facts { display:flex; gap:14px; margin:30px 0; }.booking-facts span { min-width:125px; padding:18px; border:1px solid rgba(255,255,255,.3); border-radius:18px; font:600 12px 'DM Sans'; }.booking-facts strong { display:block; margin-bottom:5px; color:#fff; font-size:1.45rem; }
.preop-link-card { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:22px; padding:28px 34px; border:1px solid var(--line); border-radius:22px; background:#fff; color:var(--ink); text-decoration:none; transition:.25s; }
.preop-link-card:hover { transform:translateY(-3px); border-color:var(--purple); box-shadow:0 16px 35px rgba(85,36,184,.11); }
.preop-link-card span:first-child { display:grid; gap:5px; }.preop-link-card small { color:var(--magenta); font:700 10px 'DM Sans'; letter-spacing:.15em; }.preop-link-card strong { font:600 1.35rem 'Playfair Display'; }.preop-link-card span:last-child { color:var(--purple); font:700 13px 'DM Sans'; }
.evidence-banner { margin-bottom:80px; padding:36px 40px; border-left:6px solid var(--magenta); border-radius:0 24px 24px 0; background:var(--lilac); }.evidence-banner span { display:block; margin-bottom:12px; color:var(--magenta); font:700 10px 'DM Sans'; letter-spacing:.15em; text-transform:uppercase; }.evidence-banner strong { display:block; font:600 1.5rem/1.3 'Playfair Display'; }.evidence-banner p { max-width:850px; margin-bottom:0; }
.four-checks { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:42px; }.four-checks article { padding:28px; border:1px solid var(--line); border-radius:20px; background:#fff; }.four-checks span { color:var(--magenta); font:700 11px 'DM Sans'; }.four-checks h3 { margin:24px 0 8px; font-size:1.45rem; }.four-checks p { margin:0; font-size:.9rem; }
.surgery-grid,.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.surgery-card { padding:54px; border-radius:30px; background:var(--lilac); }.surgery-card.accent { background:var(--ink); color:#fff; }.surgery-card.accent .kicker { color:#ff95ce; }.surgery-card h2 { font-size:clamp(2.2rem,3.5vw,3.5rem); }
.method-grid article { padding:45px; border:1px solid var(--line); border-radius:26px; background:#fff; }.method-grid h3 { margin:28px 0 12px; font-size:2.1rem; }.method-pill { display:inline-flex; padding:7px 11px; border-radius:999px; background:#e9ddff; color:var(--purple); font:700 10px 'DM Sans'; text-transform:uppercase; letter-spacing:.1em; }.method-pill.neutral { background:#edf0f5; color:var(--ink); }
.method-grid .method-wide { grid-column:1 / -1; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:30px; padding:28px 34px; background:var(--lilac); }
.method-grid .method-wide h3 { margin:0 0 8px; font-size:1.75rem; }
.method-grid .method-wide p { margin:0; }
.timeline-card { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; border-radius:30px; background:linear-gradient(135deg,var(--magenta),#a70072); color:#fff; }.timeline-card .kicker { color:#ffd0e9; }.timeline-card p { max-width:640px; }
.checklist-card { padding:42px; border-radius:28px; background:var(--ink); color:#fff; }.checklist-card h3 { font-size:2rem; }.checklist-card li { margin:13px 0; }
.source-section { border-top:1px solid var(--line); }.source-list { padding:0; list-style:none; max-width:900px; }.source-list li { border-top:1px solid var(--line); }.source-list li:last-child { border-bottom:1px solid var(--line); }.source-list a { display:block; padding:18px 4px; color:var(--purple); font:700 14px 'DM Sans'; text-underline-offset:5px; }.inline-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:35px; }
.link-panel { max-width:calc(var(--max) - 56px); display:flex; align-items:center; justify-content:space-between; gap:40px; margin-bottom:50px; padding:58px; border-radius:30px; background:var(--purple); color:#fff; }.link-panel .kicker { color:#ffc5e4; }.link-panel h2 { margin-bottom:12px; font-size:clamp(2rem,3.6vw,3.5rem); }.link-panel p { max-width:760px; }.link-panel .button { flex:0 0 auto; }
.final-cta { max-width:calc(var(--max) - 56px); margin-bottom:60px; padding:80px; text-align:center; border-radius:34px; background:linear-gradient(135deg,var(--purple),#7b39ce); color:#fff; }.final-cta .kicker { color:#ffc3e3; }.final-cta h2 { margin-bottom:30px; }.button.light { background:#fff; border-color:#fff; color:var(--purple); }
footer { max-width:var(--max); margin:auto; padding:48px 28px; border-top:1px solid var(--line); display:grid; grid-template-columns:1.4fr 1fr 1fr auto; gap:30px; align-items:start; font-size:.78rem; }.footer-brand img { width:92px; height:92px; }
.back-to-top { position:fixed; z-index:30; right:24px; bottom:24px; width:50px; height:50px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--purple); color:#fff; box-shadow:0 14px 32px rgba(25,40,71,.25); font:700 1.35rem 'DM Sans'; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(12px); transition:.22s; }.back-to-top.visible { opacity:1; visibility:visible; transform:none; }.back-to-top:hover,.back-to-top:focus-visible { background:var(--magenta); outline:3px solid #fff; outline-offset:2px; }
.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }.footer-links a { color:var(--purple); font:700 12px 'DM Sans'; text-underline-offset:4px; }.footer-links a[aria-current=page] { color:var(--magenta); }
.legal-hero { min-height:370px; grid-template-columns:1fr; padding-bottom:35px; }.legal-hero .hero-copy { max-width:900px; }.legal-hero h1 { margin-bottom:22px; }.legal-content { max-width:920px; padding-top:55px; }.legal-content h2 { margin-top:64px; font-size:clamp(2rem,3.2vw,3.2rem); }.legal-content address { padding:30px; border-radius:22px; background:#fff; font-style:normal; }.legal-content code { padding:.15em .35em; border-radius:5px; background:var(--lilac); }.legal-status { padding:30px 34px; border-left:6px solid var(--magenta); border-radius:0 22px 22px 0; background:var(--lilac); }.legal-status strong { font:700 13px 'DM Sans'; text-transform:uppercase; letter-spacing:.1em; color:var(--purple); }.legal-status p { margin-bottom:0; }.legal-list { margin:35px 0; }.legal-list div { display:grid; grid-template-columns:minmax(180px,.75fr) 1.25fr; gap:24px; padding:18px 0; border-top:1px solid var(--line); }.legal-list div:last-child { border-bottom:1px solid var(--line); }.legal-list dt { font:700 13px 'DM Sans'; color:var(--purple); }.legal-list dd { margin:0; }
@media (max-width:1050px) { .site-header { grid-template-columns:auto auto 1fr; }.menu-toggle { display:block; }.site-nav { display:none; position:absolute; z-index:20; left:20px; right:20px; top:82px; padding:28px; border-radius:20px; background:#fff; box-shadow:0 25px 60px rgba(25,40,71,.15); flex-direction:column; align-items:flex-start; }.site-nav.open { display:flex; }.site-nav > a,.nav-dropdown,.nav-dropdown-toggle { width:100%; }.nav-dropdown-toggle { justify-content:space-between; }.nav-submenu { position:static; min-width:0; display:none; margin-top:12px; padding:5px 0 5px 14px; border:0; border-left:2px solid var(--lilac); border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }.nav-dropdown.open .nav-submenu { display:grid; transform:none; }.nav-submenu a { white-space:normal; }.header-actions { justify-self:end; }.hero { grid-template-columns:1fr .7fr; gap:25px; }.hero-art { min-height:440px; }.split { gap:40px; }.brand-pillar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { body { line-height:1.65; }.site-header { min-height:76px; padding:8px 18px; gap:12px; }.brand img { width:58px; height:58px; }.header-actions .button { display:none; }.hero { min-height:auto; padding:55px 20px 65px; grid-template-columns:1fr; }.hero-art { min-height:300px; order:-1; border-radius:44% 44% 12% 44%; }.hero-photo-home { min-height:340px; }.orb-one { width:200px; height:200px; }.orb-two { width:230px; height:230px; }.hero-copy h1 { font-size:clamp(3.2rem,15vw,5rem); }.trust-strip { align-items:flex-start; flex-direction:column; margin:0 20px; padding-inline:0; }.section { padding:75px 20px; }.split,.service-grid,.process,.three-grid,.price-grid,.price-catalog,.address-card,.consultation-grid,.four-checks,.surgery-grid,.method-grid,.timeline-card,.photo-feature,.team-story,.beauty-grid,.affirming-definition { grid-template-columns:1fr; }.zone-cloud { grid-template-columns:1fr; }.split.reverse > :first-child,.photo-feature.reverse .photo-frame { order:initial; }.photo-feature,.team-story { gap:34px; }.affirming-definition { gap:24px; margin-top:20px; padding:38px 26px; }.photo-frame { min-height:0; aspect-ratio:4/5; }.team-photo { aspect-ratio:3/4; }.quote-card,.info-card,.address-card,.consultation-form,.booking-card,.surgery-card,.method-grid article,.checklist-card,.price-group { padding:32px 25px; }.address-card-location { gap:38px; }.address-card-location h2 { font-size:2.7rem; }.location-map { min-height:360px; }.map-placeholder { min-height:360px; padding:34px 20px; }.map-actions { align-items:stretch; flex-direction:column; }.location-map iframe { height:400px; }.method-grid .method-wide { grid-template-columns:1fr; gap:18px; }.section-head { display:block; }.service-card { min-height:330px; padding:30px; }.service-card h3 { margin-top:80px; }.beauty-grid article { min-height:290px; padding:30px; }.beauty-grid h3 { margin-top:75px; }.process,.timeline-card { gap:15px; }.three-grid,.price-grid { margin-top:28px; }.discount-badges { grid-template-columns:1fr; }.price-notice { padding:45px 25px; }.booking-facts { flex-direction:column; }.preop-link-card,.link-panel { align-items:flex-start; flex-direction:column; padding:28px 24px; }.evidence-banner { margin-bottom:55px; padding:28px 24px; }.legal-hero { padding-bottom:20px; }.legal-content { padding-top:30px; }.legal-status { padding:25px 22px; }.legal-list div { grid-template-columns:1fr; gap:6px; }.final-cta { margin-inline:20px; padding:60px 22px; }.final-cta h2 { font-size:2.8rem; } footer { grid-template-columns:1fr; padding:40px 20px; }.language { padding:.5rem; }.back-to-top { right:16px; bottom:16px; } }
@media (max-width:760px) { .hero-copy h1 { font-size:clamp(2.5rem,9vw,3.2rem); } }
@media (max-width:760px) { .brand-pillar-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }.section { opacity:1; transform:none; } }
