:root{--ink:#252824;--muted:#777c75;--cream:#f3f0e9;--sand:#d9d0c3;--line:#e5e2db;--olive:#65705d;--dark:#333a32;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.announcement{height:30px;background:#343b33;color:#f3f0e9;text-align:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;justify-content:center}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:20px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.brand-mark{height:34px;width:34px;border-radius:50%;background:var(--olive);color:white;display:inline-grid;place-items:center;font-family:var(--serif);font-size:23px;font-weight:500}.main-nav{display:flex;align-items:center;gap:27px}.main-nav a{font-size:12px;color:#51564f;transition:color .2s}.main-nav a:hover{color:var(--olive)}.nav-cta{font-size:12px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--olive);padding:8px 0}.nav-cta span{padding-left:9px}.mobile-toggle{display:none;background:none;border:0;font-size:25px;color:var(--ink)}.hero-home{height:min(680px,76vw);min-height:560px;position:relative;overflow:hidden;background:#777}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-size:cover;background-position:center 54%;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(24,30,25,.58),rgba(24,30,25,.18) 62%,rgba(24,30,25,.06))}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:white;padding-bottom:22px}.eyebrow,.section-label{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#858a7f;font-weight:600}.light-eyebrow{color:rgba(255,255,255,.75)}.hero-content h1{font:500 clamp(46px,6.2vw,78px)/1.08 var(--serif);letter-spacing:-.035em;max-width:670px;margin:24px 0 20px}.hero-content p{max-width:480px;color:rgba(255,255,255,.88);font-size:16px;line-height:1.8;margin:0 0 32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:23px;border:1px solid transparent;padding:15px 23px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;cursor:pointer;transition:all .2s}.btn span{font-size:16px}.btn-light{background:#fff;color:#30372f}.btn-light:hover{background:#ede9df}.btn-dark{background:var(--dark);color:#fff}.btn-dark:hover{background:var(--olive)}.btn-outline{border-color:#d3d0c8;background:transparent;color:var(--ink)}.btn-small{padding:8px 13px;font-size:10px}.btn-block{width:100%}.hero-index{position:absolute;bottom:30px;right:max(32px,calc((100% - 1200px)/2));z-index:2;color:white;font-size:11px;letter-spacing:.12em}.hero-index span{opacity:.55;margin:0 7px}.trust-strip{background:var(--cream);padding:27px 0}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.trust-grid>div{display:flex;flex-direction:column;gap:2px;border-right:1px solid #ddd8ce}.trust-grid>div:last-child{border:0}.trust-grid strong{font:500 22px var(--serif)}.trust-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.section{padding:105px 0}.section-intro{padding:120px 0 90px}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:50px}.intro-grid h2,.section-heading h2,.editorial-copy h2,.contact-band h2{font:500 clamp(38px,4.3vw,58px)/1.15 var(--serif);letter-spacing:-.035em;margin:16px 0 25px}.intro-grid h2 em,.section-heading h2 em,.contact-band h2 em,.page-hero h1 em{font-weight:500;color:var(--olive)}.lead{font-size:17px;color:#666d64;line-height:1.9;max-width:780px;white-space:pre-line}.text-link{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;border-bottom:1px solid #8a9184;padding-bottom:7px}.text-link span{margin-left:15px}.section-products{background:#f7f6f2}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:40px}.section-heading h2{margin:10px 0 0}.section-heading .text-link{margin-bottom:10px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.category-card{display:block}.category-photo{height:310px;background-size:cover;background-position:center;transition:transform .5s}.category-card{overflow:hidden}.category-card:hover .category-photo{transform:scale(1.035)}.category-card-info{display:grid;grid-template-columns:30px 1fr 20px;align-items:center;padding:16px 2px;border-bottom:1px solid #d7d4cc}.category-card-info span{font-size:10px;color:#94988f}.category-card-info h3{margin:0;font:500 20px var(--serif)}.category-card-info b{text-align:right;font-weight:400}.section-featured{background:#fff}.muted{color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 18px}.product-card{min-width:0}.product-image{position:relative;aspect-ratio:4/5;background:#f0eee8;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.product-card:hover .product-image img{transform:scale(1.045)}.image-placeholder{height:100%;min-height:260px;display:grid;place-items:center;background:linear-gradient(135deg,#e8e4da,#d2c9b9);color:#8a8c7e;font:500 18px var(--serif);letter-spacing:.25em}.product-tag{position:absolute;top:14px;left:14px;background:#fff;padding:5px 10px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.product-card-copy{padding-top:15px}.product-category{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#8b9087}.product-card h3{font:500 20px var(--serif);margin:4px 0}.product-price{font-size:12px;color:#6d756a}.editorial-section{padding:70px 0}.editorial-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:90px}.editorial-visual{height:490px;background:#e9e5dc center/cover}.editorial-copy h2{font-size:48px;margin:18px 0 10px}.editorial-copy h3{font:500 19px var(--serif);color:#7a826f;margin:0 0 16px}.editorial-copy p{color:#6d726a;line-height:1.9;white-space:pre-line}.section-news{background:#f6f5f1}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{display:block}.news-image{aspect-ratio:5/3;background:#ddd8cf center/cover;margin-bottom:18px;transition:filter .2s}.news-card:hover .news-image{filter:brightness(.94)}.news-meta{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#878c82}.news-card h3{font:500 23px/1.35 var(--serif);margin:7px 0 6px}.news-card p{font-size:13px;color:#747970}.news-card .text-link{margin-top:9px}.contact-band{background:#66715f;color:#fff;padding:78px 0}.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-band h2{margin:15px 0;font-size:53px}.contact-band p{color:rgba(255,255,255,.75)}.site-footer{background:#282e28;color:#f3f2ed;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:45px;padding-bottom:55px}.brand-light{color:#fff}.footer-brand p{color:#aeb3a9;max-width:240px;font-size:13px;margin-top:20px}.site-footer h4{margin:0 0 18px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#d2d4cb}.site-footer .footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}.site-footer .footer-grid a:not(.brand){font-size:12px;color:#aeb3a9;margin:4px 0}.site-footer a:hover{color:white!important}.site-footer p{font-size:12px;color:#aeb3a9}.footer-bottom{border-top:1px solid #424940;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#9fa69a}.footer-bottom div{display:flex;gap:20px}.footer-bottom a{color:#b6bcb2}.admin-link{opacity:.55}.page-hero{background:var(--cream);padding:85px 0 80px}.page-hero h1{font:500 clamp(42px,5vw,64px)/1.13 var(--serif);letter-spacing:-.03em;margin:16px 0}.page-hero p{max-width:600px;color:#72776e}.compact-hero{padding:70px 0 62px}.narrow-content{max-width:820px}.rich-content{font-size:16px;color:#555d53;line-height:1.95}.rich-content h2,.rich-content h3{font:500 28px var(--serif);color:var(--ink);margin-top:35px}.rich-content a{color:var(--olive);text-decoration:underline}.form-panel{background:#f7f6f2;padding:38px;margin-top:50px}.form-panel h2{font:500 32px var(--serif);margin:8px 0 25px}.site-form label,.order-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;letter-spacing:.04em;color:#535b51}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full-field{grid-column:1/-1}.input, input, select, textarea{width:100%;border:1px solid #d9d8d0;background:#fff;border-radius:0;padding:12px 13px;color:var(--ink);outline:none;font-size:13px}.site-form input,.site-form textarea,.site-form select,.order-form input,.order-form select,.order-form textarea{margin-top:0}.input:focus,input:focus,select:focus,textarea:focus{border-color:#7b8673;box-shadow:0 0 0 2px rgba(100,112,93,.1)}textarea{resize:vertical}.site-form .btn{margin-top:22px}.faq-list{margin-top:35px;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);padding:18px 0}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font:500 19px var(--serif)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font:300 24px var(--sans);color:#78816f}.faq-item>div{padding:13px 35px 0 0;color:#6b7168}.breadcrumb{padding:20px 0;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#92968e}.breadcrumb a{color:#626b5e}.product-detail-section{padding-top:35px}.product-detail-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:start}.product-detail-main{aspect-ratio:4/5;background:#f0eee8;overflow:hidden}.product-detail-main img{width:100%;height:100%;object-fit:cover}.product-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.product-thumb{width:75px;height:88px;border:1px solid transparent;padding:0;background:#eee;cursor:pointer}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb:focus{border-color:var(--olive)}.product-info{position:sticky;top:110px}.product-info h1{font:500 40px/1.2 var(--serif);margin:10px 0}.product-sku{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#92968e}.product-lead{color:#71786d;margin:22px 0}.detail-price{font:500 22px var(--serif);margin:10px 0 20px}.order-form{background:#f7f6f2;padding:24px;display:grid;gap:14px}.order-form>label{max-width:none}.stock-message{font-size:10px;color:#747d6c;text-transform:uppercase;letter-spacing:.1em}.product-description{margin-top:35px;color:#656d62}.product-description h3{font:500 23px var(--serif);color:var(--ink)}.detail-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;gap:20px;font-size:11px}.detail-meta span{color:#848a80}.detail-meta strong{font-weight:500;text-align:right}.form-note{font-size:10px;color:#858b81;margin:0}.honeypot{position:absolute;left:-10000px;opacity:0}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.category-filter{display:flex;gap:8px;flex-wrap:wrap}.filter-pill{padding:8px 13px;border:1px solid #e1dfd8;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.filter-pill.active,.filter-pill:hover{background:var(--dark);color:white;border-color:var(--dark)}.search-form{display:flex;max-width:240px;width:100%}.search-form input{padding:8px 11px}.search-form button{border:0;background:var(--olive);color:white;width:42px;font-size:19px}.catalog-sort{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-12px 0 22px;font-size:11px;color:var(--muted)}.catalog-sort select{width:auto;min-width:190px;padding:9px 12px;background:#fff;border:1px solid var(--line);font-size:11px}.catalog-grid{margin-top:10px}.pagination{display:flex;justify-content:center;gap:7px;margin-top:55px}.pagination a{height:36px;width:36px;border:1px solid var(--line);display:grid;place-items:center;font-size:11px}.pagination a.active{background:var(--dark);color:white}.empty-state{text-align:center;padding:65px 20px}.empty-state h3,.empty-state h1{font:500 36px var(--serif)}.empty-state p{color:var(--muted)}.article-wrap{max-width:850px;margin:65px auto 100px;padding:0 25px}.article-head{text-align:center;max-width:740px;margin:0 auto 40px}.article-head h1{font:500 clamp(38px,5vw,58px)/1.18 var(--serif)}.article-head p{color:#737b70}.article-cover{width:100%;max-height:540px;object-fit:cover;margin-bottom:45px}.article-content{max-width:700px;margin:0 auto 35px}.success-panel{text-align:center;background:#f7f6f2;padding:60px 45px}.success-panel h1{font:500 42px var(--serif)}.success-panel>p{color:#72786f}.success-icon{height:52px;width:52px;border-radius:50%;background:#687662;color:#fff;display:grid;place-items:center;font-size:24px;margin:0 auto 25px}.order-reference{display:flex;flex-direction:column;gap:5px;background:#fff;padding:20px;margin:25px 0}.order-reference span{font-size:11px;color:#7f877a}.order-reference strong{font:500 22px var(--serif)}.payment-instructions{text-align:left;background:#fff;padding:20px;margin:20px 0}.payment-instructions pre{white-space:pre-wrap;font:12px/1.7 var(--sans);color:#697166}.alert{margin:16px auto;padding:12px 16px;font-size:13px}.alert.success{background:#eef4ea;color:#43543e}.alert.error{background:#f9ece8;color:#8a493d}.cookie-bar{position:fixed;bottom:18px;left:18px;right:18px;z-index:40;background:#fff;box-shadow:0 4px 25px #0002;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.cookie-bar[hidden]{display:none}
@media(max-width:1000px){.main-nav{gap:14px}.main-nav a{font-size:11px}.product-detail-grid{gap:35px}.category-photo{height:250px}.editorial-grid{gap:50px}.footer-grid{gap:25px}}
@media(max-width:760px){.container{width:min(100% - 38px,600px)}.announcement{font-size:8px}.nav-wrap{height:68px;gap:12px}.brand{font-size:18px}.mobile-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:15px 22px 22px;box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.nav-cta{font-size:9px}.hero-home{height:620px;min-height:0}.hero-image{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(24,30,25,.62),rgba(24,30,25,.22))}.hero-content h1{font-size:48px;max-width:470px}.hero-content p{font-size:14px}.trust-grid{gap:12px}.trust-grid strong{font-size:17px}.trust-grid span{font-size:8px;letter-spacing:.08em}.section{padding:70px 0}.section-intro{padding:80px 0 65px}.intro-grid{grid-template-columns:1fr;gap:18px}.intro-grid h2,.section-heading h2{font-size:42px}.lead{font-size:15px}.category-grid{grid-template-columns:repeat(2,1fr);gap:22px 13px}.category-photo{height:auto;aspect-ratio:4/5}.category-card-info h3{font-size:17px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.product-card h3{font-size:18px}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:28px}.section-heading .text-link{margin:0}.editorial-section{padding:35px 0}.editorial-grid{grid-template-columns:1fr;gap:28px}.editorial-visual{height:340px}.editorial-copy h2{font-size:40px}.news-grid{grid-template-columns:1fr;gap:35px}.news-image{aspect-ratio:16/9}.contact-band{padding:60px 0}.contact-band-inner{align-items:flex-start;flex-direction:column}.contact-band h2{font-size:45px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:35px}.footer-brand{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom div{flex-wrap:wrap}.page-hero{padding:65px 0 55px}.page-hero h1{font-size:45px}.form-panel{padding:24px 18px;margin-top:35px}.form-grid{grid-template-columns:1fr;gap:14px}.form-grid .full-field{grid-column:auto}.product-detail-grid{grid-template-columns:1fr;gap:30px}.product-info{position:static}.product-info h1{font-size:35px}.product-detail-main{aspect-ratio:4/4.5}.product-thumbs{gap:7px}.product-thumb{width:62px;height:72px}.order-form{padding:18px}.catalog-toolbar{align-items:stretch;flex-direction:column}.search-form{max-width:none}.filter-pill{padding:7px 10px;font-size:9px}.article-wrap{margin:35px auto 70px;padding:0 19px}.article-head h1{font-size:40px}.success-panel{padding:40px 20px}.success-panel h1{font-size:35px}.cookie-bar{left:8px;right:8px;bottom:8px;font-size:10px}.cookie-bar .btn{white-space:nowrap}}
@media(max-width:380px){.hero-content h1{font-size:41px}.nav-cta{display:none}.trust-grid strong{font-size:15px}.category-card-info{grid-template-columns:23px 1fr 15px}.category-card-info h3{font-size:15px}}
.contact-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;background:#f7f6f2;padding:22px;margin:28px 0}.contact-details-grid>div{display:flex;flex-direction:column;gap:5px}.contact-details-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8b9186}.contact-details-grid strong{font-size:13px;font-weight:500;color:#444c41}@media(max-width:760px){.contact-details-grid{grid-template-columns:1fr}}
.success-breakdown{display:flex;flex-direction:column;gap:6px;background:#fff;padding:15px 20px;margin-top:14px;text-align:left}.success-breakdown span{font-size:11px;color:#737b70}.success-breakdown strong{font-size:14px;padding-top:8px;border-top:1px solid var(--line)}

/* CaaMoo v2 — larger, calmer reading scale and accessible cookie preferences */
body{font-size:16px;line-height:1.75}.announcement{font-size:11px}.main-nav a{font-size:14px}.nav-cta{font-size:13px}.text-link{font-size:13px}.eyebrow,.section-label{font-size:11px}.lead{font-size:18px}.product-card h3{font-size:21px}.product-price{font-size:14px}.news-card p{font-size:15px}.news-meta{font-size:11px}.site-footer .footer-grid a:not(.brand){font-size:14px}.site-footer h4{font-size:12px}.footer-bottom{font-size:12px}.rich-content{font-size:17px;line-height:1.9}.rich-content h2,.rich-content h3{font-size:30px}.site-form label,.order-form label{font-size:13px}.input,input,select,textarea{font-size:15px;padding:13px 14px}.site-form input,.site-form textarea,.site-form select,.order-form input,.order-form select,.order-form textarea{font-size:15px}.btn{font-size:12px}
.cookie-consent{position:fixed;inset:auto 20px 20px;z-index:1000;background:#fff;color:#273028;border:1px solid #dfe4dc;box-shadow:0 18px 60px #17201726;border-radius:12px;padding:24px;max-width:760px;margin-left:auto;font:14px/1.65 var(--sans)}.cookie-consent[hidden],.cookie-preferences[hidden]{display:none!important}.cookie-consent h2,.cookie-preferences h2{font:600 22px/1.25 var(--sans);margin:0 0 8px;color:#273028}.cookie-consent p,.cookie-preferences p{margin:0 0 12px;color:#5e685e}.cookie-consent a,.cookie-preferences a{color:#53694e;text-decoration:underline}.cookie-consent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.cookie-consent-actions button,.cookie-preferences-actions button{border:1px solid #cbd3c8;border-radius:6px;background:#fff;padding:11px 16px;font:600 13px var(--sans);cursor:pointer;min-height:44px}.cookie-consent-actions .primary,.cookie-preferences-actions .primary{background:#465844;color:#fff;border-color:#465844}.cookie-consent-actions button:hover,.cookie-preferences-actions button:hover{filter:brightness(.96)}.cookie-preferences{position:fixed;inset:0;z-index:1001;background:#141a14a6;display:grid;place-items:center;padding:18px}.cookie-preferences-card{width:min(620px,100%);max-height:min(88vh,760px);overflow:auto;background:#fff;border-radius:13px;padding:28px;box-shadow:0 20px 70px #0003}.cookie-category{padding:15px 0;border-top:1px solid #e7ebe5;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cookie-category strong{display:block;font-size:15px}.cookie-category small{display:block;color:#687267;font-size:13px;line-height:1.55;margin-top:4px}.cookie-toggle{flex:0 0 auto;width:46px;height:26px;position:relative}.cookie-toggle input{width:1px;height:1px;opacity:0;position:absolute}.cookie-toggle span{position:absolute;inset:0;background:#c6cec3;border-radius:20px;cursor:pointer;transition:.18s}.cookie-toggle span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.18s}.cookie-toggle input:checked+span{background:#53694e}.cookie-toggle input:checked+span:after{transform:translateX(20px)}.cookie-toggle input:focus-visible+span{outline:3px solid #9bad91;outline-offset:3px}.cookie-category .always-on{font-size:12px;font-weight:700;color:#4d6549;white-space:nowrap;padding:5px 0}.cookie-preferences-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.cookie-settings-link{border:0;background:none;padding:0;color:#b8c1b5;text-decoration:underline;font:inherit;cursor:pointer}.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #586157;border-radius:50%;color:#e2e6dd!important;font-size:11px!important;font-weight:700}.social-links a:hover{background:#65735e;border-color:#65735e}.footer-bottom .cookie-settings-link{font-size:12px;color:#b6bcb2}
@media(max-width:760px){.main-nav a{font-size:14px}.hero-content p{font-size:16px}.site-footer .footer-grid a:not(.brand){font-size:14px}.cookie-consent{inset:auto 8px 8px;padding:19px;border-radius:10px}.cookie-consent h2,.cookie-preferences h2{font-size:20px}.cookie-consent-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-consent-actions button{width:100%;padding:11px 9px;font-size:12px}.cookie-consent-actions .customize{grid-column:1/-1}.cookie-preferences-card{padding:21px 17px}.cookie-preferences-actions{display:grid;grid-template-columns:1fr}.cookie-preferences-actions button{width:100%}.footer-bottom{gap:14px}.social-links{margin-top:10px}}

/* CaaMoo Store v3: refined readable type scale */
body{font-size:16px;line-height:1.75}
.main-nav a,.nav-cta{font-size:13px}
.announcement{font-size:11px;min-height:34px;height:auto;padding:7px 14px}
.hero-content p,.lead{font-size:17px}
.section-label,.eyebrow{font-size:11px;letter-spacing:.16em}
.product-card h3,.category-card-info h3{font-size:21px}
.product-card p,.product-meta,.product-price,.article-card p,.faq-item>div{font-size:15px}
.page-content,.rich-content{font-size:17px;line-height:1.85}
.page-content p,.rich-content p{margin:0 0 1.15em}
.page-content li,.rich-content li{margin:.35em 0}
.cookie-consent,.cookie-preferences-card{font-size:15px;line-height:1.7}
.cookie-consent h2,.cookie-preferences h2{font-size:24px}
.cookie-consent-actions [data-cookie-choice="accept"],.cookie-consent-actions [data-cookie-choice="reject"]{background:#465844;color:#fff;border-color:#465844}
.cookie-consent-actions [data-open-cookie-settings]{background:#fff;color:#30372f;border:1px solid #d3d0c8}
/* Social links are text links with accessible focus states. */
.social-links a:focus-visible,.footer-bottom a:focus-visible,.cookie-settings-link:focus-visible{outline:2px solid #65705d;outline-offset:4px}
@media(max-width:700px){body{font-size:16px}.hero-content p,.lead{font-size:16px}.page-content,.rich-content{font-size:16px}}

.category-landing-copy{max-width:760px;color:#667064;font-size:17px;line-height:1.8}.category-landing-copy p{margin:0 0 12px}.home-about-intro p{margin:0 0 12px}.home-about-intro p:last-child{margin-bottom:0}

.cookie-preferences-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cookie-close{border:0;background:#f1f2ed;color:#30372f;width:36px;height:36px;border-radius:50%;font-size:23px;line-height:1;cursor:pointer;flex:0 0 auto}.cookie-close:hover{background:#e6e9e1}.cookie-close:focus-visible{outline:3px solid #9bad91;outline-offset:2px}


/* CaaMoo Store V5: improved readability across desktop, tablet and mobile */
body{font-size:17px;line-height:1.8}
.main-nav a,.nav-cta{font-size:14px}
.announcement{font-size:12px}
.site-header .brand{font-size:22px}
.hero-content p,.lead{font-size:18px;line-height:1.85}
.page-content,.rich-content{font-size:18px;line-height:1.9}
.page-content h2,.rich-content h2{font-size:clamp(25px,2.2vw,32px);line-height:1.3;margin:1.4em 0 .6em}
.page-content h3,.rich-content h3{font-size:clamp(21px,1.8vw,26px);line-height:1.4;margin:1.2em 0 .5em}
.page-content p,.rich-content p{margin:0 0 1.25em}
.page-content li,.rich-content li{margin:.45em 0}
.product-card h3,.category-card-info h3{font-size:22px}
.product-card p,.product-meta,.product-price,.article-card p,.faq-item>div{font-size:16px;line-height:1.75}
.site-footer{font-size:15px;line-height:1.8}
.site-footer a,.site-footer p{font-size:15px}
.site-footer h4{font-size:15px}
@media(max-width:760px){body{font-size:16px}.main-nav a{font-size:15px}.hero-content p,.lead{font-size:17px}.page-content,.rich-content{font-size:17px}.product-card h3,.category-card-info h3{font-size:19px}}


/* CaaMoo V6: editorial page heroes, curtain swatches and announcement modal */
.page-hero-photo{position:relative;isolation:isolate;min-height:320px;display:flex;align-items:center;background-color:#f1eee8;background-size:cover;background-position:center;background-repeat:no-repeat;color:#283027;overflow:hidden}
.page-hero-photo>.container{position:relative;z-index:1;padding-top:68px;padding-bottom:68px}
.page-hero-photo h1,.page-hero-photo .section-label,.page-hero-photo p{color:inherit}
.page-hero-photo h1{font-size:clamp(42px,5.4vw,72px);line-height:1.06;max-width:920px;margin:15px 0 0;letter-spacing:-.045em}
.page-hero-photo p{font-size:17px;max-width:720px;line-height:1.75;margin-top:20px}
.page-hero-photo.has-image{color:var(--hero-text,#fff);min-height:360px}
.page-hero-photo.has-image h1,.page-hero-photo.has-image p,.page-hero-photo.has-image .section-label{color:var(--hero-text,#fff);text-shadow:0 1px 16px rgba(0,0,0,.15)}
.page-hero-photo .section-label{font-size:12px;letter-spacing:.17em;font-weight:700}
@media(max-width:760px){.page-hero-photo{min-height:260px}.page-hero-photo.has-image{min-height:290px}.page-hero-photo>.container{padding-top:48px;padding-bottom:48px}.page-hero-photo h1{font-size:clamp(36px,10vw,48px)}.page-hero-photo p{font-size:16px}}
/* Colorway selection */
.product-variant-selector{display:grid;gap:24px;margin:26px 0}
.variant-choice-group{display:grid;gap:12px}
.variant-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;color:#30382f}
.variant-choice-heading .choice-value{font-weight:500;color:#747b70}
.fabric-swatch-list{display:flex;gap:13px;flex-wrap:wrap;align-items:flex-start}
.fabric-swatch{width:82px;border:0;background:transparent;padding:4px 4px 7px;display:grid;gap:7px;text-align:center;cursor:pointer;color:#30382f;border-radius:9px}
.fabric-swatch-visual{width:66px;height:66px;margin:0 auto;border-radius:50%;overflow:hidden;border:1px solid #d5d2c9;box-shadow:0 1px 3px #1c241c12;display:flex;align-items:center;justify-content:center;background:#e8e2d8;transition:box-shadow .18s,border-color .18s,transform .18s}
.fabric-swatch-visual img{width:100%;height:100%;object-fit:cover;display:block}
.fabric-swatch-label{font-size:12px;line-height:1.35;font-weight:500}
.fabric-swatch.is-selected .fabric-swatch-visual{border:3px solid #4f6049;box-shadow:0 0 0 3px #4f60491e;transform:translateY(-2px)}
.fabric-swatch.is-selected .fabric-swatch-label{font-weight:700;color:#43563e}
.fabric-swatch:disabled{opacity:.34;cursor:not-allowed;filter:grayscale(1)}
.fabric-swatch:focus-visible,.size-choice:focus-visible{outline:3px solid #9cae91;outline-offset:3px}
.size-choice-list{display:flex;gap:9px;flex-wrap:wrap}
.size-choice{min-width:116px;min-height:48px;padding:10px 16px;border:1px solid #d8d9d2;border-radius:5px;background:#fff;color:#343b33;font:600 14px/1.3 var(--sans);cursor:pointer;transition:.18s}
.size-choice:hover:not(:disabled){border-color:#65745e}
.size-choice.is-selected{border:2px solid #4f6049;background:#f5f6f1;color:#34452f;padding:9px 15px}
.size-choice:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed;background:#f6f6f3}
.variant-current-details{display:flex;flex-wrap:wrap;gap:8px 18px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:#657064}
.variant-current-details strong{color:#30382f;font-weight:650}
.product-quantity-control{display:flex;align-items:center;gap:12px}
/* Announcement popup */
.site-announcement-modal[hidden]{display:none!important}
.site-announcement-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px}
.site-announcement-backdrop{position:absolute;inset:0;background:rgba(22,29,24,.64);backdrop-filter:blur(4px)}
.site-announcement-card{position:relative;z-index:1;width:min(820px,100%);max-height:min(88vh,760px);overflow:auto;background:#fbfaf7;border-radius:5px;box-shadow:0 28px 90px #0005;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch;animation:announcement-in .28s ease-out}
.site-announcement-card:not(:has(.site-announcement-image)){display:block;width:min(560px,100%)}
.site-announcement-image{min-height:340px;background:#e7e1d5}
.site-announcement-image img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}
.site-announcement-copy{padding:48px 42px;align-self:center}
.site-announcement-copy h2{font:500 clamp(28px,3vw,39px)/1.16 var(--serif);letter-spacing:-.035em;margin:14px 0;color:#283027}
.site-announcement-body{font-size:16px;line-height:1.8;color:#5c6459;margin-bottom:22px}
.site-announcement-body p{margin:0 0 1em}
.site-announcement-copy .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}
.site-announcement-close{position:absolute;z-index:3;right:13px;top:13px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#30382f;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #0002}
.site-announcement-close:focus-visible{outline:3px solid #9cae91;outline-offset:2px}
body.announcement-open{overflow:hidden}
@keyframes announcement-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){.site-announcement-modal{padding:12px}.site-announcement-card{display:block;max-height:90vh}.site-announcement-image,.site-announcement-image img{min-height:180px;max-height:230px}.site-announcement-copy{padding:30px 24px 28px}.site-announcement-copy h2{font-size:29px}.site-announcement-body{font-size:15px}}

/* Match actual markup classes for swatches and size cards */
.fabric-swatches{display:flex;gap:13px;flex-wrap:wrap;align-items:flex-start}
.fabric-swatch-name{font-size:12px;line-height:1.35;font-weight:500;display:block}
.fabric-swatch-visual>span{display:block;width:100%;height:100%}
.size-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px}
.size-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.size-choice span{font-size:14px;font-weight:700}
.size-choice small{font-size:11px;color:#7b8378}
.variant-step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#f0f1ec;border-radius:50%;color:#66745f;font-size:11px;font-weight:700;margin-right:8px}
.variant-selected-value{font-size:13px;color:#687267;font-weight:500}
.variant-helper{font-size:12px;color:#7b8378;margin:9px 0 0}
@media(max-width:480px){.fabric-swatch{width:72px}.fabric-swatch-visual{width:58px;height:58px}.size-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.size-choice{min-width:0}}

/* V7 storefront: product page layout and interaction refinement */
.product-detail-section{padding:34px 0 96px}
.product-detail-grid{width:min(1340px,calc(100% - 72px));grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:clamp(34px,4.8vw,76px);align-items:start}
.product-gallery-column{min-width:0}
.product-detail-main{aspect-ratio:4/4.8;max-height:920px;min-height:420px;border-radius:3px;background:#f2f0ea;display:grid;place-items:center}
.product-detail-main img{width:100%;height:100%;object-fit:cover;object-position:center}
.product-thumbs{gap:11px;margin-top:14px}
.product-thumb{width:84px;height:98px;border:1px solid #e8e6df;border-radius:3px;overflow:hidden;transition:border-color .2s,opacity .2s}
.product-thumb:hover,.product-thumb:focus{border-color:#66765f;opacity:1}
.product-info{position:static;min-width:0;max-width:640px}
.product-info>.section-label{font-size:11px;letter-spacing:.16em;color:#7d8878}
.product-info h1{font-size:clamp(34px,3.1vw,48px);line-height:1.13;letter-spacing:-.035em;margin:12px 0 9px;overflow-wrap:anywhere}
.product-sku{font-size:11px;letter-spacing:.08em;margin-top:5px}
.product-lead{font-size:15px;line-height:1.75;color:#747b70;margin:16px 0}
.detail-price{font:600 25px/1.2 var(--sans);letter-spacing:-.02em;margin:17px 0 20px;color:#2e382f}
.order-form{display:grid;gap:19px;padding:25px;background:#f8f7f3;border:1px solid #ebe9e1;border-radius:3px;min-width:0}
.order-form .variant-choice-group{display:grid;gap:13px;min-width:0}
.variant-choice-heading{font-size:14px;align-items:center;flex-wrap:wrap}
.variant-choice-heading strong{font-size:14px}
.fabric-swatches{gap:10px 11px}
.fabric-swatch{width:78px;padding:3px 3px 7px;gap:7px}
.fabric-swatch-visual{width:64px;height:64px;border-radius:7px;background:#eeeae1}
.fabric-swatch-visual img{object-fit:cover}
.fabric-swatch-name{font-size:11px;color:#60695e;overflow-wrap:anywhere}
.fabric-swatch.is-selected .fabric-swatch-visual{border:2px solid #52664d;box-shadow:0 0 0 3px #52664d1b;transform:none}
.size-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.size-choice{min-width:0;min-height:58px;padding:9px 8px;border-radius:4px;border:1px solid #deded6;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}
.size-choice span{font-size:13px;line-height:1.3;text-align:center}
.size-choice small{font-size:10px;color:#81887e}
.size-choice.is-selected{background:#f1f4ef;border:2px solid #566a51;padding:8px 7px;color:#334431}
.size-choice:disabled,.size-choice.is-unavailable{opacity:.38;background:#f2f1ed;cursor:not-allowed;text-decoration:line-through}
.variant-helper{font-size:11px;line-height:1.6;color:#7d857a;margin:0}
.variant-status-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 0;border-top:1px solid #e6e5dd;border-bottom:1px solid #e6e5dd}
.stock-message{font-size:11px;letter-spacing:.08em;color:#5f7659}
.selected-sku{font-size:11px;color:#777f74;overflow-wrap:anywhere}
.quantity-label{display:grid!important;gap:9px!important;font-size:13px!important;letter-spacing:0!important;color:#495348!important}
.quantity-control{display:grid;grid-template-columns:46px 108px 46px;gap:0;width:max-content;max-width:100%;align-items:stretch}
.quantity-control button{border:1px solid #d8dbd3;background:#fff;color:#354333;font-size:22px;font-weight:400;min-height:46px;cursor:pointer}
.quantity-control button:first-child{border-radius:4px 0 0 4px}
.quantity-control button:last-child{border-radius:0 4px 4px 0}
.quantity-control input{min-height:46px!important;width:108px!important;text-align:center;border-left:0!important;border-right:0!important;border-radius:0!important;padding:8px!important;font-size:15px!important;background:#fff!important}
.customer-details-disclosure{border-top:1px solid #e7e5dd;padding-top:15px}
.customer-details-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;font-size:14px;font-weight:700;color:#374335}
.customer-details-disclosure>summary::-webkit-details-marker{display:none}
.customer-details-disclosure>summary:after{content:'＋';font-size:21px;font-weight:400;color:#66765f}
.customer-details-disclosure[open]>summary:after{content:'−'}
.customer-details-disclosure>summary span{display:block;font-size:12px;font-weight:400;color:#81887e;margin-top:3px}
.customer-order-details{margin-top:19px;gap:14px}
.customer-order-details label{font-size:12px!important;letter-spacing:0!important;color:#4f5b4d!important}
.customer-order-details input,.customer-order-details select,.customer-order-details textarea{min-height:43px!important;border-radius:4px!important;border:1px solid #dcded6!important;padding:10px 12px!important;font-size:14px!important}
.customer-details-heading{display:flex!important;flex-direction:column!important;gap:4px!important;grid-column:1/-1}
.customer-details-heading strong{font-size:15px;color:#334032}
.customer-details-heading span{font-size:12px;color:#7c8579;line-height:1.5}
.order-form .btn{min-height:52px;font-size:12px;border-radius:3px;letter-spacing:.08em}
.order-form .form-note{font-size:11px;line-height:1.6;text-align:center;margin:0;color:#858b81}
.product-description{margin-top:32px;padding-top:6px;font-size:15px;line-height:1.85}
.product-description h3{font-size:25px;margin-bottom:16px}
.product-description p{margin:0 0 1em}
.product-description ul,.product-description ol{padding-left:22px}
.generic-variant-select{display:grid;gap:8px}
@media(max-width:1080px){.product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:30px;width:min(100% - 48px,1200px)}.product-info h1{font-size:36px}}
@media(max-width:760px){.product-detail-section{padding:16px 0 60px}.product-detail-grid{width:min(100% - 32px,620px);grid-template-columns:1fr;gap:26px}.product-detail-main{min-height:0;aspect-ratio:4/4.2;max-height:none}.product-info{max-width:none}.product-info h1{font-size:34px}.detail-price{font-size:23px}.order-form{padding:18px;gap:17px}.fabric-swatch{width:72px}.fabric-swatch-visual{width:59px;height:59px}.size-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-order-details{grid-template-columns:1fr 1fr}.customer-order-details .full-field{grid-column:1/-1}.product-thumb{width:68px;height:80px}}
@media(max-width:420px){.customer-order-details{grid-template-columns:1fr}.customer-order-details label{grid-column:1/-1}.quantity-control{grid-template-columns:44px 100px 44px}.quantity-control input{width:100px!important}}

.nav-account{font-size:13px;font-weight:650;color:#4d5e49;white-space:nowrap;border:1px solid #dfe4dc;padding:9px 14px;border-radius:2px;transition:background .2s,border-color .2s}.nav-account:hover{background:#f3f5f1;border-color:#bfcab9}@media(max-width:760px){.nav-account{font-size:12px;padding:8px 10px;margin-left:2px}.nav-cta{display:none}}

/* V7 member centre */
.account-auth-section{min-height:calc(100vh - 180px);padding:72px 22px 100px;background:#f6f5f1;display:grid;place-items:start center}
.account-auth-card{width:min(100%,520px);padding:46px 48px;background:#fff;border:1px solid #e9e8e1;box-shadow:0 16px 50px rgba(38,46,37,.06);margin-top:16px}
.account-auth-card h1{font:500 clamp(36px,4vw,48px)/1.12 var(--serif);letter-spacing:-.035em;margin:14px 0 12px;color:#283028}
.account-auth-intro{font-size:15px;line-height:1.75;color:#737b70;margin:0 0 25px}
.account-form{display:grid;gap:17px}.account-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#4d594b;font-weight:650;letter-spacing:0}
.account-form input,.account-form select,.account-form textarea{width:100%;min-height:49px;border:1px solid #dfe3dc;border-radius:5px;background:#fff;padding:12px 14px;font-size:15px;color:#263128;box-shadow:none}
.account-form input[readonly]{background:#f6f7f4;color:#697466}
.account-form small{font-size:11px;color:#899386;font-weight:400;line-height:1.5}
.account-form .btn{min-height:52px;margin-top:4px}
.account-auth-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:#62765c}
.account-auth-foot{border-top:1px solid #edf0ea;margin-top:25px;padding-top:19px;font-size:13px;color:#777f73;text-align:center}
.account-auth-foot a,.account-privacy-note a{color:#536b4e;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.account-privacy-note{font-size:11px;color:#858d81;line-height:1.6;margin:18px 0 0}
.account-alert{padding:13px 15px;border-radius:6px;font-size:13px;line-height:1.6;margin:0 0 18px}.account-alert.error{background:#fbefec;color:#994d40;border:1px solid #f2d8d2}.account-alert.success{background:#edf5eb;color:#4e7047;border:1px solid #dcebd8}.account-alert.warning{background:#fbf5e9;color:#856c37;border:1px solid #eee2c5}
.account-message-card{text-align:center}.account-success-icon{width:54px;height:54px;border-radius:50%;background:#edf4ea;color:#55744e;display:grid;place-items:center;font-size:24px;margin:0 auto 22px}
.account-area{background:#f7f8f5;padding:58px 0 100px;min-height:65vh}.account-page-heading{margin-bottom:30px}.account-page-heading h1{font:500 clamp(39px,4.5vw,56px)/1.1 var(--serif);letter-spacing:-.04em;margin:10px 0;color:#283028}.account-page-heading p{font-size:15px;color:#798174;margin:0;line-height:1.7}
.account-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.account-sidebar{background:#fff;border:1px solid #e6eae3;border-radius:8px;padding:20px;position:sticky;top:110px}
.account-profile-chip{display:flex;align-items:center;gap:12px;padding:5px 0 19px;border-bottom:1px solid #edf0eb;min-width:0}
.account-avatar{width:42px;height:42px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#e9eee5;color:#53664e;font:600 18px var(--serif)}
.account-profile-chip>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.account-profile-chip strong{font-size:13px;color:#2d392e}.account-profile-chip small{font-size:11px;color:#879083;overflow-wrap:anywhere}
.account-sidebar nav{display:grid;gap:4px;padding:16px 0}.account-sidebar nav a{padding:11px 12px;border-radius:5px;font-size:13px;color:#657060}.account-sidebar nav a.active,.account-sidebar nav a:hover{background:#eef2eb;color:#40543b;font-weight:700}
.account-sidebar>form{border-top:1px solid #edf0eb;padding-top:14px}.account-sidebar>form button{border:0;background:none;color:#9b5d50;font-size:12px;padding:7px 10px;cursor:pointer}
.account-main{min-width:0;display:grid;gap:19px}.account-welcome-card{display:flex;justify-content:space-between;align-items:center;gap:22px;background:#edf1e9;padding:27px 30px;border-radius:7px}.account-welcome-card h2{font:500 28px/1.2 var(--serif);margin:8px 0;color:#2c392e}.account-welcome-card p{font-size:13px;color:#6e796b;line-height:1.7;margin:0;max-width:600px}.account-welcome-card .btn{white-space:nowrap}
.account-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-stat-grid>div{padding:18px 20px;background:#fff;border:1px solid #e6eae3;border-radius:7px;display:flex;flex-direction:column;gap:7px;min-width:0}.account-stat-grid span{font-size:11px;color:#879083}.account-stat-grid strong{font-size:17px;color:#354336;overflow-wrap:anywhere}.account-stat-grid .account-stat-email{font-size:13px}.account-status-active{color:#5d7c55!important}
.account-content-card{background:#fff;border:1px solid #e6eae3;border-radius:7px;padding:24px 26px;min-width:0}.account-card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.account-card-heading h2{font-size:18px;color:#2f3b30;margin:0}.account-card-heading>a{font-size:12px;color:#5b7054;font-weight:700}.account-card-heading>span{font-size:11px;color:#879083}
.account-orders-list{display:grid}.account-order-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:17px;padding:17px 4px;border-top:1px solid #edf0eb}.account-order-row>span{display:flex;flex-direction:column;gap:4px;min-width:0}.account-order-row strong{font-size:13px;color:#374438}.account-order-row small{font-size:11px;color:#899386}.account-order-row>b{color:#84917e;font-size:17px;font-weight:400}.order-row-total{text-align:right;font-size:13px;color:#39483a}.order-row-total small{display:block;text-align:right;margin-top:3px}
.account-empty{text-align:center;padding:35px 15px}.account-empty h3{font:500 25px var(--serif);margin:0 0 6px}.account-empty p{font-size:13px;color:#818a7e;margin:0 0 14px}.account-empty a{font-size:13px;color:#53694d;font-weight:700}
.account-order-status{border-radius:99px;background:#eef3eb;padding:6px 12px;color:#54704d;font-size:11px;font-weight:700}
.account-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 0;border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb}.account-order-meta>div{display:flex;flex-direction:column;gap:5px;min-width:0}.account-order-meta small{font-size:11px;color:#899386}.account-order-meta strong{font-size:13px;color:#384638;overflow-wrap:anywhere}
.account-subheading{font-size:15px;color:#354236;margin:24px 0 9px}.account-item-list{border-top:1px solid #edf0eb}.account-item-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 2px;border-bottom:1px solid #edf0eb}.account-item-row>span{display:flex;flex-direction:column;gap:5px}.account-item-row strong{font-size:13px;color:#374438}.account-item-row small{font-size:11px;color:#899386}.account-item-row>strong{white-space:nowrap}.account-totals{width:min(100%,340px);margin:18px 0 25px auto;display:grid;gap:9px}.account-totals>div{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#778173}.account-totals strong{color:#344235}.account-totals .grand-total{padding-top:12px;border-top:1px solid #dfe5dc;font-size:15px;font-weight:700}.account-quote-note{background:#f5f7f3;padding:16px;color:#687563;font-size:13px}.account-admin-message{margin:18px 0;padding:16px;background:#f7f8f5;border-radius:5px}.account-admin-message strong{font-size:13px;color:#3a4839}.account-admin-message p{font-size:13px;color:#687366;line-height:1.7;margin:7px 0 0}
.profile-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-form .form-grid .full-field{grid-column:1/-1}
@media(max-width:820px){.account-layout{grid-template-columns:1fr}.account-sidebar{position:static}.account-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.account-stat-grid{grid-template-columns:1fr 1fr}.account-welcome-card{align-items:flex-start;flex-direction:column}.account-order-meta{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.account-auth-section{padding:40px 14px 65px}.account-auth-card{padding:30px 22px}.account-area{padding:38px 0 65px}.account-layout{gap:15px}.account-sidebar{padding:15px}.account-sidebar nav{grid-template-columns:1fr 1fr}.account-stat-grid{grid-template-columns:1fr}.account-content-card{padding:18px 16px}.account-order-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.account-order-row>b{display:none}.account-order-meta{grid-template-columns:1fr}.account-item-row{align-items:flex-start;flex-direction:column;gap:5px}.account-item-row>strong{align-self:flex-end}.profile-form .form-grid{grid-template-columns:1fr}.profile-form .form-grid .full-field{grid-column:auto}.account-auth-links{flex-direction:column}}
.product-gallery-note{display:flex;justify-content:space-between;gap:10px;padding:12px 2px;color:#92988f;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.product-gallery-note span:last-child{text-align:right;letter-spacing:0;text-transform:none}
.member-product-note{font-size:12px;color:#838b80;margin:12px 0 0}.member-product-note a{color:#536b4e;text-decoration:underline;text-underline-offset:3px;font-weight:700}

/* V7.1 product-detail refinements */
.product-detail-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(30px,4.5vw,68px)}
.product-gallery-column,.product-info{min-width:0}
.product-detail-main{width:100%;aspect-ratio:4/4.85;min-height:380px;overflow:hidden;background:#f4f2ec}
.product-detail-main img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.product-order-form{width:100%;max-width:none}
.quantity-control{display:grid!important;grid-template-columns:48px minmax(0,112px) 48px!important;width:max-content!important;max-width:100%;align-items:stretch}
.quantity-control button{display:grid!important;place-items:center;width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;font-size:22px!important;line-height:1!important}
.quantity-control input{display:block!important;width:112px!important;min-width:112px!important;height:48px!important;min-height:48px!important;margin:0!important;padding:8px!important;text-align:center!important}
.customer-details-disclosure[open]{display:grid;gap:12px}
.customer-details-disclosure[open]>.customer-order-details{margin-top:8px}
@media(max-width:980px){.product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:26px;width:min(100% - 44px,1200px)}.product-detail-main{min-height:330px}}
@media(max-width:820px){.product-detail-grid{grid-template-columns:1fr;width:min(100% - 34px,680px);gap:24px}.product-detail-main{min-height:0;aspect-ratio:4/4.2}.product-info{max-width:none}}
@media(max-width:420px){.quantity-control{grid-template-columns:44px minmax(0,100px) 44px!important}.quantity-control button{width:44px!important;min-width:44px!important}.quantity-control input{width:100px!important;min-width:100px!important}}

/* V7.2 final responsive polish */
body{font-size:16px;line-height:1.75}
.main-nav a{font-size:13px}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}
.product-card h3{font-size:22px;line-height:1.35}
.product-category,.product-price{font-size:12px}
.customer-details-disclosure>summary>span{display:block;font-size:14px;font-weight:700;color:#374335;margin:0}
.customer-details-disclosure>summary>span>span{display:block;font-size:12px;font-weight:400;color:#81887e;margin-top:3px;line-height:1.5}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 17px}}
@media(max-width:760px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.product-card h3{font-size:18px}.main-nav a{font-size:14px}}

/* V7.3 account typography and storefront clarity */
.account-auth-card .account-form label{font-size:14px;line-height:1.5}
.account-auth-card .account-form input{font-size:16px;min-height:52px}
.account-auth-card .account-form small{font-size:12px}
.account-auth-links{font-size:13px}
.account-auth-foot{font-size:14px}
.account-privacy-note{font-size:12px}
.account-alert{font-size:14px}
.account-profile-chip strong{font-size:15px}
.account-profile-chip small{font-size:12px}
.account-sidebar nav a{font-size:14px;padding:12px 13px}
.account-sidebar>form button{font-size:13px}
.account-welcome-card h2{font-size:31px}
.account-welcome-card p{font-size:14px}
.account-stat-grid span{font-size:13px}
.account-stat-grid strong{font-size:20px}
.account-stat-grid .account-stat-email{font-size:15px}
.account-card-heading h2{font-size:21px}
.account-card-heading>a{font-size:13px}
.account-order-row strong{font-size:15px}
.account-order-row small{font-size:12px}
.order-row-total{font-size:14px}
.account-order-meta small{font-size:12px}
.account-order-meta strong{font-size:14px}
.account-order-status{font-size:12px}
.account-subheading{font-size:17px}
.account-item-row strong{font-size:14px}
.account-item-row small{font-size:12px}
.account-totals>div{font-size:13px}
.account-admin-message strong{font-size:14px}
.account-admin-message p{font-size:14px}
.profile-form .account-form label,.profile-form label{font-size:14px}
.profile-form input{font-size:15px;min-height:49px}
.fabric-swatch-name{font-size:12px}
.size-choice span{font-size:14px}
.variant-helper,.stock-message,.selected-sku{font-size:12px}
.product-detail-main{min-height:clamp(420px,54vw,760px)}
.product-detail-main img{object-fit:cover}
@media(max-width:820px){.product-detail-main{min-height:0;aspect-ratio:4/4.35}.account-page-heading h1{font-size:clamp(36px,8vw,48px)}}
@media(max-width:560px){.account-sidebar nav a{font-size:13px}.account-stat-grid strong{font-size:18px}.account-card-heading h2{font-size:19px}}


/* V8.0 — stable product gallery while the configurator scrolls */
.product-detail-section{overflow:visible;padding-top:24px;padding-bottom:88px}
.product-detail-grid{width:min(1380px,calc(100% - 76px));grid-template-columns:minmax(0,1.02fr) minmax(440px,.98fr);gap:clamp(36px,5vw,82px);align-items:start;overflow:visible}
.product-gallery-column{position:sticky;top:104px;align-self:start;min-width:0;z-index:1}
.product-info{position:static!important;top:auto!important;min-width:0;max-width:none}
.product-detail-main{width:100%;aspect-ratio:4/4.8;min-height:560px;max-height:820px;border-radius:4px;overflow:hidden;background:#f3f0e9;display:block}
.product-detail-main img{width:100%;height:100%;min-height:560px;display:block;object-fit:cover;object-position:center}
.product-detail-main .image-placeholder{height:100%;min-height:560px;display:grid;place-items:center;background:linear-gradient(145deg,#f3efe6,#e4ded1)}
.product-gallery-note{padding:14px 2px 8px;font-size:11px;letter-spacing:.1em}
.gallery-story-card{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;padding:20px;margin-top:12px;background:#f5f4f0;border:1px solid #ebe8df;border-radius:4px}
.gallery-story-card>.section-label{grid-column:1/-1;font-size:10px;letter-spacing:.15em}
.gallery-story-card strong{font:500 17px/1.35 var(--serif);color:#3b4239}
.gallery-story-card p{font-size:13px;line-height:1.65;color:#767d72;margin:6px 0 0}
.member-product-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;margin:20px 0;background:#f3f5f0;border:1px solid #e2e8de;border-radius:6px}
.member-product-card>div:first-child{display:grid;gap:5px;min-width:0}
.member-product-card strong{font-size:14px;font-weight:700;color:#334133}
.member-product-card span{font-size:12px;line-height:1.6;color:#748071}
.member-product-actions{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.member-product-card .btn{padding:10px 13px;font-size:10px;letter-spacing:.06em;white-space:nowrap}
.product-order-form{border:1px solid #ece9e1;border-radius:6px;padding:25px;box-shadow:0 12px 35px rgba(40,44,37,.035)}
.product-description-wide{margin-top:65px}
.product-description{max-width:980px;margin:0 auto;padding:48px 0 10px;border-top:1px solid #e7e4dc}
.product-description h2{font:500 clamp(32px,4vw,46px)/1.15 var(--serif);letter-spacing:-.03em;margin:13px 0 24px}
.product-description-content{font-size:16px;line-height:1.9;color:#61695f;max-width:850px}
.product-description-content h2,.product-description-content h3{font:500 24px/1.3 var(--serif);color:#30382f;margin:32px 0 12px}
.product-description-content p{margin:0 0 17px}
.product-description-content ul{padding-left:24px;margin:12px 0 22px}
.product-description-content li{padding:4px 0}
.product-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.product-addon-options{padding:22px 0 5px;border-top:1px solid #e4e0d7;display:grid;gap:12px}
.addon-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.addon-heading strong{font-size:14px;font-weight:700;color:#384238}
.addon-heading small,.accessory-intro,.addon-disclaimer{font-size:12px;line-height:1.65;color:#7a8277}
.accessory-intro{margin:0;max-width:680px}
.product-addon-grid{display:grid;grid-template-columns:1fr;gap:12px}
.product-addon-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,.58fr);gap:10px 14px;padding:12px;border:1px solid #e8e5dc;background:#fff;border-radius:7px;align-items:center}
.product-addon-card{display:grid;grid-template-columns:22px 66px minmax(0,1fr);align-items:center;gap:12px;min-width:0;cursor:pointer}
.product-addon-card input{width:17px;height:17px;min-height:17px;accent-color:#52664d}
.product-addon-image{width:66px;height:66px;display:grid;place-items:center;border:1px solid #e7e3d9;background:#f4f1ea;border-radius:5px;overflow:hidden}
.product-addon-image img{width:100%;height:100%;object-fit:cover}
.product-addon-image i{font-size:10px;font-style:normal;color:#788071;letter-spacing:.1em}
.product-addon-copy{display:grid;gap:4px;min-width:0}
.product-addon-copy strong{font-size:13px;line-height:1.35;color:#343e34}
.product-addon-copy small{font-size:11px;line-height:1.45;color:#81897e}
.addon-variant-field,.addon-length-field{font-size:11px;color:#697366;min-width:0}
.addon-variant-field select,.addon-length-field input{min-height:40px;padding:8px 10px;font-size:12px;border:1px solid #e0e3da;border-radius:5px;background:#fff}
.addon-disclaimer{margin:0;padding:4px 0 0}
.admin-order-addon,.account-addon-snapshot{font-size:11px;line-height:1.6}
@media(max-width:980px){.product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:28px;width:min(100% - 46px,1200px)}.product-gallery-column{top:96px}.product-detail-main{min-height:440px}}
@media(max-width:820px){.product-detail-grid{grid-template-columns:1fr;width:min(100% - 34px,680px);gap:22px}.product-gallery-column{position:static;top:auto}.product-detail-main{min-height:0;aspect-ratio:4/4.2;max-height:none}.product-detail-main img{min-height:0}.gallery-story-card{grid-template-columns:1fr 1fr}.product-info{max-width:none}.product-addon-choice{grid-template-columns:1fr}.product-meta-grid{grid-template-columns:1fr 1fr}.product-description-wide{margin-top:38px}}
@media(max-width:560px){.member-product-card{align-items:flex-start;flex-direction:column}.member-product-actions{width:100%}.member-product-actions .btn{flex:1}.gallery-story-card{grid-template-columns:1fr}.product-meta-grid{grid-template-columns:1fr}.product-order-form{padding:17px}.product-addon-card{grid-template-columns:20px 58px minmax(0,1fr)}.product-addon-image{width:58px;height:58px}}


/* V8.1 — keep the gallery anchored to the full product grid row, not a short content-height column. */
@media(min-width:821px){
  .product-detail-grid{align-items:stretch!important}
  .product-gallery-column{align-self:stretch!important;position:relative;min-width:0}
  .product-gallery-sticky{position:sticky;top:104px;max-height:calc(100vh - 124px);overflow-y:auto;scrollbar-width:none}
  .product-gallery-sticky::-webkit-scrollbar{display:none;width:0;height:0}
  .product-detail-main{min-height:clamp(440px,52vw,760px)}
}
.addon-field-label{display:block;margin:2px 0 9px;color:#626d60;font-size:11px;font-weight:650;letter-spacing:.03em}
.addon-finish-swatches{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.addon-finish-swatch{display:grid;justify-items:center;gap:5px;min-width:62px;padding:6px 5px;border:1px solid #e4e5dc;border-radius:6px;background:#fff;color:#596254;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.addon-finish-swatch:hover,.addon-finish-swatch.is-selected{border-color:#596d52;box-shadow:0 0 0 2px rgba(89,109,82,.13);background:#fbfcfa}
.addon-finish-swatch:disabled{opacity:.4;cursor:not-allowed}
.addon-finish-visual{width:40px;height:40px;display:grid;place-items:center;border:1px solid #e9e6de;border-radius:50%;overflow:hidden;background:#f4f1e9}
.addon-finish-visual img,.addon-finish-visual i{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:50%}
.addon-finish-visual .addon-finish-neutral{background:linear-gradient(135deg,#e9e2d4,#b7ad9b 48%,#f5f0e6)}
.addon-finish-name{font-size:10px;line-height:1.25;text-align:center;max-width:75px;overflow-wrap:anywhere}
.addon-variant-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.product-addon-choice.is-configured{border-color:#cbd6c5;background:#fcfdfb}
@media(max-width:820px){.product-gallery-column{position:static!important;max-height:none!important;overflow:visible!important}.product-gallery-sticky{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}.product-detail-grid{align-items:start!important}}


/* V8.3: compact, editorial page banners. Keep inner pages useful without consuming half the viewport. */
.page-hero-photo{min-height:250px;padding:0;}
.page-hero-photo.has-image{min-height:270px;}
.page-hero-photo>.container{padding-top:40px;padding-bottom:42px;}
.page-hero-photo h1{font-size:clamp(38px,4.8vw,60px);margin-top:10px;}
.page-hero-photo p{font-size:15px;line-height:1.6;margin-top:12px;}
.page-hero-photo .section-label{font-size:10px;}
@media(max-width:760px){.page-hero-photo{min-height:210px}.page-hero-photo.has-image{min-height:225px}.page-hero-photo>.container{padding-top:32px;padding-bottom:34px}.page-hero-photo h1{font-size:clamp(34px,8vw,44px)}.page-hero-photo p{font-size:14px;margin-top:9px}}


/* V8.3.1: compact inner-page banners. Keep the focus on page content. */
.page-hero-photo{min-height:240px!important;padding:0!important;display:flex;align-items:center;background-position:center 52%;}
.page-hero-photo.has-image{min-height:240px!important;}
.page-hero-photo>.container{padding-top:34px!important;padding-bottom:36px!important;}
.page-hero-photo h1{font-size:clamp(36px,4.4vw,52px)!important;line-height:1.08;margin:9px 0 0!important;}
.page-hero-photo p{font-size:14px!important;line-height:1.55!important;margin:9px 0 0!important;max-width:660px;}
.page-hero-photo .section-label{font-size:10px!important;letter-spacing:.16em;}
@media(max-width:760px){.page-hero-photo,.page-hero-photo.has-image{min-height:205px!important}.page-hero-photo>.container{padding-top:29px!important;padding-bottom:31px!important}.page-hero-photo h1{font-size:clamp(32px,8vw,42px)!important}.page-hero-photo p{font-size:13px!important;margin-top:7px!important}}


/* V8.4 brand, navigation and page-hero visual refinement */
.site-header .brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;font-size:21px;font-weight:750;letter-spacing:-.045em;line-height:1;color:#252824}
.site-header .brand-symbol,.site-footer .brand-symbol{display:block;width:42px;height:42px;object-fit:contain;flex:0 0 42px}
.site-header .brand-name,.site-footer .brand-name{display:inline-block;white-space:nowrap}
.site-footer .brand{display:inline-flex;align-items:center;gap:10px;font-size:21px;line-height:1}
.site-footer .brand-symbol{width:42px;height:42px;flex-basis:42px;filter:brightness(0) invert(1)}
.main-nav{gap:clamp(16px,2.1vw,29px)}
.main-nav a{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:4px 0;color:#53594f;font-size:14px;font-weight:550;transition:color .22s ease,transform .22s ease}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:#687761;transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.2,.7,.2,1)}
.main-nav a:hover,.main-nav a:focus-visible{color:#53664d;transform:translateY(-2px)}
.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a.is-active::after{transform:scaleX(1)}
.main-nav a.is-active{color:#42543e;font-weight:750}
.nav-account,.nav-cta{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
.nav-account:hover,.nav-account:focus-visible{background:#52644e;color:#fff;border-color:#52644e;transform:translateY(-1px)}
.nav-cta:hover,.nav-cta:focus-visible{color:#52644e;transform:translateY(-1px)}
.page-hero-photo{position:relative;isolation:isolate;display:flex;align-items:center;height:332px;min-height:332px!important;padding:0!important;overflow:hidden;background:#b9b8b1;color:var(--hero-text,#fff)}
.page-hero-photo.has-image{min-height:332px!important}
.page-hero-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 48%;display:block}
.page-hero-overlay{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(20,27,21,var(--hero-opacity,.34)),rgba(20,27,21,var(--hero-secondary-opacity,.10)))}
.page-hero-photo>.container{position:relative;z-index:1;padding-top:35px!important;padding-bottom:35px!important}
.page-hero-photo .section-label,.page-hero-photo h1,.page-hero-photo p{color:var(--hero-text,#fff);text-shadow:0 1px 15px rgba(0,0,0,.18)}
.page-hero-photo .section-label{font-size:11px;letter-spacing:.18em;font-weight:700}
.page-hero-photo h1{font-size:clamp(42px,4.8vw,62px)!important;line-height:1.08;margin:12px 0 0!important;max-width:960px}
.page-hero-photo h1 em{color:#e3e5d8}
.page-hero-photo p{font-size:16px!important;line-height:1.6!important;margin:14px 0 0!important;max-width:740px}
.page-hero-photo .category-landing-copy{max-width:760px;margin-top:10px}
.page-hero-photo .category-landing-copy p{margin:0!important}
.page-hero-photo + .section{padding-top:30px!important}
.page-hero-photo + .section .container{margin-top:0}
@media(max-width:1100px){.nav-wrap{gap:18px}.main-nav{gap:15px}.main-nav a{font-size:13px}.site-header .brand{font-size:19px}.nav-account{padding:8px 11px}}
@media(max-width:820px){.site-header .brand-symbol{width:38px;height:38px;flex-basis:38px}.site-header .brand{font-size:19px}.nav-wrap{gap:12px}}
@media(max-width:760px){.site-header .brand-symbol{width:36px;height:36px;flex-basis:36px}.site-header .brand{font-size:18px;gap:8px}.main-nav{gap:0}.main-nav a{font-size:15px;padding:12px 0;min-height:46px}.main-nav a::after{bottom:0}.page-hero-photo,.page-hero-photo.has-image{height:255px;min-height:255px!important}.page-hero-photo>.container{padding-top:28px!important;padding-bottom:28px!important}.page-hero-photo h1{font-size:clamp(34px,8.6vw,46px)!important}.page-hero-photo p{font-size:14px!important;margin-top:9px!important}.page-hero-photo + .section{padding-top:22px!important}.site-footer .brand-symbol{width:38px;height:38px;flex-basis:38px}}
/* V8.4: make the updated homepage hero image fill its visual frame. */
.hero-home>.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 54%;}
.page-hero-background{z-index:0!important}
.page-hero-overlay{z-index:1!important}
.page-hero-photo>.container{z-index:2!important}

/* V8.5 purchase flow: product selection -> cart -> checkout */
.nav-cart{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--dark);font-size:12px;font-weight:600;text-decoration:none;padding:9px 10px;border:1px solid transparent;transition:background .2s ease,border-color .2s ease,color .2s ease}
.nav-cart:hover{background:#f3f5f0;border-color:#dfe5dc;color:#52664e}
.nav-cart .nav-cart-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#596c54;color:#fff;font-size:10px;font-weight:700}
.product-purchase-actions{display:grid;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.product-purchase-actions .btn{min-height:52px;font-size:14px;letter-spacing:.01em}
.product-checkout-hint{margin:0;color:#7b8378;font-size:12px;line-height:1.65}
.product-cart-shortcut{justify-self:center;color:#596a52;font-size:12px;text-decoration:none;padding:5px 10px}
.product-cart-shortcut:hover{text-decoration:underline}
.cart-page,.checkout-page{background:#f8f9f6;min-height:65vh}
.cart-heading,.checkout-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}
.cart-heading h1,.checkout-heading h1{font:500 clamp(36px,4.2vw,54px)/1.08 var(--serif);letter-spacing:-.04em;color:#283028;margin:10px 0}
.cart-heading p,.checkout-heading p{margin:0;color:#737c70;font-size:14px;line-height:1.7;max-width:650px}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:28px}
.cart-lines{display:grid;gap:14px}
.cart-line-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;background:#fff;border:1px solid #e5e9e2;border-radius:8px;padding:16px;box-shadow:0 4px 16px rgba(27,40,27,.025)}
.cart-line-image{display:block;aspect-ratio:4/5;background:#f0eee8;overflow:hidden;border-radius:4px}
.cart-line-image img{width:100%;height:100%;object-fit:cover;display:block}
.cart-line-image span{display:grid;place-items:center;height:100%;color:#6c7866;font:italic 22px var(--serif)}
.cart-line-main{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.cart-line-category{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#879080}
.cart-line-main h2{font-size:18px;line-height:1.35;margin:5px 0}
.cart-line-main h2 a{color:#293229;text-decoration:none}
.cart-line-option{font-size:12px;color:#778071;margin:0}
.cart-line-price{font-size:15px;white-space:nowrap;color:#334133}
.cart-line-addons{display:grid;gap:4px;margin-top:14px;padding:10px 12px;background:#f7f8f5;border-radius:4px;color:#727b6f;font-size:11px}
.cart-line-addons strong{color:#3c4939;font-size:11px}
.cart-line-error{margin-top:10px;color:#a34437;font-size:12px}
.cart-line-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:15px;padding-top:13px;border-top:1px solid #edf0eb}
.cart-quantity-form{display:flex;align-items:center;gap:8px}
.cart-quantity-form label{display:flex;align-items:center;gap:7px;color:#778071;font-size:11px}
.cart-quantity-form input{width:65px;min-height:34px;padding:5px 8px;border:1px solid #dfe4dc;border-radius:4px;background:#fff}
.btn-small{min-height:34px;padding:7px 12px;font-size:11px}
.cart-remove,.cart-edit-link{border:0;background:none;padding:5px 0;color:#737d70;font-size:11px;cursor:pointer;text-decoration:none}
.cart-remove:hover,.cart-edit-link:hover{color:#293a29;text-decoration:underline}
.cart-summary-card,.checkout-summary-inner{background:#fff;border:1px solid #e4e8e1;border-radius:8px;padding:24px;box-shadow:0 4px 18px rgba(27,40,27,.035)}
.cart-summary-card{position:sticky;top:105px}
.cart-summary-card h2,.checkout-summary-inner h2{font:500 28px var(--serif);margin:8px 0 22px;color:#293229}
.cart-summary-row,.checkout-summary-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf0eb;color:#667061;font-size:12px}
.cart-summary-row strong,.checkout-summary-row strong{color:#293329;font-weight:600}
.cart-summary-total,.checkout-grand-total{font-size:14px;border-bottom:0;padding-top:17px}
.cart-summary-total strong,.checkout-grand-total strong{font-size:19px}
.cart-summary-card .btn{margin-top:18px;min-height:50px}
.cart-summary-foot,.checkout-security-note{font-size:11px;line-height:1.65;color:#858d80;margin:13px 0 0}
.cart-trust-note{margin-top:20px;padding-top:15px;border-top:1px solid #edf0eb;color:#687664;font-size:10px;text-align:center}
.cart-quote-note,.checkout-quote-note{background:#f4f6f1;color:#667460;padding:12px;border-radius:4px;font-size:11px;line-height:1.65;margin:14px 0 0}
.cart-empty{text-align:center;background:#fff;border:1px solid #e5e9e2;padding:65px 20px;border-radius:8px}
.cart-empty-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#f0f3ed;color:#65765e;font-size:28px}
.cart-empty h2{font:500 30px var(--serif);margin:0 0 9px;color:#293329}
.cart-empty p{color:#778071;font-size:13px;margin:0 0 22px}
.checkout-layout{grid-template-columns:minmax(0,1fr) 390px;gap:34px}
.checkout-main{min-width:0}
.checkout-account-note{display:flex;gap:13px;align-items:center;padding:15px 17px;background:#eef3eb;border:1px solid #e2e9dd;border-radius:6px;margin-bottom:18px}
.checkout-check,.checkout-account-icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dce7d6;color:#52664e;font-weight:700}
.checkout-account-note strong{display:block;color:#334132;font-size:12px}
.checkout-account-note small{display:block;color:#707b6b;font-size:11px;line-height:1.6;margin-top:3px}
.checkout-account-note a{color:#455b40;text-decoration:underline}
.checkout-form{background:#fff;border:1px solid #e4e8e1;border-radius:8px;padding:25px}
.checkout-form-section{padding:0 0 25px;margin-bottom:24px;border-bottom:1px solid #edf0eb}
.checkout-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.checkout-section-heading>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf2e9;color:#52664e;font-size:11px;font-weight:700}
.checkout-section-heading h2{font:500 23px var(--serif);color:#2f392e;margin:0 0 4px}
.checkout-section-heading h2 small{font:400 11px var(--sans);color:#8a9186}
.checkout-section-heading p{font-size:11px;color:#80887c;margin:0;line-height:1.6}
.checkout-section-heading em,.checkout-fields em{font-style:normal;color:#9b5947}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px}
.checkout-fields label{display:grid;gap:7px;color:#566150;font-size:11px;font-weight:600}
.checkout-fields label span{color:#92998e;font-weight:400}
.checkout-fields input,.checkout-fields select{width:100%;min-height:44px;border:1px solid #dfe4dc;border-radius:4px;background:#fff;padding:10px 12px;color:#293229;font:13px var(--sans);outline:none}
.checkout-fields input:focus,.checkout-fields select:focus,.checkout-form textarea:focus{border-color:#87977e;box-shadow:0 0 0 3px rgba(104,127,94,.1)}
.checkout-field-full{grid-column:1/-1}
.saved-address-select{display:grid;gap:7px;margin-bottom:16px;color:#55624f;font-size:11px;font-weight:600}
.saved-address-select select{width:100%;min-height:44px;border:1px solid #dfe4dc;border-radius:4px;padding:10px 12px;background:#fff}
.checkout-save-address-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px}
.checkout-save-address{display:flex;align-items:center;gap:8px;color:#667160;font-size:11px}
.checkout-save-address input,.address-default-check input{accent-color:#596d54}
.checkout-address-label{display:flex;align-items:center;gap:8px;color:#667160;font-size:11px}
.checkout-address-label input{min-height:34px;width:160px;padding:6px 9px;border:1px solid #dfe4dc;border-radius:4px}
.checkout-form textarea{width:100%;border:1px solid #dfe4dc;border-radius:4px;padding:12px;font:13px/1.6 var(--sans);resize:vertical}
.checkout-submit{min-height:54px;font-size:14px}
.checkout-legal-note{font-size:10px;line-height:1.7;color:#8a9186;margin:13px 0 0}
.checkout-legal-note a{color:#596c54;text-decoration:underline}
.checkout-summary{min-width:0}
.checkout-summary-inner{position:sticky;top:105px}
.checkout-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:start;gap:11px;padding:13px 0;border-bottom:1px solid #edf0eb}
.checkout-item-image{width:58px;height:68px;border-radius:3px;background:#f0eee8;overflow:hidden;display:grid;place-items:center;color:#65745f}
.checkout-item-image img{width:100%;height:100%;object-fit:cover}
.checkout-item-copy{display:grid;gap:4px;min-width:0}
.checkout-item-copy strong{font-size:11px;line-height:1.45;color:#354033}
.checkout-item-copy small{font-size:10px;color:#858d80;line-height:1.45}
.checkout-item>strong{font-size:11px;color:#334032;white-space:nowrap}
.checkout-summary-row:first-of-type{margin-top:10px}
.checkout-edit-cart{display:inline-block;margin-top:16px;color:#596c54;font-size:11px;text-decoration:underline}
.address-book-shortcut,.account-dashboard-shortcuts{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:17px;background:#f7f8f5;border:1px solid #e7ebe4;border-radius:6px;margin-top:22px}
.address-book-shortcut strong,.account-dashboard-shortcuts strong{display:block;color:#344032;font-size:13px}
.address-book-shortcut span,.account-dashboard-shortcuts span{display:block;color:#80887c;font-size:11px;margin-top:4px}
.account-dashboard-shortcuts{grid-template-columns:1fr 1fr;margin:0 0 18px}
.account-dashboard-shortcuts a{text-decoration:none;padding:8px}
.account-dashboard-shortcuts a:hover strong{color:#5e7655}
.saved-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.saved-address-card{border:1px solid #e6eae3;border-radius:6px;padding:16px;background:#fff}
.saved-address-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.saved-address-title strong{font-size:13px;color:#344032}
.saved-address-title span{font-size:9px;letter-spacing:.1em;color:#5a7052;background:#eef3eb;padding:5px 7px;border-radius:3px}
.saved-address-card p{font-size:12px;line-height:1.7;color:#727c6e;margin:12px 0 7px}
.saved-address-card>small{font-size:11px;color:#8a9186}
.saved-address-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px solid #edf0eb}
.saved-address-actions a,.saved-address-actions button{border:0;background:none;padding:0;color:#566a4f;font:600 11px var(--sans);text-decoration:none;cursor:pointer}
.saved-address-actions .danger-link{color:#a25a4b}
.address-default-check{display:flex;align-items:center;gap:8px;color:#667160;font-size:11px;margin:15px 0}
@media(max-width:980px){.cart-layout,.checkout-layout{grid-template-columns:minmax(0,1fr) 320px;gap:18px}.checkout-form{padding:20px}.cart-summary-card,.checkout-summary-inner{padding:19px}}
@media(max-width:760px){.nav-cart{padding:8px 5px;font-size:11px}.cart-heading,.checkout-heading{align-items:flex-start;flex-direction:column;margin-bottom:23px}.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-summary-card,.checkout-summary-inner{position:static}.cart-line-card{grid-template-columns:96px minmax(0,1fr);gap:13px;padding:11px}.cart-line-main{display:block}.cart-line-price{display:block;margin-top:7px}.cart-line-main h2{font-size:15px}.cart-line-actions{gap:10px}.checkout-form{padding:18px 15px}.checkout-fields{grid-template-columns:1fr}.checkout-field-full{grid-column:auto}.checkout-account-note{align-items:flex-start}.saved-address-grid{grid-template-columns:1fr}.address-book-shortcut{grid-template-columns:1fr}.account-dashboard-shortcuts{grid-template-columns:1fr}.checkout-address-label{width:100%;justify-content:space-between}.checkout-address-label input{width:58%}}

/* V8.6.1 — Homepage merchandising rhythm, image-led brand intro and accessible hero carousel */
.home-hero-carousel{height:clamp(500px,48vw,650px);min-height:500px;background:#dcd7cd;isolation:isolate}
.home-hero-carousel .hero-slides,.home-hero-carousel .hero-slide{position:absolute;inset:0}
.home-hero-carousel .hero-slide{z-index:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease}
.home-hero-carousel .hero-slide.is-active{z-index:1;opacity:1;visibility:visible}
.home-hero-carousel .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;transform:scale(1.005)}
.home-hero-carousel .hero-shade{background:linear-gradient(90deg,rgba(28,31,25,.54) 0%,rgba(28,31,25,.32) 42%,rgba(28,31,25,.07) 100%);pointer-events:none}
.home-hero-carousel .hero-content{padding-top:0;padding-bottom:30px;max-width:1200px}
.home-hero-carousel .hero-content h1{max-width:690px;text-wrap:balance}
.home-hero-carousel .hero-content p{max-width:520px}
.hero-carousel-controls{position:absolute;z-index:6;left:max(32px,calc((100% - 1200px)/2));right:max(32px,calc((100% - 1200px)/2));bottom:24px;display:flex;align-items:center;gap:10px;color:#fff}
.hero-control{width:38px;height:38px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;font:300 25px/1 var(--sans);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.hero-control:hover,.hero-control:focus-visible{background:rgba(255,255,255,.28);border-color:#fff;transform:translateY(-1px);outline:none}
.hero-pause{font-size:13px}
.hero-dots{display:flex;align-items:center;gap:8px;margin:0 4px}
.hero-dot{width:8px;height:8px;border:1px solid rgba(255,255,255,.9);border-radius:50%;padding:0;background:transparent;cursor:pointer;transition:width .25s,background .25s,border-radius .25s}
.hero-dot.is-active{width:27px;border-radius:99px;background:#fff}
.hero-slide-status{margin-left:auto;font-size:11px;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.9)}

/* Section rhythm: tighter gaps with deliberate surface changes between content groups. */
.section-intro{padding:76px 0 82px;background:#fff}
.approach-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:clamp(38px,6vw,86px)}
.approach-visual{position:relative;min-width:0;aspect-ratio:1.28;background:#f0eee8;overflow:hidden;border-radius:4px}
.approach-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.approach-image-caption{position:absolute;left:15px;bottom:14px;background:rgba(255,255,255,.88);padding:7px 10px;color:#687264;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.approach-copy{max-width:570px}
.approach-copy .section-label{margin-bottom:10px}
.approach-copy h2{font:500 clamp(42px,4.2vw,59px)/1.12 var(--serif);letter-spacing:-.035em;margin:0 0 20px;color:#292d27}
.approach-copy h2 em{color:var(--olive);font-weight:500}
.approach-copy .lead{font-size:16px;line-height:1.85;max-width:560px}
.approach-copy .rich-content p{margin:0 0 14px}
.approach-copy .text-link{margin-top:14px}

.section-products{padding:76px 0 82px;background:#f4f3ee;border-top:1px solid #eceae3;border-bottom:1px solid #e9e7df}
.section-products .section-heading{margin-bottom:28px}
.category-grid{gap:18px;align-items:stretch}
.category-card{background:#fff;border:1px solid #e8e6df;border-radius:5px;box-shadow:0 4px 16px rgba(43,48,40,.035);transition:transform .25s,box-shadow .25s,border-color .25s}
.category-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(43,48,40,.09);border-color:#d4d8ce}
.category-card .category-photo{height:auto;aspect-ratio:4/3;background-color:#e9e6dd;background-position:center;background-size:cover}
.category-card-info{grid-template-columns:32px minmax(0,1fr) 20px;padding:15px 15px 16px;border:0;min-height:62px}
.category-card-info h3{font-size:19px;line-height:1.3}
.category-card-info b{color:#68745f;font-size:17px;transition:transform .2s}
.category-card:hover .category-card-info b{transform:translate(3px,-3px)}

.section-featured{padding:78px 0 76px;background:#fff;border-bottom:1px solid #ecebe5}
.featured-heading{align-items:flex-end;margin-bottom:27px}
.featured-heading .muted{margin:10px 0 0;max-width:520px}
.featured-view-all{white-space:nowrap}
.home-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 19px}
.home-featured-grid .product-card{padding-bottom:4px}
.home-featured-grid .product-image{border-radius:4px;aspect-ratio:4/4.8}
.home-featured-grid .product-card-copy{padding:13px 2px 0}
.home-featured-grid .product-card h3{font-size:19px;line-height:1.35}
.featured-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:29px;padding-top:17px;border-top:1px solid #eeede7;color:#878d81;font-size:11px}
.featured-footer a{color:#566a50;font-size:11px;font-weight:700}
.featured-footer a span{margin-left:6px}
.editorial-section{padding:76px 0;background:#f7f6f2;border-top:1px solid #eeece5}
.editorial-section:nth-of-type(even){background:#fff}
.editorial-grid{gap:clamp(38px,6vw,82px)}
.editorial-visual{border-radius:4px;overflow:hidden}
.section-news{padding:78px 0 84px;background:#f1f3ee;border-top:1px solid #e6eae2}
.section-news .section-heading{margin-bottom:28px}
.news-card{background:#fff;border:1px solid #e6e9e2;border-radius:5px;overflow:hidden;padding-bottom:17px;transition:transform .25s,box-shadow .25s}
.news-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(35,48,34,.07)}
.news-card .news-image{margin:0 0 15px;border-radius:0;aspect-ratio:16/10}
.news-card .news-meta,.news-card h3,.news-card .text-link{margin-left:17px;margin-right:17px}
.news-card h3{font-size:21px;min-height:2.65em}
.contact-band{margin-top:0}

@media(max-width:1000px){
  .home-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-card .category-photo{aspect-ratio:16/10}
}
@media(max-width:760px){
  .home-hero-carousel{height:590px;min-height:590px}
  .home-hero-carousel .hero-image{object-position:61% center}
  .home-hero-carousel .hero-shade{background:linear-gradient(90deg,rgba(24,29,23,.63),rgba(24,29,23,.30) 68%,rgba(24,29,23,.14))}
  .home-hero-carousel .hero-content{padding-bottom:35px}
  .home-hero-carousel .hero-content h1{font-size:clamp(39px,10vw,53px);max-width:540px}
  .home-hero-carousel .hero-content p{font-size:14px;max-width:360px}
  .hero-carousel-controls{left:19px;right:19px;bottom:17px;gap:8px}
  .hero-control{width:34px;height:34px}
  .hero-slide-status{font-size:10px}
  .section-intro,.section-products,.section-featured,.section-news,.editorial-section{padding:55px 0 58px}
  .approach-grid{grid-template-columns:1fr;gap:25px}
  .approach-visual{aspect-ratio:16/10}
  .approach-copy h2{font-size:43px;margin-bottom:13px}
  .approach-copy .lead{font-size:15px}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .category-card .category-photo{aspect-ratio:4/3}
  .category-card-info{grid-template-columns:24px minmax(0,1fr) 17px;padding:11px 10px;min-height:55px}
  .category-card-info span{font-size:9px}
  .category-card-info h3{font-size:15px}
  .section-heading{margin-bottom:23px}
  .featured-heading{align-items:flex-start}
  .featured-view-all{margin-top:5px!important}
  .home-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}
  .home-featured-grid .product-card h3{font-size:17px}
  .featured-footer{align-items:flex-start;flex-direction:column;margin-top:22px}
  .editorial-grid{grid-template-columns:1fr;gap:25px}
  .editorial-visual{height:310px}
  .news-grid{grid-template-columns:1fr;gap:16px}
  .news-card{display:grid;grid-template-columns:38% minmax(0,1fr);align-items:center;padding:0;min-height:130px}
  .news-card .news-image{grid-row:1/4;height:100%;min-height:130px;aspect-ratio:auto;margin:0}
  .news-card .news-meta,.news-card h3,.news-card .text-link{margin-left:14px;margin-right:12px}
  .news-card h3{font-size:17px;min-height:0;margin-top:4px}
  .news-card .text-link{font-size:9px;margin-top:2px}
}
@media(prefers-reduced-motion:reduce){
  .home-hero-carousel .hero-slide,.category-card,.news-card,.category-photo{transition:none!important}
}

/* V8.6.2 — reliable hero carousel controls on mobile */
@media(max-width:760px){.hero-carousel-controls{gap:7px}.hero-control{width:34px;height:34px;flex:0 0 34px}.hero-dots{gap:6px;margin-inline:2px}.hero-slide-status{min-width:48px;text-align:right;font-size:10px;letter-spacing:.08em}.hero-pause{display:grid!important}}
@media(max-width:360px){.hero-carousel-controls{left:12px;right:12px;gap:5px}.hero-control{width:30px;height:30px;flex-basis:30px}.hero-dots{gap:5px}.hero-dot{width:7px;height:7px}.hero-dot.is-active{width:20px}.hero-slide-status{font-size:9px;min-width:43px}}

/* V8.6.2: recognizable, accessible social brand icons in the footer */
.site-footer .social-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.site-footer .social-links .social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid rgba(238,242,233,.42);border-radius:50%;background:rgba(255,255,255,.055);color:#f5f4ee!important;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; text-decoration:none}
.site-footer .social-links .social-link svg{display:block;width:19px;height:19px;fill:currentColor}
.site-footer .social-links .social-instagram svg{overflow:visible}
.site-footer .social-links .social-link:hover{background:#f2f1e9;border-color:#f2f1e9;color:#253027!important;transform:translateY(-2px)}
.site-footer .social-links .social-facebook:hover{background:#1877f2;border-color:#1877f2;color:#fff!important}
.site-footer .social-links .social-instagram:hover{background:#c13584;border-color:#c13584;color:#fff!important}
.site-footer .social-links .social-pinterest:hover{background:#bd081c;border-color:#bd081c;color:#fff!important}
.site-footer .social-links .social-youtube:hover{background:#ff0033;border-color:#ff0033;color:#fff!important}
.site-footer .social-links .social-linkedin:hover{background:#0a66c2;border-color:#0a66c2;color:#fff!important}
.site-footer .social-links .social-tiktok:hover{background:#111;border-color:#111;color:#fff!important}
.site-footer .social-links .social-x:hover{background:#111;border-color:#111;color:#fff!important}
.site-footer .social-links .social-link:focus-visible{outline:3px solid #b8c8a9;outline-offset:4px}
@media(max-width:760px){.site-footer .social-links{gap:10px;margin-top:14px}.site-footer .social-links .social-link{width:42px;height:42px;flex-basis:42px}.site-footer .social-links .social-link svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.site-footer .social-links .social-link{transition:none}}


/* V8.6.4: natural, full-width flex wrapping for footer social icons.
   On narrow screens, the Get in touch column spans the full footer width,
   allowing icons to use the available line instead of wrapping inside a
   half-width grid cell and leaving an empty column beside them. */
.site-footer .footer-grid > div .social-links {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  align-content: flex-start;
  gap: 10px;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 16px 0 0;
  align-self: stretch;
}
.site-footer .footer-grid > div .social-links .social-link {
  display: inline-flex;
  flex: 0 0 42px;
  width: 42px;
  min-width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
}
.site-footer .footer-grid > div .social-links .social-link svg {
  width: 18px;
  height: 18px;
}

/* Tablet portrait: keep Explore and Information side by side, then let
   Get in touch (including social links) take a full row beneath them. */
@media (min-width: 761px) and (max-width: 1000px) {
  .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
  }
  .site-footer .footer-grid > div:last-child {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Phones: two link columns, full-width contact/social row. Flex wraps only
   when the actual number of enabled networks exceeds available width. */
@media (max-width: 760px) {
  .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 20px;
  }
  .site-footer .footer-grid > div:last-child {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }
  .site-footer .footer-grid > div .social-links {
    width: 100%;
    max-width: none;
    gap: 10px;
    margin-top: 13px;
  }
  .site-footer .footer-grid > div .social-links .social-link {
    flex: 0 0 42px;
    width: 42px;
    min-width: 42px;
    height: 42px;
  }
}

/* Very narrow phones: keep a touch target while allowing natural wrapping. */
@media (max-width: 360px) {
  .site-footer .footer-grid > div .social-links { gap: 8px; }
  .site-footer .footer-grid > div .social-links .social-link {
    flex-basis: 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
  }
}


/* V8.6.5 — stable square product gallery. Keep all thumbnails in normal flow below the image. */
.product-detail-grid{align-items:start!important;overflow:visible!important}
.product-gallery-column{position:static!important;top:auto!important;align-self:start!important;min-width:0;overflow:visible!important;z-index:auto!important}
.product-gallery-sticky{position:static!important;top:auto!important;max-height:none!important;height:auto!important;overflow:visible!important;overflow-y:visible!important;scrollbar-width:auto!important;display:flex;flex-direction:column;gap:0}
.product-detail-main{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1/1!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:#f5f3ed!important;border:1px solid #eeece5;border-radius:5px!important}
.product-detail-main>img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:1/1;object-fit:contain!important;object-position:center center!important;background:#f5f3ed}
.product-detail-main .image-placeholder{width:100%;height:100%;min-height:0!important;display:grid;place-items:center}
.product-thumbs{position:relative!important;z-index:auto!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(68px,78px))!important;justify-content:start;align-items:start;gap:10px!important;width:100%;margin-top:14px!important;max-height:none!important;overflow:visible!important;padding:0 0 4px!important}
.product-thumb{position:relative!important;display:block!important;flex:none!important;width:100%!important;min-width:0!important;height:auto!important;aspect-ratio:1/1!important;padding:0!important;border:1px solid #e3e1d9!important;border-radius:5px!important;background:#f1efe9!important;overflow:hidden!important;opacity:1!important;cursor:pointer!important;transition:border-color .16s,box-shadow .16s,transform .16s!important}
.product-thumb img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
.product-thumb:hover{transform:translateY(-2px);border-color:#8a9981!important}
.product-thumb.is-active{border:2px solid #596d52!important;box-shadow:0 0 0 2px rgba(89,109,82,.13)!important}
.product-thumb:focus-visible{outline:2px solid #53684d!important;outline-offset:3px}
.product-gallery-note{margin-top:8px}
@media(max-width:820px){.product-detail-grid{align-items:start!important}.product-gallery-column,.product-gallery-sticky{position:static!important;max-height:none!important;overflow:visible!important}.product-detail-main{aspect-ratio:1/1!important;min-height:0!important;max-height:none!important}.product-detail-main>img{min-height:0!important}.product-thumbs{grid-template-columns:repeat(auto-fill,minmax(62px,72px))!important;gap:8px!important;margin-top:11px!important}}
@media(max-width:420px){.product-thumbs{grid-template-columns:repeat(auto-fill,minmax(56px,64px))!important;gap:7px!important}}

/* V8.6.6 — CaaMoo Store public-facing typography standard: Arial throughout. */
html,body,body *{font-family:Arial,Helvetica,sans-serif!important}


/* V8.6.7 — keep the product image gallery visible while the long configurator scrolls.
   The gallery column stretches to the full configurator row; only the image + thumbs are sticky. */
@media (min-width: 821px) {
  .product-detail-section { overflow: visible !important; }
  .product-detail-grid { align-items: stretch !important; overflow: visible !important; }
  .product-gallery-column {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    min-width: 0 !important;
    overflow: visible !important;
    z-index: 2 !important;
  }
  .product-gallery-sticky {
    position: sticky !important;
    top: 100px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
    scrollbar-width: auto !important;
    overscroll-behavior: auto;
    align-self: start;
  }
  .product-gallery-note, .gallery-story-card {
    position: relative;
    z-index: 1;
  }
}
@media (max-width: 820px) {
  .product-detail-grid { align-items: start !important; }
  .product-gallery-column, .product-gallery-sticky {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* V8.6.8 — product gallery stays together; highlights no longer float over the image. */
@media (min-width: 821px) {
  .product-detail-section { overflow: visible !important; padding-bottom: 30px !important; }
  .product-detail-grid { align-items: stretch !important; overflow: visible !important; }
  .product-gallery-column { position: relative !important; align-self: stretch !important; min-width: 0 !important; overflow: visible !important; z-index: 2 !important; }
  .product-gallery-sticky {
    position: sticky !important;
    top: 98px !important;
    height: auto !important;
    max-height: calc(100vh - 116px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: #c8cec3 transparent !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 4px 8px 0 !important;
    background: #fff !important;
    z-index: 8 !important;
  }
  .product-gallery-sticky::-webkit-scrollbar { width: 4px; }
  .product-gallery-sticky::-webkit-scrollbar-thumb { background: #c8cec3; border-radius: 10px; }
  .product-gallery-sticky::-webkit-scrollbar-track { background: transparent; }
  .product-gallery-note { position: relative !important; z-index: auto !important; flex: 0 0 auto; }
}

/* Product information spans the same width as the gallery/configurator row. */
.product-detail-section > .product-description-wide {
  width: min(1380px, calc(100% - 76px)) !important;
  max-width: none !important;
  margin: 38px auto 0 !important;
}
.product-description {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 0 8px !important;
  border-top: 0 !important;
  color: #566052;
}
.product-story-highlights {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 30px !important;
  margin: 0 0 38px !important;
  padding: 24px 30px !important;
  background: #f2f4ef !important;
  border: 1px solid #e4e9e0 !important;
  border-radius: 8px !important;
}
.product-story-highlights > .section-label { grid-column: 1 / -1 !important; }
.product-story-highlights strong { font-family: Arial, Helvetica, sans-serif !important; font-size: 16px !important; font-weight: 700 !important; }
.product-story-highlights p { margin: 5px 0 0 !important; font-size: 14px !important; }
.product-description h2 { margin: 12px 0 22px !important; }
.product-description-content {
  width: 100% !important;
  max-width: 1120px !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
}
.product-description-content img,
.rich-content img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 760px;
  object-fit: contain;
  margin: 24px auto;
  border-radius: 6px;
}
.product-description-content img { max-width: min(100%, 1080px); }
.rich-content img { max-width: min(100%, 920px); }
.product-description-content figure,
.rich-content figure { max-width: 100%; margin: 24px 0; }
.product-detail-section + .section-featured {
  padding: 44px 0 60px !important;
  background: #f2f4ef !important;
  border-top: 1px solid #e4e8df !important;
  border-bottom: 0 !important;
}
.product-detail-section + .section-featured .section-heading { margin-bottom: 26px !important; }
.product-detail-section + .section-featured .section-heading h2 { margin: 0 !important; }

@media (max-width: 820px) {
  .product-detail-section { padding-bottom: 28px !important; }
  .product-gallery-column, .product-gallery-sticky {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  .product-detail-section > .product-description-wide {
    width: min(100% - 34px, 680px) !important;
    margin-top: 30px !important;
  }
  .product-story-highlights { padding: 19px 20px !important; margin-bottom: 28px !important; }
  .product-description { padding: 0 0 6px !important; }
  .product-description-content { max-width: none !important; }
  .product-detail-section + .section-featured { padding: 34px 0 46px !important; }
}
@media (max-width: 560px) {
  .product-story-highlights { grid-template-columns: 1fr !important; gap: 12px !important; }
  .product-description-wide { max-width: 100% !important; }
  .product-detail-section + .section-featured .section-heading h2 { font-size: 34px !important; }
}


/* V8.6.9 — product main gallery: square, edge-to-edge image treatment. */
.product-detail-main {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  display: block !important;
  background: #f3f1eb !important;
}
.product-detail-main > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #f3f1eb !important;
}
.product-detail-main .image-placeholder {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
}
@media (max-width: 820px) {
  .product-detail-main { aspect-ratio: 1 / 1 !important; }
  .product-detail-main > img { aspect-ratio: 1 / 1 !important; object-fit: cover !important; }
}

/* V8.6.9 — rich content alignment and table presentation. Inline styles generated by
   the editor are intentionally respected; this keeps centered/right-aligned images. */
.product-description-content img,
.rich-content img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 760px;
  object-fit: contain;
  margin: 24px auto;
  border-radius: 6px;
}
.product-description-content img { max-width: min(100%, 1080px); }
.rich-content img { max-width: min(100%, 920px); }
.product-description-content figure,
.rich-content figure {
  max-width: 100%;
  margin: 24px auto;
}
.product-description-content table,
.rich-content table {
  width: 100%;
  max-width: 100%;
  margin: 22px 0;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 14px;
  line-height: 1.65;
}
.product-description-content th,
.product-description-content td,
.rich-content th,
.rich-content td {
  border: 1px solid #dfe4dc;
  padding: 11px 13px;
  text-align: left;
  vertical-align: top;
}
.product-description-content th,
.rich-content th {
  background: #eef2eb;
  color: #344333;
  font-weight: 700;
}
@media (max-width: 640px) {
  .product-description-content table,
  .rich-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .product-description-content th,
  .product-description-content td,
  .rich-content th,
  .rich-content td { min-width: 112px; padding: 9px 10px; }
}

/* V8.6.10 — fixed 1:1 product image frame; deliberately stretch source ratios to fill. */
.product-detail-main {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f3f1eb !important;
}
.product-detail-main > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: fill !important;
  object-position: center center !important;
}
.product-detail-main > .image-placeholder {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
@media (max-width: 820px) {
  .product-detail-main { aspect-ratio: 1 / 1 !important; height: auto !important; }
  .product-detail-main > img { object-fit: fill !important; }
}

/* V8.6.11 — force the product hero image frame to a true square independent of source image ratio.
   The pseudo-element reserves a 1:1 box; the image fills that box without cropping. */
.product-detail-main {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: #f3f1eb !important;
  isolation: isolate;
}
.product-detail-main::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 0 !important;
  padding-top: 100% !important;
}
.product-detail-main > img,
.product-detail-main > .image-placeholder {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
}
.product-detail-main > img {
  object-fit: fill !important;
  object-position: center center !important;
}
.product-detail-main > .image-placeholder {
  display: grid !important;
  place-items: center !important;
}
@media (max-width: 820px) {
  .product-detail-main { height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; }
}


/* V8.6.12 — square product imagery, a more editorial homepage and global search. */
.product-detail-main {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f3f1eb !important;
  isolation: isolate;
}
.product-detail-main::before { content: none !important; display: none !important; }
.product-detail-main > img,
.product-detail-main > .image-placeholder {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
}
.product-detail-main > img { object-fit: cover !important; object-position: center center !important; }
.product-detail-main > .image-placeholder { display: grid !important; place-items: center !important; }
.product-image { aspect-ratio: 1 / 1 !important; overflow: hidden; }
.product-image > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-featured-grid .product-image { aspect-ratio: 1 / 1 !important; }
.product-thumbs { display: flex; flex-wrap: wrap; gap: 10px; }
.product-thumb { width: 78px; height: 78px; aspect-ratio: 1 / 1; overflow: hidden; }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* Header search: compact at rest, useful dropdown when opened. */
.nav-wrap { position: relative; }
.header-search-toggle { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; background: transparent; color: #394237; cursor: pointer; }
.header-search-toggle:hover, .header-search-toggle[aria-expanded="true"] { background: #f3f4f0; border-color: #e4e8e0; }
.header-search-toggle svg, .header-search-panel button svg, .search-page-form button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.header-search-panel { position: absolute; z-index: 50; top: calc(100% - 1px); right: 170px; width: min(440px, calc(100vw - 38px)); padding: 12px; background: #fff; border: 1px solid #e7e8e2; box-shadow: 0 18px 42px rgba(30,38,29,.13); }
.header-search-panel[hidden] { display: none; }
.header-search-panel form { display: flex; align-items: center; gap: 8px; }
.header-search-panel input { width: 100%; min-width: 0; height: 44px; padding: 0 13px; border: 1px solid #e1e4dc; outline: 0; color: #30372f; font-size: 13px; }
.header-search-panel input:focus { border-color: #7d8974; }
.header-search-panel button, .search-page-form button { width: 46px; height: 44px; flex: 0 0 46px; display: grid; place-items: center; border: 0; background: #333a32; color: #fff; cursor: pointer; }

.search-page-hero { padding: 88px 0 64px; background: #f4f3ee; border-bottom: 1px solid #e8e6df; }
.search-page-hero h1 { margin: 12px 0 28px; font: 500 clamp(42px,5vw,66px)/1.12 var(--serif); letter-spacing: -.035em; color: #292d27; }
.search-page-hero h1 em { color: var(--olive); font-weight: 500; }
.search-page-form { display: flex; width: min(720px,100%); background: #fff; padding: 7px; border: 1px solid #e1e2dc; box-shadow: 0 8px 25px rgba(40,46,36,.05); }
.search-page-form input { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 0; outline: 0; color: var(--ink); font-size: 15px; }
.search-page-form button { width: 54px; height: 52px; flex-basis: 54px; }
.search-result-summary { margin: 17px 0 0; color: #777d73; font-size: 13px; }
.search-result-summary strong { color: #343b33; }
.search-results-section { padding-top: 66px; padding-bottom: 70px; }
.search-news-section { padding-top: 66px; background: #f3f4f0; }
.search-count { color: #858b80; font-size: 12px; }
.search-empty { max-width: 720px; margin: 0 auto; padding: 58px 24px; text-align: center; border: 1px solid #e7e8e2; background: #fbfbf9; }
.search-empty h2 { margin: 13px 0 12px; font: 500 clamp(28px,4vw,42px)/1.2 var(--serif); }
.search-empty p { margin: 0 0 23px; color: #747a70; }

/* Premium homepage lower-page rhythm. */
.home-services-section { padding: 94px 0 100px; background: #f5f4ef; border-top: 1px solid #eceae4; }
.home-services-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 36px; }
.home-services-heading h2 { margin: 10px 0 0; font: 500 clamp(42px,4.5vw,60px)/1.1 var(--serif); letter-spacing: -.035em; }
.home-services-heading h2 em { color: var(--olive); font-weight: 500; }
.home-services-heading > p { max-width: 330px; margin: 0 0 5px; color: #747a70; font-size: 14px; line-height: 1.8; }
.home-service-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,520px),1fr)); gap: 25px; }
.home-service-card { min-width: 0; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); align-items: stretch; background: #fff; border: 1px solid #e8e7e0; box-shadow: 0 8px 28px rgba(38,44,35,.035); }
.home-service-photo { position: relative; min-height: 350px; overflow: hidden; background: #e6e3da; }
.home-service-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(28,34,27,.02),rgba(28,34,27,.2)); pointer-events: none; }
.home-service-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .7s ease; }
.home-service-card:hover .home-service-photo img { transform: scale(1.035); }
.home-service-number { position: absolute; left: 18px; top: 17px; z-index: 1; color: #fff; font-size: 11px; letter-spacing: .14em; }
.home-service-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(22px,3vw,38px); }
.home-service-copy .section-label { font-size: 9px; letter-spacing: .15em; }
.home-service-copy h3 { margin: 12px 0 13px; font: 500 clamp(25px,2.5vw,34px)/1.2 var(--serif); color: #2b3029; }
.home-service-copy .rich-content { color: #72796e; font-size: 13px; line-height: 1.8; }
.home-service-copy .rich-content p { margin: 0; }
.home-service-copy .text-link { margin-top: 20px; font-size: 10px; }
.home-detail-band { padding: 82px 0 88px; background: #333a32; color: #fff; }
.home-detail-inner { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(40px,8vw,110px); align-items: center; }
.home-detail-inner h2 { margin: 14px 0 0; font: 500 clamp(38px,4.5vw,58px)/1.15 var(--serif); letter-spacing: -.035em; }
.home-detail-inner h2 em { color: #c7cfbe; font-weight: 500; }
.home-detail-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.home-detail-points > div { border-top: 1px solid rgba(255,255,255,.24); padding-top: 15px; }
.home-detail-points span { display: block; margin-bottom: 26px; color: #bcc6b4; font-size: 10px; letter-spacing: .14em; }
.home-detail-points strong { display: block; color: #fff; font-size: 13px; }
.home-detail-points p { margin: 9px 0 0; color: rgba(255,255,255,.64); font-size: 11px; line-height: 1.75; }
.home-faq-section { padding-top: 82px; padding-bottom: 86px; background: #fff; }
.home-faq-section .faq-list { border-top: 1px solid #e8e9e4; }
.home-faq-section .faq-item { padding: 16px 0; border-bottom: 1px solid #e8e9e4; }
.home-faq-section .faq-item summary { font-size: 14px; font-weight: 600; }
.home-faq-section .faq-item > div { max-width: 680px; padding: 12px 0 2px; color: #737a70; font-size: 13px; line-height: 1.8; }
.section-news { padding-top: 90px; padding-bottom: 92px; }
.news-grid { gap: 22px; }
.news-card { border-radius: 2px; }
.news-card h3 { font: 500 22px/1.3 var(--serif); }
.contact-band { padding: 82px 0 88px; background: #e9e8df; }
.contact-band-inner { align-items: center; }
.contact-band h2 { font-size: clamp(40px,4.5vw,58px); }

@media (max-width: 1100px) {
  .nav-wrap { gap: 16px; }
  .main-nav { gap: 16px; }
  .header-search-panel { right: 150px; }
  .home-service-card { grid-template-columns: 1fr; }
  .home-service-photo { min-height: 275px; aspect-ratio: 16/10; }
  .home-service-copy { min-height: 230px; }
}
@media (max-width: 760px) {
  .header-search-toggle { width: 34px; height: 34px; flex-basis: 34px; }
  .header-search-panel { right: 8px; top: calc(100% + 1px); width: calc(100vw - 30px); }
  .search-page-hero { padding: 62px 0 48px; }
  .search-page-hero h1 { font-size: 42px; }
  .search-page-form input { height: 46px; font-size: 13px; }
  .search-page-form button { height: 46px; }
  .search-results-section,.search-news-section { padding-top: 45px; padding-bottom: 50px; }
  .home-services-section { padding: 58px 0 62px; }
  .home-services-heading { align-items: flex-start; flex-direction: column; gap: 10px; margin-bottom: 23px; }
  .home-services-heading h2 { font-size: 43px; }
  .home-services-heading > p { max-width: 380px; font-size: 13px; }
  .home-service-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-service-card { grid-template-columns: 42% minmax(0,1fr); }
  .home-service-photo { min-height: 0; aspect-ratio: auto; }
  .home-service-copy { min-height: 0; padding: 20px 17px; }
  .home-service-copy h3 { font-size: 24px; }
  .home-service-copy .rich-content { font-size: 12px; }
  .home-detail-band { padding: 58px 0 62px; }
  .home-detail-inner { grid-template-columns: 1fr; gap: 33px; }
  .home-detail-inner h2 { font-size: 42px; }
  .home-detail-points { gap: 13px; }
  .home-detail-points span { margin-bottom: 17px; }
  .home-detail-points strong { font-size: 11px; }
  .home-detail-points p { font-size: 10px; }
  .home-faq-section { padding: 58px 0 62px; }
  .home-featured-grid .product-image { aspect-ratio: 1/1 !important; }
  .product-detail-main { aspect-ratio: 1/1 !important; }
  .product-thumbs { gap: 7px; }
  .product-thumb { width: 66px; height: 66px; }
}
@media (max-width: 420px) {
  .home-service-card { grid-template-columns: 1fr; }
  .home-service-photo { aspect-ratio: 16/10; }
  .home-service-copy { padding: 20px; }
  .home-detail-points { grid-template-columns: 1fr; gap: 16px; }
  .home-detail-points span { margin-bottom: 8px; }
}

/* Compact, touch-friendly header controls on narrow screens. */
.nav-account svg { display:none; }
.nav-cart-icon { display:none; }
.nav-account svg,.nav-cart-icon { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:760px) {
  .site-header .nav-wrap { gap:8px; }
  .site-header .mobile-toggle { flex:0 0 auto; padding:0 2px; }
  .site-header .header-search-toggle { width:34px; height:34px; flex:0 0 34px; }
  .site-header .nav-cart { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; padding:0; font-size:0; }
  .site-header .nav-cart-icon { display:block; }
  .site-header .nav-cart .nav-cart-label { display:none; }
  .site-header .nav-cart .nav-cart-count { position:absolute; top:-2px; right:-3px; min-width:16px; height:16px; padding:0 4px; font-size:9px; }
  .site-header .nav-account { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; padding:0; margin-left:0; font-size:0; }
  .site-header .nav-account svg { display:block; }
}

/* Tablet header: switch to the same compact, expandable navigation before links crowd the row. */
@media (max-width:1000px) and (min-width:761px) {
  .site-header .nav-wrap { height:74px; gap:12px; }
  .site-header .mobile-toggle { display:block; margin-left:auto; padding:0 2px; }
  .site-header .main-nav { display:none; position:absolute; top:74px; left:0; right:0; z-index:45; padding:15px 22px 22px; background:#fff; box-shadow:0 12px 20px #0001; flex-direction:column; align-items:stretch; gap:0; }
  .site-header .main-nav.is-open { display:flex; }
  .site-header .main-nav a { padding:12px 0; border-bottom:1px solid var(--line); font-size:13px; }
  .site-header .header-search-panel { right:120px; }
}


/* Final visual corrections: robust square image frames, centered search hero and premium CTA. */
.product-image,
.product-detail-main,
.product-thumb,
.product-card .product-image {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
.product-image img,
.product-detail-main > img,
.product-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}
.product-detail-main { display:block !important; }
.product-detail-main > img { position:absolute; inset:0; }
.product-detail-main { position:relative !important; }
.product-detail-main > .image-placeholder { position:absolute; inset:0; width:100%; height:100%; }
.product-thumb { height: auto !important; }
.product-thumbs .product-thumb { aspect-ratio:1/1 !important; }

.search-page-hero {
  position:relative; isolation:isolate; overflow:hidden;
  min-height:560px; display:flex; align-items:center; text-align:center;
  padding:100px 0 92px; color:#fff;
  background:#353c34 url('../caamoo/home/home-hero-living.webp') center/cover no-repeat;
}
.search-page-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(115deg,rgba(22,29,24,.76),rgba(31,38,31,.42) 55%,rgba(25,31,26,.58)); }
.search-page-hero .container { width:min(920px,calc(100% - 42px)); }
.search-page-hero .section-label { color:rgba(255,255,255,.78); }
.search-page-hero h1 { max-width:900px; margin:20px auto 38px; font:500 clamp(42px,6vw,76px)/1.08 var(--serif); letter-spacing:-.035em; }
.search-page-hero h1 em { color:#d8dfcf; }
.search-page-form { max-width:720px; margin:0 auto; background:#fff; box-shadow:0 18px 55px #0002; }
.search-result-summary { color:rgba(255,255,255,.88); }
.search-result-summary strong { color:#fff; }

.contact-band { position:relative; overflow:hidden; padding:clamp(80px,10vw,150px) 0; background:#252c27; color:#fff; }
.contact-band::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(25,31,27,.96),rgba(33,41,34,.88) 52%,rgba(32,39,33,.48)),url('../caamoo/home/home-hero-bedroom.webp') center 55%/cover; }
.contact-band-inner { position:relative; z-index:1; align-items:center; }
.contact-band .light-eyebrow { color:#cbd4c3; letter-spacing:.22em; }
.contact-band h2 { font:500 clamp(48px,6.4vw,86px)/1.04 var(--serif); letter-spacing:-.04em; margin:24px 0; }
.contact-band p { max-width:520px; font-size:17px; line-height:1.8; color:#e0e4dc; }
.contact-band .btn-light { padding:19px 28px; background:#f3f0e8; color:#252c27; border:1px solid #f3f0e8; white-space:nowrap; }
@media(max-width:760px) {
 .search-page-hero { min-height:480px; padding:75px 0; }
 .search-page-hero h1 { margin-bottom:28px; }
 .contact-band { padding:72px 0; }
 .contact-band-inner { gap:26px; }
 .contact-band h2 { font-size:clamp(44px,12vw,62px); }
}


/* Product detail gallery: square stage + show the entire source image without cropping. */
.product-detail-section .product-detail-main {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f4f2ec !important;
}
.product-detail-section .product-detail-main > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f4f2ec !important;
}
.product-detail-section .product-thumbs .product-thumb {
  box-sizing: border-box !important;
  width: 78px !important;
  height: 78px !important;
  min-width: 0 !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.product-detail-section .product-thumbs .product-thumb > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f4f2ec !important;
}
@media (max-width: 820px) {
  .product-detail-section .product-detail-main {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .product-detail-section .product-thumbs .product-thumb {
    width: 72px !important;
    height: 72px !important;
  }
}
@media (max-width: 420px) {
  .product-detail-section .product-thumbs .product-thumb {
    width: 64px !important;
    height: 64px !important;
  }
}

/* V8.6.12.3 — strict 1:1 gallery frame. Every source image is stretched to the
   full square frame: no contain letterboxing and no cover-cropping. */
.product-detail-section .product-gallery-column,
.product-detail-section .product-gallery-sticky {
  min-width: 0 !important;
  width: 100% !important;
  align-items: stretch !important;
}
.product-detail-section .product-gallery-sticky {
  display: flex !important;
  flex-direction: column !important;
}
.product-detail-section .product-detail-main {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f4f2ec !important;
}
.product-detail-section .product-detail-main::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  padding-top: 100% !important;
}
.product-detail-section .product-detail-main > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center !important;
  background: transparent !important;
}
.product-detail-section .product-detail-main > .image-placeholder {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.product-detail-section .product-thumbs .product-thumb {
  box-sizing: border-box !important;
  flex: 0 0 78px !important;
  width: 78px !important;
  height: 78px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.product-detail-section .product-thumbs .product-thumb > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center !important;
}
@media (max-width: 820px) {
  .product-detail-section .product-detail-main {
    flex: 0 0 auto !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
  }
  .product-detail-section .product-thumbs .product-thumb {
    flex-basis: 72px !important;
    width: 72px !important;
    height: 72px !important;
  }
}
@media (max-width: 420px) {
  .product-detail-section .product-thumbs .product-thumb {
    flex-basis: 64px !important;
    width: 64px !important;
    height: 64px !important;
  }
}


/* V8.6.12.4 — product gallery stays in normal page flow. No internal scrollbar.
   Main image and all thumbnails remain directly visible; the page itself scrolls. */
.product-detail-section .product-gallery-column {
  position: static !important;
  top: auto !important;
  align-self: start !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.product-detail-section .product-gallery-sticky {
  position: static !important;
  top: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: start !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  overscroll-behavior: auto !important;
  scrollbar-width: none !important;
}
.product-detail-section .product-gallery-sticky::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.product-detail-section .product-thumbs {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
  overflow: visible !important;
}


/* V8.6.12.5 — restore the desktop sticky gallery and wheel-scroll behavior,
   but keep the scrollbar itself invisible. Only the gallery panel scrolls
   when the pointer is over it; scrolling the configurator keeps the gallery
   pinned beside it. The right-side product content is unchanged. */
@media (min-width: 821px) {
  .product-detail-section {
    overflow: visible !important;
  }
  .product-detail-section .product-detail-grid {
    align-items: stretch !important;
    overflow: visible !important;
  }
  .product-detail-section .product-gallery-column {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    z-index: 2 !important;
  }
  .product-detail-section .product-gallery-sticky {
    position: sticky !important;
    top: 88px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 104px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    padding: 0 0 6px !important;
    background: #fff !important;
  }
  .product-detail-section .product-gallery-sticky::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .product-detail-section .product-gallery-sticky > * {
    flex: 0 0 auto !important;
  }
}
@media (max-width: 820px) {
  .product-detail-section .product-gallery-column,
  .product-detail-section .product-gallery-sticky {
    position: static !important;
    top: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}


/* V8.6.12.6 — keep the complete gallery (main image + every thumbnail) visible together.
   The gallery itself remains sticky beside the configurator, but it is no longer
   an independently scrollable panel. Thumbnails therefore stay visible without
   requiring the pointer to hover over or wheel-scroll the main image. */
@media (min-width: 821px) {
  .product-detail-section .product-gallery-column {
    position: relative !important;
    align-self: stretch !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .product-detail-section .product-gallery-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 88px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    overscroll-behavior: auto !important;
    -webkit-overflow-scrolling: auto !important;
    scrollbar-width: none !important;
    padding: 0 0 6px !important;
    background: #fff !important;
  }
  .product-detail-section .product-gallery-sticky::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .product-detail-section .product-gallery-sticky > .product-detail-main,
  .product-detail-section .product-gallery-sticky > .product-thumbs,
  .product-detail-section .product-gallery-sticky > .product-gallery-note {
    position: relative !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .product-detail-section .product-gallery-sticky > .product-detail-main {
    display: block !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }
  .product-detail-section .product-gallery-sticky > .product-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 0 4px !important;
  }
  .product-detail-section .product-gallery-sticky > .product-gallery-note {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 8px !important;
  }
}
@media (max-width: 820px) {
  .product-detail-section .product-gallery-column,
  .product-detail-section .product-gallery-sticky {
    position: static !important;
    top: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .product-detail-section .product-gallery-sticky > .product-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}


/* Homepage customer-photo reviews */
.home-reviews-section{background:#f7f6f2;padding:92px 0 100px;overflow:hidden}
.home-reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:42px}
.home-reviews-heading h2{margin:10px 0 8px;font-size:clamp(30px,3.3vw,46px);line-height:1.08;letter-spacing:-.035em;color:#2d332e}
.home-reviews-heading p{margin:0;color:#68716a;font-size:17px}
.home-reviews-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.home-reviews-controls span{font-size:13px;letter-spacing:.04em;margin-right:8px;color:#52634f}
.home-reviews-controls button{width:42px;height:42px;border:1px solid #cbd0c7;background:#fff;color:#303a32;border-radius:50%;font-size:25px;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.home-reviews-controls button:hover{background:#536b48;color:#fff;border-color:#536b48}
.home-reviews-track{display:flex;gap:clamp(22px,4.2vw,58px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:14px max(0px,calc((100vw - 1440px)/2)) 22px;scrollbar-width:none}
.home-reviews-track::-webkit-scrollbar{display:none}
.home-review-card{display:flex;flex:0 0 clamp(185px,17vw,235px);flex-direction:column;gap:10px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;scroll-snap-align:start;color:inherit;min-width:0}
.home-review-card-image{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:28px;background:#e8e6df;box-shadow:0 12px 28px rgba(35,40,33,.08)}
.home-review-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.65,.3,1)}
.home-review-card:hover .home-review-card-image img,.home-review-card:focus-visible .home-review-card-image img{transform:scale(1.045)}
.home-review-card:focus-visible{outline:2px solid #607650;outline-offset:7px;border-radius:8px}
.home-review-card-title{font-size:14px;line-height:1.35;font-weight:600;color:#343a34;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-review-card-customer{font-size:12px;color:#798078;letter-spacing:.04em}
.home-review-modal[hidden]{display:none!important}
.home-review-modal{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:28px}
.home-review-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(18,22,19,.68);backdrop-filter:blur(5px);cursor:pointer}
.home-review-modal-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);width:min(1120px,94vw);max-height:min(86vh,820px);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.24)}
.home-review-modal-close{position:absolute;top:14px;right:14px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.95);font-size:26px;color:#303831;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.home-review-modal-photo{background:#f1f0eb;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.home-review-modal-photo img{display:block;width:100%;height:100%;max-height:86vh;object-fit:cover}
.home-review-modal-copy{padding:46px 42px;overflow-y:auto;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start}
.home-review-modal-copy h3{font-size:clamp(25px,3vw,34px);line-height:1.15;margin:0 48px 12px 0;color:#242b26}
.home-review-rating{font-size:19px;letter-spacing:3px;color:#e9a02e;margin-bottom:5px}
.home-review-customer{font-size:14px;color:#68746a;margin-bottom:30px}
.home-review-modal-content{font-size:17px;line-height:1.7;color:#505951;white-space:pre-line;margin:0 0 28px}
.home-review-product{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #e6e7e2;margin-top:auto}
.home-review-product>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.home-review-product span{font-size:10px;letter-spacing:.14em;color:#8a948b}
.home-review-product strong{font-size:15px;line-height:1.4;color:#343d35}
.home-review-product small{font-size:13px;color:#6f786f}
.home-review-product a{font-size:12px;font-weight:600;color:#526b49;white-space:nowrap;text-decoration:none;border-bottom:1px solid #9ba995;padding-bottom:4px}
.home-review-product a:hover{color:#273b2b}
body.review-modal-open{overflow:hidden}
@media(max-width:760px){
 .home-reviews-section{padding:64px 0 70px}
 .home-reviews-heading{align-items:flex-start;flex-direction:column;margin-bottom:25px}
 .home-reviews-heading p{font-size:15px}
 .home-reviews-controls{width:100%;justify-content:flex-end}
 .home-reviews-controls span{margin-right:auto}
 .home-reviews-track{gap:18px;padding:8px 20px 18px}
 .home-review-card{flex-basis:68vw;max-width:260px}
 .home-review-card-image{border-radius:21px}
 .home-review-modal{padding:12px}
 .home-review-modal-panel{grid-template-columns:1fr;width:100%;max-height:94vh;overflow-y:auto;border-radius:14px}
 .home-review-modal-photo{min-height:0;aspect-ratio:1/1}
 .home-review-modal-photo img{max-height:none;object-fit:cover}
 .home-review-modal-copy{padding:24px 22px 28px;overflow:visible}
 .home-review-modal-copy h3{font-size:25px}
 .home-review-customer{margin-bottom:18px}
 .home-review-modal-content{font-size:15px;line-height:1.65}
}


/* V8.6.14 homepage order + consultation editorial layout */
.section-intro.approach-editorial-section,
.section-intro { background:#f7f6f2; }
.section-intro { padding:64px 0 70px; }
.approach-grid { display:grid; grid-template-columns:minmax(270px,.78fr) minmax(0,1.42fr); align-items:center; gap:clamp(28px,4.2vw,58px); }
.approach-copy { order:1; max-width:420px; padding:8px 0; }
.approach-copy .section-label { margin-bottom:12px; }
.approach-copy h2 { font-size:clamp(34px,3.15vw,46px); line-height:1.08; margin:0 0 13px; }
.approach-copy .lead { max-width:440px; font-size:13px; line-height:1.62; color:#6b7169; }
.approach-copy .rich-content p { margin:0 0 9px; }
.approach-points { list-style:none; padding:0; margin:10px 0 12px; display:grid; gap:5px; color:#596257; font-size:13px; line-height:1.45; }
.approach-points li { position:relative; padding-left:13px; }
.approach-points li:before { content:"·"; position:absolute; left:0; top:0; font-weight:700; }
.approach-support { margin:9px 0 15px; color:#747a71; font-size:12.5px; line-height:1.55; }
.approach-cta { display:flex; align-items:center; justify-content:center; gap:10px; width:min(100%,320px); min-height:42px; padding:11px 20px; border-radius:999px; background:#607848; color:#fff; font-size:11px; font-weight:700; text-align:center; transition:background .2s,transform .2s; }
.approach-cta:hover { background:#495f37; transform:translateY(-1px); }
.approach-cta span { font-size:14px; }
.approach-visual { order:2; width:100%; aspect-ratio:1.94/1; min-height:245px; border-radius:12px; overflow:hidden; background:#e8e5dc; box-shadow:0 7px 18px rgba(37,40,36,.16); }
.approach-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
@media(max-width:1000px) {
 .approach-grid { grid-template-columns:minmax(250px,.86fr) minmax(0,1.25fr); gap:28px; }
 .approach-visual { min-height:220px; }
}
@media(max-width:760px) {
 .section-intro { padding:54px 0 58px; }
 .approach-grid { grid-template-columns:1fr; gap:22px; }
 .approach-copy { max-width:none; padding:0; }
 .approach-copy h2 { font-size:39px; }
 .approach-copy .lead { max-width:none; font-size:14px; }
 .approach-visual { aspect-ratio:1.48/1; min-height:0; }
 .approach-cta { width:100%; }
}

/* V8.7 review showcase: five-card looping carousel and multi-photo review viewer */
.home-reviews-viewport{width:100%;overflow:hidden;padding:18px 0 34px}
.home-reviews-track{display:flex;gap:24px;overflow:visible;padding:12px 0 22px;scroll-snap-type:none;will-change:transform}
.home-review-card{flex:0 0 calc((100% - 96px)/5);max-width:none;gap:9px;opacity:.82;transform:scale(.94);transform-origin:center center;transition:transform .55s ease,opacity .55s ease}
.home-review-card.is-centre{opacity:1;transform:scale(1.055);z-index:2}
.home-review-card-image{aspect-ratio:1/1.04;border-radius:30px;box-shadow:0 12px 28px rgba(35,40,33,.1)}
.home-review-card-title{margin-top:5px;font-size:15px;text-align:center}
.home-review-card-content{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#777d76;font-size:13px;line-height:1.55;text-align:center}
.home-review-card-rating{color:#ed9d21;letter-spacing:2px;text-align:center;font-size:15px}
.home-review-card-customer{text-align:center;width:100%}
.home-review-modal-panel{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);width:min(1120px,94vw);max-height:90vh}
.home-review-modal-gallery{display:flex;flex-direction:column;min-width:0;background:#f3f1eb;padding:0 22px 16px}
.home-review-modal-photo{position:relative;min-height:0;height:min(66vh,650px);flex:1;overflow:hidden;border-radius:0 0 14px 14px}
.home-review-modal-photo img{width:100%;height:100%;max-height:none;object-fit:contain}
.review-photo-prev,.review-photo-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#303831;font-size:26px;line-height:1;box-shadow:0 3px 12px #0002;cursor:pointer}
.review-photo-prev{left:12px}.review-photo-next{right:12px}
.home-review-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:12px 0 0;min-height:78px}
.home-review-thumb{flex:0 0 64px;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:8px;background:#fff;overflow:hidden;cursor:pointer;opacity:.72}
.home-review-thumb.is-active{border-color:#607650;opacity:1}
.home-review-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.home-review-modal-copy{padding:48px 34px;overflow-y:auto}
@media(max-width:1050px){.home-review-card{flex-basis:calc((100% - 48px)/3)}.home-review-modal-panel{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.home-reviews-track{gap:18px}.home-review-card{flex-basis:78vw;max-width:320px}.home-review-card.is-centre{transform:scale(1.02)}.home-review-modal-panel{grid-template-columns:1fr}.home-review-modal-gallery{padding:0 12px 12px}.home-review-modal-photo{height:52vh;min-height:260px}.home-review-modal-copy{padding:24px 22px 28px}.home-review-thumbnails{min-height:68px}.home-review-thumb{flex-basis:56px;width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.home-review-card,.home-reviews-track{transition:none!important}}

/* V8.6.15 review layout refinement: five complete photos above one featured review */
.home-reviews-viewport{width:100%;overflow:hidden;padding:30px 0 18px;box-sizing:border-box}
.home-reviews-track{display:flex;width:100%;box-sizing:border-box;gap:20px;overflow:visible;padding:12px 0 20px;margin:0;scroll-snap-type:none;will-change:transform}
.home-review-card{display:block;position:relative;flex:0 0 calc((100% - 80px)/5);width:calc((100% - 80px)/5);max-width:none;min-width:0;padding:0;margin:0;border:0;background:transparent;text-align:center;color:inherit;opacity:.9;transform:scale(.92);transform-origin:center center;transition:transform .55s cubic-bezier(.2,.65,.3,1),opacity .55s ease;z-index:1}
.home-review-card.is-centre{opacity:1;transform:scale(1.08);z-index:3}
.home-review-card-image{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:24px;background:#e8e6df;box-shadow:0 12px 28px rgba(35,40,33,.1)}
.home-review-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.home-review-card:hover .home-review-card-image img,.home-review-card:focus-visible .home-review-card-image img{transform:scale(1.035)}
.home-review-featured{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:18px;min-height:178px;margin:12px auto 0;padding:22px 0 0;max-width:1080px;text-align:center}
.home-review-featured-copy{min-width:0}
.home-review-featured-copy h3{margin:0 0 10px;color:#355e52;font-size:clamp(21px,2.1vw,29px);font-weight:700;line-height:1.25}
.home-review-featured-copy p{margin:0 auto 12px;max-width:960px;color:#777b78;font-size:16px;line-height:1.7;white-space:pre-line}
.home-review-featured-rating{margin:4px 0 2px;color:#ed9d21;font-size:18px;letter-spacing:3px;line-height:1.2}
.home-review-featured-customer{color:#668071;font-size:14px;font-style:italic;line-height:1.4}
.home-review-featured-arrow{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#607c62;font-size:28px;line-height:1;box-shadow:0 3px 12px rgba(32,44,34,.14);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.home-review-featured-arrow:hover{background:#607c62;color:#fff;transform:scale(1.06)}
.home-review-modal{padding:24px}
.home-review-modal-panel{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);width:min(1120px,94vw);height:min(86vh,780px);max-height:86vh;}
.home-review-modal-gallery{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;padding:18px 18px 14px;background:#f3f1eb;}
.home-review-modal-photo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;overflow:hidden;border-radius:7px;background:#efeee8;}
.home-review-modal-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;}
.home-review-thumbnails{display:flex;align-items:center;gap:9px;min-height:68px;max-height:78px;overflow-x:auto;padding:2px 0 0;}
.home-review-thumb{flex:0 0 64px;width:64px;height:64px;border:2px solid transparent;border-radius:7px;opacity:.72;}
.home-review-thumb.is-active{border-color:#607650;opacity:1;}
.home-review-modal-copy{min-width:0;padding:48px 34px 36px;overflow-y:auto;}
.home-review-modal-copy .home-review-customer{order:0;margin:0 0 23px;font-size:14px;color:#778078;}
.home-review-modal-copy .home-review-rating{order:0;margin:0 0 8px;font-size:19px;}
.home-review-modal-copy h3{margin:0 38px 18px 0;font-size:clamp(24px,2.6vw,32px);}
.home-review-modal-content{margin:0 0 26px;font-size:16px;line-height:1.75;}
@media(max-width:1050px){
 .home-review-card{flex-basis:calc((100% - 40px)/3);width:calc((100% - 40px)/3);}
 .home-review-featured{max-width:900px;min-height:160px;}
 .home-review-modal-panel{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);}
}
@media(max-width:760px){
 .home-reviews-viewport{padding:18px 0 10px;}
 .home-reviews-track{gap:16px;padding:10px 0 14px;}
 .home-review-card{flex-basis:100%;width:100%;}
 .home-review-card.is-centre{transform:scale(1.035);}
 .home-review-card-image{border-radius:18px;}
 .home-review-featured{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;min-height:0;margin-top:8px;padding-top:15px;}
 .home-review-featured-copy h3{font-size:20px;}
 .home-review-featured-copy p{font-size:14px;line-height:1.6;}
 .home-review-featured-arrow{width:34px;height:34px;font-size:23px;}
 .home-review-modal{padding:10px;}
 .home-review-modal-panel{display:flex;flex-direction:column;width:100%;height:auto;max-height:95vh;overflow-y:auto;border-radius:13px;}
 .home-review-modal-gallery{display:grid;grid-template-rows:minmax(220px,48vh) auto;gap:7px;padding:12px 12px 8px;}
 .home-review-modal-photo{height:auto;min-height:220px;aspect-ratio:auto;}
 .home-review-thumbnails{min-height:60px;max-height:66px;}
 .home-review-thumb{flex-basis:54px;width:54px;height:54px;}
 .home-review-modal-copy{padding:20px 20px 25px;overflow:visible;}
 .home-review-modal-copy h3{font-size:24px;}
 .home-review-modal-content{font-size:15px;line-height:1.65;}
}
@media(prefers-reduced-motion:reduce){.home-review-card,.home-review-card-image img,.home-review-featured-arrow{transition:none!important;}}

/* V8.6.16 carousel geometry fix: exact viewport slots, no partial edge cards */
.home-reviews-viewport{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box;padding:30px 0 24px;}
.home-reviews-track{display:flex;width:max-content;max-width:none;gap:20px;box-sizing:content-box;overflow:visible;padding:14px 0 22px;margin:0;scroll-snap-type:none;will-change:transform;}
.home-review-card{display:block;box-sizing:border-box;flex:0 0 var(--home-review-card-width)!important;width:var(--home-review-card-width)!important;max-width:none;min-width:0;margin:0;padding:0;transform:scale(.94);transform-origin:center center;opacity:.9;z-index:1;transition:transform .55s cubic-bezier(.2,.65,.3,1),opacity .55s ease;}
.home-review-card.is-centre{transform:scale(1.12);opacity:1;z-index:4;}
.home-review-card-image{width:100%;aspect-ratio:1/1;}
@media(max-width:1050px){.home-reviews-track{gap:18px;}.home-review-card.is-centre{transform:scale(1.09);}}
@media(max-width:760px){.home-reviews-track{gap:16px;}.home-review-card{transform:scale(.98);}.home-review-card.is-centre{transform:scale(1);}}
@media(prefers-reduced-motion:reduce){.home-review-card,.home-reviews-track{transition:none!important;}}

/* V8.7.0 — drapery measuring guide, estimator and FAQ hand-off. */
.measurement-intro-section{padding:76px 0 68px;background:#fff}
.measurement-intro-grid{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);gap:clamp(30px,6vw,88px);align-items:start}
.measurement-intro-grid h2{font:500 clamp(34px,4vw,52px)/1.14 var(--serif);letter-spacing:-.035em;margin:15px 0 0;color:#30382f}
.measurement-intro-grid h2 em,.measurement-tool-heading h2 em,.measurement-style-grid h3 em,.measurement-faq-heading h2 em,.measurement-bottom-cta h2 em{color:var(--olive);font-weight:500}
.measurement-intro-copy{max-width:none;color:#687064;font-size:15px;line-height:1.9}
.measurement-intro-copy p{margin:0 0 14px}
.measurement-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px}
.measurement-principles article{min-width:0;padding:21px 23px 23px;background:#f4f5f1;border:1px solid #e6e9e1;border-radius:8px}
.measurement-principles article>span{display:block;color:#83907b;font-size:10px;letter-spacing:.16em;margin-bottom:15px}
.measurement-principles strong{display:block;color:#354033;font-size:15px;font-weight:650}
.measurement-principles p{margin:7px 0 0;color:#747b70;font-size:13px;line-height:1.65}
.measurement-tool-section{padding:78px 0 86px;background:#f5f6f2}
.measurement-tool-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:32px}
.measurement-tool-heading h2{font:500 clamp(34px,4vw,50px)/1.12 var(--serif);letter-spacing:-.035em;color:#30382f;margin:13px 0 10px}
.measurement-tool-heading p{margin:0;color:#71796e;font-size:14px}
.measurement-unit-tag{flex:0 0 auto;padding:8px 12px;border:1px solid #dce2d7;border-radius:3px;color:#65735e;font-size:9px;font-weight:700;letter-spacing:.14em}
.measurement-tool{padding:clamp(20px,3vw,38px);background:#fff;border:1px solid #e5e8e1;border-radius:9px;box-shadow:0 12px 35px rgba(40,48,37,.045)}
.measurement-step{margin:0;padding:29px 0 31px;border:0;border-bottom:1px solid #e9ece6;min-width:0}
.measurement-step:first-child{padding-top:0}
.measurement-step legend{display:flex;align-items:center;gap:13px;width:100%;padding:0;color:#30382f;font-size:20px;font-weight:650;letter-spacing:-.02em}
.measurement-step legend span{color:#7c8a73;font-size:10px;letter-spacing:.15em;font-weight:700;white-space:nowrap}
.measurement-step-hint{margin:7px 0 20px 75px;color:#81877f;font-size:13px}
.measurement-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:19px}
.measurement-compact-choices{grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px}
.measurement-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:185px;padding:13px 14px 15px;border:1px solid #e2e6df;border-radius:6px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.measurement-compact-choices .measurement-choice{min-height:130px;display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:13px;align-content:center}
.measurement-choice:has(input:checked){border-color:#687860;background:#f6f8f3;box-shadow:inset 0 0 0 1px #687860}
.measurement-choice:focus-within{outline:2px solid #8b9a80;outline-offset:3px}
.measurement-choice input{position:absolute;top:12px;right:12px;width:17px;height:17px;accent-color:#687860;cursor:pointer}
.measurement-choice-art{display:grid;place-items:center;width:100%;height:74px;margin-bottom:11px;background:#f2f2ed;border-radius:4px}
.measurement-choice strong{display:block;color:#394337;font-size:14px;line-height:1.4;padding-right:20px}
.measurement-choice small{display:block;margin-top:5px;color:#7a8177;font-size:11px;line-height:1.5}
.measurement-icon-art{grid-row:1/3;width:46px;height:46px;margin:0;border-radius:50%}
.measurement-choice .ruler-icon,.measurement-choice .window-icon{font:500 25px/1 var(--sans);color:#70806a}
.heading-sketch{position:relative;display:flex;align-items:flex-start;justify-content:space-around;width:76%;height:48px;padding-top:10px;border-top:4px solid #8d887e}
.heading-sketch b{display:block;position:relative;width:13px;height:33px;background:linear-gradient(90deg,#e2e3dd,#fdfdfb 50%,#e6e7e1);border-radius:0 0 45% 45%;box-shadow:3px 0 4px #00000008}
.heading-sketch i{position:absolute;top:-11px;left:0;right:0;height:7px;border-radius:8px;background:#77776f}
.soft-top-sketch b{border-radius:0 0 30% 30%}
.pleated-sketch b{clip-path:polygon(0 0,100% 0,75% 28%,100% 100%,0 100%,25% 28%)}
.grommet-sketch{border-top-width:0}
.grommet-sketch i{height:5px;top:0}
.grommet-sketch b{height:41px;margin-top:9px;border-radius:0 0 30% 30%}
.grommet-sketch b:before{content:"";position:absolute;left:2px;right:2px;top:-8px;height:11px;border:3px solid #888b82;border-radius:50%;background:#f5f4ef}
.ripple-sketch b{height:34px;clip-path:polygon(0 0,100% 0,100% 100%,55% 85%,0 100%);border-radius:40% 40% 0 0}
.ripple-sketch:after{content:"";position:absolute;top:-2px;left:0;right:0;border-top:2px dashed #aaa99f}
.measurement-note{margin:18px 0 0;padding:12px 15px;background:#f6f7f3;border-left:3px solid #8b987f;color:#70786d;font-size:12px;line-height:1.7}
.measurement-note strong{color:#495644}
.measurement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 22px;margin-top:22px}
.measurement-fields label{display:flex;flex-direction:column;gap:7px;min-width:0;color:#475143;font-size:13px;font-weight:650;line-height:1.5}
.measurement-fields label>span{display:inline;color:#8a9186;font-size:11px;font-weight:400}
.measurement-fields input,.measurement-fields select{width:100%;min-height:47px;padding:10px 13px;border:1px solid #dfe3dc;border-radius:4px;background:#fff;color:#30382f;font-size:14px;outline:none}
.measurement-fields input:focus,.measurement-fields select:focus{border-color:#77866e;box-shadow:0 0 0 3px rgba(119,134,110,.13)}
.measurement-fields label small{color:#838a80;font-size:11px;font-weight:400;line-height:1.55}
.measurement-fields .field-wide{grid-column:1/-1;max-width:calc(50% - 11px)}
.measurement-options-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.measurement-tool-actions{display:flex;align-items:center;gap:18px;padding-top:26px}
.measurement-tool-actions .btn{min-height:48px}
.measurement-reset{padding:10px 0;border:0;border-bottom:1px solid #aeb7a8;background:transparent;color:#697462;font-size:12px;cursor:pointer}
.measurement-reset:hover{color:#354333;border-color:#354333}
.measurement-error{margin-top:18px;padding:13px 15px;background:#fff4f1;border:1px solid #efd2cb;border-radius:4px;color:#9c3c2f;font-size:13px}
.measurement-result{margin-top:28px;padding:27px 28px;background:#edf2e9;border:1px solid #d9e2d3;border-radius:6px}
.measurement-result h3{margin:8px 0 3px;color:#2f3b2d;font:600 clamp(28px,4vw,42px)/1.2 var(--sans);letter-spacing:-.035em}
.measurement-result>strong{display:block;color:#596852;font-size:13px}
.measurement-result-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.measurement-result-details>div{display:flex;flex-direction:column;gap:4px;padding:12px;background:rgba(255,255,255,.72);border-radius:3px;min-width:0}
.measurement-result-details span{color:#81887d;font-size:10px;line-height:1.4}
.measurement-result-details strong{color:#43503e;font-size:13px;overflow-wrap:anywhere}
.measurement-result>p{margin:0 0 18px;color:#778072;font-size:11px;line-height:1.65}
.measurement-style-notes{padding-top:85px;padding-bottom:82px;background:#fff}
.measurement-style-notes .section-heading{align-items:flex-end;margin-bottom:30px}
.measurement-style-notes .section-heading h2{font:500 clamp(34px,4vw,48px)/1.14 var(--serif);letter-spacing:-.035em;margin:13px 0 0}
.measurement-side-note{max-width:370px;margin:0;color:#7b8278;font-size:13px;line-height:1.75}
.measurement-style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.measurement-style-grid article{padding:22px 21px 24px;border:1px solid #e7e9e3;border-radius:5px;background:#fafbf8;min-width:0}
.style-note-number{color:#87947f;font-size:10px;letter-spacing:.14em}
.measurement-style-grid h3{margin:18px 0 8px;color:#354033;font:500 23px/1.2 var(--serif)}
.measurement-style-grid p{margin:0;color:#737b70;font-size:13px;line-height:1.75}
.measurement-style-grid p strong{color:#465441}
.measurement-faq-section{padding:78px 0 85px;background:#f4f5f1}
.measurement-faq-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,82px);align-items:start}
.measurement-faq-heading h2{margin:14px 0 10px;color:#30382f;font:500 clamp(34px,4vw,48px)/1.13 var(--serif);letter-spacing:-.03em}
.measurement-faq-heading p{max-width:300px;color:#778072;font-size:14px;line-height:1.75}
.measurement-faq-heading .text-link{margin-top:11px}
.measurement-faq-list{margin:0;border-top:1px solid #dfe4dc}
.measurement-faq-list .faq-item{border-color:#dfe4dc}
.measurement-bottom-cta{padding:54px 0;background:#e9ede5}
.measurement-bottom-cta .container{display:flex;align-items:center;justify-content:space-between;gap:25px}
.measurement-bottom-cta h2{margin:10px 0 0;color:#30382f;font:500 clamp(28px,3.4vw,42px)/1.16 var(--serif);letter-spacing:-.03em}
.faq-guide-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0;padding:24px 26px;background:#f1f4ed;border:1px solid #e0e7dc;border-radius:5px}
.faq-guide-callout h2{margin:7px 0 5px;color:#354033;font:500 25px/1.25 var(--serif)}
.faq-guide-callout p{margin:0;color:#747c71;font-size:13px;line-height:1.65}
.faq-guide-callout .btn{flex:0 0 auto;white-space:nowrap}

/* Product detail: use the full content width and soften title hierarchy. */
.product-detail-section > .product-description-wide{width:min(1380px,calc(100% - 76px))!important;max-width:none!important;margin:46px auto 0!important}
.product-detail-section .product-description{width:100%!important;max-width:none!important;margin:0!important;padding:12px 0 8px!important}
.product-detail-section .product-description-content{width:100%!important;max-width:none!important}
.product-detail-section .product-description-content p,.product-detail-section .product-description-content ul,.product-detail-section .product-description-content ol{max-width:none!important}
.product-detail-section .product-meta-grid{width:100%;max-width:none}
.product-detail-section .product-info>.section-label{font-size:9px!important;letter-spacing:.15em!important;color:#7d8878}
.product-detail-section .product-info h1{font-size:clamp(30px,2.65vw,36px)!important;line-height:1.16!important;letter-spacing:-.03em!important}
@media(max-width:760px){
 .measurement-intro-section{padding:48px 0 48px}
 .measurement-intro-grid{grid-template-columns:1fr;gap:15px}
 .measurement-intro-grid h2{font-size:38px}
 .measurement-principles{grid-template-columns:1fr;gap:10px;margin-top:25px}
 .measurement-principles article{padding:17px 18px}
 .measurement-tool-section{padding:48px 0 56px}
 .measurement-tool-heading{display:block}
 .measurement-tool-heading h2{font-size:37px}
 .measurement-unit-tag{display:inline-flex;margin-top:17px}
 .measurement-tool{padding:20px 16px}
 .measurement-step{padding:23px 0 25px}
 .measurement-step legend{font-size:17px;gap:9px}
 .measurement-step-hint{margin:8px 0 15px;font-size:12px}
 .measurement-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .measurement-choice{min-height:172px;padding:11px}
 .measurement-compact-choices .measurement-choice{min-height:112px;grid-template-columns:36px minmax(0,1fr);column-gap:9px}
 .measurement-icon-art{width:36px;height:36px}
 .measurement-fields,.measurement-options-fields{grid-template-columns:1fr;gap:14px}
 .measurement-fields .field-wide{grid-column:auto;max-width:none}
 .measurement-result{padding:21px 17px}
 .measurement-result-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .measurement-style-notes{padding:52px 0}
 .measurement-style-notes .section-heading{display:block}
 .measurement-side-note{margin-top:13px}
 .measurement-style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .measurement-style-grid article{padding:17px 15px}
 .measurement-style-grid h3{font-size:20px;margin-top:13px}
 .measurement-faq-section{padding:50px 0 55px}
 .measurement-faq-layout{grid-template-columns:1fr;gap:18px}
 .measurement-faq-heading p{max-width:none}
 .measurement-bottom-cta .container{align-items:flex-start;flex-direction:column}
 .faq-guide-callout{align-items:flex-start;flex-direction:column;padding:19px}
 .faq-guide-callout .btn{white-space:normal;width:100%}
 .product-detail-section > .product-description-wide{width:min(100% - 34px,680px)!important;margin-top:34px!important}
 .product-detail-section .product-info h1{font-size:31px!important}
}
@media(max-width:420px){
 .measurement-choice{min-height:180px}
 .measurement-choice strong{font-size:13px}
 .measurement-choice small{font-size:10px}
 .measurement-tool-actions{align-items:flex-start;flex-direction:column;gap:9px}
 .measurement-tool-actions .btn{width:100%}
 .measurement-style-grid{grid-template-columns:1fr}
 .measurement-result-details{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px) and (min-width:761px){
 .main-nav{gap:9px!important}
 .main-nav a{font-size:11px!important}
 .nav-wrap{gap:12px}
 .site-header .brand{font-size:17px}
 .site-header .brand-symbol{width:36px;height:36px;flex-basis:36px}
}
/* Give the expanded navigation a compact menu before tablet widths become cramped. */
@media(max-width:900px){
 .nav-wrap{height:68px;gap:12px}
 .mobile-toggle{display:block;margin-left:auto}
 .main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:15px 22px 22px;box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch;gap:0}
 .main-nav.is-open{display:flex}
 .main-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;min-height:44px}
}

/* V8.7.2 — justify ordinary copy without overriding rich-editor alignment.
   The admin editor stores center/left/right on the image's parent paragraph and
   displays non-full-width images as inline-block. Do not force-justify those
   paragraphs: it would override the editor's inline text-align setting. */
.product-detail-section .product-description-content p:not([style*="text-align"]):not(:has(img)),
.product-detail-section .product-description-content li:not([style*="text-align"]) {
  text-align: justify !important;
  text-justify: inter-word;
}
/* An image paragraph with no explicit alignment defaults to centered.
   Explicit inline alignment from the editor continues to take precedence. */
.product-detail-section .product-description-content p:has(img):not([style*="text-align"]),
.product-detail-section .product-description-content div:has(img):not([style*="text-align"]),
.product-detail-section .product-description-content figure:has(img):not([style*="text-align"]) {
  text-align: center;
}
.product-detail-section .product-info h1 {
  font-size: clamp(28px, 2.35vw, 32px) !important;
  line-height: 1.18 !important;
}
@media (max-width: 760px) {
  .product-detail-section .product-info h1 {
    font-size: 29px !important;
  }
}

/* V8.7.3 — Clamp homepage featured product titles to three lines.
   Keep the title area consistently three lines tall so prices align across cards.
   This is scoped to the homepage featured grid; catalogue/search/detail titles
   retain their existing behaviour. */
.home-featured-grid .product-card-copy {
  min-width: 0;
}
.home-featured-grid .product-card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  min-height: 4.05em;
  max-height: 4.05em;
  text-overflow: ellipsis;
}

/* V8.7.4 — Clamp catalogue (/products.html and category listing) titles.
   Homepage already has its own clamp in .home-featured-grid. This selector is
   intentionally limited to .catalog-grid so search cards and product detail
   headings keep their original behaviour. Keep the title blocks three lines
   high so product prices align across catalogue cards. */
.catalog-grid .product-card-copy {
  min-width: 0;
}
.catalog-grid .product-card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  min-height: 4.05em;
  max-height: 4.05em;
  text-overflow: ellipsis;
}
