*,*::before,*::after{box-sizing:border-box}
body{margin:0;text-wrap:pretty}
html{scroll-behavior:smooth}
a{color:#e0393e}
a:hover{color:#b32a2e}

body{background:#f3f2f2;color:#201f1d;font-family:'Montserrat',sans-serif;min-height:100vh}

@keyframes bdWaGlow{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}50%{box-shadow:0 0 0 10px rgba(37,211,102,0)}}
@keyframes bdHeaderPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}50%{box-shadow:0 0 0 8px rgba(37,211,102,0)}}
@keyframes bdTimerPulse{0%{transform:scale(1);color:#25D366}40%{transform:scale(1.08);color:#e0393e}100%{transform:scale(1);color:#25D366}}
@keyframes bdWaTap{0%,100%{transform:translate(6px,6px) rotate(-6deg) scale(1);opacity:0}15%{opacity:1}35%{transform:translate(-2px,-2px) rotate(-6deg) scale(.94);opacity:1}55%{transform:translate(6px,6px) rotate(-6deg) scale(1);opacity:1}75%{opacity:1}}
@keyframes bdPulseRing{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.1);opacity:0}}
@keyframes bdWobble{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}

/* ---------- Nav ---------- */
.bd-nav{position:fixed;top:0;left:0;right:0;z-index:500;height:70px;display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(20px,5vw,72px);background:transparent;border-bottom:1px solid transparent;transition:background-color .35s ease,border-color .35s ease}
.bd-nav.scrolled{background:rgba(243,242,242,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:rgba(32,31,29,.16)}
.bd-nav-logo{display:flex;align-items:center;text-decoration:none}
.bd-nav-logo span{font-weight:600;font-size:24px;letter-spacing:.02em;color:#201f1d}
.bd-nav-logo .accent{color:#123a6b}
.bd-nav .btn-wa{padding:9.2px 16.5px;font-size:14px;animation:bdHeaderPulse 2.2s ease-in-out infinite}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:600;font-size:14px;border-radius:4px;min-height:48px;padding:9.2px 16.5px;border:1px solid transparent;white-space:nowrap;font-family:inherit;cursor:pointer}
.btn-wa{position:relative;color:#fff;background:#25D366;border-color:#25D366;animation:bdWaGlow 2.2s ease-in-out infinite}
.btn-wa:hover{background:#1fae57;border-color:#1fae57}
.btn-outline{color:#201f1d;border-color:rgba(32,31,29,.16)}
.btn-outline:hover{background:rgba(32,31,29,.07)}
.wa-tap{position:absolute;right:12%;bottom:-12px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));animation:bdWaTap 2.2s ease-in-out infinite}

/* ---------- Layout helpers ---------- */
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
hr.bd-sep{height:1px;border:0;margin:0;background:rgba(32,31,29,.16)}
section{padding:70px 0}

/* ---------- Hero ---------- */
.hero{padding:98px 0 70px}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:42px clamp(24px,5vw,72px);align-items:center}
.hero-copy{grid-column:1;grid-row:1 / 3}
.hero-copy h1{font-weight:600;color:#201f1d;font-size:clamp(34px,5.6vw,58px);line-height:clamp(37px,6vw,63px);letter-spacing:-.01em;margin:0 0 0 -.042em;text-transform:uppercase}
.hero-copy h1 .promo{color:#e0393e}
.hero-copy p{font-size:17px;line-height:28px;max-width:46ch;color:rgba(32,31,29,.78);margin:14px 0 0}
.hero-cta{margin-top:28px}
.hero-cta .btn{width:100%}

.hero-timer{margin-top:42px;text-align:center}
.hero-timer .label{display:block;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#201f1d;margin:0 0 14px}
.timer-box{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(32,31,29,.16);border-radius:4px;padding:19.6px 28px;width:fit-content;margin:0 auto}
.timer-unit{display:flex;flex-direction:column;align-items:center}
.timer-unit .num{font-weight:500;font-size:52px;line-height:1;min-width:1.5ch;text-align:center;font-feature-settings:'tnum' 1;color:#25D366;display:inline-block}
.timer-unit .num.pulse{animation:bdTimerPulse .5s ease}
.timer-unit .unit{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(32,31,29,.6);margin-top:4px}
.timer-colon{font-size:40px;color:#25D366}

.hero-media{grid-column:2;grid-row:1;margin:0;width:100%}
.hero-video-frame{width:100%;max-width:480px;margin:0 auto;aspect-ratio:1080/1350;position:relative;overflow:hidden;border:6px solid #eae9e9;outline:1px solid rgba(32,31,29,.16);background:#eae9e9}
.hero-video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sound-btn{position:absolute;right:14px;top:14px;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 14px;border:none;border-radius:999px;cursor:pointer;background:rgba(0,0,0,.55);color:#fff;font-size:13px;font-weight:500;backdrop-filter:blur(4px);font-family:inherit}

.hero-actions{grid-column:2;grid-row:2;display:flex;gap:14px;width:100%;flex-wrap:wrap}
.hero-actions .btn{flex:1}

@media (max-width:899px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-copy{grid-column:1;grid-row:auto}
  .hero-media{grid-column:1;grid-row:auto}
  .hero-actions{grid-column:1;grid-row:auto}
}

/* ---------- Trust / two-col ---------- */
.trust-grid,.docinfo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px 56px}
@media (max-width:899px){.trust-grid,.docinfo-grid{grid-template-columns:minmax(0,1fr)}}
.trust-grid h3{font-weight:400;font-size:24px;line-height:28px;margin:0}
.trust-grid p{font-size:15.5px;line-height:28px;margin:14px 0 0;color:rgba(32,31,29,.78)}

/* ---------- Prices ---------- */
.section-title{font-weight:400;font-size:32px;line-height:1.15;margin:0 0 42px;text-align:center}
.price-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
@media (max-width:899px){.price-grid{grid-template-columns:minmax(0,1fr)}}
.price-card{border:1px solid rgba(32,31,29,.16);border-radius:7px;background:#eae9e9;padding:28px;display:flex;flex-direction:column}
.price-card img{display:block;height:56px;width:auto;max-width:100%;object-fit:contain;object-position:left center}
.price-origin{display:flex;align-items:center;gap:10px;margin-top:22px}
.price-origin .flag{width:30px;height:20px;display:inline-block;position:relative;border:1px solid rgba(32,31,29,.2);background:#fff}
.flag.kr .dot{position:absolute;left:9px;top:5px;width:10px;height:10px;border-radius:50%;background:linear-gradient(160deg,#cd2e3a 0 50%,#0047a0 50% 100%)}
.flag.ch{background:#d52b1e;border:none}
.flag.ch .v{position:absolute;left:13px;top:3.5px;width:4px;height:13px;background:#fff}
.flag.ch .h{position:absolute;left:8.5px;top:8px;width:13px;height:4px;background:#fff}
.price-origin .txt{font-size:15px;color:rgba(32,31,29,.78)}
.price-origin .txt strong{color:#201f1d}
.price-card .desc{font-size:15px;line-height:26px;color:rgba(32,31,29,.78);margin:14px 0 0}
.price-row{display:flex;align-items:flex-end;gap:14px;margin-top:24px}
.price-now{font-weight:700;font-size:clamp(30px,3vw,38px);line-height:1;color:#e0393e;white-space:nowrap}
.price-old{font-size:21px;line-height:1.2;color:rgba(32,31,29,.5);text-decoration:line-through;white-space:nowrap}
.price-cta{display:flex;justify-content:center;margin-top:36px}

/* ---------- Before/After carousel ---------- */
.ba-wrap{position:relative}
.ba-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid rgba(32,31,29,.16);background:#f3f2f2;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(45,43,43,.14)}
.ba-nav-btn:hover{background:rgba(32,31,29,.07)}
.ba-prev{left:-22px}
.ba-next{right:-22px}
.ba-viewport{overflow:hidden}
.ba-track{display:flex;transition:transform .5s ease}
.ba-slide{flex:0 0 33.3333%;padding:0 6px;box-sizing:border-box}
.ba-card{border:1px solid rgba(32,31,29,.16);border-radius:7px;overflow:hidden;background:#eae9e9}
.ba-imgs{display:grid;grid-template-columns:1fr 1fr}
.ba-img{aspect-ratio:1/1;position:relative;overflow:hidden}
.ba-img .tag{position:absolute;top:8px;left:8px;z-index:2;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#fff;background:rgba(0,0,0,.55);padding:3px 9px;border-radius:999px}
.ba-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-label{padding:14px 16.5px;font-weight:600;font-size:15px;line-height:1.3;text-align:center}
.ba-cta{display:flex;justify-content:center;margin-top:42px}

@media (max-width:1049px){.ba-slide{flex-basis:50%}}
@media (max-width:699px){.ba-slide{flex-basis:100%}}

/* ---------- Doctor ---------- */
.doc-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:42px clamp(24px,5vw,64px);align-items:center}
@media (max-width:899px){.doc-grid{grid-template-columns:minmax(0,1fr)}}
.doc-photo{position:relative;width:100%;max-width:420px;aspect-ratio:3/4;overflow:hidden;border:6px solid #eae9e9;outline:1px solid rgba(32,31,29,.16);background:#eae9e9}
.doc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.doc-kicker{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#e0393e;font-weight:600}
.doc-copy h2{font-weight:600;font-size:clamp(28px,3.4vw,40px);line-height:1.1;margin:12px 0 0;text-transform:uppercase}
.doc-copy p{font-size:16.5px;line-height:28px;color:rgba(32,31,29,.78);margin:16px 0 0;max-width:52ch}
.docinfo-grid{margin-top:28px}
.docinfo-item{padding:14px 0;border-top:1px solid rgba(32,31,29,.16)}
.docinfo-item .k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(32,31,29,.6)}
.docinfo-item .v{font-weight:600;font-size:16px;margin-top:5px}

/* ---------- Footer ---------- */
footer{padding:56px 0}
.footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:42px;justify-content:space-between}
.footer-logo{font-weight:600;font-size:20px;color:#201f1d}
.footer-logo .accent{color:#123a6b}
.btn-2gis{position:relative;font-size:18px;padding:16px 32px;animation:bdWaGlow 2.6s ease-in-out infinite}
.footer-addr{font-size:14.5px;line-height:28px;min-width:220px;color:rgba(32,31,29,.78)}
.footer-addr .strong{color:#201f1d;font-weight:700;max-width:260px}
.footer-contact{font-size:14.5px;line-height:28px;min-width:220px;display:flex;flex-direction:column;gap:4px;color:rgba(32,31,29,.78)}
.footer-contact a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;white-space:nowrap}
.footer-contact a:hover{color:#e0393e;border-bottom-color:currentColor}
.footer-bottom{margin-top:28px;padding-top:14px;border-top:1px solid rgba(32,31,29,.16);font-size:13px;color:rgba(32,31,29,.6)}

/* ---------- Floating WhatsApp ---------- */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:9999;width:60px;height:60px}
.wa-float .ring{position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:bdPulseRing 2.4s ease-out infinite}
.wa-float .ring.d2{animation-delay:1.2s}
.wa-float a{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#25D366;text-decoration:none;box-shadow:0 3px 10px rgba(45,43,43,.16);transition:transform .15s ease}
.wa-float a:hover{transform:scale(1.1)}
.wa-float svg.icon{position:relative;z-index:2}
.wa-float svg.icon.wobble{animation:bdWobble .6s ease}
.wa-tooltip{position:absolute;right:calc(100% + 12px);bottom:8px;white-space:nowrap;background:#201f1d;color:#f3f2f2;font-size:14px;line-height:1.3;padding:10px 14px;border-radius:2px;box-shadow:0 3px 10px rgba(45,43,43,.16);opacity:0;pointer-events:none;transition:opacity .2s ease}
.wa-tooltip.show{opacity:1}
