/* Shared editorial and interactive components. Product pack sizing stays in style.css. */
.faq-search{max-width:1300px;margin:0 auto 35px}.faq-search label{display:block;margin-bottom:10px}.faq-search input{width:100%;padding:16px;border:1px solid #aaa;background:#fff;color:#222;font:inherit}.formula-intro{max-width:850px;margin:0 auto 55px}.formula-intro h2{font-size:2rem;margin-top:35px}.ingredient-tags{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:8px}.ingredient-tags li{padding:8px 12px;background:#eeefea;font-size:.9rem}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.formula-grid article{min-width:0;scroll-margin-top:35px}.formula-grid h2{font-size:2rem}.formula-grid h3{font-size:1.1rem;margin-top:30px}.formula-grid li{margin-bottom:8px;overflow-wrap:anywhere}.inci-text{font-size:.95rem;line-height:1.8;overflow-wrap:anywhere}.formula-compare-link{text-align:center;margin-top:45px}.help-launcher{position:fixed;bottom:22px;right:22px;z-index:16;background:#252525;color:#fff;border:1px solid #fff8;border-radius:30px;padding:13px 20px;box-shadow:0 3px 12px #0002;font:inherit;font-size:.875rem}.has-sticky-purchase .help-launcher{bottom:105px}body:has(.care-shell) .help-launcher{display:none}.help-dialog{width:min(520px,calc(100vw - 30px));max-height:85dvh;padding:28px}.help-dialog h2{font-size:2rem;margin:0}.help-dialog nav a{display:block;padding:20px 0;border-bottom:1px solid #ddd}.help-dialog nav span{display:block;font-size:.85rem;color:#666;margin-top:5px;overflow-wrap:anywhere}.help-dialog form{position:sticky;top:-28px;background:#fff;padding:12px 0}.help-dialog .notice{margin-bottom:0}.print-only{display:none}.result-actions{flex-wrap:wrap}.print-hint{max-width:750px}
@media(max-width:700px){.formula-grid{grid-template-columns:1fr;gap:45px}.formula-grid article+article{padding-top:35px;border-top:1px solid #ccc}.help-launcher{bottom:15px;right:15px;padding:11px 16px}.help-dialog{padding:22px}.help-dialog form{top:-22px}.result-actions .btn{width:100%}}
@media print{
 @page{margin:15mm}
 body:has(.care-result){background:white;color:black;padding:0;font-size:11pt}
 body:has(.care-result)>:not(main){display:none!important}
 .care-result .answer-chips,.care-result .private-answer,.care-result button,.care-result .result-actions,.care-result .print-hint,.care-result .quick-view{display:none!important}
 .care-result .print-only{display:block;font-size:10pt;color:#333}
 .care-result .page-top,.care-result .section{padding:0;margin:0 0 20px}
 .care-result h1{font-size:28pt}.care-result h2{font-size:18pt}
 .care-result .products{display:block;max-width:none}.care-result .product{display:block;break-inside:avoid;margin:0 0 20px;padding:15px 0;border-bottom:1px solid #ccc}
 .care-result .product>.product-image{width:115px;float:left;margin:0 20px 10px 0}.care-result .product::after{content:'';display:block;clear:both}
 .care-result .pack-frame{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.care-result .pack-frame img{display:block;object-fit:contain;mask-image:none;-webkit-mask-image:none}.care-result .product h3{font-size:16pt}.care-result .product .product-info{padding:0}
 .care-result .product .product-bottom a::after{content:' — https://ryvencare.com' attr(href);display:block;font-size:9pt;overflow-wrap:anywhere}
 .care-result .product .product-image{display:block}.care-result .product.product-wide>.product-image{width:180px}
 .care-result .routine-note{padding:15px;margin:20px 0;break-inside:avoid;background:transparent;border:1px solid #ccc}
 .care-result .result-note{background:transparent}.care-result .notice{font-size:10pt}.care-result a{color:black}
}
[hidden]{display:none!important}button:disabled{cursor:default}.text-button{background:none;border:0;padding:12px 0;text-decoration:underline;text-underline-offset:5px;color:inherit}.nav-catalog{font:inherit;background:none;border:0;padding:18px 0}.nav{gap:24px}.nav-catalog span{margin-left:6px}.mega-menu{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:60px;padding:40px 5%;background:#f6f6f2;border-bottom:1px solid #ccc;box-shadow:0 30px 30px #0001}.mega-menu a{display:block;padding:8px 0}.mega-menu .eyebrow{color:#666}.menu-feature img{width:100%;max-height:250px;object-fit:contain;background:#a4a3a2}.menu-feature span{display:block;margin-top:12px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:35px}.footer-email{overflow-wrap:anywhere}.footer-bottom{flex-wrap:wrap}.catalog-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;margin-bottom:15px}.catalog-filters label{display:flex;flex-direction:column;gap:8px;font-size:.875rem}.catalog-filters input,.catalog-filters select{width:100%;min-height:50px;padding:12px;border:1px solid #aaa;border-radius:0;background:#fff;color:#222}.catalog-filters input:focus,.catalog-filters select:focus{outline-offset:2px}.catalog-toolbar{border-bottom:1px solid #ddd;padding-bottom:12px}.empty{grid-column:1/-1}.routine-note{padding:40px;margin-top:60px;background:#eeefea}.routine-note h2{font-size:2rem}.routine-note p{max-width:800px}.care-intro{display:grid;grid-template-columns:1fr 1fr;min-height:640px;background:#eeefea}.care-intro>div{padding:80px 8%;align-self:center}.care-intro h1{font-size:clamp(3rem,5.5vw,5.5rem)}.care-intro>img{width:100%;height:100%;object-fit:contain;background:#a4a3a2}.care-intro .btn{min-width:260px;gap:40px}.care-intro p{max-width:470px}.care-intro .notice{margin-top:30px}.care-shell{max-width:900px;margin:auto;padding:55px 30px 85px;min-height:680px}.care-meta{display:flex;justify-content:space-between;gap:20px;font-size:.875rem;margin-bottom:25px}.care-shell progress{appearance:none;height:3px;width:100%;border:0;background:#ddd;margin-bottom:50px}.care-shell progress::-webkit-progress-bar{background:#ddd}.care-shell progress::-webkit-progress-value{background:#252525}.care-shell progress::-moz-progress-bar{background:#252525}.care-shell fieldset{border:0;margin:0;padding:0;min-width:0}.care-shell legend{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:20px}.care-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.care-choices label{position:relative;cursor:pointer}.care-choices input{position:absolute;left:20px;top:calc(50% - 8px);width:16px;height:16px;accent-color:#222;margin:0}.care-choices span{display:flex;align-items:center;gap:15px;min-height:94px;border:1px solid #aaa;padding:20px 20px 20px 52px}.care-choices small{color:#777}.care-choices input:checked+span{background:#e5e6df;border-color:#222;box-shadow:inset 0 0 0 1px #222}.care-choices input:focus-visible+span{outline:2px solid #b31e30;outline-offset:3px}.care-actions{display:flex;justify-content:space-between;gap:20px;margin-top:35px}.care-actions .btn{min-width:220px}.answer-chips,.search-chips{display:flex;flex-wrap:wrap;gap:10px}.answer-chips button,.search-chips button{background:#f0f0ec;border:1px solid #d6d6d0;padding:10px 15px;color:#222}.answer-chips button span{padding-left:10px}.result-intro{font-size:1.4rem}.result-note{border-left:2px solid #666;padding:16px 22px;background:#f1f1ed;max-width:850px}.result-products{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1200px}.result-section{margin-top:65px}.search-caption{margin:24px 0 12px;font-size:.875rem;text-transform:uppercase;letter-spacing:.07em}.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:10%;max-width:1300px;margin:auto}.faq-layout nav{align-self:start;position:sticky;top:30px}.faq-layout nav a{display:block;border-bottom:1px solid #ccc;padding:16px 0}.faq-group{margin-bottom:65px}.faq-group h2{font-size:2rem}.faq-group p{padding:0 0 20px;line-height:1.7;max-width:800px}.faq-layout [id]{scroll-margin-top:30px}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;padding:30px 0 60px}.contact-grid p{max-width:560px}.contact-grid h2{font-size:2rem;margin-top:40px}.contact-grid h2:first-child{margin-top:0}.email-link{font-size:clamp(1.2rem,2.5vw,2.5rem);text-decoration:underline;text-underline-offset:8px;display:block;margin-bottom:30px;overflow-wrap:anywhere}.editorial.compact{padding:0 0 40px}.editorial.compact h2:first-child{margin-top:0}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-card .pack-frame{height:360px;aspect-ratio:auto}.guide-card .pack-frame:not(.pack-normalized){background:#aaa}.guide-card .pack-frame:not(.pack-normalized) img{object-fit:contain}.guide-card .eyebrow{font-size:.75rem;margin:24px 0 14px}.guide-card h3{font-size:1.7rem}.guide-card>p:not(.eyebrow){color:#666}.guide-card .text-link{display:inline-block;margin-top:10px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1100px;margin:auto}.compare-grid article>.pack-frame{max-width:380px;margin:0 auto 35px}.compare-grid h2{font-size:2rem;min-height:90px}.compare-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-top:26px;color:#666}.compare-grid dd{margin:10px 0;line-height:1.7}.compare-grid dl{margin-bottom:30px}.tutorial{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;max-width:1200px;margin:auto}.tutorial .pack-frame{max-width:440px}.step-list{counter-reset:steps;list-style:none;padding:0}.step-list li{counter-increment:steps;position:relative;padding:0 0 28px 60px;border-bottom:1px solid #ddd;margin-bottom:28px}.step-list li:before{content:'0' counter(steps);position:absolute;left:0;top:0;color:#666}.step-list h2{font-size:1.7rem;margin-bottom:15px}.map-columns{columns:3;column-gap:50px}.map-columns section{break-inside:avoid;margin-bottom:40px}.map-columns h2{font-size:1.5rem}.map-columns a{display:block;padding:7px 0;font-size:.95rem}.zoom-open{width:100%;background:#f1f1ed;border:0;padding:16px;text-decoration:underline;text-underline-offset:5px}.image-dialog{width:min(1000px,96vw);padding:24px}.image-dialog img{width:100%;max-height:65vh;object-fit:contain}.image-dialog form p{margin:0 25px 0 0}.image-dialog .notice{margin:15px 0 0}.format-picker{margin:25px 0}.format-picker>p{font-size:.875rem;color:#666;margin-bottom:12px}.format-picker>div{display:flex;flex-wrap:wrap;gap:10px}.format-picker a{display:flex;flex-direction:column;text-align:center;justify-content:center;min-width:90px;padding:10px 15px;border:1px solid #bbb}.format-picker .selected{border-color:#222;background:#eeeeea}.format-picker small{font-size:.68rem;color:#666}.product-tutorial{background:#f1f1ed;padding-top:60px}.product-tutorial .principles{margin:40px 0}.product-tutorial .principles span{display:block;font-size:.8rem;color:#666;margin-bottom:20px}.product-faq{max-width:1000px;margin:60px auto 0}.product-faq>.faq-group>h2{display:none}.sticky-purchase{position:fixed;bottom:0;left:0;right:0;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 4%;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #ccc}.sticky-purchase small{display:block;color:#666}.has-sticky-purchase{padding-bottom:85px}.product-rail{display:flex;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px}.product-rail .product{flex:0 0 calc((100% - 66px)/4);scroll-snap-align:start}.rail-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.rail-controls button{width:48px;height:44px;border:1px solid #bbb;background:white;font-size:1.25rem}.rail-controls button:disabled{opacity:.35}.quiz-banner{background:#e8e9e3;text-align:center;padding:85px 25px}.quiz-banner h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.home-guides{padding-top:80px}.home-contact{text-align:center;padding:50px 20px 80px}.home-contact .text-link{overflow-wrap:anywhere}.home-contact h2{font-size:2.5rem}
@media(max-width:1100px){.nav{gap:14px}.nav a,.nav-catalog{font-size:.85rem}.nav-right{gap:0}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.mega-menu{gap:30px}.care-intro>div{padding:65px 7%}.care-intro{min-height:560px}.guide-card .pack-frame{height:300px}.guide-card h3{font-size:1.4rem}}
@media(max-width:800px){.nav{display:none}.menu-toggle{display:flex}.menu-panel.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:20px 25px;max-height:calc(100dvh - 120px);overflow:auto;border-bottom:1px solid #ccc}.menu-panel a{padding:12px 0}.menu-panel details a{font-size:.875rem;padding-left:15px}.menu-panel summary{padding:12px 0}.mega-menu{display:none}.care-intro{grid-template-columns:1fr}.care-intro>img{height:auto;max-height:370px;order:-1}.care-intro>div{padding:40px 24px}.care-intro h1 br{display:none}.care-intro h1{font-size:3rem}.care-intro .btn{min-width:0}.care-shell{padding:35px 23px 60px;min-height:600px}.care-shell progress{margin-bottom:35px}.care-choices{grid-template-columns:1fr}.care-choices span{min-height:75px}.care-actions .btn{min-width:180px}.result-products{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters{grid-template-columns:1fr 1fr;gap:14px}.catalog-filters label:first-child{grid-column:1/-1}.contact-grid,.faq-layout{grid-template-columns:1fr;gap:35px}.faq-layout nav{position:static}.faq-group{margin-bottom:40px}.guide-grid{grid-template-columns:1fr;gap:40px}.guide-card .pack-frame{height:330px}.guide-card{max-width:600px;width:100%;margin:auto}.compare-grid{gap:18px}.compare-grid h2{font-size:1.35rem;min-height:100px}.compare-grid dd{font-size:.9rem}.compare-grid .btn{padding:10px;font-size:.85rem}.tutorial{grid-template-columns:1fr;gap:40px}.tutorial .pack-frame{max-width:340px;margin:auto}.map-columns{columns:2}.routine-note{padding:28px 22px}.product-rail .product{flex-basis:44%}.sticky-purchase{padding:10px 18px;gap:12px}.sticky-purchase>span{font-size:.8rem}.sticky-purchase .btn{font-size:.8rem;padding:12px;min-width:150px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.quiz-banner{padding:60px 22px}.home-guides{padding-top:55px}}
@media(max-width:380px){.care-actions .btn{min-width:150px}.catalog-filters{grid-template-columns:1fr}.map-columns{columns:1}.compare-grid{grid-template-columns:1fr}.compare-grid h2{min-height:0}.product-rail .product{flex-basis:70%}}
@media(prefers-reduced-motion:reduce){.product-rail{scroll-behavior:auto!important}}
.quick-view{display:block;width:100%;border:0;background:#edede9;padding:10px 12px;font-size:.8rem;color:#333}.quick-view:hover{background:#dedfd8}.quick-dialog{width:min(960px,95vw)}.quick-dialog form .eyebrow{margin:0}.quick-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:25px;align-items:center}.quick-layout h2{font-size:2rem}.quick-layout .actions{display:grid;gap:10px}.quick-layout>.pack-frame{max-height:540px}.quick-layout>.pack-wide{align-self:center}.quick-layout .notice{margin-bottom:15px}@media(max-width:700px){.quick-layout{grid-template-columns:1fr;gap:25px}.quick-layout>.pack-frame{max-height:280px;max-width:210px;justify-self:center}.quick-layout>.pack-wide{max-width:100%}.quick-layout h2{font-size:1.7rem}.quick-view{padding:10px 4px;font-size:.72rem}}
.catalog-filters{grid-template-columns:1.3fr 1.3fr 1fr;align-items:start}.filter-options{border:0;margin:0;padding:0;min-width:0}.filter-options legend{font-size:.875rem;padding:0;margin-bottom:8px}.filter-options>div{display:flex;flex-wrap:wrap;gap:6px}.filter-options button{background:#fff;border:1px solid #bbb;padding:12px 10px;min-height:50px;font-size:.8rem;color:#222}.filter-options button[aria-pressed=true]{background:#252525;color:#fff;border-color:#252525}.catalog-filters input[type=hidden]{display:none}@media(max-width:1100px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters>label:first-child{grid-column:1/-1}}@media(max-width:700px){.catalog-filters{grid-template-columns:1fr}.filter-options>div{gap:8px}.filter-options button{flex:1;white-space:nowrap}}
.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}.clear-search{display:block;margin-left:auto}body:has(dialog[open]){overflow:hidden}.care-actions{position:sticky;bottom:0;padding:15px 0;background:#ffffffed;backdrop-filter:blur(10px);z-index:2}.care-actions .btn{max-width:75%}@media(max-width:700px){.care-choices label{min-height:60px}.care-shell .care-actions{margin-bottom:-15px}.image-dialog form,.quick-dialog form{position:sticky;top:-20px;background:white;z-index:1;padding:8px 0}}

.marketplace-actions{display:flex;flex-wrap:wrap;gap:10px}.product>.marketplace-actions{margin-top:20px}.product>.marketplace-actions .btn{width:100%}.sticky-purchase .marketplace-actions{flex-wrap:nowrap}.sticky-purchase .marketplace-actions .btn{white-space:nowrap}@media(max-width:700px){.sticky-purchase{display:grid;grid-template-columns:1fr;gap:7px}.sticky-purchase>span{font-size:.75rem}.sticky-purchase small{display:inline;margin-left:8px}.sticky-purchase .marketplace-actions{display:grid;grid-template-columns:1fr 1fr}.sticky-purchase .marketplace-actions .btn{min-width:0;padding:12px 8px}.has-sticky-purchase{padding-bottom:120px}.has-sticky-purchase .help-launcher{bottom:135px}}
/* Finished studio images share the same framing and baseline. */
.pack-frame.pack-current{background:#a4a3a2}.pack-frame.pack-current img{width:100%;height:100%;object-fit:contain;max-height:none;mask-image:none;-webkit-mask-image:none}.current-serum-pair{display:flex;width:100%;aspect-ratio:3/2;background:#a4a3a2;align-self:center;overflow:hidden}.current-serum-pair>.pack-frame{flex:1;min-width:0;aspect-ratio:3/4}.care-intro>.current-serum-pair{padding:0;align-self:center}.menu-feature .current-serum-pair{max-height:250px}.image-dialog>.pack-current{width:min(400px,100%,48.75vh);aspect-ratio:3/4;margin:auto}.guide-card .pack-current{aspect-ratio:3/4;height:auto;max-height:360px}@media(max-width:800px){.care-intro>.current-serum-pair{order:-1;max-height:370px}.guide-card .pack-current{max-height:330px}}

/* Close-up view enlarges the package for inspection without changing its shape. */
.image-dialog>.pack-frame{width:min(420px,100%,48.75vh);margin:20px auto 0}.image-dialog>.pack-wide{width:min(900px,100%,97.5vh)}

.image-dialog>.pack-frame img{max-height:none}

.image-dialog>.pack-normalized img{width:calc(100% * var(--pack-scale));height:calc(100% * var(--pack-scale));max-width:none;max-height:none}

/* Framing calculations require the original portrait ratio in editorial cards. */
.guide-card .pack-frame.pack-normalized{height:auto;max-height:none;aspect-ratio:3/4}
.menu-feature .current-serum-pair{width:min(100%,375px);max-height:none}

.guide-card .pack-frame.pack-wide{height:auto;aspect-ratio:3/2}
