
:root{--ink:#292624;--cream:#f6f1e9;--paper:#fffdf9;--gold:#af8757;--blush:#e5cbd0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(3.3rem,7vw,7rem);letter-spacing:-.045em}h2{font-size:clamp(2.5rem,5vw,4.8rem);letter-spacing:-.035em}h3{font-size:1.7rem}p{max-width:64ch}.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#8a6546}.container{width:min(1180px,calc(100% - 48px));margin:auto}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 25px;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;font-weight:700;font-size:.9rem;letter-spacing:.025em;transition:.2s}.button:hover,.button:focus-visible{background:#6e5140;border-color:#6e5140}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.outline{background:transparent;color:var(--ink)}.button.outline:hover{background:var(--ink);color:white}header{height:82px;background:var(--paper);position:relative;z-index:5}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:'Playfair Display',Georgia,serif;font-size:2rem;line-height:1;text-decoration:none;letter-spacing:-.08em;white-space:nowrap}.brand span{color:var(--gold)}.brand small{display:block;margin-top:5px;font:600 .58rem/1.25 'DM Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#705d50}nav{display:flex;gap:32px;align-items:center}nav a{text-decoration:none;font-size:.88rem;font-weight:600}nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav .button{min-height:42px;padding:8px 17px}.menu-toggle{display:none}.hero{min-height:650px;display:grid;grid-template-columns:53% 47%;background:#302b28;color:#fff}.hero-copy{display:flex;align-items:center;padding:70px max(40px,calc((100vw - 1180px)/2));padding-right:40px}.hero-copy-inner{max-width:620px}.hero .eyebrow{color:#d8b18b}.hero h1{margin:22px 0}.hero h1 em{color:var(--blush);font-weight:400}.hero p{font-size:1.12rem;color:#eee4db;margin-bottom:29px}.hero-image{background:linear-gradient(90deg,rgba(46,38,34,.15),transparent 30%),url('assets/home-hero-clinic.webp') center/cover;min-height:500px}.section{padding:105px 0}.intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:start}.intro-grid h2{margin-bottom:0}.intro-grid p{font-size:1.12rem}.rule{border-top:1px solid #cdbdad;margin-top:35px;padding-top:20px;color:#705d50;font-size:.9rem}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading h2{margin:10px 0 0}.section-heading p{max-width:360px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--cream);padding:36px;min-height:315px;display:flex;flex-direction:column;border-top:3px solid var(--gold)}.card .num{color:var(--gold);font-family:Georgia,serif;font-size:1.2rem}.card h3{margin:24px 0 14px}.card p{color:#5d5650;margin:0 0 25px}.card a{margin-top:auto;text-underline-offset:5px;font-weight:700;font-size:.9rem}.feature{display:grid;grid-template-columns:1fr 1fr;background:#ded0be}.feature-visual{min-height:560px;background:#d8c6bc}.feature-visual img{display:block;width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center 35%}.feature-copy{padding:80px clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{margin:15px 0 25px}.feature-copy p{font-size:1.08rem}.feature-copy .button{align-self:start;margin-top:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}.step{border-top:1px solid #bda992;padding-top:21px}.step strong{display:block;color:var(--gold);font:1.5rem Georgia,serif;margin-bottom:22px}.step h3{font-size:1.45rem;margin-bottom:10px}.step p{color:#5c5550}.visit{background:#322d2a;color:#fff}.visit .eyebrow{color:#d3ae83}.visit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:center}.visit h2{margin:14px 0 20px}.visit p{color:#ded5cb}.visit-panel{background:#473e39;padding:44px;border-left:3px solid var(--gold)}.visit-panel h3{font-size:1.5rem}.visit-panel a:not(.button){color:#f0d2a7}.visit-panel .button{margin-top:20px}.foot{background:#24211f;color:#ddd1c6;padding:44px 0}.foot-grid{display:flex;justify-content:space-between;gap:25px;align-items:center}.foot .brand{color:#fff}.foot small{color:#b8a99b}.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}.footer-links{display:flex;gap:24px}a:focus-visible,button:focus-visible{outline:3px solid #c99b63;outline-offset:3px}@media(max-width:800px){header{height:70px}.menu-toggle{display:block;background:none;border:0;padding:10px;font:700 .85rem 'DM Sans';color:var(--ink)}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:20px 24px 26px;box-shadow:0 14px 20px #0002;flex-direction:column;align-items:stretch;gap:18px}nav.open{display:flex}.nav>.button{display:none}.hero{display:flex;flex-direction:column-reverse}.hero-image{min-height:320px}.hero-copy{padding:55px 24px 65px}.section{padding:70px 0}.intro-grid,.feature,.visit-grid{grid-template-columns:1fr;gap:25px}.cards,.steps{grid-template-columns:1fr}.card{min-height:250px}.section-heading{display:block}.section-heading p{margin-top:18px}.feature-visual{min-height:320px}.feature-copy{padding:60px 24px}.visit-panel{padding:30px}.foot-grid{align-items:start;flex-direction:column}.footer-links{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.page-hero{background:#302b28;color:white;padding:90px 0 80px}.page-hero .eyebrow{color:#d8b18b}.page-hero h1{font-size:clamp(3.2rem,6vw,5.5rem);max-width:900px;margin:16px 0}.page-hero p{font-size:1.1rem;color:#eee4db}.prose{max-width:760px;margin:0 auto}.prose h2{font-size:clamp(2.2rem,4vw,3.4rem);margin:55px 0 20px}.prose p{font-size:1.08rem;margin-bottom:22px}.prose ul{padding-left:22px}.prose li{margin-bottom:12px}.treatment-group{margin-top:70px}.treatment-group h2{margin-bottom:30px}.treatment-group-image{display:block;width:100%;height:clamp(230px,32vw,440px);object-fit:cover;object-position:center;border-radius:2px;margin:0 0 24px}.treatment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.treatment-item{background:var(--paper);padding:30px;border-top:2px solid var(--gold)}.treatment-item h3{font-size:1.55rem;margin-bottom:12px}.treatment-item-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;margin:15px 0 20px;border-radius:2px}.bioslimming-image{height:auto;aspect-ratio:auto;object-fit:contain}.treatment-item p{color:#5d5650;margin-bottom:0}.note{font-size:.9rem;color:#5d5650}.elan{background:#e7e8df}.elan-grid{display:grid;grid-template-columns:minmax(280px,.82fr) 1fr;align-items:center;gap:8%}.elan-art img{width:100%;display:block;box-shadow:0 15px 40px #25232324}.elan-copy p{font-size:1.08rem}.elan-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.portrait-await{background:#e9d9cb;padding:35px;margin:38px 0}.portrait-await p{margin:0;font-size:.9rem}@media(max-width:800px){.page-hero{padding:62px 0}.treatment-list,.elan-grid{grid-template-columns:1fr}.elan-art{max-width:500px}}

.about-intro{display:grid;grid-template-columns:360px 1fr;gap:60px;align-items:center;max-width:1000px;margin:0 auto 70px}.about-intro img{display:block;width:100%;height:auto}.about-intro p{font-size:1.15rem}.about-intro h2{margin-bottom:20px}@media(max-width:800px){.feature-visual img{min-height:320px}.about-intro{grid-template-columns:1fr;gap:28px}.about-intro img{max-width:420px}}

.visit-page-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12%;align-items:start}.visit-page-grid h2{margin:17px 0 25px}.visit-page-grid p{font-size:1.08rem}.visit-details{background:var(--paper);border-top:3px solid var(--gold);padding:36px}.visit-details h3{margin-bottom:30px}.visit-details p{margin-bottom:23px}.visit-details a{text-underline-offset:4px}nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:7px}@media(max-width:800px){.visit-page-grid{grid-template-columns:1fr;gap:35px}}

.visit-concept{margin:58px auto 0;max-width:760px}.visit-concept img{display:block;width:100%;height:auto;border:1px solid #6d5d4f}.visit-concept figcaption{margin-top:13px;color:#d6c8b9;font-size:.86rem;text-align:center}

.exclusive-note{margin-top:28px;padding:26px 30px;background:#e7dcd0;border-left:3px solid var(--gold)}.exclusive-note p{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;line-height:1.25;max-width:650px;margin:12px 0}.exclusive-note a{font-weight:700;text-underline-offset:5px}

.policy h2{font-size:2rem}.policy .note{border-top:1px solid #cdbdad;padding-top:22px;margin-top:42px}.booking-policy-link{font-size:.88rem;color:#e8d8c6;margin:16px 0 0}.booking-policy-link a{text-underline-offset:4px}.footer-links{flex-wrap:wrap}

.contact-dock{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:9px}.contact-dock a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:11px 16px;border-radius:999px;background:#302b28;color:#fff;text-decoration:none;font-size:.9rem;font-weight:700;box-shadow:0 7px 25px #25232338;border:1px solid #d0ad78;transition:transform .2s ease,background .2s ease}.contact-dock a:hover,.contact-dock a:focus-visible{background:#4b3939;transform:translateY(-2px)}.contact-dock a:focus-visible{outline:3px solid #b77d68;outline-offset:3px}.contact-dock a:first-child{background:#d0ad78;color:#211e1c;border-color:#302b28}.contact-dock a:first-child:hover,.contact-dock a:first-child:focus-visible{background:#e4c69b}.contact-dock svg{width:19px;height:19px;flex:none;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}@media(max-width:600px){.contact-dock{right:12px;bottom:12px;gap:7px}.contact-dock a{min-height:44px;padding:9px 12px;font-size:.82rem}.contact-dock svg{width:17px;height:17px}}@media(prefers-reduced-motion:reduce){.contact-dock a{transition:none}}

.awards-section{padding:54px 0 58px;background:#292624;color:#fffdf9;border-top:1px solid #af8757}.awards-section .eyebrow{color:#e1bc88;font-size:.875rem}.awards-section h2{font-size:clamp(2rem,4vw,3rem);margin:12px 0 30px}.awards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.award{border-top:1px solid #a98a64;padding-top:22px}.award-status{font-size:.875rem;font-weight:600;color:#e1bc88}.award h3{font-size:1.75rem;margin:12px 0 8px;overflow-wrap:break-word}.award p{margin:0;color:#eee4db}@media(max-width:600px){.awards-grid{grid-template-columns:1fr;gap:28px}.awards-section{padding:42px 0}}

.award-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px}.award-logo-grid figure{margin:0;background:#fff;color:#292624;padding:18px;display:flex;flex-direction:column;align-items:center}.award-logo-grid img{display:block;width:100%;height:210px;object-fit:contain}.award-logo-grid figcaption{text-align:center;font-size:.875rem;font-weight:600;line-height:1.5;margin-top:14px}.prose .award-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:800px){.award-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.award-logo-grid img{height:180px}}@media(max-width:450px){.award-logo-grid,.prose .award-logo-grid{grid-template-columns:1fr}.award-logo-grid img{height:220px}}

.reviews-section{padding:48px 0;background:#eee4d7;border-top:1px solid #d5c1a7;border-bottom:1px solid #d5c1a7}.reviews-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.reviews-section h2{font-size:clamp(2rem,4vw,3rem);margin:12px 0}.reviews-section p{margin-bottom:0}.reviews-section .button{flex-shrink:0}.footer-links{flex-wrap:wrap}@media(max-width:800px){.reviews-inner{flex-direction:column;align-items:flex-start}}
