:root{
    --ink:#17211b;
    --green:#294d3b;
    --deep:#13281e;
    --sage:#dfe9df;
    --cream:#f5f1e7;
    --gold:#c89a4b;
    --gold2:#e5be73;
    --white:#fff;
    --line:#dfe3de;
    --muted:#67736b;
    --danger:#a33b31;
    --shadow:0 22px 65px rgba(16,38,27,.11);
    --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    --serif:Georgia,"Times New Roman",serif
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    color:var(--ink);
    font-family:var(--sans);
    background:#fff;
    line-height:1.5;
    -webkit-font-smoothing:antialiased
}

body.drawer-open{overflow:hidden}

a{
    color:inherit;
    text-decoration:none
}

button,input,textarea,select{font:inherit}

button{cursor:pointer}

img{
    max-width:100%;
    display:block
}

main{min-height:55vh}

.eyebrow,
.section-head>div>span,
.page-title>span,
.story-panel>span,
.about-cta span,
.faq-preview>div>span,
.footer-newsletter small{
    display:inline-block;
    font-size:11px;
    letter-spacing:.2em;
    font-weight:800;
    color:var(--gold);
    text-transform:uppercase
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:49px;
    background:var(--gold);
    color:#17211b;
    font-weight:800;
    padding:0 22px;
    border:0;
    border-radius:4px;
    transition:transform .2s,background .2s
}

.btn:hover{
    background:var(--gold2);
    transform:translateY(-1px)
}

.btn-light{background:#fff}

.text-link{
    font-weight:750;
    color:var(--green);
    border-bottom:1px solid currentColor;
    padding-bottom:2px
}

.flash{
    display:flex;
    gap:12px;
    justify-content:center;
    align-items:center;
    background:var(--deep);
    color:#fff;
    padding:8px 20px;
    font-size:13px
}

.flash strong{color:#f2c977}

.site-header{
    height:120px;
    border-top:2px solid var(--green);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(10px);
    z-index:50
}

.header-inner{
    width:100%;
    max-width:1760px;
    height:100%;
    margin:auto;
    padding:0 clamp(22px,4vw,76px);
    display:flex;
    align-items:center;
    gap:38px
}

.logo{
    font-size:22px;
    font-weight:900;
    letter-spacing:.17em;
    white-space:nowrap
}

.logo span{color:var(--gold)}

.desktop-nav{
    display:flex;
    align-items:center;
    gap:32px;
    margin-right:auto
}

.desktop-nav>a,
.desktop-nav .drop>button{
    border:0;
    background:none;
    padding:28px 0;
    display:flex;
    align-items:center;
    gap:8px;
    color:#29342d;
    font-weight:650
}

.desktop-nav>a:hover,
.desktop-nav .drop>button:hover{
    color:var(--green)
}

.drop{position:relative}

.chevron{
    display:inline-block;
    width:8px;
    height:8px;
    border-right:1.7px solid currentColor;
    border-bottom:1.7px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:.2s
}

.drop:hover .chevron,
.drop:focus-within .chevron{
    transform:rotate(225deg) translate(-1px,-1px)
}

.desktop-dropdown{
    position:absolute;
    visibility:hidden;
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
    top:62px;
    left:-24px;
    width:280px;
    padding:12px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    box-shadow:var(--shadow);
    transition:.2s
}

.drop:hover .desktop-dropdown,
.drop:focus-within .desktop-dropdown{
    visibility:visible;
    opacity:1;
    transform:none;
    pointer-events:auto
}

.desktop-dropdown a{
    padding:12px 14px;
    border-radius:7px;
    display:flex;
    justify-content:space-between;
    align-items:center
}

.desktop-dropdown a:hover{background:var(--cream)}

.desktop-dropdown small{color:#8b948e}

.desktop-dropdown .view-all{
    margin-top:7px;
    border-top:1px solid var(--line);
    border-radius:0;
    color:var(--green);
    font-weight:800
}

.header-actions{
    display:flex;
    align-items:center;
    gap:13px;
    margin-left:auto
}

.search{
    display:flex;
    align-items:center;
    border:1px solid var(--line);
    background:#fff;
    border-radius:30px
}

.desktop-search{
    width:220px;
    height:44px;
    padding:0 8px 0 15px
}

.search input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent
}

.search button{
    border:0;
    background:none;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    color:var(--ink)
}

.search svg,
.mobile-search-trigger svg,
.mobile-search svg{
    width:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round
}

.language{
    height:42px;
    padding:0 31px 0 11px;
    border:1px solid var(--line);
    border-radius:7px;
    background:var(--cream);
    font-weight:700;
    color:var(--ink)
}

.menu,
.mobile-search-trigger,
.mobile-drawer,
.drawer-overlay{
    display:none
}

.section{
    padding:86px max(5vw,25px);
    max-width:1540px;
    margin:auto
}

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin-bottom:34px
}

.section-head h2,
.page-title h1,
.story-panel h2,
.faq-preview h2,
.about-cta h2,
.contact-copy h2,
.article-cta h2{
    font:700 clamp(34px,4.3vw,52px)/1.05 var(--serif);
    letter-spacing:-.025em;
    margin:9px 0 0
}

.section-head>a{
    font-weight:800;
    color:var(--green)
}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:24px
}

.card{min-width:0}

.card .photo{
    position:relative;
    display:block;
    background:#f5f1e7;
    aspect-ratio:1;
    overflow:hidden;
    padding:20px
}

.card .photo>span{
    position:absolute;
    z-index:4;
    top:12px;
    left:12px;
    background:var(--green);
    color:#fff;
    padding:7px 10px;
    font-size:10px;
    letter-spacing:.09em;
    font-style:normal
}

.card .photo img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    mix-blend-mode:multiply;
    transition:.38s
}

.card .photo em{
    position:absolute;
    z-index:4;
    bottom:12px;
    left:50%;
    transform:translate(-50%,12px);
    opacity:0;
    background:#fff;
    color:var(--ink);
    padding:10px 16px;
    border-radius:30px;
    box-shadow:0 8px 24px rgba(24,42,32,.14);
    font-style:normal;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
    transition:.25s
}

.card:hover .photo img{
    transform:scale(1.035)
}

.card:hover .photo em{
    opacity:1;
    transform:translate(-50%,0)
}

.card-body{padding-top:17px}

.card-body>small{
    color:#748078;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:10px
}

.card h3{
    font:700 22px/1.15 var(--serif);
    margin:8px 0
}

.card p{
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
}

.card-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:14px;
    min-height:35px
}

.card-price{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px
}

.original-price{
    color:#7b847e;
    text-decoration:line-through;
    text-decoration-thickness:1.5px;
    font-weight:500
}

.sale-price{color:var(--danger)}

.regular-price{color:var(--ink)}

.card-arrow{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid var(--line);
    border-radius:50%;
    font-weight:800;
    transition:.2s
}

.card:hover .card-arrow{
    background:var(--green);
    color:#fff;
    border-color:var(--green)
}

.page-title{
    text-align:center;
    padding:90px 20px 80px;
    background:var(--cream)
}

.page-title h1{
    max-width:900px;
    margin:12px auto
}

.page-title p{
    max-width:720px;
    margin:18px auto 0;
    color:var(--muted);
    font-size:17px;
    line-height:1.7
}

.shop-title{padding-bottom:72px}

.catalog-layout{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:44px;
    align-items:start
}

.catalog-filter{
    position:sticky;
    top:112px;
    display:grid;
    gap:4px
}

.catalog-filter>strong{
    font:700 22px var(--serif);
    margin-bottom:12px
}

.catalog-filter>a{
    padding:10px 11px;
    border-radius:6px;
    display:flex;
    justify-content:space-between;
    color:#536059
}

.catalog-filter>a:hover,
.catalog-filter>a.active{
    background:var(--cream);
    color:var(--green);
    font-weight:750
}

.catalog-filter small{color:#8d958f}

.catalog-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:28px
}

.catalog-toolbar>span{
    color:var(--muted);
    font-size:13px
}

.catalog-search{
    display:flex;
    max-width:480px;
    flex:1;
    border:1px solid var(--line);
    border-radius:7px;
    overflow:hidden
}

.catalog-search input{
    flex:1;
    min-width:0;
    border:0;
    padding:12px 14px;
    outline:none
}

.catalog-search button{
    border:0;
    background:var(--green);
    color:#fff;
    font-weight:750;
    padding:0 18px
}

.empty-card{
    text-align:center;
    padding:75px 30px;
    background:var(--cream)
}

.empty-card h2{
    font:700 34px var(--serif);
    margin:0 0 10px
}

.breadcrumbs{
    max-width:1540px;
    margin:auto;
    padding:22px max(5vw,25px) 0;
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
    font-size:12px;
    color:#7d877f
}

.breadcrumbs a{color:var(--green)}

.product{
    max-width:1540px;
    margin:auto;
    padding:46px max(5vw,25px) 80px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px
}

.product-gallery{min-width:0}

.product-image{
    display:grid;
    place-items:center;
    aspect-ratio:1;
    background:#f5f1e7;
    padding:clamp(25px,4vw,56px);
    overflow:hidden
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    mix-blend-mode:multiply
}

.gallery-thumbs{
    display:flex;
    gap:10px;
    margin-top:12px;
    overflow:auto;
    padding-bottom:3px
}

.gallery-thumb{
    flex:0 0 82px;
    width:82px;
    height:82px;
    border:1px solid var(--line);
    background:#f5f1e7;
    padding:6px;
    border-radius:4px
}

.gallery-thumb.active{
    border:2px solid var(--green)
}

.gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:contain;
    mix-blend-mode:multiply
}

.product-copy{padding-top:14px}

.product-kicker{
    display:flex;
    gap:10px;
    align-items:center
}

.product-kicker>a{
    color:var(--green);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.11em
}

.product-kicker>span{
    background:var(--cream);
    padding:6px 9px;
    font-size:10px;
    font-weight:750
}

.product-copy h1{
    font:700 clamp(40px,5vw,64px)/1.02 var(--serif);
    letter-spacing:-.03em;
    margin:15px 0 14px
}

.rating-row{
    display:flex;
    gap:10px;
    align-items:center;
    font-size:12px;
    color:var(--muted);
    margin-bottom:17px
}

.product-copy .lead{
    font-size:17px;
    line-height:1.72;
    color:#5e6962;
    max-width:650px
}

.product-copy .price{
    display:flex;
    align-items:baseline;
    gap:12px;
    flex-wrap:wrap;
    margin:23px 0
}

.product-copy .price .regular-price,
.product-copy .price .sale-price{
    font-size:30px
}

.product-copy .price .original-price{
    font-size:18px
}

.product-copy .price small{
    flex-basis:100%;
    font-size:11px;
    color:#7d867f
}

.product-highlights{
    list-style:none;
    padding:0;
    margin:25px 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 18px
}

.product-highlights li{
    display:flex;
    gap:9px;
    font-size:14px
}

.product-highlights li span{
    color:var(--green);
    font-weight:900
}

.amazon{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#f0b84f;
    color:#182018;
    padding:16px 19px;
    font-weight:850;
    border-radius:5px;
    max-width:520px
}

.amazon:hover{background:#e4aa3e}

.amazon-note{
    display:grid;
    gap:3px;
    margin-top:11px;
    font-size:11px;
    color:#758078
}

.amazon-note strong{color:#425048}

.product-code{
    margin-top:25px;
    border-top:1px solid var(--line);
    padding-top:17px;
    display:flex;
    gap:25px;
    font-size:12px
}

.product-code span{color:var(--muted)}

.product-info-section{
    background:var(--cream);
    padding:80px max(5vw,25px)
}

.product-info-grid{
    max-width:1320px;
    margin:auto;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:80px;
    align-items:start
}

.product-info-grid h2{
    font:700 clamp(34px,4vw,50px)/1.05 var(--serif);
    margin:12px 0 22px
}

.wysiwyg{
    line-height:1.78;
    color:#47544c
}

.wysiwyg h2,
.wysiwyg h3{
    font-family:var(--serif);
    color:var(--ink);
    margin-top:32px
}

.wysiwyg a{
    color:var(--green);
    text-decoration:underline
}

.spec-card{
    background:#fff;
    border:1px solid #e2e0d9;
    padding:30px
}

.spec-card h3{
    font:700 27px var(--serif);
    margin:0 0 18px
}

.spec-card dl{margin:0}

.spec-card dl>div{
    display:grid;
    grid-template-columns:42% 58%;
    gap:15px;
    padding:12px 0;
    border-bottom:1px solid var(--line)
}

.spec-card dt{color:var(--muted)}

.spec-card dd{
    margin:0;
    font-weight:650
}

.spec-card small{
    display:block;
    color:#7d867f;
    line-height:1.5;
    margin-top:17px
}

.review-score{
    display:grid;
    text-align:right;
    gap:3px
}

.review-score strong{
    font:700 37px var(--serif)
}

.review-score small{color:var(--muted)}

.sticky-buy{display:none}

.blog-list{max-width:1320px}

.blog-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px
}

.blog-card{
    border:1px solid var(--line);
    background:#fff;
    padding:34px
}

.blog-card h2{
    font:700 32px/1.13 var(--serif);
    margin:20px 0 12px
}

.blog-card p{
    color:var(--muted);
    line-height:1.7
}

.blog-image{
    display:block;
    margin:-34px -34px 28px;
    aspect-ratio:16/8;
    background:var(--cream);
    overflow:hidden
}

.blog-image img{
    width:100%;
    height:100%;
    object-fit:cover
}

.featured-post{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    padding:0
}

.featured-post .blog-image{
    margin:0;
    aspect-ratio:auto;
    min-height:420px
}

.featured-post>div{padding:46px}

.featured-post h2{font-size:42px}

.article-enhanced{
    max-width:940px;
    margin:0 auto;
    padding:25px 30px 90px
}

.article-enhanced>.breadcrumbs{
    padding:0;
    margin:0 0 48px
}

.article-enhanced header{text-align:center}

.article-enhanced h1{
    font:700 clamp(42px,6vw,68px)/1.02 var(--serif);
    letter-spacing:-.03em;
    margin:14px auto 18px
}

.article-enhanced .lead{
    font-size:18px;
    color:var(--muted);
    max-width:760px;
    margin:0 auto
}

.article-meta{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:24px;
    font-size:11px;
    color:#78827b
}

.article-hero{
    width:100%;
    max-height:560px;
    object-fit:cover;
    margin:48px 0
}

.article-body{
    max-width:760px;
    margin:55px auto;
    font-size:17px
}

.article-body h2{font-size:34px}

.article-cta{
    background:var(--green);
    color:#fff;
    padding:45px;
    text-align:center
}

.article-cta p{color:#d1ded6}

.about-title p{max-width:820px}

.story-grid{
    max-width:1540px;
    margin:70px auto;
    display:grid;
    grid-template-columns:1.1fr .9fr
}

.story-panel{
    min-height:480px;
    padding:70px;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.story-panel.dark{
    background:var(--deep);
    color:#fff
}

.story-panel.dark p{
    color:#cbd8d0;
    line-height:1.8
}

.story-panel.visual{
    background:var(--cream);
    align-items:center;
    text-align:center
}

.visual-mark{
    font:700 150px var(--serif);
    color:var(--green);
    line-height:1
}

.visual-mark span{color:var(--gold)}

.story-panel.visual p{
    max-width:420px;
    color:var(--muted)
}

.value-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line)
}

.value-grid article{
    background:#fff;
    padding:30px
}

.value-grid b{
    font:700 26px var(--serif);
    color:var(--gold)
}

.value-grid h3{
    font:700 23px var(--serif)
}

.value-grid p{
    color:var(--muted);
    line-height:1.65
}

.about-cta{
    max-width:1540px;
    margin:0 auto 90px;
    padding:60px max(5vw,55px);
    background:var(--cream);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px
}

.about-cta h2{max-width:820px}

.contact-layout{
    max-width:1200px;
    margin:80px auto;
    padding:0 30px;
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:80px;
    align-items:start
}

.contact-copy>p{
    color:var(--muted);
    line-height:1.7
}

.contact-detail{
    display:grid;
    gap:6px;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid var(--line)
}

.contact-detail small{
    font-size:10px;
    letter-spacing:.15em;
    color:var(--muted)
}

.contact-detail a{
    color:var(--green);
    font-weight:750
}

.public-form{
    border:1px solid var(--line);
    padding:35px;
    display:grid;
    gap:18px;
    box-shadow:0 15px 45px rgba(20,40,29,.06)
}

.public-form label{
    display:grid;
    gap:7px;
    font-size:13px;
    font-weight:750
}

.public-form input,
.public-form textarea{
    width:100%;
    border:1px solid #cfd5d0;
    padding:12px;
    border-radius:5px;
    outline:none
}

.public-form input:focus,
.public-form textarea:focus{
    border-color:var(--green);
    box-shadow:0 0 0 3px rgba(41,77,59,.08)
}

.public-form .btn{justify-self:start}

.honeypot{
    position:absolute!important;
    left:-9999px!important
}

.form-status{
    margin:0;
    font-size:13px;
    min-height:20px
}

.form-status.success{color:#22734a}

.form-status.error{color:#a33b31}

.faq-page{
    max-width:1200px;
    margin:80px auto;
    padding:0 30px;
    display:grid;
    grid-template-columns:300px 1fr;
    gap:70px
}

.faq-side{
    position:sticky;
    top:120px;
    align-self:start
}

.faq-side h2{
    font:700 34px var(--serif);
    margin:12px 0
}

.faq-side p{color:var(--muted)}

.faq-side a{
    color:var(--green);
    font-weight:800
}

.faq-list details{border-top:1px solid var(--line)}

.faq-list details:last-child{
    border-bottom:1px solid var(--line)
}

.faq-list summary{
    list-style:none;
    display:grid;
    grid-template-columns:45px 1fr 30px;
    gap:15px;
    align-items:center;
    padding:25px 0;
    cursor:pointer;
    font-weight:750
}

.faq-list summary::-webkit-details-marker{display:none}

.faq-list summary span{
    font:700 18px var(--serif);
    color:var(--gold)
}

.faq-list summary b{
    font-size:25px;
    font-weight:400;
    transition:.2s
}

.faq-list details[open] summary b{
    transform:rotate(45deg)
}

.faq-list details p{
    margin:0;
    padding:0 45px 25px 60px;
    color:var(--muted);
    line-height:1.75
}

.legal-page{
    max-width:820px;
    margin:80px auto;
    padding:0 30px 100px
}

.legal-page h1{
    font:700 clamp(42px,6vw,64px) var(--serif);
    margin:10px 0
}

.legal-updated{
    color:var(--muted);
    padding-bottom:24px;
    border-bottom:1px solid var(--line)
}

.legal-page h2{
    font:700 28px var(--serif);
    margin-top:35px
}

.legal-page p{
    color:#526057;
    line-height:1.8
}

.legal-page a{
    color:var(--green);
    text-decoration:underline
}

.not-found{
    text-align:center;
    padding:130px 20px
}

.not-found>span{
    font:700 110px var(--serif);
    color:#d9dfda
}

.not-found h1{
    font:700 46px var(--serif);
    margin:0
}

.not-found p{color:var(--muted)}

.not-found>div{
    display:flex;
    gap:22px;
    justify-content:center;
    align-items:center;
    margin-top:25px
}

.site-footer{
    background:var(--deep);
    color:#fff
}

.footer-main{
    max-width:1540px;
    margin:auto;
    padding:68px max(5vw,25px) 45px;
    display:grid;
    grid-template-columns:2fr repeat(3,1fr);
    gap:55px
}

.footer-main>div{
    display:grid;
    align-content:start;
    gap:10px
}

.footer-main b{
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#e8d0a1;
    margin-bottom:7px
}

.footer-main a:not(.logo){
    color:#c5d2ca;
    font-size:13px
}

.footer-main a:hover{color:#fff}

.footer-brand p{
    max-width:420px;
    color:#c5d2ca;
    line-height:1.65;
    margin:5px 0
}

.footer-disclosure{
    font-size:11px!important;
    color:#8fa298!important
}

.footer-newsletter{
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    max-width:1540px;
    margin:auto;
    padding:42px max(5vw,25px);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center
}

.footer-newsletter h2{
    font:700 31px var(--serif);
    margin:8px 0
}

.footer-newsletter p{
    color:#9fb0a6;
    margin:0
}

.subscribe-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:0
}

.subscribe-form input{
    min-width:0;
    height:50px;
    border:1px solid rgba(255,255,255,.25);
    background:#fff;
    color:#17211b;
    padding:0 15px;
    outline:none
}

.subscribe-form button{
    height:50px;
    border:0;
    background:var(--gold);
    font-weight:800;
    padding:0 20px
}

.subscribe-form .form-status{
    grid-column:1/-1;
    margin-top:7px
}

.footer-bottom{
    max-width:1540px;
    margin:auto;
    padding:24px max(5vw,25px) 35px;
    display:flex;
    justify-content:space-between;
    gap:30px;
    color:#8fa198;
    font-size:11px
}

.footer-bottom span:last-child{
    text-align:right;
    max-width:650px
}


/* ==========================================================
   SOLVERA HOMEPAGE V3
   ========================================================== */

.solvera-home-v3{
    --sv-green:#123d2e;
    --sv-green-dark:#0d2f23;
    --sv-green-soft:#20543f;
    --sv-cream:#f5f1e7;
    --sv-soft:#faf8f3;
    --sv-white:#fff;
    --sv-ink:#14251d;
    --sv-muted:#6d7a72;
    --sv-line:#dce2dd;
    --sv-gold:#c99a45;
    --sv-shadow:0 22px 60px rgba(14,47,35,.09);
    background:var(--sv-soft);
    color:var(--sv-ink)
}

.solvera-home-v3 *,
.solvera-home-v3 *:before,
.solvera-home-v3 *:after{
    box-sizing:border-box
}

.sv3-hero{
    background:linear-gradient(
        90deg,
        var(--sv-green) 0%,
        var(--sv-green) 50%,
        var(--sv-cream) 50%,
        var(--sv-cream) 100%
    )
}

.sv3-hero-inner{
    width:min(1480px,94%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    min-height:650px
}

.sv3-hero-copy{
    padding:clamp(75px,7vw,115px) clamp(45px,5vw,80px) clamp(75px,7vw,110px) 20px;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.sv3-eyebrow{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:24px;
    color:var(--sv-gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:.19em;
    text-transform:uppercase
}

.sv3-eyebrow:before{
    content:"";
    width:38px;
    height:1px;
    background:var(--sv-gold)
}

.sv3-hero-title{
    max-width:690px;
    margin:0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(54px,5.7vw,88px);
    font-weight:400;
    line-height:.96;
    letter-spacing:-.055em
}

.sv3-hero-copy>p{
    max-width:610px;
    margin:28px 0 0;
    color:rgba(255,255,255,.70);
    font-size:16px;
    line-height:1.8
}

.sv3-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:35px
}

.sv3-btn{
    min-height:53px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    padding:0 22px;
    border-radius:9px;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    transition:transform .2s ease,background .2s ease,border-color .2s ease
}

.sv3-btn:hover{
    transform:translateY(-2px)
}

.sv3-btn-primary{
    background:var(--sv-gold);
    color:#173426
}

.sv3-btn-outline{
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.04);
    color:#fff
}

.sv3-btn-outline:hover{
    background:rgba(255,255,255,.10)
}

.sv3-hero-points{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin-top:52px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,.12)
}

.sv3-hero-point{
    display:flex;
    flex-direction:column;
    gap:5px
}

.sv3-hero-point strong{
    color:#fff;
    font-size:12px
}

.sv3-hero-point span{
    color:rgba(255,255,255,.50);
    font-size:10px;
    line-height:1.5
}

.sv3-hero-visual{
    position:relative;
    min-width:0;
    padding:clamp(50px,5vw,80px) clamp(35px,5vw,75px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden
}

.sv3-orbit{
    position:absolute;
    border:1px solid rgba(18,61,46,.09);
    border-radius:50%;
    pointer-events:none
}

.sv3-orbit-a{
    width:520px;
    height:520px
}

.sv3-orbit-b{
    width:385px;
    height:385px
}

.sv3-feature-card{
    position:relative;
    z-index:2;
    width:min(560px,100%);
    min-height:520px;
    padding:24px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(18,61,46,.08);
    background:rgba(255,255,255,.56);
    box-shadow:var(--sv-shadow)
}

.sv3-feature-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.sv3-feature-card-top strong{
    color:var(--sv-gold);
    font-size:9px;
    letter-spacing:.16em
}

.sv3-feature-card-top span{
    color:var(--sv-muted);
    font-size:10px
}


/* FEATURED IMAGE - CORRECTED */

.sv3-feature-image{
    flex:1;
    min-height:365px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:25px;
    background:#f5f1e7;
    text-decoration:none
}

.sv3-feature-image img{
    display:block;
    width:100%;
    height:385px;
    object-fit:contain;
    mix-blend-mode:multiply;
    transition:transform .35s ease
}

.sv3-feature-image:hover img{
    transform:scale(1.035)
}

.sv3-feature-footer{
    padding-top:18px;
    border-top:1px solid rgba(18,61,46,.09);
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px
}

.sv3-feature-footer small{
    display:block;
    margin-bottom:5px;
    color:var(--sv-muted);
    font-size:8px;
    letter-spacing:.12em
}

.sv3-feature-footer h2{
    max-width:370px;
    margin:0;
    color:var(--sv-green);
    font-size:16px;
    line-height:1.35
}

.sv3-round-link{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--sv-green);
    color:#fff;
    text-decoration:none
}

.sv3-benefits{
    width:min(1480px,94%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    background:#fff;
    border-left:1px solid var(--sv-line);
    border-right:1px solid var(--sv-line);
    border-bottom:1px solid var(--sv-line)
}

.sv3-benefit{
    min-width:0;
    padding:23px 24px;
    display:flex;
    gap:13px;
    align-items:flex-start;
    border-right:1px solid var(--sv-line)
}

.sv3-benefit:last-child{
    border-right:0
}

.sv3-benefit-icon{
    width:31px;
    height:31px;
    flex:0 0 31px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--sv-cream);
    color:var(--sv-green);
    font-size:13px
}

.sv3-benefit strong{
    display:block;
    margin-bottom:4px;
    color:var(--sv-green);
    font-size:11px
}

.sv3-benefit span{
    color:var(--sv-muted);
    font-size:9px;
    line-height:1.5
}

.sv3-section{
    width:min(1420px,100%);
    margin:0 auto;
    padding:clamp(65px,7vw,30px) 0
}

.sv3-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:34px
}

.sv3-section-label{
    display:block;
    margin-bottom:10px;
    color:var(--sv-gold);
    font-size:9px;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase
}

.sv3-section-head h2,
.sv3-story h2,
.sv3-lifestyle-copy h2,
.sv3-faq-copy h2,
.sv3-final-cta h2{
    max-width:760px;
    margin:0;
    color:var(--sv-green);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(34px,3.8vw,53px);
    font-weight:400;
    line-height:1.05;
    letter-spacing:-.035em
}

.sv3-more-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--sv-green);
    text-decoration:none;
    font-size:11px;
    font-weight:800
}

.sv3-category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}

.sv3-category{
    overflow:hidden;
    min-width:0;
    border:1px solid var(--sv-line);
    border-radius:16px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:transform .25s ease,box-shadow .25s ease
}

.sv3-category:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 45px rgba(18,61,46,.08)
}


/* CATEGORY IMAGE - CORRECTED */

.sv3-category-media{
    height:255px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#f5f1e7
}

.sv3-category-media img{
    width:88%;
    height:88%;
    object-fit:contain;
    mix-blend-mode:multiply;
    transition:transform .3s ease
}

.sv3-category:hover .sv3-category-media img{
    transform:scale(1.04)
}

.sv3-category-letter{
    width:78px;
    height:78px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--sv-green);
    color:#fff;
    font-family:Georgia,serif;
    font-size:29px
}

.sv3-category-body{
    padding:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px
}

.sv3-category-body small{
    display:block;
    margin-bottom:5px;
    color:var(--sv-muted);
    font-size:8px;
    letter-spacing:.10em
}

.sv3-category-body h3{
    margin:0;
    color:var(--sv-green);
    font-size:16px
}

.sv3-category-body p{
    margin:7px 0 0;
    color:var(--sv-muted);
    font-size:10px;
    line-height:1.55
}

.sv3-category-arrow{
    width:37px;
    height:37px;
    flex:0 0 37px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--sv-line);
    border-radius:50%
}

.sv3-product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px
}

.sv3-product{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--sv-line);
    border-radius:16px;
    background:#fff;
    transition:transform .25s ease,box-shadow .25s ease
}

.sv3-product:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 48px rgba(18,61,46,.08)
}


/* COLLECTION / PRODUCT IMAGE - CORRECTED */

.sv3-product-media{
    position:relative;
    height:325px;
    padding:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#f5f1e7;
    text-decoration:none
}

.sv3-product-media img{
    width:100%;
    height:100%;
    object-fit:contain;
    mix-blend-mode:multiply;
    transition:transform .3s ease
}

.sv3-product:hover .sv3-product-media img{
    transform:scale(1.035)
}

.sv3-product-badge{
    position:absolute;
    top:13px;
    left:13px;
    z-index:2;
    padding:6px 9px;
    border-radius:999px;
    background:var(--sv-green);
    color:#fff;
    font-size:7px;
    font-weight:800;
    letter-spacing:.09em
}

.sv3-product-body{padding:18px}

.sv3-product-category{
    margin-bottom:7px;
    color:var(--sv-muted);
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase
}

.sv3-product h3{margin:0}

.sv3-product h3 a{
    color:var(--sv-green);
    text-decoration:none;
    font-size:16px;
    line-height:1.4
}

.sv3-product-desc{
    min-height:47px;
    margin:9px 0 0;
    color:var(--sv-muted);
    font-size:10px;
    line-height:1.6
}

.sv3-product-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:17px;
    padding-top:15px;
    border-top:1px solid var(--sv-line)
}

.sv3-price{
    display:flex;
    align-items:center;
    gap:7px
}

.sv3-price strong{
    color:var(--sv-green);
    font-size:15px
}

.sv3-price del{
    color:#98a099;
    font-size:10px
}

.sv3-price span{
    color:var(--sv-muted);
    font-size:10px
}

.sv3-product-link{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--sv-green);
    color:#fff;
    text-decoration:none
}

.sv3-story-wrap{
    width:min(1420px,92%);
    margin:0 auto;
    padding:20px 0 90px
}

.sv3-story{
    padding:clamp(45px,5vw,75px);
    display:grid;
    grid-template-columns:100px minmax(0,1.2fr) minmax(0,.8fr);
    gap:45px;
    align-items:start;
    border-radius:22px;
    background:var(--sv-green)
}

.sv3-story-number{
    color:var(--sv-gold);
    font-family:Georgia,serif;
    font-size:45px
}

.sv3-story h2{color:#fff}

.sv3-story-copy p{
    margin:0 0 22px;
    color:rgba(255,255,255,.63);
    font-size:12px;
    line-height:1.8
}

.sv3-story-copy a{
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:800
}

.sv3-lifestyle{
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    min-height:520px;
    border:1px solid var(--sv-line);
    border-radius:21px;
    background:#fff
}


/* LARGE BANNER IMAGE - CORRECTED */

.sv3-lifestyle-media{
    min-height:520px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:55px;
    background:#f5f1e7
}

.sv3-lifestyle-media img{
    width:100%;
    height:405px;
    object-fit:contain;
    mix-blend-mode:multiply
}

.sv3-lifestyle-copy{
    padding:clamp(40px,5vw,75px);
    display:flex;
    flex-direction:column;
    justify-content:center
}

.sv3-lifestyle-copy p{
    margin:22px 0 28px;
    color:var(--sv-muted);
    font-size:12px;
    line-height:1.8
}

.sv3-dark-btn{
    align-self:flex-start;
    background:var(--sv-green);
    color:#fff
}

.sv3-review-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}

.sv3-review{
    padding:27px;
    border:1px solid var(--sv-line);
    border-radius:16px;
    background:#fff
}

.sv3-stars{
    margin-bottom:19px;
    color:var(--sv-gold);
    font-size:12px;
    letter-spacing:.08em
}

.sv3-review blockquote{
    min-height:96px;
    margin:0;
    color:var(--sv-green);
    font-family:Georgia,serif;
    font-size:20px;
    line-height:1.45
}

.sv3-review-footer{
    margin-top:24px;
    padding-top:17px;
    border-top:1px solid var(--sv-line);
    display:flex;
    flex-direction:column;
    gap:4px
}

.sv3-review-footer strong{font-size:11px}

.sv3-review-footer a{
    color:var(--sv-muted);
    text-decoration:none;
    font-size:9px
}

.sv3-guide-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}

.sv3-guide{
    overflow:hidden;
    border:1px solid var(--sv-line);
    border-radius:16px;
    background:#fff
}

.sv3-guide-media{
    height:235px;
    display:block;
    overflow:hidden;
    background:var(--sv-cream)
}

.sv3-guide-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease
}

.sv3-guide:hover .sv3-guide-media img{
    transform:scale(1.04)
}

.sv3-guide-body{padding:22px}

.sv3-guide-meta{
    display:flex;
    justify-content:space-between;
    gap:10px;
    color:var(--sv-muted);
    font-size:8px;
    letter-spacing:.08em
}

.sv3-guide h3{margin:11px 0 0}

.sv3-guide h3 a{
    color:var(--sv-green);
    text-decoration:none;
    font-family:Georgia,serif;
    font-size:22px;
    font-weight:400;
    line-height:1.25
}

.sv3-guide p{
    margin:13px 0 0;
    color:var(--sv-muted);
    font-size:10px;
    line-height:1.7
}

.sv3-guide-read{
    display:inline-flex;
    margin-top:18px;
    color:var(--sv-green);
    text-decoration:none;
    font-size:10px;
    font-weight:800
}

.sv3-faq{
    width:min(1420px,92%);
    margin:20px auto 0;
    padding:clamp(45px,5vw,75px);
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:70px;
    border-radius:22px;
    background:var(--sv-cream)
}

.sv3-faq-copy p{
    max-width:520px;
    margin:20px 0 27px;
    color:var(--sv-muted);
    font-size:12px;
    line-height:1.75
}

.sv3-faq-list{
    border-top:1px solid rgba(18,61,46,.13)
}

.sv3-faq-list details{
    border-bottom:1px solid rgba(18,61,46,.13);
    padding:18px 0
}

.sv3-faq-list summary{
    list-style:none;
    cursor:pointer;
    color:var(--sv-green);
    font-size:13px;
    font-weight:700
}

.sv3-faq-list summary::-webkit-details-marker{
    display:none
}

.sv3-faq-list summary:after{
    content:"+";
    float:right;
    font-size:18px;
    font-weight:400
}

.sv3-faq-list details[open] summary:after{
    content:"−"
}

.sv3-faq-list p{
    max-width:700px;
    margin:11px 0 0;
    color:var(--sv-muted);
    font-size:11px;
    line-height:1.7
}

.sv3-final-wrap{
    width:min(1420px,92%);
    margin:0 auto;
    padding:90px 0 105px
}

.sv3-final-cta{
    padding:clamp(45px,6vw,80px);
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:70px;
    align-items:end;
    border-radius:23px;
    background:linear-gradient(
        135deg,
        var(--sv-green),
        var(--sv-green-dark)
    )
}

.sv3-final-cta h2{color:#fff}

.sv3-final-right p{
    margin:0 0 24px;
    color:rgba(255,255,255,.62);
    font-size:12px;
    line-height:1.8
}

.sv3-light-btn{
    background:#fff;
    color:var(--sv-green)
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:1180px){

    .desktop-nav{gap:20px}

    .desktop-search{width:185px}

    .header-inner{gap:24px}

    .grid{
        grid-template-columns:repeat(3,1fr)
    }

    .product{gap:45px}

    .value-grid{
        grid-template-columns:1fr 1fr
    }
}


@media(max-width:1100px){

    .sv3-hero{
        background:var(--sv-green)
    }

    .sv3-hero-inner{
        grid-template-columns:1fr
    }

    .sv3-hero-copy{
        padding:80px 6%
    }

    .sv3-hero-visual{
        background:var(--sv-cream);
        padding:55px 6%
    }

    .sv3-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .sv3-benefit:nth-child(2){
        border-right:0
    }

    .sv3-benefit:nth-child(-n+2){
        border-bottom:1px solid var(--sv-line)
    }

    .sv3-category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .sv3-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .sv3-story{
        grid-template-columns:70px 1fr;
        gap:30px
    }

    .sv3-story-copy{
        grid-column:2
    }

    .sv3-lifestyle{
        grid-template-columns:1fr
    }

    .sv3-review-grid,
    .sv3-guide-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .sv3-faq,
    .sv3-final-cta{
        grid-template-columns:1fr
    }
}


@media(max-width:980px){

    .desktop-nav,
    .desktop-search,
    .site-header>.header-inner .language{
        display:none
    }

    .site-header{height:70px}

    .header-inner{
        padding:0 18px;
        gap:9px
    }

    .header-inner .logo{
        margin-right:auto
    }

    .mobile-search-trigger,
    .menu{
        display:grid;
        border:0;
        background:transparent;
        color:var(--ink)
    }

    .mobile-search-trigger{
        width:40px;
        height:40px;
        place-items:center
    }

    .menu{
        width:40px;
        height:40px;
        padding:9px;
        place-content:center;
        gap:5px
    }

    .menu span{
        display:block;
        width:22px;
        height:2px;
        background:currentColor
    }

    .drawer-overlay{
        display:block;
        position:fixed;
        inset:0;
        background:rgba(10,25,17,.66);
        z-index:98;
        opacity:0;
        visibility:hidden;
        transition:.3s
    }

    .drawer-open .drawer-overlay{
        opacity:1;
        visibility:visible
    }

    .mobile-drawer{
        display:flex;
        position:fixed;
        z-index:99;
        left:0;
        top:0;
        bottom:0;
        width:min(390px,90vw);
        background:#fff;
        flex-direction:column;
        transform:translateX(-104%);
        transition:.32s;
        box-shadow:20px 0 70px rgba(7,19,13,.2);
        overflow:auto
    }

    .drawer-open .mobile-drawer{
        transform:none
    }

    .drawer-head{
        height:72px;
        padding:0 18px;
        display:flex;
        align-items:center;
        border-bottom:1px solid var(--line)
    }

    .drawer-head .logo{
        margin-right:auto
    }

    .drawer-language-top{
        width:60px;
        height:38px;
        margin-right:8px
    }

    .drawer-close{
        width:40px;
        height:40px;
        border:0;
        background:var(--cream);
        border-radius:50%;
        font-size:27px
    }

    .mobile-search{
        margin:18px;
        display:grid;
        grid-template-columns:20px 1fr auto;
        gap:8px;
        border:1px solid var(--line);
        padding:5px 5px 5px 12px;
        border-radius:8px
    }

    .mobile-search input{
        border:0;
        outline:0;
        min-width:0
    }

    .mobile-search button{
        height:38px;
        border:0;
        background:var(--green);
        color:#fff;
        border-radius:5px;
        font-weight:800;
        padding:0 12px
    }

    .mobile-drawer nav{
        display:block;
        padding:0 18px
    }

    .mobile-drawer nav>a,
    .mobile-products>button{
        width:100%;
        min-height:57px;
        padding:0;
        display:flex;
        align-items:center;
        justify-content:space-between;
        border:0;
        border-bottom:1px solid #ecefec;
        background:none;
        font-weight:700;
        text-align:left
    }

    .mobile-products .plus{
        font-size:24px;
        transition:.2s
    }

    .mobile-products.open .plus{
        transform:rotate(45deg)
    }

    .mobile-categories{
        max-height:0;
        overflow:hidden;
        opacity:0;
        padding-left:12px;
        transition:.3s
    }

    .mobile-products.open .mobile-categories{
        max-height:400px;
        opacity:1;
        padding-top:6px;
        padding-bottom:8px
    }

    .mobile-categories a{
        display:block;
        padding:11px 4px;
        color:#566159
    }

    .mobile-categories .view-all{
        color:var(--green);
        font-weight:800
    }

    .drawer-foot{
        margin-top:auto;
        background:var(--cream);
        padding:20px;
        color:var(--muted)
    }

    .grid{
        grid-template-columns:repeat(2,1fr)
    }

    .product{
        grid-template-columns:1fr;
        padding-top:32px
    }

    .product-copy{
        padding-top:0
    }

    .product-info-grid{
        grid-template-columns:1fr;
        gap:35px
    }

    .related-section{
        padding-bottom:120px
    }

    .catalog-layout{
        grid-template-columns:1fr
    }

    .catalog-filter{
        position:static;
        display:flex;
        overflow:auto;
        padding-bottom:8px
    }

    .catalog-filter>strong{
        display:none
    }

    .catalog-filter>a{
        flex:0 0 auto;
        background:var(--cream)
    }

    .blog-grid{
        grid-template-columns:1fr
    }

    .featured-post{
        grid-column:auto;
        display:block;
        padding:34px
    }

    .featured-post .blog-image{
        margin:-34px -34px 28px;
        min-height:0;
        aspect-ratio:16/9
    }

    .featured-post>div{
        padding:0
    }

    .story-grid{
        grid-template-columns:1fr;
        margin:0
    }

    .contact-layout{
        grid-template-columns:1fr;
        gap:40px
    }

    .faq-page{
        grid-template-columns:1fr
    }

    .faq-side{
        position:static
    }

    .footer-main{
        grid-template-columns:2fr 1fr 1fr
    }

    .footer-main>div:last-child{
        grid-column:2
    }

    .footer-newsletter{
        grid-template-columns:1fr
    }

    .sticky-buy{
        position:fixed;
        z-index:45;
        left:12px;
        right:12px;
        bottom:12px;
        background:#fff;
        border:1px solid var(--line);
        box-shadow:0 14px 40px rgba(18,38,27,.18);
        padding:9px 10px 9px 14px;
        border-radius:10px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px
    }

    .sticky-buy>div{
        display:grid;
        min-width:0
    }

    .sticky-buy small{
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        max-width:60vw
    }

    .sticky-buy strong{
        font-size:13px
    }

    .sticky-buy a{
        background:#f0b84f;
        padding:11px 15px;
        border-radius:6px;
        font-weight:800
    }

    .site-footer{
        padding-bottom:70px
    }
}


@media(max-width:700px){

    .sv3-hero-copy{
        padding:60px 6% 52px
    }

    .sv3-hero-title{
        font-size:clamp(47px,14vw,62px)
    }

    .sv3-hero-copy>p{
        font-size:14px
    }

    .sv3-hero-actions{
        flex-direction:column
    }

    .sv3-btn{
        width:100%
    }

    .sv3-hero-points{
        grid-template-columns:1fr;
        gap:14px
    }

    .sv3-hero-visual{
        padding:32px 5%
    }

    .sv3-feature-card{
        min-height:430px;
        padding:17px
    }

    .sv3-feature-image{
        min-height:280px;
        padding:12px;
        background:#f5f1e7
    }

    .sv3-feature-image img{
        height:290px
    }

    .sv3-benefits{
        width:100%;
        grid-template-columns:1fr;
        border-left:0;
        border-right:0
    }

    .sv3-benefit{
        border-right:0;
        border-bottom:1px solid var(--sv-line)
    }

    .sv3-section{
        width:90%;
        padding:58px 0
    }

    .sv3-section-head{
        flex-direction:column;
        align-items:flex-start;
        gap:14px
    }

    .sv3-section-head h2,
    .sv3-story h2,
    .sv3-lifestyle-copy h2,
    .sv3-faq-copy h2,
    .sv3-final-cta h2{
        font-size:clamp(31px,10vw,43px)
    }

    .sv3-category-grid,
    .sv3-product-grid,
    .sv3-review-grid,
    .sv3-guide-grid{
        grid-template-columns:1fr
    }

    .sv3-category-media{
        height:230px
    }

    .sv3-product-media{
        height:295px
    }

    .sv3-story-wrap{
        width:90%;
        padding-bottom:65px
    }

    .sv3-story{
        padding:34px 24px;
        grid-template-columns:1fr
    }

    .sv3-story-copy{
        grid-column:auto
    }

    .sv3-story-number{
        font-size:35px
    }

    .sv3-lifestyle-media{
        min-height:350px;
        padding:35px;
        background:#f5f1e7
    }

    .sv3-lifestyle-media img{
        height:290px
    }

    .sv3-lifestyle-copy{
        padding:34px 24px
    }

    .sv3-faq{
        width:90%;
        padding:35px 24px;
        gap:40px
    }

    .sv3-final-wrap{
        width:90%;
        padding:65px 0 75px
    }

    .sv3-final-cta{
        padding:35px 24px;
        gap:35px
    }
}


@media(max-width:640px){

    .flash{
        font-size:11px;
        padding:7px 10px
    }

    .flash strong{
        display:none
    }

    .logo{
        font-size:19px
    }

    .section{
        padding:60px 18px
    }

    .section-head{
        display:block
    }

    .section-head>a{
        display:inline-block;
        margin-top:12px
    }

    .grid{
        grid-template-columns:1fr
    }

    .page-title{
        padding:62px 18px
    }

    .page-title h1{
        font-size:42px
    }

    .catalog-toolbar{
        align-items:stretch;
        flex-direction:column
    }

    .catalog-toolbar>span{
        order:-1
    }

    .product{
        padding:28px 18px 65px;
        gap:28px
    }

    .breadcrumbs{
        padding:18px 18px 0
    }

    .product-image{
        padding:22px;
        background:#f5f1e7
    }

    .product-copy h1{
        font-size:43px
    }

    .product-highlights{
        grid-template-columns:1fr
    }

    .amazon{
        max-width:none
    }

    .product-info-section{
        padding:58px 18px
    }

    .spec-card{
        padding:22px
    }

    .review-score{
        text-align:left;
        margin-top:15px
    }

    .blog-card,
    .featured-post{
        padding:24px
    }

    .blog-image,
    .featured-post .blog-image{
        margin:-24px -24px 24px
    }

    .featured-post h2,
    .blog-card h2{
        font-size:30px
    }

    .article-enhanced{
        padding:20px 18px 75px
    }

    .article-enhanced>.breadcrumbs{
        padding:0;
        margin-bottom:35px
    }

    .article-enhanced h1{
        font-size:44px
    }

    .article-meta{
        display:grid;
        gap:5px
    }

    .article-cta{
        padding:35px 22px
    }

    .story-panel{
        min-height:390px;
        padding:48px 22px
    }

    .value-grid{
        grid-template-columns:1fr
    }

    .about-cta{
        margin:0;
        display:block;
        padding:50px 22px
    }

    .about-cta .btn{
        margin-top:22px
    }

    .contact-layout{
        margin:55px auto;
        padding:0 18px
    }

    .public-form{
        padding:22px
    }

    .faq-page{
        margin:55px auto;
        padding:0 18px;
        gap:35px
    }

    .faq-list summary{
        grid-template-columns:35px 1fr 25px
    }

    .faq-list details p{
        padding-left:50px;
        padding-right:10px
    }

    .legal-page{
        margin:55px auto;
        padding:0 18px 80px
    }

    .not-found{
        padding:90px 18px
    }

    .not-found>span{
        font-size:80px
    }

    .not-found h1{
        font-size:38px
    }

    .not-found>div{
        flex-direction:column
    }

    .footer-main{
        grid-template-columns:1fr 1fr;
        padding:52px 20px 35px;
        gap:35px
    }

    .footer-brand{
        grid-column:1/-1
    }

    .footer-main>div:last-child{
        grid-column:auto
    }

    .footer-newsletter{
        padding:35px 20px
    }

    .subscribe-form{
        grid-template-columns:1fr
    }

    .subscribe-form button{
        margin-top:8px
    }

    .footer-bottom{
        padding:22px 20px 30px;
        display:grid
    }

    .footer-bottom span:last-child{
        text-align:left
    }

    .site-footer{
        padding-bottom:75px
    }
}


@media(max-width:380px){

    .footer-main{
        grid-template-columns:1fr
    }

    .footer-brand{
        grid-column:auto
    }

    .drawer-head{
        padding:0 12px
    }

    .drawer-head .logo{
        font-size:17px
    }

    .drawer-language-top{
        width:54px
    }

    .sv3-hero-title{
        font-size:42px
    }

    .sv3-feature-card{
        padding:14px
    }

    .sv3-feature-image img{
        height:250px
    }
}


/* ==========================================================
   FINAL GLOBAL IMAGE BACKGROUND PROTECTION
   Keeps all product image areas #f5f1e7
   ========================================================== */

.card .photo,
.product-image,
.gallery-thumb,
.sv3-feature-image,
.sv3-category-media,
.sv3-product-media,
.sv3-lifestyle-media{
    background:#f5f1e7 !important
}

.card .photo img,
.product-image img,
.gallery-thumb img,
.sv3-feature-image img,
.sv3-category-media img,
.sv3-product-media img,
.sv3-lifestyle-media img{
    mix-blend-mode:multiply
}


/* Browser fallback */

@supports not (mix-blend-mode:multiply){

    .card .photo img,
    .product-image img,
    .gallery-thumb img,
    .sv3-feature-image img,
    .sv3-category-media img,
    .sv3-product-media img,
    .sv3-lifestyle-media img{
        mix-blend-mode:normal
    }
}
/* ==========================================================
   2026 UX / MOBILE / ACCESSIBILITY HARDENING
   ========================================================== */
html{overflow-x:hidden}
body{overflow-wrap:anywhere}
.skip-link{position:fixed;left:16px;top:12px;z-index:200;transform:translateY(-160%);background:#fff;color:var(--deep);border:2px solid var(--green);border-radius:6px;padding:10px 14px;font-weight:800;box-shadow:var(--shadow)}
.skip-link:focus{transform:none}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #c89a4b;outline-offset:3px}
.header-inner,.site-footer,.section,.catalog-layout,.product,.product-info-grid,.solvera-home-v3 *{min-width:0}
.wysiwyg,.product-copy,.card-body,.sv3-product-body,.sv3-guide-body{overflow-wrap:anywhere}
.product-image img,.card .photo img,.sv3-feature-image img,.sv3-product-media img,.sv3-category-media img{object-position:center}
@media(max-width:980px){
  .mobile-drawer{overscroll-behavior:contain}
  .mobile-drawer a,.mobile-drawer button,.mobile-drawer select{min-height:44px}
}
@media(max-width:640px){
  .header-inner{padding-left:14px;padding-right:14px}
  .product-copy h1,.page-title h1,.article-enhanced h1{font-size:clamp(34px,10vw,43px);overflow-wrap:anywhere}
  .breadcrumbs{overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .breadcrumbs::-webkit-scrollbar{display:none}
  .catalog-search{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .catalog-search input{min-width:0}
  .footer-main,.footer-newsletter,.footer-bottom{width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Corrected controls and launch signup */
.launch-updates{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line)}
.coming-soon-form{display:grid;gap:14px}.coming-soon-form label{display:grid;gap:6px;font-size:14px}.coming-soon-form input:not([type=checkbox]){width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:12px;font:inherit}.coming-soon-form .consent-label{display:flex;align-items:flex-start}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3574ad;outline-offset:3px}.mobile-drawer[inert]{visibility:hidden}.mobile-drawer:not([inert]){visibility:visible}
@media(max-width:700px){.launch-updates{grid-template-columns:1fr}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.catalog-layout>*{min-width:0}}

/* Responsive content safeguards */
img,video,svg{max-width:100%}main,section,article,form{min-width:0}p,h1,h2,h3,li,a{overflow-wrap:break-word}input,select,textarea{max-width:100%}iframe{max-width:100%}@media(max-width:600px){table{display:block;max-width:100%;overflow-x:auto}input,select,textarea{font-size:16px}.container{width:100%;padding-inline:16px}h1{font-size:clamp(28px,9vw,42px)}}

/* Responsive content and accessibility safeguards. */
img,video,svg{max-width:100%;height:auto}main,section,article,.container{min-width:0}input,select,textarea{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}.content-table-scroll{max-width:100%;overflow-x:auto}p,h1,h2,h3{overflow-wrap:break-word}:focus-visible{outline:3px solid #1983aa;outline-offset:3px}@media(max-width:600px){input,select,textarea{font-size:16px}.footer-newsletter form{width:100%;min-width:0}.footer-newsletter input{min-width:0}iframe{max-width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
