:root{
  --ink:#111111;--paper:#ffffff;--cream:#fbfaf2;--muted:#5f5f5b;--line:#e8e6dd;--gold:#c2a96c;--sage:#c0c6ab;
  --sans:'Montserrat',-apple-system,'Helvetica Neue',Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.7;font-size:15.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}
.wrap{max-width:1340px;margin:0 auto;padding:0 56px}
@media(max-width:760px){.wrap{padding:0 22px}}
.skip{position:absolute;left:-999px}
.skip:focus{left:20px;top:10px;background:#fff;padding:8px;z-index:99}

/* Top black bar */
.topbar{background:#000;color:#fff;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:44px}
.topbar a{color:#fff;text-decoration:none}
.topbar .soc{display:flex;gap:16px;align-items:center}
.topbar svg{width:17px;height:17px;fill:#fff;vertical-align:middle}
.topbar .phone{letter-spacing:.04em}

/* Header */
header.top{background:var(--paper);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:26px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--ink)}
.brand img{height:52px;width:auto;display:block}
.brand .tag{font-size:11.5px;color:var(--muted);max-width:200px;line-height:1.45}
nav.main{display:flex;gap:6px 22px;list-style:none;align-items:center;flex-wrap:wrap;justify-content:center}
nav.main a{text-decoration:none;color:var(--ink);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;transition:opacity .25s;padding:4px 0;border-bottom:2px solid transparent}
nav.main a:hover{opacity:.55}
nav.main a[aria-current]{border-bottom-color:var(--gold)}
.btn{display:inline-block;background:#000;color:#fff !important;padding:16px 34px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background .3s;text-align:center}
.btn:hover{background:#333}
.btn.ghost{background:transparent;color:var(--ink) !important;border:1px solid var(--ink)}
.btn.ghost:hover{background:#000;color:#fff !important}
@media(max-width:1450px){.brand .tag{display:none}}
@media(max-width:900px){header.top .wrap{flex-wrap:wrap;justify-content:center}nav.main{order:3;width:100%;gap:4px 18px}nav.main a{font-size:11px}}

/* Hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr 90px;min-height:600px}
.hero-img{overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 64px}
.hero-copy .slogan{font-weight:500;font-size:clamp(30px,3.4vw,52px);line-height:1.18;text-transform:uppercase;letter-spacing:.015em}
.hero-copy h1{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-top:26px;line-height:1.6}
.hero-copy .btn{margin-top:36px;align-self:flex-start}
.hero-gold{background:url('/img/gold.png') center/cover}
@media(max-width:960px){.hero{grid-template-columns:1fr;min-height:0}.hero-gold{display:none}.hero-copy{padding:52px 24px}.hero-img img{max-height:60vh}}

/* Features 2x2 */
.features{padding:80px 0 60px}
.features .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 90px}
@media(max-width:760px){.features .grid{grid-template-columns:1fr;gap:36px}}
.feature h3,.feature h2{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:14px}
.feature p{color:var(--muted);font-size:14.5px}

/* Section titles */
.sec-kicker{font-size:17px;color:#3d3d3a;margin-bottom:4px}
.sec-title{font-size:clamp(38px,4.6vw,62px);font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.1}
.sec-title .alt{color:var(--sage)}
.sec-title.sm{font-size:clamp(28px,3.4vw,44px)}

/* About */
.about{padding:20px 0 80px}
.about .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
@media(max-width:860px){.about .grid{grid-template-columns:1fr;gap:36px}}
.about .photo{position:relative}
.about .photo img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;display:block;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.about .photo::after{content:"";position:absolute;right:-18px;bottom:-18px;width:60%;height:60%;background:url('/img/gold.png') center/cover;z-index:-1}
.about h3,.about h2.name{font-size:22px;font-weight:600;margin-bottom:6px;text-transform:none;letter-spacing:0;line-height:1.3}
.about .role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.about .lead{color:#3d3d3a;font-size:15px;margin-bottom:22px}
ul.gold-list,ol.gold-list{list-style:none}
.gold-list li{padding:11px 0 11px 26px;position:relative;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);line-height:1.55}
.gold-list li:last-child{border-bottom:none}
.gold-list li::before{content:"";position:absolute;left:2px;top:19px;width:7px;height:7px;background:var(--gold)}

/* Services */
.services{background:var(--cream);padding:70px 0 90px;margin-top:40px}
.svc-head{padding:40px 0 50px}
.svc img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.svc h3{font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.3;margin-bottom:12px}
.svc h3 a{text-decoration:none}
.svc p{color:var(--muted);font-size:13.5px;line-height:1.65}
.svc .note{display:inline-block;margin-top:12px;font-size:12.5px;color:var(--gold);border:1px solid var(--line);background:#fff;padding:7px 12px}
.svc .more{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}
.svc-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin-top:56px;border-top:1px solid var(--line)}
@media(max-width:900px){.svc-links{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-links{grid-template-columns:1fr}}
.svc-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.svc-links a span{color:var(--gold);font-weight:500;letter-spacing:0;text-transform:none;font-size:13px;white-space:nowrap}
.svc-links a:hover{color:var(--gold)}

/* Prices */
.prices{padding:80px 0}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:46px}
@media(max-width:900px){.price-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.price-grid{grid-template-columns:1fr}}
.price{background:var(--cream);padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.price .n{font-size:13.5px;font-weight:500;line-height:1.45}
.price .n a{text-decoration:none}
.price .v{font-size:21px;font-weight:500;white-space:nowrap}
.price .v small{font-size:13px;color:var(--muted)}

/* Sliders */
.slider{position:relative;margin:0 auto;overflow:hidden}
.slider .track{display:flex;transition:transform .6s ease}
.slider .slide{flex:0 0 100%;box-sizing:border-box}
.svc-slider{max-width:1040px}
.svc-slider .svc{display:grid;grid-template-columns:270px 1fr;gap:36px;align-items:center;padding:6px 76px 10px}
@media(max-width:700px){.svc-slider .svc{grid-template-columns:1fr;padding:6px 54px 10px}}
.svc-slider .qarrow{top:50%;margin-top:-21px}
.quotes{background:var(--cream);padding:80px 0}
.qslider{max-width:760px}
.quote{text-align:center;padding:0 40px}
.quote img{width:150px;height:150px;object-fit:cover;object-position:center top;display:block;margin:0 auto 26px;border-radius:50%}
.quote p{color:#3d3d3a;font-size:14.5px;max-width:34em;margin:0 auto}
.quote .who{font-weight:600;margin-top:16px;font-size:15.5px}
.qarrow{position:absolute;top:70px;background:none;border:1px solid var(--line);width:42px;height:42px;cursor:pointer;font-size:18px;color:var(--ink);line-height:1;transition:border-color .3s;font-family:inherit}
.qarrow:hover{border-color:var(--gold)}
.qarrow.prev{left:0}
.qarrow.next{right:0}
.qdots{display:flex;justify-content:center;gap:10px;margin-top:34px}
.qdots button{width:9px;height:9px;border-radius:50%;border:none;background:#d6d3c6;cursor:pointer;padding:0}
.qdots button.on{background:var(--gold)}

/* Partners */
.partners{padding:100px 0}
.partners .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}
@media(max-width:900px){.partners .grid{grid-template-columns:1fr}}
.partners p{color:var(--muted);font-size:14.5px;margin-top:26px}
.partner-links{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;margin-top:30px;text-align:center}
.partner-links a{color:var(--ink);font-weight:500;font-size:14.5px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.partner-links a:hover{border-color:var(--gold)}
.collage{position:relative;min-height:480px}
.collage .gold{position:absolute;right:0;top:0;bottom:0;width:62%;background:url('/img/gold.png') center/cover}
.collage .ph{position:absolute;left:0;top:20px;width:55%;aspect-ratio:3/4;object-fit:cover;box-shadow:0 20px 50px rgba(0,0,0,.15)}
.collage .ph2{position:absolute;right:8%;bottom:30px;width:42%;aspect-ratio:3/4;object-fit:cover;object-position:center 30%}

/* Laser highlight */
.laser{background:#fff;padding:90px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.laser .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:900px){.laser .grid{grid-template-columns:1fr}}
.laser img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.laser h2{font-size:clamp(26px,3vw,40px);font-weight:500;text-transform:uppercase;line-height:1.2;margin-bottom:20px}
.laser p.lead{color:var(--muted);font-size:14.5px;margin-bottom:20px}
.laser ul{margin:0 0 26px}
.laser .riga{display:inline-block;font-size:13px;color:var(--gold);border:1px solid var(--line);background:#fff;padding:10px 16px;margin-bottom:28px}

/* Promo band */
.promo{position:relative;overflow:hidden;background-color:#fbfaf2;background-image:linear-gradient(90deg,rgba(251,250,242,.97) 0%,rgba(251,250,242,.9) 24%,rgba(251,250,242,.45) 50%,rgba(251,250,242,.1) 74%,rgba(251,250,242,.25) 100%),url('/img/gold.png');background-size:auto,cover;background-position:center,center;background-repeat:no-repeat;min-height:520px;display:flex;align-items:center}
.promo .wrap{position:relative;z-index:2}
.promo .inner{max-width:520px}
.promo .pre{font-size:17px;margin-bottom:6px}
.promo h2{font-size:clamp(48px,6vw,84px);font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.05;margin-bottom:14px}
.promo p{font-size:15.5px;max-width:26em;margin-bottom:30px}
.promo .gift{display:block;margin-top:18px;font-size:13px;color:var(--muted)}

/* Contacts */
.contact{padding:90px 0}
.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:50px}
@media(max-width:760px){.contact .grid{grid-template-columns:1fr}}
.cline{margin-bottom:24px}
.cline .lbl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;font-weight:600}
.cline .val{font-size:16.5px;font-weight:500}
.cline .sub{font-size:13px;color:var(--muted)}
.cline a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.cline a:hover{border-color:var(--gold)}
.book-box{background:var(--cream);padding:48px 44px;text-align:center;align-self:start}
.book-box h3{font-size:22px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.book-box p{color:var(--muted);font-size:14px;margin-bottom:28px}
.map{border:1px solid var(--line);margin-top:40px}
.map iframe{display:block;width:100%;height:380px;border:0}

/* Footer */
footer.site{background:#000;color:#bbb;font-size:12.5px;padding:40px 0 30px}
footer.site .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;margin-bottom:30px}
@media(max-width:860px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{color:#fff;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:14px}
footer.site p{margin:0 0 6px;color:#bbb}
footer.site a{color:#fff;text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site address{font-style:normal}
footer.site .legal{border-top:1px solid #222;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#888}

/* Inner pages */
.breadcrumb{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:22px 0 0}
.breadcrumb li+li::before{content:"·";margin-right:6px;color:var(--gold)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--ink)}
.page-head{padding:34px 0 10px}
.page-head h1{font-size:clamp(28px,3.6vw,48px);font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;max-width:22em}
.page-head .lead{color:#3d3d3a;font-size:15.5px;max-width:52em;margin-top:18px}
section{padding:52px 0}
section.alt{background:var(--cream)}
h2{font-size:clamp(22px,2.4vw,30px);font-weight:500;text-transform:uppercase;letter-spacing:.03em;line-height:1.2;margin-bottom:20px}
h3{font-size:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.35;margin-bottom:10px}
.text p{color:#3d3d3a;margin-bottom:1em;max-width:46em}
.svcpage{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:start;padding:30px 0 20px}
@media(max-width:900px){.svcpage{grid-template-columns:1fr}}
.meta{background:var(--cream);padding:34px 34px 30px;position:sticky;top:20px}
.meta img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:-34px -34px 24px;width:calc(100% + 68px);max-width:none}
.meta dl{margin:0 0 22px}
.meta dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:16px}
.meta dd{font-size:14.5px;margin:4px 0 0}
.meta dd.big{font-size:24px;font-weight:500}
.meta .btn{display:block;width:100%}
.meta p{margin-top:12px;font-size:13.5px;text-align:center}
.meta p a{text-decoration:none;border-bottom:1px solid var(--line)}
.facts,.timeline{list-style:none}
.facts li,.timeline li{padding:11px 0 11px 26px;position:relative;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);line-height:1.55}
.facts li:last-child,.timeline li:last-child{border-bottom:none}
.facts li::before,.timeline li::before{content:"";position:absolute;left:2px;top:19px;width:7px;height:7px;background:var(--gold)}
.timeline{counter-reset:tl}
.related{display:flex;flex-wrap:wrap;gap:10px}
.related a{display:inline-block;border:1px solid var(--line);background:#fff;padding:9px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;font-weight:500}
.related a:hover{border-color:var(--gold)}
.faqlist{max-width:860px;border-top:1px solid var(--line)}
.faqlist details{border-bottom:1px solid var(--line)}
.faqlist summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 0}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary h3{font-size:14.5px;text-transform:none;letter-spacing:0;font-weight:600;margin:0;padding-left:22px;position:relative;line-height:1.5}
.faqlist summary h3::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--gold)}
.faqlist summary::after{content:"+";flex:0 0 auto;width:26px;height:26px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:var(--muted);transition:transform .25s}
.faqlist details[open] summary::after{content:"−"}
.faqlist p{color:var(--muted);font-size:14px;padding:0 48px 18px 22px;max-width:46em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}
@media(max-width:960px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cards{grid-template-columns:1fr}}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:18px}
.card h3 a{text-decoration:none}
.card p{color:var(--muted);font-size:13.5px}
.card .price{display:inline-block;margin-top:12px;font-size:12.5px;color:var(--gold);border:1px solid var(--line);background:#fff;padding:7px 12px}
.card .body{display:block}
table.prices{width:100%;border-collapse:collapse;font-size:14.5px}
table.prices th{text-align:left;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 0 12px;border-bottom:1px solid var(--ink)}
table.prices td{padding:16px 0;border-bottom:1px solid var(--line)}
table.prices td.price{text-align:right;font-size:18px;font-weight:500;white-space:nowrap}
table.prices td a{text-decoration:none}
.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:860px){.contacts{grid-template-columns:1fr}}
.contacts .box{background:var(--cream);padding:30px 28px}
.contacts .box p{color:#3d3d3a;font-size:14.5px;margin-bottom:8px}
.contacts .box a{text-decoration:none;border-bottom:1px solid var(--line)}
.contacts .phone{font-size:20px;font-weight:500}
.doctor{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
@media(max-width:860px){.doctor{grid-template-columns:1fr}}
.doctor img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
