/* Shared routes and responsive layouts build on the existing Welm design. */
:root{--wine:#47181c;--paper:#f8f6f3;--cream:#f1ece4}
/* Equal-height homepage cards keep pricing and protocol actions aligned,
   regardless of title wrapping or description length. */
body[data-page="home"] .carousel > .treatment-card{display:flex;flex-direction:column;align-self:stretch}
body[data-page="home"] .treatment-card > .product-art{flex-shrink:0}
/* Figma cream, at the bundle's full opacity for a consistent bottle backdrop. */
body[data-page="home"] #individual-track .product-art,
body[data-page="home"] #bundle-track .product-art{background:#f2ede6}
body[data-page="home"] #bundle-track .bundle-card{background:#f9f6f3}
body[data-page="home"] .treatment-card > .product-info{display:flex;flex-direction:column;flex:1}
body[data-page="home"] .product-info > .price{margin-top:auto;padding-top:20px}
body[data-page="home"] .product-info > .button{flex-shrink:0}
/* Carry the Welm burgundy palette through homepage treatment wording. */
body[data-page="home"] .product-info h3,
body[data-page="home"] .catalog-section .section-header h2,
body[data-page="home"] .bundle-section .section-header h2{color:var(--wine)}
body[data-page="home"] .product-description,
body[data-page="home"] .bundle-features,
body[data-page="home"] .price span{color:var(--wine-light,#6e3438)}
/* A short treatment summary, followed by a quieter care line. */
body[data-page="home"] #individual-track .product-info h3{margin-bottom:10px}
body[data-page="home"] #individual-track .product-description{display:grid;gap:9px;line-height:1.5;text-wrap:pretty}
body[data-page="home"] .treatment-summary{display:block}
body[data-page="home"] .treatment-care{display:block;font-size:12px;line-height:1.5;color:var(--wine-light,#6e3438)}
@media(max-width:700px){body[data-page="home"] .treatment-care{font-size:13px}}
[hidden]{display:none!important}body{overflow-x:clip}a.button{text-decoration:none}.preview-badge{position:fixed;bottom:14px;left:14px;z-index:30;background:#f8f6f3e8;border:1px solid #d7c9c4;border-radius:20px;color:#47181c;padding:8px 14px;font:13px Jost,sans-serif;text-decoration:none;box-shadow:0 2px 10px #3810170c}.is-embedded .preview-badge{display:none}.site-header a[aria-current]{text-decoration:underline;text-underline-offset:6px}.site-header{z-index:20}.site-header .menu-button{white-space:nowrap}.site-header .brand{display:block}.single-photo{max-width:150px}.single-photo button{width:100%}.product-overview{display:grid;grid-template-columns:1.05fr 1fr;min-height:676px;align-items:center;background:#f3eee7;padding:64px max(4.45vw,24px);gap:7vw;overflow:hidden}.overview-copy h2{font-size:52px;line-height:1.08;margin:0 0 28px;color:#47181c}.overview-copy>p{font-size:20px;line-height:1.6;max-width:600px;color:#655553}.overview-benefits{background:#eee3db;padding:26px 30px;margin-top:28px;border-radius:20px}.overview-benefits h3{font-family:Jost,sans-serif;font-size:21px;line-height:1.35;margin:0 0 20px}.overview-benefits .check-list{line-height:1.6;display:grid;gap:12px}.overview-benefits small{display:block;margin-top:18px;color:#77635e}.overview-art img{width:100%;height:500px;object-fit:contain;mix-blend-mode:multiply}.treatment-rail .site-product-card{flex:0 0 31%;min-width:300px}.site-product-card{min-width:0;background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.site-product-art{height:370px;background:#f1e9df;position:relative;display:grid;place-items:center;overflow:hidden}.site-product-art>.pill{position:absolute;left:20px;top:20px;z-index:1;max-width:calc(100% - 40px)}.site-product-art img{width:60%;height:80%;object-fit:contain;mix-blend-mode:multiply}.site-product-card>div{padding:24px 4px 4px;display:flex;flex:1;flex-direction:column}.site-product-card h3{font-size:29px;margin:0 0 12px}.site-product-card h3 a{text-decoration:none}.site-product-card p{font-size:16px;line-height:1.5;color:#686060;margin:0;min-height:72px}.site-price{display:block;font:600 32px Jost,sans-serif;margin:20px 0 16px;color:#47181c}.site-price small{font-size:16px;font-weight:400;margin-left:3px}.site-product-card .button{width:100%;margin-top:auto}.page-heading{padding-top:70px;padding-bottom:56px}.page-heading h1{font-size:64px;font-weight:600;color:#47181c;line-height:1.06;letter-spacing:-1.5px;margin:10px 0 22px}.page-heading p:not(.eyebrow){font-size:21px;color:#6a5a57;max-width:760px;line-height:1.6}.eyebrow{font:500 12px Jost,sans-serif;letter-spacing:2px;color:#805d60;margin:0 0 20px}.catalog-toolbar{display:flex;gap:20px;align-items:center;padding:20px 0 36px;border-top:1px solid #e6dcd6}.catalog-toolbar label:first-child{flex:1}.catalog-toolbar label{display:flex;align-items:center;gap:10px;color:#796965;font-size:14px}.catalog-toolbar input,.catalog-toolbar select{background:#f7f3ee;border:1px solid #e4d9d2;padding:14px 18px;border-radius:9px;min-height:48px;font:16px Jost,sans-serif;color:#47181c;max-width:100%}.catalog-toolbar input{width:100%}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 32px}.site-catalog{padding-bottom:100px}.site-cta{text-align:center;background:#f1e9df;padding:80px 24px;margin-top:60px}.site-cta h2{font-size:50px;color:#47181c;margin:0 0 20px}.site-cta p{max-width:570px;margin:0 auto 30px;font-size:18px;line-height:1.6;color:#75605c}.site-cta .button{min-width:200px}.bundle-list{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:60px}.bundle-detail{padding:28px;background:#f5f0ea;border:1px solid #e9dfd8;border-radius:24px;scroll-margin-top:40px}.bundle-vials{height:290px;display:flex;align-items:center;justify-content:center;gap:0;overflow:hidden}.bundle-vials img{height:85%;width:30%;object-fit:contain;mix-blend-mode:multiply}.bundle-detail h2{font-size:36px;color:#47181c;margin-bottom:16px}.bundle-detail p:not(.eyebrow){min-height:80px;color:#78635e;font-size:18px;line-height:1.5}.bundle-detail .eyebrow{font-size:11px;margin-top:20px}.bundle-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 25px}.bundle-links a{font-size:14px;color:#6e3438;text-underline-offset:4px}.bundle-detail .button{width:100%}.legal-hero{padding:130px 24px 110px;text-align:center;background:radial-gradient(ellipse at 85% 10%,#e6d3bb55,transparent 55%),#f4eee5}.legal-hero h1{font-size:62px;max-width:970px;margin:0 auto 25px;color:#47181c;line-height:1.04}.legal-hero>p:last-child{max-width:840px;margin:0 auto;color:#715d58;line-height:1.7;font-size:20px}.legal-hero .eyebrow{margin-bottom:24px}.legal-layout{display:grid;grid-template-columns:245px minmax(0,860px);justify-content:center;gap:80px;padding-top:80px;padding-bottom:100px}.legal-layout>nav{position:sticky;top:24px;align-self:start;display:grid;gap:4px}.legal-layout>nav a{font-size:14px;text-decoration:none;color:#7d6861;padding:12px 15px;border-radius:8px}.legal-layout>nav a[aria-current],.legal-layout>nav a:hover{background:#eee4dc;color:#47181c}.legal-copy{font-size:17px;color:#625652;line-height:1.9;overflow-wrap:anywhere}.legal-copy h2{font-family:Jost,sans-serif;font-size:23px;font-weight:500;color:#47181c;margin:38px 0 18px;line-height:1.4}.legal-copy p{margin:0 0 20px}.legal-copy h2:first-of-type{margin-top:22px}.about-hero{min-height:800px;background:linear-gradient(90deg,#efe5d9e6 0%,#efe5d9bb 42%,#efe5d915 80%),url("assets/home/hero.png") center/cover;padding:140px 6vw 100px;display:flex;align-items:center}.about-hero>div{max-width:650px}.about-hero h1{font-size:70px;line-height:1.06;color:#47181c;margin:0 0 30px}.about-hero p:not(.eyebrow){font-size:21px;line-height:1.7;color:#655650}.about-actions{display:flex;gap:15px;margin-top:35px}.about-mission{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:100px;padding-bottom:100px}.about-mission h2{font-size:48px;color:#47181c}.about-mission p:not(.eyebrow){font-size:20px;line-height:1.7;margin:0 0 25px;color:#73605c}.founder-section{background:#f1e8de;display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;padding-top:85px;padding-bottom:85px;align-items:center}.founder-art{aspect-ratio:1;overflow:hidden;border-radius:28px}.founder-art img{height:100%;width:100%;object-fit:cover}.founder-section h2{font-size:33px;line-height:1.45;color:#47181c;margin:0 0 28px}.founder-section>div>p:last-child{font-size:20px;color:#47181c}.founder-section span{font-size:14px;color:#806b63}.values-section{padding-top:100px;padding-bottom:100px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:55px}.values-grid article{background:#f7f3ee;border-radius:24px;padding:40px 28px}.values-grid span{color:#af9288;font-size:42px;font-family:'Welm Display',serif}.values-grid h3{font-size:29px;color:#47181c;margin:22px 0 20px}.values-grid p{font-size:18px;color:#786861;line-height:1.6}#team>.section-heading{margin-top:45px}#team .physician-banner{width:100%;margin:55px 0 100px}.account-section{background:radial-gradient(ellipse at top,#eee0cc88,transparent 75%),#f9f6f1;padding:100px 24px}.account-card{max-width:540px;margin:auto;padding:40px 45px;background:white;border:1px solid #e9dfd5;border-radius:24px}.account-tabs{display:flex;gap:30px;border-bottom:1px solid #e6dcd6;margin-bottom:35px}.account-tabs a{padding:0 0 16px;text-decoration:none;color:#9c8177;font-size:20px}.account-tabs [aria-current]{color:#47181c;border-bottom:2px solid #47181c}.account-card h1{font-size:44px;color:#47181c;margin:0 0 30px}.account-card form{display:grid;gap:24px}.account-card form>label{display:grid;gap:9px;font-size:16px;color:#634d47}.account-card input:not([type=checkbox]),#site-search{padding:14px 16px;border:1px solid #dfd3ca;border-radius:8px;background:#faf7f3;width:100%;font:16px Jost,sans-serif}.account-options{display:flex;justify-content:space-between;font-size:14px;align-items:center;gap:16px}.account-options>label{display:flex;align-items:center;gap:8px}.account-options input{accent-color:#47181c}.account-or{display:block;text-align:center;margin:28px 0;color:#a3897d}.account-card>.button{width:100%}.account-card [role=status]{font-size:15px;line-height:1.5;color:#6d4846}.cart-page{min-height:65vh;padding-bottom:100px}.empty-cart{text-align:center;border:1px solid #e6dcd5;padding:65px 24px;border-radius:24px;background:#f9f5ef}.empty-cart h2{font-size:36px;margin-bottom:16px}.empty-cart p{margin-bottom:25px;color:#806b62}.cart-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:60px}.cart-product{display:flex;align-items:center;gap:38px;background:#f7f1e9;border-radius:20px;padding:30px}.cart-product img{object-fit:contain;width:130px;height:220px;mix-blend-mode:multiply}.cart-product h2{font-size:32px;margin-bottom:18px}.cart-product p{font-size:18px;line-height:1.7}.cart-product .text-button{margin-top:20px}.cart-layout .button{width:100%;margin-top:20px}.search-result{display:flex;align-items:center;gap:20px;text-decoration:none;padding:16px 0;border-bottom:1px solid #eadfd6}.search-result img{object-fit:contain}.search-result small{margin-left:auto;font-size:13px}.search-result span{font-size:20px}#site-dialog{max-width:620px;width:calc(100vw - 40px);padding:32px;border:1px solid #dfd0c7;border-radius:22px;color:#47181c;background:#faf6f0}#site-dialog .dialog-heading{display:flex;gap:20px;justify-content:space-between;margin-bottom:26px}#site-dialog h2{font-size:32px;line-height:1.12}#site-dialog [data-close-site]{border:0;background:none;font-size:32px;cursor:pointer}#site-dialog p{line-height:1.7;margin-bottom:20px}#site-dialog::backdrop{background:#28121466;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.article-preview-image{width:100%;max-height:330px;object-fit:cover;border-radius:14px;margin-bottom:24px}body[data-page=home] .welmc-footer{font-family:Jost,sans-serif}body[data-page=home] .newsletter{padding:64px max(4.5vw,20px);background:#321013}body[data-page=home] .newsletter-inner{background:#f1e8dc;color:#47181c;border-radius:16px;max-width:1312px;margin:auto;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}body[data-page=home] .newsletter h2{font-size:45px;color:#47181c}body[data-page=home] .newsletter-copy p{font-size:18px;margin-top:14px}body[data-page=home] .newsletter form{margin:0;text-align:left;max-width:none}body[data-page=home] .newsletter-control{display:flex;background:white;padding:6px;border-radius:12px}body[data-page=home] .newsletter-control input{min-width:0;flex:1;padding:12px;border:0;background:none;font:16px Jost,sans-serif}body[data-page=home] #newsletter-consent{font-size:12px;line-height:1.5;margin-top:15px}body[data-page=home] #newsletter-status{font-size:13px;line-height:1.5;margin-top:12px}body[data-page=home] .welmc-footer__wordmark{width:100%}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-layout{grid-template-columns:190px minmax(0,1fr);gap:35px}.about-mission{gap:40px}.founder-section h2{font-size:26px}.site-product-art{height:330px}.product-overview{gap:35px}.overview-copy h2{font-size:44px}.treatment-rail .site-product-card{flex-basis:43%}.cart-layout{gap:28px}.about-hero h1{font-size:60px}}
@media(max-width:700px){.product-overview{grid-template-columns:1fr;gap:10px;padding:55px 24px 20px}.overview-copy h2{font-size:35px;margin-bottom:20px}.overview-copy>p{font-size:17px;line-height:1.6}.overview-benefits{padding:23px;margin-top:25px}.overview-benefits h3{font-size:18px}.overview-art img{height:300px}.overview-art{margin:0 -25px}.page-heading{padding-top:48px;padding-bottom:32px}.page-heading h1{font-size:43px;letter-spacing:-.8px}.page-heading p:not(.eyebrow){font-size:17px}.catalog-toolbar{flex-wrap:wrap;gap:12px;padding-bottom:28px}.catalog-toolbar label:first-child{flex-basis:100%}.catalog-toolbar label:not(:first-child){flex:1;min-width:0;display:grid;gap:4px}.catalog-toolbar select{width:100%;font-size:14px;padding:12px}.catalog-grid{grid-template-columns:1fr;gap:42px}.site-product-art{height:370px}.site-product-card h3{font-size:29px}.site-product-card p{min-height:0}.site-product-card .site-price{margin:18px 0}.site-product-card>div{padding:20px 0 0}.site-catalog{padding-bottom:30px}.treatment-rail .site-product-card{flex-basis:calc(100vw - 48px);min-width:0}.site-cta{margin-top:40px;padding:60px 24px}.site-cta h2{font-size:36px}.site-cta p{font-size:17px}.bundle-list{grid-template-columns:1fr;gap:24px}.bundle-detail{padding:24px 20px}.bundle-detail h2{font-size:32px}.bundle-detail p:not(.eyebrow){font-size:17px;min-height:0}.bundle-vials{height:250px}.legal-hero{padding:75px 24px 65px}.legal-hero h1{font-size:40px;overflow-wrap:break-word}.legal-hero>p:last-child{font-size:17px}.legal-layout{grid-template-columns:1fr;gap:32px;padding-top:30px;padding-bottom:50px}.legal-layout>nav{position:static;display:flex;overflow-x:auto;padding-bottom:12px;gap:8px}.legal-layout>nav a{flex-shrink:0;max-width:240px;white-space:normal;font-size:12px;padding:10px 14px;border:1px solid #e7dcd4}.legal-copy{font-size:16px;line-height:1.8}.legal-copy h2{font-size:22px;margin-top:30px}.about-hero{min-height:640px;padding:65px 24px;background-position:60% center}.about-hero h1{font-size:48px}.about-hero p:not(.eyebrow){font-size:17px}.about-actions{flex-wrap:wrap}.about-actions a{width:100%}.about-mission{grid-template-columns:1fr;gap:28px;padding-top:60px;padding-bottom:45px}.about-mission h2{font-size:37px}.about-mission p:not(.eyebrow){font-size:18px}.founder-section{grid-template-columns:1fr;gap:35px;padding-top:45px;padding-bottom:55px}.founder-art{aspect-ratio:1.15}.founder-section h2{font-size:27px}.values-section{padding-top:55px;padding-bottom:40px}.values-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.values-grid article{padding:28px}.values-grid h3{font-size:29px;margin:14px 0}.values-grid p{font-size:17px}.account-section{padding:50px 20px}.account-card{padding:28px 22px}.account-card h1{font-size:37px}.account-options{font-size:12px;gap:8px}.cart-layout{grid-template-columns:1fr;gap:25px}.cart-product{padding:20px;gap:20px}.cart-product img{width:80px;height:160px}.cart-product h2{font-size:27px}.cart-product p{font-size:16px}.cart-page{padding-bottom:50px}.single-photo{max-width:110px}.search-result{gap:12px}.search-result span{font-size:18px}.search-result small{font-size:11px}body[data-page=home] .newsletter-inner{grid-template-columns:1fr;padding:28px 22px;gap:26px}body[data-page=home] .newsletter h2{font-size:36px}body[data-page=home] .newsletter-control input{font-size:14px;padding:8px}body[data-page=home] .newsletter-control .button{padding:8px 14px;font-size:13px}.preview-badge{font-size:11px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.bundle-billing-detail{font-size:13px;line-height:1.6;color:#776a64;margin:10px 0 20px;max-width:38ch}
/* Product pages: the treatment questions now follow the "Patients also add" cards directly (the studies section and
   Dr. Kelm card were removed 10-01), so drop the extra top space that sat after them. */
.treatments-section+.faq-section{padding-top:24px}
@media(max-width:700px){.treatments-section+.faq-section{padding-top:8px}}
/* iOS before 15.4 (no <dialog>, see root.js): hide closed dialogs and lay open ones over the page. :where() keeps each
   dialog's own styles in charge. */
.no-dialog dialog:not([open]){display:none!important}
:where(.no-dialog dialog[open]){display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;margin:auto;max-width:calc(100% - 32px);max-height:calc(100% - 32px);overflow:auto;padding:0;border:0;background:#fff}
/* The skip link's target takes focus without drawing a ring around the whole page. */
main[tabindex="-1"]:focus{outline:none}
