@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root { --ink:#123d32; --ink-2:#195641; --paper:#f3f7f1; --white:#fff; --accent:#45a76f; --accent-light:#b7edcf; --mint:#e3f4e8; --muted:#60786d; --line:rgba(18,61,50,.18); --section-gap:40px; --radius:18px; --shadow:0 20px 50px rgba(10,55,42,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:17px; line-height:1.5; }
body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
img { display:block; max-width:100%; }
.container { margin:auto; width:min(1240px,calc(100% - 48px)); }
.site-header { background:var(--paper); margin-bottom:var(--section-gap); padding:18px 0; }
.header-inner { align-items:center; display:grid; gap:28px; grid-template-columns:minmax(310px,1fr) auto auto auto; }
.brand,.footer-brand { align-items:center; display:flex; font-size:12px; font-weight:800; gap:11px; letter-spacing:.04em; line-height:1.3; text-transform:uppercase; }
.brand img,.footer-brand img { object-fit:contain; }
.header-city { border-left:1px solid var(--line); font-size:14px; line-height:1.45; padding-left:23px; }
.header-city span { color:var(--muted); }
.header-phone { font-size:17px; font-weight:800; white-space:nowrap; }
.header-cta { align-items:center; border-bottom:1px solid var(--ink); display:flex; font-size:14px; font-weight:800; gap:9px; padding-bottom:3px; white-space:nowrap; }
.header-cta span { color:var(--accent); font-size:19px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:800; letter-spacing:-.07em; }
.button { align-items:center; border:0; border-radius:16px; display:inline-flex; font-size:15px; font-weight:800; gap:24px; justify-content:space-between; min-height:58px; padding:0 24px; transition:transform .18s,background .18s; }
.button:hover { transform:translateY(-2px); }
.button-accent { background:var(--accent); color:#fff; }
.button-accent:hover { background:#2d8758; }
.button span { font-size:23px; font-weight:400; }
.section-kicker { color:var(--accent-light); font-size:13px; font-weight:800; letter-spacing:.11em; margin:0 0 18px; text-transform:uppercase; }

.hero-new { background:linear-gradient(130deg,#e9f5ea 0%,#f8fbf7 57%,#def2e5 100%); min-height:575px; overflow:hidden; position:relative; }
.hero-new::before { background:linear-gradient(115deg,transparent 42%,rgba(69,167,111,.14) 42.15%,transparent 42.5%),linear-gradient(90deg,rgba(18,61,50,.05) 1px,transparent 1px); background-size:100% 100%,110px 100%; content:""; inset:0; pointer-events:none; position:absolute; }
.hero-new-grid { align-items:stretch; display:grid; gap:22px; grid-template-columns:minmax(0,1.55fr) minmax(400px,.9fr); min-height:575px; padding:36px 0 30px; position:relative; z-index:1; }
.hero-copy { align-self:start; display:flex; flex-direction:column; grid-column:1; grid-row:1; max-width:100%; position:relative; width:670px; z-index:2; }
.hero-intro { align-items:center; background:rgba(255,255,255,.9); border-radius:24px; box-shadow:0 12px 30px rgba(10,55,42,.08); display:flex; gap:20px; margin-bottom:25px; max-width:100%; padding:13px 20px 13px 13px; width:670px; }
.hero-doctor-chip { align-items:center; display:flex; flex:none; font-size:15px; gap:13px; line-height:1.35; }
.hero-doctor-chip img { background:linear-gradient(135deg,#d9efe0,#fff); border-radius:16px; height:82px; object-fit:cover; object-position:center top; width:82px; }
.hero-doctor-chip b { color:var(--accent); }
.hero-idea { font-size:20px; font-weight:700; line-height:1.33; margin:0; max-width:350px; }
h1 { font-size:clamp(38px,3.7vw,52px); line-height:.96; margin:0; }
h1 em { color:var(--accent); font-style:normal; }
.adaptation-gift { background:var(--ink); border-radius:22px; color:#fff; display:flex; flex-direction:column; font-size:30px; line-height:1.12; margin:27px 0 23px; padding:25px 28px; position:relative; width:max-content; }
.adaptation-gift b { color:var(--accent-light); font-size:40px; }
.adaptation-gift small { color:rgba(255,255,255,.72); font-size:18px; margin-top:5px; }
.adaptation-gift::after { color:var(--accent); content:"↗"; font-size:76px; font-weight:400; line-height:1; position:absolute; right:-116px; top:33px; transform:rotate(12deg); }
.hero-copy .button { width:270px; }
.hero-product { align-self:end; background:rgba(255,255,255,.68); border:1px solid rgba(69,167,111,.26); border-radius:30px; grid-column:1; grid-row:1; height:310px; justify-self:center; margin:0 0 16px 170px; overflow:hidden; position:relative; width:360px; }
.hero-product::after { border:1px solid rgba(69,167,111,.4); content:""; inset:17px; pointer-events:none; position:absolute; transform:skewY(-7deg); }
.hero-product img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.hero-value { align-self:center; background:#fff; border-radius:28px; box-shadow:var(--shadow); grid-column:2; grid-row:1; margin-top:15px; padding:24px; }
.hero-value h2 { font-size:26px; line-height:1.08; margin:0 0 16px; }
.hero-value h2 span { color:var(--accent); display:block; }
.hero-value ul { display:grid; gap:9px; grid-template-columns:1fr 1fr; list-style:none; margin:0; padding:0; }
.hero-value li { background:var(--mint); border-left:4px solid var(--accent); border-radius:14px; margin:0; padding:10px 11px; }
.hero-value li:last-child { grid-column:1/-1; }
.hero-value li span,.hero-value li b { display:block; }
.hero-value li span { font-size:15px; font-weight:800; line-height:1.25; }
.hero-value li b { color:#507268; font-size:13px; font-weight:600; margin-top:2px; }
.hero-value-cta { border-radius:16px; margin-top:16px; width:100%; }

.truth-section { background:#fff; margin-top:var(--section-gap); overflow:hidden; padding:46px 0; }
.truth-grid { align-items:stretch; display:grid; gap:60px; grid-template-columns:1.1fr .9fr; }
.truth-lead { color:var(--accent); font-size:16px; font-weight:800; line-height:1.4; max-width:560px; }
.truth-copy h2 { font-size:clamp(28px,2.35vw,34px); line-height:1.02; margin:0 0 19px; max-width:630px; }
.truth-copy h2 em { color:var(--accent); font-style:normal; }
.truth-copy > p:last-of-type { color:#4e6960; font-size:18px; max-width:650px; }
.life-points { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:25px; }
.life-points article { border-right:1px solid var(--line); display:grid; grid-row:span 3; grid-template-rows:subgrid; padding:18px 18px 0 0; }
.life-points article+article { padding-left:18px; }
.life-points article:last-child { border-right:0; }
.life-points span { color:var(--accent); font-size:14px; font-weight:800; }
.life-points h3 { font-size:20px; line-height:1.08; margin:11px 0 9px; }
.life-points p { color:#577167; font-size:14px; line-height:1.45; margin:0; }
.doctor-panel { background:var(--ink); border-radius:30px; min-height:440px; overflow:hidden; position:relative; }
.doctor-panel-bg { background:linear-gradient(135deg,#0b3026 0%,#1a684d 55%,#95dcb2 150%); border-radius:inherit; inset:0; position:absolute; }
.doctor-panel-bg::before,.doctor-panel-bg::after { border:1px solid rgba(183,237,207,.35); content:""; height:150%; position:absolute; transform:skewX(-22deg); width:150px; }
.doctor-panel-bg::before { left:11%; top:-26%; }
.doctor-panel-bg::after { right:-2%; top:-18%; }
.doctor-panel > img { bottom:0; height:94%; max-width:none; object-fit:contain; object-position:bottom center; position:absolute; right:3%; width:auto; z-index:1; }
.doctor-panel-caption { background:rgba(255,255,255,.94); border-radius:18px; bottom:22px; left:22px; max-width:250px; padding:16px; position:absolute; z-index:2; }
.doctor-panel-caption span,.doctor-panel-caption strong,.doctor-panel-caption small { display:block; }
.doctor-panel-caption span { color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.doctor-panel-caption strong { font-size:20px; letter-spacing:-.05em; line-height:1.02; margin:7px 0; }
.doctor-panel-caption small { color:#557167; font-size:12px; line-height:1.3; }

.consultation-section { background:var(--ink); color:#fff; margin-top:var(--section-gap); overflow:hidden; padding:44px 0; position:relative; }
.consultation-section::before { background:linear-gradient(130deg,transparent 46%,rgba(183,237,207,.12) 46.15%,transparent 46.45%); content:""; inset:0; position:absolute; }
.consultation-grid { align-items:center; display:grid; gap:58px; grid-template-columns:.84fr 1.16fr; position:relative; z-index:1; }
.consultation-copy h2 { font-size:clamp(32px,3.4vw,46px); line-height:1; margin:0 0 18px; }
.consultation-copy h2 em { color:var(--accent-light); font-style:normal; }
.consultation-copy > p { color:rgba(255,255,255,.78); font-size:18px; max-width:500px; }
.consultation-phone { color:var(--accent-light); display:inline-block; font-size:27px; font-weight:800; letter-spacing:-.04em; margin:8px 0 13px; }
.clinic-addresses { border-top:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.85); font-size:15px; line-height:1.7; list-style:none; margin:0 0 25px; padding:13px 0 0; }
.clinic-addresses li::before { color:var(--accent-light); content:"✦"; margin-right:9px; }
.consultation-copy .button { border-radius:16px; }
.consultation-image { border-radius:26px; margin:0; min-height:340px; overflow:hidden; position:relative; }
.consultation-image::after { border:1px solid rgba(183,237,207,.45); content:""; inset:20px; position:absolute; }
.consultation-image img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }

.services { margin-top:var(--section-gap); }
.section-heading { display:flex; justify-content:flex-start; padding:46px 0 32px; }
.section-heading h2,.quiz-aside h2 { font-size:clamp(40px,4.6vw,64px); line-height:.95; margin:0; }
.service-grid { display:grid; gap:26px; }
.service-card { border-radius:var(--radius); color:#fff; cursor:pointer; min-height:540px; overflow:hidden; position:relative; }
.service-card::after { background:linear-gradient(90deg,rgba(7,42,32,.97) 0%,rgba(9,52,39,.85) 44%,rgba(9,52,39,.2) 78%,rgba(7,42,32,.28) 100%); content:""; inset:0; position:absolute; }
.service-card::before { border:1px solid rgba(183,237,207,.32); content:""; height:170%; position:absolute; right:18%; top:-35%; transform:skewX(-20deg); width:160px; z-index:1; }
.service-image { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.service-content { bottom:0; left:0; max-width:790px; padding:42px 48px 45px; position:absolute; right:0; z-index:2; }
.card-number { color:var(--accent-light); font-size:14px; font-weight:800; letter-spacing:.11em; margin-bottom:12px; }
.service-content h3 { font-size:clamp(46px,5vw,68px); line-height:.9; margin:0 0 18px; }
.service-content > p:not(.card-number):not(.service-list-label) { font-size:20px; line-height:1.5; margin-bottom:0; max-width:620px; opacity:.96; }
.service-list-label { border-top:1px solid rgba(255,255,255,.42); color:var(--accent-light); font-size:15px; font-weight:400; margin:22px 0 8px; padding-top:17px; }
.service-content .service-list-label + ul { border-top:0; margin-top:0; padding-top:0; }
.service-content ul { border-top:1px solid rgba(255,255,255,.42); display:grid; font-size:16px; grid-template-columns:1fr 1fr; list-style:none; margin:23px 0 0; padding:17px 0 0; row-gap:12px; }
.service-content li { padding-left:19px; position:relative; }
.service-content li::before { color:var(--accent-light); content:"✦"; left:0; position:absolute; }
.service-more { align-items:center; background:var(--accent-light); border:0; color:var(--ink); display:flex; font-size:15px; font-weight:800; gap:28px; margin-top:27px; min-height:54px; padding:0 20px; }
.service-more span { font-size:22px; font-weight:400; }

.quiz-section { background:var(--ink-2); color:#fff; margin-top:var(--section-gap); overflow:hidden; padding:74px 0; position:relative; }
.quiz-section::after { border-left:1px solid rgba(183,237,207,.18); border-right:1px solid rgba(183,237,207,.18); content:""; height:150%; position:absolute; right:12%; top:-30%; transform:skewX(-24deg); width:170px; }
.quiz-layout { display:grid; gap:78px; grid-template-columns:.8fr 1.2fr; position:relative; z-index:1; }
.quiz-aside { padding-top:9px; }
.quiz-aside > p:not(.section-kicker) { color:rgba(255,255,255,.79); font-size:16px; margin:25px 0 38px; max-width:350px; }
.quiz-aside dl { border-top:1px solid rgba(255,255,255,.25); margin:0; max-width:360px; padding:0; }
.quiz-aside dl div { align-items:center; border-bottom:1px solid rgba(255,255,255,.16); display:flex; gap:15px; padding:13px 0; }
.quiz-aside dt { color:var(--accent-light); font-size:13px; font-weight:800; }
.quiz-aside dd { color:rgba(255,255,255,.9); font-size:14px; margin:0; }
.quiz-card { background:var(--paper); border-radius:var(--radius); box-shadow:var(--shadow); color:var(--ink); min-height:478px; padding:34px 36px 27px; position:relative; }
.quiz-card.is-final { min-height:625px; }
.quiz-progress { display:flex; font-size:13px; font-weight:800; justify-content:space-between; letter-spacing:.08em; text-transform:uppercase; }
.quiz-progress span:last-child { color:var(--accent); }
.progress-line { background:#d7e2d9; height:5px; margin:15px 0 43px; }
.progress-line i { background:var(--accent); display:block; height:100%; transition:width .25s ease; }
.quiz-step { border:0; margin:0; min-width:0; padding:0; }
.final-step { padding-bottom:76px; }
.quiz-step legend { font-size:37px; font-weight:800; letter-spacing:-.06em; line-height:1.04; margin:0 0 28px; max-width:600px; padding:0; }
.answers { display:grid; gap:10px; grid-template-columns:1fr 1fr; }
.answers button { align-items:center; background:#fff; border:1px solid #cbd9cf; display:flex; font-size:16px; justify-content:space-between; min-height:59px; padding:11px 16px; text-align:left; }
.answers button:hover,.answers button:focus-visible,.answers button.selected { background:var(--ink); border-color:var(--ink); color:#fff; outline:none; }
.answers b { color:var(--accent); font-size:21px; font-weight:500; }
.quiz-controls { align-items:center; bottom:26px; display:flex; font-size:13px; gap:17px; left:36px; position:absolute; }
.quiz-controls button { background:transparent; border:0; color:var(--ink); font-weight:800; padding:5px 0; }
.quiz-controls button:disabled { color:#8fa197; cursor:not-allowed; }
.quiz-controls span { color:var(--muted); }
.final-step label,.modal-panel label { display:block; font-size:14px; font-weight:800; margin-bottom:7px; }
.final-step input,.modal-panel input { background:#fff; border:1px solid #cbd9cf; display:block; font-size:18px; margin-bottom:14px; min-height:61px; padding:0 16px; width:100%; }
.final-step input:focus,.modal-panel input:focus { border-color:var(--accent); outline:2px solid rgba(69,167,111,.22); }
.consent-note { color:var(--muted); font-size:12px; line-height:1.5; margin:0 0 19px; }
.consent-note a { color:var(--ink); text-decoration:underline; }
.form-error { color:#a62929; font-size:13px; margin:10px 0 0; }
.button:disabled { cursor:wait; opacity:.65; transform:none; }
.submit-button { min-height:54px; }
.quiz-success { align-items:flex-start; background:var(--paper); display:flex; flex-direction:column; inset:106px 36px 42px; justify-content:center; position:absolute; }
.quiz-success[hidden] { display:none; }
.quiz-success strong,.modal-success strong { font-size:40px; font-weight:800; letter-spacing:-.06em; line-height:1; }
.quiz-success p:last-child,.modal-success p { color:var(--muted); font-size:15px; margin:16px 0 0; }

.contact-modal[hidden] { display:none; }
.contact-modal { align-items:center; background:rgba(6,34,25,.72); display:flex; inset:0; justify-content:center; padding:24px; position:fixed; z-index:10; }
.modal-panel { background:var(--paper); box-shadow:0 28px 70px rgba(0,0,0,.35); max-width:620px; padding:43px 44px 39px; position:relative; width:100%; }
.modal-panel .section-kicker { color:var(--accent); }
.modal-panel h2 { font-size:clamp(29px,3.2vw,42px); line-height:1.04; margin:0 0 19px; }
.modal-intro { color:#456158; font-size:16px; line-height:1.55; margin-bottom:22px; }
.modal-visit { background:#deeee3; border-left:4px solid var(--accent); margin-bottom:25px; padding:14px 16px; }
.modal-visit span,.modal-visit strong { display:block; }
.modal-visit span { color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.modal-visit strong { font-size:15px; line-height:1.4; margin-top:3px; }
.modal-submit { margin:1px 0 17px; width:100%; }
.modal-close { align-items:center; background:transparent; border:0; color:var(--ink); display:flex; font-size:31px; height:40px; justify-content:center; line-height:1; position:absolute; right:11px; top:10px; width:40px; }
.modal-success { padding:10px 0 0; }
.modal-success[hidden] { display:none; }
.site-footer { background:#0b3328; color:#fff; margin-top:var(--section-gap); padding:44px 0 30px; }
.footer-grid { display:grid; gap:27px; grid-template-columns:1.15fr 1fr .95fr; }
.footer-legal { display:grid; font-size:14px; gap:8px; grid-template-columns:1fr; text-decoration:underline; }
.footer-links { display:grid; grid-template-columns:1fr; }
.footer-links .legal-document-link { display:block; }
.legal-document-link { overflow-wrap:anywhere; white-space:normal; }
.footer-contact { justify-self:end; text-align:left; }
.footer-contact a { font-size:18px; font-weight:800; }
.footer-contact p,.footer-details p { color:rgba(255,255,255,.76); font-size:13px; line-height:1.55; margin:8px 0 0; }
.footer-details { border-top:1px solid rgba(255,255,255,.2); grid-column:1/-1; padding-top:18px; }
.footer-details p + p { margin-top:8px; }
.footer-warning { color:var(--accent-light); font-size:clamp(21px,2.25vw,33px); font-weight:800; grid-column:1/-1; letter-spacing:-.035em; line-height:1.05; margin:2px 0 0; text-align:center; }
:focus-visible { outline:3px solid var(--accent-light); outline-offset:3px; }
@media (min-width:1051px) { .hero-product { bottom:20px; height:280px; left:420px; margin:0; position:absolute; width:330px; } }
@media (max-width:1050px) { .hero-new-grid { grid-template-columns:1.1fr .9fr; } .hero-value { grid-column:1/-1; justify-self:end; max-width:460px; width:100%; } .hero-product { height:380px; margin:80px 0 0; } .truth-grid,.consultation-grid { gap:42px; } }
@media (max-width:900px) { .header-inner { gap:18px; grid-template-columns:1fr auto auto; } .header-city,.header-cta { display:none; } .hero-new-grid { gap:22px; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); } .hero-copy { grid-column:1/-1; grid-row:1; } .hero-product { align-self:center; aspect-ratio:3/2; grid-column:1; grid-row:2; height:auto; justify-self:stretch; margin:0; min-height:0; width:100%; } .hero-product::after { border-radius:18px; transform:none; } .hero-value { grid-column:2; grid-row:2; margin-top:0; max-width:none; min-width:0; width:100%; } .hero-value ul { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .hero-value li { min-width:0; overflow-wrap:anywhere; } .hero-value-cta { gap:12px; padding-inline:16px; } .truth-grid,.consultation-grid { grid-template-columns:1fr; } .doctor-panel { max-width:560px; min-height:520px; width:100%; } .consultation-image { min-height:360px; } .quiz-layout { gap:42px; grid-template-columns:1fr; } .quiz-aside dl { display:none; } .quiz-aside > p:not(.section-kicker) { margin-bottom:0; } }
@media (max-width:700px) { .hero-new-grid { display:flex; flex-direction:column; min-height:0; } .hero-product { align-self:stretch; order:2; } .hero-value { align-self:stretch; order:3; } .hero-value ul { grid-template-columns:minmax(0,1fr); } .hero-value li:last-child { grid-column:auto; } }
@media (max-width:600px) { .container { width:min(100% - 32px,1240px); } .site-header { padding:14px 0; } .brand { font-size:10px; gap:8px; } .brand img { height:36px; width:36px; } .header-phone { font-size:13px; } .hero-new-grid { display:flex; flex-direction:column; min-height:0; padding:28px 0 38px; } .hero-copy { width:670px; } .hero-copy .button { max-width:100%; width:100%; } .hero-intro { gap:12px; margin-bottom:19px; padding:10px; width:100%; } .hero-doctor-chip { font-size:12px; gap:9px; } .hero-doctor-chip img { border-radius:12px; height:58px; width:58px; } .hero-idea { font-size:15px; } h1 { font-size:clamp(33px,9vw,41px); } .hero-product { align-self:stretch; aspect-ratio:3/2; height:auto; margin:0; min-height:0; order:2; width:100%; } .hero-product::after { border-radius:18px; inset:12px; transform:none; } .hero-value { align-self:stretch; max-width:none; min-width:0; order:3; padding:24px 19px; } .hero-value h2 { font-size:23px; } .hero-value ul { grid-template-columns:minmax(0,1fr); } .hero-value li { min-width:0; overflow-wrap:anywhere; } .hero-value li:last-child { grid-column:auto; } .hero-value-cta { gap:12px; padding-inline:16px; } .adaptation-gift { border-radius:18px; font-size:20px; margin:21px 0 17px; max-width:100%; padding:17px 19px; width:100%; } .adaptation-gift b { font-size:27px; } .adaptation-gift small { font-size:14px; } .adaptation-gift::after { display:none; } .truth-section,.consultation-section { padding:42px 0; } .truth-copy h2 { font-size:30px; } .consultation-copy h2 { font-size:36px; } .truth-copy > p:last-of-type,.consultation-copy > p { font-size:16px; } .life-points { display:block; margin-top:28px; } .life-points article,.life-points article+article { border-bottom:1px solid var(--line); border-right:0; padding:16px 0; } .doctor-panel { min-height:465px; } .doctor-panel > img { height:92%; right:-7%; } .doctor-panel-caption { bottom:14px; left:14px; max-width:218px; padding:14px; } .consultation-grid { gap:31px; } .consultation-phone { font-size:24px; } .consultation-image { min-height:280px; } .section-heading { padding:36px 0 25px; } .service-grid { gap:20px; } .service-card { min-height:605px; } .service-card::after { background:linear-gradient(180deg,rgba(7,42,32,.04) 0%,rgba(7,42,32,.93) 58%,rgba(7,42,32,.98) 100%); } .service-card::before { height:80%; right:-3%; top:-19%; width:90px; } .service-content { max-width:none; padding:29px 22px 30px; } .card-number { font-size:12px; } .service-content h3 { font-size:43px; } .service-content > p:not(.card-number) { font-size:18px; } .service-content ul { font-size:14px; grid-template-columns:1fr; margin-top:20px; padding-top:14px; row-gap:8px; } .service-more { font-size:14px; margin-top:22px; min-height:51px; } .quiz-section { padding:50px 0; } .quiz-layout { gap:34px; } .quiz-card { min-height:508px; padding:26px 20px 24px; } .quiz-card.is-final { min-height:700px; } .quiz-progress { font-size:12px; } .progress-line { margin-bottom:30px; } .quiz-step legend { font-size:29px; margin-bottom:23px; } .answers { grid-template-columns:1fr; } .answers button { font-size:15px; min-height:53px; } .quiz-controls { bottom:18px; font-size:12px; left:20px; } .quiz-controls span { display:none; } .final-step label { font-size:13px; } .consent-note { font-size:11px; } .quiz-success { inset:88px 20px 42px; } .quiz-success strong,.modal-success strong { font-size:33px; } .modal-panel { max-height:calc(100vh - 32px); overflow:auto; padding:35px 24px 28px; } .modal-panel h2 { font-size:29px; padding-right:16px; } .modal-intro { font-size:15px; } .modal-visit strong { font-size:14px; } .footer-grid { gap:22px; grid-template-columns:1fr; } .footer-contact { justify-self:start; text-align:left; } .footer-details { grid-column:auto; } .footer-warning { font-size:16px; white-space:normal; } }
@media (max-width:600px) { .header-inner { gap:8px; grid-template-columns:minmax(0,1fr) auto; } .brand { font-size:8px; } .header-phone { font-size:11px; } .hero-copy { min-width:0; width:100%; } .hero-intro { align-items:flex-start; flex-direction:column; } .service-list-label { font-size:15px; } }

/* Cohesive hero layout */
.hero-new {
  min-height:0;
}
.hero-new::after {
  background:radial-gradient(circle,rgba(183,237,207,.34) 0%,rgba(183,237,207,0) 68%);
  content:"";
  height:520px;
  pointer-events:none;
  position:absolute;
  right:-130px;
  top:-150px;
  width:520px;
}
.hero-new-grid {
  align-items:stretch;
  display:grid;
  gap:22px 24px;
  grid-template-columns:minmax(0,1.18fr) minmax(310px,.9fr) minmax(330px,1fr);
  grid-template-rows:auto auto auto auto;
  min-height:0;
  padding:44px 0 46px;
}
.hero-copy {
  display:contents;
}
.hero-intro {
  grid-column:1/3;
  grid-row:1;
  margin:0;
  width:100%;
}
.hero-copy h1 {
  align-self:start;
  font-size:clamp(42px,3.45vw,52px);
  grid-column:1;
  grid-row:2;
  max-width:100%;
}
.hero-copy h1 br {
  display:none;
}
.adaptation-gift {
  align-self:start;
  background:linear-gradient(135deg,#123d32 0%,#185844 100%);
  box-shadow:0 18px 38px rgba(10,55,42,.16);
  grid-column:1;
  grid-row:3;
  margin:0;
  max-width:380px;
  width:100%;
}
.adaptation-gift::after {
  display:none;
}
.hero-copy > .button {
  grid-column:1;
  grid-row:4;
  margin:0;
  width:270px;
}
.hero-product {
  align-self:center;
  aspect-ratio:3/2;
  border-radius:28px;
  bottom:auto;
  box-shadow:0 22px 48px rgba(10,55,42,.18);
  grid-column:2;
  grid-row:2/5;
  height:auto;
  justify-self:stretch;
  left:auto;
  margin:0;
  min-height:0;
  position:relative;
  width:100%;
}
.hero-product::after {
  border-radius:20px;
  inset:12px;
  transform:none;
}
.hero-product img {
  object-position:center;
}
.hero-value {
  align-self:center;
  border:1px solid rgba(69,167,111,.16);
  box-shadow:0 24px 58px rgba(10,55,42,.14);
  grid-column:3;
  grid-row:1/5;
  margin:0;
  max-width:none;
  min-width:0;
  padding:26px;
  width:100%;
}
.hero-value ul {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.hero-value li {
  min-width:0;
  overflow-wrap:anywhere;
}
.hero-value-cta {
  gap:12px;
  padding-inline:18px;
}

@media (max-width:1100px) {
  .hero-new-grid {
    grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);
    grid-template-rows:auto auto auto auto auto;
    padding-block:38px 42px;
  }
  .hero-intro {
    grid-column:1/-1;
  }
  .hero-copy h1 {
    grid-column:1;
  }
  .adaptation-gift {
    grid-column:1;
  }
  .hero-copy > .button {
    grid-column:1;
  }
  .hero-product {
    grid-column:2;
    grid-row:2/5;
  }
  .hero-value {
    align-self:stretch;
    grid-column:1/-1;
    grid-row:5;
  }
}

@media (min-width:901px) and (max-width:1100px) {
  .hero-value {
    align-items:center;
    display:grid;
    gap:18px;
    grid-template-columns:minmax(220px,.85fr) minmax(0,1.45fr) minmax(220px,.8fr);
  }
  .hero-value h2,
  .hero-value ul,
  .hero-value-cta {
    margin:0;
  }
}

@media (max-width:900px) {
  .hero-new-grid {
    grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
  }
  .hero-intro {
    grid-column:1/-1;
    grid-row:1;
  }
  .hero-copy h1 {
    grid-column:1;
    grid-row:2;
  }
  .adaptation-gift {
    grid-column:1;
    grid-row:3;
  }
  .hero-copy > .button {
    grid-column:1;
    grid-row:4;
  }
  .hero-product {
    grid-column:2;
    grid-row:2/5;
  }
  .hero-value {
    display:block;
    grid-column:1/-1;
    grid-row:5;
  }
  .hero-value ul {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .hero-value li:last-child {
    grid-column:auto;
  }
}

@media (max-width:820px) {
  .hero-new-grid {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto;
  }
  .hero-intro,
  .hero-copy h1,
  .adaptation-gift,
  .hero-copy > .button,
  .hero-product,
  .hero-value {
    grid-column:1;
  }
  .hero-intro { grid-row:1; }
  .hero-copy h1 { grid-row:2; }
  .adaptation-gift { grid-row:3; }
  .hero-copy > .button { grid-row:4; }
  .hero-product {
    grid-row:5;
    max-height:360px;
  }
  .hero-value { grid-row:6; }
}

@media (max-width:600px) {
  .hero-new-grid {
    display:grid;
    gap:18px;
    padding:24px 0 32px;
  }
  .hero-intro {
    gap:12px;
    padding:12px;
  }
  .hero-copy h1 {
    font-size:clamp(33px,9.8vw,42px);
  }
  .adaptation-gift {
    max-width:none;
  }
  .hero-copy > .button {
    justify-self:stretch;
    max-width:none;
    width:100%;
  }
  .hero-product {
    border-radius:24px;
    max-height:none;
  }
  .hero-value {
    border-radius:24px;
    padding:22px 19px;
  }
  .hero-value ul {
    grid-template-columns:minmax(0,1fr);
  }
  .hero-value h2 {
    font-size:24px;
  }
}
