@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-8.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-9.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-10.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/plus-jakarta-sans-11.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/instrument-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*{box-sizing:border-box} :root{--ink:#103d6f;--green:#0067b0;--success:#06b67a;--surface-muted:#f0f0f0;--line:#e4e8ec}body{margin:0;color:var(--ink);background:#fff;font:16px/1.55 "Plus Jakarta Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #0067b0;outline-offset:4px}.wrap{width:min(1536px,calc(100% - 64px));margin-inline:auto}.announcement{background:var(--green);text-align:center;padding:9px 16px;font-size:13px;font-weight:600}.site-header{background:var(--ink);color:white}.header-inner{display:flex;align-items:center;gap:48px;min-height:96px}.brand{font-size:32px;font-weight:650;letter-spacing:-1.5px;white-space:nowrap}.brand span{color:var(--green)}.site-search{display:flex;flex:1;position:relative}.site-search input{border:0;border-radius:30px;padding:14px 54px 14px 24px;width:100%;background:#fff;color:var(--ink);min-width:0}.site-search button{position:absolute;right:8px;top:4px;height:44px;width:44px;background:none;border:0;color:var(--ink)}svg{width:24px;height:24px;vertical-align:middle;flex-shrink:0}.header-actions{display:flex;gap:28px}.header-actions a{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px}.icon-button{background:none;border:0;color:inherit;padding:10px}.menu-toggle{display:none}.primary-nav{border-bottom:1px solid var(--line)}.primary-nav .wrap{display:flex;gap:34px;align-items:center;min-height:56px;font-size:14px;font-weight:600}.home-main{padding-top:24px}.hero{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden;background:var(--surface-muted)}.hero-copy{padding:58px 44px;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1.6px;margin:0 0 20px}h1{margin:0 0 22px}.hero-description{font-size:21px;max-width:350px;margin:0 0 30px}.hero-photo{min-height:430px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center;display:block}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:30px;padding:12px 25px;background:var(--ink);color:white;font-size:14px;font-weight:600;border:1px solid var(--ink);line-height:1.3;text-align:center}.button:hover{background:#0067b0;text-decoration:none;color:white}.text-link{font-size:14px;font-weight:600;text-underline-offset:5px}.text-link:hover{text-decoration:underline}.benefits{display:flex;justify-content:space-around;background:var(--surface-muted);border-radius:9px;padding:20px;margin:18px 0 0;font-size:14px}.benefits span{display:flex;align-items:center;gap:15px}.benefits svg{width:29px;height:29px}.home-section{margin-top:56px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}h2{margin:0}.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.category-image{aspect-ratio:1/1.05;background:var(--surface-muted);border-radius:8px;overflow:hidden}.category-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:12px;transition:transform .2s}.category-card:hover img{transform:scale(1.04)}.category-card h3{margin:12px 0 0}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.product-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.product-image{width:100%;aspect-ratio:1;background:var(--surface-muted);border-radius:8px;overflow:hidden;margin-bottom:12px}.product-image img{width:100%;height:100%;object-fit:contain;padding:16px;mix-blend-mode:multiply}.stock{background:#e3f3ea;color:#2f7a4f;font-size:11px;border-radius:12px;padding:2px 9px}.stock:before{content:'●';font-size:9px;margin-right:5px}.stock.out{background:#eee;color:#555}.product-card h3{margin:10px 0;min-height:43px}.product-price{font-size:21px;font-weight:700;margin-top:auto;margin-bottom:14px}.product-price del{font-size:14px;opacity:.55}.product-price ins{text-decoration:none}.product-card .outline{width:100%;background:white;color:var(--ink);border:1px solid var(--ink)}.product-card .outline:hover{background:var(--surface-muted)}.guides{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:64px}.guide{display:grid;grid-template-columns:1.2fr 1fr;background:var(--surface-muted);border-radius:9px;overflow:hidden}.guide>div{padding:30px}.guide p:not(.eyebrow){font-size:15px}.guide .eyebrow{font-size:10px;margin-bottom:16px}.guide img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.guide.blue{background:#eaf3f7}.guide:hover{text-decoration:none}.guide:hover .text-link{text-decoration:underline}.site-footer{background:var(--ink);color:white;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.footer-grid p{max-width:400px;color:#d9e5e8;font-size:15px}.footer-grid h2{margin:10px 0 20px}.footer-grid>div>a:not(.brand){display:block;padding:5px 0;font-size:14px}.fine{font-size:12px!important}.footer-bottom{border-top:1px solid #ffffff25;margin-top:32px;padding-top:20px;font-size:12px;color:#d9e5e8}.content-main{padding-top:40px;padding-bottom:64px;min-height:50vh}.content-main .entry{margin:30px 0}.content-main input,.content-main select,.content-main textarea{max-width:100%;padding:10px;border:1px solid #ccd7d9;border-radius:5px}.woocommerce ul.products li.product img{border-radius:8px;background:var(--surface-muted)}.woocommerce ul.products li.product .price{color:var(--ink);font-size:18px}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink)}.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--ink)}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:15px}.woocommerce-breadcrumb{font-size:13px!important}@media(max-width:1000px){.header-inner{gap:24px}.header-actions span{display:none}.hero-copy{padding:36px 28px}.category-grid{gap:12px}.primary-nav .wrap{gap:20px}.guide>div{padding:24px}}@media(max-width:700px){.wrap{width:calc(100% - 32px)}.announcement{font-size:11px;padding:7px 8px}.header-inner{display:grid;grid-template-columns:44px 1fr auto;gap:10px;min-height:0;padding:12px 0 16px}.menu-toggle{display:block;padding:8px}.brand{font-size:27px;letter-spacing:-1.3px}.header-inner>.brand{text-align:center}.header-actions{gap:12px}.header-actions svg{width:23px}.site-search{grid-row:2;grid-column:1/-1}.site-search input{padding:12px 48px 12px 18px;font-size:14px}.site-search button{top:0}.primary-nav{display:none}.primary-nav.is-open{display:block}.primary-nav .wrap{display:grid;gap:0;padding:12px 0}.primary-nav a{padding:12px 6px}.home-main{padding-top:16px}.hero{grid-template-columns:1fr;border-radius:9px}.hero-copy{padding:28px 22px}.hero h1{max-width:350px;margin-bottom:16px}.eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:18px}.hero-description{font-size:18px;line-height:1.5;margin-bottom:22px}.hero-actions{display:grid;gap:16px;text-align:center}.hero-actions .button{width:100%;min-height:48px;font-size:16px}.hero-photo{min-height:0;height:240px}.hero-photo img{object-position:65% center}.benefits{padding:15px 10px;gap:14px;justify-content:center;font-size:11px;margin-top:12px}.benefits span{gap:8px;flex:1;justify-content:center}.benefits span:first-child{display:none}.benefits svg{width:25px;height:25px}.home-section{margin-top:36px}.section-heading{display:block;margin-bottom:18px}.section-heading>.text-link{display:inline-block;margin-top:12px;font-size:12px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.category-image{aspect-ratio:1.35}.category-card h3{margin-top:9px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.product-image img{padding:9px}.product-card h3{min-height:57px;margin:8px 0}.product-price{font-size:18px;margin-bottom:10px}.product-card .button{font-size:13px;padding:9px 8px;min-height:44px}.stock{font-size:10px}.guides{grid-template-columns:1fr;gap:16px;margin-bottom:40px}.guide>div{padding:22px 18px}.guide .eyebrow{font-size:8px}.guide p:not(.eyebrow){font-size:13px}.guide .text-link{font-size:12px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>div:first-child{grid-column:1/-1}.site-footer{padding-top:32px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep the native shell independent of legacy Elementor global link rules. */
body .site-header a,body .site-footer a{color:#fff}body .hero-actions a.button{color:#fff}body .site-search button{background:transparent;color:var(--ink);border:0;padding:8px}body .menu-toggle{background:transparent;color:white;border:0}body .primary-nav a,body .home-main a:not(.button),body .product-card a.outline{color:var(--ink)}

/* Instrument Sans: native shell and retained content use the same local family. */
/* Legacy Elementor pages also load their kit typography. Keep storefront text consistent. */
html body,body :is(button,input,select,textarea,h1,h2,h3,h4,h5,h6,.elementor-heading-title){font-family:"Plus Jakarta Sans",Arial,sans-serif!important}
body[class*="elementor-kit-"]{--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-family:"Plus Jakarta Sans"}
body .hero h1{max-width:510px}body .hero-photo img{object-position:50% 48%}@media(max-width:700px){body .hero-photo{height:260px}body .hero-photo img{object-position:50% 46%}}

/* Heading typography roles. Size, weight, line height and tracking for every
   storefront heading come from here; components set only margins and layout.
   hero: campaign headline | page: page, category, shop, cart and checkout titles
   product: product title | section: page sections | section-sm: product ranges,
   guides, tabs, cart summary and checkout steps | card: product and category cards
   minor (h3) and utility (h4-h6, footer, form groups): natural spacing. */
:root{--rt-heading-weight:650;
 --rt-hero-size:clamp(60px,5.55vw,80px);--rt-hero-sub-size:clamp(54px,5vw,72px);--rt-hero-leading:1.03;--rt-hero-tracking:-.02em;
 --rt-page-size:clamp(30px,1.125rem + 2.1vw,46px);--rt-product-size:clamp(28px,1rem + 1.7vw,40px);--rt-title-leading:1.12;--rt-title-tracking:-.02em;
 --rt-section-size:clamp(24px,1.1rem + .9vw,30px);--rt-section-sm-size:clamp(21px,1rem + .75vw,27px);--rt-section-leading:1.2;--rt-section-tracking:-.01em;
 --rt-card-size:16px;--rt-card-leading:1.35;--rt-minor-size:20px;--rt-utility-size:17px;--rt-utility-leading:1.3}
@media(min-width:701px) and (max-width:1100px){:root{--rt-hero-size:clamp(38px,4.8vw,52px);--rt-hero-sub-size:1em}}
@media(max-width:700px){:root{--rt-hero-size:clamp(30px,9.3vw,54px);--rt-hero-sub-size:1em;--rt-hero-leading:1.04;--rt-card-size:14px;--rt-minor-size:18px;--rt-utility-size:16px}}
h1,h2,h3,h4,h5,h6{font-weight:var(--rt-heading-weight);text-wrap:balance;overflow-wrap:break-word}
h1{font-size:var(--rt-page-size);line-height:var(--rt-title-leading);letter-spacing:var(--rt-title-tracking)}
h2{font-size:var(--rt-section-size);line-height:var(--rt-section-leading);letter-spacing:var(--rt-section-tracking)}
h3{font-size:var(--rt-minor-size);line-height:var(--rt-utility-leading);letter-spacing:normal}
h4,h5,h6{font-size:var(--rt-utility-size);line-height:var(--rt-utility-leading);letter-spacing:normal}
body .campaign-copy h1{font-size:var(--rt-hero-size);line-height:var(--rt-hero-leading);letter-spacing:var(--rt-hero-tracking);font-weight:800}
.campaign-copy h1>span:not(.screen-reader-text){font-size:var(--rt-hero-sub-size)}
.woocommerce div.product .product_title{font-size:var(--rt-product-size)}
.catalog-range-title,.guide h2,.woocommerce-Tabs-panel h2,.rt-checkout h2,.cart_totals h2{font-size:var(--rt-section-sm-size)}
.product-card :is(h3,h4),.category-card h3{font-size:var(--rt-card-size);line-height:var(--rt-card-leading);letter-spacing:normal;text-wrap:pretty}
.footer-grid h2,.rt-checkout .woocommerce-billing-fields h3{font-size:var(--rt-utility-size);line-height:var(--rt-utility-leading);letter-spacing:normal}

/* Editorial category photos fill each tile, with no inset or grey blending. */
.category-image{aspect-ratio:1;background:transparent}.category-image img{width:100%;height:100%;object-fit:cover;padding:0;mix-blend-mode:normal}@media(max-width:700px){.category-image{aspect-ratio:1.2}}

/* Featured products: native scrolling, quiet controls and real bundle offers. */
.featured-section .section-heading{align-items:flex-end;margin-bottom:26px}
.featured-section .eyebrow{color:#537469;font-size:10px;margin-bottom:10px;letter-spacing:1.4px}
.featured-actions{display:flex;align-items:center;gap:28px}
.carousel-buttons{display:flex;gap:10px}.carousel-buttons[hidden]{display:none}
.carousel-buttons button{width:44px;height:44px;border-radius:50%;border:1px solid #cdd9d9;background:#fff;color:var(--ink);font-size:22px;display:grid;place-items:center;transition:background .2s,opacity .2s}
.carousel-buttons button:hover:not(:disabled){background:var(--ink);color:white;border-color:var(--ink)}
.carousel-buttons button:disabled{opacity:.3;cursor:default}
.product-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:#c6d6d1 transparent;padding:4px 0 18px;margin:-4px 0 0;outline-offset:5px}
.product-carousel:focus-visible{outline:2px solid #0067b0}
.product-carousel .product-card{scroll-snap-align:start;scroll-margin-inline:0}
.product-carousel .product-image{position:relative;border-radius:12px;background:var(--surface-muted);margin-bottom:15px;display:block}
.product-carousel .product-image img{display:block;width:100%;height:100%;padding:0;mix-blend-mode:normal;object-fit:contain;transition:transform .3s ease}
.product-carousel .product-image:hover img{transform:scale(1.025)}
.product-offer{position:absolute;top:14px;left:14px;z-index:1;background:#e0eef8;color:#183f32;border:1px solid #ffffff80;border-radius:30px;padding:8px 13px;font-size:12px;line-height:1.2;font-weight:750;box-shadow:0 2px 8px #183f3208}
.product-carousel .stock{background:none;padding:0;color:#53725a;font-size:11px}
.product-carousel .product-card h3{min-height:47px;margin:8px 0 14px}
.product-carousel .product-price{font-size:22px;margin-bottom:17px;line-height:1.3}
.product-carousel .product-card .outline{border-color:#d3dedd;background:#fff;min-height:46px;font-size:13px;transition:background .2s,border-color .2s}
.product-carousel .product-card .outline:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.carousel-footer{display:flex;gap:24px;align-items:center;margin-top:8px;font-size:11px;color:#607780}
.carousel-progress{height:3px;background:#e9efec;flex:1;border-radius:3px;overflow:hidden}
.carousel-progress span{display:block;width:var(--progress,0%);height:100%;background:#3e6b5b;border-radius:3px;transition:width .2s}
.carousel-position{min-width:85px;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1000px) and (min-width:701px){.product-carousel{grid-auto-columns:calc((100% - 40px)/3);gap:20px}}
@media(max-width:700px){
 .featured-section .section-heading{display:block;margin-bottom:20px}.featured-section .eyebrow{font-size:9px;margin-bottom:9px}
 .featured-actions{justify-content:space-between;gap:15px;margin-top:16px}.featured-actions .text-link{font-size:12px}.carousel-buttons{gap:8px}.carousel-buttons button{width:38px;height:38px;font-size:20px}
 .product-carousel{grid-auto-columns:82%;gap:16px;padding-bottom:16px;scroll-snap-type:x mandatory}
 .product-carousel .product-card h3{min-height:47px}.product-carousel .product-price{font-size:22px}
 .product-offer{top:12px;left:12px;padding:8px 12px;font-size:12px}
 .carousel-footer{gap:14px;font-size:10px}.carousel-hint{max-width:95px;line-height:1.4}.carousel-position{min-width:60px}
}
@media(prefers-reduced-motion:reduce){.product-carousel *,.carousel-progress span{transition:none!important}}

.carousel-enhanced .product-carousel{scrollbar-width:none}
.carousel-enhanced .product-carousel::-webkit-scrollbar{display:none}

/* SVG controls avoid font baseline offsets in circular buttons. */
.carousel-buttons button{padding:0;line-height:1;display:flex;align-items:center;justify-content:center}
.carousel-buttons button svg{display:block;width:22px;height:22px;flex:none}

/* Original vector wordmark, with the theme green ampersand. */
.brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}
.brand-logo{display:block;width:190px;height:auto}
@media(max-width:700px){.header-inner>.brand{justify-self:center}.header-inner .brand-logo{width:170px}}

/* Shared stock treatment on cards and autocomplete, matching product summaries. */
body .product-card span.stock,body .product-page .native-related .product-card span.stock,body .site-header .search-result-stock{display:flex!important;align-items:center;gap:8px;background:none;padding:0;border-radius:0;color:var(--ink);font-size:15px;line-height:1.55}
body .product-card span.stock:before,body .site-header .search-result-stock:before{content:'';display:block;width:10px;height:10px;flex:0 0 10px;border-radius:50%;margin:0;background:var(--green)}
body .product-card span.stock.out:before,body .product-card span.stock.backorder:before,body .site-header .search-result-stock.unavailable:before,body .site-header .search-result-stock.backorder:before{background:#899295}
@media(max-width:700px){body .product-card span.stock,body .product-page .native-related .product-card span.stock,body .site-header .search-result-stock{font-size:14px}}

/* Campaign hero: live copy and price, original product photography. */
.campaign-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:var(--ink);color:#fff;min-height:490px}
.campaign-copy{position:relative;z-index:3;width:53%;padding:38px 40px 36px;pointer-events:none}
.campaign-copy .eyebrow{font-size:11px;letter-spacing:3px;margin:0 0 17px;color:#e3ebed}
body .campaign-copy h1{margin:0 0 20px}
.campaign-copy h1 span{color:var(--green)}
.campaign-description{font-size:17px;line-height:1.55;max-width:365px;margin:0 0 28px}
.campaign-purchase p{font-size:14px;margin:0 0 12px}
body .campaign-purchase a.button{background:var(--green);color:var(--ink);border-color:var(--green);font-size:16px;font-weight:750;min-height:50px;gap:24px;padding:13px 26px;pointer-events:auto}
body .campaign-purchase a.button:hover{background:#005694;border-color:#005694}
.campaign-scene{position:absolute;inset:0 0 0 46%;overflow:hidden;border-radius:30% 0 0 0/65% 0 0 0}
.campaign-scene>img{display:block;width:100%;height:100%;object-fit:cover;object-position:46% 48%}
.campaign-price{position:absolute;z-index:4;top:39%;left:49%;width:132px;aspect-ratio:1;border-radius:50%;background:var(--green);color:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;box-shadow:0 4px 20px #173e4c12}
.campaign-price>span{font-size:12px;font-weight:700}
.campaign-price strong{font-size:32px;line-height:1.15;letter-spacing:-1px}
.campaign-price .woocommerce-Price-currencySymbol{font-size:17px;letter-spacing:0}
.campaign-kit{position:absolute;z-index:2;bottom:0;right:0;width:59%;height:230px;padding:0 20px 10px;display:flex;align-items:flex-end}
.campaign-kit:before{content:"";position:absolute;inset:55% -10% -50% -12%;border-radius:50% 0 0 0/35% 0 0 0;background:#f7f5f0;z-index:-1}
.campaign-kit>img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;object-position:bottom}
@media(min-width:701px) and (max-width:1100px){.campaign-copy{padding:32px 28px;width:55%}.campaign-description{font-size:15px;max-width:290px}.campaign-hero{min-height:460px}.campaign-price{width:108px;left:55%;top:37%}.campaign-price strong{font-size:28px}.campaign-price>span{font-size:10px}.campaign-kit{height:185px;width:55%;padding:0 12px 10px}.campaign-scene{left:48%}}
@media(max-width:700px){
 .campaign-hero{display:flex;flex-direction:column;border-radius:10px;min-height:0}
 .campaign-copy{width:100%;padding:26px 24px 24px;pointer-events:auto}
 .campaign-copy .eyebrow{font-size:10px;letter-spacing:2.5px;margin-bottom:14px}
 body .campaign-copy h1{margin-bottom:16px}
 .campaign-description{font-size:14px;line-height:1.55;max-width:340px;margin-bottom:20px}
 .campaign-purchase p{font-size:12px;margin-bottom:10px}
 body .campaign-purchase a.button{font-size:15px;min-height:48px;width:100%;justify-content:space-between;padding:12px 22px}
 .campaign-scene{position:relative;inset:auto;width:100%;height:240px;border-radius:0}
 .campaign-scene>img{object-position:50% 46%}
 .campaign-kit{position:relative;width:100%;height:150px;right:auto;bottom:auto;margin-top:-50px;padding:0 12px 10px}.campaign-kit:before{inset:45% -10% -50% -12%}
 .campaign-price{top:auto;bottom:170px;left:auto;right:16px;width:102px;gap:2px}
 .campaign-price>span{font-size:10px}.campaign-price strong{font-size:27px}.campaign-price .woocommerce-Price-currencySymbol{font-size:14px}
}
@media(min-width:1101px){
 .campaign-scene>img{width:150%;max-width:none;object-position:50% 65%}
 .campaign-price{top:24%;left:49%;width:140px}
 .campaign-kit{width:64%;height:244px;padding:0 20px 12px}
}
@media(max-width:700px){.campaign-kit:before{inset:22% -10% -50% -12%;border-radius:50% 0 0 0/20% 0 0 0}}
@media(min-width:701px) and (max-width:1100px){.campaign-price{top:10%;left:auto;right:20px}}

/* Direct product offer and complete 42-piece kit. */
@media(min-width:701px){.campaign-copy{min-height:490px;display:flex;flex-direction:column;justify-content:center}.campaign-description{margin-bottom:30px}}
@media(min-width:701px) and (max-width:1100px){.campaign-copy{min-height:460px}}
/* Campaign-scale hierarchy: the product, price and action lead. */
.campaign-hero{background:radial-gradient(ellipse at 20% 30%,#205467 0%,#123d4c 72%)}
.campaign-copy{padding:36px 38px;justify-content:center}
body .campaign-copy h1{margin-bottom:24px}
.campaign-copy .eyebrow{font-size:12px;letter-spacing:2.6px;margin-bottom:18px}
.campaign-description{font-size:19px;line-height:1.5;max-width:400px;margin-bottom:28px}
body .campaign-purchase a.button{min-height:62px;padding:15px 32px;font-size:22px;font-weight:800;gap:28px;box-shadow:0 4px 0 #0c30352b}
.campaign-purchase a.button svg{width:28px;height:28px}
.campaign-price{width:174px;gap:4px}
.campaign-price>span{font-size:15px;font-weight:750}
.campaign-price strong{font-size:58px;font-weight:800;letter-spacing:-3px;line-height:1}
.campaign-price .woocommerce-Price-currencySymbol{font-size:18px;font-weight:650;letter-spacing:0}
@media(min-width:1101px){
 .campaign-hero{min-height:510px}
 .campaign-copy{min-height:510px;width:54%}
 .campaign-price{width:176px;top:17%;left:48%}
 .campaign-kit{width:66%;height:250px;padding:0 12px 8px}
}
@media(min-width:701px) and (max-width:1100px){
 .campaign-copy{padding:30px 26px}
 .campaign-description{font-size:16px;max-width:290px}
 body .campaign-purchase a.button{font-size:19px;min-height:56px;padding:13px 25px}
 .campaign-price{width:130px;top:8%;right:16px;left:auto}
 .campaign-price strong{font-size:43px;letter-spacing:-2px}.campaign-price>span{font-size:12px}
}
@media(max-width:700px){
 .campaign-copy{padding:26px 24px 28px}
 body .campaign-copy h1{margin-bottom:18px}
 .campaign-copy .eyebrow{font-size:10px;margin-bottom:16px;letter-spacing:2px}
 .campaign-description{font-size:15px;margin-bottom:22px}
 body .campaign-purchase a.button{font-size:19px;min-height:56px;padding:14px 23px;justify-content:space-between}
 .campaign-price{width:122px;right:12px;bottom:166px;gap:5px}
 .campaign-price>span{font-size:11px}.campaign-price strong{font-size:40px;letter-spacing:-2px}.campaign-price .woocommerce-Price-currencySymbol{font-size:14px}
 .campaign-kit{height:156px;padding:0 8px 8px}
}
/* Independent visual review: integrated foreground, room for the child. */
@media(min-width:1101px){
 .campaign-hero,.campaign-copy{min-height:540px}
 .campaign-copy{width:56%;padding:30px 38px;justify-content:center}
 .campaign-description{font-size:18px;max-width:365px}
 .campaign-price{width:200px;top:7%;left:47%;gap:5px}
 .campaign-price strong{font-size:68px}
 .campaign-price .woocommerce-Price-currencySymbol{font-size:19px}
 .campaign-kit{left:33%;right:auto;width:51%;height:250px;padding:0 0 10px}
 .campaign-kit:before{inset:64% -55% -50% -8%;border-radius:50% 0 0 0/35% 0 0 0}
 body .campaign-purchase a.button{min-width:260px;justify-content:space-between}
 .campaign-scene>img{width:150%;object-position:50% 85%}
}
@media(max-width:700px){
 .campaign-scene>img{width:125%;max-width:none;object-position:50% 80%}
 .campaign-price{bottom:210px}
}

/* Final campaign spacing and foreground separation. */
@media(min-width:1101px){
 .campaign-kit{left:29%;width:49%;height:230px;padding-bottom:8px}
 .campaign-kit:before{background:#efebe4;inset:65% -65% -50% 0}
 .campaign-description{max-width:390px;text-wrap:balance}
 .campaign-kit>img{filter:drop-shadow(0 5px 5px #42392a26)}
}
@media(min-width:701px) and (max-width:1100px){
 .campaign-scene>img{width:150%;max-width:none;object-position:50% 85%}
 .campaign-kit{left:31%;right:auto;width:49%;height:180px;padding:0 0 8px}
 .campaign-kit:before{background:#efebe4;inset:65% -65% -50% 0}
}

@media(min-width:1101px){.campaign-kit{left:33%;width:56%;height:242px}.campaign-description{max-width:410px;text-wrap:initial}}
@media(max-width:700px){.campaign-kit{height:134px;margin-top:-24px}.campaign-price{bottom:210px}}

/* Centre the selected product display on a broad, curved stage. */
.campaign-kit:before{display:none}
.campaign-hero:after{content:"";position:absolute;z-index:1;pointer-events:none;background:#f9f7f2;width:86%;height:230px;left:25%;bottom:-140px;border-radius:50% 50% 0 0/55% 55% 0 0}
@media(min-width:1101px){
 .campaign-kit{left:37%;width:57%;height:250px;bottom:10px;padding:0}
 .campaign-kit>img{filter:none}
 .campaign-price{width:210px;left:48%;top:10%;gap:3px}
 .campaign-price strong{font-size:85px;letter-spacing:-5px;line-height:1.05}
 .campaign-price>span{font-size:16px}
}
@media(min-width:701px) and (max-width:1100px){
 .campaign-kit{left:39%;width:57%;height:190px;bottom:10px;padding:0}
 .campaign-price strong{font-size:51px;letter-spacing:-3px}
}
@media(max-width:700px){
 .campaign-hero:after{width:140%;left:-20%;height:170px;bottom:-35px;border-radius:50% 50% 0 0/22% 22% 0 0}
 .campaign-kit{height:156px;margin-top:-28px;padding:0 10px 12px;bottom:auto;left:auto;width:100%}
 .campaign-price{bottom:220px;width:128px;gap:3px}
 .campaign-price strong{font-size:51px;letter-spacing:-3px}
}
@media(min-width:1101px){.campaign-price strong{font-size:74px;letter-spacing:-4px}}
@media(max-width:700px){.campaign-price strong{font-size:45px;letter-spacing:-2.5px}}

/* Price hierarchy: dominant numerals, subordinate suffix, deliberate inset. */
.campaign-price strong{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;gap:1px}
.campaign-price-suffix{font-size:.52em;letter-spacing:-.04em}
@media(min-width:1101px){.campaign-price strong{font-size:78px;letter-spacing:-4px}.campaign-price{gap:8px}.campaign-price>span{font-size:15px}}
@media(min-width:701px) and (max-width:1100px){.campaign-price strong{font-size:48px;letter-spacing:-2px}}
@media(max-width:700px){.campaign-price strong{font-size:48px;letter-spacing:-2px}.campaign-price{gap:5px}}
@media(min-width:1101px){.campaign-kit{height:220px;bottom:2px}.campaign-scene>img{height:calc(100% + 28px);transform:translateY(-28px)}}
@media(max-width:700px){.campaign-price{right:20px}}
/* Align the product stage and strengthen supporting campaign text. */
@media(min-width:1101px){
 .campaign-price>span{font-size:21px;letter-spacing:-.025em}
 .campaign-description{font-size:23px;line-height:1.45;max-width:510px}
 .campaign-kit{left:50%;transform:translateX(-50%);width:57%}
 .campaign-hero:after{left:50%;transform:translateX(-50%);width:100%}
}
@media(min-width:701px) and (max-width:1100px){
 .campaign-price>span{font-size:15px}
 .campaign-description{font-size:19px;max-width:380px}
 .campaign-kit{left:50%;transform:translateX(-50%)}
 .campaign-hero:after{left:50%;transform:translateX(-50%);width:100%}
}
@media(max-width:700px){
 .campaign-price>span{font-size:14px;letter-spacing:-.025em}
 .campaign-description{font-size:18px;line-height:1.45}
 .campaign-kit{left:auto;transform:none}
 .campaign-hero:after{left:50%;transform:translateX(-50%)}
}

.catalog-card .product-image{position:relative;display:block}
.catalog-card .product-image img{display:block;width:100%;height:100%;padding:0;object-fit:contain;mix-blend-mode:normal}

a.product-card.catalog-card{color:var(--ink);text-decoration:none;border-radius:10px}
.product-card.catalog-card h4{min-height:0}
.product-card.catalog-card .product-price{margin-top:auto;margin-bottom:0}
@media(hover:hover){.product-card.catalog-card:hover h4{text-decoration:underline;text-underline-offset:.17em}}
.product-card.catalog-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

.catalog-card .catalog-summary{margin:0 0 14px;color:#4a5d70;font-size:14px;line-height:1.5;overflow-wrap:anywhere}

.product-card.catalog-card .catalog-summary{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.catalog-range-title{margin:0 0 20px}
.catalog-range+.catalog-range{margin-top:clamp(34px,5vw,64px);border-top:1px solid var(--line);padding-top:clamp(24px,3vw,40px)}
.product-card.catalog-card h4{margin:10px 0}
.catalog-saving{display:inline-block;vertical-align:middle;white-space:nowrap;background:#ffe59b;color:#392d0d;font-size:12px;letter-spacing:0;line-height:1.5;padding:2px 7px;border-radius:4px;margin-left:3px}
@media(max-width:700px){.catalog-saving{margin-left:0}}

.product-grid .product-price{font-size:clamp(21px,2vw,26px);line-height:1.3;font-variant-numeric:lining-nums}

.product-grid:has(> .catalog-card){column-gap:clamp(24px,2.2vw,36px);row-gap:clamp(32px,3.2vw,52px)}
@media(max-width:700px){.product-grid:has(> .catalog-card){column-gap:16px;row-gap:32px}}

@media (min-width:701px) and (max-width:1200px){
 .product-grid:has(> .catalog-card),.home-main .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-main .category-grid{gap:22px 24px}
 .home-main .category-image{aspect-ratio:1.8}
}

.woocommerce ul.products:has(>.rt-loop-card){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(32px,3.2vw,52px) clamp(24px,2.2vw,36px);list-style:none;padding:0}
.woocommerce ul.products:has(>.rt-loop-card)::before,.woocommerce ul.products:has(>.rt-loop-card)::after{display:none}
.rt-loop-card{min-width:0;display:flex}.rt-loop-card>.catalog-card{width:100%}
.rt-loop-card .product-price{font-size:clamp(21px,2vw,26px);line-height:1.3}
@media(max-width:1200px){.woocommerce ul.products:has(>.rt-loop-card){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.woocommerce ul.products:has(>.rt-loop-card){grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}}

.rt-cart-icon{position:relative;display:inline-flex;font-style:normal}
.rt-cart-count{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;box-sizing:border-box;border-radius:20px;background:var(--green);color:var(--ink);box-shadow:0 0 0 2px var(--ink);font:700 10px/1 "Plus Jakarta Sans",sans-serif;font-variant-numeric:tabular-nums}

.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-payments{display:flex;align-items:center;gap:8px}
.footer-payments span{font-size:14px;font-weight:600;color:#fff;margin-right:4px}
.footer-payments img{display:block;width:50px;height:32px;object-fit:contain}
@media(max-width:700px){.footer-bottom{flex-direction:column;align-items:flex-start}}

/* Breadcrumb (larger screens) and back link (phones), the same on product and category pages. */
.woocommerce-breadcrumb a{color:var(--ink)}
.rt-back{display:none}
@media(max-width:700px){
 .product-page,.category-main{padding-top:0!important}
 .product-page .woocommerce-breadcrumb,.category-main .woocommerce-breadcrumb{display:none}
 body a.rt-back{display:flex;align-items:center;gap:8px;height:48px;margin:0;color:#4f6378;font-size:14px;font-weight:600;line-height:1;text-decoration:none}
 .rt-back::before{content:"";width:7px;height:7px;margin-left:2px;border:solid currentColor;border-width:0 0 1.6px 1.6px;transform:rotate(45deg)}
}

/* "SPAR …" badge: the signature light green (was yellow). */
.catalog-saving {background:var(--green) !important;color:var(--ink) !important;}
