@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("../fonts/inter-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("../fonts/inter-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; }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 500 600; font-display: swap; src: url("../fonts/inter-tight-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 500 600; font-display: swap; src: url("../fonts/inter-tight-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; }
@font-face { font-family: "Roboto Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/roboto-mono-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Roboto Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/roboto-mono-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; }

:root {
	--ct-gold: #f6ce3a;
	--ct-gold-soft: #ffe36d;
	--ct-carbon: #111312;
	--ct-iron: #1d201f;
	--ct-graphite: #292d2a;
	--ct-bone: #f2f1ea;
	--ct-paper: #faf9f4;
	--ct-mist: #a9afaa;
	--ct-reed: #33443a;
	--ct-header: #3b4843;
	--ct-header-deep: #25302c;
	--ct-brand-carbon: #201e21;
	--ct-brand-panel: #29272a;
	--ct-service: #eceeea;
	--ct-border: #c9ccc5;
	--ct-font-display: "Inter Tight", Arial, sans-serif;
	--ct-font-body: "Inter", Arial, sans-serif;
	--ct-font-mono: "Roboto Mono", ui-monospace, monospace;
	--ct-header-height: 72px;
	--ct-service-height: 30px;
}

html { scroll-behavior: smooth; }
body.carptnt-site { margin: 0; color: var(--ct-carbon); background: var(--ct-bone); font-family: var(--ct-font-body); letter-spacing: 0; }
body.carptnt-site.ct-lock-scroll { overflow: hidden; }
.carptnt-site #moderncart-floating-cart,
.carptnt-site .moderncart-cart-slide-out,
.carptnt-site #power-coupons-drawer { display: none !important; }
.carptnt-site *, .carptnt-site *::before, .carptnt-site *::after { box-sizing: border-box; }
.carptnt-site img { max-width: 100%; height: auto; }
:where(.carptnt-site) a { color: inherit; }
:where(.carptnt-site) button, :where(.carptnt-site) input, :where(.carptnt-site) select { font-family: inherit; }
.carptnt-site button { cursor: pointer; }
.ct-site { min-width: 0; overflow: clip; background: var(--ct-bone); }
.ct-skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; padding: 12px 16px; color: var(--ct-carbon); background: var(--ct-gold); transform: translateY(-150%); }
.ct-skip-link:focus { transform: translateY(0); }

.ct-service-bar { position: relative; z-index: 102; height: var(--ct-service-height); display: flex; align-items: center; overflow: hidden; color: #3f4240; background: var(--ct-service); border-bottom: 1px solid #d4d8d3; }
.ct-service-track { width: max-content; min-width: 100%; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 0 20px; font-size: 9px; line-height: 1; white-space: nowrap; }
.ct-service-track i { width: 3px; height: 3px; border-radius: 50%; background: #aa8700; }
.ct-service-track > :nth-child(n+9) { display: none; }

.ct-header { position: relative; z-index: 101; height: var(--ct-header-height); color: #f4f5f2; background: var(--ct-header); border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: inset 0 -1px rgba(0,0,0,.16); transition: transform 360ms cubic-bezier(.2,.75,.2,1), background 240ms ease, box-shadow 240ms ease; }
.ct-header.ct-sticky { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 12px 32px rgba(0,0,0,.16); }
.ct-header.ct-hidden { transform: translateY(-100%); }
.ct-header-sentinel { height: 0; }
.ct-header-sentinel.ct-active { height: var(--ct-header-height); }
.ct-header-inner { width: 100%; height: 100%; display: grid; grid-template-columns: minmax(174px,.8fr) minmax(460px,1.8fr) minmax(290px,.9fr); align-items: center; gap: 24px; padding: 0 clamp(24px,4vw,64px); }
.ct-brand { width: max-content; display: inline-flex; align-items: center; gap: 11px; color: #f5f5f1; text-decoration: none; }
.ct-brand--header { height: auto; align-self: center; }
.ct-brand-mark { width: 46px; height: 38px; display: block; flex: 0 0 auto; }
.ct-brand-mark img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }
.ct-brand-name { font: 600 20px/1 var(--ct-font-display); }
.ct-brand-name em { color: var(--ct-gold); font-style: normal; }
.ct-registered-logo { display: block; object-fit: contain; object-position: left center; background: transparent; border: 0; box-shadow: none; }
.ct-brand--header .ct-registered-logo { width: 84px; height: auto; max-height: 57px; }
.ct-brand--footer .ct-registered-logo { width: 152px; height: auto; }
.ct-primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(16px,2vw,32px); }
.ct-nav-link, .carptnt-site .ct-nav-link:hover, .carptnt-site .ct-nav-link:focus, .carptnt-site .ct-nav-link:active { position: relative; padding: 12px 0; color: #dfe2de; background: transparent; border: 0; border-radius: 0; box-shadow: none; font: 500 11px/1 var(--ct-font-body); text-decoration: none; white-space: nowrap; }
.ct-nav-link::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 4px; height: 2px; background: var(--ct-gold); transition: right 190ms ease; }
.ct-nav-link:hover::after, .ct-nav-link:focus-visible::after, .ct-nav-link[aria-expanded="true"]::after { right: 0; }
.carptnt-site .ct-shop-toggle:hover, .carptnt-site .ct-shop-toggle:focus-visible, .carptnt-site .ct-shop-toggle[aria-expanded="true"],
.carptnt-site .ct-menu-toggle:hover, .carptnt-site .ct-menu-toggle:focus-visible, .carptnt-site .ct-menu-toggle[aria-expanded="true"] { color: var(--ct-gold); background: transparent; border-color: transparent; box-shadow: none; }
.ct-utilities { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.ct-locale-switcher { position: relative; width: 138px; color: #e9ece8; }
.ct-locale-trigger, .carptnt-site .ct-locale-trigger:hover, .carptnt-site .ct-locale-trigger:focus, .carptnt-site .ct-locale-trigger:active { width: 100%; height: 40px; display: grid; grid-template-columns: 16px minmax(30px,1fr) 1px 30px 12px; align-items: center; gap: 7px; margin: 0; padding: 0 10px; color: inherit; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28); border-radius: 3px; box-shadow: none; font: 500 10px/1 var(--ct-font-mono); text-align: left; cursor: pointer; transition: color 180ms ease, border-color 180ms ease, background 180ms ease; }
.carptnt-site .ct-locale-trigger:hover, .carptnt-site .ct-locale-trigger:focus-visible, .ct-locale-switcher[data-open="true"] .ct-locale-trigger { color: #fff; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.58); }
.ct-globe, .ct-chevron { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.4; pointer-events: none; }
.ct-chevron { width: 12px; height: 12px; transition: transform 180ms ease; }
.ct-locale-switcher[data-open="true"] .ct-chevron { transform: rotate(180deg); }
.ct-locale-switcher[data-translating="true"] .ct-chevron { animation: ctSpin 700ms linear infinite; }
.ct-language-current { min-width: 0; display: flex; align-items: baseline; gap: 7px; }
.ct-language-name { display: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-locale-divider { width: 1px; height: 14px; background: #4a504c; }
.ct-currency-code { font: 500 10px/1 var(--ct-font-mono); }
.ct-locale-menu { position: absolute; z-index: 112; top: calc(100% + 8px); right: 0; width: 206px; padding: 6px; color: #e9ece8; background: var(--ct-brand-panel); border: 1px solid rgba(255,255,255,.18); border-radius: 3px; box-shadow: 0 20px 44px rgba(0,0,0,.3); transform-origin: top right; animation: ctLocaleReveal 170ms cubic-bezier(.2,.75,.2,1) both; }
.ct-locale-menu[hidden] { display: none; }
.ct-locale-option, .carptnt-site .ct-locale-option:hover, .carptnt-site .ct-locale-option:focus, .carptnt-site .ct-locale-option:active { position: relative; width: 100%; min-height: 40px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 8px; margin: 0; padding: 0 12px; color: #d9ddd8; background: transparent; border: 0; border-radius: 1px; box-shadow: none; font: 500 11px/1 var(--ct-font-body); text-align: left; cursor: pointer; }
.carptnt-site .ct-locale-option:hover, .carptnt-site .ct-locale-option:focus-visible { color: #fff; background: #2a2e2b; }
.ct-locale-option[aria-selected="true"], .carptnt-site .ct-locale-option[aria-selected="true"]:hover, .carptnt-site .ct-locale-option[aria-selected="true"]:focus { color: #fff; background: rgba(246,206,58,.08); }
.ct-locale-option[aria-selected="true"]::before { content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 2px; background: var(--ct-gold); }
.ct-locale-option-code { color: #89918b; font: 500 9px/1 var(--ct-font-mono); }
.ct-locale-option[aria-selected="true"] .ct-locale-option-code { color: var(--ct-gold); }
@keyframes ctLocaleReveal { from { opacity: 0; transform: translateY(-6px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ctSpin { to { transform: rotate(360deg); } }
.ct-utility, .ct-icon-button { color: #f0f1ee; background: transparent; border: 0; }
.ct-icon-button { position: relative; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0; text-decoration: none; }
.ct-icon-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.carptnt-site .ct-icon-button:hover, .carptnt-site .ct-icon-button:focus, .carptnt-site .ct-icon-button:active { color: var(--ct-gold); background: transparent; border: 0; box-shadow: none; }
.ct-brand:focus-visible, .ct-nav-link:focus-visible, .ct-icon-button:focus-visible, .ct-locale-trigger:focus-visible, .ct-locale-option:focus-visible, .ct-button:focus-visible, .ct-arrow-link:focus-visible, .ct-menu-close:focus-visible { outline: 2px solid var(--ct-gold); outline-offset: 3px; }
.ct-cart-count { position: absolute; right: 0; top: 3px; min-width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; color: var(--ct-carbon); background: var(--ct-gold); border-radius: 50%; font: 600 8px/1 var(--ct-font-mono); }
.ct-cart-count[hidden] { display: none; }
.ct-menu-toggle { display: none; }

.ct-overlay { position: fixed; z-index: 96; inset: 0; visibility: hidden; opacity: 0; background: rgba(5,7,6,.58); backdrop-filter: blur(3px); transition: opacity 220ms ease, visibility 220ms ease; }
.ct-site[data-menu="open"] .ct-overlay, .ct-site[data-search="open"] .ct-overlay { visibility: visible; opacity: 1; }
.ct-mega-menu { position: fixed; z-index: 100; top: calc(var(--ct-service-height) + var(--ct-header-height)); left: 0; right: 0; visibility: hidden; opacity: 0; color: #eef0ec; background: var(--ct-brand-panel); border-top: 1px solid rgba(255,255,255,.11); transform: translateY(-16px); transition: opacity 240ms ease, transform 240ms cubic-bezier(.2,.75,.2,1), visibility 240ms ease; }
.ct-header.ct-sticky ~ .ct-mega-menu { top: var(--ct-header-height); }
.ct-site[data-menu="open"] .ct-mega-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.ct-mega-menu-inner { display: grid; grid-template-columns: 1.7fr .66fr; gap: 30px; padding: 30px clamp(24px,4vw,64px) 36px; }
.ct-mega-heading { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; color: var(--ct-mist); font: 500 9px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-menu-close, .carptnt-site .ct-menu-close:hover, .carptnt-site .ct-menu-close:focus, .carptnt-site .ct-menu-close:active { display: none; min-width: 44px; min-height: 44px; padding: 8px; color: #fff; background: transparent; border: 0; box-shadow: none; font: 500 9px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-menu-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 20px 14px; }
.ct-menu-grid a { min-width: 0; display: block; padding: 0 0 13px; border-bottom: 1px solid #343936; color: #e9ebe7; text-decoration: none; transition: border-color 180ms ease, color 180ms ease; }
.ct-menu-grid a:hover { color: var(--ct-gold); border-color: var(--ct-gold); }
.ct-menu-grid small { display: block; margin-bottom: 9px; color: var(--ct-mist); font: 500 8px/1 var(--ct-font-mono); }
.ct-menu-grid strong { display: block; font: 500 13px/1.2 var(--ct-font-body); }
.ct-menu-grid span { display: block; margin-top: 6px; color: #929a94; font-size: 9px; }
.ct-mobile-locale { display: none; }
.ct-translation-engine { position: fixed; z-index: -1; top: -100px; left: 0; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.ct-language-status { position: fixed; z-index: 116; right: 20px; bottom: 20px; max-width: min(360px,calc(100vw - 40px)); margin: 0; padding: 12px 14px; color: #f4f5f2; background: var(--ct-brand-panel); border-left: 2px solid var(--ct-gold); border-radius: 2px; box-shadow: 0 16px 36px rgba(0,0,0,.24); font: 500 11px/1.45 var(--ct-font-body); }
.ct-language-status[data-state="error"] { border-left-color: #d66a58; }
.ct-language-status[hidden] { display: none; }
body.carptnt-site { top: 0 !important; }
body.carptnt-site > .skiptranslate, #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
.goog-text-highlight { background: inherit !important; box-shadow: none !important; }
.ct-mega-feature { position: relative; min-height: 190px; overflow: hidden; text-decoration: none; }
.ct-mega-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,10,8,.82),rgba(7,10,8,.08)); }
.ct-mega-feature img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.75,.2,1); }
.ct-mega-feature:hover img { transform: scale(1.035); }
.ct-mega-feature > span { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; }
.ct-mega-feature small { color: var(--ct-gold); font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-mega-feature strong { max-width: 250px; margin: 10px 0 16px; font: 500 23px/1.05 var(--ct-font-display); }
.ct-mega-feature em { color: #fff; font-size: 10px; font-style: normal; }

.ct-search-panel { position: fixed; z-index: 100; top: calc(var(--ct-service-height) + var(--ct-header-height)); left: 0; right: 0; visibility: hidden; opacity: 0; padding: 42px clamp(24px,8vw,128px) 52px; color: #fff; background: var(--ct-brand-panel); transform: translateY(-16px); transition: opacity 220ms ease, transform 220ms ease, visibility 220ms ease; }
.ct-header.ct-sticky ~ .ct-mega-menu ~ .ct-search-panel { top: var(--ct-header-height); }
.ct-site[data-search="open"] .ct-search-panel { visibility: visible; opacity: 1; transform: translateY(0); }
.ct-search-panel form { max-width: 960px; margin: 0 auto; }
.ct-search-panel label { display: block; margin-bottom: 14px; color: var(--ct-mist); font: 500 9px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-search-panel form > div { display: grid; grid-template-columns: 1fr 56px; border-bottom: 1px solid #59605b; transition: border-color 180ms ease; }
.ct-search-panel form > div:focus-within { border-color: var(--ct-gold); }
.ct-search-panel input { min-width: 0; padding: 12px 0 18px; color: #fff; background: transparent; border: 0; outline: none; font: 500 36px/1 var(--ct-font-display); }
.carptnt-site .ct-search-panel input, .carptnt-site .ct-search-panel input:focus, .carptnt-site .ct-newsletter-form input, .carptnt-site .ct-newsletter-form input:focus { color: #fff; background: transparent; border: 0; border-radius: 0; outline: 0; box-shadow: none; }
.ct-search-panel input::placeholder { color: #6d746f; }
.ct-search-panel button { color: var(--ct-gold); background: transparent; border: 0; font-size: 28px; }

.ct-home { background: var(--ct-bone); }
.ct-hero { position: relative; min-height: min(760px,calc(100svh - var(--ct-service-height) - var(--ct-header-height))); display: flex; align-items: center; overflow: hidden; isolation: isolate; color: #f4f5f1; background: #1a1f1d; }
.ct-hero-media, .ct-hero-media picture, .ct-hero-media img, .ct-hero-vignette { position: absolute; inset: 0; width: 100%; height: 100%; }
.ct-hero-media { z-index: -3; will-change: transform; }
.ct-hero-media img { object-fit: cover; object-position: center; animation: ctHeroImage 1.4s cubic-bezier(.2,.75,.2,1) both; }
.ct-hero-vignette { z-index: -2; background: linear-gradient(90deg,rgba(7,10,9,.94) 0%,rgba(7,10,9,.77) 36%,rgba(7,10,9,.22) 62%,rgba(7,10,9,.08) 100%); }
.ct-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg,rgba(5,8,7,.24),transparent 38%); }
.ct-hero-content { width: min(650px,54%); margin: 0 clamp(34px,7.4vw,118px); padding: 50px 0 112px; }
.ct-kicker { margin: 0 0 18px; color: #6d746f; font: 500 9px/1.25 var(--ct-font-mono); text-transform: uppercase; }
.ct-hero-kicker { display: flex; align-items: center; gap: 11px; margin-bottom: 25px; color: var(--ct-gold); animation: ctRise .75s .25s both; }
.ct-hero-kicker span { width: 32px; height: 1px; background: var(--ct-gold); transform-origin: left; animation: ctScaleX .7s .55s both; }
.ct-hero-title { max-width: 650px; margin: 0; color: #f4f5f1; font: 500 clamp(54px,5.35vw,82px)/.96 var(--ct-font-display); }
.ct-hero-title .ct-line { display: block; overflow: hidden; }
.ct-hero-title .ct-line > span { display: block; animation: ctTitleIn .9s cubic-bezier(.16,1,.3,1) both; }
.ct-hero-title .ct-line:nth-child(2) > span { animation-delay: .1s; }
.ct-hero-copy { max-width: 480px; margin: 25px 0 31px; color: #c9ceca; font-size: 14px; line-height: 1.7; animation: ctRise .75s .35s both; }
.ct-hero-actions { display: flex; align-items: center; gap: 26px; animation: ctRise .75s .48s both; }
.ct-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 34px; padding: 0 20px; font-size: 11px; font-weight: 600; text-decoration: none; transition: transform 180ms ease, background 180ms ease; }
.ct-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform 180ms ease; }
.ct-button:hover { transform: translateY(-2px); }
.ct-button:hover svg { transform: translateX(3px); }
.carptnt-site .ct-button-gold, .carptnt-site .ct-button-gold:hover, .carptnt-site .ct-button-gold:focus, .carptnt-site .ct-button-gold:active { color: var(--ct-carbon); background: var(--ct-gold); }
.carptnt-site .ct-button-gold:hover { background: var(--ct-gold-soft); }
.ct-text-link { position: relative; color: #eef0ec; font-size: 11px; text-underline-offset: 5px; }
.ct-text-link:hover { color: var(--ct-gold); }
.ct-hero-specs { position: absolute; left: clamp(34px,7.4vw,118px); right: clamp(34px,7.4vw,118px); bottom: 0; min-height: 72px; display: grid; grid-template-columns: 1.35fr repeat(3,1fr); align-items: center; border-top: 1px solid rgba(255,255,255,.23); animation: ctRise .8s .62s both; }
.ct-hero-specs > div { padding: 0 20px; border-left: 1px solid rgba(255,255,255,.14); }
.ct-hero-specs > div:first-child { padding-left: 0; border-left: 0; }
.ct-hero-specs small { display: block; margin-bottom: 7px; color: var(--ct-mist); font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-hero-specs strong { color: #eef0ec; font-size: 10px; font-weight: 500; }
.ct-scroll-cue { position: absolute; right: clamp(24px,4vw,64px); bottom: 84px; display: flex; align-items: center; gap: 10px; padding: 10px; color: #e7e9e6; background: rgba(10,13,11,.28); border: 0; font-size: 8px; text-transform: uppercase; }
.ct-scroll-cue span { position: relative; width: 28px; height: 1px; overflow: hidden; background: rgba(255,255,255,.3); }
.ct-scroll-cue span::after { content: ""; position: absolute; inset: 0; background: var(--ct-gold); animation: ctScan 2s ease-in-out infinite; }

.ct-section { padding: 88px clamp(24px,5vw,78px); }
.ct-category-section { background: var(--ct-paper); }
.ct-products-section { background: var(--ct-bone); }
.ct-section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.ct-section-header h2, .ct-story-copy h2, .ct-newsletter h2 { margin: 0; color: var(--ct-carbon); font: 500 clamp(38px,3.6vw,56px)/1.02 var(--ct-font-display); }
.ct-arrow-link { display: inline-flex; align-items: center; gap: 14px; padding: 8px 0; color: var(--ct-carbon); font-size: 10px; text-decoration: underline; text-underline-offset: 6px; }
.ct-arrow-link span { display: inline-block; transition: transform 180ms ease; }
.ct-arrow-link:hover span { transform: translateX(4px); }
.ct-arrow-link-gold { color: var(--ct-gold); }

.ct-category-track { display: grid; grid-template-columns: 1.25fr repeat(4,1fr); gap: 10px; }
.carptnt-site .ct-category-card, .carptnt-site .ct-category-card:hover, .carptnt-site .ct-category-card:focus { position: relative; min-width: 0; min-height: 346px; display: block; overflow: hidden; color: #fff; background: var(--ct-iron); border-radius: 2px; text-decoration: none; }
.ct-category-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 620ms cubic-bezier(.2,.75,.2,1), filter 300ms ease; }
.ct-category-card::before { content: ""; position: absolute; z-index: 1; inset: 36% 0 0; background: linear-gradient(0deg,rgba(8,10,9,.92),transparent); }
.ct-category-card::after { content: ""; position: absolute; z-index: 2; left: 0; right: 100%; bottom: 0; height: 3px; background: var(--ct-gold); transition: right 300ms cubic-bezier(.2,.75,.2,1); }
.ct-category-card:hover img { transform: scale(1.045); filter: saturate(.88) contrast(1.05); }
.ct-category-card:hover::after { right: 0; }
.ct-card-index { position: absolute; z-index: 2; left: 18px; top: 18px; color: rgba(255,255,255,.76); font: 500 8px/1 var(--ct-font-mono); }
.ct-card-copy { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 20px; }
.ct-card-copy small { display: block; margin-bottom: 8px; color: #c1c7c2; font-size: 8px; }
.ct-card-copy strong { display: block; font: 500 19px/1.05 var(--ct-font-display); }
.ct-card-copy em { display: block; height: 0; overflow: hidden; margin-top: 0; opacity: 0; color: var(--ct-gold); font-size: 9px; font-style: normal; transition: height 240ms ease, margin 240ms ease, opacity 240ms ease; }
.ct-category-card:hover .ct-card-copy em { height: 12px; margin-top: 12px; opacity: 1; }

.ct-product-filters { display: flex; gap: 8px; margin-bottom: 24px; overflow-x: auto; scrollbar-width: none; }
.ct-product-filters::-webkit-scrollbar { display: none; }
.ct-product-filters button { flex: 0 0 auto; min-height: 40px; padding: 0 15px; color: #555c57; background: transparent; border: 1px solid var(--ct-border); border-radius: 0; font: 500 10px/1 var(--ct-font-body); transition: color 180ms ease, background 180ms ease, border 180ms ease; }
.carptnt-site .ct-product-filters button:hover, .carptnt-site .ct-product-filters button:focus { color: var(--ct-carbon); background: #fff; border-color: var(--ct-carbon); box-shadow: none; }
.carptnt-site .ct-product-filters button[aria-pressed="true"] { color: var(--ct-bone); background: var(--ct-carbon); border-color: var(--ct-carbon); }
.ct-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.ct-product-card { position: relative; min-width: 0; }
.ct-product-card[hidden] { display: none; }
.ct-product-media { position: relative; aspect-ratio: 4/5; display: block; overflow: hidden; background: #e8e7df; }
.ct-product-media::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 3px; background: var(--ct-gold); transition: right 240ms ease; }
.ct-product-image-link { display: block; width: 100%; height: 100%; }
.ct-product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 420ms cubic-bezier(.2,.75,.2,1); }
.ct-product-card:hover .ct-product-media img { transform: scale(1.025); }
.ct-product-card:hover .ct-product-media::after { right: 0; }
.carptnt-site .ct-quick-add { position: absolute; z-index: 2; right: 12px; bottom: 12px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--ct-carbon); text-decoration: none; transition: color 180ms ease, background 180ms ease, transform 180ms ease; }
.ct-quick-add svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform 180ms ease; }
.carptnt-site .ct-quick-add:hover, .carptnt-site .ct-quick-add:focus { color: var(--ct-carbon); background: var(--ct-gold); box-shadow: none; transform: translateY(-2px); }
.carptnt-site .ct-quick-add.ct-added { color: var(--ct-carbon); background: var(--ct-gold); }
.ct-quick-add.ct-added svg { transform: rotate(45deg); }
.ct-product-details { padding: 15px 2px 7px; }
.ct-product-series { display: block; color: #747b76; font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-product-line { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin: 9px 0 8px; }
.ct-product-line h3 { min-width: 0; margin: 0; font-size: 13px; font-weight: 600; line-height: 1.35; }
.ct-product-line h3 a { color: var(--ct-carbon); text-decoration: none; }
.ct-product-line > strong { flex: 0 0 auto; font-size: 13px; }
.ct-product-line ins { text-decoration: none; }
.ct-product-line del { margin-right: 4px; color: #7d837f; font-weight: 400; }
.ct-product-details p { margin: 0; color: #656c67; font-size: 10px; line-height: 1.5; }
.ct-product-details p span { color: #8a908b; }

.ct-system-section { min-height: 620px; display: grid; grid-template-columns: 1.06fr .94fr; color: #eef0ec; background: var(--ct-reed); }
.ct-system-visual { position: relative; min-height: 620px; overflow: hidden; will-change: transform; }
.ct-system-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 70%,rgba(51,68,58,.2)); }
.ct-system-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ct-system-number { position: absolute; z-index: 2; left: 24px; top: 24px; color: var(--ct-gold); font: 500 9px/1 var(--ct-font-mono); }
.ct-system-marker { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; color: #fff; font-size: 8px; }
.ct-system-marker i { position: relative; width: 12px; height: 12px; border: 1px solid var(--ct-gold); border-radius: 50%; }
.ct-system-marker i::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--ct-gold); }
.ct-system-marker i::before { content: ""; position: absolute; inset: -7px; border: 1px solid rgba(246,206,58,.42); border-radius: 50%; animation: ctPulse 2.4s ease-out infinite; }
.ct-marker-one { left: 34%; top: 42%; }
.ct-marker-two { right: 14%; bottom: 30%; }
.ct-system-content { display: flex; flex-direction: column; justify-content: center; padding: clamp(54px,7vw,105px); }
.ct-system-content .ct-kicker { color: #c2cbc4; }
.ct-system-content h2 { margin: 0; color: #f3f4f1; font: 500 clamp(48px,4.8vw,72px)/.96 var(--ct-font-display); }
.ct-system-content > p:not(.ct-kicker) { max-width: 470px; margin: 26px 0 30px; color: #cbd2cd; font-size: 13px; line-height: 1.7; }
.ct-system-content ul { max-width: 470px; margin: 0 0 32px; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); }
.ct-system-content li { display: grid; grid-template-columns: 38px 1fr; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.18); color: #edf0ed; font-size: 10px; }
.ct-system-content li span { color: var(--ct-gold); font: 500 8px/1.4 var(--ct-font-mono); }
.ct-system-content .ct-arrow-link { width: max-content; }

.ct-story-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(36px,7vw,110px); align-items: center; padding: 100px clamp(24px,7vw,108px); background: var(--ct-paper); }
.ct-story-copy { max-width: 500px; }
.ct-story-copy > p:not(.ct-kicker) { max-width: 390px; margin: 24px 0 24px; color: #616863; font-size: 13px; line-height: 1.75; }
.ct-story-media { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.ct-story-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms cubic-bezier(.2,.75,.2,1); }
.ct-story-media:hover img { transform: scale(1.025); }
.ct-story-media span { position: absolute; right: 18px; bottom: 18px; padding: 9px 12px; color: #fff; background: rgba(17,19,18,.84); font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }

.ct-trust-strip { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 clamp(24px,5vw,78px); color: #eff1ed; background: var(--ct-carbon); }
.ct-trust-strip > div { min-height: 152px; display: flex; flex-direction: column; justify-content: center; padding: 26px; border-left: 1px solid #303431; }
.ct-trust-strip > div:first-child { padding-left: 0; border-left: 0; }
.ct-trust-strip small { margin-bottom: 10px; color: var(--ct-gold); font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-trust-strip strong { font-size: 11px; font-weight: 500; }
.ct-trust-strip span { margin-top: 8px; color: #a7aea8; font-size: 11px; line-height: 1.45; }

.ct-newsletter { position: relative; min-height: 440px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(38px,8vw,130px); align-items: center; overflow: hidden; padding: 78px clamp(24px,7vw,108px); color: #f3f4f1; background: var(--ct-iron); }
.ct-newsletter-symbol { position: absolute; right: -5%; top: 50%; width: min(560px,46vw); opacity: .07; transform: translateY(-50%); pointer-events: none; }
.ct-newsletter-symbol img { width: 100%; mix-blend-mode: screen; }
.ct-newsletter .ct-kicker { color: var(--ct-gold); }
.ct-newsletter h2 { color: #f3f4f1; }
.ct-newsletter-form { position: relative; z-index: 1; }
.ct-newsletter-form label { display: block; margin-bottom: 12px; color: #adb4af; font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-newsletter-form > div { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid #5d645f; transition: border-color 180ms ease; }
.ct-newsletter-form > div:focus-within { border-color: var(--ct-gold); }
.ct-newsletter-form input { min-width: 0; padding: 14px 0 17px; color: #fff; background: transparent; border: 0; outline: none; font-size: 13px; }
.ct-newsletter-form input::placeholder { color: #767e78; }
.ct-newsletter-form button { padding: 0 0 0 24px; color: var(--ct-gold); background: transparent; border: 0; font-size: 10px; }
.ct-newsletter-form button span { margin-left: 10px; }
.ct-newsletter-form > p { margin: 13px 0 0; color: #939b95; font-size: 10px; line-height: 1.45; }
.ct-newsletter-form > .ct-newsletter-feedback { max-width: 560px; margin-top: 18px; padding: 10px 0 10px 14px; color: #eef2ed; border-left: 2px solid var(--ct-gold); font-size: 11px; }
.ct-newsletter-form > .ct-newsletter-feedback--error { color: #ffd0c8; border-left-color: #d66a58; }

.ct-footer { padding: 64px clamp(24px,5vw,78px) 22px; color: var(--ct-mist); background: var(--ct-brand-carbon); border-top: 1px solid #373438; }
.ct-footer-lead { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding-bottom: 46px; border-bottom: 1px solid #303431; }
.ct-footer-lead p { max-width: 280px; margin: 5px 0 0; font: 500 18px/1.25 var(--ct-font-display); text-align: right; }
.ct-footer-links { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; padding: 42px 0; }
.ct-footer-links > div { display: flex; flex-direction: column; gap: 10px; }
.ct-footer-links strong { margin-bottom: 6px; color: #f0f2ee; font-size: 10px; font-weight: 500; }
.ct-footer-links a, .ct-footer-links span, .ct-footer-links button { width: max-content; padding: 0; color: var(--ct-mist); background: transparent; border: 0; font-size: 10px; line-height: 1.4; text-decoration: none; }
.ct-footer-links a:hover, .ct-footer-links button:hover { color: var(--ct-gold); }
.ct-footer-bottom { display: flex; gap: 20px; padding-top: 20px; border-top: 1px solid #303431; font-size: 8px; }
.ct-footer-bottom span { margin-right: auto; }
.ct-footer-bottom a { text-decoration: none; }

.carptnt-site.woocommerce-shop .site-content, .carptnt-site.tax-product_cat .site-content, .carptnt-site.tax-product_tag .site-content { background: var(--ct-paper); }
.carptnt-site.woocommerce-shop .site-content > .ast-container, .carptnt-site.tax-product_cat .site-content > .ast-container, .carptnt-site.tax-product_tag .site-content > .ast-container { width: 100%; max-width: none; padding: 0 clamp(24px,5vw,78px); }
.carptnt-site.woocommerce-shop #secondary, .carptnt-site.tax-product_cat #secondary, .carptnt-site.tax-product_tag #secondary { display: none; }
.carptnt-site.woocommerce-shop #primary, .carptnt-site.tax-product_cat #primary, .carptnt-site.tax-product_tag #primary { width: 100%; margin: 0; padding: 72px clamp(24px,5vw,78px) 96px; border: 0; }
.carptnt-site.woocommerce-shop .ast-woocommerce-container, .carptnt-site.tax-product_cat .ast-woocommerce-container, .carptnt-site.tax-product_tag .ast-woocommerce-container { padding: 0; background: transparent; box-shadow: none; }
.carptnt-site .woocommerce-breadcrumb { margin: 0 0 18px; color: #747b76; font: 500 9px/1.4 var(--ct-font-mono); }
.carptnt-site .woocommerce-breadcrumb a { color: #555c57; text-decoration: none; }
.carptnt-site .woocommerce-products-header { margin-bottom: 30px; }
.carptnt-site .woocommerce-products-header .page-title { margin: 0; color: var(--ct-carbon); font: 500 56px/.98 var(--ct-font-display); text-transform: none; }
.carptnt-site.woocommerce .woocommerce-result-count { float: none; margin: 0 0 30px; color: #656c67; font-size: 11px; line-height: 44px; }
.carptnt-site.woocommerce .woocommerce-ordering { float: right; margin: -74px 0 30px; }
.carptnt-site.woocommerce .woocommerce-ordering select { min-width: 220px; height: 44px; margin: 0; padding: 0 42px 0 14px; color: var(--ct-carbon); background-color: transparent; border: 1px solid var(--ct-border); border-radius: 0; box-shadow: none; font: 500 10px/1 var(--ct-font-body); }
.carptnt-site.woocommerce ul.products:not(.elementor-grid) { clear: both; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px 14px; margin: 0; }
.carptnt-site.woocommerce ul.products:not(.elementor-grid)::before, .carptnt-site.woocommerce ul.products:not(.elementor-grid)::after { display: none; }
.carptnt-site.woocommerce ul.products li.product { width: auto; min-width: 0; margin: 0; padding: 0; }
.carptnt-site.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { position: relative; aspect-ratio: 4/5; overflow: hidden; background: #e8e7df; }
.carptnt-site.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a:first-child { width: 100%; height: 100%; display: block; }
.carptnt-site.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform 420ms cubic-bezier(.2,.75,.2,1); }
.carptnt-site.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img { transform: scale(1.025); }
.carptnt-site.woocommerce ul.products li.product .ast-onsale-card { position: absolute; top: 12px; right: auto; left: 12px; min-width: 0; min-height: 0; padding: 7px 9px; color: var(--ct-carbon); background: var(--ct-gold); border: 0; border-radius: 1px; box-shadow: none; font: 600 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.carptnt-site.woocommerce ul.products li.product .ast-select-options-trigger { position: absolute; top: auto; right: 12px; bottom: 12px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; color: #fff; background: var(--ct-carbon); border: 0; border-radius: 0; box-shadow: none; }
.carptnt-site.woocommerce ul.products li.product .ast-select-options-trigger:hover, .carptnt-site.woocommerce ul.products li.product .ast-select-options-trigger:focus { color: var(--ct-carbon); background: var(--ct-gold); }
.carptnt-site.woocommerce ul.products li.product .ast-select-options-trigger svg { width: 18px; height: 18px; fill: currentColor; }
.carptnt-site.woocommerce ul.products li.product .ast-card-action-tooltip { display: none; }
.carptnt-site.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 15px 2px 0; }
.carptnt-site.woocommerce ul.products li.product .ast-woo-product-category { margin-bottom: 8px; color: #747b76; font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.carptnt-site.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 0 9px; color: var(--ct-carbon); font: 600 14px/1.35 var(--ct-font-body); text-transform: none; }
.carptnt-site.woocommerce ul.products li.product .price { margin: 0; color: var(--ct-carbon); font: 600 13px/1.4 var(--ct-font-body); }
.carptnt-site.woocommerce ul.products li.product .price del { margin-right: 4px; color: #7d837f; font-weight: 400; opacity: 1; }
.carptnt-site.woocommerce ul.products li.product .price ins { color: var(--ct-carbon); font-weight: 600; text-decoration: none; }

.carptnt-site.single-product #primary { width: 100%; margin: 0; padding: 72px clamp(24px,5vw,78px) 96px; border: 0; }
.carptnt-site.single-product div.product .woocommerce-product-gallery,
.carptnt-site.single-product div.product .summary { margin-bottom: 64px; }
.carptnt-site.single-product div.product .ast-onsale-card { color: var(--ct-carbon); background: var(--ct-gold); border: 0; box-shadow: none; font: 600 9px/1 var(--ct-font-mono); text-transform: uppercase; }
.carptnt-site.single-product div.product .single-product-category,
.carptnt-site.single-product div.product .single-product-category a { color: #6f7671; font: 600 9px/1.4 var(--ct-font-mono); text-decoration: none; text-transform: uppercase; }
.carptnt-site.single-product div.product .product_title { margin: 12px 0 18px; color: var(--ct-carbon); font: 500 clamp(38px,4vw,58px)/1 var(--ct-font-display); letter-spacing: 0; text-transform: uppercase; }
.carptnt-site.single-product div.product p.price { margin: 0 0 22px; color: var(--ct-carbon); font: 600 24px/1.2 var(--ct-font-body); }
.carptnt-site.single-product div.product p.price del { color: #7c827e; font-weight: 400; opacity: 1; }
.carptnt-site.single-product div.product p.price ins { color: var(--ct-carbon); text-decoration: none; }
.carptnt-site.single-product .yay-currency-single-page-switcher { margin: 0 0 18px; }
.carptnt-site.single-product .yay-currency-custom-select-wrapper,
.carptnt-site.single-product .yay-currency-custom-select,
.carptnt-site.single-product .yay-currency-custom-select__trigger { width: 100%; max-width: 360px; }
.carptnt-site.single-product .yay-currency-custom-select__trigger { min-height: 48px; border: 1px solid var(--ct-border); border-radius: 0; box-shadow: none; }
.carptnt-site.single-product div.product form.cart { display: flex; align-items: stretch; gap: 10px; margin: 0 0 22px; }
.carptnt-site.single-product div.product form.cart::before,
.carptnt-site.single-product div.product form.cart::after { display: none; }
.carptnt-site.single-product div.product form.cart .quantity { display: grid; grid-template-columns: 38px 42px 38px; width: 118px; min-width: 118px; height: 48px; margin: 0; border: 1px solid var(--ct-border); }
.carptnt-site.single-product div.product form.cart .quantity .minus,
.carptnt-site.single-product div.product form.cart .quantity .plus,
.carptnt-site.single-product div.product form.cart .quantity .qty { width: 100%; height: 46px; min-height: 46px; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; color: var(--ct-carbon); background: transparent; border: 0; border-radius: 0; box-shadow: none; text-align: center; }
.carptnt-site.single-product div.product form.cart .quantity .minus,
.carptnt-site.single-product div.product form.cart .quantity .plus { text-decoration: none; }
.carptnt-site.single-product div.product form.cart .single_add_to_cart_button { min-height: 48px; margin: 0; padding: 0 24px; color: var(--ct-carbon); background: var(--ct-gold); border: 1px solid var(--ct-gold); border-radius: 0; box-shadow: none; font: 700 10px/1 var(--ct-font-body); letter-spacing: 0; text-transform: uppercase; }
.carptnt-site.single-product div.product form.cart .single_add_to_cart_button:hover,
.carptnt-site.single-product div.product form.cart .single_add_to_cart_button:focus { color: #fff; background: var(--ct-carbon); border-color: var(--ct-carbon); }
.carptnt-site.single-product div.product .product_meta { padding-top: 18px; color: #656c67; border-top: 1px solid var(--ct-border); font: 500 9px/1.6 var(--ct-font-mono); }
.carptnt-site.single-product div.product .product_meta a { color: var(--ct-carbon); text-decoration-color: var(--ct-gold); text-underline-offset: 3px; }
.carptnt-site.single-product div.product .woocommerce-tabs { clear: both; padding-top: 34px; border-top: 1px solid var(--ct-border); }
.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs { display: flex; gap: 28px; margin: 0 0 30px; padding: 0; overflow-x: auto; border: 0; border-bottom: 1px solid var(--ct-border); }
.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs::before { display: none; }
.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs li::before,
.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs li a { min-height: 48px; display: inline-flex; align-items: center; padding: 0; color: #686f6a; font: 600 10px/1 var(--ct-font-body); text-decoration: none; white-space: nowrap; }
.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ct-carbon); box-shadow: inset 0 -2px var(--ct-gold); }
.carptnt-site.single-product div.product .woocommerce-tabs .panel { color: #414743; font-size: 15px; line-height: 1.75; }
.carptnt-site.single-product div.product .woocommerce-tabs .panel h2 { color: var(--ct-carbon); font: 500 clamp(30px,4vw,46px)/1.05 var(--ct-font-display); }
.carptnt-site.single-product div.product .woocommerce-tabs .panel img { max-width: 100%; height: auto; }

.ct-content-page { min-height: 60vh; padding: 100px clamp(24px,8vw,128px); background: var(--ct-paper); }
.ct-content-page article > header { max-width: 880px; margin-bottom: 50px; }
.ct-content-page h1 { margin: 0; color: var(--ct-carbon); font: 500 clamp(46px,6vw,82px)/.98 var(--ct-font-display); }
.ct-entry-content { max-width: 880px; font-size: 15px; line-height: 1.75; }
.carptnt-site.woocommerce-cart .woocommerce-info { padding: 20px 20px 20px 48px; color: var(--ct-carbon); background: transparent; border-top-color: var(--ct-gold); }
.carptnt-site.woocommerce-cart .woocommerce-message { color: var(--ct-carbon); background: transparent; border-top-color: var(--ct-gold); }
.carptnt-site.woocommerce-cart .woocommerce-message::before,
.carptnt-site.woocommerce-cart .woocommerce-info::before { color: #9a7b00; }
.carptnt-site.woocommerce-cart table.shop_table,
.carptnt-site.woocommerce-cart .cart_totals { border-color: var(--ct-border); border-radius: 0; }
.carptnt-site.woocommerce-cart .cart_totals h2 { color: var(--ct-carbon); font: 500 30px/1 var(--ct-font-display); letter-spacing: 0; text-transform: uppercase; }
.carptnt-site.woocommerce-cart .woocommerce a.button,
.carptnt-site.woocommerce-cart .woocommerce button.button,
.carptnt-site.woocommerce-cart .woocommerce input.button { min-height: 48px; padding: 0 22px; color: var(--ct-carbon); background: var(--ct-gold); border: 1px solid var(--ct-gold); border-radius: 0; box-shadow: none; font: 700 10px/1 var(--ct-font-body); letter-spacing: 0; text-transform: uppercase; }
.carptnt-site.woocommerce-cart .woocommerce a.button:hover,
.carptnt-site.woocommerce-cart .woocommerce button.button:hover,
.carptnt-site.woocommerce-cart .woocommerce input.button:hover,
.carptnt-site.woocommerce-cart .woocommerce a.button:focus,
.carptnt-site.woocommerce-cart .woocommerce button.button:focus,
.carptnt-site.woocommerce-cart .woocommerce input.button:focus { color: #fff; background: var(--ct-carbon); border-color: var(--ct-carbon); }
.carptnt-site.woocommerce-cart .woocommerce button.button:disabled,
.carptnt-site.woocommerce-cart .woocommerce button.button:disabled[disabled] { color: #5f6561; background: #e1e1da; border-color: #e1e1da; }
.carptnt-site.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 52px; display: flex; align-items: center; justify-content: center; margin-bottom: 0; padding: 0 18px; }
.carptnt-site.woocommerce-cart .return-to-shop .button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 24px; color: var(--ct-carbon); background: var(--ct-gold); border: 1px solid var(--ct-gold); border-radius: 0; box-shadow: none; font: 700 10px/1 var(--ct-font-body); letter-spacing: 0; }
.carptnt-site.woocommerce-cart .return-to-shop .button:hover,
.carptnt-site.woocommerce-cart .return-to-shop .button:focus { color: #fff; background: var(--ct-carbon); border-color: var(--ct-carbon); }
.ct-site[data-cart="open"] .ct-overlay { visibility: visible; opacity: 1; }
.ct-cart-drawer { position: fixed; z-index: 114; top: 0; right: 0; bottom: 0; width: min(440px,100vw); display: grid; grid-template-rows: auto minmax(0,1fr) auto; visibility: hidden; color: var(--ct-carbon); background: var(--ct-paper); box-shadow: -24px 0 60px rgba(8,12,10,.2); transform: translateX(100%); transition: transform 320ms cubic-bezier(.2,.75,.2,1), visibility 320ms ease; }
.ct-site[data-cart="open"] .ct-cart-drawer { visibility: visible; transform: translateX(0); }
.ct-cart-drawer > header { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; border-bottom: 1px solid var(--ct-border); }
.ct-cart-drawer > header small { display: block; margin-bottom: 6px; color: #6f7671; font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-cart-drawer > header h2 { margin: 0; color: var(--ct-carbon); font: 500 29px/1 var(--ct-font-display); }
.ct-cart-close, .carptnt-site .ct-cart-close:hover, .carptnt-site .ct-cart-close:focus { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; color: var(--ct-carbon); background: transparent; border: 1px solid var(--ct-border); border-radius: 2px; box-shadow: none; font-size: 25px; line-height: 1; }
.ct-cart-close:hover { border-color: var(--ct-carbon); }
.ct-cart-drawer-content { min-height: 0; overflow-y: auto; padding: 22px 26px; }
.ct-cart-drawer .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.ct-cart-drawer .woocommerce-mini-cart-item { position: relative; min-height: 96px; margin: 0; padding: 0 28px 18px 92px; border-bottom: 1px solid var(--ct-border); }
.ct-cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item { padding-top: 18px; }
.ct-cart-drawer .woocommerce-mini-cart-item a { color: var(--ct-carbon); font-size: 12px; font-weight: 600; line-height: 1.45; text-decoration: none; }
.ct-cart-drawer .woocommerce-mini-cart-item img { position: absolute; left: 0; top: 0; width: 74px; height: 82px; margin: 0; object-fit: cover; background: #e8e7df; }
.ct-cart-drawer .woocommerce-mini-cart-item + .woocommerce-mini-cart-item img { top: 18px; }
.ct-cart-drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 0; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; color: #717873 !important; background: transparent; font-size: 18px; }
.ct-cart-drawer .quantity { display: block; margin-top: 8px; color: #6c736e; font-size: 10px; }
.ct-cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 22px 0 16px; padding-top: 18px; border-top: 1px solid var(--ct-carbon); font-size: 13px; }
.ct-cart-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.ct-cart-drawer .woocommerce-mini-cart__buttons .button { min-height: 48px; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0 12px; color: #fff; background: var(--ct-header); border: 1px solid var(--ct-header); border-radius: 2px; font: 600 10px/1 var(--ct-font-body); text-decoration: none; text-transform: uppercase; }
.ct-cart-drawer .woocommerce-mini-cart__buttons .checkout { color: var(--ct-carbon); background: var(--ct-gold); border-color: var(--ct-gold); }
.ct-cart-drawer .woocommerce-mini-cart__empty-message { margin: 0; padding: 44px 0; color: #656c67; text-align: center; }
.ct-cart-drawer > footer { display: flex; justify-content: space-between; gap: 10px; padding: 16px 26px calc(16px + env(safe-area-inset-bottom)); color: #66706a; background: #f0efe8; border-top: 1px solid var(--ct-border); font: 500 8px/1.3 var(--ct-font-mono); text-transform: uppercase; }

.ct-shop-categories { clear: both; display: flex; gap: 6px; margin: 0 0 34px; padding-bottom: 10px; overflow-x: auto; scrollbar-width: thin; }
.ct-shop-categories a { flex: 0 0 auto; min-height: 38px; display: inline-flex; align-items: center; padding: 0 13px; color: #4e5651; background: transparent; border: 1px solid var(--ct-border); border-radius: 2px; font-size: 9px; font-weight: 600; text-decoration: none; }
.ct-shop-categories a:hover, .ct-shop-categories a.is-active { color: #fff; background: var(--ct-header); border-color: var(--ct-header); }
.term-description { max-width: 760px; margin-top: 18px; color: #5d6660; font-size: 14px; line-height: 1.7; }
.ct-range-preview { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 520px; margin: 8px 0 0; color: #eef2ee; background: var(--ct-header-deep); }
.ct-range-preview-media { position: relative; min-height: 520px; overflow: hidden; }
.ct-range-preview-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,17,14,.5),transparent 55%); }
.ct-range-preview-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 600ms cubic-bezier(.2,.75,.2,1); }
.ct-range-preview:hover .ct-range-preview-media img { transform: scale(1.02); }
.ct-range-preview-media span { position: absolute; z-index: 1; left: 22px; bottom: 22px; color: #fff; font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-range-preview-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px,6vw,84px); }
.ct-range-preview-copy .ct-kicker { color: var(--ct-gold); }
.ct-range-preview-copy h2 { margin: 0; color: #fff; font: 500 clamp(40px,4.8vw,66px)/.98 var(--ct-font-display); }
.ct-range-preview-copy > p:not(.ct-kicker) { max-width: 480px; margin: 24px 0 30px; color: #c5d0c8; font-size: 13px; line-height: 1.7; }
.ct-range-preview-copy > div { display: flex; align-items: center; gap: 24px; }
.ct-range-preview-copy .ct-text-link { color: #e7ece8; }
.ct-product-assurances { display: grid; margin: 26px 0 0; border-top: 1px solid var(--ct-border); }
.ct-product-assurances > div { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--ct-border); }
.ct-product-assurances strong { font-size: 10px; font-weight: 600; }
.ct-product-assurances span { color: #68716b; font-size: 10px; line-height: 1.5; }

.ct-content-page { overflow: hidden; }
.ct-content-page article { width: 100%; max-width: 1180px; margin: 0 auto; }
.ct-content-page article > header { max-width: 960px; }
.ct-page-breadcrumb { display: flex; gap: 9px; margin-bottom: 24px; color: #7c837f; font: 500 8px/1.4 var(--ct-font-mono); text-transform: uppercase; }
.ct-page-breadcrumb a { color: #4f5852; text-decoration: none; }
.ct-entry-content { max-width: none; }
.ct-entry-content > p, .ct-entry-content > ul, .ct-entry-content > ol, .ct-entry-content > h2, .ct-entry-content > h3 { max-width: 780px; }
.ct-entry-content h2 { margin: 68px 0 20px; color: var(--ct-carbon); font: 500 clamp(30px,4vw,48px)/1.05 var(--ct-font-display); }
.ct-entry-content h3 { margin: 34px 0 12px; color: var(--ct-carbon); font: 600 18px/1.25 var(--ct-font-display); }
.ct-entry-content a { text-decoration-color: #b08e0f; text-underline-offset: 3px; }
.ct-intro { max-width: 900px; margin: 0 0 64px; color: #48504b; font: 400 clamp(20px,2.6vw,31px)/1.4 var(--ct-font-display); }
.ct-info-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 34px 0 64px; }
.ct-info-card { min-height: 210px; padding: 26px; color: #eef2ee; background: var(--ct-header); }
.ct-info-card:nth-child(2n) { color: var(--ct-carbon); background: #e6dfbb; }
.ct-info-card small { color: var(--ct-gold); font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
.ct-info-card:nth-child(2n) small { color: #6f5c0b; }
.ct-info-card h3 { margin: 44px 0 12px; color: inherit; font: 500 23px/1.05 var(--ct-font-display); }
.ct-info-card p { margin: 0; color: inherit; font-size: 12px; line-height: 1.65; opacity: .82; }
.ct-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(38px,8vw,120px); align-items: start; margin: 68px 0; padding: 56px 0; border-top: 1px solid var(--ct-border); border-bottom: 1px solid var(--ct-border); }
.ct-split h2 { margin: 0; }
.ct-split > div > :first-child { margin-top: 0; }
.ct-steps { margin: 34px 0 64px; padding: 0; counter-reset: ct-step; list-style: none; border-top: 1px solid var(--ct-carbon); }
.ct-steps li { counter-increment: ct-step; display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--ct-border); }
.ct-steps li::before { content: counter(ct-step,decimal-leading-zero); color: #8d740d; font: 500 9px/1.6 var(--ct-font-mono); }
.ct-steps strong { display: block; margin-bottom: 6px; font-size: 13px; }
.ct-steps span { display: block; max-width: 720px; color: #5d6660; font-size: 13px; }
.ct-accordion { max-width: 900px; margin: 30px 0 60px; border-top: 1px solid var(--ct-carbon); }
.ct-accordion details { border-bottom: 1px solid var(--ct-border); }
.ct-accordion summary { position: relative; padding: 22px 44px 22px 0; cursor: pointer; font-size: 13px; font-weight: 600; list-style: none; }
.ct-accordion summary::-webkit-details-marker { display: none; }
.ct-accordion summary::after { content: "+"; position: absolute; right: 4px; top: 16px; font-size: 22px; font-weight: 400; }
.ct-accordion details[open] summary::after { content: "−"; }
.ct-accordion details > div { max-width: 760px; padding: 0 44px 24px 0; color: #59625c; font-size: 13px; }
.ct-callout { max-width: 900px; margin: 52px 0; padding: 30px; color: #eff3ef; background: var(--ct-header-deep); border-left: 3px solid var(--ct-gold); }
.ct-callout h2, .ct-callout h3 { margin-top: 0; color: #fff; }
.ct-callout p:last-child { margin-bottom: 0; }
.ct-policy-meta { display: flex; gap: 18px; margin: -24px 0 44px; color: #747c77; font: 500 8px/1.4 var(--ct-font-mono); text-transform: uppercase; }
.ct-policy-table { width: 100%; margin: 24px 0 50px; border-collapse: collapse; font-size: 12px; }
.ct-policy-table th, .ct-policy-table td { padding: 15px 12px; border-bottom: 1px solid var(--ct-border); text-align: left; vertical-align: top; }
.ct-policy-table th { color: #5b645e; font-size: 9px; text-transform: uppercase; }
.ct-operator-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 28px 0 54px; background: var(--ct-border); border: 1px solid var(--ct-border); }
.ct-operator-card { min-width: 0; padding: 28px; background: var(--ct-paper); }
.ct-operator-card small { color: #777f7a; font: 500 8px/1.4 var(--ct-font-mono); text-transform: uppercase; }
.ct-operator-card h3 { margin: 18px 0 14px; font-size: 19px; }
.ct-operator-card p { min-height: 72px; margin: 0 0 16px; color: #59625c; font-size: 12px; line-height: 1.65; }
.ct-operator-card a { font-size: 12px; overflow-wrap: anywhere; }
.ct-support-details { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--ct-border); }
.ct-support-details h3 { margin: 0 0 18px; font-size: 16px; }
.ct-support-details p { margin: 0 0 15px; color: #59625c; font-size: 12px; line-height: 1.55; }
.ct-support-details strong { color: var(--ct-carbon); font-size: 9px; text-transform: uppercase; }

.ct-contact-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(42px,8vw,110px); align-items: start; }
.ct-contact-aside { padding-top: 4px; }
.ct-contact-aside h2 { margin-top: 0; }
.ct-contact-aside ul { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ct-border); }
.ct-contact-aside li { padding: 16px 0; border-bottom: 1px solid var(--ct-border); font-size: 12px; }
.ct-contact-form { padding: clamp(24px,4vw,48px); background: #f0efe8; }
.ct-contact-form p { margin: 0 0 18px; }
.ct-contact-form label, .ct-tracking-form label { display: block; margin-bottom: 8px; color: #4f5852; font: 600 9px/1.3 var(--ct-font-body); }
.ct-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.carptnt-site .ct-contact-form input, .carptnt-site .ct-contact-form select, .carptnt-site .ct-contact-form textarea, .carptnt-site .ct-tracking-form input { width: 100%; min-height: 48px; margin: 0; padding: 12px 14px; color: var(--ct-carbon); background: #fff; border: 1px solid var(--ct-border); border-radius: 2px; box-shadow: none; font-size: 13px; }
.carptnt-site .ct-contact-form textarea { resize: vertical; }
.ct-consent { display: grid !important; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin: 4px 0 24px !important; color: #626b65; font-size: 10px !important; font-weight: 400 !important; }
.ct-consent input { width: 16px !important; min-height: 16px !important; margin-top: 2px !important; }
.ct-contact-form .ct-button { min-width: 190px; }
.ct-form-notice { margin-bottom: 16px; padding: 14px 16px; border-left: 3px solid var(--ct-header); background: #e7eee9; font-size: 12px; }
.ct-form-notice--error { border-color: #a44b3f; background: #f3e7e5; }
.ct-tracking-form { max-width: 820px; margin: 36px 0; padding: clamp(24px,4vw,44px); background: #f0efe8; }
.ct-tracking-form .woocommerce-form-track-order { margin: 0; }

.carptnt-site.woocommerce-cart .ct-content-page, .carptnt-site.woocommerce-checkout .ct-content-page, .carptnt-site.woocommerce-account .ct-content-page { padding-top: 72px; }
.carptnt-site.woocommerce-cart .ct-entry-content, .carptnt-site.woocommerce-checkout .ct-entry-content, .carptnt-site.woocommerce-account .ct-entry-content { max-width: 1180px; }
.carptnt-site .woocommerce form .form-row label { margin-bottom: 7px; color: #4f5852; font-size: 10px; font-weight: 600; }
.carptnt-site .woocommerce form .form-row input.input-text, .carptnt-site .woocommerce form .form-row textarea, .carptnt-site .woocommerce form .form-row select, .carptnt-site .woocommerce .select2-container .select2-selection--single { min-height: 48px; padding: 11px 13px; color: var(--ct-carbon); background: #fff; border: 1px solid var(--ct-border); border-radius: 2px; box-shadow: none; }
.carptnt-site .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 24px; }
.carptnt-site .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.carptnt-site .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: clamp(30px,5vw,72px); }
.carptnt-site .woocommerce form.checkout #customer_details, .carptnt-site .woocommerce form.checkout #order_review_heading, .carptnt-site .woocommerce form.checkout #order_review { width: 100%; float: none; }
.carptnt-site .woocommerce form.checkout #customer_details { grid-row: 1 / span 2; }
.carptnt-site .woocommerce form.checkout #order_review_heading { grid-column: 2; margin: 0; padding: 24px 26px 0; background: #f0efe8; font: 500 26px/1.1 var(--ct-font-display); }
.carptnt-site .woocommerce form.checkout #order_review { grid-column: 2; padding: 18px 26px 26px; background: #f0efe8; }
.carptnt-site .woocommerce-checkout-review-order-table { border: 0; border-radius: 0; }
.carptnt-site .woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.carptnt-site .woocommerce-checkout #payment ul.payment_methods { padding: 18px 0; border-bottom-color: var(--ct-border); }
.carptnt-site .woocommerce-checkout #payment div.form-row { padding: 18px 0 0; }
.carptnt-site .woocommerce-checkout #place_order { width: 100%; min-height: 54px; color: var(--ct-carbon); background: var(--ct-gold); border: 1px solid var(--ct-gold); border-radius: 2px; font: 700 10px/1 var(--ct-font-body); text-transform: uppercase; }
.ct-checkout-assurance { display: grid; grid-template-columns: auto 1fr; gap: 14px; margin: 0 0 28px; padding: 16px 18px; color: #e9eeea; background: var(--ct-header); font-size: 11px; }
.ct-checkout-assurance span { color: #c5d0c8; }
.carptnt-site .woocommerce-MyAccount-navigation { width: 25%; padding: 22px; background: var(--ct-header-deep); }
.carptnt-site .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.carptnt-site .woocommerce-MyAccount-navigation a { min-height: 42px; display: flex; align-items: center; color: #dbe3dd; border-bottom: 1px solid rgba(255,255,255,.13); font-size: 11px; text-decoration: none; }
.carptnt-site .woocommerce-MyAccount-navigation .is-active a, .carptnt-site .woocommerce-MyAccount-navigation a:hover { color: var(--ct-gold); }
.carptnt-site .woocommerce-MyAccount-content { width: 70%; }
.carptnt-site #customer_login .woocommerce-form { padding: 24px; border: 1px solid var(--ct-border); border-radius: 0; }
.carptnt-site #customer_login .woocommerce-form-row { margin-bottom: 16px; }
.carptnt-site #customer_login .password-input { position: relative; height: 48px; display: block; }
.carptnt-site #customer_login .password-input input { width: 100%; height: 48px; padding-right: 54px; }
.carptnt-site #customer_login .show-password-input,
.carptnt-site #customer_login .show-password-input:hover,
.carptnt-site #customer_login .show-password-input:focus { position: absolute; top: 0; right: 0; left: auto; width: 48px; height: 48px; min-height: 48px; margin: 0; padding: 0; color: #555b57; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23555b57' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; border: 0; border-left: 1px solid var(--ct-border); border-radius: 0; box-shadow: none; font-size: 0; }
.carptnt-site #customer_login .woocommerce-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 0 24px; color: var(--ct-carbon); background: var(--ct-gold); border: 1px solid var(--ct-gold); border-radius: 0; box-shadow: none; font: 700 10px/1 var(--ct-font-body); letter-spacing: 0; text-transform: uppercase; }
.carptnt-site #customer_login .woocommerce-button:hover,
.carptnt-site #customer_login .woocommerce-button:focus { color: #fff; background: var(--ct-brand-carbon); border-color: var(--ct-brand-carbon); }
.carptnt-site #customer_login input[type="checkbox"] { accent-color: var(--ct-gold); }
.carptnt-site #customer_login .woocommerce-LostPassword a { color: var(--ct-carbon); text-decoration-color: var(--ct-gold); text-underline-offset: 3px; }
.carptnt-site .woocommerce table.shop_table { border-color: var(--ct-border); border-radius: 2px; }
.carptnt-site .woocommerce a.button, .carptnt-site .woocommerce button.button, .carptnt-site .woocommerce input.button { border-radius: 2px; }

.ct-search-results, .ct-error-page { min-height: 68vh; padding: 90px clamp(24px,8vw,128px); background: var(--ct-paper); }
.ct-search-results > header, .ct-search-results > form, .ct-search-results > div, .ct-error-page { margin-right: auto; margin-left: auto; }
.ct-search-results > header { max-width: 1180px; }
.ct-search-results h1, .ct-error-copy h1 { margin: 0; color: var(--ct-carbon); font: 500 clamp(44px,6vw,78px)/.98 var(--ct-font-display); }
.ct-inline-search { max-width: 1180px; display: grid; grid-template-columns: 1fr 58px; margin-top: 36px; margin-bottom: 52px; border-bottom: 1px solid var(--ct-carbon); }
.ct-inline-search input { min-width: 0; padding: 16px 0; background: transparent; border: 0; border-radius: 0; outline: 0; font-size: 22px; }
.ct-inline-search button { color: var(--ct-header); background: transparent; border: 0; font-size: 24px; }
.ct-search-grid { max-width: 1180px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px 12px; }
.ct-search-card-media { aspect-ratio: 4/5; display: block; overflow: hidden; margin-bottom: 16px; background: #e8e7df; }
.ct-search-card-media img { width: 100%; height: 100%; object-fit: cover; }
.ct-search-card h2 { margin: 8px 0; font: 600 15px/1.35 var(--ct-font-body); }
.ct-search-card h2 a { text-decoration: none; }
.ct-empty-state { max-width: 1180px; padding: 48px 0; border-top: 1px solid var(--ct-border); }
.ct-empty-state h2 { font: 500 32px/1.1 var(--ct-font-display); }
.ct-error-page { max-width: none; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(42px,8vw,120px); align-items: center; }
.ct-error-code { color: #d9d9d0; font: 600 clamp(120px,22vw,310px)/.75 var(--ct-font-display); }
.ct-error-copy { max-width: 600px; }
.ct-error-copy > p:not(.ct-kicker) { max-width: 480px; color: #626a65; font-size: 14px; line-height: 1.7; }
.ct-error-copy .ct-inline-search { margin: 28px 0; }
.ct-error-actions { display: flex; align-items: center; gap: 28px; }
.ct-error-actions .ct-text-link { color: var(--ct-carbon); }
.ct-error-actions .ct-text-link:hover { color: #8a7000; }

.ct-post-card { max-width: 880px; margin-bottom: 48px; }
.ct-post-card h2 { font-family: var(--ct-font-display); }

.ct-reveal { opacity: 0; transform: translateY(16px); transition: opacity 560ms cubic-bezier(.2,.75,.2,1), transform 560ms cubic-bezier(.2,.75,.2,1); }
.ct-reveal.ct-visible { opacity: 1; transform: translateY(0); }

@keyframes ctHeroImage { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }
@keyframes ctTitleIn { from { opacity: 0; transform: translateY(112%); } to { opacity: 1; transform: translateY(0); } }
@keyframes ctRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ctScaleX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ctScan { 0% { transform: translateX(-100%); } 50%,100% { transform: translateX(100%); } }
@keyframes ctPulse { 0% { opacity: .8; transform: scale(.7); } 70%,100% { opacity: 0; transform: scale(1.8); } }

@media (max-width: 1120px) {
	.ct-header-inner { grid-template-columns: 172px 1fr 286px; gap: 15px; }
	.ct-primary-nav { gap: 15px; }
	.ct-primary-nav .ct-nav-link:nth-last-child(-n+3) { display: none; }
	.ct-category-track { grid-template-columns: repeat(3,1fr); }
	.ct-category-wide { grid-column: span 2; }
	.ct-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.ct-product-card:nth-child(4) { display: none; }
}

@media (max-width: 960px) {
	:root { --ct-header-height: 60px; --ct-service-height: 34px; }
	.ct-site a, .ct-site button { touch-action: manipulation; -webkit-tap-highlight-color: rgba(246,206,58,.18); }
	.ct-service-track { justify-content: flex-start; min-width: max-content; padding-left: max(20px,env(safe-area-inset-left)); padding-right: max(20px,env(safe-area-inset-right)); animation: ctTicker 24s linear infinite; }
	.ct-service-track > :nth-child(n+9) { display: inline-flex; }
	.ct-header-inner { grid-template-columns: 1fr auto; padding-left: max(16px,env(safe-area-inset-left)); padding-right: max(16px,env(safe-area-inset-right)); }
	.ct-primary-nav, .ct-locale-switcher--desktop { display: none; }
	.ct-account-link { display: none; }
	.ct-menu-toggle { display: inline-flex; }
	.ct-brand-mark { width: 40px; height: 33px; }
	.ct-brand-name { font-size: 18px; }
	.ct-brand--header .ct-registered-logo { width: 74px; height: auto; max-height: 50px; }
	.ct-utilities { gap: 5px; }
	.ct-language-status { right: max(16px,env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); max-width: calc(100vw - max(32px,env(safe-area-inset-right) + env(safe-area-inset-left))); }
	.ct-icon-button { width: 44px; height: 44px; }
	.ct-mega-menu { top: calc(var(--ct-service-height) + var(--ct-header-height)); max-height: calc(100svh - var(--ct-service-height) - var(--ct-header-height)); overflow-y: auto; }
	.ct-header.ct-sticky ~ .ct-mega-menu { top: var(--ct-header-height); max-height: calc(100svh - var(--ct-header-height)); }
	.ct-mega-menu-inner { grid-template-columns: 1fr; padding: 22px max(16px,env(safe-area-inset-right)) 32px max(16px,env(safe-area-inset-left)); }
	.ct-mega-heading { grid-column: auto; }
	.ct-menu-close, .carptnt-site .ct-menu-close:hover, .carptnt-site .ct-menu-close:focus, .carptnt-site .ct-menu-close:active { display: inline-flex; align-items: center; justify-content: center; }
	.ct-menu-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ct-mobile-locale { display: block; padding: 18px 0 2px; border-top: 1px solid #343936; }
	.ct-mobile-locale-label { display: block; margin-bottom: 10px; color: var(--ct-mist); font: 500 8px/1 var(--ct-font-mono); text-transform: uppercase; }
	.ct-locale-switcher--mobile { width: 100%; }
	.ct-locale-switcher--mobile .ct-locale-trigger { height: 46px; grid-template-columns: 16px minmax(0,1fr) 1px 44px 12px; padding: 0 14px; }
	.ct-locale-switcher--mobile .ct-language-current { gap: 9px; }
	.ct-locale-switcher--mobile .ct-language-name { display: inline; color: #bec4bf; font-family: var(--ct-font-body); }
	.ct-locale-switcher--mobile .ct-currency-code { color: var(--ct-gold); }
	.ct-locale-switcher--mobile .ct-locale-menu { position: static; width: 100%; margin-top: 6px; box-shadow: none; transform-origin: top center; }
	.ct-locale-switcher--mobile .ct-locale-option { min-height: 44px; }
	.ct-mega-feature { min-height: 170px; }
	.ct-search-panel { top: calc(var(--ct-service-height) + var(--ct-header-height)); padding: 30px max(20px,env(safe-area-inset-right)) 40px max(20px,env(safe-area-inset-left)); }
	.ct-header.ct-sticky ~ .ct-mega-menu ~ .ct-search-panel { top: var(--ct-header-height); }
	.ct-search-panel input { font-size: 26px; }
	.ct-hero { min-height: calc(100svh - var(--ct-service-height) - var(--ct-header-height) - 24px); align-items: flex-end; }
	.ct-hero-media img { object-position: 63% center; }
	.ct-hero-vignette { background: linear-gradient(0deg,rgba(7,10,9,.97) 0%,rgba(7,10,9,.68) 50%,rgba(7,10,9,.1) 100%); }
	.ct-hero-content { width: 100%; margin: 0; padding: 72px max(24px,env(safe-area-inset-right)) 114px max(24px,env(safe-area-inset-left)); }
	.ct-hero-title { max-width: 480px; font-size: 40px; }
	.ct-hero-copy { max-width: 430px; margin: 18px 0 24px; font-size: 12px; line-height: 1.58; }
	.ct-hero-actions { gap: 18px; }
	.ct-text-link, .ct-arrow-link { min-height: 44px; align-items: center; }
	.ct-hero-specs { left: max(24px,env(safe-area-inset-left)); right: max(24px,env(safe-area-inset-right)); min-height: 66px; grid-template-columns: repeat(2,1fr); }
	.ct-hero-specs > div:nth-child(n+3) { display: none; }
	.ct-scroll-cue { display: none; }
	.ct-section { padding: 62px max(16px,env(safe-area-inset-right)) 62px max(16px,env(safe-area-inset-left)); }
	.ct-section-header { align-items: flex-start; flex-direction: column; margin-bottom: 26px; }
	.ct-section-header h2 { font-size: 39px; }
	.ct-category-track { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.ct-category-track::-webkit-scrollbar { display: none; }
	.ct-category-card, .ct-category-wide { flex: 0 0 min(76vw,360px); min-height: 370px; grid-column: auto; scroll-snap-align: start; }
	.ct-card-copy em { display: none; }
	.ct-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
	.ct-product-filters button { min-height: 44px; }
	.ct-product-card:nth-child(4) { display: block; }
	.ct-product-line { display: block; }
	.ct-product-line > strong { display: block; margin-top: 5px; }
	.ct-product-details p { min-height: 28px; }
	.ct-quick-add { right: 8px; width: 44px; height: 44px; }
	.ct-system-section { grid-template-columns: 1fr; }
	.ct-system-visual { min-height: 430px; }
	.ct-system-content { padding: 58px 24px 70px; }
	.ct-system-content h2 { font-size: 52px; }
	.ct-story-section { grid-template-columns: 1fr; padding: 70px max(20px,env(safe-area-inset-right)) 70px max(20px,env(safe-area-inset-left)); }
	.ct-story-copy { order: 1; }
	.ct-story-media { order: 0; }
	.ct-trust-strip { grid-template-columns: 1fr 1fr; padding-right: max(16px,env(safe-area-inset-right)); padding-left: max(16px,env(safe-area-inset-left)); }
	.ct-trust-strip > div { min-height: 140px; padding: 22px 14px; }
	.ct-trust-strip > div:nth-child(3) { border-left: 0; border-top: 1px solid #303431; }
	.ct-trust-strip > div:nth-child(4) { border-top: 1px solid #303431; }
	.ct-newsletter { min-height: 500px; grid-template-columns: 1fr; gap: 34px; padding: 64px max(24px,env(safe-area-inset-right)) 64px max(24px,env(safe-area-inset-left)); }
	.ct-newsletter-symbol { right: -34%; width: 100vw; }
	.ct-newsletter-form button { min-height: 44px; }
	.ct-footer-lead { flex-direction: column; }
	.ct-footer-lead p { text-align: left; }
	.ct-footer-links { grid-template-columns: repeat(2,1fr); }
	.ct-footer-links > div:last-child { grid-column: auto; }
	.ct-footer { padding-right: max(24px,env(safe-area-inset-right)); padding-bottom: calc(22px + env(safe-area-inset-bottom)); padding-left: max(24px,env(safe-area-inset-left)); }
	.ct-brand--footer .ct-registered-logo { width: 136px; }
	.ct-footer-links > div { gap: 2px; }
	.ct-footer-links strong { margin-bottom: 8px; }
	.ct-footer-links a { min-height: 32px; display: inline-flex; align-items: center; padding: 4px 0; }
	.ct-footer-bottom { align-items: center; padding-top: 10px; }
	.ct-footer-bottom a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; }
	.carptnt-site.woocommerce-shop .site-content > .ast-container, .carptnt-site.tax-product_cat .site-content > .ast-container, .carptnt-site.tax-product_tag .site-content > .ast-container { padding-right: max(16px,env(safe-area-inset-right)); padding-left: max(16px,env(safe-area-inset-left)); }
	.carptnt-site.woocommerce-shop #primary, .carptnt-site.tax-product_cat #primary, .carptnt-site.tax-product_tag #primary { padding: 44px max(16px,env(safe-area-inset-right)) 72px max(16px,env(safe-area-inset-left)); }
	.carptnt-site .woocommerce-products-header { margin-bottom: 24px; }
	.carptnt-site .woocommerce-products-header .page-title { font-size: 40px; }
	.carptnt-site.woocommerce .woocommerce-result-count { margin-bottom: 12px; line-height: 1.5; }
	.carptnt-site.woocommerce .woocommerce-ordering { float: none; margin: 0 0 28px; }
	.carptnt-site.woocommerce .woocommerce-ordering select { width: 100%; min-width: 0; height: 48px; }
	.carptnt-site.woocommerce ul.products:not(.elementor-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 8px; }
	.carptnt-site.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 38px; font-size: 12px; }
	.carptnt-site.woocommerce ul.products li.product .ast-select-options-trigger { right: 8px; bottom: 8px; opacity: 1; visibility: visible; transform: none; }
	.carptnt-site.single-product #primary { padding: 0 0 72px; }
	.carptnt-site.single-product div.product .woocommerce-product-gallery { width: 100%; margin-bottom: 30px; }
	.carptnt-site.single-product div.product .summary { width: 100%; margin-bottom: 42px; padding-right: max(16px,env(safe-area-inset-right)); padding-left: max(16px,env(safe-area-inset-left)); }
	.carptnt-site.single-product div.product .product_title { margin-top: 10px; font-size: 32px; }
	.carptnt-site.single-product div.product p.price { margin-bottom: 18px; font-size: 22px; }
	.carptnt-site.single-product .yay-currency-custom-select-wrapper,
	.carptnt-site.single-product .yay-currency-custom-select,
	.carptnt-site.single-product .yay-currency-custom-select__trigger { max-width: none; }
	.carptnt-site.single-product div.product form.cart { display: grid; grid-template-columns: 118px minmax(0,1fr); }
	.carptnt-site.single-product div.product form.cart .single_add_to_cart_button { width: 100%; padding: 0 12px; }
	.carptnt-site.single-product div.product .woocommerce-tabs { width: auto; margin-right: max(16px,env(safe-area-inset-right)); margin-left: max(16px,env(safe-area-inset-left)); padding-top: 26px; }
	.carptnt-site.single-product div.product .woocommerce-tabs ul.tabs { gap: 24px; margin-bottom: 24px; }
	.carptnt-site.single-product div.product .woocommerce-tabs .panel { font-size: 14px; }
	.ct-content-page { padding: 64px max(24px,env(safe-area-inset-right)) 72px max(24px,env(safe-area-inset-left)); }
	.ct-content-page article > header { margin-bottom: 38px; }
	.ct-content-page h1 { font-size: 46px; }
	.ct-info-grid { grid-template-columns: 1fr; }
	.ct-range-preview { grid-template-columns: 1fr; }
	.ct-range-preview-media { min-height: 360px; }
	.ct-range-preview-copy { padding: 46px 24px 54px; }
	.ct-range-preview-copy h2 { font-size: 42px; }
	.ct-info-card { min-height: 180px; }
	.ct-info-card h3 { margin-top: 34px; }
	.ct-split, .ct-contact-layout { grid-template-columns: 1fr; gap: 34px; }
	.ct-operator-grid { grid-template-columns: 1fr; }
	.ct-split { margin: 54px 0; padding: 44px 0; }
	.ct-form-grid { grid-template-columns: 1fr; gap: 0; }
	.ct-policy-table--responsive { display: block; width: 100%; border-top: 1px solid var(--ct-border); }
	.ct-policy-table--responsive thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
	.ct-policy-table--responsive tbody, .ct-policy-table--responsive tr, .ct-policy-table--responsive td { display: block; width: 100%; }
	.ct-policy-table--responsive tr { padding: 12px 0; border-bottom: 1px solid var(--ct-border); }
	.ct-policy-table--responsive td { display: block; padding: 8px 0; border: 0; overflow-wrap: anywhere; }
	.ct-policy-table--responsive td::before { content: attr(data-label); display: block; margin-bottom: 5px; color: #5b645e; font: 600 9px/1.45 var(--ct-font-body); text-transform: uppercase; }
	.carptnt-site .woocommerce form.checkout { grid-template-columns: 1fr; gap: 26px; }
	.carptnt-site .woocommerce form.checkout #customer_details { grid-row: auto; }
	.carptnt-site .woocommerce form.checkout #order_review_heading, .carptnt-site .woocommerce form.checkout #order_review { grid-column: auto; }
	.ct-checkout-assurance { grid-template-columns: 1fr; gap: 5px; }
	.carptnt-site .woocommerce-MyAccount-navigation, .carptnt-site .woocommerce-MyAccount-content { width: 100%; float: none; }
	.carptnt-site .woocommerce-MyAccount-navigation { margin-bottom: 30px; }
	.ct-search-results, .ct-error-page { padding: 64px max(24px,env(safe-area-inset-right)) 72px max(24px,env(safe-area-inset-left)); }
	.ct-search-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ct-error-page { grid-template-columns: 1fr; gap: 36px; }
	.ct-error-code { font-size: 120px; }
}

@media (max-width: 390px) {
	.ct-hero-title { font-size: 36px; }
	.ct-button { gap: 24px; padding: 0 16px; }
	.ct-text-link { font-size: 10px; }
	.ct-menu-grid { grid-template-columns: 1fr 1fr; gap: 17px 10px; }
	.ct-menu-grid span { display: none; }
	.ct-product-details { padding-inline: 0; }
	.ct-product-line h3, .ct-product-line > strong { overflow-wrap: anywhere; }
	.ct-cart-drawer > header, .ct-cart-drawer-content { padding-right: 18px; padding-left: 18px; }
	.ct-cart-drawer > footer { padding-right: 18px; padding-left: 18px; }
	.ct-cart-drawer > footer span:nth-child(2) { display: none; }
	.ct-search-grid { grid-template-columns: 1fr; }
	.ct-error-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
	.ct-policy-table:not(.ct-policy-table--responsive) { display: block; overflow-x: auto; }
	.ct-range-preview-copy > div { align-items: flex-start; flex-direction: column; gap: 10px; }
}

@media (max-width: 960px) and (max-height: 700px) and (orientation: portrait) {
	.ct-hero { min-height: calc(100svh - var(--ct-service-height) - var(--ct-header-height) - 20px); }
	.ct-hero-content { padding-top: 22px; padding-bottom: 72px; }
	.ct-hero-kicker { margin-bottom: 12px; }
	.ct-hero-title { font-size: 32px; }
	.ct-hero-copy { margin: 12px 0 15px; font-size: 11px; line-height: 1.45; }
	.ct-hero-actions { gap: 14px; }
	.ct-button { min-height: 46px; }
	.ct-hero-specs { min-height: 56px; }
	.ct-hero-specs small { margin-bottom: 4px; }
}

@media (max-width: 340px) {
	.ct-hero-content { padding-right: 20px; padding-left: 20px; }
	.ct-hero-title { font-size: 30px; }
	.ct-hero-actions { gap: 12px; }
	.ct-button { gap: 16px; }
	.ct-hero-specs { left: 20px; right: 20px; }
}

@media (max-width: 960px) and (max-height: 560px) and (orientation: landscape) {
	:root { --ct-header-height: 56px; --ct-service-height: 28px; }
	.ct-brand-mark { width: 36px; height: 30px; }
	.ct-brand-name { font-size: 17px; }
	.ct-hero { min-height: calc(100svh - var(--ct-service-height) - var(--ct-header-height) - 20px); }
	.ct-hero-content { width: 64%; padding-top: 18px; padding-right: max(20px,env(safe-area-inset-right)); padding-bottom: 58px; padding-left: max(20px,env(safe-area-inset-left)); }
	.ct-hero-kicker { margin-bottom: 10px; }
	.ct-hero-title { font-size: 30px; }
	.ct-hero-copy { display: none; }
	.ct-hero-actions { gap: 14px; margin-top: 14px; }
	.ct-button, .ct-text-link { min-height: 42px; }
	.ct-hero-specs { left: max(20px,env(safe-area-inset-left)); right: max(20px,env(safe-area-inset-right)); min-height: 48px; }
	.ct-hero-specs small { margin-bottom: 3px; font-size: 7px; }
	.ct-hero-specs strong { font-size: 9px; }
	.ct-section { padding-top: 52px; padding-bottom: 52px; }
}

@keyframes ctTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.carptnt-site *, .carptnt-site *::before, .carptnt-site *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
	.ct-service-track { transform: none !important; }
	.ct-reveal { opacity: 1; transform: none; }
}
