:root {
  --green-950:#031d13;
  --green-900:#062e1e;
  --green-850:#0a3a27;
  --green-800:#104b34;
  --green-100:#e7eee8;
  --ink:#162019;
  --muted:#69736c;
  --cream:#f5f1e8;
  --paper:#fbfaf6;
  --gold:#d6b878;
  --gold-dark:#a88a4e;
  --line:rgba(22,32,25,.14);
  --shadow:0 24px 70px rgba(5,31,21,.15);
  --serif:Didot, "Bodoni MT", "Times New Roman", serif;
  --sans:Jost, Arial, Helvetica, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}
body.no-scroll{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1400px,calc(100% - 64px));margin:0 auto}
.announcement{height:31px;background:#02140d;color:#dfe8e1;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.site-header{height:86px;position:sticky;top:0;z-index:50;background:rgba(5,37,25,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}
.header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:13px;color:#fff;width:max-content}
.brand>span:last-child{display:flex;flex-direction:column;line-height:1}
.brand b{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:.05em}
.brand small{font-size:7px;letter-spacing:.26em;margin-top:7px;opacity:.65}
.brand-mark{width:34px;height:34px;border:1px solid rgba(214,184,120,.65);border-radius:50%;position:relative;display:inline-block}
.brand-mark i{position:absolute;border:1px solid rgba(214,184,120,.68);border-radius:50%;inset:6px}
.brand-mark i:nth-child(2){inset:11px}
.brand-mark i:nth-child(3){inset:15px;background:var(--gold);border:0}
.main-nav{display:flex;align-items:center;gap:38px;color:#f2f5f2;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.main-nav a{position:relative;padding:33px 0}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:23px;height:1px;background:var(--gold);transform:scaleX(0);transition:.25s}
.main-nav a:hover:after,.main-nav a.is-current:after{transform:scaleX(1)}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.lang-switch{display:flex;gap:2px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:3px}
.lang-switch button{width:33px;height:29px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.42);font-size:10px}
.lang-switch button.active{background:#f4f0e7;color:var(--green-950)}
.lang-switch button:disabled{cursor:not-allowed}
.icon-button{width:43px;height:43px;border:1px solid rgba(255,255,255,.18);background:transparent;color:white;border-radius:50%;display:grid;place-items:center;position:relative}
.icon-button svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cart-count{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:var(--gold);color:var(--green-950);font-weight:700;font-size:9px;display:grid;place-items:center}
.menu-button{display:none;background:none;border:0;width:40px;height:40px;padding:0}
.menu-button span{display:block;width:22px;height:1px;background:white;margin:6px auto}

.page{display:none}.page.is-active{display:block}
.hero{min-height:calc(100vh - 117px);height:840px;max-height:940px;position:relative;background:#031b12 url('/assets/hero-bg.webp?v=20260804-hero-bg-webp') center center/cover no-repeat;color:#fff;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,14,9,.95) 0%,rgba(2,19,13,.84) 29%,rgba(3,24,16,.28) 56%,rgba(3,24,16,.05) 100%)}
.hero-backdrop{position:absolute;inset:-50px;background:radial-gradient(circle at 27% 44%,rgba(72,112,81,.22),transparent 34%);z-index:1}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:20px}
.eyebrow{margin:0 0 18px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.eyebrow.dark{color:#7d6940}
.hero h1,.page-hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.91;margin:0}
.hero h1{font-size:clamp(58px,6.15vw,104px);max-width:760px}
.hero-copy{max-width:575px;color:rgba(255,255,255,.75);font-size:17px;line-height:1.75;margin:27px 0 32px}
.hero-actions{display:flex;gap:12px}
.button{min-height:53px;padding:0 26px;border-radius:2px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s}
.button:hover{transform:translateY(-2px)}
.button-gold{background:var(--gold);color:#142016;border-color:var(--gold)}
.button-gold:hover{background:#e1c98f;border-color:#e1c98f}
.button-ghost{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.35);color:white}
.button-ghost:hover{background:white;color:var(--green-950)}
.button-light{background:#f7f4eb;color:var(--green-950)}
.button-dark{background:var(--green-900);color:#fff;border-color:var(--green-900)}
.button.full{width:100%}
.hero-meta{margin-top:54px;display:flex;gap:38px;color:rgba(255,255,255,.55);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.hero-meta span{display:flex;align-items:center;gap:9px}
.hero-meta b{font-family:var(--serif);font-size:22px;color:#fff;font-weight:400}
.values-strip{background:#f1eee6;border-bottom:1px solid var(--line)}
.values-grid{min-height:144px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}
.values-grid article{display:flex;gap:18px;padding:24px 38px;border-right:1px solid var(--line)}
.values-grid article:first-child{padding-left:0}.values-grid article:last-child{border-right:0}
.values-grid article>span{font-family:var(--serif);color:#ad9460;font-size:27px;line-height:1}
.values-grid b{font-family:var(--serif);font-size:20px;font-weight:500}
.values-grid p{font-size:12px;color:var(--muted);margin:6px 0 0;line-height:1.5}
.section{padding:110px 0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:45px;gap:30px}
.section-heading.compact{margin-bottom:34px}
.section-heading h2,.story-copy h2,.about-intro h2,.origin-grid h2,.contact-info h2,.wholesale-inner h2,.modal h2{font-family:var(--serif);font-size:clamp(38px,4.2vw,68px);font-weight:400;line-height:1.02;letter-spacing:-.03em;margin:0}
.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding-bottom:8px;border-bottom:1px solid #a99b7d}
.text-link span{margin-left:9px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.product-card{background:#fff;border:1px solid rgba(25,43,32,.1);position:relative;overflow:hidden;transition:.3s;min-width:0}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.product-image{height:430px;background:linear-gradient(145deg,#eef0eb,#e0e6df);display:grid;place-items:center;position:relative;overflow:hidden}
.product-image:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid rgba(77,103,83,.1);box-shadow:0 0 0 38px rgba(77,103,83,.035),0 0 0 76px rgba(77,103,83,.025)}
.package-mockup{width:48%;max-width:185px;position:relative;filter:drop-shadow(18px 24px 22px rgba(5,29,20,.24));transform:perspective(900px) rotateY(-4deg);transition:.35s}
.package-mockup:after{content:"";position:absolute;top:5px;bottom:4px;right:-8px;width:8px;background:linear-gradient(90deg,#0f3827,#02160f);transform:skewY(-33deg);transform-origin:left top}
.package-mockup img{width:100%;aspect-ratio:5/8;object-fit:cover;border-radius:2px}
.product-card:hover .package-mockup{transform:perspective(900px) rotateY(0) translateY(-5px)}
.product-badge{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.92);padding:7px 10px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;z-index:2}
.product-info{padding:22px 22px 20px}
.product-number{font-size:10px;color:#98825a;letter-spacing:.15em}
.product-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:7px}
.product-title{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.1;margin:0}
.product-price{font-family:var(--serif);font-size:24px;white-space:nowrap}
.product-notes{font-size:12px;color:var(--muted);margin:8px 0 18px}
.card-actions{display:grid;grid-template-columns:1fr 48px;gap:8px}
.card-actions button{height:45px;border:1px solid #d3d8d3;background:transparent;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.08em;transition:.2s}
.card-actions button:first-child{background:var(--green-900);border-color:var(--green-900);color:white}
.card-actions button:hover{background:var(--gold);border-color:var(--gold);color:var(--green-950)}
.story-panel{background:var(--green-900);color:#fff;overflow:hidden}
.story-grid{display:grid;grid-template-columns:1fr 1fr;min-height:600px;gap:80px;align-items:center}
.story-copy>p:not(.eyebrow){max-width:610px;color:rgba(255,255,255,.67);font-size:16px;line-height:1.8;margin:28px 0 32px}
.story-visual{height:540px;position:relative;display:grid;place-items:center}
.wood-rings{position:absolute;width:510px;height:510px;border-radius:50%;background:radial-gradient(circle,#caa66b 0 1%,#8f6938 1.4% 2%,#cda971 2.4% 5%,#986e3b 5.4% 6%,#d7b47c 6.4% 10%,#8b6232 10.5% 11%,#d4ae73 11.4% 16%,#916538 16.4% 17%,#d3af77 17.4% 24%,#9c7040 24.4% 25%,#d8b680 25.4% 33%,#8c6339 33.4% 34%,#d3ad74 34.4% 43%,#9a7041 43.4% 44%,#d6b47e 44.4% 55%,#946a3a 55.4% 56%,#d0aa73 56.4% 68%,#8d6338 68.4% 69%,#c7a26e 69.4% 100%);box-shadow:inset 0 0 90px rgba(62,36,16,.45),0 40px 90px rgba(0,0,0,.3);opacity:.87}
.wood-rings:before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at 47% 49%,transparent 0 8px,rgba(72,43,20,.25) 9px,transparent 11px 17px);mix-blend-mode:multiply}
.floating-package{width:205px;position:relative;z-index:2;filter:drop-shadow(22px 35px 23px rgba(0,0,0,.38));transform:rotate(3deg)}
.floating-package img{aspect-ratio:5/8;object-fit:cover}
.story-visual>p{position:absolute;right:0;bottom:35px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.55);z-index:3;text-align:right}
.story-visual>p b{font-family:var(--serif);font-size:20px;color:white;font-weight:400;letter-spacing:.04em}
.mood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mood-grid button{height:260px;border:0;text-align:left;padding:28px;color:white;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:#173f2f;transition:.25s}
.mood-grid button:nth-child(2){background:#203b2e}.mood-grid button:nth-child(3){background:#514431}.mood-grid button:nth-child(4){background:#202723}
.mood-grid button:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.16);right:-85px;top:-105px;box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018)}
.mood-grid button:hover{transform:translateY(-4px)}
.mood-grid small{position:absolute;top:24px;left:27px;color:var(--gold)}
.mood-grid b{font-family:var(--serif);font-size:32px;font-weight:400;position:relative}
.mood-grid span{font-size:11px;color:rgba(255,255,255,.65);margin-top:4px;position:relative}
.wholesale-banner{background:#0a281c;color:white;padding:90px 0}
.wholesale-inner{display:grid;grid-template-columns:1.35fr .65fr;gap:100px;align-items:end}
.wholesale-inner>div:last-child p{color:rgba(255,255,255,.62);margin:0 0 24px;line-height:1.8}

.page-hero{min-height:460px;padding:120px 0 80px;background:var(--green-900);color:white;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.page-hero:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;right:-190px;top:-330px;border:1px solid rgba(214,184,120,.14);box-shadow:0 0 0 80px rgba(214,184,120,.025),0 0 0 160px rgba(214,184,120,.018)}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{font-size:clamp(60px,7vw,108px)}
.page-hero p:last-child{max-width:650px;color:rgba(255,255,255,.62);margin:24px 0 0;font-size:16px}
.catalog-hero{background:linear-gradient(110deg,#052519,#0b3a28)}
.about-hero{background:linear-gradient(90deg,rgba(4,29,19,.92),rgba(4,29,19,.54)),url('/assets/hero.webp') center/cover}
.contacts-hero{min-height:390px}
.catalog-section{padding-top:70px}
.catalog-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:34px}
.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}
.filter-buttons button{height:42px;padding:0 16px;background:transparent;border:1px solid #cfd5d0;border-radius:999px;font-size:11px}
.filter-buttons button.active,.filter-buttons button:hover{background:var(--green-900);border-color:var(--green-900);color:white}
.search-box{height:44px;width:260px;border-bottom:1px solid #9da69f;display:flex;align-items:center;gap:10px}
.search-box svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.5}.search-box input{width:100%;border:0;background:transparent;outline:0}
.catalog-grid{grid-template-columns:repeat(4,1fr)}
.catalog-empty{display:none;text-align:center;padding:80px;color:var(--muted)}
.catalog-note{background:#e8ece8;border-top:1px solid var(--line);padding:24px 0}
.catalog-note .container{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#667168}
.catalog-note button{border:0;background:transparent;color:var(--ink)}
.about-grid{display:grid;grid-template-columns:1fr .75fr;gap:110px}
.about-grid>div:last-child{padding-top:48px}.about-grid>div:last-child p{font-size:17px;line-height:1.85;color:#59635c;margin:0 0 22px}
.process-section{background:#eeece5}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bfc5bf}
.process-grid article{padding:35px 28px 10px 0;border-right:1px solid #c8cdc8;min-height:270px}
.process-grid article+article{padding-left:28px}
.process-grid article:last-child{border-right:0}
.process-grid span{font-family:var(--serif);font-size:34px;color:#9a8150}
.process-grid h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:36px 0 12px}
.process-grid p{font-size:12px;color:var(--muted);line-height:1.7}
.origin-section{background:var(--green-900);color:#fff;padding:0}
.origin-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;min-height:680px}
.origin-image{height:680px;margin-left:calc((100vw - min(1400px,calc(100vw - 64px)))/-2);overflow:hidden}
.origin-image img{width:100%;height:100%;object-fit:cover;object-position:58% center}
.origin-grid>div:last-child{padding-right:30px}
.origin-grid>div:last-child>p:not(.eyebrow){color:rgba(255,255,255,.65);max-width:560px;line-height:1.8;margin:25px 0 30px}
.contacts-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
.contact-list{margin:40px 0}
.contact-list>div{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr}
.contact-list small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#907a4e}.contact-list p{margin:0}
.contact-form,.form-modal form{display:grid;gap:18px;background:#fff;border:1px solid var(--line);padding:36px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6d776f}
input,select,textarea{width:100%;border:1px solid #d0d6d1;background:#fbfcfa;color:var(--ink);padding:13px 14px;outline:0;border-radius:1px;text-transform:none;letter-spacing:0}
input:focus,select:focus,textarea:focus{border-color:var(--green-800);box-shadow:0 0 0 3px rgba(16,75,52,.08)}
textarea{resize:vertical}
.form-note{font-size:10px;color:#899189;margin:0;text-transform:none;letter-spacing:0}
.site-footer{background:#02170f;color:#e8eee9;padding-top:60px}
.footer-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:35px;padding-bottom:55px}
.brand-footer b{font-size:20px}
.footer-nav{display:flex;gap:28px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.footer-cta{text-align:right}.footer-cta span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.45)}.footer-cta button{border:0;background:transparent;color:var(--gold);padding:7px 0;font-family:var(--serif);font-size:19px}
.footer-bottom{height:58px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.38);font-size:9px;text-transform:uppercase;letter-spacing:.12em}

.overlay{position:fixed;inset:0;background:rgba(1,13,9,.66);backdrop-filter:blur(4px);z-index:80;opacity:0;visibility:hidden;transition:.25s}
.overlay.is-open{opacity:1;visibility:visible}
.cart-drawer{position:fixed;top:0;right:0;width:min(500px,100%);height:100vh;background:#f8f7f2;z-index:90;transform:translateX(105%);transition:.35s ease;display:flex;flex-direction:column}
.cart-drawer.is-open{transform:translateX(0)}
.drawer-header{height:105px;padding:25px 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.drawer-header small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#8c7851}.drawer-header h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:2px 0 0}
.close-button{width:42px;height:42px;border:1px solid #cbd1cc;background:transparent;border-radius:50%;font-size:25px;line-height:1;color:#4a554e}
.cart-items{padding:10px 30px;overflow:auto;flex:1}
.cart-item{display:grid;grid-template-columns:78px 1fr auto;gap:15px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}
.cart-item-image{height:105px;background:#e3e8e4;padding:8px;display:grid;place-items:center}.cart-item-image img{height:100%;width:auto;object-fit:cover}
.cart-item h4{font-family:var(--serif);font-size:19px;font-weight:400;margin:0}.cart-item p{font-size:10px;color:var(--muted);margin:4px 0 10px}.qty-control{display:flex;align-items:center;border:1px solid #ccd2cd;width:max-content}.qty-control button{width:28px;height:27px;border:0;background:transparent}.qty-control span{width:25px;text-align:center;font-size:11px}.cart-item-price{text-align:right}.cart-item-price b{display:block;font-family:var(--serif);font-size:19px;font-weight:400}.cart-item-price button{border:0;background:transparent;font-size:10px;color:#8e5b51;margin-top:18px}
.cart-empty{margin:auto;padding:50px;text-align:center}.cart-empty h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:22px 0 8px}.cart-empty p{font-size:12px;color:var(--muted);margin:0 0 25px}.empty-ring{width:90px;height:90px;border:1px solid #9e8554;border-radius:50%;margin:auto;box-shadow:0 0 0 14px rgba(158,133,84,.06),0 0 0 28px rgba(158,133,84,.03)}
.cart-summary{border-top:1px solid var(--line);padding:24px 30px 30px;background:white}.cart-summary>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}.cart-summary>div b{font-weight:500}.cart-summary .button{margin-top:15px}
.modal{position:fixed;z-index:100;left:50%;top:50%;transform:translate(-50%,-47%) scale(.98);width:min(880px,calc(100% - 38px));max-height:calc(100vh - 34px);overflow:auto;background:#f7f6f1;opacity:0;visibility:hidden;transition:.25s;box-shadow:0 35px 100px rgba(0,0,0,.32)}
.modal.is-open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.modal-close{position:sticky;float:right;top:18px;right:18px;z-index:5;margin:18px 18px 0 0;background:#f7f6f1}
.product-modal-content{display:grid;grid-template-columns:1fr 1fr;min-height:610px}
.product-modal-visual{background:#e5e9e5;display:grid;place-items:center;padding:60px}.product-modal-visual .package-mockup{width:220px;max-width:none}
.product-modal-copy{padding:75px 55px 50px}.product-modal-copy .product-number{margin-bottom:13px}.product-modal-copy h2{font-size:52px}.product-modal-copy .lead{color:var(--muted);margin:14px 0 25px}.modal-price{font-family:var(--serif);font-size:36px;margin-bottom:25px}.product-facts{border-top:1px solid var(--line);margin:25px 0}.product-facts div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.product-facts span{color:var(--muted)}
.form-modal{width:min(720px,calc(100% - 32px));padding:42px 42px 45px}.form-modal .modal-close{position:absolute;right:0;top:0}.modal-heading{padding-right:50px;margin-bottom:24px}.modal-heading h2{font-size:50px}.modal-heading>p:last-child{color:var(--muted);font-size:13px}.form-modal form{padding:0;border:0;background:transparent}.form-modal fieldset{border:0;padding:0;margin:5px 0;display:grid;gap:8px}.form-modal legend{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6d776f;margin-bottom:9px}.radio-card{display:flex;grid-template-columns:none;align-items:center;gap:12px;border:1px solid #d2d7d2;padding:13px 14px;background:white;text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer}.radio-card input{width:auto;accent-color:var(--green-900)}.radio-card span{display:flex;flex-direction:column;flex:1}.radio-card b{font-size:12px}.radio-card small{font-size:10px;color:var(--muted)}.radio-card strong{font-family:var(--serif);font-size:18px;font-weight:400}.checkout-total{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);font-size:14px}.checkout-total b{font-family:var(--serif);font-size:28px;font-weight:400}
.toast{position:fixed;left:50%;bottom:30px;z-index:120;transform:translate(-50%,20px);background:#102c20;color:white;padding:13px 20px;box-shadow:var(--shadow);font-size:12px;opacity:0;visibility:hidden;transition:.25s}.toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}

@media (max-width:1150px){
  .container{width:min(100% - 40px,1100px)}
  .header-inner{grid-template-columns:auto 1fr auto}.main-nav{justify-self:center;gap:24px}.brand b{font-size:18px}.brand small{display:none}
  .product-grid,.catalog-grid{grid-template-columns:repeat(3,1fr)}
  .product-image{height:380px}
  .story-grid{gap:35px}.wood-rings{width:430px;height:430px}.floating-package{width:175px}
  .wholesale-inner{gap:50px}
  .origin-grid{gap:50px}.origin-image{margin-left:-20px}
}

@media (max-width:860px){
  .announcement{font-size:9px}
  .site-header{height:72px}.header-inner{grid-template-columns:42px 1fr auto}.menu-button{display:block}.brand{justify-self:center}.brand-mark{width:30px;height:30px}.brand b{font-size:17px}
  .main-nav{position:fixed;top:103px;left:0;right:0;background:#062e1e;display:flex;flex-direction:column;align-items:flex-start;padding:25px 28px 34px;gap:0;transform:translateY(-140%);transition:.3s;z-index:-1}.main-nav.is-open{transform:translateY(0)}.main-nav a{padding:14px 0;width:100%;font-family:var(--serif);font-size:25px;text-transform:none;letter-spacing:0;border-bottom:1px solid rgba(255,255,255,.08)}.main-nav a:after{display:none}
  .lang-switch{display:none}
  .hero{height:720px;min-height:0;background-position:60% center}.hero:after{background:linear-gradient(90deg,rgba(1,14,9,.93) 0%,rgba(2,19,13,.72) 50%,rgba(3,24,16,.15) 100%)}.hero h1{font-size:64px}.hero-copy{max-width:500px}.hero-meta{gap:18px;flex-wrap:wrap}
  .values-grid{grid-template-columns:1fr}.values-grid article{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}.values-grid article:last-child{border-bottom:0}
  .section{padding:78px 0}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:32px}
  .product-grid,.catalog-grid{grid-template-columns:repeat(2,1fr)}
  .story-grid{grid-template-columns:1fr;min-height:0}.story-visual{height:460px}.story-panel{padding-bottom:35px}
  .mood-grid{grid-template-columns:repeat(2,1fr)}
  .wholesale-inner{grid-template-columns:1fr;align-items:start}
  .about-grid{grid-template-columns:1fr;gap:25px}.about-grid>div:last-child{padding-top:0}
  .process-grid{grid-template-columns:repeat(2,1fr)}.process-grid article:nth-child(2){border-right:0}.process-grid article:nth-child(3){padding-left:0}.process-grid article{border-bottom:1px solid #c8cdc8}
  .origin-grid{grid-template-columns:1fr;gap:0;padding-bottom:70px}.origin-image{height:430px;margin:0 -20px 55px}.origin-grid>div:last-child{padding-right:0}
  .contacts-grid{grid-template-columns:1fr;gap:45px}
  .footer-top{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-cta{text-align:center}.footer-bottom{height:auto;padding:20px 0;gap:8px;flex-direction:column}
}

@media (max-width:590px){
  .container{width:calc(100% - 28px)}
  .announcement{height:27px;letter-spacing:.09em}
  .site-header{height:68px}.main-nav{top:95px}
  .brand-mark{display:none}.brand b{font-size:16px}.header-actions{gap:4px}.icon-button{width:39px;height:39px}
  .hero{height:680px;background-position:66% center}.hero:after{background:linear-gradient(90deg,rgba(1,14,9,.96) 0%,rgba(2,19,13,.85) 50%,rgba(3,24,16,.25) 100%)}.hero-content{justify-content:flex-end;padding-bottom:45px}.hero h1{font-size:51px}.hero-copy{font-size:14px;line-height:1.6;margin:20px 0 24px}.hero-actions{width:100%;flex-direction:column}.hero-actions .button{width:100%}.hero-meta{margin-top:30px;display:grid;grid-template-columns:1fr 1fr}.hero-meta span:last-child{grid-column:1/-1}
  .section{padding:65px 0}.section-heading h2,.story-copy h2,.about-intro h2,.origin-grid h2,.contact-info h2,.wholesale-inner h2,.modal h2{font-size:39px}
  .product-grid,.catalog-grid{grid-template-columns:1fr 1fr;gap:10px}.product-image{height:250px}.product-info{padding:15px 13px}.package-mockup{width:55%}.product-title{font-size:17px}.product-price{font-size:18px}.product-notes{font-size:9px;height:28px;margin-bottom:11px}.card-actions{grid-template-columns:1fr 39px}.card-actions button{height:40px;font-size:8px}.product-badge{font-size:7px;left:9px;top:9px;padding:5px 7px}
  .story-grid{gap:10px}.story-visual{height:380px}.wood-rings{width:330px;height:330px}.floating-package{width:135px}.story-visual>p{right:5px}
  .mood-grid{grid-template-columns:1fr}.mood-grid button{height:190px}
  .page-hero{min-height:360px;padding:100px 0 55px}.page-hero h1{font-size:57px}
  .catalog-toolbar{align-items:stretch;flex-direction:column}.search-box{width:100%}.filter-buttons{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.filter-buttons button{white-space:nowrap}.catalog-note .container{align-items:flex-start;flex-direction:column}
  .process-grid{grid-template-columns:1fr}.process-grid article,.process-grid article+article{padding:27px 0;border-right:0}.process-grid h3{margin-top:18px}
  .origin-image{height:320px;margin:0 -14px 45px}.origin-grid{min-height:0}
  .contact-list>div{grid-template-columns:1fr;gap:5px}.contact-form{padding:22px}.field-row{grid-template-columns:1fr}
  .footer-nav{flex-wrap:wrap;justify-content:center}.footer-top{padding-bottom:35px}
  .cart-drawer{width:100%}.drawer-header{height:86px;padding:20px}.cart-items{padding:8px 20px}.cart-item{grid-template-columns:66px 1fr auto;gap:10px}.cart-item-image{height:92px}.cart-summary{padding:20px}.cart-empty{padding:30px}
  .modal{width:calc(100% - 18px)}.product-modal-content{grid-template-columns:1fr}.product-modal-visual{height:330px;padding:34px}.product-modal-visual .package-mockup{width:135px}.product-modal-copy{padding:34px 24px}.product-modal-copy h2{font-size:39px}.form-modal{padding:34px 18px 25px}.modal-heading h2{font-size:39px}.radio-card{padding:11px}.radio-card strong{font-size:15px}
}


/* ===== Prime Forest refinement: Jost, compact hero and premium compact blocks ===== */
:root{
  --serif:"Jost",Arial,Helvetica,sans-serif;
  --sans:"Jost",Arial,Helvetica,sans-serif;
}
body{font-family:var(--sans);font-weight:400}
.container{width:min(1380px,calc(100% - 56px))}
.announcement{height:27px;font-size:9px;font-weight:600;letter-spacing:.2em;color:#e3c77f}
.site-header{height:76px;background:rgba(4,35,23,.97)}
.brand b{font-family:var(--sans);font-size:20px;font-weight:500;letter-spacing:.055em}
.brand small{font-size:6.5px;font-weight:500}
.main-nav{gap:34px;font-size:11px;font-weight:600;letter-spacing:.12em}
.main-nav a{padding:28px 0}
.main-nav a:after{bottom:18px}
.hero{height:690px;min-height:690px;max-height:690px;background-position:center center}
.hero:after{background:linear-gradient(90deg,rgba(1,14,9,.96) 0%,rgba(2,19,13,.88) 28%,rgba(3,24,16,.4) 50%,rgba(3,24,16,.04) 100%)}
.hero-content{padding-top:0;max-width:1380px}
.hero .eyebrow{margin-bottom:14px}
.hero h1,.page-hero h1{font-family:var(--sans);font-weight:500;letter-spacing:-.045em}
.hero h1{font-size:clamp(54px,4.9vw,78px);line-height:1.02;max-width:600px}
.hero-copy{max-width:535px;font-size:14px;line-height:1.65;margin:20px 0 24px}
.button{min-height:46px;padding:0 24px;font-size:10px;letter-spacing:.13em}
.hero-meta{margin-top:28px;gap:0;border-top:1px solid rgba(255,255,255,.16);padding-top:17px}
.hero-meta span{min-width:170px;padding-right:25px;margin-right:25px;border-right:1px solid rgba(214,184,120,.4);font-size:9px;line-height:1.35}
.hero-meta span:last-child{border-right:0;margin-right:0;padding-right:0}
.hero-meta b{font-family:var(--sans);font-size:18px;font-weight:500}

.values-strip{position:relative;overflow:hidden;background:linear-gradient(90deg,#f5f0e5 0%,#fbf8f1 48%,#f4eee1 100%);border:0;padding:22px 0}
.values-strip:before,.values-strip:after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:.48}
.values-strip:before{width:350px;height:350px;left:-165px;top:-235px;background:repeating-radial-gradient(circle,transparent 0 12px,rgba(169,139,77,.13) 13px 14px)}
.values-strip:after{width:330px;height:330px;right:-140px;bottom:-235px;background:repeating-radial-gradient(circle,transparent 0 14px,rgba(169,139,77,.11) 15px 16px)}
.values-grid{position:relative;z-index:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:stretch}
.values-grid article.value-card{position:relative;display:grid;grid-template-columns:66px 1px minmax(0,1fr);align-items:center;gap:20px;min-height:126px;padding:20px 24px;border:0;background:rgba(255,255,255,.35);clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));box-shadow:inset 0 0 0 1px rgba(172,139,76,.42)}
.values-grid article.value-card:first-child,.values-grid article.value-card:last-child{padding-left:24px;padding-right:24px;border:0}
.values-grid article.value-card:not(:last-child):after{content:"";position:absolute;right:-20px;top:50%;width:8px;height:8px;background:#b59658;transform:translateY(-50%) rotate(45deg);clip-path:none}
.value-icon{width:64px;height:64px;border:1px solid rgba(176,143,79,.75);border-radius:50%;display:grid;place-items:center;color:#17382b;position:relative}
.value-icon:before,.value-icon:after{content:"";position:absolute;top:50%;width:5px;height:5px;background:#b59658;transform:translateY(-50%) rotate(45deg)}
.value-icon:before{left:-3px}.value-icon:after{right:-3px}
.value-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.value-icon svg .solid{fill:currentColor;stroke:none}
.value-rule{height:66px;width:1px;background:rgba(176,143,79,.45)}
.value-copy{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:15px;row-gap:3px}
.value-number{font-family:var(--sans);font-size:24px;font-weight:400;line-height:1;color:#ad8e52}
.values-grid .value-copy b{font-family:var(--sans);font-size:18px;font-weight:500;line-height:1.15;color:#10251b;white-space:nowrap}
.values-grid .value-copy p{grid-column:1/-1;font-size:11px;line-height:1.48;color:#687069;margin:5px 0 0;max-width:300px}

.section{padding:82px 0}
.featured-section{padding-top:74px;padding-bottom:84px;background:#fbfaf6}
.section-heading{margin-bottom:32px}
.section-heading h2,.story-copy h2,.about-intro h2,.origin-grid h2,.contact-info h2,.wholesale-inner h2,.modal h2{font-family:var(--sans);font-weight:400;letter-spacing:-.045em}
.featured-section .section-heading h2{font-size:clamp(42px,4vw,62px)}
.text-link{font-size:10px;font-weight:500}
.product-grid{gap:16px}
.product-card{background:#fdfcf8;border:1px solid rgba(83,74,53,.16);clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px))}
.product-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(32,40,34,.12)}
.product-image{height:318px;background:radial-gradient(ellipse at 50% 48%,#fbfaf5 0 34%,#eeeade 35% 58%,#e8e4d9 59% 100%)}
.product-image:before{width:230px;height:250px;border-radius:120px 120px 0 0;border:1px solid rgba(151,133,94,.15);box-shadow:0 0 0 28px rgba(151,133,94,.035)}
.package-mockup{width:57%;max-width:190px;filter:drop-shadow(15px 21px 17px rgba(5,29,20,.22))}
.product-badge{left:14px;top:14px;padding:6px 9px;border:1px solid rgba(181,149,86,.45);background:rgba(255,253,248,.92);color:#7e6738;font-size:8px;font-weight:600}
.product-info{padding:17px 18px 17px}
.product-number{font-size:9px}
.product-title-row{margin-top:5px}
.product-title{font-family:var(--sans);font-size:21px;font-weight:400;letter-spacing:-.02em}
.product-price{font-family:var(--sans);font-size:21px;font-weight:400}
.product-notes{font-size:10px;margin:7px 0 13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-actions{grid-template-columns:1fr 43px;gap:7px}
.card-actions button{height:42px;font-size:9px;font-weight:600}

@media (max-width:1150px){
  .container{width:min(100% - 38px,1100px)}
  .hero{height:650px;min-height:650px;max-height:650px}
  .values-grid{gap:18px}
  .values-grid article.value-card{grid-template-columns:54px 1px 1fr;gap:14px;padding:17px 16px;min-height:118px}
  .value-icon{width:52px;height:52px}.value-icon svg{width:31px;height:31px}.value-rule{height:56px}
  .value-copy{column-gap:10px}.value-number{font-size:20px}.values-grid .value-copy b{font-size:15px}.values-grid .value-copy p{font-size:10px}
  .product-image{height:300px}
}
@media (max-width:860px){
  .site-header{height:70px}.main-nav{top:97px}
  .hero{height:680px;min-height:680px;max-height:680px}.hero h1{font-size:58px}
  .values-strip{padding:18px 0}.values-grid{grid-template-columns:1fr;gap:10px}
  .values-grid article.value-card{min-height:104px;padding:14px 18px;grid-template-columns:52px 1px 1fr}
  .values-grid article.value-card:not(:last-child):after{display:none}
  .values-grid .value-copy b{font-size:17px}.values-grid .value-copy p{font-size:11px;max-width:none}
  .section{padding:68px 0}
}
@media (max-width:590px){
  .container{width:calc(100% - 24px)}
  .hero{height:650px;min-height:650px;max-height:650px}.hero h1{font-size:47px}.hero-copy{font-size:13px}
  .hero-meta span{min-width:0;padding-right:14px;margin-right:14px}
  .values-strip{padding:13px 0}
  .values-grid article.value-card{grid-template-columns:46px 1px 1fr;gap:12px;min-height:94px;padding:12px 13px}
  .value-icon{width:44px;height:44px}.value-icon svg{width:27px;height:27px}.value-rule{height:46px}
  .value-copy{column-gap:8px}.value-number{font-size:18px}.values-grid .value-copy b{font-size:14px;white-space:normal}.values-grid .value-copy p{font-size:9.5px;line-height:1.35;margin-top:3px}
  .featured-section{padding-top:58px}.product-image{height:225px}.package-mockup{width:59%}.product-info{padding:13px 11px}.product-title{font-size:16px}.product-price{font-size:17px}.product-notes{font-size:8.5px;margin-bottom:9px}.card-actions{grid-template-columns:1fr 36px}.card-actions button{height:37px;font-size:7.5px}
}

/* ===== V5: real implementation of approved hero + catalogue visuals ===== */
@media (min-width:861px){
  .hero-content{align-items:flex-start}
  .hero h1{max-width:760px;font-size:clamp(52px,4.15vw,70px);line-height:1.04;letter-spacing:-.052em}
  .hero h1 span{display:block;white-space:nowrap}
}

/* Natural category scenes for the full catalogue. */
.product-image{isolation:isolate;background-color:#eee9dd}
.product-image::before{z-index:0}
.product-image::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.88}
.package-mockup,.product-badge{z-index:2}
.scene-woody .product-image{
  background:
    radial-gradient(circle at 82% 15%,rgba(87,112,72,.18),transparent 25%),
    linear-gradient(180deg,#f4f0e7 0%,#ebe1d1 72%,#cfb997 73%,#d5bf9d 100%);
}
.scene-woody .product-image::after{
  background:
    linear-gradient(23deg,transparent 0 28%,rgba(116,77,43,.36) 29% 31%,transparent 32% 100%),
    radial-gradient(ellipse at 4% 79%,rgba(104,67,37,.48) 0 13%,transparent 14%);
}
.scene-fresh .product-image{
  background:
    radial-gradient(circle at 78% 82%,rgba(184,164,124,.45) 0 8%,transparent 9%),
    radial-gradient(ellipse at 35% 65%,rgba(255,255,255,.95) 0 34%,transparent 35%),
    linear-gradient(145deg,#f7f5ef,#e6e2d8);
}
.scene-fresh .product-image::after{
  background:linear-gradient(118deg,transparent 0 18%,rgba(255,255,255,.72) 19% 42%,transparent 43% 100%);
}
.scene-warm .product-image{
  background:
    linear-gradient(175deg,rgba(255,255,255,.4),transparent 44%),
    linear-gradient(180deg,#f2ede3 0%,#e7dccb 74%,#c9b18b 75%,#d6c09e 100%);
}
.scene-warm .product-image::after{
  background:
    linear-gradient(11deg,transparent 0 28%,rgba(126,83,47,.38) 29% 31%,transparent 32% 100%),
    linear-gradient(-7deg,transparent 0 38%,rgba(112,74,43,.24) 39% 42%,transparent 43%);
}
.scene-dark .product-image{
  background:
    radial-gradient(ellipse at 72% 34%,rgba(255,255,255,.62),transparent 22%),
    linear-gradient(180deg,#e7e0d4 0%,#d5c7b5 67%,#6e6253 68%,#8b7b68 100%);
}
.scene-dark .product-image::after{
  background:
    radial-gradient(ellipse at 20% 78%,rgba(47,43,38,.78) 0 14%,transparent 15%),
    radial-gradient(ellipse at 86% 74%,rgba(48,43,39,.72) 0 16%,transparent 17%),
    linear-gradient(112deg,transparent 0 61%,rgba(255,255,255,.27) 62% 64%,transparent 65% 100%);
}

/* Approved composed scenic cards. */
.product-card.has-composed-scene .product-image{
  height:338px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.product-card.product-3 .product-image{background-image:url('/assets/scenes/03.webp')}
.product-card.product-5 .product-image{background-image:url('/assets/scenes/05.webp')}
.product-card.product-6 .product-image{background-image:url('/assets/scenes/06.webp')}
.product-card.product-7 .product-image{background-image:url('/assets/scenes/07.webp')}
.product-card.product-8 .product-image{background-image:url('/assets/scenes/08.webp')}
.product-card.product-9 .product-image{background-image:url('/assets/scenes/09.webp')}
.product-card.product-18 .product-image{background-image:url('/assets/scenes/18.webp')}
.product-card.product-15 .product-image{background-image:url('/assets/scenes/15.webp')}
.product-card.has-composed-scene .product-image::before,
.product-card.has-composed-scene .product-image::after,
.product-card.has-composed-scene .package-mockup,
.product-card.has-composed-scene .product-badge{display:none}

/* Wider visual, shorter information area: products no longer look squeezed. */
.featured-section{padding-top:62px;padding-bottom:72px}
.featured-section .section-heading{margin-bottom:27px}
.product-grid{gap:14px}
.product-card{clip-path:polygon(0 9px,9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px))}
.product-image{height:326px}
.package-mockup{width:65%;max-width:214px}
.product-info{padding:14px 15px 15px}
.product-title-row{margin-top:3px}
.product-title,.product-price{font-size:20px}
.product-notes{margin:5px 0 10px;font-size:9.5px}
.card-actions button{height:39px}

@media (max-width:1150px){
  .hero h1{font-size:53px;max-width:650px}
  .product-card.has-composed-scene .product-image{height:310px}
  .product-image{height:300px}
  .package-mockup{width:67%}
}
@media (max-width:860px){
  .hero h1{max-width:600px;font-size:51px}
  .hero h1 span{display:block;white-space:normal}
  .product-card.has-composed-scene .product-image{height:320px}
}
@media (max-width:590px){
  .hero h1{font-size:38px;line-height:1.08;max-width:100%}
  .hero h1 span{white-space:nowrap}
  .product-card.has-composed-scene .product-image{height:222px}
  .product-image{height:220px}
  .product-info{padding:12px 10px 12px}
}

/* Fix native button shrink-to-content: the visual must occupy the full card width. */
.product-image{width:100%;min-width:0;border:0;padding:0;margin:0;appearance:none;-webkit-appearance:none;cursor:pointer}

/* ===== V6: individual backdrop scenes for all 18 products ===== */
/* The approved four products keep their composed images. All others now get
   an individual scenic underlay so each card has its own mood. */
.product-card:not(.has-composed-scene) .product-image{
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
}
.product-card:not(.has-composed-scene) .product-image::before{
  width:236px;height:252px;border-radius:126px 126px 0 0;
  border:1px solid rgba(160,139,98,.16);
  box-shadow:0 0 0 27px rgba(160,139,98,.04);
  z-index:0;
}
.product-card:not(.has-composed-scene) .product-image::after{opacity:1}
.product-card:not(.has-composed-scene) .package-mockup{width:61%;max-width:198px;z-index:2}

/* 01 Midnight Resin */
.product-card.product-1 .product-image{
  background:
    radial-gradient(circle at 80% 18%, rgba(121,148,104,.26) 0 12%, transparent 13%),
    linear-gradient(180deg,#f5f2ea 0%,#efe9dc 72%,#d8c3a2 73%,#e1cfb0 100%);
}
.product-card.product-1 .product-image::after{
  background:
    radial-gradient(ellipse at 12% 84%, rgba(107,73,42,.48) 0 12%, transparent 13%),
    radial-gradient(ellipse at 85% 78%, rgba(82,119,80,.24) 0 17%, transparent 18%),
    linear-gradient(124deg, transparent 0 73%, rgba(74,111,74,.72) 74% 80%, transparent 81%),
    linear-gradient(130deg, transparent 0 16%, rgba(255,255,255,.55) 17% 45%, transparent 46%);
}

/* 02 Citrus Ember */
.product-card.product-2 .product-image{
  background:
    radial-gradient(circle at 77% 23%, rgba(235,188,96,.28) 0 13%, transparent 14%),
    linear-gradient(180deg,#f6f0e6 0%,#efe4d3 72%,#d3bc96 73%,#dec8a5 100%);
}
.product-card.product-2 .product-image::after{
  background:
    radial-gradient(circle at 78% 71%, rgba(237,175,82,.42) 0 9%, transparent 10%),
    radial-gradient(circle at 86% 79%, rgba(200,121,58,.38) 0 7%, transparent 8%),
    linear-gradient(17deg, transparent 0 24%, rgba(116,76,44,.35) 25% 28%, transparent 29%),
    radial-gradient(ellipse at 10% 84%, rgba(104,70,42,.46) 0 12%, transparent 13%);
}

/* 04 Forest Veil */
.product-card.product-4 .product-image{
  background:
    radial-gradient(circle at 80% 20%, rgba(138,160,122,.22) 0 13%, transparent 14%),
    linear-gradient(180deg,#f6f2e8 0%,#eef0e8 70%,#d2c09f 71%,#deccad 100%);
}
.product-card.product-4 .product-image::after{
  background:
    linear-gradient(130deg, transparent 0 70%, rgba(108,136,89,.58) 71% 80%, transparent 81%),
    linear-gradient(122deg, transparent 0 78%, rgba(89,118,75,.48) 79% 85%, transparent 86%),
    radial-gradient(ellipse at 18% 83%, rgba(97,71,48,.36) 0 11%, transparent 12%),
    radial-gradient(ellipse at 63% 36%, rgba(255,255,255,.5) 0 20%, transparent 21%);
}

/* 05 Amber Drift */
.product-card.product-5 .product-image{
  background:
    radial-gradient(circle at 82% 20%, rgba(184,129,67,.18) 0 12%, transparent 13%),
    linear-gradient(180deg,#f2eadf 0%,#e4d5c0 67%,#9a8268 68%,#b09576 100%);
}
.product-card.product-5 .product-image::after{
  background:
    radial-gradient(ellipse at 18% 82%, rgba(70,54,44,.72) 0 13%, transparent 14%),
    radial-gradient(ellipse at 83% 78%, rgba(84,63,49,.64) 0 16%, transparent 17%),
    radial-gradient(circle at 74% 27%, rgba(207,145,78,.28) 0 10%, transparent 11%),
    linear-gradient(110deg, transparent 0 60%, rgba(255,255,255,.18) 61% 64%, transparent 65%);
}

/* 06 Crystal Thaw */
.product-card.product-6 .product-image{
  background:
    radial-gradient(circle at 82% 25%, rgba(207,219,230,.32) 0 12%, transparent 13%),
    linear-gradient(180deg,#f7f6f1 0%,#edf0ef 70%,#d0c5b3 71%,#ddd3c4 100%);
}
.product-card.product-6 .product-image::after{
  background:
    linear-gradient(128deg, transparent 0 18%, rgba(255,255,255,.82) 19% 44%, transparent 45%),
    radial-gradient(ellipse at 80% 78%, rgba(197,205,210,.5) 0 9%, transparent 10%),
    radial-gradient(ellipse at 14% 83%, rgba(95,83,72,.24) 0 10%, transparent 11%);
}

/* 07 Velvet Orchard */
.product-card.product-7 .product-image{
  background:
    radial-gradient(circle at 78% 16%, rgba(192,157,116,.22) 0 12%, transparent 13%),
    linear-gradient(180deg,#f6f1e9 0%,#efe7db 72%,#d3bf9e 73%,#dfccab 100%);
}
.product-card.product-7 .product-image::after{
  background:
    linear-gradient(133deg, transparent 0 21%, rgba(255,255,255,.66) 22% 52%, transparent 53%),
    radial-gradient(circle at 80% 74%, rgba(174,122,104,.34) 0 8%, transparent 9%),
    radial-gradient(circle at 88% 68%, rgba(194,152,122,.3) 0 6%, transparent 7%),
    radial-gradient(ellipse at 14% 83%, rgba(111,76,45,.4) 0 12%, transparent 13%);
}

/* 08 Golden Reverie */
.product-card.product-8 .product-image{
  background:
    radial-gradient(circle at 82% 22%, rgba(213,182,96,.26) 0 13%, transparent 14%),
    linear-gradient(180deg,#f7f3ea 0%,#efe5d3 71%,#d6be95 72%,#e2cca7 100%);
}
.product-card.product-8 .product-image::after{
  background:
    linear-gradient(128deg, transparent 0 24%, rgba(255,255,255,.58) 25% 48%, transparent 49%),
    radial-gradient(ellipse at 84% 76%, rgba(214,187,108,.34) 0 13%, transparent 14%),
    radial-gradient(ellipse at 12% 84%, rgba(108,75,48,.32) 0 11%, transparent 12%);
}

/* 10 Aurora Grove */
.product-card.product-10 .product-image{
  background:
    radial-gradient(circle at 78% 18%, rgba(216,203,158,.2) 0 12%, transparent 13%),
    linear-gradient(180deg,#f7f4eb 0%,#edf1ea 71%,#d1c29f 72%,#ded0b0 100%);
}
.product-card.product-10 .product-image::after{
  background:
    linear-gradient(133deg, transparent 0 14%, rgba(255,255,255,.74) 15% 42%, transparent 43%),
    linear-gradient(124deg, transparent 0 74%, rgba(127,149,111,.5) 75% 82%, transparent 83%),
    radial-gradient(ellipse at 16% 84%, rgba(101,74,46,.32) 0 11%, transparent 12%);
}

/* 11 Silver Summit */
.product-card.product-11 .product-image{
  background:
    radial-gradient(circle at 79% 20%, rgba(199,201,204,.22) 0 12%, transparent 13%),
    linear-gradient(180deg,#f7f5f0 0%,#eef0ed 71%,#cfc5b6 72%,#dad0c2 100%);
}
.product-card.product-11 .product-image::after{
  background:
    linear-gradient(128deg, transparent 0 19%, rgba(255,255,255,.78) 20% 46%, transparent 47%),
    radial-gradient(ellipse at 82% 75%, rgba(198,200,203,.58) 0 10%, transparent 11%),
    radial-gradient(ellipse at 16% 84%, rgba(109,94,78,.24) 0 10%, transparent 11%);
}

/* 12 Elysian Vale */
.product-card.product-12 .product-image{
  background:
    radial-gradient(circle at 78% 22%, rgba(204,184,149,.2) 0 12%, transparent 13%),
    linear-gradient(180deg,#f7f3ec 0%,#efe8df 72%,#d6c19b 73%,#e3d0b0 100%);
}
.product-card.product-12 .product-image::after{
  background:
    linear-gradient(131deg, transparent 0 22%, rgba(255,255,255,.74) 23% 53%, transparent 54%),
    radial-gradient(ellipse at 85% 78%, rgba(215,206,184,.54) 0 11%, transparent 12%),
    radial-gradient(ellipse at 15% 84%, rgba(118,90,56,.22) 0 11%, transparent 12%);
}

/* 13 Solar Bloom */
.product-card.product-13 .product-image{
  background:
    radial-gradient(circle at 80% 22%, rgba(221,176,94,.28) 0 12%, transparent 13%),
    linear-gradient(180deg,#f8f3e8 0%,#f0e5d4 71%,#d5be95 72%,#e1cca8 100%);
}
.product-card.product-13 .product-image::after{
  background:
    radial-gradient(circle at 78% 72%, rgba(227,179,84,.34) 0 9%, transparent 10%),
    radial-gradient(circle at 87% 76%, rgba(188,144,71,.28) 0 7%, transparent 8%),
    linear-gradient(128deg, transparent 0 18%, rgba(255,255,255,.68) 19% 44%, transparent 45%),
    radial-gradient(ellipse at 14% 84%, rgba(109,75,47,.3) 0 10%, transparent 11%);
}

/* 14 Hazelwood Ember */
.product-card.product-14 .product-image{
  background:
    radial-gradient(circle at 79% 20%, rgba(196,151,95,.24) 0 12%, transparent 13%),
    linear-gradient(180deg,#f6f1e7 0%,#ece0cd 71%,#cdae82 72%,#ddc39a 100%);
}
.product-card.product-14 .product-image::after{
  background:
    radial-gradient(circle at 80% 75%, rgba(147,105,59,.3) 0 9%, transparent 10%),
    radial-gradient(circle at 88% 67%, rgba(174,127,70,.24) 0 7%, transparent 8%),
    linear-gradient(18deg, transparent 0 26%, rgba(116,77,45,.34) 27% 30%, transparent 31%),
    radial-gradient(ellipse at 16% 84%, rgba(105,73,46,.38) 0 11%, transparent 12%);
}

/* 16 Oud Eclipse */
.product-card.product-16 .product-image{
  background:
    radial-gradient(circle at 82% 20%, rgba(83,70,59,.18) 0 12%, transparent 13%),
    linear-gradient(180deg,#f1e9dd 0%,#dfcfbc 67%,#816e59 68%,#9b8469 100%);
}
.product-card.product-16 .product-image::after{
  background:
    linear-gradient(15deg, transparent 0 25%, rgba(92,61,39,.46) 26% 29%, transparent 30%),
    linear-gradient(-13deg, transparent 0 36%, rgba(76,52,35,.34) 37% 40%, transparent 41%),
    radial-gradient(ellipse at 82% 76%, rgba(52,42,33,.48) 0 15%, transparent 16%),
    radial-gradient(ellipse at 15% 84%, rgba(70,53,40,.46) 0 11%, transparent 12%);
}

/* 17 Cypress Noir */
.product-card.product-17 .product-image{
  background:
    radial-gradient(circle at 81% 19%, rgba(95,116,88,.22) 0 12%, transparent 13%),
    linear-gradient(180deg,#f4f0e6 0%,#e9e0d2 71%,#ccb48d 72%,#d9c39d 100%);
}
.product-card.product-17 .product-image::after{
  background:
    linear-gradient(128deg, transparent 0 71%, rgba(80,109,73,.72) 72% 79%, transparent 80%),
    linear-gradient(123deg, transparent 0 79%, rgba(100,129,94,.52) 80% 86%, transparent 87%),
    radial-gradient(ellipse at 16% 84%, rgba(85,62,39,.42) 0 11%, transparent 12%);
}

@media (max-width:1150px){
  .product-card:not(.has-composed-scene) .package-mockup{width:63%;max-width:188px}
}
@media (max-width:590px){
  .product-card:not(.has-composed-scene) .package-mockup{width:58%;max-width:132px}
}

/* ===== V7: stronger individual scenic underlays for every catalogue card ===== */
/* The goal is that every product reads as having its own stage/background,
   not just a shared category treatment. */
.product-card:not(.has-composed-scene) .product-image{
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
}
.product-card:not(.has-composed-scene) .product-image::before{
  width:238px;height:252px;border-radius:126px 126px 0 0;
  box-shadow:0 0 0 26px rgba(176,153,112,.05);
}

/* 01 Midnight Resin — green slats + soft wood base */
.product-card.product-1 .product-image{background:linear-gradient(180deg,#f7f4ec 0%,#efe8db 72%,#dac5a0 73%,#e5d3b3 100%)}
.product-card.product-1 .product-image::after{background:
  linear-gradient(133deg,transparent 0 72%,rgba(126,158,109,.82) 73% 82%,transparent 83%),
  linear-gradient(132deg,transparent 0 80%,rgba(88,121,81,.6) 81% 89%,transparent 90%),
  radial-gradient(circle at 84% 24%,rgba(214,220,196,.55) 0 16%,transparent 17%),
  radial-gradient(ellipse at 18% 84%,rgba(136,104,73,.45) 0 13%,transparent 14%);
}

/* 02 Citrus Ember — warm amber discs */
.product-card.product-2 .product-image{background:linear-gradient(180deg,#f7f2ea 0%,#efe4d5 72%,#d7c2a0 73%,#e3d0ae 100%)}
.product-card.product-2 .product-image::after{background:
  radial-gradient(circle at 84% 24%,rgba(238,206,124,.56) 0 13%,transparent 14%),
  radial-gradient(circle at 88% 62%,rgba(224,181,110,.46) 0 16%,transparent 17%),
  radial-gradient(circle at 8% 86%,rgba(178,141,104,.48) 0 18%,transparent 19%),
  linear-gradient(132deg,transparent 0 18%,rgba(255,255,255,.72) 19% 46%,transparent 47%);
}

/* 04 Forest Veil — leafy diagonals */
.product-card.product-4 .product-image{background:linear-gradient(180deg,#f7f4ec 0%,#ece9df 72%,#d5c3a0 73%,#dfceb0 100%)}
.product-card.product-4 .product-image::after{background:
  linear-gradient(132deg,transparent 0 70%,rgba(138,173,120,.8) 71% 80%,transparent 81%),
  linear-gradient(132deg,transparent 0 78%,rgba(105,138,93,.6) 79% 88%,transparent 89%),
  radial-gradient(circle at 86% 24%,rgba(224,230,216,.72) 0 15%,transparent 16%),
  radial-gradient(ellipse at 14% 86%,rgba(140,111,80,.34) 0 12%,transparent 13%);
}

/* 05 Amber Drift — dark stones and ember glow */
.product-card.product-5 .product-image{background:linear-gradient(180deg,#f1e8dc 0%,#e1d2bf 68%,#847362 69%,#a38d74 100%)}
.product-card.product-5 .product-image::after{background:
  radial-gradient(ellipse at 16% 84%,rgba(82,67,57,.76) 0 16%,transparent 17%),
  radial-gradient(ellipse at 78% 82%,rgba(101,82,68,.74) 0 18%,transparent 19%),
  radial-gradient(circle at 82% 24%,rgba(226,167,102,.28) 0 11%,transparent 12%),
  linear-gradient(115deg,transparent 0 60%,rgba(255,255,255,.16) 61% 64%,transparent 65%);
}

/* 06 Crystal Thaw — icy folds */
.product-card.product-6 .product-image{background:linear-gradient(180deg,#f8f7f3 0%,#ecefef 72%,#d6cdc0 73%,#e1d9cd 100%)}
.product-card.product-6 .product-image::after{background:
  linear-gradient(132deg,transparent 0 18%,rgba(255,255,255,.9) 19% 44%,transparent 45%),
  linear-gradient(137deg,transparent 0 28%,rgba(225,230,232,.72) 29% 61%,transparent 62%),
  radial-gradient(circle at 85% 76%,rgba(207,212,216,.6) 0 9%,transparent 10%),
  radial-gradient(ellipse at 16% 86%,rgba(122,115,108,.18) 0 11%,transparent 12%);
}

/* 07 Velvet Orchard — soft velvet drape */
.product-card.product-7 .product-image{background:linear-gradient(180deg,#f8f5ee 0%,#efe7dd 72%,#d8c29d 73%,#e3d1af 100%)}
.product-card.product-7 .product-image::after{background:
  linear-gradient(135deg,transparent 0 16%,rgba(255,255,255,.88) 17% 48%,transparent 49%),
  linear-gradient(140deg,transparent 0 26%,rgba(243,233,225,.82) 27% 61%,transparent 62%),
  radial-gradient(circle at 86% 74%,rgba(203,175,145,.5) 0 9%,transparent 10%),
  radial-gradient(ellipse at 16% 86%,rgba(132,100,70,.26) 0 12%,transparent 13%);
}

/* 08 Golden Reverie — golden side glow */
.product-card.product-8 .product-image{background:linear-gradient(180deg,#f8f4ea 0%,#efe4d2 72%,#d7bf93 73%,#e4cca6 100%)}
.product-card.product-8 .product-image::after{background:
  radial-gradient(circle at 86% 24%,rgba(233,202,114,.56) 0 14%,transparent 15%),
  radial-gradient(circle at 82% 72%,rgba(225,189,96,.38) 0 12%,transparent 13%),
  linear-gradient(130deg,transparent 0 76%,rgba(233,213,151,.52) 77% 85%,transparent 86%),
  radial-gradient(ellipse at 16% 86%,rgba(127,96,66,.22) 0 11%,transparent 12%);
}

/* 10 Aurora Grove — pale grove beams */
.product-card.product-10 .product-image{background:linear-gradient(180deg,#f7f5ec 0%,#eef1ea 72%,#d7c5a3 73%,#e3d2b3 100%)}
.product-card.product-10 .product-image::after{background:
  linear-gradient(132deg,transparent 0 17%,rgba(255,255,255,.84) 18% 41%,transparent 42%),
  linear-gradient(131deg,transparent 0 74%,rgba(160,184,141,.76) 75% 83%,transparent 84%),
  radial-gradient(circle at 84% 78%,rgba(214,199,158,.48) 0 9%,transparent 10%),
  radial-gradient(ellipse at 16% 86%,rgba(127,102,72,.2) 0 11%,transparent 12%);
}

/* 11 Silver Summit — silver minimal scene */
.product-card.product-11 .product-image{background:linear-gradient(180deg,#f8f6f1 0%,#eef0ec 72%,#d3c8ba 73%,#ddd3c8 100%)}
.product-card.product-11 .product-image::after{background:
  radial-gradient(circle at 84% 24%,rgba(221,224,225,.78) 0 14%,transparent 15%),
  linear-gradient(132deg,transparent 0 18%,rgba(255,255,255,.78) 19% 43%,transparent 44%),
  linear-gradient(132deg,transparent 0 76%,rgba(210,213,215,.58) 77% 86%,transparent 87%),
  radial-gradient(ellipse at 16% 86%,rgba(122,112,102,.16) 0 10%,transparent 11%);
}

/* 12 Elysian Vale — creamy quiet scene */
.product-card.product-12 .product-image{background:linear-gradient(180deg,#f8f4ed 0%,#efe8df 72%,#d9c29e 73%,#e5d3b4 100%)}
.product-card.product-12 .product-image::after{background:
  linear-gradient(135deg,transparent 0 18%,rgba(255,255,255,.86) 19% 49%,transparent 50%),
  linear-gradient(142deg,transparent 0 28%,rgba(242,235,226,.76) 29% 60%,transparent 61%),
  radial-gradient(circle at 86% 76%,rgba(228,216,199,.62) 0 11%,transparent 12%),
  radial-gradient(ellipse at 16% 86%,rgba(129,98,69,.18) 0 11%,transparent 12%);
}

/* 13 Solar Bloom — warm solar circles */
.product-card.product-13 .product-image{background:linear-gradient(180deg,#f8f4e9 0%,#efe5d3 72%,#d9c190 73%,#e5cea5 100%)}
.product-card.product-13 .product-image::after{background:
  radial-gradient(circle at 84% 24%,rgba(233,198,101,.48) 0 13%,transparent 14%),
  radial-gradient(circle at 84% 78%,rgba(220,180,95,.42) 0 15%,transparent 16%),
  radial-gradient(circle at 8% 86%,rgba(205,170,97,.3) 0 16%,transparent 17%),
  linear-gradient(132deg,transparent 0 18%,rgba(255,255,255,.7) 19% 44%,transparent 45%);
}

/* 14 Hazelwood Ember — wood branch sweep */
.product-card.product-14 .product-image{background:linear-gradient(180deg,#f7f2e8 0%,#ece1cf 72%,#d0b185 73%,#e0c49a 100%)}
.product-card.product-14 .product-image::after{background:
  linear-gradient(16deg,transparent 0 24%,rgba(154,121,77,.44) 25% 28%,transparent 29%),
  linear-gradient(-10deg,transparent 0 40%,rgba(133,100,62,.3) 41% 44%,transparent 45%),
  radial-gradient(circle at 84% 74%,rgba(187,146,88,.28) 0 10%,transparent 11%),
  radial-gradient(ellipse at 16% 86%,rgba(112,80,50,.34) 0 12%,transparent 13%);
}

/* 16 Oud Eclipse — deep, rich stone stage */
.product-card.product-16 .product-image{background:linear-gradient(180deg,#f0e7db 0%,#dfcfbc 68%,#786551 69%,#978066 100%)}
.product-card.product-16 .product-image::after{background:
  radial-gradient(ellipse at 18% 84%,rgba(84,63,48,.66) 0 14%,transparent 15%),
  radial-gradient(ellipse at 78% 82%,rgba(93,74,59,.62) 0 16%,transparent 17%),
  linear-gradient(16deg,transparent 0 26%,rgba(112,77,48,.46) 27% 30%,transparent 31%),
  radial-gradient(circle at 84% 22%,rgba(119,100,83,.22) 0 12%,transparent 13%);
}

/* 17 Cypress Noir — cypress green slashes */
.product-card.product-17 .product-image{background:linear-gradient(180deg,#f5f1e7 0%,#eae0d1 72%,#cdb48b 73%,#dbc59e 100%)}
.product-card.product-17 .product-image::after{background:
  linear-gradient(132deg,transparent 0 72%,rgba(136,166,117,.78) 73% 81%,transparent 82%),
  linear-gradient(132deg,transparent 0 81%,rgba(99,129,86,.58) 82% 90%,transparent 91%),
  radial-gradient(circle at 84% 24%,rgba(222,226,206,.68) 0 14%,transparent 15%),
  radial-gradient(ellipse at 16% 86%,rgba(120,92,63,.34) 0 12%,transparent 13%);
}

/* ===== V8: manual per-card scenic corrections for products 01,02,04,05,06 ===== */
/* Stronger, clearly different individual backdrops as approved in follow-up. */

/* 01 Midnight Resin — pale stage, green diagonal glass-like blades, warm left floor circles */
.product-card.product-1:not(.has-composed-scene) .product-image{
  background:
    linear-gradient(180deg,#f8f5ee 0%,#f1ebe0 70%,#ddc9a8 71%,#e7d7bd 100%);
}
.product-card.product-1:not(.has-composed-scene) .product-image::before{
  width:236px;height:246px;border-radius:122px 122px 0 0;
  border:1px solid rgba(180,165,132,.16);
  box-shadow:0 0 0 24px rgba(180,165,132,.035);
}
.product-card.product-1:not(.has-composed-scene) .product-image::after{
  background:
    radial-gradient(circle at 12% 84%, rgba(198,167,120,.42) 0 15%, transparent 16%),
    radial-gradient(circle at 84% 18%, rgba(214,224,204,.78) 0 15%, transparent 16%),
    linear-gradient(132deg, transparent 0 67%, rgba(150,184,131,.88) 68% 78%, transparent 79%),
    linear-gradient(132deg, transparent 0 76%, rgba(98,140,92,.62) 77% 86%, transparent 87%),
    linear-gradient(128deg, transparent 0 18%, rgba(255,255,255,.68) 19% 42%, transparent 43%);
}

/* 02 Citrus Ember — warm sand stage, golden circles and light diagonal fold */
.product-card.product-2:not(.has-composed-scene) .product-image{
  background:
    linear-gradient(180deg,#f7f3eb 0%,#efe7db 70%,#dcc39b 71%,#e8d3b3 100%);
}
.product-card.product-2:not(.has-composed-scene) .product-image::before{
  width:236px;height:246px;border-radius:122px 122px 0 0;
  border:1px solid rgba(185,169,136,.16);
  box-shadow:0 0 0 24px rgba(185,169,136,.04);
}
.product-card.product-2:not(.has-composed-scene) .product-image::after{
  background:
    radial-gradient(circle at 87% 18%, rgba(233,208,121,.78) 0 14%, transparent 15%),
    radial-gradient(circle at 89% 44%, rgba(231,198,121,.54) 0 14%, transparent 15%),
    radial-gradient(circle at 89% 72%, rgba(221,182,112,.42) 0 14%, transparent 15%),
    radial-gradient(circle at 8% 86%, rgba(196,165,124,.54) 0 17%, transparent 18%),
    linear-gradient(134deg, transparent 0 20%, rgba(255,255,255,.75) 21% 49%, transparent 50%);
}

/* 04 Forest Veil — same family as 01 but more fresh green, clearer right-side blades */
.product-card.product-4:not(.has-composed-scene) .product-image{
  background:
    linear-gradient(180deg,#f8f5ee 0%,#f1ede3 70%,#dcc9a9 71%,#e8d8be 100%);
}
.product-card.product-4:not(.has-composed-scene) .product-image::before{
  width:236px;height:246px;border-radius:122px 122px 0 0;
  border:1px solid rgba(184,169,136,.16);
  box-shadow:0 0 0 24px rgba(184,169,136,.04);
}
.product-card.product-4:not(.has-composed-scene) .product-image::after{
  background:
    radial-gradient(circle at 14% 86%, rgba(212,186,143,.46) 0 15%, transparent 16%),
    radial-gradient(circle at 85% 18%, rgba(217,227,216,.82) 0 15%, transparent 16%),
    linear-gradient(132deg, transparent 0 67%, rgba(173,208,151,.92) 68% 78%, transparent 79%),
    linear-gradient(132deg, transparent 0 76%, rgba(124,175,118,.68) 77% 87%, transparent 88%),
    linear-gradient(128deg, transparent 0 18%, rgba(255,255,255,.7) 19% 42%, transparent 43%);
}

/* 05 Amber Drift — stronger dark luxe scene with overlapping charcoal circles */
.product-card.product-5:not(.has-composed-scene) .product-image{
  background:
    linear-gradient(180deg,#f4eee4 0%,#ebdfcf 70%,#8a7c6d 71%,#a09180 100%);
}
.product-card.product-5:not(.has-composed-scene) .product-image::before{
  width:236px;height:246px;border-radius:122px 122px 0 0;
  border:1px solid rgba(177,162,136,.14);
  box-shadow:0 0 0 24px rgba(155,135,106,.03);
}
.product-card.product-5:not(.has-composed-scene) .product-image::after{
  background:
    radial-gradient(circle at 87% 18%, rgba(218,198,150,.54) 0 13%, transparent 14%),
    radial-gradient(circle at 16% 86%, rgba(108,91,78,.9) 0 22%, transparent 23%),
    radial-gradient(circle at 84% 86%, rgba(93,78,68,.82) 0 24%, transparent 25%),
    radial-gradient(circle at 80% 76%, rgba(58,49,43,.34) 0 10%, transparent 11%),
    linear-gradient(128deg, transparent 0 22%, rgba(255,255,255,.45) 23% 40%, transparent 41%);
}

/* 06 Crystal Thaw — bright cool-white diagonal folds with cool grey right circles */
.product-card.product-6:not(.has-composed-scene) .product-image{
  background:
    linear-gradient(180deg,#fbfaf7 0%,#f1f2f0 70%,#d8d1c6 71%,#e3ddd2 100%);
}
.product-card.product-6:not(.has-composed-scene) .product-image::before{
  width:236px;height:246px;border-radius:122px 122px 0 0;
  border:1px solid rgba(184,184,184,.15);
  box-shadow:0 0 0 24px rgba(180,180,180,.03);
}
.product-card.product-6:not(.has-composed-scene) .product-image::after{
  background:
    radial-gradient(circle at 88% 22%, rgba(224,230,232,.9) 0 14%, transparent 15%),
    radial-gradient(circle at 87% 82%, rgba(217,222,224,.76) 0 15%, transparent 16%),
    linear-gradient(132deg, transparent 0 18%, rgba(255,255,255,.96) 19% 46%, transparent 47%),
    linear-gradient(132deg, transparent 0 30%, rgba(238,241,242,.86) 31% 64%, transparent 65%),
    linear-gradient(128deg, transparent 0 74%, rgba(226,230,231,.42) 75% 84%, transparent 85%);
}

/* Final product image mode: source files already contain the complete scene. */
.product-card .product-image,
.product-card.has-composed-scene .product-image,
.product-card:not(.has-composed-scene) .product-image{
  display:block !important;
  height:430px;
  background:#fff !important;
  background-image:none !important;
  border:0;
  padding:0;
  overflow:hidden;
}

.product-card .product-image::before,
.product-card .product-image::after,
.product-card.has-composed-scene .product-image::before,
.product-card.has-composed-scene .product-image::after,
.product-card:not(.has-composed-scene) .product-image::before,
.product-card:not(.has-composed-scene) .product-image::after,
.product-card .package-mockup::after{
  content:none !important;
  display:none !important;
}

.product-card .package-mockup,
.product-card.has-composed-scene .package-mockup,
.product-card:not(.has-composed-scene) .package-mockup{
  display:block;
  width:100% !important;
  max-width:none !important;
  height:100%;
  filter:none !important;
  transform:none !important;
  transition:none;
}

.product-card:hover .package-mockup{
  transform:none !important;
}

.product-card .package-mockup img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:0;
}

.product-card .product-badge{
  display:none;
}

.product-modal-visual{
  background:#fff !important;
  padding:0 !important;
  overflow:hidden;
}

.product-modal-visual .package-mockup{
  width:100% !important;
  max-width:none !important;
  height:100%;
  filter:none !important;
  transform:none !important;
}

.product-modal-visual .package-mockup::after{
  content:none !important;
  display:none !important;
}

.product-modal-visual .package-mockup img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:0;
}

@media (max-width:1150px){
  .product-card .product-image,
  .product-card.has-composed-scene .product-image,
  .product-card:not(.has-composed-scene) .product-image{height:380px}
}

@media (max-width:620px){
  .product-card .product-image,
  .product-card.has-composed-scene .product-image,
  .product-card:not(.has-composed-scene) .product-image{height:250px}
  .product-modal-visual{height:330px}
}

/* Hero atmosphere: the right-side light continues through the header. */
.site-header{
  background:
    linear-gradient(90deg,rgba(1,12,8,.88) 0%,rgba(2,18,12,.68) 44%,rgba(33,39,28,.38) 73%,rgba(7,18,12,.56) 100%),
    url('/assets/hero-bg.webp?v=20260804-hero-bg-webp') center top/cover no-repeat;
  background-attachment:fixed;
  backdrop-filter:blur(8px);
  border-bottom-color:rgba(255,255,255,.1);
}

.hero{
  height:760px;
  min-height:760px;
  max-height:760px;
  background:#031b12 url('/assets/hero-bg.webp?v=20260804-hero-bg-webp') center center/cover no-repeat;
}

.hero:after{
  background:linear-gradient(90deg,rgba(1,12,8,.92) 0%,rgba(2,16,11,.78) 29%,rgba(3,24,16,.2) 56%,rgba(3,24,16,.02) 100%);
}

@media (max-width:1150px){
  .hero{height:710px;min-height:710px;max-height:710px}
}

@media (max-width:860px){
  .site-header{background-attachment:scroll;background-position:62% top}
  .hero{height:720px;min-height:720px;max-height:720px;background-position:62% center}
}

@media (max-width:590px){
  .hero{height:690px;min-height:690px;max-height:690px;background-position:68% center}
}

/* Header actions: separate language pill and cart circle. */
.site-header .header-actions{
  justify-self:end;
  width:max-content;
  height:58px;
  gap:14px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.site-header .lang-switch{
  height:52px;
  display:flex;
  align-items:center;
  gap:2px;
  padding:5px;
  border:1px solid rgba(214,184,120,.36);
  border-radius:999px;
  background:
    radial-gradient(circle at 19% 50%,rgba(214,184,120,.14),transparent 34%),
    linear-gradient(180deg,rgba(18,46,34,.48),rgba(4,24,16,.58));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    0 12px 30px rgba(0,0,0,.16);
}

.site-header .contact-toggle{
  width:46px;
  height:46px;
  margin-right:0;
  border:1px solid rgba(214,184,120,.38);
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 22%,rgba(214,184,120,.12),transparent 44%),
    rgba(5,24,16,.46);
  color:#f8f3e5;
  display:grid;
  place-items:center;
  position:relative;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.045),
    0 12px 30px rgba(0,0,0,.16);
}

.site-header .contact-toggle svg{
  width:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.site-header .lang-switch button{
  width:42px;
  height:40px;
  border-radius:50%;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:500;
  letter-spacing:.03em;
}

.site-header .lang-switch button.active{
  background:rgba(214,184,120,.18);
  color:var(--gold);
  box-shadow:inset 0 0 18px rgba(214,184,120,.08);
}

.site-header .lang-switch button:disabled{
  color:rgba(255,255,255,.64);
}

.site-header .cart-button{
  width:46px;
  height:46px;
  margin-left:0;
  border:1px solid rgba(214,184,120,.38);
  border-radius:50%;
  background:
    radial-gradient(circle at 28% 24%,rgba(214,184,120,.12),transparent 45%),
    rgba(5,24,16,.46);
  color:#f8f3e5;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.045),
    0 12px 30px rgba(0,0,0,.16);
}

.site-header .cart-button svg{
  width:24px;
  stroke-width:1.45;
}

.site-header .cart-count{
  right:-4px;
  top:-5px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  color:#122016;
  background:var(--gold);
  font-size:9px;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}

@media (max-width:860px){
  .site-header .header-actions{
    height:44px;
    gap:8px;
  }

  .site-header .lang-switch{
    display:none;
  }

  .site-header .contact-toggle{
    width:42px;
    height:42px;
    margin-right:0;
  }

  .site-header .contact-toggle svg{
    width:19px;
  }

  .site-header .cart-button{
    width:42px;
    height:42px;
    margin-left:0;
  }

  .site-header .cart-button svg{
    width:25px;
  }
}

body[data-theme="dark"]{
  --paper:#06140f;
  --cream:#0b1f16;
  --ink:#f3f0e7;
  --muted:#a6b0a8;
  --line:rgba(214,184,120,.18);
  background:#06140f;
  color:#f3f0e7;
}

body[data-theme="dark"] .values-strip,
body[data-theme="dark"] .process-section,
body[data-theme="dark"] .catalog-note{
  background:#0a1d15;
  border-color:rgba(214,184,120,.16);
}

body[data-theme="dark"] .values-strip{
  background:linear-gradient(90deg,#06140f 0%,#092017 52%,#06140f 100%);
}

body[data-theme="dark"] .values-strip::before,
body[data-theme="dark"] .values-strip::after{
  opacity:.18;
}

body[data-theme="dark"] .values-grid article.value-card{
  background:
    radial-gradient(circle at 15% 50%,rgba(214,184,120,.08),transparent 32%),
    linear-gradient(180deg,rgba(14,42,30,.92),rgba(7,26,18,.96));
  box-shadow:
    inset 0 0 0 1px rgba(214,184,120,.28),
    0 18px 38px rgba(0,0,0,.18);
}

body[data-theme="dark"] .values-grid article.value-card:not(:last-child)::after{
  background:#d6b878;
  opacity:.72;
}

body[data-theme="dark"] .value-icon{
  border-color:rgba(214,184,120,.7);
  color:#d6b878;
}

body[data-theme="dark"] .value-icon::before,
body[data-theme="dark"] .value-icon::after{
  background:#d6b878;
}

body[data-theme="dark"] .value-rule{
  background:linear-gradient(180deg,transparent,rgba(214,184,120,.48),transparent);
}

body[data-theme="dark"] .value-number{
  color:#d6b878;
}

body[data-theme="dark"] .values-grid .value-copy b{
  color:#f5efe2;
}

body[data-theme="dark"] .values-grid .value-copy p{
  color:#aeb8b0;
}

.values-grid article.value-card{
  overflow:hidden;
  transition:box-shadow .35s ease, transform .35s ease;
}

.values-grid article.value-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0%,transparent 29%,rgba(255,242,190,.18) 43%,rgba(214,184,120,.34) 50%,rgba(255,242,190,.14) 57%,transparent 72%,transparent 100%);
  transform:translateX(-125%);
  transition:transform .9s ease;
}

.values-grid article.value-card:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 0 0 1px rgba(214,184,120,.54),
    0 22px 46px rgba(0,0,0,.22);
}

.values-grid article.value-card:hover::before{
  transform:translateX(125%);
}

.values-grid article.value-card > *{
  position:relative;
  z-index:1;
}

body[data-theme="dark"] .values-grid article.value-card:hover{
  box-shadow:
    inset 0 0 0 1px rgba(214,184,120,.54),
    0 22px 46px rgba(0,0,0,.28);
}

body[data-theme="dark"] .section,
body[data-theme="dark"] .featured-section,
body[data-theme="dark"] .catalog-section,
body[data-theme="dark"] .about-intro,
body[data-theme="dark"] .contacts-section,
body[data-theme="dark"] main{
  background:#06140f;
}

body[data-theme="dark"] .product-card,
body[data-theme="dark"] .contact-form,
body[data-theme="dark"] .form-modal,
body[data-theme="dark"] .modal,
body[data-theme="dark"] .cart-drawer,
body[data-theme="dark"] .cart-summary{
  background:#0b1f16;
  color:#f3f0e7;
  border-color:rgba(214,184,120,.16);
}

body[data-theme="dark"] .product-info,
body[data-theme="dark"] .cart-empty{
  background:#0b1f16;
}

body[data-theme="dark"] .product-card:hover{
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}

body[data-theme="dark"] .product-title,
body[data-theme="dark"] .product-price,
body[data-theme="dark"] .section-heading h2,
body[data-theme="dark"] .about-intro h2,
body[data-theme="dark"] .contact-info h2,
body[data-theme="dark"] .modal h2,
body[data-theme="dark"] .cart-empty h3{
  color:#f7f1e4;
}

body[data-theme="dark"] .product-notes,
body[data-theme="dark"] .about-grid>div:last-child p,
body[data-theme="dark"] .process-grid p,
body[data-theme="dark"] .contact-list p,
body[data-theme="dark"] .form-note,
body[data-theme="dark"] .catalog-note .container,
body[data-theme="dark"] .product-modal-copy .lead,
body[data-theme="dark"] .radio-card small{
  color:#a6b0a8;
}

body[data-theme="dark"] input,
body[data-theme="dark"] select,
body[data-theme="dark"] textarea,
body[data-theme="dark"] .radio-card{
  background:#081912;
  color:#f3f0e7;
  border-color:rgba(214,184,120,.2);
}

body[data-theme="dark"] .search-box{
  border-color:rgba(214,184,120,.4);
}

body[data-theme="dark"] .filter-buttons button{
  border-color:rgba(214,184,120,.25);
  color:#f3f0e7;
}

body[data-theme="dark"] .filter-buttons button.active,
body[data-theme="dark"] .filter-buttons button:hover,
body[data-theme="dark"] .button-dark,
body[data-theme="dark"] .card-actions button:first-child{
  background:#d6b878;
  border-color:#d6b878;
  color:#06140f;
}

body[data-theme="dark"] .card-actions button{
  border-color:rgba(214,184,120,.22);
  color:#f3f0e7;
}

body[data-theme="dark"] .product-image,
body[data-theme="dark"] .product-modal-visual,
body[data-theme="dark"] .cart-item-image{
  background:#071710 !important;
}

body[data-theme="dark"] .modal-close,
body[data-theme="dark"] .close-button{
  background:#0b1f16;
  color:#f3f0e7;
  border-color:rgba(214,184,120,.24);
}

body[data-theme="dark"] .site-footer{
  background:#020c08;
}

.announcement{
  gap:20px;
  color:#d6b878;
  font-size:10px;
  font-weight:500;
  letter-spacing:.18em;
}

.announcement span{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.announcement span{
  background:linear-gradient(90deg,#9f8046 0%,#d6b878 24%,#fff6c7 42%,#f2d995 50%,#d6b878 62%,#9f8046 100%);
  background-size:300% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:announcementShimmer 7.5s ease-in-out infinite;
}

.announcement span::before,
.announcement span::after{
  content:"";
  width:12px;
  height:14px;
  display:inline-block;
  background:#d6b878;
  opacity:.86;
  clip-path:polygon(50% 0,70% 30%,60% 30%,82% 56%,66% 56%,88% 82%,56% 82%,56% 100%,44% 100%,44% 82%,12% 82%,34% 56%,18% 56%,40% 30%,30% 30%);
}

@keyframes announcementShimmer{
  0%{background-position:140% 50%}
  58%,100%{background-position:-140% 50%}
}

.announcement::before,
.announcement::after{
  content:"";
  width:115px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(214,184,120,.34));
}

.announcement::after{
  background:linear-gradient(90deg,rgba(214,184,120,.34),transparent);
}

/* Header brand and menu polish, matching the split actions style. */
@media (min-width:861px){
  .site-header .header-inner{
    grid-template-columns:1.05fr auto 1.05fr;
    gap:44px;
  }

  .site-header .brand{
    gap:14px;
  }

  .site-header .brand-mark{
    width:44px;
    height:44px;
    border:1px solid rgba(214,184,120,.76);
    background:rgba(5,24,16,.2);
    box-shadow:
      inset 0 0 0 5px rgba(214,184,120,.055),
      0 0 16px rgba(214,184,120,.08);
  }

  .site-header .brand-mark i{
    display:block;
    border-color:rgba(214,184,120,.62);
    background:transparent;
  }

  .site-header .brand-mark i:nth-child(1){inset:7px}
  .site-header .brand-mark i:nth-child(2){inset:13px}
  .site-header .brand-mark i:nth-child(3){inset:18px;border:1px solid rgba(214,184,120,.62);background:transparent}

  .site-header .brand-mark::before{
    content:none;
  }

  .site-header .brand b{
    font-family:var(--sans);
    font-size:20px;
    font-weight:500;
    letter-spacing:.12em;
  }

  .site-header .brand small{
    margin-top:7px;
    color:var(--gold);
    font-size:6.5px;
    font-weight:500;
    letter-spacing:.24em;
    opacity:.92;
  }

  .site-header .main-nav{
    gap:58px;
    color:#f8f1df;
    font-size:13px;
    font-weight:600;
    letter-spacing:.22em;
  }

  .site-header .main-nav a{
    padding:11px 18px;
    border-radius:999px;
    text-shadow:0 1px 12px rgba(0,0,0,.18);
  }

  .site-header .main-nav a::after{
    display:none;
  }

  .site-header .main-nav a:hover,
  .site-header .main-nav a.is-current{
    color:#fff8e9;
  }

  .site-header .main-nav a.is-current{
    color:var(--gold);
    background:
      radial-gradient(ellipse at 50% 120%,rgba(214,184,120,.18),transparent 54%),
      rgba(1,14,9,.34);
    box-shadow:
      inset 0 1px 3px rgba(0,0,0,.58),
      inset 0 -1px 0 rgba(214,184,120,.34),
      inset 0 0 0 1px rgba(214,184,120,.16);
  }

  .site-header .main-nav a:hover{
    background:rgba(1,14,9,.22);
  }
}

@media (min-width:861px) and (max-width:1280px){
  .site-header .header-inner{
    gap:30px;
  }

  .site-header .brand{
    gap:14px;
  }

  .site-header .brand-mark{
    width:48px;
    height:48px;
  }

  .site-header .brand b{
    font-size:18px;
    letter-spacing:.1em;
  }

  .site-header .brand small{
    font-size:7px;
    letter-spacing:.26em;
  }

  .site-header .main-nav{
    gap:34px;
    font-size:11px;
    letter-spacing:.14em;
  }
}

/* Dark modal system with cut corners. */
.modal{
  background:
    radial-gradient(circle at 18% 0%,rgba(214,184,120,.08),transparent 32%),
    linear-gradient(180deg,#0d261b,#06150f);
  color:#f3f0e7;
  border:1px solid rgba(214,184,120,.22);
  clip-path:polygon(0 14px,14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px));
  overflow-x:hidden;
  overflow-y:auto;
  box-shadow:0 35px 110px rgba(0,0,0,.48), inset 0 0 0 1px rgba(255,255,255,.035);
}

.modal::before{
  content:none;
}

.form-modal,
.contact-modal{
  width:min(720px,calc(100% - 32px));
  padding:42px;
}

.product-modal-content{
  background:#0b1f16;
}

.product-modal-copy{
  background:
    radial-gradient(circle at 100% 0%,rgba(214,184,120,.08),transparent 35%),
    #0b1f16;
}

.modal-heading h2,
.contact-modal h2,
.product-modal-copy h2{
  color:#f7f1e4;
}

.modal-heading>p:last-child,
.contact-modal-head>p,
.product-modal-copy .lead{
  color:#a6b0a8;
}

.modal-close{
  position:absolute;
  float:none;
  right:28px;
  top:24px;
  width:52px;
  height:52px;
  margin:0;
  padding:0;
  background:transparent;
  color:rgba(246,239,225,.82);
  border:0;
  border-radius:0;
  appearance:none;
  -webkit-appearance:none;
  font-size:0;
  line-height:0;
  overflow:visible;
  isolation:isolate;
  transition:color .25s ease, transform .35s ease;
  z-index:6;
}

.modal-close::before,
.modal-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:38px;
  height:1px;
  background:currentColor;
  border:0;
  box-shadow:none;
  transform-origin:center;
}

.modal-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}

.modal-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

body[data-theme="dark"] .modal-close{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:rgba(246,239,225,.82);
}

.modal .modal-close,
.modal .modal-close:hover,
.modal .modal-close:focus,
.modal .modal-close:active{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none;
}

.modal-close:hover{
  background:transparent !important;
  color:var(--gold);
  transform:rotate(90deg);
}

.modal .button:hover{
  transform:none;
}

.product-modal-visual,
.product-modal-visual .package-mockup,
.product-modal-visual .package-mockup img{
  backface-visibility:hidden;
  transform:translateZ(0);
}

.button-gold{
  position:relative;
  overflow:hidden;
  color:#07140d;
  border-color:#c59d55;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -7px 14px rgba(92,52,20,.2),
    0 14px 30px rgba(0,0,0,.18);
}

.button-gold::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

.button-gold::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

.button-gold:hover{
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#edcf8d 0%,#d6ad68 46%,#bd8e47 100%);
  border-color:#d6b878;
  color:#06140f;
}

.button-gold:hover::after{
  transform:translateX(70%);
}

.card-actions button:first-child{
  position:relative;
  overflow:hidden;
  color:#07140d;
  border-color:#c59d55;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -6px 12px rgba(92,52,20,.2);
}

.card-actions button:first-child::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

.card-actions button:first-child::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

.card-actions button:first-child:hover{
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#edcf8d 0%,#d6ad68 46%,#bd8e47 100%);
  border-color:#d6b878;
  color:#06140f;
}

.card-actions button:first-child:hover::after{
  transform:translateX(70%);
}

.form-modal form,
.contact-form{
  background:transparent;
}

.radio-card,
.quick-contact-grid a,
.quick-contact-grid div{
  background:rgba(4,18,13,.72);
  border:1px solid rgba(214,184,120,.18);
  color:#f3f0e7;
}

.contact-modal{
  display:grid;
  gap:22px;
}

.contact-modal-head{
  padding-right:58px;
}

.contact-modal-head h2{
  font-family:var(--sans);
  font-size:44px;
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1;
  margin:0;
}

.contact-modal-head p:last-child{
  margin:14px 0 0;
  max-width:520px;
  line-height:1.7;
}

.quick-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.quick-contact-grid a,
.quick-contact-grid div{
  display:grid;
  gap:5px;
  padding:17px 18px;
  clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));
}

.quick-contact-grid small{
  color:#d6b878;
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.quick-contact-grid b{
  color:#f7f1e4;
  font-size:15px;
  font-weight:500;
}

.quick-contact-grid span{
  color:#9ca8a0;
  font-size:11px;
}

.messenger-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.messenger-row a{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(214,184,120,.28);
  color:#d6b878;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:rgba(214,184,120,.06);
}

.contact-modal .button{
  position:relative;
  z-index:1;
}

@media (max-width:620px){
  .form-modal,
  .contact-modal{
    padding:34px 18px 25px;
  }

  .quick-contact-grid,
  .messenger-row{
    grid-template-columns:1fr;
  }

  .contact-modal-head h2{
    font-size:38px;
  }
}

.cart-empty .empty-ring{
  position:relative;
  width:96px;
  height:96px;
  border:1px solid rgba(214,184,120,.64);
  border-radius:50%;
  background:rgba(5,24,16,.18);
  margin:auto;
  box-shadow:
    0 0 0 14px rgba(214,184,120,.045),
    0 0 0 28px rgba(214,184,120,.025);
}

.cart-empty .empty-ring::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:50%;
  border:1px solid rgba(214,184,120,.62);
  box-shadow:0 0 0 9px rgba(5,24,16,.16);
}

.cart-empty .empty-ring::after{
  content:"";
  position:absolute;
  width:28px;
  height:28px;
  left:50%;
  top:50%;
  margin:-14px 0 0 -14px;
  border-radius:50%;
  border:1px solid rgba(214,184,120,.68);
  background:radial-gradient(circle,transparent 0 8px,rgba(214,184,120,.66) 8.5px 9.5px,transparent 10px);
}

.story-visual .story-package{
  width:205px;
  aspect-ratio:5/8;
  display:block;
  filter:drop-shadow(22px 35px 23px rgba(0,0,0,.38));
  transform:rotate(3deg);
}

.story-box{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:24px 18px 18px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035),transparent 28%),
    linear-gradient(180deg,#0b3a28,#031d13);
  border:1px solid rgba(214,184,120,.22);
  color:#f6efe1;
  text-align:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);
}

.story-box::after{
  content:"";
  position:absolute;
  top:6px;
  right:-9px;
  bottom:4px;
  width:9px;
  background:linear-gradient(90deg,#0a3021,#020f0a);
  transform:skewY(-33deg);
  transform-origin:left top;
}

.story-box-number{
  font-family:var(--serif);
  font-size:42px;
  line-height:.9;
  color:#efe6cf;
}

.story-box-brand{
  margin-top:13px;
  font-family:var(--serif);
  font-size:17px;
  letter-spacing:.04em;
}

.story-box-sub{
  margin-top:6px;
  font-size:6.5px;
  line-height:1.35;
  letter-spacing:.12em;
  color:rgba(246,239,225,.72);
}

.story-box-window{
  width:84px;
  height:98px;
  margin:15px 0 12px;
  display:grid;
  place-items:center;
  border:1px solid rgba(246,239,225,.72);
  background:#07120e;
}

.story-box-window i{
  width:52px;
  height:52px;
  border-radius:50%;
  background:
    repeating-radial-gradient(ellipse at 48% 52%,#c99755 0 4px,#8b5f2d 4.7px 5.5px,#d3a86c 6px 8px),
    #c99755;
  box-shadow:0 8px 16px rgba(0,0,0,.32);
}

.story-box-window i::before{
  content:"";
  display:block;
  width:8px;
  height:14px;
  margin:-12px auto 0;
  border-radius:8px;
  border:2px solid #10130f;
  border-bottom:0;
}

.story-box-name{
  margin-top:auto;
  font-size:12px;
  letter-spacing:.08em;
  color:#eadfc7;
}

.story-box-notes{
  margin-top:4px;
  font-size:7px;
  color:rgba(246,239,225,.68);
}

@media (max-width:1150px){
  .story-visual .story-package{width:175px}
}

@media (max-width:590px){
  .story-visual .story-package{width:135px}
  .story-box{padding:17px 12px 12px}
  .story-box-number{font-size:30px}
  .story-box-brand{font-size:12px;margin-top:9px}
  .story-box-sub{font-size:5px}
  .story-box-window{width:60px;height:72px;margin:10px 0 8px}
  .story-box-window i{width:38px;height:38px}
  .story-box-name{font-size:8px}
  .story-box-notes{font-size:5px}
}

/* Cart and modal readability polish. */
.modal-close,
.close-button{
  position:absolute;
  width:58px;
  height:58px;
  padding:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(248,241,226,.9);
  font-size:0;
  line-height:1;
  overflow:visible;
  transition:color .25s ease, transform .42s ease;
}

.modal-close{
  right:28px;
  top:24px;
  margin:0;
  float:none;
}

.close-button{
  position:relative;
  right:auto;
  top:auto;
  flex:0 0 58px;
}

.modal-close::before,
.modal-close::after,
.close-button::before,
.close-button::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:44px;
  height:1px;
  background:currentColor;
  transform-origin:center;
}

.modal-close::before,
.close-button::before{
  transform:translate(-50%,-50%) rotate(45deg);
}

.modal-close::after,
.close-button::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

.modal-close:hover,
.close-button:hover{
  color:var(--gold);
  background:transparent !important;
  transform:rotate(90deg);
}

body[data-theme="dark"] .cart-drawer{
  background:#071f15;
  color:#f7f1e4;
}

body[data-theme="dark"] .drawer-header{
  border-bottom-color:rgba(214,184,120,.22);
}

body[data-theme="dark"] .drawer-header small{
  color:#caa761;
}

body[data-theme="dark"] .drawer-header h2{
  color:#fff8ea;
}

body[data-theme="dark"] .cart-items{
  color:#f7f1e4;
}

body[data-theme="dark"] .cart-item{
  border-bottom-color:rgba(214,184,120,.2);
}

body[data-theme="dark"] .cart-item-image{
  background:#04170f !important;
  border:1px solid rgba(214,184,120,.12);
}

body[data-theme="dark"] .cart-item h4{
  color:#fff7e8;
  font-weight:500;
}

body[data-theme="dark"] .cart-item p{
  color:#c5cec5;
}

body[data-theme="dark"] .qty-control{
  border-color:rgba(246,239,225,.58);
  color:#fff7e8;
  background:rgba(255,255,255,.025);
}

body[data-theme="dark"] .qty-control button{
  color:#f5dfaa;
}

body[data-theme="dark"] .cart-item-price b{
  color:#fff7e8;
  font-family:var(--sans);
  font-weight:500;
}

body[data-theme="dark"] .cart-item-price button{
  color:#d59b81;
}

body[data-theme="dark"] .cart-summary{
  background:#061b12;
  border-top-color:rgba(214,184,120,.22);
}

/* Match catalogue and product modal buttons to the approved hero wood button. */
.card-actions button:first-child,
.product-modal-copy [data-modal-add]{
  position:relative;
  overflow:hidden;
  color:#07140d !important;
  border-color:#c59d55 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -7px 14px rgba(92,52,20,.2),
    0 14px 30px rgba(0,0,0,.18);
}

.card-actions button:first-child::before,
.product-modal-copy [data-modal-add]::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

.card-actions button:first-child::after,
.product-modal-copy [data-modal-add]::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

.card-actions button:first-child:hover,
.product-modal-copy [data-modal-add]:hover{
  color:#06140f !important;
  border-color:#d6b878 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#edcf8d 0%,#d6ad68 46%,#bd8e47 100%) !important;
}

.card-actions button:first-child:hover::after,
.product-modal-copy [data-modal-add]:hover::after{
  transform:translateX(70%);
}

/* Keep modal close buttons anchored in the top-right corner. */
.modal .modal-close{
  position:absolute !important;
  right:24px !important;
  top:20px !important;
  width:56px;
  height:56px;
  margin:0 !important;
  padding:0;
  float:none !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(248,241,226,.9);
  font-size:0;
  line-height:1;
  overflow:visible;
  z-index:20;
}

.modal .modal-close::before,
.modal .modal-close::after{
  width:42px;
  height:1px;
  background:currentColor;
}

.modal .modal-close:hover{
  background:transparent !important;
  color:var(--gold);
  transform:rotate(90deg);
}

.drawer-header .close-button{
  position:relative !important;
  right:auto !important;
  top:auto !important;
  flex:0 0 56px;
}

/* Compact catalogue header and toolbar. */
.catalog-hero{
  min-height:318px;
  padding:40px 0;
  align-items:center;
}

.catalog-hero::before{
  width:500px;
  height:500px;
  right:-120px;
  top:-250px;
  box-shadow:
    0 0 0 56px rgba(214,184,120,.022),
    0 0 0 112px rgba(214,184,120,.014);
}

.catalog-hero .eyebrow{
  margin-bottom:14px;
}

.catalog-hero h1{
  font-size:clamp(52px,5.2vw,82px);
  line-height:.96;
  max-width:900px;
}

.catalog-hero p:last-child{
  margin-top:16px;
  font-size:14px;
}

.catalog-section{
  padding-top:38px;
}

.catalog-toolbar{
  margin-bottom:28px;
}

@media (max-width:860px){
  .catalog-hero{
    min-height:270px;
    padding:56px 0 40px;
  }

  .catalog-hero h1{
    font-size:48px;
  }

  .catalog-section{
    padding-top:30px;
  }
}

@media (max-width:590px){
  .catalog-hero{
    min-height:235px;
    padding:46px 0 34px;
  }

  .catalog-hero h1{
    font-size:40px;
  }

  .catalog-toolbar{
    gap:16px;
    margin-bottom:22px;
  }
}

/* Product detail page. */
.product-modal-actions{
  display:grid;
  grid-template-columns:1fr 145px;
  gap:10px;
}

.product-modal-actions .button{
  width:100%;
}

.product-modal-copy .button-ghost{
  border-color:rgba(214,184,120,.36);
  color:#f6efe1;
  background:rgba(255,255,255,.025);
}

.product-modal-copy .button-ghost:hover{
  border-color:rgba(214,184,120,.62);
  color:#06140f;
  background:#d6b878;
}

.product-page-hero{
  position:relative;
  overflow:hidden;
  min-height:610px;
  padding:78px 0 72px;
  color:#f7f1e4;
  background:
    radial-gradient(circle at 78% 35%,rgba(214,184,120,.14),transparent 34%),
    linear-gradient(120deg,#04160f 0%,#09291b 52%,#03110b 100%);
}

.product-page-hero::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-155px;
  top:-170px;
  border-radius:50%;
  border:1px solid rgba(214,184,120,.16);
  box-shadow:
    0 0 0 58px rgba(214,184,120,.03),
    0 0 0 116px rgba(214,184,120,.018);
}

.product-page-grid{
  position:relative;
  z-index:1;
  min-height:540px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,.78fr);
  gap:48px;
  align-items:stretch;
}

.product-page-copy h1{
  max-width:760px;
  margin:0;
  font-family:var(--sans);
  font-size:clamp(46px,4.8vw,74px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.055em;
}

.product-page-copy{
  align-self:center;
  padding-bottom:10px;
}

.product-page-lead{
  max-width:620px;
  margin:24px 0 0;
  color:rgba(247,241,228,.72);
  font-size:17px;
  line-height:1.7;
}

.product-page-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:720px;
  gap:1px;
  margin:34px 0 28px;
  border:1px solid rgba(214,184,120,.18);
  background:rgba(214,184,120,.12);
  clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));
}

.product-page-meta span{
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  padding:16px 18px;
  background:rgba(4,18,13,.82);
}

.product-page-meta small{
  color:#c49f5a;
  font-size:9px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.product-page-meta b{
  color:#fff8ea;
  font-size:13px;
  font-weight:500;
}

.product-page-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.product-page-visual{
  position:relative;
  height:clamp(520px,62vh,660px);
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  clip-path:polygon(0 16px,16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px));
  background:#07180f;
}

.product-page-visual-mobile{
  display:none;
}

.product-page-visual::before{
  content:none;
}

.product-page-visual .package-mockup{
  width:100%;
  height:100%;
  max-width:none;
  z-index:2;
  filter:none;
  transform:none;
}

.product-page-visual .package-mockup::after{
  content:none;
  display:none;
}

.product-page-visual .package-mockup img{
  width:100%;
  height:100%;
  max-width:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center center;
  border-radius:0;
}

.product-zoom{
  --zoom-size:174px;
  --zoom-bg-w:240%;
  --zoom-bg-h:240%;
  --zoom-pos-x:50%;
  --zoom-pos-y:50%;
  --zoom-left:50%;
  --zoom-top:50%;
  cursor:zoom-in;
}

.product-zoom::after{
  content:"";
  position:absolute;
  left:var(--zoom-left);
  top:var(--zoom-top);
  width:var(--zoom-size);
  height:var(--zoom-size);
  border-radius:50%;
  border:1px solid rgba(246,223,157,.86);
  background-image:
    radial-gradient(circle at center,transparent 0 58%,rgba(3,17,11,.12) 59% 100%),
    var(--zoom-image);
  background-repeat:no-repeat;
  background-size:var(--zoom-bg-w) var(--zoom-bg-h);
  background-position:var(--zoom-pos-x) var(--zoom-pos-y);
  box-shadow:
    0 20px 50px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.22),
    inset 0 0 26px rgba(0,0,0,.16);
  opacity:0;
  transform:translate(-50%,-50%) scale(.86);
  transition:opacity .18s ease, transform .18s ease;
  pointer-events:none;
  z-index:5;
}

.product-zoom:hover::after{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}

@media (hover:none), (pointer:coarse){
  .product-zoom{
    cursor:default;
  }

  .product-zoom::after{
    display:none;
  }
}

.product-page-number{
  position:absolute;
  right:14px;
  bottom:26px;
  color:rgba(214,184,120,.18);
  font-family:var(--sans);
  font-size:148px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.08em;
}

.product-detail-section{
  background:#06140f;
}

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

.product-detail-grid article{
  min-height:330px;
  padding:34px;
  color:#f7f1e4;
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.015)),
    #0b1f16;
  border:1px solid rgba(214,184,120,.18);
  clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));
}

.product-detail-grid h2{
  margin:0 0 18px;
  font-family:var(--sans);
  font-size:31px;
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.08;
}

.product-detail-grid p,
.product-detail-grid li,
.product-detail-grid dd{
  color:#c7d0c8;
  font-size:14px;
  line-height:1.72;
}

.product-detail-grid ol,
.product-detail-grid ul{
  margin:0;
  padding-left:19px;
}

.product-detail-grid li+li{
  margin-top:9px;
}

.product-detail-grid dl{
  display:grid;
  gap:0;
  margin:24px 0 0;
  border-top:1px solid rgba(214,184,120,.16);
}

.product-detail-grid dl div{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid rgba(214,184,120,.12);
}

.product-detail-grid dt{
  color:#c49f5a;
  font-size:10px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.product-detail-grid dd{
  margin:0;
}

@media (max-width:860px){
  .product-modal-actions{
    grid-template-columns:1fr;
  }

  .product-page-hero{
    min-height:0;
    padding:58px 0 52px;
  }

  .product-page-grid{
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
  }

  .product-page-copy h1{
    font-size:46px;
  }

  .product-page-meta{
    grid-template-columns:1fr;
  }

  .product-page-visual{
    height:clamp(420px,58vh,560px);
    min-height:0;
  }

  .product-page-visual-desktop{
    display:none;
  }

  .product-page-visual-mobile{
    display:grid;
    width:100%;
    height:430px;
    margin:24px 0 26px;
  }

  .product-page-visual .package-mockup{
    width:100%;
    height:100%;
  }

  .product-page-visual .package-mockup img{
    width:100%;
    height:100%;
    max-width:100%;
    object-fit:cover;
  }

  .product-detail-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:590px){
  .product-page-copy h1{
    font-size:36px;
  }

  .product-page-lead{
    font-size:14px;
    margin-top:16px;
  }

  .product-page-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .product-page-visual-mobile{
    height:360px;
    margin:20px 0 24px;
  }

  .product-detail-grid article{
    padding:25px 20px;
  }

  .product-detail-grid dl div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Unified inner page heroes: catalogue, about and contacts. */
.page-hero{
  min-height:318px;
  padding:40px 0;
  align-items:center;
}

.page-hero h1,
.catalog-hero h1{
  max-width:900px;
  font-family:var(--sans);
  font-size:clamp(54px,5.6vw,88px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.055em;
}

.page-hero p:last-child{
  max-width:650px;
  margin-top:16px;
  font-size:14px;
  line-height:1.55;
}

.contacts-hero{
  min-height:318px;
}

@media (max-width:860px){
  .page-hero{
    min-height:270px;
    padding:42px 0;
  }

  .page-hero h1,
  .catalog-hero h1{
    font-size:52px;
  }
}

@media (max-width:590px){
  .page-hero{
    min-height:235px;
    padding:34px 0;
  }

  .page-hero h1,
  .catalog-hero h1{
    font-size:42px;
  }
}

/* Catalogue filters: larger controls and wood active state. */
.filter-buttons{
  gap:10px;
}

.filter-buttons button{
  position:relative;
  min-width:74px;
  height:50px;
  padding:0 20px;
  overflow:hidden;
  border-color:rgba(214,184,120,.32);
  color:#f3f0e7;
  font-size:12px;
  font-weight:600;
}

.filter-buttons button.active{
  color:#07140d !important;
  border-color:#c59d55 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -7px 14px rgba(92,52,20,.2),
    0 12px 24px rgba(0,0,0,.18);
}

.filter-buttons button.active::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

.filter-buttons button.active::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

.filter-buttons button.active:hover::after{
  transform:translateX(70%);
}

.filter-buttons button:not(.active):hover{
  background:rgba(214,184,120,.08) !important;
  border-color:rgba(214,184,120,.52) !important;
  color:#fff8ea !important;
}

/* Readability pass: lift the tiny utility text across the shop. */
body{
  font-size:17px;
}

.announcement{
  font-size:10px;
}

.main-nav{
  font-size:12px;
}

.brand small{
  font-size:8px;
}

.eyebrow,
.text-link,
.hero-meta,
.catalog-note .container,
.footer-nav,
.footer-bottom{
  font-size:12px;
}

.button,
.card-actions button,
.filter-buttons button{
  font-size:11px;
}

.product-number,
.product-badge,
.drawer-header small,
.contact-list small,
label,
.form-modal legend{
  font-size:11px;
}

.product-notes,
.values-grid .value-copy p,
.process-grid p,
.cart-empty p,
.cart-summary>div,
.form-note,
.toast,
.radio-card b{
  font-size:13px;
}

.product-detail-grid p,
.product-detail-grid li,
.product-detail-grid dd,
.product-page-lead,
.about-grid>div:last-child p,
.origin-grid>div:last-child>p:not(.eyebrow),
.contact-list p,
.contact-form input,
.contact-form textarea,
.contact-form select,
.form-modal input,
.form-modal textarea,
.form-modal select{
  font-size:15px;
}

.cart-item p,
.cart-item-price button,
.radio-card small{
  font-size:12px;
}

.qty-control span,
.qty-control button{
  font-size:13px;
}

.product-facts div{
  font-size:12px;
}

.modal-heading>p:last-child,
.contact-modal-head p:last-child{
  font-size:14px;
}

@media (max-width:590px){
  body{
    font-size:16px;
  }

  .announcement{
    font-size:9.5px;
  }

  .product-notes{
    font-size:10px;
    height:auto;
  }

  .card-actions button{
    font-size:8.5px;
  }
}

/* Cart checkout button uses the same approved wooden treatment. */
#checkoutButton{
  position:relative;
  overflow:hidden;
  color:#07140d !important;
  border-color:#c59d55 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -7px 14px rgba(92,52,20,.2),
    0 14px 30px rgba(0,0,0,.18);
}

#checkoutButton::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

#checkoutButton::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

#checkoutButton:hover{
  color:#06140f !important;
  border-color:#d6b878 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#edcf8d 0%,#d6ad68 46%,#bd8e47 100%) !important;
}

#checkoutButton:hover::after{
  transform:translateX(70%);
}

/* Keep large supporting section titles readable in two lines on desktop. */
.contact-info h2{
  max-width:560px;
  font-size:clamp(50px,4.6vw,64px);
  line-height:1.07;
}

.origin-grid h2{
  max-width:760px;
  font-size:clamp(48px,4.5vw,66px);
  line-height:1.06;
}

.origin-grid>div:last-child{
  min-width:0;
}

@media (max-width:1150px){
  .contact-info h2,
  .origin-grid h2{
    max-width:680px;
    font-size:48px;
  }
}

@media (max-width:590px){
  .contact-info h2,
  .origin-grid h2{
    font-size:34px;
    line-height:1.12;
  }
}

/* Contact page CTA buttons share the wooden style. */
.contacts-section .contact-info .button,
.contacts-section .contact-form .button{
  position:relative;
  overflow:hidden;
  color:#07140d !important;
  border-color:#c59d55 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -7px 14px rgba(92,52,20,.2),
    0 14px 30px rgba(0,0,0,.18);
}

.contacts-section .contact-info .button::before,
.contacts-section .contact-form .button::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

.contacts-section .contact-info .button::after,
.contacts-section .contact-form .button::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

.contacts-section .contact-info .button:hover,
.contacts-section .contact-form .button:hover{
  color:#06140f !important;
  border-color:#d6b878 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#edcf8d 0%,#d6ad68 46%,#bd8e47 100%) !important;
}

.contacts-section .contact-info .button:hover::after,
.contacts-section .contact-form .button:hover::after{
  transform:translateX(70%);
}

/* Wholesale modal submit button uses the same wooden CTA style. */
#wholesaleForm button[type="submit"]{
  position:relative;
  overflow:hidden;
  color:#07140d !important;
  border-color:#c59d55 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -7px 14px rgba(92,52,20,.2),
    0 14px 30px rgba(0,0,0,.18);
}

#wholesaleForm button[type="submit"]::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

#wholesaleForm button[type="submit"]::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

#wholesaleForm button[type="submit"]:hover{
  color:#06140f !important;
  border-color:#d6b878 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#edcf8d 0%,#d6ad68 46%,#bd8e47 100%) !important;
}

#wholesaleForm button[type="submit"]:hover::after{
  transform:translateX(70%);
}

/* Force approved two-line section titles on desktop. */
@media (min-width:861px){
  .contacts-grid{
    grid-template-columns:.95fr 1.05fr;
    gap:78px;
  }

  .contact-info h2{
    max-width:none;
    font-size:clamp(44px,4.1vw,58px);
    line-height:1.08;
    white-space:nowrap;
  }

  .origin-grid{
    grid-template-columns:.92fr 1.08fr;
    gap:70px;
  }

  .origin-grid h2{
    max-width:none;
    font-size:clamp(42px,3.9vw,58px);
    line-height:1.08;
    white-space:nowrap;
  }
}

/* Product modal: keep action labels on one line. */
@media (min-width:861px){
  .product-modal{
    width:min(1040px,calc(100% - 42px));
  }

  .product-modal-content{
    grid-template-columns:.95fr 1.05fr;
  }

  .product-modal-actions{
    grid-template-columns:minmax(250px,1fr) 150px;
  }

  .product-modal-actions .button{
    white-space:nowrap;
  }
}

/* Lighter large page titles. */
.page-hero h1,
.catalog-hero h1,
.product-page-copy h1{
  font-weight:300;
  letter-spacing:-.04em;
}

@supports (font-variation-settings:normal){
  .page-hero h1,
  .catalog-hero h1,
  .product-page-copy h1{
    font-variation-settings:"wght" 320;
  }
}

/* Checkout modal polish: wood CTA, styled scrollbars and active choices. */
.modal,
.cart-items,
.cart-drawer{
  scrollbar-width:thin;
  scrollbar-color:rgba(214,184,120,.72) rgba(4,18,13,.55);
}

.modal::-webkit-scrollbar,
.cart-items::-webkit-scrollbar,
.cart-drawer::-webkit-scrollbar{
  width:10px;
}

.modal::-webkit-scrollbar-track,
.cart-items::-webkit-scrollbar-track,
.cart-drawer::-webkit-scrollbar-track{
  background:rgba(4,18,13,.72);
  border-left:1px solid rgba(214,184,120,.12);
}

.modal::-webkit-scrollbar-thumb,
.cart-items::-webkit-scrollbar-thumb,
.cart-drawer::-webkit-scrollbar-thumb{
  background:
    linear-gradient(180deg,#e3c27d 0%,#cfa764 48%,#9b6a32 100%);
  border:2px solid rgba(4,18,13,.72);
}

#checkoutForm button[type="submit"]{
  position:relative;
  overflow:hidden;
  color:#07140d !important;
  border-color:#c59d55 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#e3c27d 0%,#cfa764 46%,#b98743 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,246,204,.62),
    inset 0 -7px 14px rgba(92,52,20,.2),
    0 14px 30px rgba(0,0,0,.18);
}

#checkoutForm button[type="submit"]::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 60%,rgba(88,50,21,.22) 0 6%,transparent 7%),
    radial-gradient(ellipse at 73% 34%,rgba(255,238,181,.22) 0 8%,transparent 9%),
    repeating-linear-gradient(8deg,transparent 0 8px,rgba(94,56,24,.16) 9px 10px,transparent 11px 18px);
  mix-blend-mode:multiply;
  opacity:.45;
}

#checkoutForm button[type="submit"]::after{
  content:"";
  position:absolute;
  inset:-80% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,248,210,.45) 48%,transparent 58%);
  transform:translateX(-70%);
  transition:transform .75s ease;
}

#checkoutForm button[type="submit"]:hover{
  color:#06140f !important;
  border-color:#d6b878 !important;
  background:
    linear-gradient(90deg,rgba(82,48,20,.18) 0 1px,transparent 1px 9px,rgba(255,236,174,.14) 10px 11px,transparent 12px 22px),
    linear-gradient(180deg,#edcf8d 0%,#d6ad68 46%,#bd8e47 100%) !important;
}

#checkoutForm button[type="submit"]:hover::after{
  transform:translateX(70%);
}

.radio-card{
  position:relative;
  transition:border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
}

.radio-card:has(input:checked){
  border-color:rgba(214,184,120,.74) !important;
  background:
    linear-gradient(135deg,rgba(214,184,120,.18),rgba(214,184,120,.055)),
    rgba(6,24,16,.94) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,246,204,.12),
    0 14px 28px rgba(0,0,0,.18);
}

.radio-card:has(input:checked) b,
.radio-card:has(input:checked) strong{
  color:#fff8ea;
}

.product-wholesale-inline{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  margin-top:22px;
  padding:18px;
  border:1px solid rgba(214,184,120,.18);
  background:rgba(214,184,120,.055);
  clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));
}

.product-wholesale-inline b{
  display:block;
  color:#fff8ea;
  font-size:15px;
  font-weight:500;
}

.product-wholesale-inline span{
  display:block;
  margin-top:4px;
  color:#aeb8af;
  font-size:12px;
  line-height:1.45;
}

.product-wholesale-inline .button{
  min-height:40px;
  padding:0 16px;
  font-size:10px;
}

.hero-wholesale-inline{
  max-width:720px;
  margin-top:26px;
  padding:16px 0 0;
  background:transparent;
  border:0;
  border-top:1px solid rgba(214,184,120,.22);
  clip-path:none;
}

.hero-wholesale-inline .button{
  justify-self:end;
}

.product-page-nav{
  max-width:720px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:34px;
}

.product-page-nav button{
  min-height:66px;
  padding:16px 0;
  border:0;
  border-top:1px solid rgba(214,184,120,.22);
  color:#f7f1e4;
  background:transparent;
  text-align:left;
  clip-path:none;
  transition:border-color .22s ease, color .22s ease, transform .22s ease;
}

.product-page-nav button:last-child{
  text-align:right;
}

.product-page-nav span{
  display:block;
  color:#b99656;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.product-page-nav b{
  display:block;
  margin-top:7px;
  color:#fff8ea;
  font-size:15px;
  font-weight:400;
  line-height:1.2;
}

.product-page-nav button:hover{
  transform:translateY(-2px);
  border-color:rgba(214,184,120,.62);
  background:transparent;
}

@media (max-width:590px){
  .product-wholesale-inline{
    grid-template-columns:1fr;
    align-items:start;
  }

  .product-page-nav{
    grid-template-columns:1fr;
  }

  .product-page-nav button,
  .product-page-nav button:last-child{
    text-align:left;
  }
}

/* Product detail cards: calmer hierarchy and cleaner labels. */
.product-detail-grid article{
  padding:38px 36px;
}

.product-detail-grid article .eyebrow.dark{
  display:inline-flex;
  width:auto;
  max-width:100%;
  margin:0 0 18px;
  padding:0;
  border:0 !important;
  background:transparent !important;
  color:#b99656;
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  line-height:1.2;
}

.product-detail-grid h2{
  margin:0 0 22px;
  color:#fff8ea;
  font-size:30px;
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.035em;
}

.product-detail-grid p{
  max-width:620px;
}

.product-detail-grid article>p:not(.eyebrow){
  min-height:42px;
  margin:0 0 24px;
}

.product-detail-grid dl{
  margin-top:0;
}

.product-detail-grid dl div{
  grid-template-columns:170px minmax(0,1fr);
  padding:14px 0;
}

.product-detail-grid dt{
  color:#caa761;
  font-size:10.5px;
}

.product-detail-grid dd{
  color:#eef5ed;
}

.product-detail-grid ol,
.product-detail-grid ul{
  padding-left:0;
  list-style:none;
  counter-reset:detail-list;
}

.product-detail-grid ol li,
.product-detail-grid ul li{
  position:relative;
  padding-left:34px;
}

.product-detail-grid ol li{
  counter-increment:detail-list;
}

.product-detail-grid ol li::before{
  content:counter(detail-list);
  position:absolute;
  left:0;
  top:.12em;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:1px solid rgba(214,184,120,.42);
  color:#d6b878;
  font-size:11px;
  line-height:1;
}

.product-detail-grid ul li::before{
  content:"";
  position:absolute;
  left:6px;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d6b878;
  box-shadow:0 0 0 4px rgba(214,184,120,.08);
}

@media (max-width:590px){
  .product-detail-grid article{
    padding:28px 22px;
  }

  .product-detail-grid h2{
    font-size:27px;
  }

  .product-detail-grid dl div{
    grid-template-columns:1fr;
  }
}

/* Product detail tables: stronger alignment after adding package data. */
.product-detail-grid dl{
  width:100%;
}

.product-detail-grid dl div{
  grid-template-columns:minmax(180px,34%) minmax(0,1fr);
  column-gap:28px;
  align-items:start;
}

.product-detail-grid dt{
  white-space:normal;
  line-height:1.35;
}

.product-detail-grid dd{
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.45;
  font-variant-numeric:tabular-nums;
}

@media (max-width:1150px){
  .product-detail-grid dl div{
    grid-template-columns:minmax(160px,36%) minmax(0,1fr);
    column-gap:22px;
  }
}

/* Catalogue search: quiet, minimal and readable. */
.catalog-toolbar{
  align-items:center;
}

.search-box{
  width:min(330px,100%);
  height:46px;
  padding:0 2px;
  display:flex;
  align-items:center;
  gap:11px;
  border:0;
  border-bottom:1px solid rgba(214,184,120,.34);
  background:transparent;
  color:#d6b878;
  clip-path:none;
  transition:border-color .22s ease;
}

.search-box:focus-within{
  border-color:rgba(214,184,120,.72);
  background:transparent;
  box-shadow:none;
}

.search-box svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
  stroke:#d6b878;
  opacity:.75;
}

.search-box input{
  min-width:0;
  height:100%;
  color:#f7f1e4;
  font-size:15px;
  font-weight:400;
}

.search-box input::placeholder{
  color:rgba(247,241,228,.58);
}

@media (max-width:860px){
  .search-box{
    width:100%;
  }
}

/* Home story section with atmospheric background. */
.story-panel{
  position:relative;
  isolation:isolate;
  min-height:720px;
  padding:120px 0;
  background:#04170f url('/assets/story-bg.jpg?v=20260804-story-wood-bg') center center/cover no-repeat;
  color:#fff;
}

.story-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(1,13,8,.96) 0%,rgba(3,21,14,.86) 36%,rgba(3,21,14,.52) 62%,rgba(3,21,14,.72) 100%),
    linear-gradient(180deg,rgba(1,10,7,.24),rgba(1,10,7,.42));
}

.story-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-top:1px solid rgba(214,184,120,.14);
  border-bottom:1px solid rgba(214,184,120,.14);
}

.story-grid{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  min-height:520px;
  gap:72px;
}

.story-copy{
  max-width:640px;
}

.story-copy .eyebrow{
  color:#d6b878;
  margin-bottom:18px;
}

.story-copy h2{
  max-width:650px;
  font-size:clamp(52px,4.7vw,82px);
  line-height:1.03;
  letter-spacing:-.055em;
}

.story-copy>p:not(.eyebrow){
  max-width:620px;
  margin:28px 0 34px;
  color:rgba(247,241,228,.76);
  font-size:17px;
  line-height:1.75;
}

.story-visual{
  height:560px;
  justify-self:end;
  width:min(100%,660px);
}

.story-visual .wood-rings{
  width:min(520px,74%);
  height:auto;
  aspect-ratio:1;
  opacity:.92;
  filter:saturate(1.02) contrast(1.04);
}

.story-visual .story-package{
  width:210px;
}

.story-visual>p{
  right:20px;
  bottom:54px;
  color:rgba(247,241,228,.66);
}

.story-visual>p b{
  font-family:var(--sans);
  font-size:21px;
  font-weight:500;
}

@media (max-width:980px){
  .story-panel{
    min-height:0;
    padding:88px 0 70px;
    background-position:62% center;
  }

  .story-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .story-copy h2{
    font-size:clamp(42px,8vw,64px);
  }

  .story-visual{
    justify-self:center;
    width:100%;
    height:430px;
  }
}

@media (max-width:590px){
  .story-panel{
    padding:72px 0 58px;
  }

  .story-copy h2{
    font-size:38px;
  }

  .story-copy>p:not(.eyebrow){
    font-size:15px;
  }

  .story-visual{
    height:360px;
  }
}

@media (max-width:590px){
  .product-detail-grid dl div{
    grid-template-columns:1fr;
    row-gap:6px;
  }
}

/* Mobile home hero composition. */
@media (max-width:590px){
  .hero{
    height:auto;
    min-height:calc(100svh - 95px);
    max-height:none;
    background-position:66% top;
  }

  .hero:after{
    background:
      linear-gradient(180deg,rgba(1,10,7,.18) 0%,rgba(1,10,7,.46) 28%,rgba(1,10,7,.86) 47%,rgba(1,10,7,.84) 76%,rgba(1,10,7,.62) 100%),
      linear-gradient(90deg,rgba(1,12,8,.96) 0%,rgba(2,17,11,.78) 58%,rgba(2,17,11,.28) 100%);
  }

  .hero-backdrop{
    background:radial-gradient(circle at 18% 52%,rgba(78,112,82,.22),transparent 36%);
  }

  .hero-content{
    min-height:calc(100svh - 95px);
    height:auto;
    justify-content:flex-end;
    padding-top:190px;
    padding-bottom:42px;
  }

  .hero .eyebrow{
    max-width:360px;
    margin-bottom:14px;
    font-size:11px;
    line-height:1.55;
    letter-spacing:.2em;
  }

  .hero h1{
    max-width:405px;
    font-size:35px;
    line-height:1.14;
    letter-spacing:-.045em;
  }

  .hero h1 span{
    white-space:normal;
  }

  .hero-copy{
    max-width:398px;
    margin:18px 0 22px;
    font-size:14.5px;
    line-height:1.58;
    color:rgba(247,241,228,.82);
  }

  .hero-actions{
    width:100%;
    gap:10px;
  }

  .hero-actions .button{
    min-height:47px;
  }

  .hero-meta{
    width:100%;
    margin-top:30px;
    padding-top:16px;
    grid-template-columns:1fr 1fr;
    column-gap:12px;
    row-gap:12px;
  }

  .hero-meta span{
    min-width:0;
    padding-right:12px;
    margin-right:0;
    gap:8px;
    font-size:9px;
    line-height:1.35;
  }

  .hero-meta b{
    font-size:20px;
  }

}

@media (max-width:390px){
  .hero-content{
    padding-top:170px;
  }

  .hero h1{
    font-size:32px;
  }

  .hero-copy{
    font-size:13.5px;
  }
}

/* Mobile announcement must stay on one clean line. */
@media (max-width:590px){
  .announcement{
    height:28px;
    padding:0 8px;
    overflow:hidden;
  }

  .announcement span{
    max-width:100%;
    white-space:nowrap;
    font-size:8.6px;
    line-height:1;
    letter-spacing:.035em;
  }

  .announcement span::before,
  .announcement span::after{
    margin:0 6px;
  }
}

@media (max-width:390px){
  .announcement span{
    font-size:7.8px;
    letter-spacing:.02em;
  }

  .announcement span::before,
  .announcement span::after{
    margin:0 4px;
  }
}

/* Mobile hero: keep the content optically centered, not pinned to the bottom. */
@media (max-width:590px){
  .hero-content{
    justify-content:center;
    padding-top:0;
    padding-bottom:92px;
  }

  .hero .eyebrow{
    margin-bottom:13px;
  }

  .hero-copy{
    margin:17px 0 21px;
  }

  .hero-meta{
    margin-top:26px;
  }

  .announcement{
    white-space:nowrap;
  }

  .announcement span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
    white-space:nowrap;
    width:max-content;
    max-width:none;
    transform:scale(.92);
    transform-origin:center;
  }
}

@media (max-width:390px){
  .hero-content{
    padding-top:0;
    padding-bottom:82px;
  }

  .announcement span{
    transform:scale(.86);
  }
}

/* Mobile hero should be compact enough to show the next section sooner. */
@media (max-width:590px){
  .hero{
    min-height:620px;
  }

  .hero-content{
    min-height:620px;
    padding-bottom:48px;
  }
}

@media (max-width:390px){
  .hero{
    min-height:585px;
  }

  .hero-content{
    min-height:585px;
    padding-bottom:38px;
  }
}

/* Mobile navigation panel. */
.mobile-menu-info,
.mobile-menu-actions{
  display:none;
}

@media (max-width:860px){
  .site-header{
    z-index:75;
  }

  .menu-button{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(214,184,120,.28);
    border-radius:50%;
    color:#f7f1e4;
    clip-path:none;
    background:
      radial-gradient(circle at 50% 120%,rgba(214,184,120,.14),transparent 62%),
      rgba(3,22,14,.48);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
    transition:border-color .22s ease, background .22s ease;
  }

  .menu-button span{
    grid-area:1/1;
    width:18px;
    height:1px;
    margin:0;
    background:#d6b878;
    transform:translateY(-4px);
    transition:transform .24s ease, opacity .2s ease;
  }

  .menu-button span:nth-child(2){
    transform:translateY(4px);
  }

  .menu-button.is-open{
    border-color:rgba(214,184,120,.62);
    background:rgba(3,22,14,.74);
  }

  .menu-button.is-open span:first-child{
    transform:rotate(38deg);
  }

  .menu-button.is-open span:nth-child(2){
    transform:rotate(-38deg);
  }

  .main-nav{
    position:fixed;
    top:97px;
    left:12px;
    right:12px;
    z-index:70;
    max-height:calc(100dvh - 112px);
    overflow:auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:18px;
    color:#f7f1e4;
    background:
      radial-gradient(circle at 18% 0%,rgba(214,184,120,.1),transparent 32%),
      linear-gradient(180deg,rgba(9,35,24,.98),rgba(3,17,11,.98)),
      url('/assets/hero-bg.webp?v=20260804-hero-bg-webp') center top/cover no-repeat;
    border:1px solid rgba(214,184,120,.24);
    clip-path:polygon(0 16px,16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px));
    box-shadow:0 24px 60px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.035);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-14px);
    transition:opacity .24s ease, visibility .24s ease, transform .24s ease;
  }

  .main-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .main-nav a{
    width:100%;
    padding:15px 14px;
    border-radius:13px;
    border-bottom:1px solid rgba(214,184,120,.12);
    color:#f7f1e4;
    font-family:var(--sans);
    font-size:18px;
    font-weight:500;
    line-height:1.15;
    letter-spacing:.01em;
    text-transform:none;
  }

  .main-nav a::after{
    display:none;
  }

  .main-nav a.is-current{
    color:#d6b878;
    border-bottom-color:transparent;
    background:
      radial-gradient(ellipse at 50% 120%,rgba(214,184,120,.18),transparent 56%),
      rgba(1,14,9,.34);
    box-shadow:inset 0 1px 4px rgba(0,0,0,.55), inset 0 0 0 1px rgba(214,184,120,.12);
  }

  .mobile-menu-info{
    display:grid;
    gap:8px;
    margin:18px 0 14px;
  }

  .mobile-menu-info div{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:12px 14px;
    border-radius:13px;
    border:1px solid rgba(214,184,120,.14);
    background:rgba(1,14,9,.28);
    clip-path:none;
  }

  .mobile-menu-info span{
    color:#d6b878;
    font-size:9px;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .mobile-menu-info b{
    min-width:0;
    color:rgba(247,241,228,.88);
    font-size:13px;
    font-weight:400;
    line-height:1.35;
  }

  .mobile-menu-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .mobile-menu-actions .button{
    width:100%;
    min-height:46px;
    font-size:10px;
  }
}

@media (max-width:590px){
  .main-nav{
    top:95px;
    left:10px;
    right:10px;
    padding:16px;
  }

  .main-nav a{
    font-size:17px;
    padding:14px 12px;
  }

  .mobile-menu-info div{
    grid-template-columns:76px minmax(0,1fr);
    padding:11px 12px;
  }
}

/* Mood picker backgrounds. */
.scent-guide .mood-grid button{
  min-height:292px;
  padding:28px;
  isolation:isolate;
  background-color:#081b12;
  background-position:center center;
  background-size:cover;
  border:1px solid rgba(214,184,120,.12);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035), 0 18px 42px rgba(0,0,0,.18);
}

.scent-guide .mood-grid button:nth-child(1){
  background-image:url('/assets/moods/fresh-dewy-forest.webp?v=20260804-mood-bg');
}

.scent-guide .mood-grid button:nth-child(2){
  background-image:url('/assets/moods/woody-mossy-trunk.webp?v=20260804-mood-bg');
}

.scent-guide .mood-grid button:nth-child(3){
  background-image:url('/assets/moods/warm-golden-forest.webp?v=20260804-mood-bg');
}

.scent-guide .mood-grid button:nth-child(4){
  background-image:url('/assets/moods/dark-twilight-forest.webp?v=20260804-mood-bg');
}

.scent-guide .mood-grid button::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(1,12,8,.22) 0%,rgba(1,12,8,.5) 48%,rgba(1,12,8,.9) 100%),
    linear-gradient(90deg,rgba(1,12,8,.42),rgba(1,12,8,.08));
  box-shadow:none;
  transition:background .32s ease;
}

.scent-guide .mood-grid button::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:inherit;
  background-size:cover;
  background-position:center center;
  transform:scale(1);
  transition:transform .45s ease, filter .45s ease;
}

.scent-guide .mood-grid button:hover{
  transform:translateY(-4px);
  border-color:rgba(214,184,120,.36);
}

.scent-guide .mood-grid button:hover::before{
  background:
    linear-gradient(180deg,rgba(1,12,8,.12) 0%,rgba(1,12,8,.38) 48%,rgba(1,12,8,.86) 100%),
    radial-gradient(circle at 72% 24%,rgba(214,184,120,.2),transparent 36%);
}

.scent-guide .mood-grid button:hover::after{
  transform:scale(1.06);
  filter:saturate(1.08) contrast(1.04);
}

.scent-guide .mood-grid button span::before{
  content:"";
  position:absolute;
  left:-18px;
  right:-18px;
  bottom:-24px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(214,184,120,.86),rgba(136,178,118,.52),transparent);
  opacity:0;
  transform:scaleX(.3);
  transform-origin:center;
  transition:opacity .28s ease, transform .42s ease;
}

.scent-guide .mood-grid button span::after{
  content:"";
  position:absolute;
  left:20%;
  bottom:-34px;
  width:60%;
  height:34px;
  pointer-events:none;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(214,184,120,.28),rgba(136,178,118,.1) 42%,transparent 72%);
  filter:blur(11px);
  opacity:0;
  transform:translateY(8px);
  transition:opacity .32s ease, transform .42s ease;
}

.scent-guide .mood-grid small,
.scent-guide .mood-grid b,
.scent-guide .mood-grid span{
  position:relative;
  z-index:1;
}

.scent-guide .mood-grid small{
  position:absolute;
  top:22px;
  left:24px;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:24px;
  padding:0 10px;
  border:1px solid rgba(214,184,120,.28);
  border-radius:999px;
  background:rgba(1,14,9,.42);
  color:#d6b878;
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.12em;
}

.scent-guide .mood-grid b{
  font-family:var(--sans);
  font-size:30px;
  font-weight:500;
  line-height:1.05;
}

.scent-guide .mood-grid span{
  max-width:220px;
  margin-top:8px;
  color:rgba(247,241,228,.76);
  font-size:12px;
  line-height:1.45;
}

.scent-guide .mood-grid button:hover{
  box-shadow:
    0 18px 48px rgba(0,0,0,.26),
    0 20px 44px rgba(214,184,120,.08),
    inset 0 0 0 1px rgba(214,184,120,.32);
}

.scent-guide .mood-grid button:hover span::before{
  opacity:1;
  transform:scaleX(1);
}

.scent-guide .mood-grid button:hover span::after{
  opacity:1;
  transform:translateY(0);
}

.scent-guide .mood-grid button:hover small{
  border-color:rgba(214,184,120,.62);
  box-shadow:0 0 22px rgba(214,184,120,.18);
}

@media (max-width:860px){
  .scent-guide .mood-grid button{
    min-height:240px;
  }
}

@media (max-width:590px){
  .scent-guide .mood-grid button{
    min-height:205px;
    padding:24px;
  }

  .scent-guide .mood-grid b{
    font-size:26px;
  }
}

/* Wholesale banner title: two lines on desktop. */
.wholesale-banner h2 span{
  display:block;
  white-space:nowrap;
}

.wholesale-banner .wholesale-inner{
  grid-template-columns:minmax(0,1fr) minmax(300px,360px);
  gap:clamp(44px,6vw,90px);
}

.wholesale-banner h2{
  max-width:920px;
  font-size:clamp(46px,4.4vw,68px);
}

.wholesale-inner>div:last-child{
  justify-self:end;
  max-width:360px;
}

.wholesale-inner>div:last-child p{
  max-width:330px;
}

@media (max-width:860px){
  .wholesale-banner .wholesale-inner{
    grid-template-columns:1fr;
  }

  .wholesale-inner>div:last-child{
    justify-self:start;
    max-width:520px;
  }

  .wholesale-banner h2 span{
    white-space:normal;
  }
}

/* Footer CTA: compact, not a large empty card. */
.site-footer .footer-top{
  grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);
}

.site-footer .footer-cta{
  justify-self:end;
  width:min(100%,330px);
  text-align:left;
  padding:0;
  border:0;
  background:transparent;
}

.site-footer .footer-cta span{
  display:block;
  margin-bottom:8px;
  color:rgba(214,184,120,.72);
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.site-footer .footer-cta p{
  max-width:300px;
  margin:0 0 14px;
  color:rgba(247,241,228,.52);
  font-size:13px;
  line-height:1.55;
}

.site-footer .footer-cta button{
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(214,184,120,.45);
  font-family:var(--sans);
  font-size:10px;
  line-height:1;
}

@media (max-width:860px){
  .site-footer .footer-top{
    grid-template-columns:1fr;
  }

  .site-footer .footer-cta{
    justify-self:center;
    text-align:center;
  }

  .site-footer .footer-cta p{
    margin-left:auto;
    margin-right:auto;
  }
}

/* Mobile catalogue filters: keep all pills reachable inside viewport. */
@media (max-width:590px){
  .catalog-section .container{
    width:100%;
  }

  .catalog-toolbar{
    width:100%;
    gap:18px;
    overflow:hidden;
  }

  .filter-buttons{
    width:100%;
    max-width:100vw;
    display:flex;
    flex-wrap:nowrap;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 14px 10px;
    scroll-padding:14px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .filter-buttons::-webkit-scrollbar{
    display:none;
  }

  .filter-buttons button{
    flex:0 0 auto;
    min-width:auto;
    height:46px;
    padding:0 18px;
    scroll-snap-align:start;
  }

  .search-box{
    width:calc(100% - 28px);
    margin:0 auto;
  }

  .catalog-grid{
    width:calc(100% - 28px);
    margin:0 auto;
  }
}

.product-card.is-unavailable{
  opacity:.58;
}

.product-card.is-unavailable .product-image{
  filter:saturate(.55);
}

.product-card.is-unavailable .card-actions button:first-child{
  cursor:not-allowed;
  opacity:.7;
}

/* Story background fix: let the supplied forest image actually read. */
.story-panel{
  background-image:url('/assets/story-bg.jpg?v=20260804-story-wood-visible');
  background-position:center center;
  background-size:cover;
}

.story-panel::before{
  z-index:0;
  background:
    linear-gradient(90deg,rgba(1,12,8,.88) 0%,rgba(2,17,11,.62) 38%,rgba(2,17,11,.18) 62%,rgba(2,17,11,.06) 100%),
    linear-gradient(180deg,rgba(1,10,7,.06),rgba(1,10,7,.24));
}

.story-panel::after{
  z-index:0;
}

.story-panel .story-grid{
  z-index:1;
}

.story-panel .story-visual{
  display:none;
}

.story-panel .story-copy{
  padding:30px 0;
}

@media (max-width:980px){
  .story-panel{
    background-position:58% center;
  }
}

@media (max-width:590px){
  .story-panel{
    background-position:62% center;
  }
}

/* Rebuilt story section: real image layer, no old package mockup. */
.story-remade{
  position:relative;
  min-height:720px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:#02140d;
  color:#fff;
}

.story-remade::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(1,13,8,.95) 0%,rgba(1,13,8,.82) 28%,rgba(1,13,8,.42) 50%,rgba(1,13,8,.08) 72%,rgba(1,13,8,.02) 100%),
    linear-gradient(180deg,rgba(1,13,8,.14),rgba(1,13,8,.34));
}

.story-remade::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  border-top:1px solid rgba(214,184,120,.14);
  border-bottom:1px solid rgba(214,184,120,.14);
}

.story-bg-media{
  position:absolute;
  inset:0;
  z-index:0;
}

.story-bg-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transition:transform .9s ease, filter .9s ease;
}

.story-remade-inner{
  position:relative;
  z-index:3;
  min-height:720px;
  display:flex;
  align-items:center;
}

.story-remade .story-copy{
  max-width:860px;
  padding:82px 0;
}

.story-remade .story-copy .eyebrow{
  margin-bottom:18px;
  color:#d6b878;
}

.story-remade .story-copy h2{
  max-width:860px;
  font-size:clamp(48px,3.35vw,64px);
  line-height:1.02;
  letter-spacing:-.055em;
}

.story-remade .story-copy h2 span{
  display:block;
  white-space:nowrap;
}

.story-aroma-effect{
  position:absolute;
  right:5%;
  top:14%;
  z-index:3;
  width:min(44vw,660px);
  height:70%;
  pointer-events:none;
  opacity:.18;
  transition:opacity .5s ease;
}

.story-aroma-effect::before{
  content:"";
  position:absolute;
  inset:8% 2% 10% 18%;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(214,184,120,.2),transparent 26%),
    radial-gradient(circle at 42% 48%,rgba(129,167,110,.16),transparent 44%);
  filter:blur(18px);
  transform:scale(.92);
  transition:transform .8s ease, opacity .8s ease;
  opacity:.7;
}

.story-aroma-effect span{
  position:absolute;
  right:18%;
  top:50%;
  width:46%;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(214,184,120,.7),rgba(240,230,194,.22),transparent);
  transform-origin:right center;
  opacity:0;
  filter:blur(.2px);
}

.story-aroma-effect span:nth-child(1){
  transform:translateY(-72px) rotate(-22deg) scaleX(.62);
}

.story-aroma-effect span:nth-child(2){
  transform:translateY(-22px) rotate(-10deg) scaleX(.74);
}

.story-aroma-effect span:nth-child(3){
  transform:translateY(34px) rotate(10deg) scaleX(.68);
}

.story-aroma-effect span:nth-child(4){
  transform:translateY(88px) rotate(22deg) scaleX(.52);
}

.story-remade:hover .story-bg-media img{
  transform:scale(1.035);
  filter:saturate(1.08) contrast(1.04);
}

.story-remade:hover .story-aroma-effect{
  opacity:1;
}

.story-remade:hover .story-aroma-effect::before{
  opacity:1;
  transform:scale(1.05);
}

.story-remade:hover .story-aroma-effect span{
  animation:aromaTrail 2.8s ease-in-out infinite;
}

.story-remade:hover .story-aroma-effect span:nth-child(2){
  animation-delay:.18s;
}

.story-remade:hover .story-aroma-effect span:nth-child(3){
  animation-delay:.36s;
}

.story-remade:hover .story-aroma-effect span:nth-child(4){
  animation-delay:.54s;
}

@keyframes aromaTrail{
  0%,100%{opacity:0;translate:0 0}
  18%{opacity:.24}
  52%{opacity:.75;translate:-16px -3px}
  82%{opacity:.12;translate:-38px -7px}
}

.story-remade .story-copy>p:not(.eyebrow){
  max-width:590px;
  margin:28px 0 28px;
  color:rgba(247,241,228,.78);
  font-size:17px;
  line-height:1.75;
}

.story-remade-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,220px));
  gap:12px;
  margin:0 0 30px;
}

.story-remade-meta span{
  min-height:62px;
  padding:13px 15px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(214,184,120,.18);
  border-radius:12px;
  background:rgba(1,14,9,.36);
  color:rgba(247,241,228,.7);
  font-size:11px;
  line-height:1.35;
}

.story-remade-meta b{
  margin-bottom:3px;
  color:#d6b878;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.story-remade .button-light{
  background:rgba(247,241,228,.94);
  color:#07150f;
  border-color:rgba(247,241,228,.94);
}

@media (max-width:980px){
  .story-remade,
  .story-remade-inner{
    min-height:650px;
  }

  .story-bg-media img{
    object-position:58% center;
  }

  .story-remade::before{
    background:
      linear-gradient(90deg,rgba(1,13,8,.96) 0%,rgba(1,13,8,.78) 48%,rgba(1,13,8,.28) 100%),
      linear-gradient(180deg,rgba(1,13,8,.12),rgba(1,13,8,.44));
  }

  .story-remade .story-copy{
    max-width:690px;
  }

  .story-remade .story-copy h2{
    max-width:680px;
    font-size:clamp(42px,8vw,64px);
  }

  .story-remade .story-copy h2 span{
    white-space:normal;
  }

  .story-aroma-effect{
    right:0;
    width:58vw;
    opacity:.42;
  }
}

@media (max-width:590px){
  .story-remade,
  .story-remade-inner{
    min-height:620px;
  }

  .story-bg-media img{
    object-position:64% center;
  }

  .story-remade{
    padding:0;
  }

  .story-remade-inner{
    align-items:flex-end;
  }

  .story-remade .story-copy{
    padding:80px 0 52px;
  }

  .story-remade .story-copy h2{
    font-size:38px;
    line-height:1.1;
  }

  .story-aroma-effect{
    display:none;
  }

  .story-remade .story-copy>p:not(.eyebrow){
    font-size:15px;
    line-height:1.6;
  }

  .story-remade-meta{
    grid-template-columns:1fr;
    gap:8px;
  }
}
/* Mobile language switch and full product images. */
.mobile-lang-switch{
  display:none;
}

@media (max-width:860px){
  .site-header .lang-switch{
    display:flex !important;
    height:40px;
    padding:4px;
    gap:2px;
  }

  .site-header .lang-switch button{
    width:32px;
    height:30px;
    font-size:10px;
  }

  .mobile-lang-switch{
    display:flex;
    gap:6px;
    padding:12px 0 16px;
    border-bottom:1px solid rgba(214,184,120,.12);
  }

  .mobile-lang-switch button{
    width:54px;
    height:38px;
    border:1px solid rgba(214,184,120,.26);
    border-radius:999px;
    background:rgba(1,14,9,.22);
    color:rgba(247,241,228,.74);
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
  }

  .mobile-lang-switch button.active{
    color:#07150f;
    background:var(--gold);
    border-color:var(--gold);
  }

  .product-modal-content{
    grid-template-columns:1fr;
    min-height:0;
  }

  .product-modal-visual{
    min-height:0;
    height:min(52vh,430px);
    padding:22px;
    overflow:hidden;
  }

  .product-modal-visual .package-mockup{
    width:auto;
    height:100%;
    max-width:82%;
    max-height:100%;
    display:grid;
    place-items:center;
  }

  .product-modal-visual .package-mockup img,
  .product-page-visual .package-mockup img{
    width:auto;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center center;
  }

  .product-page-visual-mobile{
    height:min(58vh,460px);
    min-height:320px;
    padding:18px;
    background:#07180f;
  }

  .product-page-visual .package-mockup{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
  }
}

@media (max-width:590px){
  .site-header .header-actions{
    gap:6px;
  }

  .site-header .contact-toggle{
    display:none;
  }

  .product-modal-visual{
    height:360px;
    padding:18px;
  }

  .product-modal-visual .package-mockup{
    max-width:86%;
  }

  .product-page-visual-mobile{
    height:390px;
    min-height:340px;
    margin:18px 0 22px;
    padding:16px;
  }
}

@media (max-width:390px){
  .site-header .lang-switch{
    height:36px;
    padding:3px;
  }

  .site-header .lang-switch button{
    width:29px;
    height:28px;
    font-size:9px;
  }

  .product-modal-visual{
    height:330px;
  }

  .product-page-visual-mobile{
    height:350px;
    min-height:320px;
  }
}

/* Mobile catalog cards: stable row height even when names wrap. */
@media (max-width:590px){
  .product-grid,
  .catalog-grid{
    align-items:stretch;
  }

  .product-card{
    height:100%;
    display:flex;
    flex-direction:column;
  }

  .product-card .product-image,
  .product-card.has-composed-scene .product-image,
  .product-card:not(.has-composed-scene) .product-image{
    height:250px;
    flex:0 0 250px;
  }

  .product-card .product-info{
    min-height:166px;
    display:flex;
    flex-direction:column;
    padding:15px 11px 12px;
  }

  .product-title-row{
    min-height:48px;
    align-items:flex-start;
    gap:8px;
  }

  .product-title{
    min-width:0;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:17px;
    line-height:1.2;
  }

  .product-price{
    flex:0 0 auto;
    font-size:18px;
    line-height:1.2;
    padding-top:2px;
  }

  .product-notes{
    height:30px;
    min-height:30px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin:7px 0 10px;
    font-size:9.5px;
    line-height:1.45;
  }

  .card-actions{
    margin-top:auto;
  }

  .card-actions button{
    height:39px;
  }
}

@media (max-width:390px){
  .product-card .product-image,
  .product-card.has-composed-scene .product-image,
  .product-card:not(.has-composed-scene) .product-image{
    height:225px;
    flex-basis:225px;
  }

  .product-card .product-info{
    min-height:164px;
  }

  .product-title{
    font-size:16px;
  }
}

/* Contact page: phone, messengers and social links. */
.contacts-section .contact-list{
  margin:34px 0 22px;
}

.contacts-section .contact-list>div{
  border-bottom-color:rgba(214,184,120,.16);
}

.contacts-section .contact-list p a{
  color:#fff8ea;
  text-decoration:none;
  transition:color .22s ease, border-color .22s ease;
}

.contacts-section .contact-list p a:hover{
  color:#d6b878;
}

.contact-channels{
  display:grid;
  gap:12px;
  margin:0 0 24px;
}

.contact-channel-group{
  padding:16px;
  border:1px solid rgba(214,184,120,.18);
  background:
    linear-gradient(135deg,rgba(214,184,120,.12),rgba(255,248,234,.035) 42%,rgba(3,23,15,.58)),
    rgba(3,17,12,.68);
  box-shadow:inset 0 1px 0 rgba(255,248,234,.05);
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}

.contact-channel-group>span{
  display:block;
  margin:0 0 10px;
  color:#d6b878;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.contact-channel-group>div{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.contact-channel-group a{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:11px 12px;
  border:1px solid rgba(214,184,120,.26);
  background:rgba(214,184,120,.055);
  color:#f2dfad;
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.contact-channel-group a:hover{
  transform:translateY(-1px);
  border-color:rgba(214,184,120,.68);
  background:linear-gradient(135deg,#7a4a20 0%,#c39655 48%,#5a3519 100%);
  color:#fff8ea;
  box-shadow:0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,248,234,.18);
}

@media (max-width:590px){
  .contact-channel-group{
    padding:14px;
  }

  .contact-channel-group>div{
    grid-template-columns:1fr;
  }
}

/* Mobile product modal: keep the full product artwork visible. */
@media (max-width:590px){
  .product-modal{
    width:calc(100% - 16px);
  }

  .product-modal-content{
    grid-template-columns:1fr;
  }

  .product-modal-visual{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1.05 / 1;
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:10px !important;
    background:#07180f !important;
  }

  .product-modal-visual .package-mockup{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    display:block !important;
  }

  .product-modal-visual .package-mockup img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block;
    background:#07180f;
  }
}

@media (max-width:390px){
  .product-modal-visual{
    aspect-ratio:1 / .92;
  }
}

/* Mobile product modal: full-width artwork without cropping. */
@media (max-width:590px){
  .product-modal-visual{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    background:#07180f !important;
  }

  .product-modal-visual .package-mockup{
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    display:block !important;
  }

  .product-modal-visual .package-mockup img{
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    display:block;
  }
}
