/* self-hosted fonts (SIL Open Font Licence) */
@font-face {
  font-family: 'Young Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/YoungSerif-normal-400-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;
}
@font-face {
  font-family: 'Young Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/YoungSerif-normal-400-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: 'Outfit';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/Outfit-normal-300-700-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;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(../fonts/Outfit-normal-300-700-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;
}
/* ==========================================================================
   Storefront core — structure. Every visual decision is a variable; the
   design layer (design.css) sets the variables and adds its own character.
   ========================================================================== */
:root{
  --bg:#fff; --bg-2:#f5f4f1; --bg-3:#ebe9e4; --surface:#fff; --tile:#f2f1ee;
  --ink:#141414; --ink-2:#3a3a3a; --muted:#6d6a66; --muted-2:#9b9893;
  --rule:#e3e0da; --rule-2:#efede9;
  --accent:#b8442c; --accent-2:#9c3722; --on-accent:#fff;
  --dark:#151515; --on-dark:#f3f1ec; --on-dark-2:#b8b4ac;
  --display:Georgia,"Times New Roman",serif; --text:system-ui,-apple-system,"Segoe UI",sans-serif; --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --display-weight:400; --display-tracking:-.015em; --display-transform:none; --display-lh:1.04; --display-style:normal;
  --h1:clamp(46px,6.6vw,104px); --h2:clamp(32px,4vw,56px); --h3:22px;
  --body-size:16.5px; --body-lh:1.65;
  --eyebrow-font:var(--text); --eyebrow-size:11.5px; --eyebrow-weight:600; --eyebrow-tracking:.2em; --eyebrow-transform:uppercase; --eyebrow-color:var(--accent);
  --btn-bg:var(--ink); --btn-ink:var(--bg); --btn-bg-h:var(--accent); --btn-ink-h:var(--on-accent); --btn-border:var(--btn-bg);
  --btn-font:var(--text); --btn-size:12.5px; --btn-weight:600; --btn-tracking:.16em; --btn-transform:uppercase; --btn-h:52px; --btn-px:28px; --btn-radius:0;
  --radius:0px; --radius-lg:0px; --card-radius:0px; --media-radius:0px; --field-radius:0px;
  --wrap:1360px; --gut:clamp(18px,4vw,56px); --head-h:76px; --sec-pad:clamp(64px,8vw,124px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow:0 22px 46px -28px rgba(20,20,20,.4);
  --nav-font:var(--text); --nav-size:13px; --nav-weight:500; --nav-tracking:.04em; --nav-transform:none;
  --logo-font:var(--display); --logo-size:26px; --logo-weight:400; --logo-tracking:0em; --logo-transform:none;
  --card-ratio:4/5; --card-title-font:var(--display); --card-title-size:21px; --card-title-weight:var(--display-weight); --card-gap-y:52px; --card-gap-x:24px;
  --header-bg:var(--bg); --header-rule:var(--rule); --announce-bg:var(--ink); --announce-ink:var(--bg);
  --field-bg:var(--surface); --field-border:var(--rule);
  --footer-bg:var(--dark); --footer-ink:var(--on-dark-2); --footer-head:var(--on-dark);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--body-size)/var(--body-lh) var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.24em}
a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--display);font-weight:var(--display-weight);font-style:var(--display-style);line-height:var(--display-lh);letter-spacing:var(--display-tracking);text-transform:var(--display-transform);margin:0 0 .5em;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
strong,b{font-weight:600}
::selection{background:var(--ink);color:var(--bg)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.kp-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.kp-skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:var(--bg);padding:10px 16px}
.kp-skip:focus{left:12px}
.kp-hp{position:absolute!important;left:-9999px!important}
.kp-muted{color:var(--muted)} .kp-small{font-size:13.5px}
.kp-ic{flex:none}
.kp-show-sm{display:none!important}

/* ---------- type helpers ---------- */
.kp-eyebrow{font:var(--eyebrow-weight) var(--eyebrow-size)/1.3 var(--eyebrow-font);letter-spacing:var(--eyebrow-tracking);text-transform:var(--eyebrow-transform);color:var(--eyebrow-color);margin:0 0 16px}
.kp-eyebrow a{text-decoration:none}
.kp-h2{font-size:var(--h2);margin:0}
.kp-lede{font-size:clamp(17px,1.35vw,19px);line-height:1.7;color:var(--ink-2)}
.kp-link{display:inline-flex;align-items:center;gap:10px;font:var(--btn-weight) var(--btn-size)/1 var(--btn-font);letter-spacing:var(--btn-tracking);text-transform:var(--btn-transform);text-decoration:none;padding:10px 0;border-bottom:1px solid currentColor;white-space:nowrap}
.kp-link svg{transition:transform .4s var(--ease)}
.kp-link:hover svg{transform:translateX(4px)}

/* ---------- buttons (ours + WooCommerce's) ---------- */
.kp-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-proceed-to-checkout a.checkout-button,.woocommerce #place_order{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:var(--btn-h);padding:0 var(--btn-px);
  background:var(--btn-bg);color:var(--btn-ink);border:1px solid var(--btn-border);border-radius:var(--btn-radius);
  font:var(--btn-weight) var(--btn-size)/1 var(--btn-font);letter-spacing:var(--btn-tracking);text-transform:var(--btn-transform);text-decoration:none;cursor:pointer;
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);-webkit-appearance:none}
.kp-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.wc-proceed-to-checkout a.checkout-button:hover,.woocommerce #place_order:hover{
  background:var(--btn-bg-h);border-color:var(--btn-bg-h);color:var(--btn-ink-h)}
.kp-btn--ghost{background:transparent;color:var(--ink);border-color:currentColor}
.kp-btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.kp-btn--light{background:var(--on-dark);color:var(--dark);border-color:var(--on-dark)}
.kp-btn--light:hover{background:transparent;color:var(--on-dark);border-color:var(--on-dark)}
.kp-btn--accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.kp-btn--accent:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.woocommerce button.button:disabled,.woocommerce button.button.disabled,.woocommerce a.button.disabled,.woocommerce button.button:disabled[disabled]{opacity:.4;cursor:not-allowed;background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-ink)}
.kp-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}

/* ---------- announcement + header ---------- */
.kp-announce{background:var(--announce-bg);color:var(--announce-ink);height:36px;overflow:hidden;font:500 11px/36px var(--text);letter-spacing:.16em;text-transform:uppercase}
.kp-announce__track{display:flex;justify-content:center;gap:56px;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);position:relative;height:36px}
.kp-announce__track span{white-space:nowrap}
.kp-announce a{color:inherit}
.kp-header{position:sticky;top:0;z-index:60;background:var(--header-bg);border-bottom:1px solid var(--header-rule);transition:box-shadow .4s var(--ease)}
.kp-header.is-scrolled{box-shadow:0 12px 30px -24px rgba(0,0,0,.45)}
.kp-header__inner{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);height:var(--head-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.kp-header--center .kp-header__inner{grid-template-columns:1fr auto 1fr}
.kp-header--left .kp-nav{justify-self:center}
.kp-header--stack .kp-searchbar{justify-self:center;width:100%;max-width:560px}
.kp-header__row2{border-top:1px solid var(--header-rule)}
.kp-header__inner2{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.kp-nav{display:flex;align-items:center;gap:30px}
.kp-nav--row{height:48px;gap:34px}
.kp-nav>a,.kp-nav__trigger,.kp-actions__text{position:relative;display:inline-flex;align-items:center;gap:6px;font:var(--nav-weight) var(--nav-size)/1 var(--nav-font);letter-spacing:var(--nav-tracking);text-transform:var(--nav-transform);text-decoration:none;background:none;border:0;padding:12px 0;cursor:pointer;color:var(--ink);white-space:nowrap}
.kp-nav>a::after,.kp-nav__trigger::after,.kp-actions__text::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.kp-nav>a:hover::after,.kp-nav__trigger:hover::after,.kp-nav__mega:hover .kp-nav__trigger::after,.kp-actions__text:hover::after{transform:scaleX(1);transform-origin:left}
.kp-nav>a:hover,.kp-actions__text:hover{color:var(--ink)}
.kp-nav__trigger svg{transition:transform .3s var(--ease)}
.kp-nav__mega:hover .kp-nav__trigger svg{transform:rotate(180deg)}
.kp-logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink);min-width:0}
.kp-logo:hover{color:var(--ink)}
.kp-header--center .kp-logo{justify-self:center}
.kp-logo__inner{display:inline-flex;align-items:center;gap:12px}
.kp-logo__mark{width:34px;height:34px;flex:none}
.kp-logo__text{display:flex;flex-direction:column;line-height:1}
.kp-logo__word{display:block;font:var(--logo-weight) var(--logo-size)/1 var(--logo-font);letter-spacing:var(--logo-tracking);text-transform:var(--logo-transform);white-space:nowrap}
.kp-logo__sub{font:500 9.5px/1 var(--text);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.kp-actions{justify-self:end;display:flex;align-items:center;gap:16px}
.kp-icon-btn,.kp-cart{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:none;border:0;padding:6px;cursor:pointer;color:var(--ink);text-decoration:none;position:relative}
.kp-icon-btn:hover,.kp-cart:hover{color:var(--accent)}
.kp-cart__label{font:var(--nav-weight) var(--nav-size)/1 var(--nav-font);letter-spacing:var(--nav-tracking);text-transform:var(--nav-transform)}
.kp-cart-count{position:absolute;top:-2px;left:22px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:var(--on-accent);font:700 10px/17px var(--text);text-align:center;letter-spacing:0}
.kp-cart-count[data-count="0"]{display:none}
.kp-burger{display:none;background:none;border:0;padding:6px;cursor:pointer;color:var(--ink);justify-self:start}
.kp-searchbar{display:flex;align-items:center;height:46px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--field-radius);padding:0 6px 0 16px}
.kp-searchbar input{flex:1;min-width:0;border:0;background:transparent;font-size:15px;outline:none;color:var(--ink)}
.kp-searchbar input::placeholder{color:var(--muted-2)}
.kp-searchbar button{background:none;border:0;cursor:pointer;padding:8px;color:var(--ink);display:inline-flex}

/* mega menu */
.kp-nav__mega{position:static}
.kp-mega{position:absolute;left:0;right:0;top:100%;background:var(--header-bg);border-bottom:1px solid var(--header-rule);box-shadow:0 30px 40px -34px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s;z-index:70}
.kp-nav__mega:hover .kp-mega,.kp-nav__mega:focus-within .kp-mega,.kp-mega.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.kp-mega__inner{max-width:var(--wrap);margin:0 auto;padding:32px var(--gut) 40px;display:flex;gap:44px;align-items:flex-start}
.kp-mega__tiles{flex:1;display:grid;grid-template-columns:repeat(var(--mega-cols,5),minmax(0,1fr));gap:22px}
.kp-mega__tile{display:grid;gap:3px;text-decoration:none;color:var(--ink)}
.kp-mega__tile:hover{color:var(--ink)}
.kp-mega__img{display:block;aspect-ratio:var(--mega-ratio,4/3);background:var(--tile);overflow:hidden;margin-bottom:10px;border-radius:var(--media-radius)}
.kp-mega__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.kp-mega__tile:hover img{transform:scale(1.05)}
.kp-mega__name{font:var(--display-weight) 19px/1.15 var(--display);letter-spacing:var(--display-tracking)}
.kp-mega__line{font-size:13px;color:var(--muted);line-height:1.4}
.kp-mega__cols{display:flex;gap:56px}
.kp-mega__col{display:flex;flex-direction:column;gap:9px;min-width:150px}
.kp-mega__head{font:var(--eyebrow-weight) 11px/1.3 var(--eyebrow-font);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.kp-mega__col a{text-decoration:none;font-size:15px}
.kp-mega__feature{width:280px;flex:none;display:grid;gap:4px;text-decoration:none;color:var(--ink)}
.kp-mega__fimg{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--tile);margin-bottom:10px;border-radius:var(--media-radius)}
.kp-mega__fimg img{width:100%;height:100%;object-fit:cover}
.kp-mega__ftitle{font:var(--display-weight) 21px/1.15 var(--display)}

/* search overlay */
.kp-search{position:fixed;inset:0;z-index:90;background:rgba(10,10,10,.42)}
.kp-search__inner{position:relative;background:var(--bg);padding:64px var(--gut) 48px;animation:kpDrop .4s var(--ease)}
.kp-search form{max-width:900px;margin:0 auto;display:flex;align-items:center;border-bottom:1px solid var(--ink)}
.kp-search input{flex:1;min-width:0;border:0;background:transparent;font:var(--display-weight) clamp(26px,3.4vw,44px)/1.3 var(--display);padding:14px 0;outline:none;color:var(--ink)}
.kp-search input::placeholder{color:var(--muted-2)}
.kp-search form button{background:none;border:0;cursor:pointer;padding:12px;color:var(--ink)}
.kp-search__hints{max-width:900px;margin:18px auto 0;font-size:14px;color:var(--muted)}
.kp-search__close{position:absolute;top:18px;right:var(--gut);background:none;border:0;cursor:pointer;padding:8px;color:var(--ink)}

/* mobile drawer */
.kp-drawer{position:fixed;inset:0;z-index:95;background:rgba(10,10,10,.42)}
.kp-drawer__panel{position:absolute;top:0;bottom:0;left:0;width:min(420px,88vw);background:var(--bg);padding:26px 30px 40px;overflow:auto;animation:kpSlide .4s var(--ease)}
.kp-drawer__close{position:absolute;top:18px;right:16px;background:none;border:0;cursor:pointer;padding:8px;color:var(--ink)}
.kp-drawer__logo{margin:4px 0 28px}
.kp-drawer__nav{display:flex;flex-direction:column}
.kp-drawer__nav>a{font:var(--display-weight) 28px/1.25 var(--display);letter-spacing:var(--display-tracking);text-decoration:none;padding:6px 0;color:var(--ink)}
.kp-drawer__label{font:var(--eyebrow-weight) 11px/1 var(--eyebrow-font);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--eyebrow-color);margin:28px 0 10px}
.kp-drawer__nav .kp-drawer__sub{font:400 17px/1.3 var(--text);padding:7px 0;text-decoration:none;color:var(--ink)}
@keyframes kpDrop{from{transform:translateY(-16px);opacity:0}to{transform:none;opacity:1}}
@keyframes kpSlide{from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1}}
@keyframes kpUp{to{opacity:1;transform:none}}
@keyframes kpFade{to{opacity:1}}
body.kp-locked{overflow:hidden}

/* ---------- sections ---------- */
.kp-sec{padding:var(--sec-pad) 0;background:var(--sec-bg,transparent)}
.kp-sec--tight{padding:calc(var(--sec-pad) * .55) 0}
.kp-tone-alt{--sec-bg:var(--bg-2)}
.kp-tone-dark{--sec-bg:var(--dark);color:var(--on-dark)}
.kp-tone-dark .kp-h2,.kp-tone-dark h2,.kp-tone-dark h3{color:var(--on-dark)}
.kp-tone-dark .kp-sec__text,.kp-tone-dark p{color:var(--on-dark-2)}
.kp-tone-dark .kp-btn{--btn-bg:var(--on-dark);--btn-ink:var(--dark);--btn-border:var(--on-dark)}
.kp-tone-accent{--sec-bg:var(--accent);color:var(--on-accent)}
.kp-tone-accent .kp-h2,.kp-tone-accent p,.kp-tone-accent .kp-eyebrow{color:var(--on-accent)}
.kp-sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.kp-sec__head--center{flex-direction:column;align-items:center;text-align:center}
.kp-sec__titles{max-width:44em}
.kp-sec__text{font-size:clamp(16px,1.25vw,18px);color:var(--ink-2);margin:16px 0 0;max-width:36em}
.kp-sec__head--center .kp-sec__text{margin-left:auto;margin-right:auto}
.kp-sec__more{display:flex;justify-content:center;margin-top:clamp(36px,4vw,56px)}
.kp-will-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.kp-will-reveal.is-seen{opacity:1;transform:none}
.kp-reveal{opacity:0;transform:translateY(16px);animation:kpUp 1s var(--ease) forwards}
.kp-reveal:nth-child(2){animation-delay:.08s}.kp-reveal:nth-child(3){animation-delay:.16s}.kp-reveal:nth-child(4){animation-delay:.24s}.kp-reveal:nth-child(5){animation-delay:.32s}

/* hero */
.kp-sec--hero{padding:0}
.kp-hero{position:relative;overflow:hidden}
.kp-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;min-height:min(78vh,820px);padding-top:clamp(32px,5vw,72px);padding-bottom:clamp(40px,5vw,80px)}
.kp-hero--media-left .kp-hero__media{order:-1}
.kp-hero__title{font-size:var(--h1);line-height:.96;letter-spacing:calc(var(--display-tracking) * 1.8);margin:0 0 26px}
.kp-hero__title em{font-style:italic;color:var(--accent)}
.kp-hero__lede{max-width:30em;font-size:clamp(17px,1.35vw,19.5px);line-height:1.68;color:var(--ink-2);margin:0 0 34px}
.kp-hero__notes{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:13.5px;color:var(--muted)}
.kp-hero__notes li{display:inline-flex;align-items:center;gap:8px}
.kp-hero__notes svg{color:var(--accent)}
.kp-hero__media{position:relative;margin:0;height:100%;min-height:420px;display:grid;gap:14px}
.kp-hero__fig{margin:0;overflow:hidden;border-radius:var(--media-radius);background:var(--tile);position:relative}
.kp-hero__fig img{width:100%;height:100%;object-fit:cover;opacity:0;animation:kpFade 1.4s var(--ease) .15s forwards}
.kp-hero__media.kp-fit-contain .kp-hero__fig{background:transparent}
.kp-hero__media.kp-fit-contain .kp-hero__fig img{object-fit:contain}
.kp-hero__media--n1 .kp-hero__fig{height:100%;min-height:min(72vh,760px)}
.kp-hero__media--n2{grid-template-columns:1fr 1fr}
.kp-hero__media--n2 .kp-hero__fig--2{margin-top:18%}
.kp-hero__media--n3{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr}
.kp-hero__media--n3 .kp-hero__fig--1{grid-row:1/3}
.kp-hero__caption{position:absolute;right:0;bottom:-30px;font-size:12.5px;color:var(--muted);margin:0}
/* cover */
.kp-hero--cover{color:var(--on-dark);min-height:min(88vh,900px);display:flex}
.kp-hero--cover .kp-hero__bg{position:absolute;inset:0}
.kp-hero--cover .kp-hero__bg img{width:100%;height:100%;object-fit:cover}
.kp-hero--cover .kp-hero__bg::after{content:"";position:absolute;inset:0;background:var(--cover-overlay,linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.12) 60%,rgba(0,0,0,0)))}
.kp-hero--cover .kp-hero__grid{position:relative;grid-template-columns:minmax(0,1fr);align-content:end;min-height:inherit;width:100%}
.kp-hero--cover .kp-hero__text{max-width:640px}
.kp-hero--cover .kp-hero__title,.kp-hero--cover .kp-eyebrow{color:var(--on-dark)}
.kp-hero--cover .kp-hero__lede,.kp-hero--cover .kp-hero__notes{color:rgba(255,255,255,.86)}
.kp-hero--cover .kp-btn{--btn-bg:var(--on-dark);--btn-ink:var(--dark);--btn-border:var(--on-dark)}
.kp-hero--cover .kp-btn--ghost{background:transparent;color:var(--on-dark);border-color:var(--on-dark)}
.kp-hero--cover.kp-hero--align-center .kp-hero__grid{align-content:center;justify-items:center;text-align:center}
.kp-hero--cover.kp-hero--align-center .kp-ctas{justify-content:center}
/* center */
.kp-hero--center .kp-hero__grid{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;min-height:0;padding-bottom:0}
.kp-hero--center .kp-hero__text{max-width:900px}
.kp-hero--center .kp-hero__lede{margin-left:auto;margin-right:auto}
.kp-hero--center .kp-ctas{justify-content:center}
.kp-hero--center .kp-hero__notes{justify-content:center}
.kp-hero--center .kp-hero__media{width:100%;min-height:0;margin-top:clamp(20px,3vw,40px)}
.kp-hero--center .kp-hero__media--n1 .kp-hero__fig{min-height:0;aspect-ratio:21/9}
.kp-hero--center .kp-hero__media--n3{grid-template-columns:repeat(3,1fr);grid-template-rows:none}
.kp-hero--center .kp-hero__media--n3 .kp-hero__fig{grid-row:auto;aspect-ratio:4/5}
.kp-hero--center .kp-hero__media--n3 .kp-hero__fig--2{transform:translateY(-8%)}

/* category tiles */
.kp-cats{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:26px}
.kp-cat{display:grid;gap:6px;text-decoration:none;color:var(--ink);position:relative}
.kp-cat:hover{color:var(--ink)}
.kp-cat__img{display:block;aspect-ratio:var(--cat-ratio,4/5);background:var(--tile);overflow:hidden;border-radius:var(--media-radius);margin-bottom:12px}
.kp-cat__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.kp-cat:hover .kp-cat__img img{transform:scale(1.05)}
.kp-cat__body{display:grid;gap:4px}
.kp-cat__name{font:var(--display-weight) clamp(21px,1.8vw,27px)/1.1 var(--display);letter-spacing:var(--display-tracking)}
.kp-cat__line{font-size:14px;color:var(--muted);line-height:1.5}
.kp-cat__count{font-size:12.5px;color:var(--muted-2)}
.kp-cats--circles{grid-template-columns:repeat(var(--cols,6),minmax(0,1fr));text-align:center}
.kp-cats--circles .kp-cat__img{aspect-ratio:1/1;border-radius:50%}
.kp-cats--circles .kp-cat__name{font-size:18px}
.kp-cats--cards .kp-cat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--card-radius);overflow:hidden;gap:0}
.kp-cats--cards .kp-cat__img{border-radius:0;margin:0}
.kp-cats--cards .kp-cat__body{padding:18px 20px 22px}
.kp-cats--cards .kp-cat__go{position:absolute;right:18px;bottom:22px;color:var(--accent);transition:transform .35s var(--ease)}
.kp-cats--cards .kp-cat:hover .kp-cat__go{transform:translateX(4px)}
.kp-cats--list{grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule)}
.kp-cats--list .kp-cat{grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--rule)}
.kp-cats--list .kp-cat__num{font:500 12px/1 var(--text);letter-spacing:.14em;color:var(--muted)}
.kp-cats--list .kp-cat__name{font-size:clamp(28px,3.4vw,50px)}
.kp-cats--list .kp-cat__body{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.kp-cats--list .kp-cat__peek{position:absolute;right:90px;top:50%;width:180px;aspect-ratio:4/5;transform:translateY(-50%) rotate(-3deg) scale(.9);opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .5s var(--ease);z-index:2;box-shadow:var(--shadow)}
.kp-cats--list .kp-cat__peek img{width:100%;height:100%;object-fit:cover}
.kp-cats--list .kp-cat:hover .kp-cat__peek{opacity:1;transform:translateY(-50%) rotate(-3deg) scale(1)}
.kp-cats--pills{display:flex;flex-wrap:wrap;gap:10px}
.kp-cats--pills .kp-cat{display:inline-flex;padding:12px 20px;border:1px solid var(--rule);border-radius:999px}

/* product grid + cards */
.kp-grid,.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--card-gap-y) var(--card-gap-x)}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.kp-grid li.product{float:none!important;width:auto!important;margin:0!important;padding:0;position:relative;display:flex;flex-direction:column}
.kp-card.is-hidden{display:none!important}
.kp-card.is-in{animation:kpUp .6s var(--ease) both;opacity:0;transform:translateY(12px)}
.kp-card__link{display:block;text-decoration:none;color:inherit;flex:1}
.kp-card__link:hover{color:inherit}
.kp-card__media{position:relative;display:block;aspect-ratio:var(--card-ratio);background:var(--tile);overflow:hidden;border-radius:var(--media-radius)}
.kp-card__img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:opacity .6s var(--ease),transform 1.3s var(--ease);margin:0!important}
.kp-card__img--hover{opacity:0}
.kp-card:hover .kp-card__img{transform:scale(1.035)}
.kp-card:hover .kp-card__img--hover{opacity:1}
.kp-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--bg);color:var(--ink);font:600 10.5px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;border-radius:var(--radius)}
.kp-card__quick{position:absolute;left:12px;right:12px;bottom:12px;background:var(--bg);color:var(--ink);text-align:center;font:600 11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;padding:15px 10px;opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease),transform .4s var(--ease);border-radius:var(--radius)}
.kp-card:hover .kp-card__quick{opacity:1;transform:none}
.kp-card__body{display:grid;gap:6px;padding-top:16px}
.kp-card__eyebrow{font:var(--eyebrow-weight) 10.5px/1.25 var(--eyebrow-font);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.kp-card__title{font:var(--card-title-weight) var(--card-title-size)/1.18 var(--card-title-font);letter-spacing:var(--display-tracking)}
.kp-card__sub{font-size:13.5px;color:var(--muted);line-height:1.45}
.kp-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:3px}
.kp-card__swatches{display:flex;gap:6px}
.kp-card__swatches i{display:block;width:12px;height:12px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.kp-card__price{font:600 15px/1.2 var(--text);letter-spacing:.01em;color:var(--ink)}
.kp-card__price del{color:var(--muted);margin-right:6px;font-weight:400}
.kp-card__price ins{text-decoration:none}
.kp-from{font-weight:400;color:var(--muted);font-size:.9em}
.kp-card__atc.button{margin-top:14px!important;min-height:42px!important;padding:0 16px!important;font-size:11px!important;width:100%;gap:8px!important;background:transparent!important;color:var(--ink)!important;border-color:var(--rule)!important}
.kp-card__atc.button:hover{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important}
.kp-card__atc.loading{opacity:.6;pointer-events:none}
.kp-card__atc.added::after{content:" ✓"}
.woocommerce ul.products li.product a.added_to_cart,.kp-grid a.added_to_cart{display:none!important}
/* rails */
.kp-rail{position:relative}
.kp-grid--rail{grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:calc((100% - (var(--cols,4) - 1) * var(--card-gap-x)) / var(--cols,4));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.kp-grid--rail::-webkit-scrollbar{display:none}
.kp-grid--rail>li{scroll-snap-align:start}
.kp-rail__btn{position:absolute;top:calc(var(--rail-btn-top,38%));z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid var(--rule);background:var(--bg);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:opacity .3s}
.kp-rail__btn--prev{left:-18px}.kp-rail__btn--next{right:-18px}
.kp-rail__btn:disabled{opacity:0;pointer-events:none}
/* tabs */
.kp-tabs__top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,52px)}
.kp-tabs__top .kp-sec__head{margin:0}
.kp-tabs__nav{display:flex;flex-wrap:wrap;gap:6px}
.kp-tabs__nav button{font:600 12px/1 var(--text);letter-spacing:.08em;background:none;border:1px solid transparent;border-radius:var(--btn-radius);padding:12px 16px;cursor:pointer;color:var(--muted);transition:color .25s,border-color .25s,background .25s}
.kp-tabs__nav button:hover{color:var(--ink)}
.kp-tabs__nav button.is-on{border-color:var(--ink);color:var(--ink)}

/* split */
.kp-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,6vw,100px);align-items:center}
.kp-split--media-right .kp-split__media{order:2}
.kp-split__media{position:relative;display:grid;gap:14px}
.kp-split__fig{margin:0;overflow:hidden;background:var(--tile);border-radius:var(--media-radius);aspect-ratio:var(--split-ratio,4/5)}
.kp-split__fig img{width:100%;height:100%;object-fit:cover}
.kp-split__media.kp-fit-contain .kp-split__fig{background:transparent}
.kp-split__media.kp-fit-contain .kp-split__fig img{object-fit:contain}
.kp-split__media--n2{grid-template-columns:1fr 1fr;align-items:end}
.kp-split__media--n2 .kp-split__fig--2{aspect-ratio:3/4;margin-bottom:-10%}
.kp-split__caption{font-size:12.5px;color:var(--muted);margin:6px 0 0}
.kp-split__text{max-width:34em}
.kp-split__text .kp-h2{margin-bottom:22px}
.kp-split__body{font-size:17px;line-height:1.72;color:var(--ink-2)}
.kp-ticks{list-style:none;margin:24px 0 32px;padding:0;display:grid;gap:12px}
.kp-ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink-2)}
.kp-ticks svg{color:var(--accent);margin-top:3px}

/* usps */
.kp-usps{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:0}
.kp-usps--row .kp-usp{padding:8px 30px;border-left:1px solid var(--rule)}
.kp-usps--row .kp-usp:first-child{border-left:0;padding-left:0}
.kp-usp{display:flex;flex-direction:column;gap:14px}
.kp-usp__ic{color:var(--accent);display:inline-flex}
.kp-usp__title{font:600 13px/1.35 var(--text);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px}
.kp-usp p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.6}
.kp-usps--cards{gap:18px}
.kp-usps--cards .kp-usp{background:var(--surface);border:1px solid var(--rule);border-radius:var(--card-radius);padding:28px 26px}
.kp-usps--strip{gap:18px}
.kp-usps--strip .kp-usp{flex-direction:row;align-items:center;gap:14px}
.kp-usps--strip .kp-usp__title{margin:0;letter-spacing:.04em;text-transform:none;font-size:15px}
.kp-usps--strip .kp-usp p{font-size:13px}

/* band */
.kp-band{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.kp-band--media{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.kp-band--media-left .kp-band__fig{order:-1}
.kp-band__title{font-size:clamp(36px,5vw,76px);margin-bottom:22px}
.kp-band__lede{font-size:clamp(17px,1.4vw,19.5px);line-height:1.7;max-width:32em;margin-bottom:32px}
.kp-band__fig{margin:0;overflow:hidden;border-radius:var(--media-radius);aspect-ratio:var(--band-ratio,4/5)}
.kp-band__fig img{width:100%;height:100%;object-fit:cover}
.kp-band__fig.kp-fit-contain img{object-fit:contain}

/* steps */
.kp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:clamp(22px,3vw,48px);counter-reset:step}
.kp-step__fig{margin:0 0 22px;aspect-ratio:4/3;overflow:hidden;background:var(--tile);border-radius:var(--media-radius)}
.kp-step__fig img{width:100%;height:100%;object-fit:cover}
.kp-step__num{display:block;font:var(--display-weight) 40px/1 var(--display);color:var(--accent);margin-bottom:12px}
.kp-step__title{font-size:26px;margin-bottom:10px}
.kp-step p{color:var(--ink-2);font-size:15.5px;max-width:30em;margin:0}
.kp-steps--line .kp-step{border-top:1px solid var(--ink);padding-top:22px}

/* quote */
.kp-quote{margin:0 auto;max-width:980px;text-align:center}
.kp-quote p{font:var(--display-weight) clamp(26px,3.3vw,46px)/1.25 var(--display);letter-spacing:var(--display-tracking);color:var(--ink);margin:0}
.kp-quote cite{display:block;margin-top:24px;font:600 11px/1 var(--text);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}

/* faq */
.kp-faq-wrap{max-width:980px}
.kp-faq{border-top:1px solid var(--rule)}
.kp-faq__item{border-bottom:1px solid var(--rule)}
.kp-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:var(--display-weight) clamp(18px,1.6vw,22px)/1.3 var(--display)}
.kp-faq__item summary::-webkit-details-marker{display:none}
.kp-faq__item summary::after{content:"";flex:none;width:13px;height:13px;background:linear-gradient(currentColor,currentColor) center/13px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 13px no-repeat;transition:transform .35s var(--ease)}
.kp-faq__item[open] summary::after{transform:rotate(45deg)}
.kp-faq__a{padding:0 0 24px;color:var(--ink-2);max-width:46em}

/* duo promos */
.kp-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.kp-duo--n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kp-promo{position:relative;display:block;overflow:hidden;border-radius:var(--card-radius);text-decoration:none;color:#fff;min-height:440px;background:var(--dark)}
.kp-promo:hover{color:#fff}
.kp-promo__img{position:absolute;inset:0}
.kp-promo__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.kp-promo:hover .kp-promo__img img{transform:scale(1.04)}
.kp-promo__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0) 62%)}
.kp-promo__body{position:absolute;left:0;right:0;bottom:0;padding:30px 32px;display:grid;gap:8px}
.kp-promo .kp-eyebrow{color:rgba(255,255,255,.85);margin:0}
.kp-promo__title{font:var(--display-weight) clamp(26px,2.6vw,38px)/1.08 var(--display);letter-spacing:var(--display-tracking)}
.kp-promo__text{font-size:15px;opacity:.9;max-width:28em}
.kp-promo__cta{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font:600 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase}

/* marquee */
.kp-sec--marquee{padding:0;overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.kp-marquee{overflow:hidden;white-space:nowrap;padding:20px 0}
.kp-marquee__track{display:inline-flex;align-items:center;gap:34px;animation:kpMarq 38s linear infinite;font:var(--display-weight) clamp(20px,2.2vw,30px)/1 var(--display)}
.kp-marquee__track span{display:inline-block}
.kp-marquee__track svg{color:var(--accent)}
.kp-marquee__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent)}
@keyframes kpMarq{from{transform:translateX(0)}to{transform:translateX(-33.333%)}}

/* chips / pills */
.kp-pills{display:flex;flex-wrap:wrap;gap:10px}
.kp-pill{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border:1px solid var(--rule);border-radius:999px;text-decoration:none;font-size:15px;background:var(--surface);transition:border-color .25s,background .25s}
.kp-pill:hover{border-color:var(--ink);color:var(--ink)}
.kp-pill svg{color:var(--accent)}

/* stats */
.kp-stats{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.kp-stat{padding:34px 28px;border-left:1px solid var(--rule)}
.kp-stat:first-child{border-left:0;padding-left:0}
.kp-stat b{display:block;font:var(--display-weight) clamp(40px,4.2vw,62px)/1 var(--display);margin-bottom:10px}
.kp-stat span{font-size:14.5px;color:var(--muted)}

/* room (shop the look) */
.kp-room{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.kp-room__stage{position:relative;overflow:hidden;border-radius:var(--media-radius)}
.kp-room__stage>img{width:100%;height:auto}
.kp-room__spot{position:absolute;transform:translate(-50%,-50%);text-decoration:none;z-index:2}
.kp-room__dot{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font:600 13px/1 var(--text);box-shadow:0 0 0 6px rgba(255,255,255,.35);transition:transform .3s var(--ease)}
.kp-room__spot:hover .kp-room__dot{transform:scale(1.12)}
.kp-room__tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);background:var(--bg);color:var(--ink);padding:10px 14px;white-space:nowrap;font-size:13px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s;display:grid;gap:2px;border-radius:var(--radius)}
.kp-room__tip b{font-weight:600}
.kp-room__spot:hover .kp-room__tip,.kp-room__spot:focus .kp-room__tip{opacity:1}
.kp-room__list{list-style:none;margin:24px 0 30px;padding:0;border-top:1px solid var(--rule)}
.kp-room__list a{display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.kp-room__n{font:600 12px/1 var(--text);color:var(--muted)}
.kp-room__price{font-weight:600;font-size:14.5px}

/* compare */
.kp-compare{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--card-radius)}
.kp-compare table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.kp-compare th,.kp-compare td{padding:16px 18px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.kp-compare thead th{font:600 11px/1.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--bg-2)}
.kp-compare tbody tr:last-child>*{border-bottom:0}
.kp-compare__note{font-size:13px;color:var(--muted);margin-top:14px}

/* inline sign-up + footer newsletter band */
.kp-signup{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px 80px;align-items:end}
.kp-newsband{background:var(--news-bg,var(--bg-2));padding:clamp(60px,7vw,100px) 0;border-top:1px solid var(--rule-2)}
.kp-newsband__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px 80px;align-items:end}
.kp-newsband .kp-h2{font-size:clamp(30px,3.4vw,48px)}
.kp-newsband__lede{color:var(--ink-2);margin:14px 0 0;max-width:32em}
.kp-news__field{display:flex;align-items:center;border-bottom:1px solid var(--ink)}
.kp-news__field input[type=email]{flex:1;min-width:0;background:transparent;border:0;padding:18px 0;font:400 18px/1.2 var(--text);outline:none;color:var(--ink);box-shadow:none;min-height:0}
.kp-news__field input::placeholder{color:var(--muted-2)}
.kp-news__field button{background:none;border:0;cursor:pointer;font:600 12px/1 var(--text);letter-spacing:.18em;text-transform:uppercase;padding:14px 0 14px 18px;color:var(--ink)}
.kp-news__field button:hover{color:var(--accent)}
.kp-news__msg{font-size:13px;color:var(--muted);margin:14px 0 0}

/* ---------- footer ---------- */
.kp-footer{background:var(--footer-bg);color:var(--footer-ink);padding:clamp(60px,7vw,100px) 0 32px}
.kp-footer a{text-decoration:none;color:inherit}
.kp-footer a:hover{color:var(--footer-head)}
.kp-footer__top{display:grid;grid-template-columns:minmax(0,1.8fr) repeat(var(--footer-cols,3),minmax(0,1fr));gap:40px;padding-bottom:56px;border-bottom:1px solid color-mix(in srgb,var(--footer-ink) 22%,transparent)}
.kp-footer__logo{color:var(--footer-head);margin-bottom:20px}
.kp-footer__logo:hover{color:var(--footer-head)}
.kp-footer .kp-logo__sub{color:var(--footer-ink)}
.kp-footer__blurb{font-size:15px;line-height:1.7;max-width:26em;margin:0 0 18px}
.kp-footer__mail{display:flex;align-items:center;gap:10px;font-size:14.5px;margin:0}
.kp-footer__col{display:flex;flex-direction:column;gap:11px}
.kp-footer__col a{font-size:14.5px}
.kp-footer__head{font:var(--eyebrow-weight) 11px/1 var(--eyebrow-font);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--footer-head);margin:6px 0 12px}
.kp-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:28px;font-size:12.5px}
.kp-footer__bottom p{margin:0}
.kp-footer__legal{display:flex;flex-wrap:wrap;gap:8px 20px}
.kp-pay{display:flex;gap:8px}
.kp-pay span{border:1px solid color-mix(in srgb,var(--footer-ink) 35%,transparent);padding:5px 9px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius)}

/* ---------- archive ---------- */
.kp-archive-head{padding:clamp(22px,3vw,36px) 0 0}
.kp-crumbs{font-size:12.5px;letter-spacing:.02em;color:var(--muted);margin:0 0 clamp(24px,3.4vw,44px)}
.kp-crumbs a{text-decoration:none}
.kp-crumbs .sep{margin:0 9px;opacity:.55}
.kp-archive-head__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:end}
.kp-archive-head--img .kp-archive-head__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.kp-archive-head__img{margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:var(--media-radius)}
.kp-archive-head__img img{width:100%;height:100%;object-fit:cover}
.kp-archive-title{font-size:clamp(46px,6.4vw,96px);letter-spacing:calc(var(--display-tracking) * 1.6);line-height:.98;margin:0 0 18px}
.kp-archive-desc{max-width:40em;font-size:17px;color:var(--ink-2)}
.kp-archive-desc p:last-child{margin:0}
.kp-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:clamp(26px,3.2vw,40px);padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.kp-chips a{font:600 12px/1 var(--text);letter-spacing:.06em;text-decoration:none;padding:11px 15px;border:1px solid transparent;border-radius:var(--btn-radius);color:var(--muted);transition:color .25s,border-color .25s}
.kp-chips a:hover{color:var(--ink)}
.kp-chips a.is-on{border-color:var(--ink);color:var(--ink)}
.kp-archive{padding-top:28px;padding-bottom:var(--sec-pad)}
.kp-archive__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}
.woocommerce .woocommerce-result-count,.woocommerce-page .woocommerce-result-count{float:none;margin:0;font-size:13px;color:var(--muted)}
.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering{float:none;margin:0}
.woocommerce .woocommerce-ordering select{appearance:none;-webkit-appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='none' stroke='%23777'/%3E%3C/svg%3E") no-repeat right 2px center;border:0;border-bottom:1px solid var(--ink);padding:8px 22px 8px 0;font:600 12px/1 var(--text);letter-spacing:.06em;cursor:pointer;border-radius:0;color:var(--ink)}
.woocommerce nav.woocommerce-pagination{margin-top:60px}
.woocommerce nav.woocommerce-pagination ul{display:flex;justify-content:center;gap:6px;border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;float:none;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font:600 13px/1 var(--text);border:1px solid var(--rule);background:transparent;color:var(--ink);border-radius:var(--btn-radius);padding:0 10px}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.kp-empty{padding:64px 0;text-align:center}

/* ---------- single product ---------- */
.kp-single{padding-top:clamp(18px,2.2vw,30px)}
.kp-single .kp-crumbs{margin-bottom:22px}
.woocommerce div.product{display:block;position:relative}
.kp-product-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,5vw,84px);align-items:start;position:relative}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:auto!important;margin:0!important}
.woocommerce div.product div.images{opacity:1!important;position:relative}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.woocommerce div.product div.images .woocommerce-product-gallery__image{background:var(--tile);margin:0;border-radius:var(--media-radius);overflow:hidden}
.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child{grid-column:1/-1}
.woocommerce div.product div.images .woocommerce-product-gallery__image:last-child:nth-child(even){grid-column:1/-1}
.woocommerce div.product div.images .woocommerce-product-gallery__image a{display:block;cursor:zoom-in}
.woocommerce div.product div.images img{width:100%;height:auto}
.kp-gallery--column .woocommerce-product-gallery__wrapper{grid-template-columns:1fr!important}
.kp-gallery--thumbs .woocommerce-product-gallery__wrapper{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.kp-gallery--thumbs .woocommerce-product-gallery__image:first-child{grid-column:1/-1!important}
.kp-gallery--thumbs .woocommerce-product-gallery__image:not(:first-child){grid-column:auto!important;cursor:pointer;opacity:.85;transition:opacity .2s}
.kp-gallery--thumbs .woocommerce-product-gallery__image:not(:first-child):hover{opacity:1}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{position:absolute;top:16px;right:16px;z-index:5;width:40px;height:40px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:0;text-decoration:none;box-shadow:0 4px 16px -6px rgba(0,0,0,.3)}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before{content:"";width:14px;height:14px;border:1.5px solid var(--ink);border-radius:50%;box-sizing:border-box;position:relative;top:-1px;left:-1px}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after{content:"";position:absolute;width:6px;height:1.5px;background:var(--ink);transform:rotate(45deg);top:24px;left:22px}
.woocommerce div.product div.summary{position:sticky;top:calc(var(--head-h) + 28px)}
.woocommerce div.product div.summary.is-static{position:static}
.kp-product-eyebrow{margin-bottom:12px}
.kp-product-title{font-size:clamp(36px,3.8vw,56px);line-height:1;letter-spacing:calc(var(--display-tracking) * 1.4);margin:0 0 12px}
.kp-product-sub{font-size:15px;color:var(--muted);margin:0 0 22px}
.kp-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 0 22px}
.kp-price-row .price{font:600 23px/1 var(--text);color:var(--ink)}
.kp-price-row .price del{font-weight:400;color:var(--muted);font-size:.8em}
.kp-price-row .price ins{text-decoration:none}
.kp-vat{font-size:12.5px;color:var(--muted)}
.kp-short{font-size:16.5px;color:var(--ink-2);margin-bottom:6px}
.kp-short p:last-child{margin-bottom:0}
.woocommerce div.product form.cart{margin:20px 0 0}
.woocommerce div.product form.cart table.variations{width:100%;border:0;margin:0 0 4px;border-collapse:collapse}
.woocommerce div.product form.cart table.variations tr{display:block;margin:0 0 20px}
.woocommerce div.product form.cart table.variations th,.woocommerce div.product form.cart table.variations td{display:block;padding:0;text-align:left;border:0;line-height:1.4}
.woocommerce div.product form.cart table.variations th.label{margin-bottom:12px}
.woocommerce div.product form.cart table.variations label{font:600 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase}
.kp-sw__value{font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--muted);margin-left:10px;font-size:13.5px}
.kp-sw__value:empty{display:none}
select.kp-sw-select{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important}
.kp-sw{display:flex;flex-wrap:wrap;gap:8px}
.kp-sw button{min-width:54px;min-height:46px;padding:8px 14px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--btn-radius);font:500 13.5px/1.2 var(--text);cursor:pointer;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.kp-sw button:hover{border-color:var(--ink)}
.kp-sw button.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.kp-sw button:disabled{opacity:.32;text-decoration:line-through;cursor:not-allowed}
.kp-sw--colour button{width:46px;min-width:46px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.kp-sw--colour button i{display:block;width:32px;height:32px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.kp-sw--colour button.is-on{box-shadow:none;border:1px solid var(--ink)}
.woocommerce div.product form.cart .reset_variations{display:none!important}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price{display:none}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-description p{font-size:14px;color:var(--muted);margin:0 0 12px}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-availability p{font-size:13px;color:var(--accent);margin:0 0 10px}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,.woocommerce div.product form.cart:not(.variations_form){display:flex;gap:10px;align-items:stretch}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;width:100%;min-height:58px;font-size:13px}
.woocommerce .quantity .qty{width:64px;min-height:58px;text-align:center;padding:8px;border:1px solid var(--rule);background:var(--field-bg);border-radius:var(--field-radius);-moz-appearance:textfield}
.woocommerce .quantity .qty::-webkit-outer-spin-button,.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.kp-qty-wrap{display:inline-flex!important;align-items:stretch;border:1px solid var(--rule);border-radius:var(--field-radius);background:var(--field-bg)}
.kp-qty-wrap .qty{border:0!important;width:46px!important;min-height:0!important;background:transparent!important}
.kp-qty{width:38px;background:none;border:0;cursor:pointer;font-size:18px;color:var(--ink)}
.kp-qty:hover{color:var(--accent)}
.kp-dispatch{display:flex;gap:14px;align-items:flex-start;margin:22px 0 0;padding:16px 18px;background:var(--bg-2);font-size:14px;line-height:1.55;color:var(--ink-2);border-radius:var(--radius)}
.kp-dispatch svg{color:var(--accent);margin-top:-1px}
.kp-dispatch strong{color:var(--ink)}
.kp-trust{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--muted)}
.kp-trust li{display:inline-flex;align-items:center;gap:7px}
.kp-trust svg{color:var(--ink-2)}
.kp-acc{margin-top:24px;border-top:1px solid var(--rule)}
.kp-acc details{border-bottom:1px solid var(--rule)}
.kp-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:19px 0;font:600 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase}
.kp-acc summary::-webkit-details-marker{display:none}
.kp-acc summary::after{content:"";width:11px;height:11px;background:linear-gradient(currentColor,currentColor) center/11px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 11px no-repeat;transition:transform .35s var(--ease)}
.kp-acc details[open] summary::after{transform:rotate(45deg)}
.kp-acc__body{padding:0 0 22px;font-size:15px;line-height:1.7;color:var(--ink-2)}
.kp-acc__body ul{margin:0 0 1em;padding-left:18px}
.kp-acc__body li{margin:4px 0}
.kp-acc__body p:last-child{margin:0}
.kp-specs{width:100%;border-collapse:collapse;font-size:14.5px}
.kp-specs th,.kp-specs td{padding:10px 0;border-bottom:1px solid var(--rule-2);text-align:left;vertical-align:top}
.kp-specs th{width:38%;font-weight:500;color:var(--muted);padding-right:16px}
.kp-specs tr:last-child>*{border-bottom:0}
.woocommerce div.product .related.products,.woocommerce div.product .up-sells{padding:clamp(70px,8vw,116px) 0 clamp(60px,7vw,100px)}
.woocommerce div.product .related.products>h2{font-size:clamp(30px,3.2vw,46px);margin:0 0 clamp(30px,3.6vw,48px)}

/* dialog */
.kp-dialog{border:0;padding:46px clamp(22px,4vw,50px) 38px;width:min(700px,calc(100% - 32px));max-height:88vh;background:var(--bg);color:var(--ink);box-shadow:0 40px 80px -30px rgba(0,0,0,.5);border-radius:var(--radius-lg)}
.kp-dialog::backdrop{background:rgba(10,10,10,.5)}
.kp-dialog h2{font-size:34px;margin-bottom:12px}
.kp-dialog__close{position:absolute;top:14px;right:14px;background:none;border:0;cursor:pointer;padding:8px;color:var(--ink)}
.kp-dialog table,.kp-table{width:100%;border-collapse:collapse;font-size:15px;margin:20px 0 12px;font-variant-numeric:tabular-nums}
.kp-dialog th,.kp-dialog td{padding:12px;border-bottom:1px solid var(--rule);text-align:left}
.kp-dialog th{font:600 10.5px/1.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kp-dialog-link{display:inline-block;margin:-6px 0 18px;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:.3em;background:none;border:0;padding:0;cursor:pointer}

/* ---------- pages ---------- */
.kp-page-head{padding:clamp(52px,7vw,108px) 0 clamp(26px,3.4vw,46px);text-align:center}
.kp-page-title{font-size:clamp(44px,6vw,88px);letter-spacing:calc(var(--display-tracking) * 1.6);line-height:.98;margin:0 auto 18px;max-width:14em}
.kp-page-lede{max-width:34em;margin:0 auto;font-size:clamp(17px,1.4vw,19.5px);line-height:1.7;color:var(--ink-2)}
.kp-page-head--woo{text-align:left;padding:clamp(36px,5vw,68px) 0 18px}
.kp-page-head--woo .kp-page-title{font-size:clamp(40px,4.8vw,68px);margin-left:0}
.kp-prose{max-width:760px;margin:0 auto;padding-bottom:var(--sec-pad);font-size:17px;line-height:1.75;color:var(--ink-2)}
.kp-prose h2{font-size:clamp(27px,2.6vw,38px);color:var(--ink);margin:1.7em 0 .55em}
.kp-prose h3{font:600 13px/1.4 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:2.2em 0 .9em}
.kp-prose ul,.kp-prose ol{padding-left:1.25em}
.kp-prose li{margin:.35em 0}
.kp-prose a{color:var(--ink)}
.kp-prose a:hover{color:var(--accent)}
.kp-prose blockquote{margin:2em 0;padding:0 0 0 26px;border-left:2px solid var(--accent);font:var(--display-weight) clamp(21px,2vw,27px)/1.4 var(--display);color:var(--ink)}
.kp-prose table{width:100%;border-collapse:collapse;font-size:15px;margin:1.4em 0;font-variant-numeric:tabular-nums}
.kp-prose th,.kp-prose td{padding:12px 10px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.kp-prose th{font:600 11px/1.3 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kp-prose hr{border:0;border-top:1px solid var(--rule);margin:3em 0}
.kp-prose .kp-note{background:var(--bg-2);padding:20px 24px;font-size:15px;border-radius:var(--radius)}
.kp-page-wide{padding-bottom:var(--sec-pad)}
.kp-page-wide .kp-prose{padding-bottom:0}
.kp-entry{margin-bottom:2em}

/* notices */
.kp-notice{padding:16px 20px;background:var(--bg-2);border-left:2px solid var(--ink);font-size:15px;margin:0 0 24px}
.kp-notice--err{border-left-color:var(--accent)}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{list-style:none;margin:0 0 26px!important;padding:16px 20px!important;background:var(--bg-2);border:0;border-left:2px solid var(--ink);font-size:15px;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-radius:var(--radius)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-error{border-left-color:var(--accent)}
.woocommerce-error li{margin:0}
.woocommerce-message .button,.woocommerce-info .button{order:2;min-height:40px!important;padding:0 18px!important;font-size:11px!important}
.woocommerce-notices-wrapper:empty{display:none}

/* forms */
.kp-form label,.woocommerce form .form-row label{display:block;font:600 12.5px/1.3 var(--text);letter-spacing:.03em;color:var(--ink-2);margin:0 0 8px}
.kp-form input[type=text],.kp-form input[type=email],.kp-form textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce input[type=email],.woocommerce input[type=password],.woocommerce input[type=text],.woocommerce input[type=tel]{
  width:100%;min-height:52px;padding:12px 16px;background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--field-radius);font:400 15.5px/1.4 var(--text);color:var(--ink);transition:border-color .25s;-webkit-appearance:none}
.kp-form textarea,.woocommerce form .form-row textarea{min-height:150px;resize:vertical}
.kp-form input:focus,.kp-form textarea:focus,.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce input:focus{border-color:var(--ink);outline:none}
.kp-form p{margin:0 0 18px}
.kp-form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.woocommerce form .form-row{padding:0;margin:0 0 18px}
.woocommerce form .form-row .required{color:var(--accent);text-decoration:none}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--accent)}
.select2-container--default .select2-selection--single{height:52px;border:1px solid var(--field-border);border-radius:var(--field-radius);background:var(--field-bg)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:50px;padding-left:16px;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px;right:8px}
.select2-dropdown{border-color:var(--field-border);border-radius:0;background:var(--field-bg);color:var(--ink)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--ink);color:var(--bg)}
.woocommerce form .form-row input[type=checkbox]{accent-color:var(--ink);width:16px;height:16px;vertical-align:-3px;margin-right:8px}

/* cart */
.kp-woo-page{padding-bottom:var(--sec-pad)}
.woocommerce table.shop_table{width:100%;border:0;border-collapse:collapse;margin:0 0 30px;font-size:15px;border-radius:0}
.woocommerce table.shop_table th{font:600 11px/1.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:14px 12px;border:0;border-bottom:1px solid var(--rule);text-align:left}
.woocommerce table.shop_table td{padding:20px 12px;border:0;border-bottom:1px solid var(--rule);vertical-align:middle}
.woocommerce table.cart img,.woocommerce-cart table.cart img{width:96px!important;background:var(--tile);border-radius:var(--media-radius)}
.woocommerce table.cart .product-name a{font:var(--display-weight) 20px/1.2 var(--display);text-decoration:none}
.woocommerce table.cart .product-name dl.variation{margin:6px 0 0;font-size:13px;color:var(--muted)}
.woocommerce table.cart .product-name dl.variation dt,.woocommerce table.cart .product-name dl.variation dd{display:inline;margin:0;float:none}
.woocommerce table.cart .product-name dl.variation dd p{display:inline;margin:0 12px 0 4px}
.woocommerce a.remove{color:var(--muted)!important;font:300 22px/1 var(--text);width:auto;height:auto;border-radius:0}
.woocommerce a.remove:hover{background:none;color:var(--accent)!important}
.woocommerce table.cart .quantity .qty{min-height:46px}
.woocommerce table.cart td.actions{padding-top:24px}
.woocommerce table.cart td.actions .coupon{display:flex;gap:10px;align-items:center}
.woocommerce table.cart td.actions .coupon .input-text{width:220px!important;min-height:52px;margin:0!important}
.woocommerce table.cart td.actions>.button{float:right;background:transparent;color:var(--ink)}
.woocommerce table.cart td.actions>.button:hover{background:var(--ink);color:var(--bg)}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end}
.woocommerce .cart-collaterals .cart_totals{float:none;width:100%;max-width:480px;background:var(--bg-2);padding:30px 32px 32px;border-radius:var(--card-radius)}
.woocommerce .cart-collaterals .cart_totals h2{font-size:30px;margin:0 0 14px}
.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{padding:14px 0;font-size:15px}
.woocommerce .cart_totals table.shop_table th{font:600 11px/1.3 var(--text);letter-spacing:.12em}
.woocommerce .cart_totals .order-total td{font:600 20px/1 var(--text)}
.woocommerce ul#shipping_method{margin:0;padding:0;list-style:none}
.woocommerce ul#shipping_method li{margin:0;padding:0;text-indent:0}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:13px;color:var(--muted)}
.wc-proceed-to-checkout{padding:20px 0 0!important}
.wc-proceed-to-checkout a.checkout-button{display:flex!important;width:100%;min-height:58px;margin:0!important;font-size:13px!important;padding:0 20px!important}
.woocommerce-cart .cart-empty{font:var(--display-weight) 28px/1.3 var(--display);text-align:center;padding:24px 0 8px;border:0;background:none;justify-content:center}
.woocommerce-cart .return-to-shop{text-align:center}

/* checkout */
.woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:clamp(30px,5vw,80px);align-items:start}
.woocommerce form.checkout>*{grid-column:1/-1}
.woocommerce form.checkout #customer_details{grid-column:1;grid-row:1/span 2}
.woocommerce form.checkout #order_review_heading{grid-column:2;grid-row:1;font-size:28px;margin:0;padding:28px 32px 6px;background:var(--bg-2);border-radius:var(--card-radius) var(--card-radius) 0 0}
.woocommerce form.checkout #order_review{grid-column:2;grid-row:2;background:var(--bg-2);padding:8px 32px 32px;position:sticky;top:calc(var(--head-h) + 24px);border-radius:0 0 var(--card-radius) var(--card-radius)}
.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:100%}
.woocommerce-checkout h3{font-size:28px;margin:0 0 20px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48.5%}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{padding:0 0 18px;border-bottom:1px solid var(--rule)}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none}
.woocommerce-checkout #payment ul.payment_methods li.woocommerce-notice{padding:14px 16px!important;font-size:14px}
.woocommerce-checkout #payment div.form-row{padding:18px 0 0}
.woocommerce #place_order{width:100%;min-height:58px;float:none}
.woocommerce-terms-and-conditions-wrapper{font-size:13.5px;color:var(--muted)}
.woocommerce-checkout-review-order-table td.product-name{font-size:14.5px}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid var(--rule);border-radius:var(--card-radius);padding:28px;margin:0 0 28px}

/* account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,4vw,64px)}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--rule)}
.woocommerce-MyAccount-navigation a{display:block;padding:14px 0;font:600 12px/1.2 var(--text);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.woocommerce-MyAccount-navigation .is-active a{color:var(--accent)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-account:not(.logged-in) .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.woocommerce-account:not(.logged-in) .u-columns .col-1,.woocommerce-account:not(.logged-in) .u-columns .col-2{float:none;width:auto}
.woocommerce-account h2{font-size:30px}
.woocommerce form .woocommerce-form-login__rememberme{display:block;margin:6px 0 16px;font-size:14px}
.woocommerce .woocommerce-LostPassword{font-size:14px}

/* 404 */
.kp-404{text-align:center;padding:clamp(72px,10vw,160px) 0}
.kp-404__mark{width:86px;height:86px;margin:0 auto 28px;color:var(--ink)}

/* toast */
.kp-toast{position:fixed;left:50%;bottom:24px;z-index:120;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:var(--ink);color:var(--bg);padding:14px 16px 14px 20px;font-size:14px;box-shadow:0 18px 40px -18px rgba(0,0,0,.55);border-radius:var(--radius);animation:kpToast .35s var(--ease);max-width:calc(100% - 32px)}
.kp-toast a{color:var(--bg);font-weight:600;white-space:nowrap;text-underline-offset:.3em}
.kp-toast.is-out{opacity:0;transform:translate(-50%,10px);transition:opacity .35s,transform .35s}
@keyframes kpToast{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translateX(-50%)}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .kp-nav{gap:22px}
  .kp-grid,.woocommerce ul.products{--cols:3}
  .kp-grid--rail{--cols:3}
  .kp-mega__tiles{--mega-cols:4}
  .kp-mega__feature{display:none}
  .kp-cats{--cols:3}
  .kp-cats--circles{--cols:4}
}
@media (max-width:980px){
  :root{--head-h:64px}
  .kp-header__inner,.kp-header--center .kp-header__inner{grid-template-columns:auto 1fr auto;gap:12px}
  .kp-burger{display:inline-flex}
  .kp-nav,.kp-actions__text,.kp-header__row2,.kp-header--stack .kp-searchbar{display:none!important}
  .kp-hide-sm{display:none!important}
  .kp-show-sm{display:inline-flex!important}
  .kp-header--center .kp-logo{justify-self:center}
  .kp-header:not(.kp-header--center) .kp-logo{justify-self:start}
  .kp-actions{gap:6px}
  .kp-cart__label{display:none}
  .kp-hero__grid{grid-template-columns:1fr;min-height:0}
  .kp-hero__media{min-height:0}
  .kp-hero__media--n1 .kp-hero__fig{min-height:0;aspect-ratio:4/3}
  .kp-hero--media-left .kp-hero__media{order:0}
  .kp-hero__media--n3{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .kp-hero__media--n3 .kp-hero__fig--1{grid-row:auto;grid-column:1/-1;aspect-ratio:16/10}
  .kp-hero__media--n3 .kp-hero__fig{aspect-ratio:1/1}
  .kp-hero--cover{min-height:76vh}
  .kp-split,.kp-band--media,.kp-room,.kp-signup,.kp-newsband__inner,.kp-archive-head--img .kp-archive-head__grid{grid-template-columns:1fr}
  .kp-split--media-right .kp-split__media{order:0}
  .kp-usps,.kp-stats{--cols:2}
  .kp-usps--row .kp-usp{padding:24px 20px 24px 0;border-left:0;border-top:1px solid var(--rule)}
  .kp-usps--row .kp-usp:nth-child(-n+2){border-top:0}
  .kp-steps{--cols:1;max-width:560px;margin:0 auto}
  .kp-duo,.kp-duo--n3{grid-template-columns:1fr}
  .kp-footer__top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kp-footer__brand{grid-column:1/-1}
  .kp-product-top{grid-template-columns:minmax(0,1fr);gap:24px}
  .woocommerce div.product div.summary{position:static}
  .woocommerce form.checkout{grid-template-columns:minmax(0,1fr)}
  .woocommerce form.checkout #customer_details,.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{grid-column:1;grid-row:auto;position:static}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .kp-stat{border-left:0;border-top:1px solid var(--rule);padding-left:0}
  .kp-stat:first-child{border-top:0}
  .kp-cats--list .kp-cat__peek{display:none}
}
@media (max-width:760px){
  .kp-announce__track{display:block;text-align:center}
  .kp-announce__track span{position:absolute;left:0;right:0;opacity:0;transition:opacity .6s}
  .kp-announce__track span.is-on{opacity:1}
}
@media (max-width:640px){
  :root{--body-size:16px;--card-gap-y:36px;--card-gap-x:14px}
  .kp-grid,.woocommerce ul.products{--cols:2}
  .kp-grid--rail{--cols:1.6;grid-auto-columns:calc((100% - 14px) / 1.6)}
  .kp-rail__btn{display:none}
  .kp-card__title{font-size:calc(var(--card-title-size) * .85)}
  .kp-card__quick{display:none}
  .kp-card__meta{flex-direction:column;align-items:flex-start;gap:8px}
  .kp-card__eyebrow{font-size:9.5px;letter-spacing:.12em}
  .kp-hero__title{font-size:clamp(42px,12vw,64px)}
  .kp-hero__cta .kp-btn,.kp-hero .kp-ctas .kp-btn{flex:1 1 100%}
  .kp-cats{--cols:2;gap:18px 14px}
  .kp-cats--circles{--cols:3}
  .kp-cats--list .kp-cat{grid-template-columns:40px 1fr auto}
  .kp-tabs__nav{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .kp-tabs__nav button{flex:none}
  .kp-usps{--cols:1}
  .kp-usps--row .kp-usp:nth-child(2){border-top:1px solid var(--rule)}
  .kp-footer__top{grid-template-columns:1fr 1fr}
  .kp-footer__bottom{flex-direction:column;align-items:flex-start}
  .kp-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .kp-chips a{flex:none}
  .kp-promo{min-height:360px}
  .kp-form__row{grid-template-columns:1fr}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
  .woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:1fr}
  .woocommerce table.cart td.actions .coupon{flex-direction:column;align-items:stretch}
  .woocommerce table.cart td.actions .coupon .input-text{width:100%!important}
  .woocommerce table.cart td.actions>.button{float:none;width:100%;margin-top:12px}
  .woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{padding-left:20px;padding-right:20px}
  .woocommerce .cart-collaterals .cart_totals{padding:24px 20px}
  .kp-gallery--thumbs .woocommerce-product-gallery__wrapper{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .kp-sw:not(.kp-sw--colour){display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}
  .kp-toast{left:16px;right:16px;transform:none;bottom:16px;justify-content:space-between}
  @keyframes kpToast{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .kp-reveal,.kp-hero__fig img,.kp-will-reveal{opacity:1;transform:none}
}
/* ==========================================================================
   Kind Paws — warm, rounded, friendly-premium.
   Cream + oat · terracotta · forest green · Young Serif + Outfit
   ========================================================================== */
:root{
  --bg:#FBF7F0; --bg-2:#F2EADD; --bg-3:#E8DCC9; --surface:#FFFDF8; --tile:#F0E9DD;
  --ink:#23302A; --ink-2:#3D4B43; --muted:#6F716A; --muted-2:#A09E95;
  --rule:#E4D9C7; --rule-2:#EEE6D8;
  --accent:#C8643B; --accent-2:#A9502D; --on-accent:#FFFDF8; --butter:#F3D58E; --sage:#CAD6C1;
  --dark:#2C473A; --on-dark:#F7F1E6; --on-dark-2:#C5D0C4;
  --display:"Young Serif",Georgia,serif; --text:"Outfit",system-ui,sans-serif;
  --display-weight:400; --display-tracking:-.015em; --display-lh:1.06;
  --h1:clamp(44px,5.8vw,88px); --h2:clamp(32px,3.8vw,54px);
  --eyebrow-font:var(--text); --eyebrow-size:13px; --eyebrow-weight:600; --eyebrow-tracking:.06em; --eyebrow-transform:none; --eyebrow-color:var(--accent);
  --btn-font:var(--text); --btn-size:15px; --btn-weight:600; --btn-tracking:0; --btn-transform:none; --btn-h:54px; --btn-px:28px; --btn-radius:999px;
  --btn-bg:var(--ink); --btn-border:var(--ink); --btn-ink:var(--bg); --btn-bg-h:var(--accent); --btn-ink-h:var(--on-accent);
  --nav-font:var(--text); --nav-size:15.5px; --nav-weight:500; --nav-tracking:0;
  --logo-font:var(--display); --logo-size:28px; --logo-weight:400; --logo-tracking:-.01em;
  --radius:14px; --radius-lg:28px; --card-radius:24px; --media-radius:24px; --field-radius:14px;
  --card-ratio:1/1; --card-title-font:var(--text); --card-title-size:17px; --card-title-weight:600; --card-gap-y:40px; --card-gap-x:22px;
  --header-bg:rgba(251,247,240,.96); --header-rule:transparent; --announce-bg:var(--accent); --announce-ink:#FFF7EE;
  --field-bg:#FFFDF8; --field-border:var(--rule);
  --footer-bg:var(--dark); --footer-ink:#C5D0C4; --footer-head:#F7F1E6; --news-bg:var(--butter);
  --head-h:84px;
}
body{font-weight:400}
.kp-hero__title em,.kp-h2 em{font-style:normal;color:var(--accent)}
.kp-announce{font-weight:500;letter-spacing:.04em;text-transform:none;font-size:13px}
.kp-header{box-shadow:0 1px 0 var(--rule-2)}
.kp-header.is-scrolled{box-shadow:0 10px 30px -22px rgba(35,48,42,.45)}
.kp-logo__mark{width:38px;height:38px}
.kp-nav{gap:26px}
.kp-nav>a::after,.kp-nav__trigger::after{height:2px;border-radius:2px;background:var(--accent);bottom:4px}
.kp-cart{background:var(--ink);color:var(--bg);border-radius:999px;padding:10px 18px 10px 14px}
.kp-cart:hover{background:var(--accent);color:var(--on-accent)}
.kp-cart__label{font-weight:600;font-size:14.5px}
.kp-cart-count{position:static;background:var(--butter);color:var(--ink);margin-left:2px}
.kp-mega{border-radius:0 0 28px 28px}
.kp-mega__img{border-radius:20px}
.kp-mega__name{font-family:var(--display);font-size:19px}
.kp-mega__feature .kp-mega__fimg{border-radius:20px}

/* hero: arch frames on soft blobs */
.kp-paws-hero{background:radial-gradient(60% 70% at 85% 30%,rgba(243,213,142,.45),transparent 70%),radial-gradient(40% 50% at 10% 90%,rgba(202,214,193,.5),transparent 70%)}
.kp-paws-hero .kp-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:min(80vh,800px)}
.kp-paws-hero .kp-hero__media{grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:16px;min-height:560px}
.kp-paws-hero .kp-hero__fig{border-radius:999px 999px 28px 28px;background:var(--tile);box-shadow:0 30px 60px -40px rgba(35,48,42,.55)}
.kp-paws-hero .kp-hero__fig--1{grid-row:1/3;border-radius:999px 999px 32px 32px}
.kp-paws-hero .kp-hero__fig--2{border-radius:28px;background:var(--sage)}
.kp-paws-hero .kp-hero__fig--3{border-radius:28px 28px 999px 999px;background:var(--butter)}
.kp-paws-hero .kp-hero__fig img{object-fit:cover;mix-blend-mode:multiply}
.kp-hero__notes{font-weight:500;color:var(--ink-2)}
.kp-hero__notes li{background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:8px 14px}

/* shop-by circles */
.kp-cats--circles{gap:22px 18px}
.kp-cats--circles .kp-cat__img{background:var(--tile);box-shadow:inset 0 0 0 6px var(--surface),0 0 0 1px var(--rule);transition:box-shadow .3s,transform .4s var(--ease)}
.kp-cats--circles .kp-cat:hover .kp-cat__img{box-shadow:inset 0 0 0 6px var(--surface),0 0 0 2px var(--accent);transform:translateY(-4px)}
.kp-cats--circles .kp-cat__name{font-family:var(--text);font-weight:600;font-size:15.5px;letter-spacing:0}

/* tabs as pills */
.kp-tabs__nav{background:var(--bg-2);padding:6px;border-radius:999px;gap:2px}
.kp-tabs__nav button{border-radius:999px;font-family:var(--text);font-size:14.5px;font-weight:600;letter-spacing:0;padding:11px 18px;border:0}
.kp-tabs__nav button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 2px 10px -4px rgba(35,48,42,.35)}

/* cards */
.kp-card__media{border-radius:24px}
.kp-card__eyebrow{font-family:var(--text);font-weight:600;font-size:11.5px;letter-spacing:.04em;text-transform:none;color:var(--accent)}
.kp-card__price{font-family:var(--text);font-weight:600;font-size:16px}
.kp-badge{border-radius:999px;background:var(--butter);color:var(--ink);font-family:var(--text);font-weight:600;letter-spacing:0;text-transform:none;font-size:12px;padding:7px 12px}
.kp-card__atc.button{border-radius:999px!important;font-family:var(--text)!important;font-size:13.5px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;border-color:var(--ink)!important}
.kp-card__atc.button:hover{background:var(--ink)!important}

/* duo promos */
.kp-promo{border-radius:32px;min-height:420px;background:var(--tile)}
.kp-promo__img img{mix-blend-mode:multiply}
.kp-promo__img::after{background:linear-gradient(0deg,rgba(35,48,42,.82),rgba(35,48,42,.1) 58%,rgba(35,48,42,0))}
.kp-promo__title{font-family:var(--display)}
.kp-promo .kp-eyebrow{color:var(--butter)}

/* split: two rounded tiles */
.kp-paws-split .kp-split__fig{border-radius:28px;background:var(--tile)}
.kp-paws-split .kp-split__fig--1{border-radius:999px 999px 28px 28px}
.kp-ticks svg{background:var(--sage);color:var(--ink);border-radius:50%;padding:3px;width:22px;height:22px}

/* usps */
.kp-usps--cards .kp-usp{border-radius:24px;border:0;background:var(--surface)}
.kp-usp__ic{width:52px;height:52px;border-radius:50%;background:var(--bg-2);display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}
.kp-usp__title{font-family:var(--display);font-weight:400;text-transform:none;letter-spacing:0;font-size:20px}

/* faq */
.kp-faq__item summary{font-family:var(--text);font-weight:600;font-size:18px}
.kp-faq__item summary::after{color:var(--accent)}

/* rails */
.kp-rail__btn{border-color:var(--rule);background:var(--surface)}

/* newsletter on butter */
.kp-newsband{border-top:0;border-radius:36px 36px 0 0}
.kp-newsband .kp-eyebrow{color:var(--ink)}
.kp-news__field{border:0;background:var(--surface);border-radius:999px;padding:4px 4px 4px 22px}
.kp-news__field input[type=email]{padding:14px 0}
.kp-news__field button{background:var(--ink);color:var(--bg);border-radius:999px;padding:14px 24px;letter-spacing:0;text-transform:none;font-size:15px}
.kp-news__field button:hover{background:var(--accent);color:var(--on-accent)}

/* footer */
.kp-footer{border-radius:0}
.kp-footer__head{font-family:var(--display);font-weight:400;font-size:18px;letter-spacing:0;text-transform:none}
.kp-pay span{border-radius:999px}

/* archive */
.kp-archive-head--img .kp-archive-head__img{border-radius:999px 999px 28px 28px;aspect-ratio:4/3;max-height:340px;background:var(--tile)}
.kp-archive-head__img img{mix-blend-mode:multiply}
.kp-chips{border:0;padding:0;gap:8px}
.kp-chips a{border:1px solid var(--rule);border-radius:999px;font-family:var(--text);font-size:14px;font-weight:500;letter-spacing:0;padding:10px 16px;background:var(--surface);color:var(--ink-2)}
.kp-chips a.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.woocommerce .woocommerce-ordering select{border:1px solid var(--rule);border-radius:999px;padding:10px 34px 10px 16px;background-position:right 14px center;font-family:var(--text);letter-spacing:0;background-color:var(--surface)}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:50%}

/* product page */
.kp-product-title{font-size:clamp(34px,3.4vw,50px)}
.kp-price-row{border:0;background:var(--bg-2);border-radius:18px;padding:16px 20px}
.kp-dispatch{border-radius:18px;background:var(--surface);border:1px solid var(--rule)}
.kp-acc{border-top:0}
.kp-acc details{border:1px solid var(--rule);border-radius:18px;margin-bottom:10px;padding:0 20px;background:var(--surface)}
.kp-acc summary{font-family:var(--text);font-weight:600;font-size:15px;letter-spacing:0;text-transform:none}
.woocommerce div.product div.images .woocommerce-product-gallery__image{border-radius:24px}
.woocommerce div.product .related.products>h2{text-align:left}
.woocommerce .cart-collaterals .cart_totals,.woocommerce form.checkout #order_review,.woocommerce form.checkout #order_review_heading{background:var(--surface)}

@media (max-width:980px){
  .kp-paws-hero .kp-hero__grid{grid-template-columns:1fr}
  .kp-paws-hero .kp-hero__media{min-height:0;grid-template-rows:auto;grid-template-columns:1fr 1fr}
  .kp-paws-hero .kp-hero__fig--1{grid-row:auto;grid-column:1/-1;aspect-ratio:1/1;max-height:420px}
  .kp-paws-hero .kp-hero__fig--2,.kp-paws-hero .kp-hero__fig--3{aspect-ratio:1/1}
  .kp-cart{padding:9px 12px}
  .kp-cats--circles{--cols:4}
}
@media (max-width:640px){
  .kp-cats--circles{--cols:3}
  .kp-hero__notes li{padding:6px 12px}
  .kp-tabs__nav{border-radius:18px}
}
