/* assets/site.css */
:root{--ink:#253d30;--muted:#6d7b70;--green:#365f43;--sage:#dce9d0;--lime:#ecf3d8;--cream:#f8f8f1;--paper:#fff;--line:#e4e9df;--wood:#bd8e5b}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#dcebd7}
body{margin:0;background:#dcebd7;color:var(--ink);font-family:Arial,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
main{background:var(--cream)}
button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.container{width:min(1200px,calc(100% - 64px));margin:auto}
.skip-link{position:absolute;z-index:100;top:-60px;left:12px;background:white;padding:12px}.skip-link:focus{top:12px}
.announcement{padding:8px 20px;background:#dfeccf;color:#49654d;text-align:center;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.announcement span{margin:0 13px;font-size:12px}
.site-header{background:rgba(250,251,246,.95);position:sticky;top:0;z-index:30;border-bottom:1px solid #e5eadf;backdrop-filter:blur(16px)}
.header-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:9px;line-height:1;white-space:nowrap}
.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e0ecd5;color:#4b754e;font-size:27px}
.brand strong{display:block;font-size:21px;font-weight:900;letter-spacing:-.075em}
.brand small{display:block;margin-top:5px;font-size:8px;letter-spacing:.12em;font-weight:600;color:#8aa086}
.main-nav{display:flex;align-items:center;gap:34px}
.main-nav a{font-size:12px;font-weight:700;color:#4d6152;transition:color .2s}.main-nav a:hover{color:#5d995f}
.header-actions{display:flex;align-items:center;gap:10px}
.cart-trigger{position:relative;border:1px solid #d8e3d3;border-radius:100px;background:#fff;color:#375641;display:flex;align-items:center;gap:9px;padding:10px 14px;font-size:11px;font-weight:700}
.cart-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.cart-count{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#58845a;color:#fff;font-size:9px}
.menu-toggle{display:none;border:1px solid #d8e3d3;background:#fff;border-radius:8px;width:39px;height:39px;padding:10px;flex-direction:column;justify-content:center;gap:4px}
.menu-toggle span{height:1px;width:100%;background:#385940}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#6d956a;font-size:10px;font-weight:800;letter-spacing:.17em}
.eyebrow i{display:block;width:20px;height:1px;background:currentColor}
h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 34%,#e6f0d9 0,#f4f7e8 28%,transparent 58%),linear-gradient(110deg,#fbfbf6 0%,#f2f6e8 100%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;min-height:660px;align-items:center;gap:55px;padding:54px 0 30px}
.hero-copy{position:relative;z-index:2;max-width:600px}
.hero h1{font-size:clamp(49px,5vw,76px);line-height:1.11;margin:25px 0 22px;font-weight:700}
.hero h1 em{color:#719a69}
.hero-copy>p{max-width:520px;color:#66766a;line-height:1.85;font-size:15px}
.hero-buttons{display:flex;align-items:center;gap:28px;margin-top:31px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:49px;border-radius:3px;padding:0 19px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:#386344;border:1px solid #386344;color:#fff}.button-primary:hover{background:#2b5336}
.button-outline{border:1px solid #6f8c72;color:#33583d;background:transparent}
.button-text{display:inline-flex;align-items:center;gap:19px;font-size:12px;font-weight:700;border-bottom:1px solid #8da98d;padding:0 0 7px;color:#365a3e}
.hero-proof{display:flex;gap:28px;margin-top:61px;color:#5d705e;font-size:11px;line-height:1.5}
.hero-proof div{display:flex;gap:10px;align-items:flex-start}
.hero-proof div+div{border-left:1px solid #cdddc8;padding-left:28px}
.hero-proof span{color:#76a273;font-size:20px;line-height:1}
.hero-art{position:relative;height:560px;display:grid;place-items:center}
.hero-art-circle{position:absolute;width:500px;height:500px;border-radius:50%;background:#e1edd7;top:25px;left:30px}
.hero-product{position:relative;z-index:2;width:min(470px,95%);background:#fff;border:9px solid rgba(255,255,255,.98);border-radius:240px 240px 8px 8px;overflow:hidden;box-shadow:0 25px 45px rgba(84,110,75,.12)}
.hero-product img{width:100%;height:auto;aspect-ratio:1.17;object-fit:cover;object-position:center 52%}
.hero-product-tag{position:absolute;z-index:1;top:24px;left:25px;background:#e6efd7;padding:9px 11px;font-size:9px;font-weight:800;letter-spacing:.13em;color:#537054}
.hero-product-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;background:#fff;font-size:11px}
.hero-product-caption strong{font-size:16px;letter-spacing:-.04em}
.hero-product-caption span{color:#7d8e78}
.art-leaf,.hero-leaf{position:absolute;border:2px solid rgba(99,150,93,.17);border-radius:0 90% 0 90%;pointer-events:none;animation:sway 8s ease-in-out infinite alternate}
.art-leaf{width:110px;height:170px;z-index:1}.art-leaf.one{left:0;top:20px;transform:rotate(-25deg)}.art-leaf.two{right:-25px;bottom:5px;transform:rotate(130deg);animation-delay:2s}
.hero-leaf{width:160px;height:220px}.hero-leaf.leaf-a{left:-90px;top:140px}.hero-leaf.leaf-b{right:-90px;bottom:0;transform:rotate(120deg)}
.hero-spark{position:absolute;z-index:3;color:#86ac7d}.hero-spark.s1{font-size:42px;left:0;bottom:110px}.hero-spark.s2{font-size:38px;right:-8px;top:76px}
@keyframes sway{to{margin-top:-13px}}
.hero-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid #dfe8d8;font-size:9px;color:#8aa087;font-weight:700;letter-spacing:.16em}
.benefits{background:#e7efdc;padding:43px 0}
.benefits-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:27px;align-items:start}
.benefits-intro h2{font-size:30px;line-height:1.25;margin:13px 0 0}.benefits-intro h2 em{color:#6e9868}
.benefit{border-left:1px solid #cbdac4;padding-left:18px}.benefit>span{color:#8aad7d;font-size:10px;font-weight:800}.benefit h3{font-size:15px;margin:12px 0 7px}.benefit p{font-size:11px;color:#738371;line-height:1.65;margin:0}
.section-space{padding:94px 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}
.section-heading h2,.assembly-copy h2,.story-copy h2{font-size:clamp(37px,3.7vw,53px);line-height:1.18;margin:12px 0 0}
.section-heading h2 em,.assembly-copy h2 em,.story-copy h2 em{color:#7da174}
.section-heading>p{max-width:330px;margin:0 0 3px;color:#758176;font-size:13px;line-height:1.7}
.shop-section{background:#fbfcf7}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.filter-list{display:flex;flex-wrap:wrap;gap:8px}
.filter{border:1px solid #d8e3d5;background:#fff;color:#5e7661;border-radius:100px;padding:10px 17px;font-size:11px;font-weight:700}
.filter:hover,.filter.active{background:#3d6a47;color:#fff;border-color:#3d6a47}
.result-count{color:#829282;font-size:11px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.product-card{min-width:0;background:#fff;border:1px solid #edf0e9;border-radius:8px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.product-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(49,87,50,.09)}
.product-card[hidden]{display:none}
.product-image-button{display:block;position:relative;width:100%;border:0;padding:0;background:#f8f8f5;text-align:left;overflow:hidden}
.product-image-button img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .35s}.product-card:hover .product-image-button img{transform:scale(1.035)}
.product-badge{position:absolute;left:12px;top:12px;background:#e9f2dc;color:#5b8057;border-radius:100px;padding:7px 10px;font-size:9px;font-weight:800}
.product-info{padding:16px}
.product-category{font-size:9px;color:#85a17e;letter-spacing:.15em;font-weight:800}
.product-info h3{font-size:17px;line-height:1.3;margin:8px 0 6px}
.product-info h3 button{border:0;background:none;color:inherit;padding:0;text-align:left;font-weight:700}
.product-info p{min-height:38px;margin:0 0 12px;color:#869187;font-size:11px;line-height:1.55}
.product-purchase{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eef1eb;padding-top:13px}
.product-purchase strong{font-size:14px;color:#416f47;white-space:nowrap}
.add-button{border:0;background:#edf4e6;color:#3f6d46;border-radius:3px;padding:9px 10px;font-size:10px;font-weight:800;white-space:nowrap}.add-button:hover{background:#dcebcf}.add-button span{font-size:14px;margin-left:4px}
.demo-note{margin:20px 0 0;color:#9ba59b;font-size:10px}
.assembly-section{background:#eff4e7}
.assembly-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}
.assembly-copy p{max-width:430px;color:#718172;font-size:14px;line-height:1.8;margin:24px 0 28px}
.assembly-steps{background:#fff;border-radius:8px;padding:12px 30px;box-shadow:0 16px 36px rgba(67,104,64,.05)}
.assembly-step{display:grid;grid-template-columns:32px 62px 1fr;align-items:center;gap:14px;padding:22px 0}.assembly-step+.assembly-step{border-top:1px solid #e7ece4}
.assembly-step>span{font-size:10px;color:#85a581;font-weight:800}
.step-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#edf4e3;color:#6f995f;font-size:32px;font-style:normal}
.assembly-step h3{font-size:16px;margin:0 0 4px}.assembly-step p{font-size:11px;line-height:1.55;color:#829083;margin:0}
.story-section{background:#fff;padding:95px 0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}
.story-picture{position:relative;background:#f5f7f0;border-radius:48% 48% 4px 4px;overflow:visible}
.story-picture img{width:100%;height:auto;aspect-ratio:1.1;object-fit:cover;border-radius:48% 48% 4px 4px}
.story-sticker{position:absolute;right:-30px;bottom:-26px;width:150px;height:150px;border-radius:50%;background:#dbe9ca;color:#4c704b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:700;transform:rotate(8deg)}
.story-sticker em{font-size:22px}
.story-copy p{color:#718174;line-height:1.8;font-size:14px}.story-copy p:first-of-type{margin-top:25px}.story-copy .button-text{margin-top:12px}
.site-footer{background:#e8efdf;padding:50px 0 20px}
.footer-top{display:flex;justify-content:space-between;gap:40px}.site-footer p{color:#7d8e7a;font-size:12px;margin:17px 0 0}
.footer-links{display:flex;gap:25px;align-items:start;color:#557358;font-size:12px;font-weight:700}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d2ddcd;margin-top:48px;padding-top:20px;color:#91a18d;font-size:10px}
.cart-overlay{position:fixed;z-index:45;inset:0;background:rgba(27,47,32,.4);backdrop-filter:blur(2px)}.cart-overlay[hidden]{display:none}
.cart-drawer{position:fixed;z-index:46;right:0;top:0;bottom:0;width:min(430px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(102%);transition:transform .3s;box-shadow:-20px 0 50px rgba(33,54,35,.14)}.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:start;padding:25px;border-bottom:1px solid var(--line)}.cart-head h2{margin:9px 0 0;font-size:28px}.icon-close{border:0;background:#eef4e8;color:#3e6345;border-radius:50%;font-size:23px;width:34px;height:34px;line-height:1}
.cart-items{flex:1;overflow:auto;padding:10px 25px}.cart-empty{text-align:center;padding:70px 20px;color:#829082}.cart-empty i{display:block;font-size:40px;color:#a8c39d;font-style:normal;margin-bottom:18px}.cart-empty strong{display:block;color:#496d4d;margin-bottom:7px}
.cart-item{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-item img{width:76px;height:76px;object-fit:cover;border-radius:5px;background:#f8f8f5}.cart-item h3{font-size:14px;margin:2px 0 7px}.cart-item strong{font-size:12px;color:#4d794f}.cart-item-actions{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.mini-qty{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:3px}.mini-qty button{border:0;background:none;width:24px;height:23px;color:#56745a}.mini-qty span{font-size:11px}.remove-item{border:0;background:none;text-decoration:underline;color:#9ba79a;font-size:10px;padding:0}
.cart-foot{border-top:1px solid var(--line);padding:24px}.cart-subtotal{display:flex;justify-content:space-between;align-items:center;font-size:14px}.cart-subtotal strong{font-size:18px;color:#3d7044}.cart-foot p{color:#92a092;font-size:10px;line-height:1.5;margin:13px 0 20px}.cart-continue{width:100%}
.product-dialog{border:0;padding:0;width:min(850px,calc(100% - 30px));max-height:min(90vh,850px);background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(20,40,25,.2);border-radius:8px;overflow:auto}.product-dialog::backdrop{background:rgba(22,43,27,.55);backdrop-filter:blur(3px)}.product-dialog[open]{display:grid;grid-template-columns:1fr 1fr}.dialog-close{position:absolute;top:13px;right:13px;z-index:2}.dialog-photo{background:#f7f8f3}.dialog-photo img{width:100%;height:100%;object-fit:cover}.dialog-details{padding:44px 34px}.dialog-details h2{font-size:34px;line-height:1.15;margin:16px 0}.dialog-details p,.dialog-details li{color:#728072;font-size:12px;line-height:1.7}.dialog-details ul{padding-left:18px;margin:20px 0}.dialog-price{display:block;color:#42744a;font-size:22px;margin:25px 0}.dialog-actions{display:flex;gap:10px}.qty-control{display:flex;align-items:center;border:1px solid var(--line)}.qty-control button{width:35px;height:46px;border:0;background:#fff;color:#517257;font-size:17px}.qty-control output{min-width:25px;text-align:center;font-size:13px}.dialog-details small{display:block;color:#a2ada1;margin-top:13px;font-size:10px}
.toast{position:fixed;z-index:60;bottom:22px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#2d5836;color:#fff;padding:12px 18px;border-radius:4px;font-size:12px;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.main-nav{gap:16px}.product-grid{grid-template-columns:repeat(3,1fr)}.benefits-grid{grid-template-columns:repeat(3,1fr)}.benefits-intro{grid-column:1/-1}.hero-grid{gap:20px}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.announcement{font-size:8px}.announcement span{margin:0 5px}.header-row{min-height:67px}.brand strong{font-size:19px}.main-nav{display:none;position:absolute;top:67px;left:0;right:0;background:#fbfcf7;box-shadow:0 12px 25px rgba(42,74,46,.12);padding:13px 18px 19px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.menu-toggle{display:flex}.cart-trigger span{display:none}.cart-trigger{padding:9px}.hero-grid{grid-template-columns:1fr;padding:55px 0 35px;gap:10px}.hero h1{font-size:clamp(44px,10vw,61px)}.hero-copy>p{font-size:14px}.hero-proof{margin-top:34px}.hero-art{height:auto;min-height:460px}.hero-art-circle{width:390px;height:390px;left:50%;top:25px;transform:translateX(-50%)}.hero-product{max-width:390px}.hero-bottom{display:none}.benefits-grid{grid-template-columns:1fr 1fr}.benefit{padding-top:4px}.section-space{padding:70px 0}.section-heading{display:block}.section-heading>p{margin-top:17px}.product-grid{grid-template-columns:repeat(2,1fr);gap:13px}.assembly-grid,.story-grid{grid-template-columns:1fr;gap:35px}.story-picture{max-width:520px}.story-sticker{right:0}.footer-top{display:block}.footer-links{margin-top:25px;flex-wrap:wrap}}
@media(max-width:480px){.announcement{line-height:1.4}.brand-mark{width:29px;height:29px;font-size:22px}.brand strong{font-size:17px}.brand small{font-size:7px}.hero-grid{padding-top:47px}.hero h1{font-size:45px}.hero-buttons{gap:18px;flex-wrap:wrap}.hero-proof{gap:15px;font-size:10px}.hero-proof div+div{padding-left:15px}.hero-art{min-height:385px}.hero-art-circle{width:330px;height:330px}.hero-product{max-width:325px}.hero-product-caption span{display:none}.hero-spark.s1{left:-5px;bottom:55px}.benefits-grid{grid-template-columns:1fr;gap:18px}.benefit{border-left:0;border-top:1px solid #cbdac4;padding:12px 0 0}.section-heading h2,.assembly-copy h2,.story-copy h2{font-size:38px}.shop-toolbar{align-items:start;flex-direction:column;gap:9px}.filter{padding:8px 12px;font-size:10px}.product-grid{grid-template-columns:1fr}.product-info h3{font-size:19px}.product-info p{min-height:0}.product-purchase strong{font-size:16px}.story-section{padding:65px 0}.story-sticker{width:115px;height:115px;font-size:10px}.story-sticker em{font-size:17px}.footer-links{gap:17px}.product-dialog[open]{display:block}.dialog-photo img{height:270px}.dialog-details{padding:27px}.dialog-details h2{font-size:28px}.dialog-actions{flex-wrap:wrap}.dialog-actions>.button{flex:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.empty-products{padding:50px 0;color:#718174}

/* polish.css */
@font-face{font-family:Montserrat;src:url('fonts/montserrat-vietnamese.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Montserrat;src:url('fonts/montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#253b30;--muted:#607367;--green:#386645;--wood:#bd8e5b}
html{scroll-padding-top:92px}
body{font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65}
h1,h2,h3{letter-spacing:-.045em;font-weight:700}
em{font-family:inherit;font-weight:600;font-style:italic;letter-spacing:-.045em}
.announcement{font-size:12px;letter-spacing:.055em;line-height:1.5;padding-block:9px}
.announcement span{font-size:13px}
.header-row{min-height:82px}
.brand{gap:11px}.brand strong{font-size:22px;font-weight:800;letter-spacing:-.06em}.brand small{font-size:10px;letter-spacing:.035em;margin-top:6px}
.main-nav{gap:25px}.main-nav a{font-size:14px;font-weight:600}
.cart-trigger{font-size:13px;padding:11px 15px}.cart-count{font-size:10px;width:20px;height:20px}
.eyebrow{font-size:12px;letter-spacing:.12em;line-height:1.5}
.hero{isolation:isolate;background:radial-gradient(ellipse at 78% 20%,rgba(233,242,202,.9),transparent 54%),linear-gradient(110deg,#fffdf6 0%,#f3f8eb 100%)}
.hero:before{content:"";position:absolute;z-index:-1;inset:-20%;background:radial-gradient(circle at 71% 28%,rgba(255,224,151,.37) 0,rgba(255,235,187,.16) 17%,transparent 37%);animation:sunlight 15s ease-in-out infinite alternate;pointer-events:none}
.hero-grid{min-height:680px}.hero h1{font-size:clamp(47px,4vw,62px);line-height:1.16;margin:24px 0}
.hero-copy>p{font-size:17px;line-height:1.8;color:#52695a}
.button{font-size:14px;min-height:52px;padding-inline:22px;border-radius:5px;box-shadow:0 3px 10px rgba(44,74,48,.06)}
.button-text{font-size:14px;line-height:1.5}
.hero-proof{font-size:13px;line-height:1.6;margin-top:50px;color:#4f6954}.hero-proof span{font-size:23px}
.hero-art-circle{background:radial-gradient(circle at 32% 30%,#eef5df,#dbeacc 75%);box-shadow:inset 0 0 70px rgba(255,255,255,.35);animation:circle-breathe 12s ease-in-out infinite alternate}
.hero-product{box-shadow:0 30px 70px rgba(67,91,56,.15);animation:product-float 7s ease-in-out infinite alternate}
.hero-product-tag{font-size:11px;letter-spacing:.08em}.hero-product-caption{font-size:13px}.hero-product-caption strong{font-size:17px}
.art-leaf,.hero-leaf{border-color:rgba(91,143,87,.22);animation:leaf-drift 10s ease-in-out infinite alternate;transform-origin:50% 100%}
.art-leaf.one{transform:rotate(-25deg)}.art-leaf.two{animation-delay:-5s;transform:rotate(130deg)}.hero-leaf.leaf-b{animation-delay:-4s;transform:rotate(120deg)}
.hero-spark{opacity:.7;animation:spark-turn 13s ease-in-out infinite alternate}
.hero-bottom{font-size:11px;letter-spacing:.1em;color:#6b8a70}
.hero-bottom span{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.hero-bottom img{display:block;width:18px;height:18px;object-fit:contain}
.benefits{background:linear-gradient(125deg,#eaf3df,#e5efdc)}.benefits-intro h2{font-size:clamp(28px,2.5vw,34px)}
.benefit>span{font-size:12px}.benefit h3{font-size:17px;line-height:1.4}.benefit p{font-size:14px;line-height:1.7;color:#5e7364}
.section-heading h2,.assembly-copy h2,.story-copy h2{font-size:clamp(34px,3.4vw,50px);line-height:1.2}
.section-heading>p{font-size:15px;line-height:1.75;max-width:370px}
.filter{font-size:13px;padding:10px 17px;transition:background .25s,color .25s,transform .25s}.filter:hover{transform:translateY(-2px)}
.result-count{font-size:13px}
.product-card{border-color:#e8eee4;box-shadow:0 8px 25px rgba(51,80,55,.035);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.product-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(58,91,59,.11);border-color:#d6e4d0}
.product-image-button img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.product-card:hover .product-image-button img{transform:scale(1.045)}
.product-badge{font-size:11px}.product-category{font-size:11px;letter-spacing:.1em}
.product-info{padding:18px}.product-info h3{font-size:18px;line-height:1.4;margin:10px 0 7px}.product-info p{font-size:13px;line-height:1.6;color:#637568;min-height:42px}
.product-purchase strong{font-size:16px}.add-button{font-size:12px;padding:10px 11px;border-radius:4px;transition:background .2s,transform .2s}.add-button:hover{transform:translateY(-2px)}.add-button span{font-size:16px}
.demo-note{font-size:12px;color:#788a7c}
.assembly-section{background:linear-gradient(145deg,#f2f6ea,#eaf3e2)}.assembly-copy p{font-size:16px;line-height:1.8;color:#556e5a}
.assembly-steps{border:1px solid #e5eddd;box-shadow:0 24px 60px rgba(67,104,64,.07)}.assembly-step>span{font-size:12px}.assembly-step h3{font-size:17px}.assembly-step p{font-size:14px;line-height:1.65;color:#647767}
.step-icon{transition:transform .4s ease,background .4s ease}.assembly-step:hover .step-icon{transform:rotate(-8deg) scale(1.07);background:#e0efd3}
.story-picture img{box-shadow:0 28px 60px rgba(71,103,59,.09)}.story-sticker{font-size:13px;box-shadow:0 10px 30px rgba(67,105,58,.12);animation:sticker-sway 8s ease-in-out infinite alternate}.story-sticker em{font-size:21px}
.story-copy p{font-size:16px;line-height:1.85;color:#566e5a}
.story-copy p strong{font-weight:800;color:#284735}
.site-footer p{font-size:14px}.footer-links{font-size:14px}.footer-bottom{font-size:12px}
.cart-head h2{font-size:28px}.cart-empty{font-size:14px}.cart-item h3{font-size:15px}.cart-item strong{font-size:14px}.mini-qty span,.remove-item{font-size:13px}.cart-subtotal{font-size:15px}.cart-foot p{font-size:13px;line-height:1.6}
.dialog-details h2{font-size:32px}.dialog-details p,.dialog-details li{font-size:15px;line-height:1.75}.dialog-price{font-size:23px}.qty-control output{font-size:15px}.dialog-details small{font-size:12px}
.toast{font-size:14px}
@keyframes sunlight{from{transform:translate3d(-2%,2%,0) scale(.96);opacity:.65}to{transform:translate3d(2%,-2%,0) scale(1.07);opacity:1}}
@keyframes circle-breathe{to{transform:scale(1.035)}}
@keyframes product-float{to{transform:translate3d(0,-9px,0)}}
@keyframes leaf-drift{to{translate:8px -10px;rotate:5deg}}
@keyframes spark-turn{to{transform:rotate(18deg) translateY(-7px);opacity:1}}
@keyframes sticker-sway{to{transform:rotate(4deg) translateY(-5px)}}
@media(max-width:1100px){.main-nav{gap:17px}.main-nav a{font-size:13px}}
@media(max-width:760px){.announcement{font-size:11px}.header-row{min-height:70px}.brand strong{font-size:19px}.brand small{font-size:9px}.main-nav{top:70px}.main-nav a{font-size:15px}.hero-grid{padding-top:62px}.hero h1{font-size:clamp(43px,8vw,60px)}.hero-copy>p{font-size:16px}.hero-proof{font-size:12px}.benefit p{font-size:14px}.section-heading>p{font-size:15px}.product-info h3{font-size:17px}.product-info p{font-size:13px}.assembly-copy p,.story-copy p{font-size:15px}}
@media(max-width:480px){.announcement{font-size:10px;letter-spacing:0}.brand strong{font-size:18px}.brand small{font-size:9px}.hero h1{font-size:clamp(39px,10vw,47px)}.hero-copy>p{font-size:16px;line-height:1.75}.hero-proof{font-size:12px}.hero-product-tag{font-size:10px}.hero-product-caption strong{font-size:15px}.eyebrow{font-size:11px}.benefits-intro h2{font-size:29px}.section-heading h2,.assembly-copy h2,.story-copy h2{font-size:clamp(33px,9vw,40px)}.filter{font-size:13px;padding:10px 13px}.product-info h3{font-size:19px}.product-info p{min-height:0;font-size:14px}.product-purchase strong{font-size:16px}.add-button{font-size:13px}.story-sticker{font-size:11px}.story-sticker em{font-size:17px}.footer-bottom{gap:10px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.hero:before,.hero-art-circle,.hero-product,.art-leaf,.hero-leaf,.hero-spark,.story-sticker{animation:none!important}}
.brand-mark{object-fit:contain;padding:5px;box-sizing:border-box;flex:none}
.announcement-mark{display:inline-block!important;width:12px;height:12px;vertical-align:-1px;background:url('tuan-moc-mark.png') center/contain no-repeat;font-size:0}
.hero-spark.s1{width:38px;height:38px;background:url('tuan-moc-mark.png') center/contain no-repeat;font-size:0}
.hero-grid{isolation:isolate}
.hero-art{position:absolute;z-index:0;top:0;bottom:0;right:-20vw;width:85%;height:auto;min-height:0;display:block;overflow:hidden;border:0;border-radius:0;box-shadow:none;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 78% 73% at 65% 49%,#000 49%,transparent 100%);mask-image:radial-gradient(ellipse 78% 73% at 65% 49%,#000 49%,transparent 100%)}
.hero-lifestyle{display:block;width:100%;height:100%;object-fit:cover;object-position:right bottom;transform:scale(1.2);transform-origin:right bottom;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 26%,#000 48%);mask-image:linear-gradient(to right,transparent 0%,transparent 26%,#000 48%)}
@media(max-width:760px){.hero-art{position:relative;inset:auto;width:calc(100% + 36px);height:420px;min-height:0;margin:-8px -18px -35px;-webkit-mask-image:radial-gradient(ellipse 77% 68% at 55% 52%,#000 42%,transparent 100%);mask-image:radial-gradient(ellipse 77% 68% at 55% 52%,#000 42%,transparent 100%)}.hero-lifestyle{transform:scale(1.25);-webkit-mask-image:none;mask-image:none}}
@media(max-width:480px){.hero-art{height:350px}}

/* The hero is one room scene: live copy sits on the photograph's open wall. */
.hero{background:#faf8f2}
.hero:before,.hero-leaf{display:none}
.hero-grid{isolation:isolate}
.hero-art{position:absolute;inset:0 auto 0 calc((100vw - 100%) / -2);width:100vw;height:100%;min-height:0;overflow:hidden;border:0;border-radius:0;box-shadow:none;pointer-events:none;-webkit-mask-image:none;mask-image:none}
.hero-lifestyle{position:absolute;top:-12.5%;right:0;width:auto;max-width:none;height:125%;object-fit:contain;object-position:right center;transform:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 21%);mask-image:linear-gradient(to right,transparent 0%,#000 21%)}
@media(max-width:760px){.hero-grid{min-height:0;grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}.hero-art{position:relative;inset:auto;left:calc((100vw - 100%) / -2);grid-row:2;width:100vw;height:420px;margin:-8px 0 -35px}.hero-lifestyle{top:0;right:0;height:100%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 89%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 89%,transparent 100%)}}
@media(max-width:480px){.hero-art{height:350px}}

/* Dedicated portrait photograph keeps the complete shelf visible on phones. */
@media(max-width:760px){.hero-art{height:560px}.hero-lifestyle{top:0;right:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 67%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 92%,transparent 100%)}}
@media(max-width:480px){.hero-art{height:500px}}

/* On phones the supplied portrait is shown at its natural ratio, including the rug and shelf feet. */
@media(max-width:760px){
  .hero-art{height:auto;min-height:0;aspect-ratio:9/16;overflow:hidden}
  .hero-art picture{display:block;width:100%;height:100%}
  .hero-lifestyle{position:static;display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 94%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 94%,transparent 100%)}
  .hero-buttons{display:flex;flex-wrap:nowrap;gap:12px;align-items:center}
  .hero-buttons .button-primary{min-height:44px;padding:0 14px;font-size:13px;gap:0;white-space:nowrap}
  .hero-buttons .button-primary span,.hero-buttons .button-text span{display:none}
  .hero-buttons .button-text{font-size:13px;white-space:nowrap;gap:0;padding-bottom:4px}
}

/* Mobile hero: live copy sits over the photographed wall, with the shelf below it. */
@media(max-width:760px){
  .hero-grid{display:block;min-height:calc(222.35vw + 62px);padding-top:62px;padding-bottom:0}
  .hero-copy{position:relative;z-index:2;max-width:none}
  .hero-art{position:absolute;z-index:0;top:0;bottom:auto;left:calc((100vw - 100%) / -2);width:100vw;height:calc(222.35vw + 62px);aspect-ratio:auto;margin:0}
  .hero-art picture{display:block;width:100%;height:100%}
  .hero-lifestyle{position:static;width:100%;height:100%;object-fit:cover;object-position:center top;-webkit-mask-image:none;mask-image:none}
  .hero-proof{margin-top:22px}
}
@media(max-width:360px){
  .header-row{gap:0}.brand{gap:7px}.brand-mark{width:26px;height:26px}.brand strong{font-size:16px}.brand small{font-size:7px}.header-actions{gap:5px}.cart-trigger{padding:7px}.menu-toggle{width:35px;height:35px}
  .hero-grid{min-height:calc(222.35vw + 100px)}.hero-art{top:0;height:calc(222.35vw + 100px)}
  .hero h1{font-size:33px;line-height:1.1;margin:18px 0}.hero-copy>p{font-size:13.5px;line-height:1.65}
  .hero-proof{display:none}
}

/* Keep the shelf on the right when the desktop viewport is narrow. */
@media(min-width:761px) and (max-width:1399px){
  .hero-grid{min-height:640px}
  .hero-copy{max-width:500px}
  .hero h1{font-size:clamp(42px,4.2vw,56px)}
  .hero-copy>p{max-width:420px}
  .hero-art{inset:0 calc((100vw - 100%) / -2) 0 auto;width:76vw;height:100%}
  .hero-lifestyle{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% center;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.2) 8%,#000 26%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.2) 8%,#000 26%)}
}

/* Keep the shelf feet visible while cropping excess floor on phones. */
@media(max-width:760px){
  .hero-grid{min-height:calc(190vw + 40px)}
  .hero-art{height:calc(190vw + 40px)}
  .hero-lifestyle{object-position:center top}
}
@media(max-width:360px){
  .hero-grid{min-height:calc(190vw + 56px)}
  .hero-art{height:calc(190vw + 56px)}
}

/* atmosphere.css */
/* Quiet section transitions: straight edges and soft light. */
.hero,.benefits,.shop-section,.assembly-section,.story-section,.site-footer{position:relative}
.benefits{background:linear-gradient(120deg,#eaf3df,#e4efdc)}
.shop-section{background:#fbfcf7}.section-heading h2{max-width:780px}.shop-section .section-heading>p{font-size:15px}
.assembly-section{background:linear-gradient(145deg,#f2f6ea,#eaf3e2)}
.story-section{background:#fffefb}
.site-footer{background:linear-gradient(150deg,#e9f2e0,#dcebd7)}
.footer-contact{display:grid;grid-template-columns:.6fr 1.4fr;gap:8%;padding-top:56px;margin-top:55px;border-top:1px solid #cadac7}
.footer-contact-heading h2{font-size:clamp(27px,2.5vw,36px);line-height:1.25;margin:12px 0 23px}.footer-contact-heading h2 em{color:#648e67}.footer-hotline{display:inline-flex;gap:12px;align-items:center;background:#376644;color:#fff;padding:13px 17px;border-radius:5px;font-weight:700;font-size:15px;transition:transform .25s,background .25s}.footer-hotline:hover{transform:translateY(-3px);background:#285536}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.location-card{background:rgba(255,255,255,.8);border:1px solid #d7e5d2;border-radius:14px;padding:24px;box-shadow:0 12px 28px rgba(52,83,53,.045)}.location-card h3{font-size:20px;margin:0 0 17px}.location-card h3:before{content:"⌖";color:#78a574;margin-right:8px}.location-card p{font-size:14px;line-height:1.6;margin:0 0 12px;color:#566e5c}.location-card p strong{color:#2e5138}.location-card>span{display:inline-block;background:#e7f0e3;color:#4b7654;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:700;margin-top:4px}.footer-bottom{margin-top:54px}
.product-card{background:#fffefb}
.product-dialog[open]{grid-template-columns:1fr 1fr;align-items:stretch}
.dialog-photo{display:grid;place-items:center;min-height:500px;padding:16px;background:#fff;box-shadow:8px 0 20px -15px rgba(37,64,42,.35);border-right:1px solid #eef1eb}
.dialog-photo img{width:100%;height:auto;max-height:min(76vh,650px);aspect-ratio:1;object-fit:contain;object-position:center}
.dialog-details{background:#fff}.dialog-details p{margin-bottom:17px}.dialog-price{margin:20px 0}
.variant-block{margin:17px 0}.variant-label{display:block;margin-bottom:9px;color:#3d5f45;font-size:13px;font-weight:700}.wood-options,.size-options{display:flex;flex-wrap:wrap;gap:8px}.wood-option,.size-option{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #d8e2d5;border-radius:4px;background:#fff;color:#4d6252;padding:6px 12px;font-size:13px;font-weight:600;transition:border-color .2s,background .2s}.wood-option[aria-pressed="true"],.size-option[aria-pressed="true"]{border-color:#3f7049;background:#f1f7ec;color:#295735;box-shadow:inset 0 0 0 1px #3f7049}.wood-swatch{width:17px;height:17px;border-radius:50%;border:1px solid rgba(49,56,41,.12)}.wood-swatch.oak{background:linear-gradient(120deg,#dfbc85,#bd8f57)}.wood-swatch.chestnut{background:linear-gradient(120deg,#91603d,#5f3825)}
.cart-item-variant{display:block;color:#708173;font-size:12px;line-height:1.5;margin:0 0 5px}.cart-foot .cart-continue{margin-top:20px}
.motion-ready .reveal-item{opacity:.3;transform:translate3d(0,20px,0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .product-card.reveal-item.is-visible:hover{transform:translateY(-6px)}
.motion-ready .product-card.reveal-item:nth-child(4n+2),.motion-ready .benefit.reveal-item:nth-child(2){transition-delay:.06s}
.motion-ready .product-card.reveal-item:nth-child(4n+3),.motion-ready .benefit.reveal-item:nth-child(3){transition-delay:.12s}
.motion-ready .product-card.reveal-item:nth-child(4n+4),.motion-ready .benefit.reveal-item:nth-child(4){transition-delay:.18s}
@media(max-width:760px){.footer-contact{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.location-grid{grid-template-columns:1fr}.location-card{padding:21px}.footer-contact{padding-top:42px;margin-top:42px}.dialog-photo{min-height:0;padding:12px;box-shadow:0 8px 18px -15px rgba(37,64,42,.4);border-right:0;border-bottom:1px solid #eef1eb}.dialog-photo img{width:100%;height:auto;max-height:42vh;aspect-ratio:1;object-fit:contain}.product-dialog[open]{display:block}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal-item{opacity:1!important;transform:none!important;transition:none!important}}

/* assets/shop.css */
.cart-trigger{border:0;cursor:pointer;font:inherit}.cart-trigger:focus-visible,.add-button:focus-visible,.button:focus-visible{outline:3px solid #779b68;outline-offset:3px}
.cart-item-variant{display:block;color:#728473;font-size:12px;line-height:1.5;margin-bottom:6px}
.cart-foot .button,.tm-checkout .button{width:100%;margin-top:16px;justify-content:center}
.cart-foot[hidden],.cart-items[hidden],.tm-checkout[hidden]{display:none}
.wood-option,.size-option{display:inline-flex;align-items:center;gap:9px;justify-content:center;border:1px solid #d8e2d4;border-radius:7px;background:#fff;color:#36543d;padding:9px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.wood-option:hover,.size-option:hover{border-color:#7da381}.wood-swatch{display:inline-block;flex:none;width:21px;height:21px;border-radius:50%;border:1px solid rgba(53,63,45,.16);box-shadow:inset 0 1px 2px rgba(255,255,255,.4)}.wood-swatch.oak{background:repeating-linear-gradient(108deg,#d8a96e 0 3px,#edc692 4px 8px,#dcb178 9px 11px)}.wood-swatch.chestnut{background:repeating-linear-gradient(108deg,#775039 0 3px,#9c6945 4px 8px,#805238 9px 11px)}.review-feedback{color:#426f4b;font-size:13px;line-height:1.5}
.tm-checkout{padding:22px 25px;overflow:auto;flex:1}.tm-checkout h3{font-size:22px;margin:0 0 16px;color:#34583b}.tm-checkout label{display:block;font-size:13px;font-weight:700;color:#435e48;margin:12px 0}.tm-checkout input,.tm-checkout textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #cbd9c6;border-radius:5px;background:#fff;color:#243c2d;font:inherit;font-size:15px;padding:11px 12px;margin-top:6px}.tm-checkout textarea{min-height:70px;resize:vertical}.tm-checkout input:focus,.tm-checkout textarea:focus{outline:2px solid #8eae82;outline-offset:1px}.tm-checkout-message{min-height:1.5em;font-size:13px;line-height:1.5;color:#34633d}.tm-checkout .button-text{margin-top:18px}.tm-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}
.tm-order-thanks{position:fixed;width:min(480px,calc(100vw - 36px));max-height:calc(100dvh - 36px);box-sizing:border-box;margin:auto;padding:43px 42px 38px;border:1px solid #dce7d7;border-radius:18px;background:#fbfcf8;color:#25402e;box-shadow:0 28px 90px rgba(25,46,29,.22);text-align:center;font-family:inherit}.tm-order-thanks::backdrop{background:rgba(28,47,33,.55);backdrop-filter:blur(4px)}.tm-order-thanks-mark{display:block;width:54px;height:54px;margin:0 auto 19px;border-radius:50%;background:#e6efdf}.tm-order-thanks .eyebrow{display:block;color:#6c916e;font-size:11px;letter-spacing:.14em;font-weight:700}.tm-order-thanks h2{font-size:clamp(27px,4vw,37px);line-height:1.15;letter-spacing:-.04em;margin:14px 0 16px}.tm-order-thanks p{font-size:15px;line-height:1.7;color:#607364;margin:0}.tm-order-thanks p strong{white-space:nowrap;color:#35683f}.tm-order-thanks-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:26px}.tm-order-thanks-actions .button{min-height:45px}.tm-order-thanks-actions .button-text{border:0;background:none;color:#365f3e;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.tm-order-thanks-close{position:absolute;top:15px;right:17px;width:34px;height:34px;border:0;border-radius:50%;background:#eaf2e5;color:#35543b;font:inherit;font-size:24px;line-height:1;cursor:pointer}.tm-order-thanks :focus-visible{outline:2px solid #47764d;outline-offset:3px}
.tm-single{padding-top:26px;color:#263d2f}.product-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:28px;color:#829383;font-size:13px}.product-breadcrumb a{color:#4c7351;text-decoration:none}.product-breadcrumb a:hover{text-decoration:underline}.tm-single-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(30px,5vw,82px);align-items:start}.tm-single-media{position:sticky;top:105px}.tm-single-image{background:#fff;border:1px solid #e8eee6;border-radius:16px;overflow:hidden;box-shadow:0 22px 65px rgba(51,80,55,.07)}.tm-single-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.tm-single .photo-caption{margin:12px 3px 0;color:#849184;font-size:12px;line-height:1.5}.tm-product-panel{padding:12px 0 35px}.tm-single h1{font-size:clamp(36px,3.8vw,56px);line-height:1.12;letter-spacing:-.045em;margin:15px 0 15px}.tm-product-lead{font-size:17px;line-height:1.75;color:#607564;margin:0 0 16px}.rating-link{display:inline-flex;align-items:center;gap:8px;color:#547458;font-size:13px;text-decoration:none}.rating-link:hover{text-decoration:underline}.rating-stars,.review-stars{color:#c29550;letter-spacing:2px;white-space:nowrap}.tm-price-row{display:flex;align-items:baseline;gap:16px;border-top:1px solid #e5ebe3;border-bottom:1px solid #e5ebe3;margin:26px 0;padding:19px 0}.tm-single-price{font-size:29px;color:#3f7049;line-height:1.3}.tm-price-row>span{font-size:12px;color:#879789}.single-variant{margin:22px 0}.variant-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.variant-heading strong{font-size:15px}.variant-heading span{color:#829383;font-size:12px}.single-variant .wood-options,.single-variant .size-options{display:flex;gap:10px;flex-wrap:wrap}.single-variant .wood-option,.single-variant .size-option{min-height:48px;font-size:14px}.single-variant .wood-option[aria-pressed="true"],.single-variant .size-option[aria-pressed="true"]{box-shadow:0 0 0 2px #47764d inset;background:#f1f6ed}.single-purchase{display:flex;gap:12px;margin-top:32px}.single-purchase .qty-control{border-radius:7px;overflow:hidden;background:#fff;flex:none}.single-purchase .qty-control button{height:54px;width:42px;cursor:pointer}.single-purchase .qty-control output{font-size:15px;min-width:28px}.single-purchase .button{flex:1;justify-content:center;margin:0;min-height:54px}.tm-single .single-order-note{font-size:12px;line-height:1.6;color:#839184;margin:11px 0 0}.single-promise{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #e5ebe3;margin-top:24px;padding-top:22px}.single-promise>div{display:grid;grid-template-columns:30px 1fr;column-gap:8px}.single-promise span{grid-row:1/3;color:#6e956f;font-size:23px;line-height:1}.single-promise strong{font-size:13px}.single-promise small{font-size:11px;color:#829383;line-height:1.5;margin-top:3px}.tm-product-story{background:#eaf2e3;margin-top:95px;padding:85px 0}.story-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,100px)}.story-detail-grid h2{font-size:clamp(30px,3.3vw,48px);line-height:1.22;letter-spacing:-.04em;margin:14px 0}.story-detail-grid h2 em{color:#729978;font-weight:500}.story-detail-grid p{font-size:16px;line-height:1.85;margin:0 0 20px;color:#506956}.story-detail-grid ul{padding-left:20px;color:#506956;line-height:1.9}.tm-reviews{padding:90px 0 110px;background:#fbfcf8}.reviews-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;border-bottom:1px solid #dfe8db;padding-bottom:28px}.reviews-heading h2{font-size:clamp(30px,3vw,45px);letter-spacing:-.04em;margin:8px 0}.reviews-heading p{color:#708572;margin:0;font-size:15px}.review-score{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px}.review-score strong{font-size:45px;line-height:1;color:#3d6945;grid-row:1/3}.review-score small{color:#829383;font-size:12px}.reviews-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);gap:clamp(30px,6vw,90px);padding-top:32px}.review-list{min-width:0}.review-empty{padding:50px 35px;text-align:center;border:1px solid #e5ede2;border-radius:14px;background:#fff}.review-empty>span{font-size:34px;color:#9eb59a}.review-empty h3{font-size:20px;margin:8px 0}.review-empty p{font-size:14px;color:#7d8f7e}.review-card{padding:25px 0;border-bottom:1px solid #e3eae0}.review-card:first-child{padding-top:0}.review-card-top{display:flex;align-items:center;gap:12px}.review-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e6efdf;color:#658b69;font-size:23px}.review-card-top strong,.review-card-top time{display:block}.review-card-top strong{font-size:14px}.review-card-top time{font-size:12px;color:#8a998c;margin-top:3px}.review-card-top .review-stars{margin-left:auto}.review-text{font-size:15px;color:#576e5b;line-height:1.75;margin:10px 0 0 54px}.review-form-wrap{background:#fff;border:1px solid #e4ece1;border-radius:14px;padding:30px;box-shadow:0 15px 45px rgba(51,80,55,.04)}.review-form-wrap h3{font-size:22px;line-height:1.3;margin:0 0 10px}.review-form-note,.review-form-wrap .logged-in-as{font-size:13px;color:#778a79;line-height:1.6}.review-form-wrap label,.comment-form-rating legend{display:block;font-size:13px;font-weight:700;color:#405c46;margin:16px 0 7px}.review-form-wrap input[type="text"],.review-form-wrap input[type="email"],.review-form-wrap textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #d5e0d2;border-radius:7px;background:#fff;color:#263d2f;font:inherit;font-size:14px;padding:12px 13px}.review-form-wrap textarea{resize:vertical;min-height:115px}.review-form-wrap input:focus-visible,.review-form-wrap textarea:focus-visible,.review-form-wrap button:focus-visible,.single-purchase button:focus-visible,.single-variant button:focus-visible{outline:2px solid #47764d;outline-offset:3px}.comment-form-rating{border:0;padding:0;margin:16px 0}.comment-form-rating legend{margin:0 0 8px}.rating-options{display:flex;gap:8px;flex-wrap:wrap}.rating-options label{margin:0;cursor:pointer}.rating-options input{position:absolute;opacity:0;width:1px;height:1px}.rating-options span{display:block;padding:9px 11px;border:1px solid #d9e5d5;border-radius:6px;font-size:13px;color:#6b806d;font-weight:600}.rating-options input:checked+span{border-color:#bb914c;background:#fff6e7;color:#8a622a}.rating-options input:focus-visible+span{outline:2px solid #47764d;outline-offset:2px}.review-form-wrap .submit{border:0;border-radius:6px;background:#416e49;color:#fff;padding:13px 22px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.review-form-wrap .submit:hover{background:#315b3a}
@media(max-width:900px){.tm-single-grid{gap:28px}.tm-single-media{position:static}.reviews-grid{grid-template-columns:1fr}.review-form-wrap{max-width:680px}}
@media(max-width:720px){.tm-single-grid,.story-detail-grid{grid-template-columns:1fr}.tm-single{padding-top:20px}.product-breadcrumb{font-size:11px;margin-bottom:17px}.tm-product-panel{padding-top:8px}.tm-product-story{margin-top:50px;padding:58px 0}.tm-reviews{padding:60px 0 75px}.reviews-heading{align-items:start}.tm-checkout{padding:18px 20px}}
@media(max-width:480px){.reviews-heading{display:block}.review-score{margin-top:18px;justify-content:start}.single-purchase{flex-wrap:wrap}.single-purchase .button{flex-basis:100%}.single-promise{grid-template-columns:1fr}.review-form-wrap{padding:22px}}

/* assets/partner.css */
.partner-invite{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(28px,5vw,80px);align-items:center;margin-top:43px;padding:clamp(32px,5vw,64px);overflow:hidden;border:1px solid #d8e2cf;border-radius:18px;background:linear-gradient(120deg,#fffdf6 0%,#f8f8f0 58%,#edf3e8 100%);box-shadow:0 18px 45px rgba(41,72,47,.09);color:#214336;transition:box-shadow .6s ease,border-color .6s ease}
.partner-invite:after{content:"";position:absolute;right:-70px;bottom:-125px;width:350px;height:350px;background:url('tuan-moc-mark.png') center/contain no-repeat;opacity:.045;transform:rotate(-8deg) scale(.94);transition:transform 1.1s ease,opacity 1.1s ease;pointer-events:none}
.partner-invite:hover{border-color:#b9cfb2;box-shadow:0 22px 55px rgba(41,72,47,.13)}
.partner-invite:hover:after{opacity:.075;transform:rotate(0) scale(1)}
.partner-invite-copy,.partner-invite-steps{position:relative;z-index:1}
.partner-kicker{display:inline-flex;align-items:center;gap:10px;color:#64856a;font-size:11px;font-weight:800;letter-spacing:.15em}
.partner-kicker img{width:20px;height:20px}
.partner-invite h2{max-width:610px;margin:21px 0 15px;color:#213e31;font-size:clamp(32px,3.4vw,53px);line-height:1.12;letter-spacing:-.04em}
.partner-invite h2 em{color:#71996b;font-style:italic;font-weight:500}
.site-footer .partner-invite p{max-width:620px;margin:0;color:#556d59;font-size:15px;line-height:1.8}
.partner-invite p strong{color:#274b37;font-weight:800}
.partner-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:51px;margin-top:26px;padding:0 20px;border:0;border-radius:7px;background:#315d41;color:#fff;font-family:inherit;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 7px 18px rgba(37,82,48,.12);transition:transform .2s,background .2s,box-shadow .2s}
.partner-cta:hover,.partner-cta:focus-visible{transform:translateY(-2px);background:#244d35;box-shadow:0 11px 23px rgba(37,82,48,.18)}
.partner-cta svg,.partner-popup-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.partner-invite-steps{display:grid;gap:0;padding:5px 0 5px 27px;border-left:1px solid #d9e4d2}
.partner-invite-steps div{display:grid;grid-template-columns:42px 1fr;column-gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #d9e4d2}
.partner-invite-steps div:last-child{border-bottom:0}
.partner-invite-steps span{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border:1px solid #cadcc4;border-radius:50%;background:#f8faf4;transition:background .3s ease,transform .3s ease}
.partner-invite-steps div:hover span{background:#e7f0df;transform:scale(1.08)}
.partner-step-icon img{display:block;width:20px;height:20px;object-fit:contain}
.partner-invite-steps strong{color:#244435;font-size:17px;line-height:1.25}
.partner-invite-steps small{margin-top:3px;color:#68816b;font-size:12px;line-height:1.45}
.site-footer .footer-contact{margin-top:0;border-top:0}
.partner-dialog{width:min(100% - 24px,430px);max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:visible;margin:auto;padding:24px 29px 22px;border:1px solid #dfebd7;border-radius:15px;background:#fffefb;color:#234134;box-shadow:0 25px 80px rgba(17,48,31,.24)}
.partner-dialog::backdrop{background:rgba(20,45,31,.58);backdrop-filter:blur(5px)}
.partner-dialog-close{position:absolute;top:13px;right:13px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #dce8d5;border-radius:50%;background:#f6f9f2;color:#365a42;cursor:pointer}
.partner-dialog-close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.partner-dialog-mark{display:grid;place-items:center;width:38px;height:38px;margin-bottom:11px;border-radius:50%;background:#e6f0df}
.partner-dialog-mark img{width:24px;height:24px}
.partner-dialog h2{margin:7px 0 8px;font-size:clamp(26px,3vw,30px);line-height:1.14;letter-spacing:-.035em}
.partner-dialog h2 em{color:#6f986d;font-style:italic;font-weight:500}
.partner-dialog>p{margin:0;color:#697e6a;font-size:13px;line-height:1.55}
.partner-popup-form{display:grid;gap:10px;margin-top:15px}
.partner-popup-form label{display:grid;gap:4px;color:#34543b;font-size:12px;font-weight:750}
.partner-popup-form input{box-sizing:border-box;width:100%;min-height:39px;padding:7px 11px;border:1px solid #cadbc6;border-radius:6px;background:#fff;font:inherit;color:#213d2e;outline:none}
.partner-popup-form input:focus{border-color:#5a8863;box-shadow:0 0 0 3px rgba(90,136,99,.13)}
.partner-popup-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:43px;margin-top:2px;padding:0 15px;border:0;border-radius:6px;background:#315d41;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background .2s,transform .2s}
.partner-popup-submit:hover{background:#214d34;transform:translateY(-2px)}
.partner-dialog .partner-dialog-login{margin-top:10px;text-align:center;font-size:12px}
.partner-dialog-login a{color:#315d41;font-weight:800}
.partner-dialog .partner-popup-error{margin-top:15px;padding:9px 12px;border-radius:5px;background:#fff0ea;color:#963f28}
@media(max-width:820px){.partner-invite{grid-template-columns:1fr;gap:21px}.partner-invite:after{width:260px;height:260px;right:-80px;bottom:-95px}.partner-invite-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;border-left:0}.partner-invite-steps div{display:block;border-bottom:0;border-top:1px solid #d9e4d2}.partner-invite-steps span{margin-bottom:12px}.partner-invite-steps strong,.partner-invite-steps small{display:block}}
@media(max-width:600px){.partner-invite{margin-top:32px;padding:28px 23px;border-radius:15px}.partner-invite:after{width:170px;height:170px;right:-55px;bottom:-55px;opacity:.035}.partner-kicker{font-size:9px;letter-spacing:.1em}.partner-invite h2{margin-top:18px;font-size:clamp(32px,9vw,40px)}.site-footer .partner-invite p{font-size:14px;line-height:1.75}.partner-cta{width:100%;box-sizing:border-box}.partner-invite-steps{grid-template-columns:1fr;gap:0}.partner-invite-steps div{display:grid;grid-template-columns:40px 1fr;column-gap:13px;align-items:center;padding:13px 0}.partner-invite-steps span{grid-row:span 2;margin:0;width:38px;height:38px}.partner-invite-steps strong{font-size:15px}.partner-invite-steps small{font-size:11px}}
@media(max-height:680px){.partner-dialog{padding:18px 24px 16px}.partner-dialog-mark{width:32px;height:32px;margin-bottom:7px}.partner-dialog-mark img{width:20px;height:20px}.partner-dialog h2{font-size:25px;margin:5px 0 6px}.partner-dialog>p{font-size:12px;line-height:1.45}.partner-popup-form{gap:7px;margin-top:10px}.partner-popup-form input{min-height:35px;padding:5px 9px}.partner-popup-submit{min-height:38px}.partner-dialog .partner-dialog-login{margin-top:7px}}
@media(prefers-reduced-motion:reduce){.partner-invite,.partner-invite:after,.partner-invite-steps span,.partner-cta{transition:none}}

.partner-page{background:#f7f9f2;padding:70px 0 100px}.partner-page-inner{max-width:980px}.partner-page h1{font-size:clamp(36px,5vw,56px);line-height:1.1;margin:10px 0 16px}.partner-page .partner-lead{max-width:680px;color:#536d58;font-size:16px;line-height:1.8}.partner-panel{margin-top:30px;padding:clamp(24px,4vw,42px);border:1px solid #d9e4d2;border-radius:15px;background:#fff;box-shadow:0 12px 38px rgba(38,70,44,.06)}.partner-panel h2{font-size:25px;margin:0 0 12px}.partner-form{display:grid;gap:17px;max-width:480px;margin-top:22px}.partner-form label{display:grid;gap:7px;font-size:14px;font-weight:700}.partner-form input{min-height:45px;padding:9px 12px;border:1px solid #cedccb;border-radius:5px;font:inherit}.partner-form .partner-cta{border:0;cursor:pointer;width:max-content}.partner-message{padding:12px 15px;border-radius:5px;background:#e9f3e2;color:#265035}.partner-message.error{background:#fff0ea;color:#9c3d23}.partner-balance{display:inline-flex;align-items:center;gap:14px;margin:12px 0 24px;padding:16px 20px;border-radius:9px;background:#eaf3e2;color:#244e34}.partner-balance strong{font-size:25px}.partner-product-list{display:grid;gap:10px;margin-top:18px}.partner-product-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border:1px solid #e2e9dd;border-radius:7px}.partner-product-link a{font-weight:700;color:#295d3e}.partner-product-link button{border:1px solid #bfd3b8;border-radius:5px;background:#f1f7ec;color:#28543a;padding:9px 12px;cursor:pointer;font:inherit;font-weight:700}.partner-note{font-size:13px;color:#627665;line-height:1.7}
@media(max-width:600px){.partner-page{padding:43px 0 70px}.partner-product-link{align-items:flex-start;flex-direction:column}.partner-form .partner-cta{width:100%}}

/* assets/account.css */
.account-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border:1px solid #d8e3d3;border-radius:30px;background:#fff;color:#315740;font:inherit;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}
.account-trigger:hover,.account-trigger:focus-visible{background:#edf5e9;border-color:#acc5a8}
.account-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tm-account{min-height:70vh;padding:56px 0 100px;background:#f7f9f3;color:#243f32}
.tm-account [hidden]{display:none!important}
.tm-account-heading{display:flex;align-items:center;gap:23px;margin:0 0 32px}
.tm-account-avatar{display:grid;place-items:center;flex:none;width:76px;height:76px;border:1px solid #d6e4d0;border-radius:50%;background:#e8f1e2}
.tm-account-avatar-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.tm-account-heading h1{margin:8px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.035em}
.tm-account-heading p,.tm-account-panel p{color:#647a68;line-height:1.7}
.tm-account-heading p{margin:0}
.tm-account-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:28px;align-items:start}
.tm-account-nav{display:grid;gap:5px;position:sticky;top:100px;padding:12px;border:1px solid #e0e9d8;border-radius:13px;background:#fff}
.tm-account-nav a,.tm-account-nav button{padding:12px 14px;border:0;border-radius:8px;background:transparent;color:#4b6552;font:inherit;font-size:14px;font-weight:700;text-align:left;text-decoration:none;cursor:pointer}
.tm-account-nav a:hover,.tm-account-nav a[aria-current=page],.tm-account-nav button:hover,.tm-account-nav button[aria-current=page]{background:#e8f1e2;color:#254e37}
.tm-account-nav .tm-account-logout{margin-top:8px;border-top:1px solid #e8eee4;border-radius:0;color:#8b5e4d}
.tm-account-main{display:grid;gap:20px;min-width:0}
.tm-account-panel{padding:clamp(22px,3vw,34px);border:1px solid #dfe8d9;border-radius:14px;background:#fff;box-shadow:0 13px 36px rgba(39,72,45,.045)}
.tm-account-panel h2{margin:8px 0 12px;font-size:clamp(22px,2.5vw,30px);line-height:1.2;letter-spacing:-.025em}
.tm-account-panel h3{margin:27px 0 13px;font-size:17px}
.tm-account-panel>p{margin:0 0 20px;font-size:14px}
.tm-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:23px}
.tm-stat-grid>div{display:flex;flex-direction:column;min-height:128px;padding:17px;border:1px solid #e1eadb;border-radius:10px;background:#f8fbf5}
.tm-stat-grid span{color:#667e69;font-size:12px;font-weight:700;line-height:1.4}
.tm-stat-grid strong{margin:13px 0 5px;color:#315e42;font-size:clamp(19px,2vw,25px);line-height:1.15;letter-spacing:-.03em}
.tm-stat-grid small{margin-top:auto;color:#879989;font-size:11px;line-height:1.4}
.tm-account-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tm-account-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:45px;margin-top:8px;padding:0 18px;border:1px solid #315e42;border-radius:7px;background:#315e42;color:#fff;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}
.tm-account-button:hover{background:#244a34;color:#fff}
.tm-account-button.secondary{background:#fff;color:#315e42}
.tm-account-button.secondary:hover{background:#edf5e9;color:#315e42}
.tm-account-notice{margin-bottom:20px;padding:13px 17px;border:1px solid #cee1c6;border-radius:8px;background:#e9f4e4;color:#28543b;font-size:14px}
.tm-account-muted{margin-top:20px!important;font-size:12px!important}
.tm-affiliate-rate{display:flex;align-items:baseline;gap:8px;margin-top:20px;color:#5c745f;font-size:13px}
.tm-affiliate-rate strong{color:#315e42;font-size:19px}.tm-affiliate-rate small{margin-left:auto;color:#839786}
.tm-account-list{display:grid;gap:10px}
.tm-affiliate-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border:1px solid #e3ebde;border-radius:9px}
.tm-affiliate-item>div{min-width:0;flex:1}.tm-affiliate-item strong,.tm-affiliate-item small{display:block}.tm-affiliate-item strong{font-size:14px}.tm-affiliate-item small{margin:4px 0;color:#809483;font-size:12px}.tm-affiliate-item input{box-sizing:border-box;width:100%;padding:6px 0;border:0;background:transparent;color:#6d836f;font:inherit;font-size:12px;white-space:nowrap;text-overflow:ellipsis}
.tm-affiliate-item button{flex:none;padding:10px 12px;border:1px solid #bad0b5;border-radius:6px;background:#f0f7ec;color:#315e42;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.tm-order-list{display:grid;gap:10px}.tm-order-item{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #e7eee3}.tm-order-item:last-child{border-bottom:0}.tm-order-item>div:last-child{display:grid;justify-items:end;gap:8px;text-align:right}.tm-order-item strong,.tm-order-item small{display:block}.tm-order-item small{color:#879788;font-size:11px}.tm-order-item p{margin:8px 0 0;color:#607563;font-size:13px}.tm-status{display:inline-block;padding:5px 9px;border-radius:30px;background:#eaf2e5;color:#3b6345;font-size:11px;font-weight:750}.tm-status-cancelled{background:#f5ece9;color:#965e50}.tm-status-shipping{background:#eef1fb;color:#526a9c}.tm-status-delivered_paid{background:#deefdc;color:#2a6b42}
.tm-points-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(120deg,#fff,#eef5e9)}.tm-points-balance{display:grid;justify-items:center;min-width:145px;padding:19px;border:1px solid #d6e4ce;border-radius:12px;background:#fff}.tm-points-balance img{width:29px;height:29px}.tm-points-balance strong{margin:7px 0;color:#315e42;font-size:36px;line-height:1}.tm-points-balance span{color:#728974;font-size:11px}
.tm-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e8eee5;font-size:13px}.tm-history-row:last-child{border-bottom:0}.tm-history-row>span{min-width:0}.tm-history-row small{display:block;color:#899a8a;font-size:11px}.tm-history-row strong{color:#315e42;white-space:nowrap}.tm-history-row strong.negative{color:#9a644a}
.tm-transfer{display:grid;gap:5px;margin-top:22px;padding:16px;border:1px solid #d5e5cc;border-radius:9px;background:#f4f9ef;color:#345c3e;font-size:13px}.tm-transfer strong{font-size:16px}.tm-transfer small{color:#718874;line-height:1.5}
.tm-point-estimate{color:#315e42;font-size:14px;font-weight:800}
.tm-empty{padding:22px;border:1px dashed #d5e3ce;border-radius:8px;color:#718473!important;font-size:13px!important}
.tm-account-form{display:grid;gap:16px;margin-top:18px}.tm-account-form label{display:grid;align-content:start;gap:7px;min-width:0;color:#425d49;font-size:13px;font-weight:750}.tm-account-form input,.tm-account-form textarea{box-sizing:border-box;width:100%;min-height:44px;padding:9px 12px;border:1px solid #cadbc6;border-radius:7px;background:#fff;color:#243f32;font:inherit;font-size:14px}.tm-account-form input:focus,.tm-account-form textarea:focus{outline:2px solid #a8cba1;outline-offset:1px}.tm-account-form input:disabled{background:#f3f5f1;color:#859687}.tm-account-form small{color:#8b9c8d;font-size:11px;font-weight:400}.tm-account-form .tm-account-button{justify-self:start}.tm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.tm-form-grid>*{min-width:0}.tm-form-wide{grid-column:1/-1}
.tm-account-guest{max-width:470px;margin:25px auto;padding:35px;border:1px solid #dfe8d9;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(39,72,45,.07)}.tm-account-guest h1{margin:10px 0;font-size:37px;letter-spacing:-.04em}.tm-account-guest p{color:#667d69;line-height:1.7}.tm-account-guest form{display:grid;gap:14px;margin-top:20px}.tm-account-guest form p{display:grid;gap:5px;margin:0}.tm-account-guest input[type=text],.tm-account-guest input[type=password]{box-sizing:border-box;width:100%;min-height:45px;padding:8px 12px;border:1px solid #cadbc6;border-radius:7px;font:inherit}.tm-account-guest input[type=submit]{min-height:46px;border:0;border-radius:7px;background:#315e42;color:#fff;font:inherit;font-weight:800;cursor:pointer}.tm-account-guest-links{display:flex;justify-content:space-between;gap:15px;margin-top:17px;font-size:13px}.tm-account-guest-links a,.tm-account-guest-links button{padding:0;border:0;background:none;color:#315e42;font:inherit;font-weight:750;text-decoration:underline;cursor:pointer}
@media(max-width:940px){.tm-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-account-layout{grid-template-columns:180px minmax(0,1fr);gap:16px}}
@media(max-width:700px){.account-trigger{width:36px;min-height:36px;padding:0;border-radius:9px}.account-trigger span{display:none}.tm-account{padding:32px 0 65px}.tm-account-heading{gap:14px;margin-bottom:22px}.tm-account-avatar{width:56px;height:56px}.tm-account-heading h1{font-size:26px}.tm-account-heading p{font-size:12px}.tm-account-layout{display:block}.tm-account-nav{position:static;display:flex;gap:3px;overflow-x:auto;margin-bottom:16px;padding:6px;white-space:nowrap;scrollbar-width:none}.tm-account-nav::-webkit-scrollbar{display:none}.tm-account-nav a,.tm-account-nav button{padding:10px;font-size:12px}.tm-account-nav .tm-account-logout{margin:0;border:0}.tm-account-duo{grid-template-columns:1fr}.tm-account-panel{padding:21px}.tm-affiliate-rate{flex-wrap:wrap}.tm-affiliate-rate small{width:100%;margin-left:0}}
@media(max-width:430px){.tm-stat-grid{gap:8px}.tm-stat-grid>div{min-height:108px;padding:12px}.tm-stat-grid strong{font-size:19px}.tm-form-grid{grid-template-columns:1fr}.tm-affiliate-item{align-items:stretch;flex-direction:column}.tm-affiliate-item button{align-self:start}.tm-points-hero{align-items:flex-start;flex-direction:column}.tm-points-balance{width:100%;box-sizing:border-box}}

/* The member and cart actions share one visual language on every page. */
.header-actions .account-trigger,.header-actions .cart-trigger{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:none;gap:9px;width:auto;height:42px;min-height:42px;margin:0;padding:0 14px;border:1px solid #d8e3d3;border-radius:999px;background:#fff;color:#315740;font:inherit;font-size:13px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:0 2px 10px rgba(34,66,42,.035);transition:background .2s,border-color .2s,transform .2s}
.header-actions .account-trigger:hover,.header-actions .cart-trigger:hover{background:#edf5e9;border-color:#acc5a8;transform:translateY(-1px)}
.header-actions .account-trigger:focus-visible,.header-actions .cart-trigger:focus-visible{outline:2px solid #47764d;outline-offset:3px}
.header-actions .account-trigger svg,.header-actions .cart-trigger svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-actions .cart-count{display:grid;place-items:center;position:static;flex:none;margin:0;width:20px;height:20px;border-radius:50%;background:#5a805e;color:#fff;font-size:10px;line-height:1}
.tm-account-avatar-form{margin:0;flex:none}
.tm-account-avatar{position:relative;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.tm-account-avatar:hover,.tm-account-avatar:focus-within{border-color:#79a17b;box-shadow:0 0 0 4px #e6f0e2}
.tm-account-avatar input[type=file]{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}
.tm-avatar-edit{position:absolute;right:3px;bottom:3px;z-index:1;display:grid;place-items:center;width:25px;height:25px;border:2px solid #f7f9f3;border-radius:50%;background:#315e42;color:#fff;font-size:14px;line-height:1;box-shadow:0 2px 6px rgba(16,48,27,.2)}
.tm-account-nav a,.tm-account-nav button{display:flex;align-items:center;gap:11px}
.tm-account-nav-icon{width:18px;height:18px;flex:none;opacity:.85}
.tm-interaction-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.tm-interaction-item{padding:21px 0;border-bottom:1px solid #e7eee3}
.tm-interaction-item:last-child{padding-bottom:0;border-bottom:0}
.tm-interaction-meta{display:flex;align-items:center;gap:12px}.tm-interaction-meta small{color:#869788;font-size:12px}
.tm-interaction-item h3{margin:10px 0 8px;font-size:16px;line-height:1.4}.tm-interaction-item h3 a{color:#315e42;text-decoration:none}.tm-interaction-item h3 a:hover{text-decoration:underline}
.tm-interaction-item p{margin:10px 0!important;color:#5d735f;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.tm-interaction-link{color:#315e42;font-size:12px;font-weight:750;text-decoration:none}.tm-interaction-link:hover{text-decoration:underline}
.tm-account-form input[type=file]{padding:8px;border:1px dashed #a9c3a6;background:#f6faf2;color:#315e42;cursor:pointer}
.tm-account-form input[type=file]::file-selector-button{margin-right:12px;padding:9px 12px;border:1px solid #bfd4ba;border-radius:7px;background:#eaf3e5;color:#315e42;font:inherit;font-weight:750;cursor:pointer}
.tm-account-file-field{display:grid;gap:7px;color:#425d49;font-size:13px;font-weight:750}.tm-account-file-field>small{color:#8b9c8d;font-size:11px;font-weight:400}.tm-account-file{display:flex;align-items:center;gap:10px;min-height:44px}.tm-account-file input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}.tm-account-file label{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0!important;padding:0 13px;border:1px solid #bbd0b7;border-radius:7px;background:#f4f8ef;color:#315b3a;font-size:13px;font-weight:750;cursor:pointer}.tm-account-file label:hover,.tm-account-file input:focus-visible+label{background:#e8f2e1;border-color:#7da381}.tm-account-file small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a8d7b;font-size:12px;font-weight:400}
.header-actions .account-trigger-avatar{display:block;flex:none;width:24px;height:24px;object-fit:cover;border-radius:50%;background:#e8f1e2}
.tm-google-section{margin:16px 0;padding:14px 0;border-top:1px solid #e5ecdf}.tm-google-section>p:first-child{margin:0 0 10px;color:#5a735f;font-size:13px}.tm-google-button{min-height:44px}.tm-google-error{margin:8px 0 0!important;color:#a04436!important;font-size:12px!important}.tm-email-signup{margin-top:12px}.tm-email-signup summary{color:#315e42;font-size:13px;font-weight:750;cursor:pointer}.tm-email-signup .partner-popup-form{margin-top:14px}.tm-checkout-account{margin:0 0 13px;color:#607863;font-size:13px;line-height:1.5}.tm-checkout-delivery{display:flex!important;align-items:center;gap:9px;padding:11px 12px;border:1px solid #cbd9c6;border-radius:8px;background:#f5f9f1}.tm-checkout-delivery input{width:16px!important;height:16px!important;margin:0!important;accent-color:#315e42}
@media(max-width:700px){.header-actions .account-trigger,.header-actions .cart-trigger{width:auto;height:38px;min-width:38px;min-height:38px;padding:0 9px;border-radius:10px}.header-actions .account-trigger span,.header-actions .cart-trigger>span{display:none}.header-actions .cart-trigger{gap:4px}.header-actions .cart-count{width:16px;height:16px;font-size:9px}.tm-account-nav a,.tm-account-nav button{gap:6px}.tm-account-nav-icon{width:15px;height:15px}}
@media(max-width:430px){.tm-interaction-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.tm-interaction-stats>div{padding:10px}.tm-account-heading{align-items:flex-start}}

/* assets/page.css */
.tm-policy{background:#fbfcf7;color:var(--ink)}
.tm-policy-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 77% 18%,#f7efda 0,#f4f6e9 28%,#f7f8f1 64%,#fbfcf7 100%);border-bottom:1px solid #e4e9dd}
.tm-policy-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 52%,rgba(212,190,148,.1) 70%,transparent 85%)}
.tm-policy-hero-inner{min-height:385px;display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:6%;position:relative;padding-top:72px;padding-bottom:68px}
.tm-policy-kicker{display:inline-flex;align-items:center;gap:10px;color:#648467;font-size:11px;font-weight:800;letter-spacing:.17em}.tm-policy-kicker img{object-fit:contain;background:#dce9d0;border-radius:50%;padding:3px}
.tm-policy-hero h1{max-width:740px;margin:20px 0;color:#213a2d;font-size:clamp(46px,5.6vw,76px);line-height:1.06;letter-spacing:-.055em;font-weight:800}
.tm-policy-hero p{max-width:650px;margin:0;color:#5b7162;font-size:18px;line-height:1.8}
.tm-policy-updated{display:inline-block;margin-top:30px;padding-top:12px;border-top:1px solid #b4c8af;color:#6d866e;font-size:12px;font-weight:700;letter-spacing:.03em}
.tm-policy-hero-art{display:grid;justify-items:center;gap:18px;color:#739072;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tm-policy-art-ring{width:252px;height:252px;border:1px solid #b9ccb5;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 22px rgba(214,229,205,.33),0 0 0 47px rgba(232,238,217,.4)}.tm-policy-art-ring img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 14px 19px rgba(38,75,46,.12))}
.tm-policy-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(45px,7vw,110px);padding-top:77px;padding-bottom:100px;align-items:start}
.tm-policy-aside{align-self:stretch}.tm-policy-aside-inner{position:sticky;top:110px}.tm-policy-aside-label{display:block;margin-bottom:23px;color:#789779;font-size:11px;font-weight:800;letter-spacing:.16em}.tm-policy-aside nav{display:grid;border-left:1px solid #d5e1d2}.tm-policy-aside nav a{padding:13px 0 13px 18px;color:#607568;font-size:13px;font-weight:700;line-height:1.45;transition:color .2s,border-color .2s;border-left:2px solid transparent;margin-left:-1px}.tm-policy-aside nav a:hover,.tm-policy-aside nav a:focus-visible{color:#284d35;border-left-color:#648b68}
.tm-policy-contact{display:grid;justify-items:start;gap:11px;margin-top:42px;padding:22px 20px;border:1px solid #d8e6d2;background:#edf4e7;border-radius:14px}.tm-policy-contact img{background:#dce9d0;border-radius:50%;padding:3px}.tm-policy-contact strong{font-size:14px;color:#304f39}.tm-policy-contact a{font-size:12px;font-weight:700;color:#46724c}
.tm-policy-content{max-width:790px;color:#506557;font-size:15px;line-height:1.9}.tm-policy-content h2{position:relative;margin:53px 0 17px;padding-top:28px;border-top:1px solid #dce6d8;color:#263e30;font-size:clamp(25px,2.6vw,34px);letter-spacing:-.04em;line-height:1.3;scroll-margin-top:110px}.tm-policy-content h2:first-of-type{margin-top:30px}.tm-policy-content h2:before{content:"";position:absolute;left:0;top:-2px;width:52px;height:3px;border-radius:3px;background:#83a483}.tm-policy-content p{margin:0 0 19px}.tm-policy-content p:first-child{font-size:17px;line-height:1.85;color:#3e5b47}.tm-policy-content ul{margin:8px 0 32px;padding:0;list-style:none;display:grid;gap:12px}.tm-policy-content li{position:relative;padding:16px 19px 16px 43px;background:#fff;border:1px solid #e6ebe1;border-radius:11px;box-shadow:0 8px 24px rgba(53,80,53,.035);line-height:1.72}.tm-policy-content li:before{content:"";position:absolute;top:26px;left:19px;width:9px;height:9px;border-radius:50%;background:#86a889}.tm-policy-content a{color:#386645;text-decoration:underline;text-underline-offset:3px}.tm-policy-content a:hover{color:#234b2e}
@media(max-width:850px){.tm-policy-hero-inner{grid-template-columns:1fr 180px;gap:20px;min-height:330px}.tm-policy-art-ring{width:150px;height:150px;box-shadow:0 0 0 15px rgba(214,229,205,.33),0 0 0 31px rgba(232,238,217,.4)}.tm-policy-art-ring img{width:70px;height:70px}.tm-policy-hero-art span{display:none}.tm-policy-layout{grid-template-columns:1fr;gap:24px;padding-top:45px}.tm-policy-aside-inner{position:static}.tm-policy-aside nav{display:flex;flex-wrap:wrap;gap:8px;border:0}.tm-policy-aside nav a{margin:0;padding:8px 12px;border:1px solid #d9e5d4;border-radius:40px;background:#fff}.tm-policy-contact{display:none}}
@media(max-width:600px){.tm-policy-hero-inner{display:block;min-height:0;padding-top:57px;padding-bottom:59px}.tm-policy-hero-art{display:none}.tm-policy-hero h1{font-size:clamp(42px,10vw,55px)}.tm-policy-hero p{font-size:15px;line-height:1.75}.tm-policy-updated{margin-top:24px}.tm-policy-layout{padding-bottom:70px}.tm-policy-content{font-size:14px;line-height:1.8}.tm-policy-content h2{margin-top:42px;font-size:26px}.tm-policy-content li{padding:14px 15px 14px 36px}.tm-policy-content li:before{left:16px;top:24px;width:7px;height:7px}.tm-policy-aside nav a{font-size:11px}}

/* assets/system.css */
/* Tuấn Mộc typography, colour and responsive layout shared by every template. */
:root {
  --ink: #263e30;
  --muted: #607365;
  --green: #386746;
  --line: #dce6d8;
  --cream: #faf9f4;
  --paper: #fffefa;
  --tm-sage: #6f966e;
  --tm-soft-green: #eaf2e4;
}

html { scroll-padding-top: 96px; }
body, button, input, textarea, select { font-family: Montserrat, Arial, sans-serif; }
body { color: var(--ink); font-size: 16px; line-height: 1.7; }
button, input, textarea, select { font-size: inherit; }
h1, h2, h3 { color: var(--ink); font-weight: 700; letter-spacing: -.045em; text-wrap: balance; }
h1 { line-height: 1.1; }
h2 { line-height: 1.2; }
h3 { line-height: 1.35; }
h1 em, h2 em, h3 em { color: var(--tm-sage); font-weight: 600; }
.eyebrow, .tm-policy-kicker, .partner-kicker { color: #648767; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
:where(.button, .button-text, .partner-cta, .partner-popup-submit, .tm-account-button) { font-weight: 700; }
:where(a, button, input, textarea, select):focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

/* One readable type scale across the home, product, account and content pages. */
.hero h1 { font-size: clamp(48px, 4.1vw, 66px); line-height: 1.12; }
.hero-copy > p { font-size: 17px; line-height: 1.78; color: #526a58; }
.section-heading h2, .assembly-copy h2, .story-copy h2,
.benefits-intro h2, .story-detail-grid h2, .reviews-heading h2 {
  font-size: clamp(34px, 3.25vw, 48px);
  line-height: 1.2;
}
.footer-contact-heading h2 { font-size: clamp(30px, 2.7vw, 39px); }
.tm-single h1 { font-size: clamp(38px, 3.6vw, 54px); }
.tm-account-heading h1 { font-size: clamp(34px, 3.2vw, 48px); }
.tm-account-panel h2 { font-size: clamp(25px, 2.2vw, 32px); }
.tm-policy-hero h1 { font-size: clamp(46px, 4.8vw, 66px); }
.tm-policy-content h2 { font-size: clamp(27px, 2.3vw, 35px); }
.partner-invite h2 { font-size: clamp(34px, 3.2vw, 48px); }
.product-info h3, .benefit h3, .assembly-step h3 { font-size: 18px; }
.product-info p { font-size: 14px; line-height: 1.7; }
.benefit p, .assembly-step p, .location-card p, .tm-account-panel > p,
.tm-policy-content, .story-detail-grid p, .story-detail-grid li { font-size: 15px; line-height: 1.75; }
.footer-contact-heading p, .site-footer p { font-size: 14px; line-height: 1.7; }
.tm-product-lead, .tm-policy-hero p { font-size: 17px; line-height: 1.75; }
.review-form-wrap input[type="text"], .review-form-wrap input[type="email"],
.review-form-wrap textarea, .tm-checkout input, .tm-checkout textarea { font-size: 15px; }

/* iOS Safari zooms the whole page when a focused text control is below 16px. */
@media (max-width: 760px) {
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  textarea,
  select { font-size: 16px !important; }
}

/* Wider monitors get proportionally wider content without oversized text. */
@media (min-width: 1600px) {
  .container { width: min(1480px, calc(100% - 112px)); }
  .hero-grid { min-height: 700px; }
  .hero-copy { max-width: 660px; }
  .hero-copy > p { max-width: 560px; }
  .product-grid { gap: 25px; }
  .section-space { padding-block: 100px; }
}

/* A compact desktop keeps the live copy clear of the product photograph. */
@media (min-width: 901px) and (max-width: 1199px) {
  .hero-grid { min-height: 610px; }
  .hero-copy { max-width: 440px; }
  .hero h1 { font-size: clamp(41px, 4.2vw, 50px); }
  .hero-copy > p { max-width: 405px; font-size: 16px; }
  .hero-art { width: 66vw; }
  .hero-lifestyle {
    object-position: 61% center;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.15) 12%, #000 35%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.15) 12%, #000 35%);
  }
}

/* Tablet navigation and page columns should have room to breathe. */
@media (max-width: 980px) {
  .header-row { gap: 16px; }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    padding: 14px max(24px, calc((100vw - 840px)/2)) 19px;
    border-bottom: 1px solid var(--line);
    background: #fbfcf7;
    box-shadow: 0 14px 28px rgba(37, 62, 44, .12);
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
  .menu-toggle { display: flex; width: 42px; height: 42px; flex: none; }
  .assembly-grid, .story-grid, .story-detail-grid { grid-template-columns: minmax(0,1fr); gap: 38px; }
  .story-picture { width: min(100%, 650px); }
  .footer-contact { grid-template-columns: minmax(0,1fr); gap: 28px; }
}

@media (min-width: 761px) and (max-width: 900px) {
  .hero-grid { display: block; min-height: 0; padding: 68px 0 0; }
  .hero-copy { max-width: 650px; }
  .hero h1 { font-size: clamp(45px, 6vw, 55px); }
  .hero-copy > p { max-width: 610px; }
  .hero-proof { margin-top: 28px; }
  .hero-art {
    position: relative; inset: auto;
    width: 100vw; height: min(65vw, 560px);
    margin: 34px 0 0 calc((100vw - 100%) / -2);
    -webkit-mask-image: none; mask-image: none;
  }
  .hero-art picture { display: block; width: 100%; height: 100%; }
  .hero-lifestyle {
    position: static; display: block; width: 100%; height: 100%;
    object-fit: cover; object-position: center 48%;
    -webkit-mask-image: none; mask-image: none;
  }
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .tm-single-media { max-width: 560px; }
}

@media (max-width: 900px) {
  .tm-single-grid { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .tm-single-media { position: static; width: min(100%, 640px); margin-inline: auto; }
  .tm-product-panel { padding-top: 0; }
  .tm-single h1 { font-size: clamp(34px, 5.4vw, 46px); }
  .tm-files-body { grid-template-columns: minmax(0,1fr); }
  .tm-download-stat {
    grid-row: 1; flex-direction: row; align-items: baseline; gap: 14px;
    border-left: 0; border-bottom: 1px solid #c8dac1; padding: 0 0 15px;
  }
  .tm-download-stat strong { margin: 0; font-size: 54px; }
}

@media (max-width: 850px) {
  .tm-account-layout { display: block; }
  .tm-account-nav {
    position: static; display: flex; gap: 4px; overflow-x: auto;
    margin-bottom: 20px; padding: 7px; white-space: nowrap; scrollbar-width: none;
  }
  .tm-account-nav::-webkit-scrollbar { display: none; }
  .tm-account-nav a, .tm-account-nav button { padding: 10px 12px; }
  .tm-account-nav .tm-account-logout { margin: 0; border: 0; }
  .tm-account-duo { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 78px; }
  .container { width: calc(100% - 36px); }
  .main-nav { padding-inline: 18px; }
  .hero h1 { font-size: clamp(39px, 9.4vw, 56px); }
  .hero-copy > p { font-size: 16px; line-height: 1.7; }
  .section-heading h2, .assembly-copy h2, .story-copy h2,
  .benefits-intro h2, .story-detail-grid h2, .reviews-heading h2 {
    font-size: clamp(31px, 7.8vw, 42px);
  }
  .tm-account-heading h1 { font-size: clamp(27px, 6.8vw, 38px); }
  .tm-policy-hero h1 { font-size: clamp(38px, 9vw, 52px); }
  .tm-policy-content { font-size: 15px; }
  .tm-policy-content h2 { font-size: clamp(25px, 6.2vw, 32px); }
  .partner-invite h2 { font-size: clamp(31px, 7.8vw, 42px); }
  .location-grid { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 480px) {
  .header-row { gap: 8px; }
  .header-actions { gap: 6px; }
  .hero-proof { display: none; }
  .hero h1 { font-size: clamp(37px, 9.4vw, 46px); }
  .hero-copy > p { font-size: 15.5px; }
  .tm-price-row { flex-wrap: wrap; gap: 4px 12px; }
  .tm-single-price { white-space: nowrap; font-size: 27px; }
  .reviews-heading h2 { font-size: 31px; }
  .tm-interaction-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-order-thanks { padding-inline: 24px; }
}

/* assets/catalog.css */
/* Catalog, product search and the shared search control. */
.search-trigger{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:1px solid #d8e3d3;border-radius:50%;background:#fff;color:#315740;transition:background .2s,border-color .2s}
.search-trigger:hover,.search-trigger[aria-expanded="true"]{background:#edf5e9;border-color:#acc5a8}
.search-trigger svg,.tm-search-form svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-search-panel[hidden]{display:none!important}
.header-search-panel{position:absolute;top:100%;left:0;right:0;z-index:31;padding:23px 0 27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcf7;box-shadow:0 18px 35px rgba(34,62,42,.12)}
.header-search-inner{display:grid;grid-template-columns:245px minmax(0,1fr);align-items:center;gap:24px}
.header-search-inner>span{font-size:15px;font-weight:700;color:var(--ink)}
.tm-search-form{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:7px;border:1px solid #d3e1cf;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(36,65,42,.045)}
.tm-search-form:focus-within{border-color:#7ca27d;box-shadow:0 0 0 3px rgba(111,150,110,.14)}
.tm-search-form input[type="search"]{flex:1;min-width:0;min-height:42px;padding:0 12px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:15px}
.tm-search-form input::placeholder{color:#8a9c8b}
.tm-search-form button{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;min-height:42px;padding:0 17px;border:0;border-radius:6px;background:#356344;color:#fff;font:inherit;font-size:13px;font-weight:750;white-space:nowrap}
.tm-search-form button:hover{background:#285137}
.tm-catalog{background:#fafbf6;color:var(--ink)}
.tm-catalog-hero{padding:29px 0 72px;background:radial-gradient(circle at 88% 10%,#e9f2dd 0,transparent 38%),linear-gradient(125deg,#fffdf7,#f0f6ea)}
.tm-catalog-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:60px;color:#7d9180;font-size:13px}
.tm-catalog-breadcrumb a{color:#517457}
.tm-catalog-breadcrumb a:hover{text-decoration:underline}
.tm-catalog-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:end;gap:clamp(35px,6vw,95px)}
.tm-catalog-heading .eyebrow{gap:9px}
.tm-catalog-heading .eyebrow img{width:20px;height:20px;object-fit:contain}
.tm-catalog-heading h1{max-width:850px;margin:17px 0 16px;font-size:clamp(39px,4vw,60px);line-height:1.13;overflow-wrap:anywhere}
.tm-catalog-heading h1 em{display:inline;color:#6f966e;font-style:italic}
.tm-catalog-heading p{max-width:610px;margin:0;color:#5c7361;font-size:16px;line-height:1.75}
.tm-catalog-search-block{padding:22px;border:1px solid #dce8d6;border-radius:14px;background:rgba(255,255,255,.86);box-shadow:0 16px 42px rgba(46,77,48,.07)}
.tm-catalog-search-block>span{display:block;margin-bottom:11px;color:#638569;font-size:11px;font-weight:800;letter-spacing:.13em}
.tm-catalog-search-block small{display:block;margin:11px 2px 0;color:#8a9c8c;font-size:12px}
.tm-catalog-results{padding-top:43px;min-height:460px}
.tm-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:27px}
.tm-catalog-filters{display:flex;gap:9px;flex-wrap:wrap}
.tm-catalog-filters a{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:7px 15px;border:1px solid #d7e4d2;border-radius:40px;background:#fff;color:#527259;font-size:13px;font-weight:700;transition:background .2s,border-color .2s,color .2s}
.tm-catalog-filters a:hover{background:#edf4e9;border-color:#acc9aa}
.tm-catalog-filters a[aria-current="page"]{border-color:#356344;background:#356344;color:#fff}
.tm-catalog-toolbar p{flex:none;margin:0;color:#829383;font-size:13px}
.tm-catalog-grid .product-card{border-radius:10px;background:#fff}
.tm-catalog-grid .product-image-button{background:#fff}
.tm-catalog-grid .product-image-button img{object-fit:contain}
.tm-catalog-empty{display:grid;justify-items:start;max-width:590px;padding:55px;border:1px solid #e0e9da;border-radius:16px;background:#fff}
.tm-catalog-empty img{width:46px;height:46px;margin-bottom:17px}
.tm-catalog-empty h2{font-size:30px;line-height:1.2;margin:0 0 9px}
.tm-catalog-empty p{color:#647967;font-size:15px;line-height:1.7;margin:0 0 20px}
.tm-catalog .navigation.pagination{margin-top:42px}
.tm-catalog .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.tm-catalog .page-numbers{display:grid;place-items:center;min-width:38px;min-height:38px;padding:5px 10px;border:1px solid #d8e6d4;border-radius:6px;background:#fff;color:#416b4b;font-size:13px;font-weight:700}
.tm-catalog .page-numbers.current{background:#356344;border-color:#356344;color:#fff}
.tm-home-catalog-link{display:flex;justify-content:center;margin-top:34px}
.tm-home-catalog-link .button-text{font-size:14px}
@media(max-width:980px){.header-search-inner{grid-template-columns:1fr;gap:10px}.tm-catalog-hero-grid{grid-template-columns:1fr;gap:30px}.tm-catalog-search-block{max-width:690px}.tm-catalog-breadcrumb{margin-bottom:40px}}
@media(max-width:760px){.search-trigger{width:40px;height:40px;border-radius:9px}.header-search-panel{padding:16px 0 20px}.header-search-inner>span{font-size:13px}.tm-catalog-hero{padding:20px 0 49px}.tm-catalog-breadcrumb{font-size:12px;margin-bottom:35px}.tm-catalog-heading h1{font-size:clamp(35px,7.8vw,47px)}.tm-catalog-heading p{font-size:15px}.tm-catalog-search-block{padding:15px}.tm-catalog-results{padding-top:27px}.tm-catalog-toolbar{align-items:flex-start;flex-direction:column;gap:13px}.tm-catalog-empty{padding:30px}.tm-catalog-empty h2{font-size:26px}}
@media(max-width:480px){.search-trigger{width:36px;height:36px}.search-trigger svg{width:18px;height:18px}.tm-search-form{gap:3px;padding:5px}.tm-search-form input[type="search"]{min-height:38px;padding:0 8px;font-size:14px}.tm-search-form button{width:39px;min-height:39px;padding:0}.tm-search-form button span{display:none}.tm-catalog-heading h1{font-size:clamp(34px,8.5vw,40px)}.tm-catalog-filters a{font-size:12px;padding:7px 12px}}

/* assets/controls.css */
/* Tuấn Mộc controls: the outlined cart pill is the reference for shape, border and icons. */
:root {
  --tm-control-ink: #315740;
  --tm-control-green: #356344;
  --tm-control-border: #cfdfca;
  --tm-control-hover: #edf5e9;
  --tm-control-height: 46px;
  --tm-control-font: 14px;
  --tm-control-pad: 20px;
  --tm-control-shadow: 0 3px 12px rgba(34, 66, 42, .045);
}

/* Keep the four header actions aligned at every width. */
.site-header .header-actions { gap: 8px; }
.site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) {
  box-sizing: border-box;
  flex: none;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  height: 42px;
  margin: 0;
  border: 1px solid var(--tm-control-border);
  border-radius: 999px;
  background: #fff;
  color: var(--tm-control-ink);
  box-shadow: var(--tm-control-shadow);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  transition: background .2s, border-color .2s, box-shadow .2s, transform .2s;
}
.site-header .header-actions .search-trigger { display: grid; place-items: center; width: 42px; padding: 0; }
.site-header .header-actions .menu-toggle { display: none; place-items: center; width: 42px; padding: 0; }
.site-header .header-actions :is(.account-trigger, .cart-trigger) { display: inline-flex; gap: 8px; padding: 0 14px; }
.site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle):hover {
  background: var(--tm-control-hover);
  border-color: #a9c5a5;
  box-shadow: 0 5px 16px rgba(34, 66, 42, .075);
}
.site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle):focus-visible {
  outline: 2px solid var(--tm-control-green);
  outline-offset: 3px;
}
.site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) svg {
  display: block;
  width: 19px;
  height: 19px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.site-header .header-actions .menu-toggle { flex-direction: row; }
.site-header .header-actions .cart-count { width: 20px; height: 20px; font-size: 10px; }

/* Filled actions and outlined actions use the same type scale and silhouette. */
.button,
.partner-cta,
.partner-popup-submit,
.tm-account-button,
.tm-account-guest input[type="submit"],
.review-form-wrap .submit,
.tm-search-form button {
  box-sizing: border-box;
  min-height: var(--tm-control-height);
  border-radius: 999px;
  padding-inline: var(--tm-control-pad);
  font-family: Montserrat, Arial, sans-serif;
  font-size: var(--tm-control-font);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  box-shadow: var(--tm-control-shadow);
}
.button { gap: 14px; }
.button-primary,
.partner-cta,
.partner-popup-submit,
.tm-account-button:not(.secondary),
.tm-account-guest input[type="submit"],
.review-form-wrap .submit,
.tm-search-form button {
  border: 1px solid var(--tm-control-green);
  background: var(--tm-control-green);
  color: #fff;
}
.button-primary:hover,
.partner-cta:hover,
.partner-popup-submit:hover,
.tm-account-button:not(.secondary):hover,
.tm-account-guest input[type="submit"]:hover,
.review-form-wrap .submit:hover,
.tm-search-form button:hover { background: #284f36; color: #fff; }
.button-outline,
.tm-account-button.secondary { border: 1px solid var(--tm-control-border); background: #fff; color: var(--tm-control-ink); }
.button-outline:hover,
.tm-account-button.secondary:hover { background: var(--tm-control-hover); border-color: #a9c5a5; }
.button :is(svg, span), .partner-cta svg, .tm-account-button svg { flex: none; }

/* Small, repeated controls remain quiet beside the product photography. */
.add-button,
.tm-catalog .page-numbers,
.tm-affiliate-item button,
.partner-product-link button,
.tm-account-file label,
.review-form-actions .review-file-button,
.file-download,
.review-reply-controls button,
.wood-option,
.size-option,
.tm-catalog-filters a,
.rating-options span {
  border-radius: 999px;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
}
.add-button,
.tm-affiliate-item button,
.partner-product-link button,
.tm-account-file label,
.review-form-actions .review-file-button,
.file-download,
.review-reply-controls button {
  min-height: 38px;
  padding-inline: 15px;
  border: 1px solid var(--tm-control-border);
  background: #fff;
  color: var(--tm-control-ink);
  box-shadow: var(--tm-control-shadow);
}
.add-button:hover,
.tm-affiliate-item button:hover,
.partner-product-link button:hover,
.tm-account-file label:hover,
.review-form-actions .review-file-button:hover,
.file-download:hover,
.review-reply-controls button:hover { background: var(--tm-control-hover); border-color: #a9c5a5; }
.review-reply-controls .review-reply-submit { background: var(--tm-control-green); border-color: var(--tm-control-green); color: #fff; }
.single-variant .wood-option, .single-variant .size-option { min-height: 44px; }
.single-purchase .qty-control, .dialog-actions .qty-control { border-radius: 999px; }

/* The footer contact action uses the same outlined treatment as the cart. */
.site-footer .footer-hotline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: max-content;
  max-width: 100%;
  min-height: var(--tm-control-height);
  padding: 0 var(--tm-control-pad);
  border: 1px solid var(--tm-control-border);
  border-radius: 999px;
  background: #fff;
  color: var(--tm-control-ink);
  box-shadow: var(--tm-control-shadow);
  font-size: var(--tm-control-font);
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
}
.site-footer .footer-hotline:hover { background: var(--tm-control-hover); border-color: #a9c5a5; color: var(--tm-control-ink); }
.site-footer .footer-hotline svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-footer .footer-hotline span { margin: 0; }
.tm-google-button-compact { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tm-google-button-compact > span { color: var(--tm-control-ink); font-size: 12px; font-weight: 700; line-height: 1.35; }

@media (max-width: 980px) {
  .site-header .header-actions .menu-toggle { display: grid; }
}

@media (min-width: 1600px) {
  :root { --tm-control-height: 50px; --tm-control-font: 15px; --tm-control-pad: 24px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger) { height: 46px; min-height: 46px; }
  .site-header .header-actions .search-trigger { width: 46px; }
  .site-header .header-actions :is(.account-trigger, .cart-trigger) { padding-inline: 17px; font-size: 14px; }
}
@media (min-width: 761px) and (max-width: 1199px) {
  :root { --tm-control-height: 43px; --tm-control-font: 13px; --tm-control-pad: 17px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) { height: 39px; min-height: 39px; }
  .site-header .header-actions :is(.search-trigger, .menu-toggle) { width: 39px; }
  .site-header .header-actions :is(.account-trigger, .cart-trigger) { padding-inline: 11px; font-size: 12px; }
}
@media (max-width: 760px) {
  :root { --tm-control-height: 43px; --tm-control-font: 13px; --tm-control-pad: 16px; }
  .site-header .header-actions { gap: 6px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) {
    height: 40px; min-height: 40px; border-radius: 11px; padding: 0;
  }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .menu-toggle) { width: 40px; min-width: 40px; }
  .site-header .header-actions .cart-trigger { min-width: 61px; padding-inline: 8px; gap: 4px; }
  .site-header .header-actions :is(.account-trigger, .cart-trigger) > span { display: none; }
  .site-header .header-actions .cart-count { width: 17px; height: 17px; font-size: 9px; }
  .site-footer .footer-hotline { min-height: 44px; }
}
@media (max-width: 480px) {
  :root { --tm-control-height: 41px; --tm-control-font: 13px; --tm-control-pad: 14px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) { height: 38px; min-height: 38px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .menu-toggle) { width: 38px; min-width: 38px; }
  .site-header .header-actions .cart-trigger { min-width: 58px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) svg { width: 18px; height: 18px; }
  .site-footer .footer-hotline { min-height: 43px; font-size: 12px; }
  .site-footer .footer-hotline svg { width: 16px; height: 16px; }
  .add-button { font-size: 11px; padding-inline: 11px; }
}
@media (max-width: 340px) {
  .tm-catalog-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .tm-catalog-heading, .tm-catalog-search-block { min-width: 0; }
  .site-header .header-row.container { width: calc(100% - 20px); gap: 5px; }
  .site-header .brand { gap: 5px; }
  .site-header .brand-mark { width: 27px; height: 27px; }
  .site-header .brand strong { font-size: 16px; }
  .site-header .brand small { font-size: 6px; letter-spacing: .08em; }
  .site-header .header-actions { gap: 4px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) { height: 36px; min-height: 36px; }
  .site-header .header-actions :is(.search-trigger, .account-trigger, .menu-toggle) { width: 36px; min-width: 36px; }
  .site-header .header-actions .cart-trigger { min-width: 54px; padding-inline: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .header-actions :is(.search-trigger, .account-trigger, .cart-trigger, .menu-toggle) { transition: none; }
}

/* Keep small brand and category labels readable on light surfaces. */
.brand small { color: #526b53; }
.eyebrow, .tm-policy-kicker, .partner-kicker { color: #496d4d; }
.product-category { color: #527455; }

/* Product quick view: one scrolling content area, with a close control that stays visible. */
.product-dialog { position: relative; overflow: hidden; border-radius: 16px; }
.product-dialog[open] { display: block; }
.product-dialog-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  max-height: min(90vh, 850px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.product-dialog .dialog-close {
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid #dce7d8;
  background: #fff;
  box-shadow: 0 3px 14px rgba(33, 62, 40, .12);
  cursor: pointer;
}

@media (max-width: 760px) {
  .product-dialog {
    width: min(460px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    border-radius: 17px;
  }
  .product-dialog-content {
    display: block;
    max-height: calc(100dvh - 24px);
    scrollbar-width: thin;
  }
  .product-dialog .dialog-photo {
    height: clamp(220px, 34dvh, 310px);
    min-height: 0;
    padding: 12px;
    box-sizing: border-box;
    box-shadow: none;
    border-bottom: 1px solid #edf0e9;
  }
  .product-dialog .dialog-photo img {
    width: 100%;
    height: calc(clamp(220px, 34dvh, 310px) - 24px);
    min-height: 0;
    max-height: calc(clamp(220px, 34dvh, 310px) - 24px);
    aspect-ratio: auto;
    object-fit: contain;
  }
  .product-dialog .dialog-details { padding: 18px 21px 23px; }
  .product-dialog .dialog-details h2 {
    margin: 5px 0 8px;
    font-size: clamp(24px, 6vw, 30px);
    line-height: 1.18;
  }
  .product-dialog .dialog-details p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.55;
  }
  .product-dialog .variant-block { margin: 12px 0; }
  .product-dialog .variant-label { margin-bottom: 7px; font-size: 13px; }
  .product-dialog .wood-option, .product-dialog .size-option {
    min-height: 41px;
    padding: 6px 12px;
    font-size: 13px;
  }
  .product-dialog .dialog-price { margin: 13px 0 12px; font-size: 22px; }
  .product-dialog .dialog-actions { display: grid; grid-template-columns: 106px minmax(0, 1fr); gap: 10px; }
  .product-dialog .dialog-actions .qty-control { justify-content: space-between; min-width: 0; overflow: hidden; }
  .product-dialog .dialog-actions .qty-control button { width: 31px; height: 44px; padding: 0; cursor: pointer; }
  .product-dialog .dialog-actions .qty-control output { min-width: 22px; }
  .product-dialog #dialog-add { min-width: 0; min-height: 44px; justify-content: center; margin: 0; padding: 0 10px; font-size: 13px; }
  .product-dialog #dialog-add span { display: none; }
}
