:root { --pink:#d70b78; --pink-dark:#a8005c; --blush:#fff0f7; --ink:#17171a; --gray:#626269; --soft:#f6f5f6; --line:#dedde0; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; }
a { color:inherit; text-decoration:none; }
svg { width:1.25em; height:1.25em; fill:none; stroke:currentColor; stroke-width:1.6; }

header { height:88px; max-width:1500px; margin:auto; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; gap:36px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); position:relative; z-index:20; }
.brand { display:flex; align-items:center; gap:14px; }
.brand>span { display:grid; place-items:center; width:45px; height:45px; background:var(--ink); color:white; font-size:14px; font-weight:800; letter-spacing:-.06em; }
.brand strong { display:flex; flex-direction:column; font-size:17px; line-height:1.05; }
.brand small { margin-top:6px; color:var(--gray); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
header nav { display:flex; gap:32px; color:#4e4e55; font-size:14px; }
header nav a:hover { color:var(--pink); }
.header-button { display:flex; align-items:center; gap:12px; padding:13px 19px; border:1px solid var(--ink); font-size:13px; font-weight:700; transition:background .2s,color .2s; }
.header-button:hover { background:var(--ink); color:white; }

.hero { min-height:calc(100vh - 88px); display:grid; grid-template-columns:1.04fr .96fr; position:relative; overflow:hidden; background:var(--white); }
.hero-copy { padding:9vh 6vw 8vh max(5vw,calc((100vw - 1500px)/2 + 5vw)); display:flex; flex-direction:column; justify-content:center; position:relative; z-index:3; }
.status { width:max-content; display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--soft); color:#55545b; font-size:13px; font-weight:700; }
.status i { width:8px; height:8px; border-radius:50%; background:var(--pink); box-shadow:0 0 0 5px #fce2ef; }
h1,h2 { margin:0; letter-spacing:-.055em; }
h1 { margin-top:42px; font-size:clamp(64px,7.2vw,112px); line-height:.88; font-weight:800; }
h1 em,h2 em { color:var(--pink); font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.hero-copy>p { max-width:670px; margin:38px 0 0; color:var(--gray); font-size:18px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:40px; }
.primary-button { display:flex; align-items:center; gap:18px; padding:17px 23px; background:var(--pink); color:white; font-size:14px; font-weight:700; transition:transform .2s,background .2s; }
.primary-button:hover { transform:translateY(-2px); background:var(--pink-dark); }
.secondary-link { padding-bottom:7px; border-bottom:1px solid var(--ink); font-size:14px; font-weight:700; }
.hero-principles { display:flex; gap:38px; margin-top:8vh; padding-top:24px; border-top:1px solid var(--line); }
.hero-principles span { display:flex; gap:9px; color:#4d4c52; font-size:13px; font-weight:700; }
.hero-principles b { color:var(--pink); font-weight:800; }
.hero-photo { position:relative; background:#f1f0f1; }
.photo-frame { position:absolute; inset:0 0 0 8%; overflow:hidden; }
.photo-frame img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.photo-frame::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,20,23,.2),transparent 45%); }
.fuchsia-panel { position:absolute; z-index:2; left:-34px; top:12%; width:190px; min-height:210px; padding:25px; display:flex; flex-direction:column; justify-content:center; background:var(--pink); color:white; }
.fuchsia-panel>span { font-size:12px; font-weight:700; text-transform:uppercase; }
.fuchsia-panel strong { margin-top:10px; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.fuchsia-panel p { margin:16px 0 0; font-size:14px; line-height:1.5; }
.doctor-chip { position:absolute; z-index:2; right:28px; bottom:32px; display:flex; align-items:center; gap:12px; padding:14px 17px; background:rgba(255,255,255,.9); backdrop-filter:blur(10px); }
.doctor-chip>i { width:9px; height:9px; border-radius:50%; background:var(--pink); }
.doctor-chip div { display:flex; flex-direction:column; gap:4px; }
.doctor-chip strong { font-size:15px; }
.doctor-chip span { color:var(--gray); font-size:12px; }
.hero-word { position:absolute; right:-20px; bottom:-2.5vw; z-index:1; color:white; font-size:clamp(70px,10vw,160px); font-weight:900; letter-spacing:-.08em; opacity:.15; pointer-events:none; }

.treatments { padding:120px 6vw 140px; background:var(--soft); }
.treatment-title { display:grid; grid-template-columns:.35fr 1.1fr .55fr; gap:5vw; align-items:end; max-width:1450px; margin:auto; }
.treatment-title>span { align-self:start; color:var(--pink); font-size:13px; font-weight:800; }
.treatment-title h2 { font-size:clamp(48px,5.5vw,82px); line-height:.95; }
.treatment-title>p { margin:0; color:var(--gray); font-size:16px; line-height:1.7; }
.treatment-list { max-width:1450px; margin:75px auto 0; border-top:2px solid var(--ink); }
.treatment-list article { min-height:145px; display:grid; grid-template-columns:70px 1fr 1.1fr 58px; gap:28px; align-items:center; border-bottom:1px solid #c9c8cc; transition:background .2s,padding .2s; }
.treatment-list article:hover { padding:0 18px; background:white; }
.treatment-list article>span { color:var(--pink); font-size:15px; font-weight:800; }
.treatment-list h3 { margin:0; font-size:25px; }
.treatment-list strong { display:block; margin-top:8px; color:var(--pink); font-family:Georgia,serif; font-size:16px; font-weight:400; }
.treatment-list p { max-width:530px; margin:0; color:var(--gray); font-size:15px; line-height:1.65; }
.treatment-list a { width:52px; height:52px; display:grid; place-items:center; border:1px solid var(--ink); }
.treatment-list a:hover { background:var(--pink); color:white; border-color:var(--pink); }

.section-label { color:var(--pink); font-size:13px; font-weight:800; }
.method { min-height:780px; display:grid; grid-template-columns:1.05fr .95fr; background:white; }
.method-photo { position:relative; min-height:650px; overflow:hidden; }
.method-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.method-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(18,18,21,.22),transparent 50%); }
.method-photo>div { position:absolute; z-index:2; left:32px; bottom:30px; width:155px; height:155px; padding:24px; display:flex; flex-direction:column; justify-content:center; background:var(--pink); color:white; }
.method-photo span { font-size:13px; font-weight:700; }
.method-photo strong { margin-top:6px; font-family:Georgia,serif; font-size:40px; font-weight:400; }
.method-copy { padding:100px 8vw 90px 7vw; align-self:center; }
.method-copy h2 { margin:30px 0; font-size:clamp(52px,5.5vw,82px); line-height:.94; }
.method-copy>p { max-width:620px; color:var(--gray); font-size:16px; line-height:1.75; }
.method-copy .lead { color:#38383e; font-family:Georgia,serif; font-size:21px; }
.method-copy blockquote { margin:34px 0; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-family:Georgia,serif; font-size:21px; line-height:1.5; }
.method-copy>a { width:max-content; display:flex; align-items:center; gap:18px; padding-bottom:8px; border-bottom:2px solid var(--pink); font-size:14px; font-weight:700; }

.manifesto { min-height:650px; padding:90px 7vw; display:grid; grid-template-columns:180px 1fr .45fr; gap:6vw; align-items:center; background:var(--ink); color:white; }
.manifesto-mark { color:#39393f; font-size:160px; font-weight:900; letter-spacing:-.12em; transform:rotate(-90deg); }
.manifesto-copy>span { color:#ff58ab; font-size:13px; font-weight:700; }
.manifesto-copy h2 { margin:30px 0 0; font-size:clamp(60px,7.4vw,110px); line-height:.86; }
.manifesto-copy h2 em { color:#ff58ab; }
.manifesto-note { align-self:end; padding:28px; border:1px solid #46464b; }
.manifesto-note svg { width:26px; color:#ff58ab; }
.manifesto-note p { margin:20px 0 0; color:#c5c5c9; font-size:15px; line-height:1.65; }

.doctor { padding:125px 7vw 145px; background:var(--blush); }
.doctor-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.doctor-head h2 { text-align:right; font-size:clamp(50px,5.5vw,82px); line-height:.95; }
.doctor-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:8vw; align-items:center; margin-top:75px; }
.doctor-image { min-height:600px; position:relative; overflow:hidden; background:#eee; }
.doctor-image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center top; }
.doctor-image>span { position:absolute; left:0; bottom:0; padding:16px 20px; background:white; color:var(--pink); font-size:13px; font-weight:700; }
.doctor-story .lead { margin:0 0 25px; font-family:Georgia,serif; font-size:22px; line-height:1.6; }
.doctor-story>p:not(.lead) { max-width:690px; color:var(--gray); font-size:16px; line-height:1.75; }
.doctor-values { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; padding:30px 0; border-top:1px solid #dbbfd0; border-bottom:1px solid #dbbfd0; }
.doctor-values span { color:var(--pink); font-size:14px; font-weight:800; }
.doctor-values strong { display:block; margin-top:13px; font-size:16px; }
.doctor-values p { margin:8px 0 0; color:var(--gray); font-size:14px; line-height:1.55; }
.signature { margin-top:35px; color:var(--pink); font-family:'Brush Script MT',cursive; font-size:42px; }
.signature small { display:block; margin-top:4px; color:var(--gray); font-family:Arial,sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }

.process { padding:120px 6vw 140px; background:white; }
.process-head { display:grid; grid-template-columns:.38fr 1fr .55fr; gap:5vw; align-items:end; }
.process-head h2 { font-size:clamp(52px,5.8vw,86px); line-height:.94; }
.process-head>p { margin:0; color:var(--gray); font-size:16px; line-height:1.7; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:75px; border-top:2px solid var(--ink); border-left:1px solid var(--line); }
.process-grid article { min-height:315px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-grid article>span { color:var(--pink); font-size:15px; font-weight:800; }
.process-grid h3 { margin:80px 0 18px; font-size:24px; }
.process-grid p { margin:0; color:var(--gray); font-size:15px; line-height:1.65; }

.testimonial { padding:110px 10vw; display:grid; grid-template-columns:110px 1fr 230px; gap:50px; align-items:center; background:var(--pink); color:white; }
.quote-mark { align-self:start; font-family:Georgia,serif; font-size:135px; line-height:.7; }
.testimonial blockquote { max-width:950px; margin:0; font-family:Georgia,serif; font-size:clamp(30px,3.7vw,52px); line-height:1.35; }
.quote-author { display:flex; flex-direction:column; gap:9px; padding-left:24px; border-left:1px solid rgba(255,255,255,.45); }
.quote-author strong { font-size:15px; }
.quote-author span { font-size:13px; line-height:1.45; opacity:.82; }
.quote-author b { margin-top:10px; font-size:14px; letter-spacing:.12em; }

.faq { padding:120px 7vw 140px; display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; background:var(--soft); }
.faq-head h2 { margin:28px 0 0; font-size:clamp(50px,5.5vw,80px); line-height:.95; }
.faq-list { border-top:2px solid var(--ink); }
.faq-list details { border-bottom:1px solid #c9c8cc; }
.faq-list summary { min-height:105px; display:grid; grid-template-columns:48px 1fr 30px; align-items:center; gap:18px; list-style:none; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span { color:var(--pink); font-size:14px; font-weight:800; }
.faq-list summary strong { font-size:17px; line-height:1.4; }
.faq-list summary b { justify-self:end; color:var(--pink); font-size:25px; font-weight:400; transition:transform .2s; }
.faq-list details[open] summary b { transform:rotate(45deg); }
.faq-list details>p { margin:0 45px 30px 66px; color:var(--gray); font-size:15px; line-height:1.7; }

.contact { min-height:650px; display:grid; grid-template-columns:190px 1fr .6fr; background:var(--ink); color:white; }
.contact-pink { padding:55px 30px; display:flex; align-items:center; flex-direction:column; justify-content:space-between; background:var(--pink); }
.contact-pink span { font-size:14px; font-weight:700; writing-mode:vertical-rl; transform:rotate(180deg); }
.contact-pink svg { width:32px; }
.contact-pink strong { font-size:40px; }
.contact-main { padding:100px 7vw; align-self:center; }
.contact-main>p { color:#ff6db7; font-size:14px; font-weight:700; }
.contact-main h2 { margin:30px 0; font-size:clamp(56px,6.5vw,96px); line-height:.9; }
.contact-main h2 em { color:#ff65b4; }
.contact-main>a { width:max-content; display:flex; align-items:center; gap:28px; padding:16px 21px; background:white; color:var(--ink); font-size:14px; font-weight:700; }
.contact-data { padding:70px 5vw; align-self:center; }
.contact-data>div { padding:25px 0; border-bottom:1px solid #48484d; }
.contact-data>div:last-child { border-bottom:0; }
.contact-data span { color:#ff69b6; font-size:13px; font-weight:700; }
.contact-data p { margin:10px 0 0; color:#cacacf; font-size:15px; line-height:1.65; }

footer { min-height:125px; padding:30px 5vw; display:flex; align-items:center; justify-content:space-between; gap:30px; background:#101012; color:white; }
.footer-brand>span { background:white; color:var(--ink); }
.footer-brand small { color:#8d8d93; }
footer>p { color:#838388; font-size:13px; }
footer nav { display:flex; gap:25px; color:#b2b2b6; font-size:14px; }

.floating-button { position:fixed; right:22px; bottom:22px; z-index:30; width:78px; height:78px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border-radius:50%; background:var(--ink); color:white; box-shadow:0 15px 40px rgba(0,0,0,.22); font-size:12px; font-weight:700; }
.floating-button svg { width:18px; color:#ff4da8; }

@media (max-width:980px) {
  header nav { display:none; }
  .hero { grid-template-columns:1fr 46%; } .hero-copy { padding-left:5vw; } h1 { font-size:clamp(58px,8vw,82px); }
  .hero-principles { gap:18px; } .fuchsia-panel { left:-20px; width:160px; }
  .treatment-title { grid-template-columns:1fr; gap:28px; } .treatment-title>span { align-self:auto; }
  .treatment-list article { grid-template-columns:55px 1fr 55px; padding:25px 0; } .treatment-list article>p { grid-column:2/3; } .treatment-list article>a { grid-column:3; grid-row:1/3; }
  .method { grid-template-columns:1fr; } .method-photo { min-height:600px; } .method-copy { padding:85px 7vw; }
  .manifesto { grid-template-columns:100px 1fr; } .manifesto-mark { font-size:100px; } .manifesto-note { grid-column:2; }
  .doctor-grid { grid-template-columns:.85fr 1.15fr; gap:5vw; } .doctor-values { grid-template-columns:1fr; }
  .process-head { grid-template-columns:1fr; gap:25px; } .process-grid { grid-template-columns:1fr 1fr; }
  .testimonial { grid-template-columns:80px 1fr; } .quote-author { grid-column:2; }
  .faq { grid-template-columns:1fr; } .contact { grid-template-columns:130px 1fr; } .contact-data { grid-column:2; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-top:0; }
}

@media (max-width:700px) and (orientation:portrait) {
  header { height:74px; padding:0 18px; } .brand strong { font-size:15px; } .brand small { font-size:10px; } .brand>span { width:40px; height:40px; }
  .header-button { padding:12px; font-size:0; } .header-button svg { width:21px; }
  .hero { display:flex; flex-direction:column; min-height:auto; } .hero-copy { padding:65px 22px 52px; } .status { font-size:12px; }
  h1 { margin-top:33px; font-size:58px; } .hero-copy>p { margin-top:28px; font-size:17px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; margin-top:32px; } .primary-button,.secondary-link { font-size:15px; }
  .hero-principles { justify-content:space-between; gap:10px; margin-top:55px; } .hero-principles span { flex-direction:column; gap:4px; font-size:12px; }
  .hero-photo { min-height:580px; } .photo-frame { inset:0; } .fuchsia-panel { top:25px; left:0; width:165px; min-height:180px; } .doctor-chip { right:16px; bottom:18px; }
  .treatments { padding:85px 22px; } .treatment-title h2 { font-size:49px; } .treatment-title>p { font-size:16px; }
  .treatment-list { margin-top:50px; } .treatment-list article { grid-template-columns:42px 1fr 46px; gap:14px; } .treatment-list h3 { font-size:21px; } .treatment-list p { font-size:15px; }
  .treatment-list a { width:44px; height:44px; } .floating-button { width:68px; height:68px; right:14px; bottom:14px; font-size:11px; }
  .method-photo { min-height:430px; } .method-photo>div { left:18px; bottom:18px; width:125px; height:125px; } .method-copy { padding:75px 22px; } .method-copy h2 { font-size:49px; }
  .manifesto { padding:80px 22px; grid-template-columns:1fr; gap:35px; } .manifesto-mark { transform:none; font-size:75px; } .manifesto-copy h2 { font-size:57px; } .manifesto-note { grid-column:1; }
  .doctor { padding:85px 22px; } .doctor-head { align-items:flex-start; flex-direction:column; } .doctor-head h2 { text-align:left; font-size:49px; } .doctor-grid { grid-template-columns:1fr; margin-top:55px; } .doctor-image { min-height:520px; }
  .process { padding:85px 22px; } .process-head h2 { font-size:49px; } .process-grid { grid-template-columns:1fr; margin-top:55px; } .process-grid article { min-height:245px; } .process-grid h3 { margin-top:50px; }
  .testimonial { padding:80px 22px; grid-template-columns:1fr; gap:25px; } .quote-mark { font-size:90px; } .quote-author { grid-column:1; }
  .faq { padding:85px 22px; } .faq-head h2 { font-size:48px; } .faq-list summary { grid-template-columns:35px 1fr 24px; gap:12px; } .faq-list details>p { margin-left:47px; }
  .contact { grid-template-columns:1fr; } .contact-pink { min-height:95px; padding:22px; flex-direction:row; } .contact-pink span { writing-mode:initial; transform:none; } .contact-main { padding:80px 22px; } .contact-main h2 { font-size:55px; } .contact-data { grid-column:1; grid-template-columns:1fr; padding:20px 22px 70px; }
  footer { align-items:flex-start; flex-direction:column; padding:50px 22px; } footer nav { flex-wrap:wrap; }
}

@media (max-height:560px) and (orientation:landscape) {
  header { height:64px; padding:0 22px; } .brand>span { width:38px; height:38px; } .brand strong { font-size:14px; } .brand small { font-size:10px; }
  header nav { display:none; } .header-button { padding:10px 14px; }
  .hero { min-height:calc(100vh - 64px); grid-template-columns:56% 44%; } .hero-copy { padding:28px 4vw; }
  .status { padding:7px 10px; font-size:11px; } h1 { margin-top:20px; font-size:48px; line-height:.9; }
  .hero-copy>p { max-width:560px; margin-top:18px; font-size:14px; line-height:1.5; } .hero-actions { margin-top:20px; }
  .primary-button { padding:12px 17px; font-size:12px; } .secondary-link { font-size:12px; } .hero-principles { margin-top:22px; padding-top:15px; }
  .hero-principles span { font-size:11px; } .fuchsia-panel { top:18px; left:-15px; width:140px; min-height:150px; padding:18px; } .fuchsia-panel strong { font-size:24px; } .fuchsia-panel p { font-size:12px; }
  .doctor-chip { right:14px; bottom:14px; } .floating-button { width:62px; height:62px; }
  .method { grid-template-columns:48% 52%; min-height:520px; } .method-photo { min-height:520px; } .method-copy { padding:45px 4vw; } .method-copy h2 { margin:18px 0; font-size:44px; } .method-copy .lead { font-size:16px; } .method-copy>p { font-size:14px; line-height:1.5; } .method-copy blockquote { margin:18px 0; padding:14px 0; font-size:16px; }
  .contact { min-height:520px; grid-template-columns:90px 1fr .65fr; } .contact-main { padding:45px 5vw; } .contact-main h2 { font-size:50px; } .contact-data { padding:35px 4vw; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
