/* styles.css */
:root{--navy:#0b1f44;--navy-light:#173656;--ink:#102b43;--muted:#536572;--teal:#14b8a6;--mint:#c9f2e5;--paper:#f8f9f5;--white:#fff;--line:#d9e2dc;--sage:#e8eee3;--font:'DM Sans',Arial,sans-serif;--display:Manrope,Arial,sans-serif;scroll-behavior:smooth;scroll-padding-top:var(--header-offset,108px);color-scheme:light}
*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.65;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}button,input,select{font:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d99545;outline-offset:5px}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);line-height:1.16}h1,h2{font-weight:500;text-wrap:balance}h2{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.045em}h3{font-weight:600}ul,ol{margin:0;padding:0}[hidden]{display:none!important}.container{width:min(1260px,calc(100% - 80px));margin-inline:auto}.section{padding-block:94px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.6;color:#327263;margin-bottom:18px}.wordmark{font-family:var(--display);font-size:1.85rem;letter-spacing:-.075em;line-height:1;font-weight:400;text-decoration:none;white-space:nowrap}.wordmark strong{font-weight:800}.wordmark span{color:var(--teal);font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;min-height:52px;max-width:100%;border:1px solid transparent;border-radius:7px;text-decoration:none;font-weight:600;font-size:.93rem;line-height:1.4;transition:background .18s,transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 16px #0b1f4414}.button-navy{background:var(--navy);color:white}.button-navy:hover{background:#1b365d}.button-mint{background:var(--mint);color:var(--navy)}.text-link{text-underline-offset:6px;font-size:.93rem;font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:var(--navy);color:white;padding:14px 22px;border-radius:5px}.skip-link:focus{top:15px}
.site-header{position:sticky;top:0;z-index:30;background:#f8f9f5f5;border-bottom:1px solid #d9e2dc80;backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;min-height:88px;padding-block:16px}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.desktop-nav a,.mobile-nav a{font-size:.88rem;font-weight:500;text-decoration:none}.desktop-nav a:hover{color:#0b7d6c}.header-actions{display:flex;align-items:center;gap:18px;max-width:100%}.language-switch{display:flex;border:1px solid #cdd8d2;border-radius:30px;padding:4px;gap:2px}.language-switch a{display:grid;place-items:center;min-width:36px;min-height:36px;padding:6px 8px;border-radius:50%;font-size:.72rem;text-decoration:none;font-weight:600}.language-switch a[aria-current=true]{background:var(--navy);color:white}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;min-width:44px;height:44px;border:0;background:none}.menu-toggle span{display:block;width:22px;height:2px;background:var(--navy)}.mobile-nav{padding:15px 30px 25px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.hero{display:grid;grid-template-columns:1fr 1.06fr;gap:58px;align-items:center;padding-block:42px 52px}.hero>*{min-width:0}.hero-copy{padding:12px 0}.hero h1{font-size:clamp(3rem,4.9vw,4.65rem);letter-spacing:-.06em;line-height:1.07;white-space:pre-line;max-width:620px}.hero-description{font-size:1.1rem;line-height:1.75;color:var(--muted);max-width:525px;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:29px;flex-wrap:wrap}.hero-tags{list-style:none;display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:25px;max-width:520px}.hero-tags li{font-size:.8rem;line-height:1.7;color:#4a6359}.hero-tags li::before{content:'✓';color:#197764;margin-right:8px}.hero-film{height:570px;position:relative;border-radius:16px 100px 16px 16px;overflow:hidden;background:var(--navy)}.hero-film picture,.hero-film picture img{width:100%;height:100%;display:block}.hero-film picture img{object-fit:cover;object-position:50% 35%}.hero-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-film::after{content:'';position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#051427dd);pointer-events:none}.hero-clock{position:absolute;top:25px;left:25px;color:white;font-family:var(--display);font-size:1.25rem;letter-spacing:.015em;padding:9px 14px;background:#0b1f44b0;border:1px solid #ffffff30;border-radius:7px;backdrop-filter:blur(8px);z-index:2}.hero-clock span{font-size:.67rem;margin-left:5px;letter-spacing:.12em}.hero-film-copy{position:absolute;bottom:27px;left:26px;right:26px;z-index:3;color:white;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:end}.wait-time{display:flex;flex-direction:column;gap:3px}.wait-time strong{font-family:var(--display);font-weight:500;font-size:2.6rem;line-height:1.1;letter-spacing:-.04em;white-space:nowrap}.wait-time strong span{font-size:1rem;letter-spacing:0}.wait-time>span{font-size:.76rem;line-height:1.65;color:#e0e8e7}.wait-time small{font-size:.75rem;line-height:1.6;color:#b8ccc9}.hero-film-copy>p{font-family:var(--display);font-size:1.12rem;line-height:1.5;letter-spacing:-.02em;max-width:260px;padding-bottom:5px}.media-control{position:absolute;right:18px;top:18px;z-index:5;background:var(--navy);color:white;border:1px solid #ffffff55;border-radius:25px;padding:10px 16px;min-height:44px;font-size:.78rem}.proof-strip{background:var(--navy);color:#fff}.proof-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:24px;padding-block:26px}.proof-inner span{font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:13px}.proof-inner span::before{content:'✓';color:var(--mint);font-size:1rem}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:38px}.section-heading>div{max-width:650px}.section-description{color:var(--muted);max-width:390px;font-size:1rem;line-height:1.8}.care-layout{display:grid;grid-template-columns:.9fr 1.15fr;gap:24px}.care-options{display:flex;flex-direction:column;gap:12px}.care-option{position:relative;display:grid;grid-template-columns:26px 1fr;column-gap:16px;text-align:left;min-width:0;background:transparent;border:1px solid var(--line);padding:24px;border-radius:10px;transition:background .18s,border-color .18s,transform .18s}.care-option[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.care-option:hover{transform:translateX(3px);border-color:#849d8d}.care-index{font-family:var(--display);font-size:.75rem;color:#617567;grid-row:1/3;line-height:1.7;padding-top:1px}.care-title{font-family:var(--display);font-size:1.13rem;line-height:1.4;letter-spacing:-.03em;font-weight:600;display:block}.care-description{display:block;font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:7px;grid-column:2}.care-option[aria-pressed=true] .care-index{color:#abdbc9}.care-option[aria-pressed=true] .care-description{color:#c2d2e2}.care-detail{background:#e7eee3;border-radius:12px;padding:35px 38px;display:flex;flex-direction:column;justify-content:center;min-width:0}.care-detail h3{font-size:1.6rem;line-height:1.3;font-weight:500;letter-spacing:-.04em;max-width:490px}.care-detail p{font-size:.97rem;line-height:1.85;color:#3e5c4e;margin-top:19px}.care-detail small{display:block;font-size:.8rem;line-height:1.75;color:#53675b;margin-top:18px}.care-examples{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:23px}.care-examples li{font-size:.8rem;line-height:1.5;background:#ffffffaa;border:1px solid #d3dfcf;border-radius:20px;padding:7px 12px;color:#2b5645}.care-detail .text-link{align-self:start;margin-top:22px;color:#154d3f}.detail-content{animation:detail-arrive .22s ease-out}@keyframes detail-arrive{from{transform:translateY(5px);opacity:.5}to{transform:none;opacity:1}}
.consultations-section{background:#eef2ec;border-top:1px solid #e0e7dd;padding-block:80px}.consultation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.consultation-card{background:#fff;border:1px solid #d5e0d6;border-radius:12px;overflow:hidden;min-width:0}.consultation-card summary{list-style:none;padding:29px 27px 24px;position:relative;min-height:245px}.consultation-card summary::-webkit-details-marker{display:none}.consultation-kicker{display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-size:.75rem;color:#4b7663;margin-bottom:27px;gap:15px}.consultation-mark{font-family:var(--display);font-size:1.7rem;font-weight:500;letter-spacing:-.055em;line-height:1;color:var(--ink)}.consultation-card h3{font-size:1.45rem;font-weight:500;letter-spacing:-.04em;line-height:1.3;margin-bottom:15px}.consultation-card summary p{font-size:.93rem;line-height:1.8;color:var(--muted)}.consultation-more{display:inline-flex;gap:12px;align-items:center;font-size:.82rem;font-weight:600;color:#286a54;margin-top:21px}.consultation-more::after{content:'+';font-size:1.1rem;font-weight:400}.consultation-card[open] .consultation-more::after{content:'−'}.consultation-card[open]{border-color:#91b69c;box-shadow:0 8px 24px #1e523009}.consultation-details{padding:0 27px 26px}.consultation-details ul{list-style:none;border-top:1px solid #dce5db;padding-top:17px}.consultation-details li{font-size:.875rem;line-height:1.85;padding:5px 0 5px 19px;position:relative}.consultation-details li::before{content:'✓';position:absolute;left:0;color:#1d7d60}.consultation-details p{font-size:.8rem;line-height:1.8;color:#53675b;background:#edf3e9;border-radius:6px;padding:14px 16px;margin-top:18px}.scope-note{font-size:.82rem;line-height:1.85;color:#506454;margin-top:24px;max-width:1000px}
.pharmacy-section{background:var(--navy);color:white;padding-block:86px}.pharmacy-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.pharmacy-grid>*{min-width:0}.support-film{height:570px;position:relative;border-radius:100px 12px 12px 12px;overflow:hidden;background:#223a54}.support-film>img,.support-film video{width:100%;height:100%;object-fit:cover;object-position:55% center}.support-film video{position:absolute;inset:0}.support-film::after{position:absolute;inset:55% 0 0;content:'';background:linear-gradient(transparent,#0b1f44bf);pointer-events:none}.film-caption{position:absolute;bottom:30px;left:30px;right:25px;font-size:1.4rem;font-family:var(--display);letter-spacing:-.03em;line-height:1.4;z-index:2;max-width:350px}.pharmacy-copy .eyebrow{color:#a7ddc9}.pharmacy-copy h2{font-size:clamp(2.15rem,3.4vw,3.15rem);max-width:530px}.pharmacy-copy>p:not(.eyebrow){font-size:1rem;color:#c9d8e4;line-height:1.85;margin-top:24px}.pharmacy-steps{margin-top:25px;list-style:none}.pharmacy-steps li{display:flex;gap:18px;border-top:1px solid #30466a;padding:16px 0;align-items:start;font-size:.93rem;line-height:1.7}.pharmacy-steps span{font-size:.75rem;color:#9bd8c2;line-height:2;flex-shrink:0}.support-highlights{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px;padding-top:24px;border-top:1px solid #30466a}.support-highlights h3{font-size:.95rem;line-height:1.5;color:#d4f3e7;letter-spacing:-.02em;margin-bottom:9px}.support-highlights p{font-size:.84rem;line-height:1.8;color:#b8cbd9}.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.how-step{padding:29px;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:0}.step-number{display:inline-flex;align-items:center;justify-content:center;color:#1a6149;background:#e7f0e2;border-radius:50%;height:43px;width:43px;font-family:var(--display);font-size:.875rem;margin-bottom:27px}.how-step h3{font-size:1.3rem;letter-spacing:-.04em;margin-bottom:16px;line-height:1.35}.how-step>p{color:var(--muted);font-size:.94rem;line-height:1.8}.how-step details{border-top:1px solid var(--line);margin-top:23px;padding-top:17px}.how-step summary{font-size:.82rem;font-weight:600;color:#2b7159;list-style-position:inside}.how-step details p{font-size:.85rem;line-height:1.8;color:var(--muted);padding-top:14px}
.plans-section{padding-block:84px 78px;background:#eaf0e8}.plans-heading{text-align:center;max-width:810px;margin:0 auto 40px}.plans-heading .section-description{max-width:690px;margin:20px auto 0}.plan-group-label{font-size:.78rem;font-weight:600;color:#4d705b;margin-bottom:16px;letter-spacing:.035em}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.plan-card{background:#fff;border:1px solid #d0ded3;border-radius:12px;padding:31px 28px;display:flex;flex-direction:column;min-width:0}.plan-card-family{background:var(--navy);color:white;border-color:var(--navy)}.plan-card h3{font-size:1.4rem;letter-spacing:-.04em;font-weight:600}.plan-description{font-size:.9rem;color:var(--muted);line-height:1.75;min-height:81px;margin-top:15px}.plan-card-family .plan-description{color:#c1d1e1}.plan-price{font-family:var(--display);font-size:clamp(2.1rem,3.5vw,3.35rem);font-weight:500;letter-spacing:-.06em;line-height:1.2;margin-top:23px;overflow-wrap:anywhere}.plan-period{font-size:.78rem;letter-spacing:0;font-family:var(--font);color:var(--muted);display:block;margin-top:8px}.plan-card-family .plan-period{color:#c1d1e1}.plan-members{display:inline-block;font-size:.82rem;font-weight:500;border-radius:18px;background:#edf3ed;color:#315d4a;padding:5px 12px;margin:19px 0 10px}.plan-card-family .plan-members{background:#2a4560;color:#d7f2e6}.plan-per-person{font-size:.78rem;line-height:1.75;color:var(--muted);min-height:53px;margin-bottom:18px}.plan-card-family .plan-per-person{color:#bbd4df}.plan-features{list-style:none;margin-bottom:29px;border-top:1px solid var(--line);padding-top:20px}.plan-card-family .plan-features{border-color:#3b526f}.plan-features li{position:relative;padding-left:21px;font-size:.875rem;line-height:1.7;margin-bottom:13px}.plan-features li::before{content:'✓';position:absolute;left:0;top:0;color:#167764}.plan-card-family .plan-features li::before{color:var(--mint)}.plan-card .button{margin-top:auto;width:100%}.shared-benefits{padding:33px 0 42px}.shared-benefits h3{font-size:1rem;line-height:1.5;letter-spacing:-.02em;margin-bottom:19px}.shared-benefits ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 35px}.shared-benefits li{font-size:.88rem;line-height:1.85;padding-left:20px;position:relative}.shared-benefits li::before{content:'✓';position:absolute;left:0;color:#167764}.cost-note{margin-top:22px;color:#4c6155;font-size:.82rem;line-height:1.85;max-width:1050px}.business-panel{background:var(--navy);color:white;border-radius:12px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.business-panel>*{min-width:0}.business-panel .eyebrow{color:var(--mint)}.business-panel h2{font-size:2.2rem;max-width:450px}.business-intro>p:not(.eyebrow){color:#c9d8e4;font-size:.94rem;margin-top:22px;line-height:1.85}.business-intro .business-quote-label{font-size:.82rem;color:#bde6d4;font-weight:600;margin-top:19px}.business-intro .button{margin-top:24px}.business-benefits ul{list-style:none}.business-benefits li{padding:15px 0 15px 23px;border-bottom:1px solid #2a4264;font-size:.93rem;line-height:1.8;position:relative}.business-benefits li:last-child{border:0}.business-benefits li::before{content:'✓';position:absolute;left:0;color:var(--mint)}.comparison{margin-top:32px;border-top:1px solid #c8d7c9;border-bottom:1px solid #c8d7c9}.comparison summary{font-size:.95rem;font-weight:600;padding:22px 0;list-style-position:inside}.table-scroll{overflow-x:auto;margin-bottom:24px;border-radius:7px}.comparison table{border-collapse:collapse;width:100%;background:#f8faf6;text-align:left;font-size:.82rem;line-height:1.7;min-width:730px}.comparison th,.comparison td{padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:top}.comparison th{font-weight:600}.comparison th[scope=row]{max-width:260px}.comparison thead{background:#dae6da}
.faq-section{display:grid;grid-template-columns:.8fr 1.3fr;gap:85px}.faq-section h2{max-width:360px}.faq-list details{border-bottom:1px solid var(--line);padding:23px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:1rem;font-weight:500;line-height:1.7;padding-right:30px;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:2px;top:-3px;font-size:1.45rem;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details p{font-size:.94rem;line-height:1.85;color:var(--muted);padding-top:17px}.site-footer{background:var(--navy);color:#fff;padding-block:54px 30px}.footer-top{display:flex;justify-content:space-between;gap:45px;padding-bottom:42px}.footer-top>div>p{font-size:.94rem;color:#bdd1de;margin-top:20px;max-width:420px}.footer-top nav{display:flex;gap:28px;flex-wrap:wrap;align-items:start}.footer-top nav a{font-size:.86rem;text-decoration:none;color:#d6e2e8}.footer-top nav a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{padding-top:23px;border-top:1px solid #30486b;display:flex;justify-content:space-between;gap:30px;font-size:.76rem;line-height:1.8;color:#b7cad8}
.plan-dialog{width:min(570px,calc(100% - 32px));max-height:calc(100% - 40px);padding:0;border:0;border-radius:15px;box-shadow:0 24px 100px #0003;background:var(--paper);color:var(--ink)}.plan-dialog::backdrop{background:#071831b3;backdrop-filter:blur(5px)}.dialog-inner{position:relative;padding:44px}.dialog-close{position:absolute;right:14px;top:12px;background:none;border:0;min-width:44px;min-height:44px;font-size:28px;color:var(--muted)}.plan-dialog h2{font-size:2.2rem;margin-right:15px}.dialog-price{font-family:var(--display);font-size:2.7rem;font-weight:500;letter-spacing:-.055em;line-height:1.2;margin-top:25px}.dialog-price small{font-family:var(--font);font-size:.8rem;letter-spacing:0;margin-left:8px;color:var(--muted)}.dialog-members{font-size:.93rem;margin-top:12px;color:var(--muted)}.dialog-benefits{list-style:none;margin-top:22px;font-size:.9rem}.dialog-benefits li{padding:7px 0}.dialog-benefits li::before{content:'✓';color:#197563;margin-right:10px}.dialog-extra{font-size:.82rem;line-height:1.85;color:var(--muted);margin-top:22px}.dialog-business-description{font-size:1rem;line-height:1.85;margin-top:22px;color:var(--muted)}#dialog-action .button{width:100%;margin-top:25px}.dialog-note{margin-top:23px;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem;line-height:1.85;color:var(--muted)}.dialog-note:empty{display:none}.noscript-note{padding:25px;background:#fff4d6;color:#574728;text-align:center}
@media(min-width:1600px){.hero{padding-block:50px 60px}.hero-film{height:620px}.hero h1{font-size:4.8rem}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.desktop-nav{gap:20px}.header-inner{gap:24px}.hero{gap:34px}.hero h1{font-size:3.6rem}.hero-film{height:530px;border-top-right-radius:75px}.hero-description{font-size:1rem}.hero-film-copy{grid-template-columns:1fr;gap:13px;bottom:25px}.hero-film-copy>p{font-size:.93rem;max-width:290px}.wait-time strong{font-size:2.3rem}.pharmacy-grid{gap:42px}.support-film{height:570px}.proof-inner{gap:20px}.proof-inner span{font-size:.8rem}.care-detail{padding:29px}.consultation-grid{gap:15px}.consultation-card summary{padding:25px 22px;min-height:270px}.consultation-details{padding:0 22px 25px}.plans-grid{gap:14px}.plan-card{padding:26px 22px}.plan-price{font-size:2.8rem}.plan-description{min-height:105px}.business-panel{padding:35px;gap:38px}.faq-section{gap:50px}.footer-top nav{gap:19px}}
@media(max-width:800px){.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:flex}.container{width:calc(100% - 44px)}.header-inner{min-height:78px}.hero{gap:26px;padding-block:32px 38px}.hero h1{font-size:3rem}.hero-film{height:525px;border-top-right-radius:55px}.hero-description{font-size:.94rem}.hero-actions{gap:20px}.hero-tags{font-size:.78rem;gap:6px 16px}.hero-clock{left:18px;top:18px;font-size:1.1rem}.hero-film-copy{left:20px;right:20px}.hero-film-copy>p{font-size:.9rem}.proof-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 25px}.proof-inner span{font-size:.875rem}.section{padding-block:70px}.section-heading{gap:30px;align-items:start}.section-description{max-width:310px;font-size:.95rem}.care-layout{grid-template-columns:1fr 1.06fr;gap:16px}.care-option{padding:22px 18px;column-gap:10px}.care-title{font-size:1rem}.care-description{font-size:.84rem}.care-detail{padding:24px}.care-detail h3{font-size:1.35rem}.care-detail p{font-size:.9rem}.consultations-section{padding-block:62px}.consultation-grid{grid-template-columns:1fr}.consultation-card summary{min-height:0;padding:25px}.consultation-kicker{margin-bottom:19px}.consultation-details{padding:0 25px 25px}.pharmacy-section{padding-block:62px}.pharmacy-grid{gap:30px}.support-film{height:600px;border-top-left-radius:75px}.pharmacy-copy h2{font-size:2.2rem}.pharmacy-copy>p:not(.eyebrow){font-size:.93rem}.pharmacy-steps li{font-size:.875rem}.support-highlights{grid-template-columns:1fr;gap:18px}.how-grid{gap:16px}.how-step{padding:23px}.how-step h3{font-size:1.15rem}.how-step>p{font-size:.9rem}.plans-grid{grid-template-columns:1fr}.plan-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:0 35px;padding:30px}.plan-top{grid-column:1;grid-row:1}.plan-description{min-height:0}.plan-features{grid-column:2;grid-row:1/3;margin:0;padding-top:0;border:0}.plan-card .button{grid-column:1;align-self:end}.plan-price{font-size:3.2rem}.plan-per-person{min-height:0}.plans-section{padding-block:66px}.business-panel{grid-template-columns:1fr;gap:25px;padding:36px}.business-panel h2{max-width:600px}.business-benefits ul{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.faq-section{grid-template-columns:1fr;gap:35px}.faq-section h2{max-width:650px}.footer-top{flex-direction:column;gap:30px}.footer-bottom{flex-direction:column;gap:14px}.film-caption{font-size:1.1rem;left:22px}.plan-dialog h2{font-size:2rem}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.wordmark{font-size:1.6rem}.header-inner{gap:16px;min-height:74px}.header-actions{gap:7px}.language-switch{gap:0;padding:3px}.language-switch a{min-width:32px;min-height:32px;font-size:.7rem}.menu-toggle{min-width:38px}.hero{display:grid;grid-template-columns:1fr;gap:0;padding-block:27px 32px}.hero-copy{display:contents}.hero-copy>.eyebrow{grid-row:1;font-size:.7rem;margin-bottom:13px}.hero h1{grid-row:2;font-size:clamp(2.5rem,10.7vw,3.45rem);letter-spacing:-.055em;max-width:475px;line-height:1.08}.hero-film{grid-row:3;margin-top:23px;height:300px;border-radius:10px 55px 10px 10px}.hero-film picture img{object-position:50% 35%}.hero-description{grid-row:4;font-size:1rem;line-height:1.8;margin-top:22px}.hero-actions{grid-row:5;gap:20px;margin-top:23px}.hero-tags{grid-row:6;margin-top:19px;gap:7px 19px}.button{padding:14px 20px;font-size:.88rem}.hero-clock{font-size:1rem;padding:7px 10px;left:15px;top:15px}.hero-clock span{font-size:.62rem}.hero-film-copy{left:17px;right:17px;bottom:18px;grid-template-columns:auto 1fr;gap:19px;align-items:end}.wait-time strong{font-size:2.2rem}.wait-time strong span{font-size:.85rem}.wait-time>span,.wait-time small{font-size:.7rem}.hero-film-copy>p{font-size:.87rem;line-height:1.5;max-width:160px}.hero-film .media-control{right:12px;top:12px;font-size:.74rem;padding:8px 12px}.proof-inner{gap:15px 20px;padding-block:23px}.proof-inner span{font-size:.8rem;align-items:start;gap:10px}.section{padding-block:56px}.section-heading{display:block;margin-bottom:29px}.section-description{max-width:none;margin-top:20px;font-size:1rem}.eyebrow{font-size:.7rem;margin-bottom:15px}h2{font-size:2.15rem;letter-spacing:-.04em}.care-layout{grid-template-columns:1fr;gap:18px}.care-options{gap:10px}.care-option{padding:22px;grid-template-columns:24px 1fr;column-gap:13px}.care-title{font-size:1.1rem}.care-description{font-size:.9rem}.care-detail{padding:27px 24px}.care-detail h3{font-size:1.5rem}.care-detail p{font-size:.95rem}.care-examples li{font-size:.78rem}.care-detail small{font-size:.8rem}.consultations-section{padding-block:52px}.consultation-card h3{font-size:1.45rem}.consultation-card summary p{font-size:.95rem}.consultation-card summary{padding:27px 24px 23px}.consultation-details{padding:0 24px 24px}.consultation-details li{font-size:.9rem}.scope-note{font-size:.82rem}.pharmacy-grid{grid-template-columns:1fr;gap:34px}.pharmacy-section{padding-block:45px}.support-film{height:330px;border-radius:70px 10px 10px 10px}.pharmacy-copy h2{font-size:2.3rem}.pharmacy-copy>p:not(.eyebrow){font-size:1rem;margin-top:22px}.pharmacy-steps li{font-size:.93rem;padding-block:16px}.support-highlights{grid-template-columns:1fr 1fr;gap:20px}.support-highlights p{font-size:.82rem}.film-caption{font-size:1.2rem;left:23px}.how-grid{grid-template-columns:1fr;gap:16px}.how-step{padding:27px}.step-number{margin-bottom:22px}.how-step h3{font-size:1.25rem}.how-step>p{font-size:.95rem}.how-step details p{font-size:.88rem}.plans-section{padding-block:52px}.plans-heading{text-align:left;margin-bottom:28px}.plans-heading .section-description{font-size:1rem;margin-top:21px}.plan-card{display:flex;gap:0;padding:27px 25px}.plan-card h3{font-size:1.45rem}.plan-description{font-size:.95rem;margin-top:13px}.plan-price{font-size:3.3rem;margin-top:23px}.plan-period{font-size:.8rem}.plan-members{font-size:.85rem}.plan-per-person{font-size:.8rem}.plan-features{border-top:1px solid var(--line);padding-top:21px;margin-bottom:23px}.plan-card-family .plan-features{border-color:#3b526f}.plan-features li{font-size:.91rem;margin-bottom:13px}.plan-card .button{align-self:stretch}.shared-benefits{padding-block:30px}.shared-benefits ul{grid-template-columns:1fr;gap:12px}.shared-benefits li{font-size:.9rem}.cost-note{font-size:.82rem}.business-panel{padding:28px 25px;gap:26px}.business-panel h2{font-size:2rem}.business-benefits ul{display:block}.business-benefits li{font-size:.9rem}.business-intro>p:not(.eyebrow){font-size:.95rem}.business-intro .button{width:100%}.comparison summary{font-size:.9rem}.faq-section{gap:30px}.faq-list details{padding-block:21px}.faq-list summary{font-size:.96rem}.faq-list details p{font-size:.93rem}.site-footer{padding-top:43px}.footer-top{padding-bottom:33px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px}.footer-top nav a{font-size:.9rem}.footer-bottom{font-size:.78rem}.dialog-inner{padding:38px 26px 30px}.plan-dialog h2{font-size:1.85rem}.dialog-price{font-size:2.6rem}}
@media(max-width:360px){.wordmark{font-size:1.4rem}.header-inner{gap:8px}.hero-film-copy{grid-template-columns:1fr;gap:0}.hero-film-copy>p{display:none}.hero-film{height:280px}.hero-clock{font-size:.9rem}.support-highlights{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover,.care-option:hover{transform:none}}

/* Patient portal access stays compact in the header and leads the phone menu. */
.header-login{min-height:44px;padding:10px 18px;white-space:nowrap}
.mobile-nav .mobile-login{display:none;font-weight:600}
@media(max-width:1250px){.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:flex}}
@media(max-width:600px){.header-login{display:none}.mobile-nav .mobile-login{display:inline-flex;align-self:flex-start;min-height:44px;padding:10px 20px}}

/* The story begins with the immediate concern, then builds toward lasting value. */
.hero-subheading{font-family:var(--display);font-size:clamp(1.2rem,1.6vw,1.5rem);line-height:1.45;letter-spacing:-.025em;margin-top:22px;color:var(--ink);font-weight:500}.hero-description{margin-top:15px}.care-section{padding-bottom:54px}.how-section{padding-top:32px;border-top:1px solid var(--line)}.how-section .section-heading{padding-top:18px}.value-section{display:grid;grid-template-columns:1fr 1fr;gap:40px 85px;align-items:center}.value-intro h2{max-width:550px}.value-intro>p:not(.eyebrow){font-size:1.03rem;line-height:1.85;color:var(--muted);margin-top:24px;max-width:520px}.value-benefits{display:flex;flex-direction:column;gap:0}.value-benefit{display:flex;gap:19px;padding:23px 0;border-bottom:1px solid var(--line)}.value-benefit:first-child{padding-top:0}.value-benefit>span{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:50%;color:#246149;background:#e4eedf;font-size:1rem}.value-benefit h3{font-size:1.15rem;line-height:1.4;letter-spacing:-.025em;font-weight:600;margin:3px 0 9px}.value-benefit p{font-size:.95rem;line-height:1.8;color:var(--muted)}.value-note{grid-column:1/-1;font-size:.83rem;line-height:1.85;color:var(--muted);border-top:1px solid var(--line);padding-top:22px}.consultation-grid:has(>.consultation-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.consultation-card summary{min-height:235px}
@media(max-width:800px){.hero-subheading{font-size:1.18rem;margin-top:18px}.value-section{gap:32px 35px}.value-benefit{gap:13px}.value-benefit h3{font-size:1.05rem}}
@media(max-width:600px){.hero-subheading{grid-row:3;font-size:1.13rem;line-height:1.5;margin-top:14px}.hero-film{grid-row:4;margin-top:20px}.hero-description{grid-row:5}.hero-actions{grid-row:6}.hero-tags{grid-row:7}.care-section{padding-bottom:35px}.how-section{padding-top:24px}.how-section .section-heading{padding-top:0}.value-section{grid-template-columns:1fr;gap:29px}.value-intro>p:not(.eyebrow){font-size:1rem}.value-note{padding-top:20px}.consultation-grid:has(>.consultation-card:nth-child(2):last-child){grid-template-columns:1fr}.value-benefit p{font-size:.94rem}.value-benefit h3{font-size:1.12rem}.consultation-card summary{min-height:0}}

.process-note{font-size:.8rem;line-height:1.85;color:var(--muted);margin-top:22px;max-width:990px}.value-intro h2,.pharmacy-copy h2{white-space:pre-line}

/* motion.css */
/*
 * Interaction layer for the existing 2AMDoctor layout.
 * motion.js owns reveal translate/opacity and scroll-driven photo variables.
 * This file reserves transform for hover, press, icons, and image movement.
 */

:root {
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
  --motion-quick: 180ms;
  --motion-settle: 320ms;
  --motion-card-shadow: 0 16px 36px -16px rgb(11 31 68 / 24%);
}

/* Header: an understated reading-progress line and a settled scroll state. */
.site-header {
  transition: box-shadow 280ms ease, border-color 280ms ease;
}

.site-header.is-scrolled {
  border-bottom-color: rgb(11 31 68 / 12%);
  box-shadow: 0 6px 24px -15px rgb(11 31 68 / 28%);
}

.site-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, #188e80, var(--teal));
  transform: scaleX(var(--page-progress, 0));
  transform-origin: left center;
}

/* Links draw their underline without changing text metrics or hit areas. */
.motion-ready :is(.desktop-nav a, .mobile-nav a, .footer-top nav a, .text-link) {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: left calc(100% - 1px);
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition:
    color var(--motion-quick) ease,
    background-size 280ms var(--motion-ease);
}

.motion-ready .text-link {
  background-size: 24% 1px;
}

.motion-ready :is(.desktop-nav a, .mobile-nav a, .footer-top nav a, .text-link):focus-visible {
  background-size: 100% 1px;
}

.motion-ready .footer-top nav a:hover {
  text-decoration: none;
}

/* Buttons keep the site's existing visible focus outline. */
.motion-ready :is(.button, .media-control, .dialog-close, .language-switch a) {
  transition:
    transform var(--motion-settle) var(--motion-ease),
    background-color var(--motion-quick) ease,
    border-color var(--motion-quick) ease,
    color var(--motion-quick) ease,
    box-shadow var(--motion-settle) var(--motion-ease);
}

.motion-ready .button:focus-visible {
  box-shadow: 0 0 0 4px rgb(20 184 166 / 12%), 0 10px 22px -12px rgb(11 31 68 / 28%);
}

.motion-ready .button:not(:disabled):not([aria-disabled="true"]):active,
.motion-ready .media-control:not(:disabled):active {
  transform: translateY(1px) scale(.975);
  box-shadow: 0 2px 5px rgb(11 31 68 / 10%);
  transition-duration: 100ms;
}

.motion-ready .language-switch a:active,
.motion-ready .dialog-close:active {
  transform: scale(.93);
  transition-duration: 100ms;
}

.motion-ready .dialog-close {
  border-radius: 50%;
}

/* Cards respond as a group; reveal animation uses the separate translate property. */
.motion-ready :is(.care-option, .how-step, .consultation-card, .plan-card) {
  transition:
    transform var(--motion-settle) var(--motion-ease),
    box-shadow var(--motion-settle) var(--motion-ease),
    border-color 240ms ease,
    background-color 240ms ease;
}

.motion-ready :is(.how-step, .consultation-card, .plan-card):focus-within {
  border-color: #8bb6a5;
  box-shadow: var(--motion-card-shadow);
  transform: translateY(-3px);
}

.motion-ready .plan-card-family:focus-within {
  border-color: #8bbfb3;
  box-shadow: 0 19px 38px -18px rgb(11 31 68 / 40%);
}

.motion-ready .care-option:focus-visible {
  box-shadow: var(--motion-card-shadow);
}

.motion-ready .care-option:not(:disabled):active {
  transform: translateX(1px) scale(.989);
  transition-duration: 110ms;
}

.motion-ready :is(.care-index, .step-number, .consultation-mark, .value-benefit > span) {
  transition:
    transform 360ms var(--motion-ease),
    color 240ms ease,
    background-color 240ms ease,
    box-shadow 360ms var(--motion-ease);
}

.motion-ready .care-option[aria-pressed="true"] .care-index {
  transform: translateX(2px);
}

.motion-ready .consultation-card[open] .consultation-mark {
  color: #286a54;
}

/* Care-panel content is animated by motion.js after a selection changes. */
.motion-ready .detail-content {
  animation: none;
}

/* Animate existing marks only: no extra words, icons, or status indicators. */
.motion-ready .hero-tags li::before,
.motion-ready .proof-inner span::before,
.motion-ready .plan-features li::before {
  display: inline-block;
  transition: transform 320ms var(--motion-ease), color 220ms ease;
}

.motion-ready .consultation-more::after,
.motion-ready .faq-list summary::after {
  display: inline-block;
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform 320ms var(--motion-ease), color 220ms ease;
}

.motion-ready .consultation-card[open] .consultation-more::after,
.motion-ready .faq-list details[open] summary::after {
  transform: rotate(180deg);
}

.motion-ready :is(.faq-list summary, .how-step summary, .comparison summary) {
  transition: color 220ms ease;
}

.motion-ready .faq-list details[open] summary {
  color: #286a54;
}

/* Two-bar menu becomes a close icon using its current aria-expanded state. */
.menu-toggle {
  border-radius: 50%;
}

.menu-toggle span {
  transform-origin: center;
}

.menu-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

.motion-ready .menu-toggle {
  transition: background-color 220ms ease;
}

.motion-ready .menu-toggle span {
  transition: transform 300ms var(--motion-ease), background-color 220ms ease;
}

.motion-ready .menu-toggle[aria-expanded="true"] {
  background-color: rgb(20 184 166 / 8%);
}

/* Hover stays on precise pointing devices, avoiding sticky touch states. */
@media (hover: hover) and (pointer: fine) {
  .motion-ready :is(.desktop-nav a, .mobile-nav a, .footer-top nav a, .text-link):hover {
    background-size: 100% 1px;
  }

  .motion-ready .button:not(:disabled):not([aria-disabled="true"]):hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px -12px rgb(11 31 68 / 32%);
  }

  .motion-ready .button-mint:hover {
    background-color: #dbf8ed;
    box-shadow: 0 12px 28px -16px rgb(0 0 0 / 38%);
  }

  .motion-ready .media-control:not(:disabled):hover {
    transform: translateY(-2px);
    border-color: rgb(255 255 255 / 72%);
  }

  .motion-ready .dialog-close:hover {
    transform: rotate(90deg);
    background-color: rgb(11 31 68 / 6%);
  }

  .motion-ready .language-switch a:not([aria-current="true"]):hover {
    transform: translateY(-2px);
    background-color: #e4eee7;
  }

  .motion-ready .menu-toggle:hover {
    background-color: rgb(11 31 68 / 5%);
  }

  .motion-ready .care-option:not(:disabled):hover {
    transform: translateX(4px);
    border-color: #8bb6a5;
    box-shadow: 0 10px 28px -18px rgb(11 31 68 / 27%);
  }

  .motion-ready .care-option[aria-pressed="true"]:hover {
    border-color: #759f96;
  }

  .motion-ready :is(.how-step, .consultation-card, .plan-card):hover {
    transform: translateY(-5px);
    border-color: #8bb6a5;
    box-shadow: var(--motion-card-shadow);
  }

  .motion-ready .plan-card-family:hover {
    border-color: #8bbfb3;
    box-shadow: 0 19px 38px -18px rgb(11 31 68 / 40%);
  }

  .motion-ready .care-option:hover .care-index {
    transform: translateX(3px);
  }

  .motion-ready .how-step:hover .step-number {
    transform: translateY(-2px) rotate(-7deg);
    background-color: #d9ecdc;
    box-shadow: 0 5px 12px -7px rgb(26 97 73 / 40%);
  }

  .motion-ready .consultation-card:hover .consultation-mark {
    transform: translateY(-2px);
    color: #286a54;
  }

  .motion-ready .value-benefit:hover > span {
    transform: scale(1.08) rotate(-6deg);
    background-color: #d5e7d3;
  }

  .motion-ready :is(.hero-tags li, .proof-inner span):hover::before,
  .motion-ready .plan-card:hover .plan-features li::before {
    transform: scale(1.12);
  }

  .motion-ready :is(.faq-list summary, .how-step summary, .comparison summary):hover {
    color: #167764;
  }
}

/* Suppress the base stylesheet's hover travel on touch-first devices. */
@media (hover: none), (pointer: coarse) {
  .motion-ready .button:hover,
  .motion-ready .care-option:hover {
    transform: none;
    box-shadow: none;
  }
}

/* Keep press feedback stronger than hover when a pointer remains over a button. */
.motion-ready .button:not(:disabled):not([aria-disabled="true"]):active {
  transform: translateY(1px) scale(.975);
}

.motion-ready .care-option:not(:disabled):active {
  transform: translateX(1px) scale(.989);
}

.motion-ready .media-control:not(:disabled):active {
  transform: translateY(1px) scale(.975);
}

.motion-ready .dialog-close:active,
.motion-ready .language-switch a:not([aria-current="true"]):active {
  transform: scale(.93);
}

/* Photos have a little overscan; videos retain their independent playback layout. */
.motion-ready .hero-film:not(.has-video) picture img,
.motion-ready .support-film:not(.has-video) > img {
  transform: translate3d(0, var(--photo-y, 0px), 0) scale(var(--photo-scale, 1.045));
  transform-origin: center;
}

.motion-ready .hero-film.is-in-view:not(.has-video) picture img,
.motion-ready .support-film.is-in-view:not(.has-video) > img {
  will-change: transform;
}

.motion-ready .hero-film.has-video picture img,
.motion-ready .support-film.has-video > img {
  transform: none;
  will-change: auto;
}

.motion-ready .media-slot {
  transition: box-shadow 600ms var(--motion-ease);
}

.motion-ready .media-slot.is-in-view {
  box-shadow: 0 22px 42px -28px rgb(11 31 68 / 34%);
}

/* Soft light sits behind existing navy-section content, never above it. */
.pharmacy-section,
.business-panel {
  position: relative;
  isolation: isolate;
}

.pharmacy-section::before,
.business-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(ellipse at 85% 15%, rgb(20 184 166 / 10%), transparent 58%);
  opacity: .7;
}

.motion-ready .pharmacy-section::before,
.motion-ready .business-panel::before {
  transition: opacity 650ms ease;
}

.motion-ready .pharmacy-section.is-section-active::before,
.motion-ready .business-panel.is-section-active::before {
  opacity: 1;
}

/* Native dialogs enter once per open. There is no repeating idle animation. */
.motion-ready .plan-dialog[open] {
  animation: doctor-dialog-enter 360ms var(--motion-ease) both;
}

.motion-ready .plan-dialog[open]::backdrop {
  animation: doctor-backdrop-enter 260ms ease both;
}

@keyframes doctor-dialog-enter {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes doctor-backdrop-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Reduced motion keeps functional states and focus, with all travel removed. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .site-header,
  .site-header::after,
  .pharmacy-section::before,
  .business-panel::before,
  .motion-ready *,
  .motion-ready *::before,
  .motion-ready *::after,
  .plan-dialog::backdrop {
    animation: none !important;
    transition: none !important;
  }

  :is(.button, .care-option, .how-step, .consultation-card, .plan-card, .media-control, .dialog-close, .language-switch a),
  :is(.care-index, .step-number, .consultation-mark, .value-benefit > span),
  .hero-tags li::before,
  .proof-inner span::before,
  .plan-features li::before,
  .hero-film picture img,
  .support-film > img,
  .plan-dialog {
    transform: none !important;
    translate: none !important;
    will-change: auto !important;
  }

  .site-header::after {
    display: none;
  }
}

/* language-selector.css */
/*
 * Full-name language selection.
 * JS measures the desktop indicator and manages dropdown inert/aria-hidden.
 * Without enhancement the three links remain directly available.
 */

/* Prevent native scroll anchoring from competing with translated-content positioning. */
html.is-changing-language {
  overflow-anchor: none;
  scroll-behavior: auto;
}

.language-switch {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  max-width: 100%;
  padding: 4px;
  gap: 0;
  border: 1px solid #cedbd3;
  border-radius: 999px;
  background: #f0f4ee;
}

.language-toggle {
  display: none;
  appearance: none;
  font: inherit;
}

.language-options {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0;
}

.language-switch .language-options a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 999px;
  color: var(--ink);
  background: transparent;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
  /* The indicator is measured against these links, so their geometry is stable. */
  transform: none !important;
  translate: none !important;
  transition: color 160ms ease, background-color 160ms ease;
}

.language-switch .language-options a[aria-current="true"] {
  background: var(--navy);
  color: #fff;
}

.language-switch .language-options a:focus-visible,
.language-toggle:focus-visible {
  z-index: 3;
  outline: 3px solid #d99545;
  outline-offset: 3px;
}

.language-indicator {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: var(--language-width, 0px);
  height: var(--language-height, 44px);
  border-radius: 999px;
  background: var(--navy);
  box-shadow: 0 3px 8px rgb(11 31 68 / 12%);
  pointer-events: none;
  transform: translate3d(var(--language-x, 0px), var(--language-y, 0px), 0);
  transition: none;
}

.language-globe {
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  color: #497163;
}

.language-chevron {
  display: block;
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  margin-left: 1px;
  color: #63776d;
  transform-origin: center;
  transition: transform 240ms cubic-bezier(.22, 1, .36, 1);
}

.language-current {
  flex: 1 1 auto;
  text-align: left;
  white-space: nowrap;
}

/* The first measured position appears without an animation from zero. */
@media (min-width: 1101px) {
  .language-switch.is-enhanced.indicator-ready .language-indicator,
  .language-switch.is-enhanced .language-options.indicator-ready .language-indicator {
    display: block;
    transition:
      transform 360ms cubic-bezier(.22, 1, .36, 1),
      width 360ms cubic-bezier(.22, 1, .36, 1),
      height 360ms cubic-bezier(.22, 1, .36, 1);
  }

  .language-switch.is-enhanced.indicator-ready .language-options a[aria-current="true"],
  .language-switch.is-enhanced .language-options.indicator-ready a[aria-current="true"] {
    background: transparent;
    color: #fff;
  }
}

@media (hover: hover) and (pointer: fine) {
  .language-switch .language-options a:not([aria-current="true"]):hover {
    color: #174b38;
    background: #e3ece2;
    transform: none !important;
  }

  .language-switch.is-enhanced .language-toggle:hover {
    border-color: #9bb8a8;
    background: #edf3eb;
  }
}

/* Compact control. Visibility is delayed only while closing, not while opening. */
@media (max-width: 1100px) {
  .language-switch.is-enhanced {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .language-switch.is-enhanced .language-toggle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: max-content;
    min-width: 140px;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #cedbd3;
    border-radius: 999px;
    color: var(--ink);
    background: #f0f4ee;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    transition:
      background-color 180ms ease,
      border-color 180ms ease,
      box-shadow 220ms ease;
  }

  .language-switch.is-enhanced .language-toggle[aria-expanded="true"] {
    background: #e8f0e5;
    border-color: #99b4a5;
    box-shadow: 0 3px 12px -7px rgb(11 31 68 / 18%);
  }

  .language-toggle[aria-expanded="true"] .language-chevron {
    transform: rotate(180deg);
  }

  .language-switch.is-enhanced .language-options {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 60;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
    width: 176px;
    max-width: calc(100vw - 32px);
    padding: 6px;
    border: 1px solid #d5e0d7;
    border-radius: 16px;
    background: #fbfcf9;
    box-shadow: 0 14px 34px -12px rgb(11 31 68 / 24%), 0 3px 8px rgb(11 31 68 / 5%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px) scale(.98);
    transform-origin: top right;
    transition:
      opacity 180ms ease,
      transform 240ms cubic-bezier(.22, 1, .36, 1),
      visibility 0s linear 240ms;
  }

  .language-switch.is-enhanced.is-open .language-options {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
  }

  .language-switch.is-enhanced .language-options a {
    justify-content: flex-start;
    width: 100%;
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: .84rem;
  }

  .language-switch .language-indicator {
    display: none;
  }

  /* Keep the no-JS links in the same footprint as the enhanced control so
     initializing the dropdown does not collapse a wrapped mobile header. */
  .language-switch:not(.is-enhanced) {
    width: 140px;
    height: 44px;
    min-height: 44px;
    padding: 0;
  }

  .language-switch:not(.is-enhanced) .language-options {
    width: 100%;
    height: 100%;
    flex-wrap: nowrap;
    gap: 0;
  }

  .language-switch:not(.is-enhanced) .language-options a {
    flex: 1 1 0;
    min-width: 0;
    min-height: 42px;
    padding: 0;
    font-size: 0;
  }

  .language-switch:not(.is-enhanced) .language-options a::after {
    font-size: 11px;
  }

  .language-switch:not(.is-enhanced) [data-language="en"]::after { content: 'EN'; }
  .language-switch:not(.is-enhanced) [data-language="es"]::after { content: 'ES'; }
  .language-switch:not(.is-enhanced) [data-language="pt"]::after { content: 'PT'; }

  .language-switch:not(.is-enhanced) .language-options a:focus-visible {
    outline-offset: 1px;
  }
}

/* Allow text enlargement to wrap the header instead of clipping language names. */
@media (max-width: 600px) {
  .site-header .header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
  }

  .language-switch.is-enhanced .language-toggle {
    min-width: 136px;
    padding-inline: 10px;
  }

  .language-switch:not(.is-enhanced) { width: 136px; }
}

@media (max-width: 360px) {
  .site-header .header-inner {
    width: calc(100% - 28px);
    gap: 8px;
  }

  .site-header .header-actions {
    gap: 4px;
  }

  .language-switch.is-enhanced .language-toggle {
    min-width: 132px;
  }

  .language-switch:not(.is-enhanced) { width: 132px; }
}

/* Preserve state changes while removing all selector movement and fading. */
@media (prefers-reduced-motion: reduce) {
  .language-switch,
  .language-toggle,
  .language-options,
  .language-options a,
  .language-indicator,
  .language-chevron {
    animation: none !important;
    transition: none !important;
  }

  .language-switch.is-enhanced .language-options {
    transform: none;
  }
}

/* care-icons.css */
/* Decorative outline icons share a quiet, consistent medical visual language. */
.semantic-icon {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  padding: 0;
  line-height: 1;
}

.care-symbol {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Consultation cards: the larger badge anchors each service category. */
.consultation-mark.semantic-icon {
  width: 54px;
  height: 54px;
  border: 1px solid #d9e4d5;
  border-radius: 15px;
  background: #edf3e9;
  color: #234d40;
}

.consultation-mark .care-symbol {
  width: 30px;
  height: 30px;
}

/* Care selection keeps the same icon column at every viewport width. */
.care-option {
  grid-template-columns: 36px minmax(0, 1fr);
  column-gap: 14px;
}

.care-index.semantic-icon {
  align-self: start;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #e7eee3;
  color: #31594a;
}

.care-index .care-symbol {
  width: 22px;
  height: 22px;
}

.care-option[aria-pressed="true"] .care-index.semantic-icon {
  background: var(--mint);
  color: var(--navy);
}

/* Existing hover and focus motion continues to target these marker classes. */
.step-number.semantic-icon {
  width: 48px;
  height: 48px;
  border: 1px solid #d7e5d3;
  border-radius: 14px;
  background: #e7f0e2;
  color: #225c46;
}

.step-number .care-symbol {
  width: 25px;
  height: 25px;
}

/* The compact mint icons remain distinct on the ongoing-care navy surface. */
.pharmacy-steps .support-icon.semantic-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--navy-light);
  color: var(--mint);
  line-height: 1;
}

.support-icon .care-symbol {
  width: 20px;
  height: 20px;
}
.how-grid {
  list-style: none;
}

/* chat.css */
.membership-chat{--chat-shadow:0 18px 65px #0b1f4426,0 2px 9px #0b1f4412;position:fixed;right:max(26px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:45;font-family:var(--font);color:var(--ink);line-height:1.5}
.membership-chat button,.membership-chat textarea{font:inherit}.membership-chat button,.membership-chat a,.membership-chat textarea{touch-action:manipulation}.membership-chat button:focus-visible,.membership-chat a:focus-visible,.membership-chat textarea:focus-visible{outline:3px solid #d99545;outline-offset:3px}.membership-chat button:disabled{cursor:default}.membership-chat svg{display:block;width:24px;height:24px;flex-shrink:0}.chat-launcher{display:flex;align-items:center;gap:11px;margin-left:auto;min-height:58px;padding:15px 21px;border:1px solid #ffffff28;border-radius:32px;background:var(--navy);color:#fff;box-shadow:0 5px 24px #0b1f4429;font-size:.88rem;font-weight:600;transition:background .18s,transform .18s,box-shadow .18s}.chat-launcher:hover{background:#173656;transform:translateY(-2px);box-shadow:0 9px 30px #0b1f4438}.chat-launcher svg{width:22px;height:22px}.chat-launcher-dot{height:7px;width:7px;border-radius:50%;background:var(--mint);margin-left:1px}.chat-panel{position:absolute;right:0;bottom:76px;display:flex;flex-direction:column;width:402px;max-width:calc(100vw - 32px);height:625px;max-height:calc(100dvh - 130px);overflow:hidden;border:1px solid #d5e1dc;border-radius:20px;background:var(--paper);box-shadow:var(--chat-shadow);transform-origin:bottom right;animation:chat-arrive .18s ease-out}.chat-header{display:flex;align-items:center;flex-shrink:0;gap:11px;padding:18px 17px;background:var(--navy);color:white}.chat-avatar{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid #accdbb40;border-radius:13px;background:#ffffff0b;color:var(--mint)}.chat-avatar svg{width:23px;height:23px}.chat-heading{flex:1;min-width:0}.chat-heading h2{font-family:var(--display);font-size:1.08rem;letter-spacing:-.045em;font-weight:600;line-height:1.3;text-wrap:initial}.chat-heading h2 span{color:var(--mint)}.chat-heading p{font-size:.7rem;color:#c9e0da;margin-top:3px;line-height:1.4}.chat-icon-button{display:grid;place-items:center;border:0;background:transparent;color:#dce8e8;min-width:34px;height:40px;padding:5px;border-radius:8px}.chat-icon-button svg{width:19px;height:19px}.chat-icon-button:hover{background:#ffffff16;color:white}.chat-clear{margin-left:-5px}.chat-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd8d0 transparent;padding:25px 22px 20px;flex:1}.chat-intro{margin-bottom:19px}.chat-eyebrow{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#407b65;margin-bottom:10px}.chat-intro h3{font-size:1.55rem;letter-spacing:-.045em;line-height:1.2;font-weight:500;max-width:275px;outline:0}.chat-welcome{font-size:.855rem;color:var(--muted);line-height:1.7;margin-top:13px}.chat-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.chat-quick-button{background:white;border:1px solid #cfded5;border-radius:20px;min-height:36px;padding:8px 12px;color:#214e42;font-size:.73rem!important;font-weight:500;line-height:1.35;transition:background .15s,border-color .15s}.chat-quick-button:hover:enabled{background:#e8f2e9;border-color:#98b8a6}.chat-quick-button:disabled{opacity:.48}.chat-transcript{display:flex;flex-direction:column;gap:18px}.chat-message{max-width:100%;font-size:.85rem;line-height:1.7;min-width:0}.chat-speaker{display:block;font-size:.64rem;letter-spacing:.02em;color:#60726b;margin-bottom:5px;font-weight:600}.chat-message-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-message-assistant .chat-message-text{background:white;border:1px solid #e0e8e1;border-radius:3px 13px 13px 13px;padding:13px 15px}.chat-message-user{align-self:flex-end;max-width:90%}.chat-message-user .chat-speaker{text-align:right}.chat-message-user .chat-message-text{background:#dfefe7;color:#153e31;border-radius:13px 3px 13px 13px;padding:11px 14px}.chat-message-notice{font-size:.8rem;color:var(--muted)}.chat-message-notice>.chat-message-text{padding:12px 14px;border:1px solid #d6e1d7;background:#edf2eb;border-radius:10px}.chat-plan-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chat-plan-button{background:white;border:1px solid #b8cec0;border-radius:8px;color:#1f5243;font-size:.74rem!important;font-weight:500;line-height:1.4;padding:9px 11px;min-height:36px;text-align:left}.chat-plan-button:hover{background:#e8f2e9;border-color:#6d9b84}.chat-progress{display:flex;gap:8px;align-items:center;font-size:.74rem;color:#526f61;margin-top:16px;padding:5px 0}.chat-progress::before{content:'';width:7px;height:7px;border-radius:50%;background:#417e64;animation:chat-pulse 1s ease-in-out infinite}.chat-footer{flex-shrink:0;border-top:1px solid #dde6de;padding:14px 16px 13px;background:#fff}.chat-form{display:flex;align-items:flex-end;gap:7px;padding:6px 6px 6px 12px;border:1px solid #cbd9ce;border-radius:12px;background:var(--paper)}.chat-form:focus-within{border-color:#487c65;box-shadow:0 0 0 2px #dce9df}.chat-form textarea{display:block;flex:1;min-width:0;max-height:112px;min-height:38px;width:100%;resize:none;border:0;border-radius:4px;padding:8px 0;background:transparent;color:var(--ink);font-size:16px;line-height:22px;overflow-y:auto;box-shadow:none}.chat-form textarea::placeholder{color:#73847b;font-size:.8rem}.chat-form textarea:focus-visible{outline:none}.chat-form textarea:disabled{opacity:.55}.chat-send{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;padding:8px;border:0;border-radius:9px;background:var(--navy);color:#fff}.chat-send svg{width:20px;height:20px}.chat-send:disabled{background:#e0e7df;color:#819086}.chat-privacy{font-size:.64rem;line-height:1.55;color:#687b70;margin:9px 2px 0}.chat-connection>p{font-size:.82rem;line-height:1.7;color:var(--muted)}.chat-retry{padding:0;background:none;border:0;color:#286149;font-size:.79rem!important;text-decoration:underline;text-underline-offset:4px;min-height:40px}.chat-support{font-size:.8rem;line-height:1.7;padding:13px 14px;border-radius:10px;border:1px solid #d6e1d7;background:#edf2eb;margin-top:10px}.chat-message-notice>.chat-support{margin-top:0}.chat-contact-link{display:inline-block;font-weight:600;text-underline-offset:4px;margin-top:8px;color:#205843}.membership-chat[data-mode=offline] .chat-welcome{display:none}
.chat-sound[aria-pressed="true"] .sound-off,.chat-sound[aria-pressed="false"] .sound-on{display:none}
.membership-chat[data-mode=checking] .chat-launcher-dot{background:#e6bb7c}
.membership-chat[data-mode=offline] .chat-launcher-dot{background:#bbc4c8}
.chat-whatsapp-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;background:#edf6ef;border-color:#a4cbb3;color:#205843}
.chat-whatsapp-link:hover{background:#deeee2;border-color:#6d9b84}
.chat-launchers{display:flex;align-items:center;justify-content:flex-end;gap:10px;max-width:calc(100vw - 32px)}
.chat-whatsapp-entry{display:flex;flex-shrink:0}
.chat-launchers .chat-launcher{min-width:0;margin-left:0}
.chat-whatsapp-launcher{min-height:58px;padding:15px 18px;gap:9px;border:1px solid #ffffff28;border-radius:32px;background:#16734b;color:#fff;box-shadow:0 5px 24px #0b1f4429;font-size:.88rem;font-weight:600;line-height:1.5;transition:background .18s,transform .18s,box-shadow .18s}
.chat-whatsapp-launcher:hover{background:#115c3b;border-color:#ffffff28;transform:translateY(-2px);box-shadow:0 9px 30px #0b1f4438}
.chat-launchers .chat-launcher-dot{flex-shrink:0}
@media(max-width:600px){.chat-whatsapp-launcher{width:54px;height:54px;min-height:54px;padding:14px}.chat-whatsapp-launcher>span{display:none}.membership-chat.is-open .chat-launchers{visibility:hidden}}
@media(max-height:580px){.membership-chat.is-open .chat-launchers{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.chat-whatsapp-launcher:hover{transform:none}}
.chat-support-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}
.chat-support-actions .chat-contact-link{margin-top:0}
.chat-manual-resource{margin:-10px 0 23px}.chat-manual-link{display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid #c6d9cf;border-radius:9px;background:#edf5ef;color:#205843;font-size:.75rem;font-weight:600;line-height:1.4;text-decoration:none}.chat-manual-link::before{content:'↓';font-size:1.15rem;margin-right:9px}.chat-manual-link:hover{background:#dfeee4;border-color:#8cae9a}.chat-message>.chat-manual-link{margin-top:10px}.chat-manual-link[hidden]{display:none}
.chat-greeting{position:absolute;right:0;bottom:76px;display:flex;align-items:start;width:310px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:var(--chat-shadow);animation:chat-arrive .22s ease-out;transition:opacity .22s,transform .22s}
.chat-greeting::after{content:'';position:absolute;bottom:-6px;right:29px;width:11px;height:11px;transform:rotate(45deg);background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.chat-greeting.is-leaving{opacity:0;transform:translateY(6px);pointer-events:none}
.chat-greeting-open{flex:1;min-width:0;border:0;border-radius:11px;background:transparent;color:var(--ink);text-align:left;padding:13px 9px 13px 13px}
.chat-greeting-open:hover{background:var(--paper)}
.chat-greeting-brand{display:block;font-family:var(--display);font-size:.8rem;font-weight:700;letter-spacing:-.035em;margin-bottom:6px}
.chat-greeting-brand>span{color:var(--teal)}
.chat-greeting-text{display:block;font-size:.91rem;line-height:1.6}
.chat-greeting-dismiss{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--muted)}
.chat-greeting-dismiss:hover{background:var(--sage);color:var(--navy)}
.chat-greeting-dismiss svg{width:18px;height:18px}
@keyframes chat-arrive{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes chat-pulse{50%{opacity:.35}}
@media(max-width:600px){.membership-chat{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.chat-launcher{min-height:54px;padding:13px 17px;font-size:.79rem;gap:9px}.chat-panel{position:fixed;right:max(10px,env(safe-area-inset-right));left:max(10px,env(safe-area-inset-left));top:auto;bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-width:none;height:650px;max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));border-radius:17px}.membership-chat.is-open .chat-launcher{visibility:hidden}.chat-header{padding:14px 14px;gap:9px}.chat-icon-button{min-width:40px;height:40px}.chat-scroll{padding:22px 20px 20px}.chat-footer{padding:12px 13px max(12px,env(safe-area-inset-bottom))}.chat-intro h3{font-size:1.5rem}.chat-quick-button,.chat-plan-button{min-height:40px}.chat-heading p{font-size:.68rem}}
@media(max-height:580px){.chat-panel{max-height:calc(100dvh - 28px);bottom:0}.chat-intro h3{font-size:1.25rem}.chat-scroll{padding-top:18px}.chat-intro{margin-bottom:14px}.chat-avatar{width:34px;height:34px}.chat-header{padding-block:10px}.chat-footer{padding-block:10px}.membership-chat.is-open .chat-launcher{visibility:hidden}}
/* Visual viewport dimensions keep the composer visible above mobile keyboards. */
.membership-chat{bottom:calc(max(24px,env(safe-area-inset-bottom)) + var(--chat-keyboard-inset,0px))}
.chat-panel{max-height:calc(var(--chat-viewport-height,100dvh) - 130px)}
@media(max-height:580px){.chat-panel{max-height:calc(var(--chat-viewport-height,100dvh) - 28px)}}
@media(max-width:600px){.membership-chat{bottom:calc(max(16px,env(safe-area-inset-bottom)) + var(--chat-keyboard-inset,0px))}.chat-panel{bottom:calc(max(10px,env(safe-area-inset-bottom)) + var(--chat-keyboard-inset,0px));max-height:calc(var(--chat-viewport-height,100dvh) - max(20px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)))}}
@media(prefers-reduced-motion:reduce){.membership-chat *,.membership-chat *::before{animation:none!important;transition:none!important}.chat-launcher:hover{transform:none}}
@media(max-width:380px){.chat-header .chat-avatar{display:none}}

/* user-manual.css */
.user-manual-section{padding-block:78px 0}
.user-manual-card{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:34px;padding:42px;border:1px solid #c8dfd4;border-radius:16px;background:linear-gradient(110deg,#e8f4ec,#f2f7ef 65%,#edf6f0)}
.user-manual-symbol{display:grid;place-items:center;width:86px;height:110px;border-radius:12px;background:var(--navy);color:var(--mint);box-shadow:7px 7px 0 #c4e4d5}
.user-manual-symbol svg{display:block;width:50px;height:60px}
.user-manual-copy .eyebrow{margin-bottom:12px;font-size:.68rem}
.user-manual-copy h2{font-size:clamp(1.75rem,2.55vw,2.3rem);line-height:1.2;max-width:540px;margin-bottom:14px;letter-spacing:-.045em}
.user-manual-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.7;color:var(--muted);max-width:580px}
.user-manual-topics{display:flex;flex-wrap:wrap;gap:8px 20px;margin:19px 0 0;padding:0;list-style:none;color:#31634f;font-size:.74rem;font-weight:600}
.user-manual-topics li{display:inline-flex;align-items:center;gap:7px}
.user-manual-topics li::before{content:'';width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#3c9378}
.user-manual-action{display:flex;flex-direction:column;align-items:center;gap:13px;max-width:270px}
.user-manual-action .button{gap:10px;font-size:.84rem;min-height:52px;padding-inline:21px;text-align:center}
.user-manual-action svg{width:19px;height:19px;flex-shrink:0}
.user-manual-format{font-size:.7rem;line-height:1.5;color:#607469;text-align:center}
.site-footer [data-user-manual-link]{text-underline-offset:5px}
@media(max-width:1050px){.user-manual-card{grid-template-columns:86px minmax(0,1fr);gap:27px;padding:34px}.user-manual-symbol{grid-row:1/3;align-self:start}.user-manual-action{grid-column:2;align-items:flex-start;max-width:none}.user-manual-action .button{min-width:230px}.user-manual-format{text-align:left}}
@media(max-width:600px){.user-manual-section{padding-top:52px}.user-manual-card{grid-template-columns:1fr;gap:27px;padding:28px 24px}.user-manual-symbol{grid-row:auto;width:59px;height:75px;border-radius:9px;box-shadow:5px 5px 0 #c4e4d5}.user-manual-symbol svg{width:35px;height:43px}.user-manual-copy .eyebrow{font-size:.64rem;margin-bottom:12px}.user-manual-copy h2{font-size:1.9rem;margin-bottom:15px}.user-manual-copy>p:not(.eyebrow){font-size:.875rem}.user-manual-topics{font-size:.73rem;gap:8px 16px}.user-manual-action{grid-column:1;align-items:stretch;gap:12px}.user-manual-action .button{width:100%;min-width:0;font-size:.84rem;padding-inline:15px}.user-manual-format{text-align:center}}

/* hero-clock.css */
/* A single night-to-2AM moment; the unanimated state always reads 2:00 AM. */
.hero-clock {
  display: inline-flex;
  align-items: center;
  gap: .22em;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Reset the original badge's broad span rule for every internal clock part. */
.hero-clock .clock-time,
.hero-clock .clock-digit,
.hero-clock .clock-reel,
.hero-clock .clock-number,
.hero-clock .clock-colon,
.hero-clock .clock-period {
  margin: 0;
  padding: 0;
  font: inherit;
  line-height: 1.25;
  letter-spacing: 0;
  color: inherit;
}

.hero-clock .clock-time {
  display: inline-flex;
  align-items: center;
}

.hero-clock .clock-digit {
  display: block;
  width: .66em;
  height: 1.25em;
  overflow: hidden;
  flex: 0 0 .66em;
}

.hero-clock .clock-reel {
  display: block;
  width: 100%;
  height: 2.5em;
  transform: translateY(-50%);
}

.hero-clock .clock-number {
  display: block;
  width: 100%;
  height: 1.25em;
  line-height: 1.25em;
  text-align: center;
}

.hero-clock .clock-colon {
  display: block;
  width: .3em;
  height: 1.25em;
  line-height: 1.25em;
  text-align: center;
}

.hero-clock .clock-period {
  display: block;
  font-size: .53em;
  line-height: 1;
  letter-spacing: .1em;
  margin-left: .16em;
}

.hero-clock.is-clock-running .clock-reel {
  animation: doctor-clock-roll 620ms cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(650ms + var(--clock-delay, 0ms));
}

.hero-clock::before {
  content: '';
  position: absolute;
  inset: -1px;
  border: 1px solid rgb(201 242 229 / 60%);
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
}

.hero-clock.is-clock-running::before {
  animation: doctor-clock-glow 1250ms ease-in-out 1450ms both;
}

@keyframes doctor-clock-roll {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}

/* The small glow stays inside the photo's padding, even on narrow screens. */
@keyframes doctor-clock-glow {
  0%, 100% {
    opacity: 0;
    box-shadow: 0 0 0 0 rgb(201 242 229 / 0%);
  }
  45% {
    opacity: .85;
    box-shadow: 0 0 12px 2px rgb(201 242 229 / 22%), inset 0 0 8px rgb(201 242 229 / 9%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-clock .clock-reel,
  .hero-clock.is-clock-running .clock-reel {
    animation: none !important;
    transform: translateY(-50%) !important;
  }

  .hero-clock::before,
  .hero-clock.is-clock-running::before {
    animation: none !important;
    opacity: 0 !important;
    box-shadow: none !important;
  }
}

/* hero-video.css */
/* Keep the picture's composition when the short hero film takes over. */
.hero-film video {
  object-position: 50% 35%;
}

/* Avoid a parallax-to-video crop jump while the first frame is loading. */
.motion-ready .hero-film[data-video-state]:not([data-video-state="unavailable"]) picture img {
  transform: none;
  will-change: auto;
}

.hero-film .media-control {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  top: 25px;
  right: 40px;
  line-height: 1.2;
  background: rgb(11 31 68 / 88%);
  backdrop-filter: blur(8px);
}

.hero-film .media-control svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 600px) {
  .hero-film .media-control {
    top: 15px;
    right: 25px;
  }
}

/* privacy-callout.css */
/* Supporting privacy information stays with the footer's other service details. */
.footer-privacy {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-block: 0 20px;
  font-size: .78rem;
  line-height: 1.8;
  color: #b7cad8;
}

.footer-privacy strong {
  font-weight: 600;
}

/* platform.css */
/* New service and trust sections follow the existing Daylight palette and type. */
.consultation-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.consultation-card summary { padding: 25px 22px; min-height: 330px; display: flex; flex-direction: column; align-items: flex-start; }
.consultation-kicker { align-self: stretch; }
.consultation-card .consultation-more { margin-top: auto; padding-top: 20px; }
.consultation-card .consultation-cost { display: block; font-size: .78rem; font-weight: 600; color: #315d4a; margin-top: 14px; }
.consultation-details { padding-inline: 22px; }
.consultation-card summary:focus-visible { outline-offset: -5px; border-radius: 11px; }

.about-section { padding-top: 0; }
.about-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 70px; align-items: center; }
.about-copy h2 { white-space: pre-line; }
.about-copy > p:not(.eyebrow) { color: var(--muted); font-size: .98rem; line-height: 1.85; margin-top: 23px; }
.platform-proof { background: var(--navy); color: white; border-radius: 12px 65px 12px 12px; padding: 38px; min-width: 0; }
.platform-proof h3 { color: var(--mint); font-size: .85rem; font-weight: 500; line-height: 1.6; letter-spacing: .015em; }
.platform-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 20px 0 0; }
.platform-stat { display: flex; flex-direction: column; padding: 25px 0; border-top: 1px solid #30486b; min-width: 0; }
.platform-stat dt { order: 2; color: #c6d9e4; font-size: .85rem; line-height: 1.6; margin-top: 11px; max-width: 180px; }
.platform-stat dd { margin: 0; font-family: var(--display); font-size: clamp(2.35rem, 3.3vw, 3.3rem); letter-spacing: -.055em; font-weight: 500; line-height: 1.15; white-space: nowrap; }
.platform-stat dd span { color: var(--mint); font-size: .65em; vertical-align: top; margin-left: 3px; }
.platform-note { color: #b5ccda; font-size: .76rem; line-height: 1.85; padding-top: 20px; border-top: 1px solid #30486b; }

.partners-section { border-top: 1px solid var(--line); margin-top: 65px; padding-top: 45px; }
.partners-section .section-heading { margin-bottom: 27px; }
.partners-section h2 { font-size: clamp(1.6rem, 2.3vw, 2.15rem); }
.partners-section .section-description { font-size: .9rem; max-width: 445px; }
.partner-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; list-style: none; }
.partner-logo { background: white; border: 1px solid var(--line); border-radius: 9px; min-width: 0; height: 94px; padding: 15px; display: grid; place-items: center; }
.partner-logo img { width: 100%; height: 62px; object-fit: contain; }
.partners-note { color: var(--muted); font-size: .78rem; line-height: 1.85; margin-top: 20px; }
.footer-top nav { max-width: 620px; }

@media (max-width: 1100px) {
  .consultation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consultation-card summary { min-height: 290px; padding: 27px; }
  .consultation-details { padding-inline: 27px; }
  .about-grid { gap: 35px; }
  .platform-proof { padding: 30px; }
  .partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .desktop-nav { gap: 18px; }
}
@media (max-width: 800px) {
  .about-grid { grid-template-columns: 1fr; gap: 35px; }
  .about-copy { max-width: 650px; }
  .platform-stat dd { font-size: 3rem; }
  .platform-stat dt { max-width: none; }
  .partners-section { margin-top: 42px; padding-top: 35px; }
}
@media (max-width: 600px) {
  .consultation-grid { grid-template-columns: 1fr; }
  .consultation-card summary { min-height: 0; padding: 27px 24px 23px; }
  .consultation-card .consultation-more { padding-top: 0; margin-top: 20px; }
  .consultation-details { padding-inline: 24px; }
  .about-section { padding-top: 0; }
  .platform-proof { padding: 27px 23px; border-top-right-radius: 48px; }
  .platform-stats { gap: 0 18px; }
  .platform-stat { padding-block: 22px; }
  .platform-stat dd { font-size: clamp(2.1rem, 8vw, 2.8rem); }
  .platform-stat dt { font-size: .8rem; }
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .partner-logo:last-child { grid-column: 1 / -1; width: calc(50% - 5px); justify-self: center; }
  .partner-logo { height: 91px; }
  .partners-section .section-description { font-size: .93rem; }
}

/* patient-care.css */
/* The consultation walkthrough pairs the existing steps with an illustrative call. */
.visit-layout { display: grid; grid-template-columns: 1fr 1.05fr; gap: 28px; align-items: stretch; }
.visit-layout > * { min-width: 0; }
.visit-journey { display: flex; flex-direction: column; }
.visit-layout .how-grid { grid-template-columns: 1fr; gap: 14px; }
.visit-layout .how-step { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 16px; padding: 20px; }
.visit-layout .step-number { grid-column: 1; grid-row: 1 / 4; width: 44px; height: 44px; margin: 0; }
.visit-layout .how-step h3 { grid-column: 2; font-size: 1.16rem; line-height: 1.4; margin: 2px 0 8px; }
.visit-layout .how-step > p { grid-column: 2; font-size: .9rem; line-height: 1.7; }
.visit-layout .how-step details { grid-column: 2; margin-top: 12px; padding-top: 10px; }
.visit-layout .how-step details p { padding-top: 10px; }
.visit-showcase { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.consultation-window { margin: 0; }
/* Crop only the generated image’s outer blank canvas; preserve the whole call window. */
.consultation-frame { position: relative; aspect-ratio: 1416 / 860; overflow: hidden; border-radius: 12px; }
.consultation-frame img { position: absolute; width: 108.474576%; max-width: none; height: auto; left: -4.237288%; top: -8.837209%; }
.consultation-window figcaption { color: var(--muted); font-size: .7rem; text-align: right; line-height: 1.6; margin: 6px 0 0; }
.patient-continuity { padding: 22px 24px; margin-top: 0; flex: 1; display: flex; flex-direction: column; justify-content: center; border: 1px solid #d5e1d1; border-radius: 12px; background: #eaf0e6; }
.patient-continuity h3 { font-size: 1.45rem; letter-spacing: -.035em; line-height: 1.35; font-weight: 500; }
.patient-benefits { list-style: none; margin-top: 17px; display: grid; gap: 12px; }
.patient-benefits li { display: flex; align-items: start; gap: 12px; font-size: .88rem; line-height: 1.7; color: #3e5c4e; }
.patient-benefits .semantic-icon { color: #246b55; padding-top: 3px; }
.patient-benefits .care-symbol { width: 20px; height: 20px; }
.patient-continuity .text-link { display: inline-block; margin-top: 20px; font-size: .85rem; color: #195642; }
.patient-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.patient-entry { margin-top: auto; }
.patient-actions .button { width: 100%; gap: 11px; min-height: 60px; padding: 15px 17px; font-size: .85rem; text-align: left; justify-content: flex-start; }
.patient-actions .button-mint { border-color: #a9cebe; }
.patient-actions .care-symbol { width: 22px; height: 22px; }
.how-section > .patient-action-note { margin-top: 10px; }
.how-section > .process-note { margin-top: 16px; }
.patient-action-note { color: #49644f; font-size: .76rem; line-height: 1.7; margin-top: 12px; }
.patient-action-status { color: var(--ink); font-size: .84rem; line-height: 1.75; margin-top: 16px; border-top: 1px solid #cbdcca; padding-top: 14px; }
.patient-action-status:empty { display: none; }
@media (max-width: 1100px) {
  .visit-layout { gap: 24px; grid-template-columns: 1fr 1fr; }
  .visit-layout .how-step { padding: 21px; grid-template-columns: 36px minmax(0, 1fr); column-gap: 13px; }
  .visit-layout .step-number { width: 36px; height: 36px; }
  .visit-layout .step-number .care-symbol { width: 21px; height: 21px; }
  .patient-continuity { padding: 24px; }
  .patient-actions { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .visit-layout { grid-template-columns: 1fr; gap: 28px; }
  .visit-showcase { grid-row: 1; }
  .visit-layout .how-step { padding: 25px; grid-template-columns: 44px minmax(0, 1fr); column-gap: 18px; }
  .visit-layout .step-number { width: 44px; height: 44px; }
  .patient-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .visit-layout .how-step { padding: 23px 20px; grid-template-columns: 36px minmax(0, 1fr); column-gap: 13px; }
  .visit-layout .step-number { width: 36px; height: 36px; }
  .visit-layout .how-step h3 { font-size: 1.08rem; }
  .visit-layout .how-step > p { font-size: .9rem; }
  .patient-continuity { padding: 23px; margin-top: 0; }
  .visit-showcase { gap: 12px; }
  .patient-continuity h3 { font-size: 1.35rem; }
  .patient-benefits li { font-size: .88rem; }
  .consultation-window figcaption { text-align: center; }
  .patient-actions { grid-template-columns: 1fr; }
  .patient-actions .button { min-height: 56px; }
}

/* faq.css */
.faq-section {
  align-items: start;
  grid-template-areas: "intro content" "help content";
  grid-template-rows: auto 1fr;
  gap: 24px 64px;
  padding-block: 64px;
}

.faq-section h2 {
  max-width: 380px;
  font-size: clamp(1.85rem, 2.7vw, 2.5rem);
}

.faq-intro { grid-area: intro; }
.faq-content {
  grid-area: content;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  flex: 1;
  padding: 0 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.faq-primary details:first-child { border-top: 0; }
.faq-content .faq-list details { padding-block: 16px; }
.faq-content .faq-list details:last-child { border-bottom: 0; }
.faq-content .faq-list details p { padding-top: 12px; }

.faq-disclosure {
  margin-top: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.faq-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 24px;
  border-radius: 12px;
  list-style: none;
  font-weight: 600;
  line-height: 1.5;
  background: var(--mint);
}

.faq-disclosure > summary::-webkit-details-marker { display: none; }
.faq-disclosure > summary:hover { background: #b9e8d9; }
.faq-chevron { width: 22px; height: 22px; flex: 0 0 auto; }
.faq-disclosure > summary .faq-hide,
.faq-disclosure[open] > summary .faq-show { display: none; }
.faq-disclosure[open] > summary .faq-hide { display: inline; }
.faq-disclosure[open] > summary .faq-chevron { transform: rotate(180deg); }
.faq-disclosure .faq-list { padding: 0 24px 6px; }
.faq-disclosure .faq-list details:first-child { border-top: 0; }

.faq-help {
  grid-area: help;
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--sage);
}
.faq-help > div { flex: 1 1 235px; }
.faq-help h3 { font-size: 1.06rem; line-height: 1.4; }
.faq-help p { margin-top: 6px; font-size: .9rem; line-height: 1.65; color: var(--muted); }
.faq-help .button { gap: 10px; padding: 13px 18px; font-size: .87rem; }
.faq-help .button svg { width: 21px; height: 21px; flex: 0 0 auto; }
.faq-section:has(.faq-disclosure[open]) .faq-help { align-self: start; }

@media (max-width: 1100px) {
  .faq-section { column-gap: 36px; }
}
@media (max-width: 800px) {
  .faq-section { grid-template-areas: "intro" "content" "help"; grid-template-rows: auto; gap: 24px; padding-block: 48px; }
  .faq-section h2 { max-width: 540px; }
  .faq-intro .eyebrow { margin-bottom: 12px; }
  .faq-content { display: block; }
  .faq-primary { display: block; }
  .faq-disclosure { margin-top: 12px; }
  .faq-help { align-self: start; }
}
@media (max-width: 600px) {
  .faq-disclosure > summary { padding: 18px; gap: 14px; }
  .faq-primary { padding-inline: 18px; }
  .faq-disclosure .faq-list { padding-inline: 18px; }
  .faq-help { padding: 20px 18px; }
  .faq-help .button { width: 100%; }
}

