/* Elle Santé 2026 redesign: home + for clinicians. Scoped under .v2 so other pages keep styles.css. Generated from docs/mockups/elle-sante-site (es.css + portal.html). */
.v2{--ink:#380A36;--action:#5A1A50;--p50:#F8F3F9;--p100:#F5EEF3;--p300:#B683C0;--p400:#8D59A0;--bg:#FCF9F8;--nude:#FFEBED;--flamingo:#F4717D;--text:#2D3035;--muted:#5C6066;--line:rgba(56,10,54,.12);--maxw:1180px;--pad:clamp(20px,4vw,40px)}
.v2 img{display:block;max-width:100%}
.v2 a{color:inherit;text-decoration:none}
.v2 .w{max-width:calc(var(--maxw) + 2*var(--pad));margin:0 auto;padding:0 var(--pad)}
.v2 h1,.v2 h2{font-weight:300;color:var(--ink);letter-spacing:-.025em}
.v2 h1 strong,.v2 h2 strong{font-weight:500}
.v2 h1{font-size:clamp(2.9rem,6.2vw,5.4rem);line-height:1.02}
.v2 h2{font-size:clamp(2.2rem,4.4vw,3.7rem);line-height:1.06}
.v2 h3{font-weight:500;color:var(--ink);font-size:1.18rem;letter-spacing:-.01em}
.v2 .k{display:inline-block;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--p400);margin-bottom:16px}
.v2 .btn{display:inline-flex;align-items:center;justify-content:center;padding:.85em 1.6em;border-radius:99px;font-weight:500;font-size:1rem;border:1px solid transparent;white-space:nowrap;transition:transform .2s}
.v2 .btn:hover{transform:translateY(-2px)}
.v2 .pri{background:linear-gradient(180deg,#6B2261,var(--action));color:#fff}
.v2 .out{border-color:var(--ink);color:var(--ink)}
.v2 .wht{background:#fff;color:var(--ink)}
.v2 .cta{display:flex;gap:12px;flex-wrap:wrap}
.v2 a:focus-visible,.v2 button:focus-visible{outline:3px solid var(--p300);outline-offset:3px}
.v2 .sec{padding:clamp(76px,9vw,128px) 0}
.v2 .ph{position:relative;aspect-ratio:421/872}
.v2 .ph i{position:absolute;top:1.147%;bottom:1.147%;left:3.325%;right:3.325%;border-radius:14%/6.46%;overflow:hidden;background:#fff;display:block}
.v2 .ph i img{width:100%;height:100%;object-fit:cover;object-position:top}
.v2 .ph::after{content:"";position:absolute;inset:0;background:url(img/v2/iphone-frame.svg) center/contain no-repeat}
.v2 .hero{background:linear-gradient(180deg,var(--bg) 0%,var(--p100) 38%,#EBD7EE 75%,var(--nude) 100%);overflow:hidden}
.v2 .hg{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;min-height:clamp(600px,78vh,760px)}
.v2 .htx{padding:30px 0 70px}
.v2 .pill{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.7);border-radius:99px;padding:.45em 1.05em;font-size:.95rem;color:var(--ink);margin-bottom:26px}
.v2 .pill img{height:16px}
.v2 .htx p{font-size:1.24rem;max-width:30em;margin:24px 0 30px;color:var(--text)}
.v2 .small{font-size:.95rem!important;color:var(--muted)!important;margin:18px 0 0!important}
.v2 .stage{position:relative;height:100%;min-height:620px}
.v2 .stage .ph{position:absolute;filter:drop-shadow(0 22px 40px rgba(56,10,54,.22))}
.v2 .stage .a{width:clamp(170px,16vw,226px);left:2%;bottom:70px;transform:rotate(-6deg)}
.v2 .stage .b{width:clamp(200px,20vw,282px);left:28%;bottom:16px;z-index:3}
.v2 .stage .c{width:clamp(170px,16vw,226px);right:0;bottom:90px;transform:rotate(6deg)}
.v2 .facts{background:#fff;color:var(--ink);font-size:.98rem}
.v2 .facts .w{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 28px;padding-top:20px;padding-bottom:20px}
.v2 .facts b{font-weight:500}
.v2 .relay h2{max-width:15em}
.v2 .relay>.w>p{font-size:1.18rem;max-width:40em;margin-top:20px;color:var(--muted)}
.v2 .line{display:grid;grid-template-columns:repeat(5,1fr);margin-top:56px;position:relative}
.v2 .line:before{content:"";position:absolute;left:10%;right:10%;top:22px;border-top:2px dashed var(--p300)}
.v2 .line.ok:before{border-top:3px solid var(--ink)}
.v2 .line div{position:relative;text-align:center;padding:0 8px}
.v2 .line span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;margin:0 auto 14px;background:#fff;border:2px solid var(--p300);color:var(--ink);font-weight:500}
.v2 .line.ok span{background:var(--ink);border-color:var(--ink);color:#fff}
.v2 .line b{display:block;font-weight:500;color:var(--ink)}
.v2 .line small{color:var(--muted);font-size:.92rem}
.v2 .two-up{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.v2 .panel{border-radius:28px;padding:clamp(28px,4vw,48px)}
.v2 .panel.p{background:#fff;border:1px solid var(--line)}
.v2 .panel.s{background:var(--p100)}
.v2 .feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,96px);align-items:center}
.v2 .feat+.feat{margin-top:clamp(84px,10vw,140px)}
.v2 .feat p{font-size:1.15rem;color:var(--muted);margin:18px 0 22px}
.v2 .feat ul{list-style:none;margin-bottom:6px}
.v2 .feat li{padding:11px 0;border-top:1px solid var(--line);color:var(--ink)}
.v2 .feat li small{display:block;color:var(--muted);font-size:.95rem}
.v2 .duo{display:flex;justify-content:center;align-items:flex-start;padding:30px 0;border-radius:32px}
.v2 .duo .ph{flex:none;width:52%;max-width:280px;filter:drop-shadow(0 22px 38px rgba(56,10,54,.2))}
.v2 .duo .ph:first-child{margin-top:56px;margin-right:-14%}
.v2 .duo .ph:last-child{z-index:2}
.v2 .solo{display:flex;justify-content:center;padding:30px 0;border-radius:32px}
.v2 .solo .ph{width:min(290px,70%);filter:drop-shadow(0 22px 38px rgba(56,10,54,.2))}
.v2 .t1{background:linear-gradient(160deg,var(--p100),#EBD7EE)}
.v2 .t2{background:linear-gradient(160deg,var(--nude),#FBD9DE)}
.v2 .t3{background:linear-gradient(160deg,var(--p50),var(--p100))}
.v2 .feat.r .vis{order:2}
.v2 .badge{display:inline-block;font-size:.82rem;font-weight:500;background:var(--nude);color:var(--ink);border-radius:99px;padding:.3em .9em;margin-left:8px;vertical-align:middle;letter-spacing:0;text-transform:none}
.v2 .conn{background:linear-gradient(180deg,var(--bg),var(--p100))}
.v2 .cg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.v2 .cg div{background:#fff;border-radius:24px;padding:28px}
.v2 .cg p{color:var(--muted);font-size:1rem;margin-top:8px}
.v2 .cg i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--p100);color:var(--ink);font-style:normal;font-weight:600;margin-bottom:16px}
.v2 .clin{background:var(--ink);color:rgba(255,255,255,.9);padding-bottom:0;overflow:hidden}
.v2 .clin h2,.v2 .clin h3{color:#fff}
.v2 .clin .k{color:var(--p300)}
.v2 .ctop{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:end}
.v2 .ctop p{font-size:1.15rem;color:rgba(255,255,255,.75)}
.v2 .mods{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border-radius:24px;overflow:hidden;margin:46px 0}
.v2 .mods div{background:var(--ink);padding:26px}
.v2 .mods p{color:rgba(255,255,255,.65);font-size:.98rem;margin-top:6px}
.v2 .win{border-radius:18px 18px 0 0;overflow:hidden;box-shadow:0 -10px 60px rgba(0,0,0,.35)}
.v2 .win img{width:100%;height:clamp(260px,40vw,500px);object-fit:cover;object-position:left top}
.v2 .orig{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:center}
.v2 .orig blockquote{font-weight:300;color:var(--ink);font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.18;letter-spacing:-.02em}
.v2 .orig .by{margin-top:20px;color:var(--muted)}
.v2 .orig .card{background:#fff;border-radius:28px;padding:36px;border:1px solid var(--line)}
.v2 .orig dl>div{padding:14px 0;border-top:1px solid var(--line)}
.v2 .orig dt{font-size:.88rem;color:var(--muted)}
.v2 .orig dd{color:var(--ink);font-weight:500}
.v2 .qs details{border-top:1px solid var(--line);padding:20px 0}
.v2 .qs details:last-child{border-bottom:1px solid var(--line)}
.v2 .qs summary{cursor:pointer;font-weight:500;font-size:1.14rem;color:var(--ink)}
.v2 .qs p{margin-top:10px;color:var(--muted);max-width:46em}
.v2 .qs a{text-decoration:underline;text-underline-offset:3px}
.v2 .end{text-align:center;background:linear-gradient(180deg,var(--bg),#EBD7EE 60%,var(--nude))}
.v2 .end h2{font-size:clamp(2.8rem,6.4vw,5.2rem);margin-bottom:16px}
.v2 .end p{font-size:1.2rem;margin-bottom:30px}
.v2 .end .cta{justify-content:center}
@media(max-width:900px){.v2 .hg,.v2 .feat,.v2 .two-up,.v2 .ctop,.v2 .orig{grid-template-columns:1fr}
.v2 .feat.r .vis{order:0}
.v2 .feat .txt{order:-1}
.v2 .stage{min-height:480px}
.v2 .stage .a{width:150px;left:0}
.v2 .stage .b{width:200px;left:calc(50% - 100px)}
.v2 .stage .c{width:150px}
.v2 .cg,.v2 .mods{grid-template-columns:1fr}
.v2 .line{grid-template-columns:1fr;gap:18px;text-align:left}
.v2 .line:before{display:none}
.v2 .line div{display:grid;grid-template-columns:46px 1fr;gap:4px 14px;text-align:left}
.v2 .line span{margin:0;grid-row:span 2}}
.v2 .phero{background:linear-gradient(180deg,var(--bg),var(--p100) 60%,#EBD7EE);padding:clamp(40px,6vw,80px) 0 0;overflow:hidden;text-align:center}
.v2 .phero h1{font-size:clamp(2.6rem,5.6vw,4.8rem);max-width:13em;margin:0 auto}
.v2 .phero p.lede{font-size:1.22rem;max-width:36em;margin:22px auto 30px}
.v2 .phero .cta{justify-content:center}
.v2 .lang{display:inline-flex;background:#fff;border-radius:99px;padding:4px;margin-top:22px;border:1px solid var(--line)}
.v2 .lang button{font:inherit;font-size:.9rem;border:0;background:none;padding:.4em 1em;border-radius:99px;cursor:pointer;color:var(--ink)}
.v2 .lang button[aria-pressed=true]{background:var(--ink);color:#fff}
.v2 .browser{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(56,10,54,.22);border:1px solid var(--line)}
.v2 .browser .bar{height:34px;background:#F4F0F4;display:flex;align-items:center;gap:7px;padding:0 14px}
.v2 .browser .bar i{width:11px;height:11px;border-radius:50%;background:#DDD3DC}
.v2 .browser img{width:100%;display:block}
.v2 .phero .browser{max-width:1000px;margin:56px auto -2px;border-radius:16px 16px 0 0}
.v2 .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v2 .stats div{border-top:1px solid var(--line);padding-top:16px}
.v2 .stats b{display:block;font-weight:300;font-size:2.2rem;color:var(--ink);letter-spacing:-.02em}
.v2 .stats span{color:var(--muted)}
.v2 .row[hidden]{display:none}
.v2 .row{display:grid;grid-template-columns:.6fr 1.4fr;gap:clamp(36px,6vw,80px);align-items:center}
.v2 .row+.row{margin-top:clamp(90px,11vw,150px)}
.v2 .row.r{grid-template-columns:1.4fr .6fr}
.v2 .row.r .txt{order:2}
.v2 .row p{font-size:1.13rem;color:var(--muted);margin:18px 0 20px}
.v2 .row ul{list-style:none}
.v2 .row li{padding:11px 0;border-top:1px solid var(--line);color:var(--ink)}
.v2 .row li small{display:block;color:var(--muted);font-size:.95rem}
.v2 .row .vis{position:relative}
.v2 .row .vis .browser.sm{position:absolute;width:46%;right:-4%;bottom:-12%;box-shadow:0 24px 60px rgba(56,10,54,.28)}
.v2 .tagc{display:inline-block;font-size:.8rem;font-weight:500;border-radius:99px;padding:.3em .85em;margin:0 6px 6px 0;background:var(--p100);color:var(--ink)}
.v2 .band{background:var(--ink);color:rgba(255,255,255,.85)}
.v2 .band h2{color:#fff}
.v2 .band .k{color:var(--p300)}
.v2 .band p{color:rgba(255,255,255,.72);font-size:1.15rem;margin-top:16px}
.v2 .bridge2{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin-top:46px}
.v2 .bridge2 .side{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px}
.v2 .bridge2 h3{color:#fff;margin-bottom:10px}
.v2 .bridge2 li{list-style:none;padding:8px 0;border-top:1px solid rgba(255,255,255,.12);font-size:1rem}
.v2 .bridge2 .mid{display:flex;justify-content:center}
.v2 .bridge2 .mid .ph{width:180px}
@media(max-width:900px){.v2 .row,.v2 .row.r,.v2 .stats,.v2 .bridge2{grid-template-columns:1fr}
.v2 .row.r .txt{order:0}
.v2 .row .vis .browser.sm{display:none}
.v2 .bridge2 .mid{display:none}}
.v2{display:block;font-family:Outfit,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:18px;line-height:1.5}
.v2 *{box-sizing:border-box}.v2 h1,.v2 h2,.v2 h3,.v2 p,.v2 ul,.v2 ol,.v2 figure,.v2 blockquote,.v2 dl,.v2 dd{margin:0;padding:0}
.v2 .soon{display:inline-flex;align-items:center;padding:.85em 1.6em;border-radius:99px;font-weight:500;font-size:1rem;border:1px dashed currentColor;color:var(--ink);opacity:.85;cursor:default}
.v2 .clin .soon,.v2 .band .soon{color:#fff}
.v2 a.nuvo{text-decoration:underline;text-decoration-color:rgba(56,10,54,.3);text-underline-offset:3px}.v2 a.nuvo:hover{text-decoration-color:var(--flamingo)}
.v2 .clin a.nuvo{text-decoration-color:rgba(255,255,255,.4)}

@media(max-width:900px){.v2 .stage{width:100%;max-width:460px;margin:0 auto}}
