/* Shared public-site visual system. Does not alter page structure or business logic. */
:root{--ys-gold:#e6bd64;--ys-gold-bright:#f1d28e;--ys-gold-deep:#806026;--ys-ink:#222923;--ys-graphite:#272d28;--ys-muted:#505a52;--ys-line:#e2ddd2;--ys-warm:#fbfaf6;--ys-pearl:#fff;--ys-ice:#f5f0e5;--ys-teal:#235640;--ys-radius:20px}
html body.ys-theme{background:#fff;color:#222923}
html body.ys-theme .ys-header{background:#fff!important;backdrop-filter:none!important;border-bottom-color:#e4dfd4!important}
html body.ys-theme .ys-header :is(.ys-nav__list>li>a,.ys-nav__row>a){font-family:var(--rf-sans,Manrope,Arial,sans-serif)!important;font-size:14px!important;line-height:1.5!important;font-weight:700!important;letter-spacing:0!important;white-space:nowrap}
html body.ys-theme .ys-header .ys-subnav a{font-size:13px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:0!important}
html body.ys-theme .ys-header .ys-subnav{border-radius:18px!important;background:#fff!important;border-color:#ddd5c6!important}
html body.ys-theme .ys-header .ys-nav__list a::after{background:#b99147}
html body.ys-theme .ys-header .ys-header__quote{display:inline-flex;align-items:center;justify-content:center;border-radius:999px!important;background:#28352d!important;border:1px solid #28352d!important;color:#fff!important;font-size:13px!important;line-height:1.4!important;font-weight:750!important;letter-spacing:0!important;padding:14px 23px!important;white-space:nowrap;box-shadow:none!important}
html body.ys-theme :is(.ys-button,.yc-btn,.ysc-card .ys-button,.yb-search button,.ys-form button[type=submit],.ys-contact-refresh .btn){border-radius:999px!important}
html body.ys-theme .ys-button{line-height:1.4;white-space:normal}
html body.ys-theme .ys-header .ys-nav-toggle{border-radius:999px!important;border:1px solid #ded8cc;background:#fff}
html body.ys-theme .ys-footer{background:#272d28!important;background-image:none!important;color:#e6e7e1}
html body.ys-theme .ys-footer :is(h2,h3,a){color:#fff}
html body.ys-theme .ys-footer :is(.ys-button,.ys-button--gold){border-radius:999px!important;background:#edca80!important;color:#30270f!important;border-color:#edca80!important;font-size:13px!important;line-height:1.4!important;font-weight:750!important;padding:14px 22px!important;box-shadow:none!important}
html body.ys-theme .ys-footer-share :is(a,button){border-radius:999px!important}
html body.ys-theme .ys-footer-brand img{background:transparent!important;padding:0!important;object-fit:contain}
/* White and warm ivory carry the large surfaces. Green remains a small functional accent. */
html body.home main .rf-assurance{background:#f6f0e4!important;border-top:1px solid #e3d8c1;border-bottom:1px solid #e3d8c1}
html body.home main .rf-assurance :is(h2,h3){color:#222923!important;text-shadow:none!important}
html body.home main .rf-assurance .rf-assurance-intro{color:#4c564d!important}
html body.home main .rf-assurance :is(.ys-eyebrow,.rf-assurance-topline>a){color:#795b26!important}
html body.home main .rf-assurance .rf-assurance-path{background:#fff!important;border-color:#e1d8c7!important;box-shadow:0 4px 8px #654c1d08,0 18px 30px -20px #61491d42!important}
html body.home main :is(.home-material-section,.rf-order-prep){background:#faf7f0!important}
html body .yc-page :is(.yc-warm,.ya-hero){background:#faf7f0}
html body .yc-page .yc-dark-section{background:#f5efe2!important;color:#222923}
html body .yc-page .yc-dark-section :is(h2,h3){color:#222923!important}
html body .yc-page .yc-dark-section p{color:#4b554c!important}
html body .yc-page .yc-dark-section :is(.yc-kicker,.ya-principles article>span){color:#806026!important}
html body .yc-page .yc-dark-section .ya-principles article{border-color:#d2c2a1}
html body .yc-page .yc-process>li{background:#fff;border-color:#ddd3bf}
html body .yc-page .yc-process>li>span,html body .yc-page .yc-process b{color:#806026}
html body .yc-page .yc-process>li>div:last-child{border-color:#ddd3bf}
html body .yc-page .yc-section-nav{background:#faf6ec;box-shadow:0 8px 20px #634a1c0d;border-bottom:1px solid #e4dac6}
html body .yc-page .yc-section-nav .yc-wrap{scrollbar-color:#b38d45 #faf6ec}
html body .yc-page .yc-section-nav a{background:#fff;color:#303a32;border-color:#d5ccb9}
html body .yc-page .yc-section-nav a:hover{background:#edca7d;color:#30270f;border-color:#b99754}
html body .yc-page .yc-hero-copy{background:#222923b8}
html body .yc-page .yc-hero::after{background:linear-gradient(90deg,#20272020,transparent 80%)}
html body .yc-page .yc-final{background:#f6f0e4!important;border-top:1px solid #e2d8c4}
html body .yc-page .yc-final h2{color:#222923!important}
html body .yc-page .yc-final p{color:#4b554c!important}
html body .yc-page .yc-final .yc-kicker{color:#806026!important}
html body .yc-page .yc-btn.yc-dark{background:#29372e;border-color:#29372e;color:#fff!important}
html body .yc-page :is(.yc-card,.yc-report,.yc-photo-card){border-color:#e1dbcf}
html body.ys-theme :is(.ys-section--related-products,.ys-product-reference){background:#f7f2e8}
html body.ys-theme .ys-page-hero{background-color:#faf7f0}
/* Retain the prominent catalog filter and accessible green selected-category badge. */
html body.ys-theme .ysc-toolbar{border-top-color:#c5a057!important}
html body.ys-theme .ysc-material.is-active{border-color:#b28b40!important}
html body.ys-theme a:focus-visible,html body.ys-theme button:focus-visible{outline-color:#a57d32!important}
@media(max-width:1100px){html body.home .ys-header .ys-header__quote{display:none}}
@media(max-width:980px){html body.ys-theme .ys-header .ys-header__quote{display:none}}
@media(max-width:760px){html body.ys-theme .ys-header :is(.ys-nav__list>li>a,.ys-nav__row>a){font-size:14px!important;font-weight:700!important}html body.ys-theme .ys-header .ys-subnav a{font-size:13px!important}html body.ys-theme .ys-header .ys-nav{background:#fff!important}}

/* Keep the product introduction on its banner at phone widths. */
@media(max-width:760px){
 html body.ys-page-products .ys-page-hero{min-height:470px;display:flex;align-items:center;padding:36px 18px;background-image:var(--ys-page-hero-image);background-size:cover;background-position:60% center;background-repeat:no-repeat}
 html body.ys-page-products .ys-page-hero .ys-container{width:100%;max-width:440px;margin:auto;padding:25px 22px;background:rgba(255,253,247,.88);border:1px solid #e2d4b6;border-radius:23px;box-shadow:0 12px 28px #57401b0c}
 html body.ys-page-products .ys-page-hero h1{max-width:100%;font-size:clamp(28px,8.2vw,34px);line-height:1.12;letter-spacing:-.035em;color:#222923;margin:0 0 18px}
 html body.ys-page-products .ys-page-hero .ys-eyebrow{font-size:10px;letter-spacing:.14em;color:#806026;margin:0 0 18px}
 html body.ys-page-products .ys-page-hero p:not(.ys-eyebrow){max-width:100%;font-size:14px;line-height:1.65;color:#424c43;margin:0}
}

/* Phone filters show every category without a horizontal scroll strip. */
@media(max-width:800px){
 html body.ys-theme .ysc-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 13px}
 html body.ys-theme .ysc-toolbar>div{min-width:0;max-width:100%}
 html body.ys-theme .ysc-toolbar .ysc-categories{display:flex;flex-wrap:wrap!important;gap:6px;overflow:visible!important;padding:0!important;min-width:0;max-width:100%;width:100%;scrollbar-width:none}
 html body.ys-theme .ysc-toolbar .ysc-categories a{flex:1 0 auto;min-width:0;max-width:100%;min-height:40px;padding:8px 10px;font-size:11px;line-height:1.25;text-align:center;white-space:nowrap}
 html body.ys-theme .ysc-toolbar label{font-size:10px;margin-bottom:6px}
 html body.ys-theme .ys-material-trigger{min-height:44px;padding:9px 17px;font-size:14px}
 html body.ys-theme .ys-material-menu{overflow-x:hidden}
}

/* Shared phone alignment: headings and actions centered; form fields remain readable. */
@media(max-width:760px){
 html body.ys-theme :is(.ys-main,.ys-footer) :is(h1,h2,h3,h4,h5,h6){text-align:center!important;margin-inline:auto!important}
 html body.ys-theme .ys-main :is(.ys-eyebrow,.yc-kicker,.eyebrow,.step-tag){text-align:center!important;margin-inline:auto!important}
 html body.ys-theme :is(.ys-section__head,.yc-heading,.section-head,.yb-library-head,.rf-journal-heading,.rf-order-prep .ys-section__head){text-align:center!important;align-items:center!important}
 html body.ys-theme .ys-main :is(.ys-button,.yc-btn,.ys-contact-refresh .btn,.ys-form button[type=submit]){display:flex!important;justify-content:center!important;align-items:center;align-self:center;justify-self:center;width:fit-content;max-width:100%;text-align:center!important;margin-inline:auto!important}
 html body.ys-theme :is(.ys-actions,.yc-actions,.ys-contact-refresh .actions,.submit-row){justify-content:center!important;align-items:center!important;text-align:center}
 html body.ys-theme :is(.yc-final>.yc-wrap,.yb-footer-cta>.yc-wrap,.yc-inline-action,.rf-order-footer){align-items:center!important;text-align:center}
 html body.ys-theme :is(.ys-cta__inner,.ys-footer__grid>div,.ys-footer__bottom,.ys-footer-brand,.ys-footer-share){text-align:center;justify-content:center}
 html body.ys-theme .ys-footer .ys-button{display:flex;width:fit-content;margin-inline:auto!important;text-align:center}
 html body.ys-theme .ys-footer__bottom nav{justify-content:center}
 html body.ys-theme :is(.ysc-material,.ysc-card,.home-material,.ys-editorial-route__body){text-align:center!important}
 html body.ys-theme .ysc-material{align-items:center!important}
 html body.ys-theme .ysc-list-head{justify-content:center!important;text-align:center}
 html body.ys-theme .ysc-list-head>div{flex-basis:100%;text-align:center}
 html body.ys-theme .ysc-list-head :is(h2,#ysc-open-list){margin-inline:auto!important;justify-content:center!important}
 html body.ys-theme .ysc-toolbar label{text-align:center}
 html body.ys-theme .ys-material-trigger{position:relative;justify-content:center;text-align:center;padding-inline:35px}
 html body.ys-theme .ys-material-trigger::after{position:absolute;right:17px}
 html body.ys-theme .ys-material-menu button{text-align:center}
 html body.ys-theme :is(.yb-read,.rf-journal-read){justify-content:center!important;text-align:center!important}
 html body.ys-theme .ys-contact-refresh .form-head{text-align:center}
 html body.ys-theme .ys-contact-refresh legend{width:100%;justify-content:center;text-align:center}
 html body.ys-theme .ys-contact-refresh .submit-row .btn{width:100%}
 html body.ys-theme :is(.ys-form,.ys-contact-refresh form) :is(label,input,select,textarea){text-align:left}
 html body.ys-theme .ys-header .ys-nav__list>li>a{text-align:center}
 html body.ys-theme .ys-header .ys-nav__row{position:relative;justify-content:center}
 html body.ys-theme .ys-header .ys-nav__row>a{text-align:center}
 html body.ys-theme .ys-header .ys-subnav-toggle{position:absolute;right:10px}
 html body.ys-theme .ys-header .ys-subnav a{text-align:center}
 html body.ys-theme .ys-main summary{text-align:center!important}
 html body.home :is(.rf-assurance-top,.rf-assurance-overview){justify-content:center!important;text-align:center!important;align-items:center!important}
 html body.home :is(.rf-assurance-action,.rf-journal-read){display:flex!important;width:fit-content;justify-content:center!important;margin-inline:auto!important;align-self:center}
 html body.home .rf-assurance-number{display:block;text-align:center}
 html body.home .rf-assurance-path h3{padding-right:0!important}
}
