/** Shopify CDN: Minification failed

Line 592:67 Unexpected "72%"
Line 679:1 Unexpected "}"

**/

:root{--ink:#0A0A0A;--chrome:#141311;--line:#2C2822;--gold:#C5A568;--ivory:#EFE2D0;--mute:#8F8A81;--dim:#6A665F}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ink);color:var(--ivory);font-family:Montserrat,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---------------- stage : the site, full bleed ---------------------------- */
.stage{min-height:100vh;overflow-x:clip;display:flex;justify-content:center;
  align-items:flex-start;background:var(--ink)}
.pane{flex:1 1 0;min-width:0;display:flex;justify-content:center}
.pane[hidden]{display:none}
.bd{width:100%;container-type:inline-size;overflow:clip;display:none}
.bd.on{display:block}
.bd>div{width:100% !important}



/* ---------------- image placeholders -------------------------------------- */
.kw-slot{display:block;position:relative;width:100%;height:100%;aspect-ratio:3/2;
  color:inherit;font:13px/1.35 Montserrat,system-ui,sans-serif;background:rgba(127,127,127,.08)}
.kw-slot-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;gap:7px;text-align:center;padding:20px 14px;
  border:1.5px dashed currentColor;border-color:color-mix(in srgb,currentColor 32%,transparent)}
.kw-slot-in svg{opacity:.4;flex:none}
.kw-slot-cap{max-width:88%;font-weight:500;letter-spacing:.01em;opacity:.72}


/* ---------------- multi-page router --------------------------------------
   Each page is a sibling band group; exactly one is shown. Links carry
   data-go="pageId" or data-go="pageId#sectionId". */
.pg[hidden]{display:none}

/* ---------------- hero: photo dissolves toward the copy ------------------- */
.kw-hero-media{position:absolute;inset:0 0 0 20%;overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.10) 12%,
    rgba(0,0,0,.30) 26%,rgba(0,0,0,.75) 40%,#000 50%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.10) 12%,
    rgba(0,0,0,.30) 26%,rgba(0,0,0,.75) 40%,#000 50%)}
.kw-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.kw-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to right,#121212 0%,rgba(18,18,18,.97) 34%,
    rgba(18,18,18,.58) 48%,rgba(18,18,18,0) 64%)}
.kw-hero-copy{position:relative;z-index:2;height:100%;width:46%;
  display:flex;flex-direction:column;justify-content:center;gap:28px}
/* the trust row is a nowrap flex line wider than the copy column, so without
   this it runs out from behind the text and lands on the photograph */
/* the CTA row grows with the label; let both flex rows wrap rather than spill */
.kw-hero-copy > div:not([style*="flex-direction:column"]){flex-wrap:wrap}
.kw-hero-copy > div:last-child{flex-wrap:wrap !important;
  gap:9px 26px !important;white-space:normal !important}
.kw-hero-copy > div:last-child span{white-space:nowrap}

/* a filled frame is a grid item with a fixed height; let it stretch to its row
   so no strip of ground shows under the photograph */
.bd [style*="height:600px"]:has(> .kw-shot),
.bd [style*="height:520px"]:has(> .kw-shot){height:auto !important}

/* ---------------- closing call to action, on a photograph ---------------- */
.kw-cta{position:relative;overflow:hidden;margin:-96px -80px 0;
  padding:132px 80px 124px;display:flex;flex-direction:column;align-items:center}
.kw-cta-media{position:absolute;inset:0}
.kw-cta-media img{width:100%;height:100%;object-fit:cover;
  object-position:center 62%;display:block}
.kw-cta-scrim{position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 52%,rgba(10,10,10,.84) 0%,rgba(10,10,10,.62) 46%,
  rgba(10,10,10,.34) 100%)}
.kw-cta-body{position:relative;z-index:2;display:flex;flex-direction:column;
  align-items:center;gap:26px;text-align:center}

/* ---------------- ivory bands can carry a watermark plate --------------- */
.bd [style*="background:#EFE2D0"]{position:relative;isolation:isolate}
.bd [style*="background:#EFE2D0"]::before{content:"";position:absolute;inset:0;
  z-index:0;pointer-events:none;background-image:var(--kw-tex,none);
  background-size:cover;background-position:center;
  opacity:var(--kw-tex-o,0);mix-blend-mode:multiply;
  /* grayscale first: multiplying a warm plate into warm ivory compounds the
     warmth and yellows the ground. Desaturated, it only changes lightness, so
     the band keeps its exact #EFE2D0 hue and the plate reads as a watermark. */
  filter:grayscale(1) brightness(1.04)}
.bd [style*="background:#EFE2D0"] > *{position:relative;z-index:1}

/* matte-black bands take a plate too, screened rather than multiplied: black
   stays black and only the lit parts of the plate come through */
.bd .kw-dark{position:relative;isolation:isolate}
.bd .kw-dark::before{content:"";position:absolute;inset:0;z-index:0;
  pointer-events:none;background-image:var(--kw-dtex,none);
  background-size:cover;background-position:center;
  opacity:var(--kw-dtex-o,0);mix-blend-mode:screen}
.bd .kw-dark > *{position:relative;z-index:1}

/* links inherit the design's own colour; the concept is one page, so these
   scroll to the band the page would link to rather than navigating away */
.bd a{color:inherit;text-decoration:none}
.bd [data-sec],.bd a[href^="tel"],.bd a[href^="mailto"]{cursor:pointer;transition:opacity .15s}
.bd [data-sec]:hover,.bd [data-go]:hover,.bd a[href^="tel"]:hover,.bd a[href^="mailto"]:hover{opacity:.7}
/* a whole-card anchor must not fade: it would take the price below AA under the cursor.
   The border answers instead - nothing lifts, shadows or translates. */
.bd a.kw-card,.bd a.kw-card:hover{opacity:1}
.bd a.kw-card{transition:border-color .2s cubic-bezier(.2,.8,.2,1)}
.bd a.kw-card:hover{border-top-color:#8C6A3F}

.kw-shot{display:block;position:relative;width:100%;height:100%;aspect-ratio:3/2;
  overflow:hidden;background:#1A1815}
.kw-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* the "image coming soon" plate is shared by every unshot thumbnail, so it is a
   single background declaration rather than thirty inlined <img> sources */
/* --- balance layer: sidebars that run out early track the scroll rather than
   leaving a ragged column of nothing; media columns stretch to their band --- */
/* sticky columns retired at client request: no column pins while the other scrolls */
.kw-stkL>:first-child,.kw-stkR>:last-child{position:static;align-self:start}
.kw-fill{align-items:stretch}
.kw-fill>.kw-col{display:flex;flex-direction:column;min-height:100%}
.kw-fill .kw-col>.kw-shot{flex:1 1 auto;min-height:320px;aspect-ratio:auto}
@container (max-width:960px){
  .kw-stkL>:first-child,.kw-stkR>:last-child{position:static}
  .kw-fill .kw-col>.kw-shot{flex:0 0 auto;aspect-ratio:4/3;min-height:0}
}
/* two-column helpers that collapse with the board, plus the two-stage forms */
@container (max-width:1180px){.bd .kw-2col{grid-template-columns:minmax(0,1fr) !important}}
@container (max-width:560px){.bd .kw-news-row{flex-direction:column;gap:10px}.bd .kw-news-row input{border-right:1px solid #6E6257 !important}}
.kw-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}
.kw-more>summary::-webkit-details-marker{display:none}
.kw-more .kw-plus{position:relative;width:14px;height:14px;flex:none}
.kw-more .kw-plus::before,.kw-more .kw-plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform .3s ease}
.kw-more .kw-plus::after{transform:rotate(90deg)}
.kw-more[open] .kw-plus::after{transform:rotate(0deg)}
.kw-sel{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 21px) 50%,calc(100% - 15px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px !important}
.kw-f3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px}
.kw-f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
@container (max-width:760px){.bd .kw-f3,.bd .kw-f2{grid-template-columns:minmax(0,1fr) !important}}
/* ---------------- mobile header: wordmark left, call + menu right ---------- */
.kw-hdr-r{display:none;align-items:center;gap:18px;flex:none}
.kw-burger{display:flex}
.kw-call{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;background:transparent;
  border:1px solid #C5A568;color:#C5A568;padding:0;cursor:pointer;border-radius:0}
.kw-call svg{width:17px;height:17px;display:block}
.kw-menu{position:absolute;left:0;right:0;top:100%;background:#0E0D0B;border-top:1px solid #2E2A24;border-bottom:1px solid #8C6A3F;
  display:none;flex-direction:column;padding:10px 0 22px;z-index:6}
.bd .kw-hdr>.kw-menu{position:absolute;z-index:6}
.kw-menu.on{display:flex}
.kw-menu a{padding:17px 34px;font-family:Montserrat,sans-serif;font-weight:400;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:#EFE2D0;border-bottom:1px solid #1F1C18;cursor:pointer}
.kw-menu a.kw-menu-cta{margin:20px 34px 0;padding:17px 20px;text-align:center;background:#C5A568;color:#121212;font-weight:500;border:0}
.kw-burger.on span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.kw-burger.on span:nth-child(2){opacity:0}
.kw-burger.on span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.kw-burger span{transition:transform .25s ease,opacity .2s ease}
/* ---------------- the contact card ---------------------------------------- */
.kw-card-veil{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:24px;
  background:rgba(6,5,4,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.kw-card-veil.on{display:flex;animation:kFade .3s ease-out both}
.kw-bcard{position:relative;width:100%;max-width:372px;background:radial-gradient(120% 90% at 50% 0%,#1D1A16 0%,#0E0D0B 62%);
  border:1px solid #2E2A24;padding:46px 34px 30px;display:flex;flex-direction:column;align-items:center;text-align:center;
  box-shadow:0 40px 90px rgba(0,0,0,.6);animation:kRise .45s cubic-bezier(.2,.8,.2,1) both}
.kw-bcard::before{content:"";position:absolute;inset:9px;border:1px solid rgba(197,165,104,.42);pointer-events:none}
.kw-bcard>*{position:relative}
.kw-bcard a,.kw-menu a{text-decoration:none}
.kw-bcard-x{position:absolute !important;top:18px;right:18px;width:32px;height:32px;background:transparent;border:0;color:#A5A5A5;
  font-family:Montserrat,sans-serif;font-weight:300;font-size:22px;line-height:1;cursor:pointer}
.kw-bcard-acts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.kw-bcard-acts a{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 10px;font-family:Montserrat,sans-serif;
  font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.kw-bcard-acts svg{width:15px;height:15px;display:block;flex:none}
/* ================= motion: one vocabulary, applied everywhere ================ */
.kw-rv{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms)}
.kw-rv.kw-in{opacity:1;transform:none}
.kw-rule{transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.8,.2,1) .2s}
.kw-rule.kw-in{transform:scaleX(1)}
.kw-rv .kw-shot img{transform:scale(1.06);transition:transform 1.8s cubic-bezier(.2,.8,.2,1)}
.kw-rv.kw-in .kw-shot img{transform:none}
.bd .kw-card .kw-shot>*{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.bd .kw-card:hover .kw-shot>*{transform:scale(1.045)}
.bd a,.bd button,.bd input,.bd select,.bd textarea,.bd summary{transition:color .3s ease,background-color .3s ease,border-color .3s ease,opacity .3s ease}
.bd a[style*="background:#C5A568"]:hover,.bd button[style*="background:#C5A568"]:hover,.kw-bcard-acts a:first-child:hover{background-color:#D9BF88 !important}
.bd .kw-dark a[style*="color:#C5A568"]:hover,.kw-menu a:hover{color:#E6D2A4 !important}
.bd a[style*="color:#7A5A30"]:hover{color:#4F3A1C !important}
.bd input:focus,.bd select:focus,.bd textarea:focus{border-color:#C5A568 !important;outline:2px solid #C5A568;outline-offset:1px}
.bd [data-go]{cursor:pointer}
.kw-person img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.kw-person:hover img{transform:scale(1.05)}
@media (prefers-reduced-motion:reduce){.kw-rv{opacity:1 !important;transform:none !important}.kw-rule{transform:none !important}
  .kw-rv .kw-shot img{transform:none !important}}
/* ================= touch: every standalone link clears 24px (WCAG 2.5.8) ===== */
@container (max-width:960px){
.bd a:not([style*="position:"]):not(.kw-card):not(.kw-person),.bd button:not(.kw-burger):not(.kw-call),.bd summary{position:relative}
.bd a:not([style*="position:"]):not(.kw-card):not(.kw-person)::after,.bd button:not(.kw-burger):not(.kw-call)::after{content:"";position:absolute;inset:-8px -4px}
}
/* ================= tablet: three-up cards never orphan one ================= */
@container (min-width:761px) and (max-width:1180px){
.bd #team [style*="repeat(3,minmax(0,1fr))"],.bd #related [style*="repeat(3,minmax(0,1fr))"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.bd [style*="repeat(3,minmax(0,1fr))"]:not(.kw-f3)>:last-child:nth-child(odd){grid-column:1 / -1}
.bd #team [style*="repeat(3,minmax(0,1fr))"]>:last-child,.bd #related [style*="repeat(3,minmax(0,1fr))"]>:last-child{grid-column:auto}
}
/* ---- split bands: the media half stretches to the row, so no ground shows --- */
.bd #certificate{align-items:stretch}
.bd #certificate > *:first-child{height:auto !important;min-height:520px}
.bd #certificate > *:first-child > .kw-shot{height:100%;aspect-ratio:auto}
@media (min-width:1560px){
  .bd #certificate > *:last-child{padding-right:var(--kw-gut) !important}
  .bd #certificate > *:first-child{padding-left:0 !important}
}
/* ---- form fields size themselves to the column they are given ------------- */
.kw-f3{grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}
.kw-f2{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.kw-f3>[style*="span 3"],.kw-f2>[style*="span 2"]{grid-column:1 / -1}
/* ---- stock grid: four up, stepping down rather than halving --------------- */
@container (min-width:961px) and (max-width:1180px){
  .bd #kw-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
/* an id beats the blanket single-column rule the narrow layer applies, so the
   stock grid stays two up on a phone rather than becoming one long scroll */
@container (max-width:960px){
  .bd #kw-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:30px 16px !important}
}
@container (max-width:760px){
  /* wrapping four filter groups costs about 530px before a watch is on screen.
     Each group becomes one swipeable strip instead, the way stock filters work
     on a phone everywhere else. */
  .bd #kw-filters{gap:14px !important}
  .bd #kw-filters .kw-fb{padding:8px 13px !important;font-size:10.5px !important}
  .bd #kw-filters > div{flex-direction:column;align-items:stretch !important;gap:14px !important}
  .bd #kw-filters > div:last-child{flex-direction:row !important;align-items:baseline !important}
  .bd #kw-filters input{width:100% !important;flex:none !important}
  .bd #kw-filters > div > div > div{flex-wrap:nowrap !important;overflow-x:auto;
    scrollbar-width:none;-ms-overflow-style:none;padding-bottom:1px}
  .bd #kw-filters > div > div > div::-webkit-scrollbar{display:none}
  .bd #kw-filters .kw-fb{white-space:nowrap;flex:none}
}
.bd .kw-fb:hover{border-color:#8C6A3F !important}
.bd .kw-item[hidden]{display:none !important}
/* the refine line: selects read as type, not as widgets */
.kw-selq{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 7px) 56%,calc(100% - 2px) 56%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
  transition:color .25s ease,border-color .25s ease}
.kw-selq:hover{border-bottom-color:#8C6A3F}
.kw-selq option{color:#1A1714;background:#EFE2D0;text-transform:none;letter-spacing:0;font-size:14px}
#kw-shelf-q::placeholder{color:#8A8279;opacity:1}
#kw-shelf-q:focus,.kw-selq:focus-visible{outline:2px solid #C5A568;outline-offset:4px}
@container (max-width:1180px){.bd .kw-ctl{gap:28px !important}}
@container (max-width:760px){
  .bd .kw-ctl{flex-direction:column;align-items:stretch !important;gap:18px !important}
  .bd .kw-ctl > div{flex:none !important;width:100%}
  .bd .kw-ctl > div:empty{display:none}
}
/* ================= forms: one quiet vocabulary =================================
   Labels always visible above the field. The field is a hairline that resolves to
   the accent on focus. No boxes, no borders on three sides, no card behind it. */
.kw-form{display:flex;flex-direction:column;gap:26px;max-width:560px}
.kw-form .kw-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.kw-form label{font-family:Montserrat,sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--kw-lab)}
.kw-form input,.kw-form select,.kw-form textarea{width:100%;appearance:none;-webkit-appearance:none;border:0;border-radius:0;
  border-bottom:1px solid var(--kw-line);background:transparent;padding:10px 0 12px;font-family:Montserrat,sans-serif;font-weight:400;
  font-size:16.5px;line-height:1.4;color:var(--kw-ink);transition:border-color .3s ease}
.kw-form textarea{resize:vertical;min-height:88px}
.kw-form select{padding-right:26px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--kw-lab) 50%),linear-gradient(135deg,var(--kw-lab) 50%,transparent 50%);
  background-position:calc(100% - 9px) 55%,calc(100% - 4px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.kw-form select option{background:var(--kw-optbg);color:var(--kw-ink)}
.kw-form input::placeholder,.kw-form textarea::placeholder{color:var(--kw-hint);opacity:1}
.kw-form input:focus,.kw-form select:focus,.kw-form textarea:focus{outline:none;border-bottom-color:var(--kw-gold);box-shadow:0 1px 0 0 var(--kw-gold)}
.kw-form .kw-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px 32px}
.kw-form .kw-hint{margin:0;font-family:Montserrat,sans-serif;font-weight:400;font-size:12.5px;line-height:1.6;color:var(--kw-hint)}
.kw-form .kw-note{margin:0;font-family:Montserrat,sans-serif;font-weight:400;font-size:13px;line-height:1.65;color:var(--kw-hint);max-width:44ch}
.kw-form .kw-submit{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding-top:6px}
.kw-form button[type=submit]{padding:16px 32px;background:#C5A568;color:#121212;border:0;border-radius:0;cursor:pointer;
  font-family:Montserrat,sans-serif;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.kw-form details{border-top:1px solid var(--kw-line);padding-top:4px}
.kw-form details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;
  font-family:Montserrat,sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--kw-gold)}
.kw-form details>summary::-webkit-details-marker{display:none}
.kw-form details>div{display:flex;flex-direction:column;gap:26px;padding:10px 0 6px}
.kw-form.on-dark{--kw-lab:#A5A5A5;--kw-line:#3A342E;--kw-ink:#EFE2D0;--kw-hint:#8A8279;--kw-gold:#C5A568;--kw-optbg:#15130F}
.kw-form.on-ivory{--kw-lab:#5C544A;--kw-line:#C7B79C;--kw-ink:#1A1714;--kw-hint:#5C544A;--kw-gold:#7A5A30;--kw-optbg:#EFE2D0}
.kw-form .kw-plus{position:relative;width:12px;height:12px;flex:none}
.kw-form .kw-plus::before,.kw-form .kw-plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform .3s ease}
.kw-form .kw-plus::after{transform:rotate(90deg)}
.kw-form details[open] .kw-plus::after{transform:rotate(0)}
.kw-hero-wide{width:54% !important}
@container (max-width:1180px){.bd .kw-masonry{columns:2 !important}}
@container (max-width:760px){.bd .kw-masonry{columns:1 !important}}
/* ================= forms: Panel ==================================================
   The form sits on its own lifted ground inside a hairline, fields are quiet boxes,
   and focus resolves the field border to the accent. */
.kw-form{padding:40px 40px 36px;border:1px solid var(--kw-pnl-line);background:var(--kw-pnl)}
.kw-form input,.kw-form select,.kw-form textarea{border:1px solid var(--kw-line);background:var(--kw-field);padding:13px 14px}
.kw-form select{background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;padding-right:36px}
.kw-form input:focus,.kw-form select:focus,.kw-form textarea:focus{border-color:var(--kw-gold);box-shadow:none}
.kw-form.on-dark{--kw-pnl:#15130F;--kw-pnl-line:#2E2A24;--kw-field:#0E0D0B}
.kw-form.on-ivory{--kw-pnl:#E7D8C0;--kw-pnl-line:#C7B79C;--kw-field:#EFE2D0}
@container (max-width:760px){.bd .kw-form{padding:26px 20px 24px}}
.kw-ph{position:absolute;inset:0;background-image:url("kw-3e9329cb86aea9a7.jpg");
  background-size:cover;background-position:center;background-repeat:no-repeat}

/* ---------------- injected mobile menu control ---------------------------- */
.kw-burger{flex-direction:column;justify-content:center;gap:5px;
  width:26px;height:26px;flex:none;background:transparent;border:0;padding:0;cursor:pointer}
.kw-burger span{display:block;height:1.5px;width:100%;background:#EFE2D0}

/* ---------------- animation vocabulary from the source concepts ----------- */
@keyframes kRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes kRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes kFade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.bd *{animation:none !important;transition:none !important}}

/* ============ reflow : driven by the board's own width, so it works the
   same in a phone frame and in a half-width compare pane ==================== */
@container (max-width:1180px){
.bd [style*="gap:88px"]{gap:46px !important}
.bd [style*="gap:80px"]{gap:44px !important}
.bd [style*="gap:72px"]{gap:40px !important}
.bd [style*="gap:70px"]{gap:38px !important}
.bd [style*="gap:60px"]{gap:34px !important}
.bd [style*="gap:56px"]{gap:32px !important}
.bd [style*="gap:40px"]{gap:28px !important}
.bd [style*="gap:36px"]{gap:24px !important}
.bd [style*="gap:34px"]{gap:24px !important}
.bd [style*="gap:32px"]{gap:22px !important}
.bd [style*="gap:30px"]{gap:20px !important}
.bd [style*="padding:44px"]{padding:34px !important}
.bd [style*="padding:40px"]{padding:32px !important}
.bd [style*="height:780px"]{height:620px !important}
.bd [style*="height:660px"]{height:520px !important}
.bd [style*="height:600px"]{height:480px !important}
.bd [style*="height:560px"]{height:450px !important}
.bd [style*="height:520px"]{height:420px !important}
.bd [style*="height:480px"]{height:390px !important}
.bd [style*="height:460px"]{height:370px !important}
.bd [style*="height:420px"]{height:340px !important}
.bd [style*="height:400px"]{height:320px !important}
.bd [style*="height:300px"]{height:260px !important}
.bd [style*="font-size:64px"]{font-size:46px !important}
.bd [style*="font-size:60px"]{font-size:44px !important}
.bd [style*="font-size:48px"]{font-size:36px !important}
.bd [style*="font-size:46px"]{font-size:35px !important}
.bd [style*="font-size:44px"]{font-size:34px !important}
.bd [style*="font-size:40px"]{font-size:31px !important}
.bd [style*="font-size:38px"]{font-size:30px !important}
.bd [style*="font-size:30px"]{font-size:25px !important}
.bd [style*="font-size:28px"]{font-size:24px !important}
.bd [style*="font-size:26px"]{font-size:22px !important}
.bd [style*="font-size:24px"]{font-size:21px !important}
.bd [style*="font-size:22px"]{font-size:20px !important}
.bd [style*="font-size:20px"]{font-size:19px !important}
.bd [style*="font-size:19px"]{font-size:18px !important}
.bd [style*="padding:0 72px"]{padding:0 40px !important}
.bd [style*="font-size:17.5px"]{font-size:17px !important}
.bd [style*="font-size:16.5px"]{font-size:16px !important}
.bd [style*="font-size:15.5px"]{font-size:15px !important}
.bd [style*="padding:96px 72px"]{padding:70px 40px !important}
.bd [style*="padding:22px 56px"]{padding:20px 34px !important}
.bd [style*="padding:38px 48px"]{padding:30px 32px !important}
.bd [style*="padding:40px 36px"]{padding:32px 28px !important}
.bd [style*="padding:19px 34px"]{padding:17px 28px !important}
.bd [style*="padding:15px 30px"]{padding:14px 26px !important}
.bd [style*="padding:96px 80px"]{padding:70px 42px !important} .bd [style*="padding:0 80px 96px"]{padding:0 42px 70px !important} .bd [style*="padding:110px 80px"]{padding:78px 42px !important}
.bd [style*="padding:100px 80px"]{padding:72px 42px !important}
.bd [style*="padding:0 56px 80px"]{padding:0 36px 56px !important}
.bd [style*="padding:96px 80px 48px"]{padding:70px 42px 36px !important}
.bd [style*="padding:64px 56px 44px"]{padding:48px 36px 34px !important}
.bd [style*="padding:34px 56px 30px"]{padding:28px 34px 24px !important}
.bd [style*="padding:40px 0 40px 36px"]{padding:32px 0 32px 28px !important}
.bd [style*="padding:40px 36px 40px 0"]{padding:32px 28px 32px 0 !important}
.bd [style*="padding:40px 0 40px 40px"]{padding:32px 0 32px 32px !important}
.bd [style*="padding:40px 40px 40px 0"]{padding:32px 32px 32px 0 !important}
.bd [style*="padding:44px 0 44px 44px"]{padding:34px 0 34px 34px !important}
.bd [style*="padding:44px 44px 44px 0"]{padding:34px 34px 34px 0 !important}
.bd [style*="grid-template-columns:minmax(0,1fr) 420px"]{grid-template-columns:minmax(0,1fr) !important}
.bd [style*="grid-template-columns:minmax(0,1fr) 320px"]{grid-template-columns:minmax(0,1fr) !important}
.bd [style*="grid-template-columns:repeat(4,minmax(0,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.bd [style*="grid-template-columns:minmax(0,380px) minmax(0,1fr)"]{grid-template-columns:minmax(0,1fr) !important}
.bd [style*="grid-template-columns:minmax(0,320px) minmax(0,1fr)"]{grid-template-columns:minmax(0,1fr) !important}
.bd [style*="grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@container (max-width:1180px){
.bd [style*="padding:80px 80px"]{padding:58px 42px !important}
.bd [style*="padding:64px 80px"]{padding:48px 42px !important}
.bd [style*="padding:110px 80px 60px"]{padding:78px 42px 44px !important}
.bd [style*="grid-template-columns:repeat(3,minmax(0,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.bd [style*="grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)"]{grid-template-columns:minmax(0,1fr) !important}
.bd .kw-hero-copy{width:56%}
.bd .kw-hero-media{inset:0 0 0 28%}
.bd .kw-cta{margin:-70px -42px 0;padding:96px 42px 90px}
.bd .kw-hero-scrim{background:linear-gradient(to right,#121212 0%,rgba(18,18,18,.97) 42%,
  rgba(18,18,18,.6) 58%,rgba(18,18,18,0) 74%)}
}
@container (max-width:760px){
.bd .kw-products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:34px 18px !important}
.bd [style*="padding:80px 80px"]{padding:40px 22px !important}
.bd [style*="padding:64px 80px"]{padding:34px 22px !important}
.bd [style*="padding:110px 80px 60px"]{padding:52px 22px 36px !important}
.bd .kw-hero{height:auto !important;display:flex;flex-direction:column}
.bd .kw-hero-media{position:relative;inset:auto;width:100%;height:300px;
  -webkit-mask-image:linear-gradient(to bottom,#000 52%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 52%,transparent 100%)}
.bd .kw-hero-copy{width:100%;height:auto;padding:30px 20px 46px !important}
.bd .kw-hero-scrim{display:none}
.bd .kw-cta{margin:-46px -22px 0;padding:64px 22px 60px}
}
@container (max-width:960px){
.bd .kw-hdr>nav:not(.kw-mobile-nav){display:none !important}
.bd .kw-hdr-r{display:flex !important}
.bd .kw-hdr-cta{display:none !important}
.bd .kw-hdr{flex-wrap:wrap !important;position:relative;z-index:5}
}
@container (max-width:760px){
.bd [style*="gap:88px"]{gap:28px !important}
.bd [style*="gap:80px"]{gap:26px !important}
.bd [style*="gap:72px"]{gap:26px !important}
.bd [style*="gap:70px"]{gap:26px !important}
.bd [style*="gap:60px"]{gap:24px !important}
.bd [style*="gap:56px"]{gap:24px !important}
.bd [style*="gap:40px"]{gap:20px !important}
.bd [style*="gap:36px"]{gap:18px !important}
.bd [style*="gap:34px"]{gap:18px !important}
.bd [style*="gap:32px"]{gap:18px !important}
.bd [style*="gap:30px"]{gap:16px !important}
.bd [style*="padding:44px"]{padding:26px !important}
.bd [style*="padding:40px"]{padding:24px !important}
.bd [style*="height:780px"]{height:auto !important}
.bd [style*="height:660px"]{height:440px !important}
.bd [style*="height:600px"]{height:290px !important}
.bd [style*="height:560px"]{height:280px !important}
.bd [style*="height:520px"]{height:270px !important}
.bd [style*="height:480px"]{height:260px !important}
.bd [style*="height:460px"]{height:250px !important}
.bd [style*="height:420px"]{height:240px !important}
.bd [style*="height:400px"]{height:230px !important}
.bd [style*="height:300px"]{height:210px !important}
.bd [style*="font-size:64px"]{font-size:33px !important}
.bd [style*="font-size:60px"]{font-size:31px !important}
.bd [style*="font-size:48px"]{font-size:27px !important}
.bd [style*="font-size:46px"]{font-size:26px !important}
.bd [style*="font-size:44px"]{font-size:25px !important}
.bd [style*="font-size:40px"]{font-size:24px !important}
.bd [style*="font-size:38px"]{font-size:23px !important}
.bd [style*="font-size:30px"]{font-size:21px !important}
.bd [style*="font-size:28px"]{font-size:20px !important}
.bd [style*="font-size:26px"]{font-size:19px !important}
.bd [style*="font-size:24px"]{font-size:18px !important}
.bd [style*="font-size:22px"]{font-size:18px !important}
.bd [style*="font-size:20px"]{font-size:17px !important}
.bd [style*="font-size:19px"]{font-size:16px !important}
.bd [style*="padding:0 72px"]{padding:0 22px !important}
.bd [style*="font-size:17.5px"]{font-size:15.5px !important}
.bd [style*="font-size:16.5px"]{font-size:15px !important}
.bd [style*="font-size:15.5px"]{font-size:14.5px !important}
.bd [style*="padding:96px 72px"]{padding:46px 22px !important}
.bd [style*="padding:22px 56px"]{padding:16px 20px !important}
.bd [style*="padding:38px 48px"]{padding:24px 20px !important}
.bd [style*="padding:40px 36px"]{padding:26px 20px !important}
.bd [style*="padding:19px 34px"]{padding:15px 22px !important}
.bd [style*="padding:15px 30px"]{padding:13px 20px !important}
.bd [style*="padding:96px 80px"]{padding:52px 22px !important} .bd [style*="padding:0 80px 96px"]{padding:0 22px 52px !important} .bd .kw-rvcol{padding:6px 0 6px 22px !important} .bd [style*="padding:110px 80px"]{padding:52px 22px !important}
.bd [style*="padding:100px 80px"]{padding:48px 22px !important}
.bd [style*="padding:0 56px 80px"]{padding:0 22px 40px !important}
.bd [style*="padding:96px 80px 48px"]{padding:46px 22px 30px !important}
.bd [style*="padding:64px 56px 44px"]{padding:38px 22px 28px !important}
.bd [style*="padding:34px 56px 30px"]{padding:20px 20px 18px !important}
.bd [style*="padding:40px 0 40px 36px"]{padding:26px 20px !important}
.bd [style*="padding:40px 36px 40px 0"]{padding:26px 20px !important}
.bd [style*="padding:40px 0 40px 40px"]{padding:26px 20px !important}
.bd [style*="padding:40px 40px 40px 0"]{padding:26px 20px !important}
.bd [style*="padding:44px 0 44px 44px"]{padding:26px 20px !important}
.bd [style*="padding:44px 44px 44px 0"]{padding:26px 20px !important}
.bd [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important}
.bd [style*="minmax(0,1fr) 1px minmax(0,1fr)"]>*:nth-child(2){height:1px !important}
.bd [style*="white-space:nowrap"]{white-space:normal !important}
.bd [style*="display:flex"]:not([style*="flex-direction:column"]){flex-wrap:wrap !important}
.bd nav+span{flex:1 0 100%;text-align:center;margin-top:10px}
.bd [style*="width:460px"]{width:auto !important;right:20px !important}
.bd [style*="left:80px"]{left:20px !important}
.bd [style*="left:48px"]{left:20px !important}
.bd [style*="right:48px"]{right:20px !important}
.kw-slot-cap{font-size:11.5px}
}

/* ============ wide screens ==================================================
   The board was drawn at 1440px, where each band carries 80px of side padding
   around 1280px of content. Left unbounded the bands simply stretch, the line
   length runs past what anyone reads comfortably and the 80px gutter reads as
   no gutter at all. Past 1560px the grounds stay full-bleed and the content
   stops: the gutter grows instead of the measure. At exactly 1560px the sum is
   80px, so it picks up from the authored design without a jump. ============= */
.bd{--kw-gut:80px}
/* a container query cannot style its own container, and .bd IS the container,
   so the gutter is set from the viewport: after the device frames went away
   the board is always exactly the window width. */
@media (min-width:1560px){
  .bd{--kw-gut:calc((100vw - 1400px) / 2)}
  .bd > [style*="px 80px"],
  .bd > .pg > [style*="px 80px"],
  .bd > .kw-hdr{
    padding-left:var(--kw-gut) !important;padding-right:var(--kw-gut) !important}
  /* the CTA bleeds past its band, so its negative margin tracks the gutter */
  .bd .kw-cta{margin-inline:calc(0px - var(--kw-gut)) !important;
    padding-left:var(--kw-gut) !important;padding-right:var(--kw-gut) !important}
  /* hero and the pull-quote are absolutely composed, so they align by hand */
  .bd .kw-hero-copy{padding-left:var(--kw-gut) !important;padding-right:56px !important;
    width:calc(var(--kw-gut) + 660px)}
  .bd .kw-hero-copy.kw-hero-wide{width:calc(var(--kw-gut) + 760px)}
  .bd [style*="left:80px"]{left:var(--kw-gut) !important}
  /* the split certificate band has no padding of its own; its halves do */
  .bd #certificate > *:first-child{padding-left:var(--kw-gut)}
  .bd #certificate > *:last-child{padding-right:var(--kw-gut)}
}
.bd #kw-rv-filter button[aria-pressed="true"]{background:#C5A568 !important;color:#121212 !important;border-color:#C5A568 !important} .bd #kw-rv-filter button:hover{border-color:#C5A568 !important}
.bd .kw-gal{display:flex;flex-direction:column;gap:12px}
.bd .kw-gal-m{position:relative;aspect-ratio:3/2;background:#F2F1EE;overflow:hidden;touch-action:pan-y}
.bd .kw-gal-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}
.bd .kw-gal-nav,.bd .kw-gal-zoom{position:absolute !important;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(18,18,18,.62);color:#EFE2D0;font-size:28px;line-height:1;cursor:pointer;transition:background .2s}
.bd .kw-gal-nav:hover,.bd .kw-gal-zoom:hover{background:rgba(18,18,18,.85)}
.bd .kw-gal-prev{left:14px;top:50%;transform:translateY(-50%)} .bd .kw-gal-next{right:14px;top:50%;transform:translateY(-50%)}
.bd .kw-gal-zoom{right:14px;top:14px;width:38px;height:38px}
.bd .kw-gal-n{position:absolute;left:14px;bottom:14px;padding:6px 11px;background:rgba(18,18,18,.62);color:#EFE2D0;font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.14em}
.bd .kw-gal-n b{font-weight:500}
.bd .kw-gal-t{display:grid;grid-auto-flow:column;grid-auto-columns:92px;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:#2E2A24 transparent}
.bd .kw-gal-th{scroll-snap-align:start;aspect-ratio:3/2;padding:0;border:1px solid #2E2A24;background:#F2F1EE;cursor:pointer;opacity:.62;transition:opacity .2s,border-color .2s}
.bd .kw-gal-th img{width:100%;height:100%;object-fit:cover;display:block}
.bd .kw-gal-th:hover{opacity:1} .bd .kw-gal-th[aria-current="true"]{opacity:1;border-color:#C5A568;outline:1px solid #C5A568}
@container (max-width:760px){ .bd .kw-gal-t{grid-auto-columns:72px} .bd .kw-gal-nav{width:38px;height:38px;font-size:24px} }
.kw-lb{position:fixed;inset:0;z-index:9999;background:rgba(8,8,8,.96);display:none;align-items:center;justify-content:center}
.kw-lb.on{display:flex}
.kw-lb img{max-width:94vw;max-height:88vh;object-fit:contain}
.kw-lb button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid #2E2A24;border-radius:50%;background:rgba(18,18,18,.7);color:#EFE2D0;font-size:30px;line-height:1;cursor:pointer}
.kw-lb .kw-lb-x{top:18px;right:18px;font-size:26px} .kw-lb .kw-lb-p{left:18px;top:50%;transform:translateY(-50%)} .kw-lb .kw-lb-n{right:18px;top:50%;transform:translateY(-50%)}
.kw-lb-c{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#A5A5A5;font-family:Montserrat,sans-serif;font-size:11px;letter-spacing:.16em}

.bd .kw-pdp{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:64px;align-items:start}
@container (max-width:1100px){ .bd .kw-pdp{gap:44px} }
@container (max-width:900px){ .bd .kw-pdp{grid-template-columns:minmax(0,1fr) !important} }

/* ---- review cards: outline treatment, chosen 2026-09-26 ---- */
#reviews-wall .rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
#reviews-wall .rv{display:flex;flex-direction:column;gap:16px;padding:30px 30px 28px}
#reviews-wall .rv[hidden]{display:none !important}
#reviews-wall .rv-av{display:none}
#reviews-wall .rv-head{display:block}
#reviews-wall .rv-who{display:flex;flex-direction:column;gap:6px;min-width:0}
#reviews-wall .rv-name{font-family:Montserrat,sans-serif;font-weight:500;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
#reviews-wall .rv-meta{font-family:Montserrat,sans-serif;font-weight:400;font-size:12.5px;line-height:1.5}
#reviews-wall .rv-stars{display:flex;gap:3px} #reviews-wall .rv-stars svg{width:14px;height:14px}
#reviews-wall .rv-seg{display:inline} #reviews-wall .rv-seg+.rv-seg::before{content:"\00B7";margin:0 8px} #reviews-wall .rv-seg:last-child{white-space:nowrap}
#reviews-wall .rv-q{margin:0;font-family:Montserrat,sans-serif;font-weight:400;font-size:15px;line-height:1.75;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}
#reviews-wall .rv-q::before{content:"\201C"} #reviews-wall .rv-q::after{content:"\201D"}
#reviews-wall .rv.rv-open .rv-q{-webkit-line-clamp:unset;display:block}
#reviews-wall .rv-more{align-self:flex-start;margin-top:auto;background:none;border:0;padding:0 0 5px;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
/* 3: outline: no fill, a fine gold hairline, ivory text */
.rv-c .rv{background:transparent;border:1px solid #4A4238}
.rv-c .rv-name{color:#C5A568} .rv-c .rv-meta{color:#A5A5A5} .rv-c .rv-stars svg{fill:#C5A568}
.rv-c .rv-q{color:#EFE2D0} .rv-c .rv-more{color:#EFE2D0;border-bottom:1px solid #6E6257}
@container (max-width:1180px){ #reviews-wall .rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@container (max-width:760px){ #reviews-wall .rv-grid{grid-template-columns:minmax(0,1fr)} #reviews-wall .rv{padding:24px 22px} }

/* ================= forms: the Showcase card (chosen 2026-09-26): graphite over the movement photograph, glass fields ======
   One card on every page whatever the band behind it; labels always visible; focus answered by the accent. */
.bd[class*="fv-"] .kw-form{max-width:none;padding:44px 44px 40px;gap:22px;border:1px solid var(--c-line);background:var(--c-card)}
.bd[class*="fv-"] .kw-form::before{content:attr(data-title);font-family:Cinzel,serif;font-weight:400;font-size:24px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-title);padding-bottom:20px;border-bottom:1px solid var(--c-rule);margin-bottom:6px}
.bd[class*="fv-"] .kw-form .kw-row{gap:22px 20px}
.bd[class*="fv-"] .kw-form .kw-f{gap:9px}
.bd[class*="fv-"] .kw-form input,.bd[class*="fv-"] .kw-form select,.bd[class*="fv-"] .kw-form textarea{font-size:16px;border:1px solid var(--c-fline);background-color:var(--c-field);padding:15px 16px;box-shadow:none;transition:border-color .35s cubic-bezier(.2,.8,.2,1),background-color .35s cubic-bezier(.2,.8,.2,1)}
.bd[class*="fv-"] .kw-form select{background-position:calc(100% - 22px) 55%,calc(100% - 17px) 55%;padding-right:40px}
.bd[class*="fv-"] .kw-form input:hover,.bd[class*="fv-"] .kw-form select:hover,.bd[class*="fv-"] .kw-form textarea:hover{border-color:var(--c-fline-hi)}
.bd[class*="fv-"] .kw-form input:focus,.bd[class*="fv-"] .kw-form select:focus,.bd[class*="fv-"] .kw-form textarea:focus{border-color:var(--kw-gold);background-color:var(--c-field-on);box-shadow:none}
.bd[class*="fv-"] .kw-form input::placeholder,.bd[class*="fv-"] .kw-form textarea::placeholder{color:var(--kw-hint);opacity:.8}
.bd[class*="fv-"] .kw-form details{border-top:1px solid var(--c-rule);padding-top:2px}
.bd[class*="fv-"] .kw-form details>summary{color:var(--c-accent)}
.bd[class*="fv-"] .kw-form details>div{gap:22px}
.bd[class*="fv-"] .kw-form .kw-submit{flex-direction:column;align-items:stretch;gap:16px;padding-top:4px}
.bd[class*="fv-"] .kw-form .kw-note{max-width:none}
.bd[class*="fv-"] .kw-form button[type=submit]{width:100%;padding:19px 38px;font-size:11px;background:var(--c-btn);color:var(--c-btn-ink);border:1px solid var(--c-btn-line);transition:background-color .35s cubic-bezier(.2,.8,.2,1),color .35s cubic-bezier(.2,.8,.2,1)}
.bd[class*="fv-"] .kw-form button[type=submit]::after{content:"\2192";margin-left:14px;display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.bd[class*="fv-"] .kw-form button[type=submit]:hover{background:var(--c-btn-hi);color:var(--c-btn-ink-hi)}
.bd[class*="fv-"] .kw-form button[type=submit]:hover::after{transform:translateX(4px)}
.bd[class*="fv-"] .kw-form button[type=submit]:focus-visible{outline:2px solid var(--kw-gold);outline-offset:3px}
/* all three: a graphite card carrying the movement photograph, warm ivory type, gold on focus and the action */
.bd[class*="fv-"] .kw-form{position:relative;isolation:isolate;overflow:hidden;
  --c-card:#141413;--c-line:rgba(197,165,104,.30);--c-rule:rgba(197,165,104,.28);--c-title:#EFE2D0;--c-field:#1B1A19;--c-field-on:#201F1D;--c-fline:#2F2D2A;--c-fline-hi:#4A463F;
  --kw-ink:#EFE2D0;--kw-lab:#A8A29A;--kw-hint:#8C867D;--kw-gold:#C5A568;--kw-optbg:#1B1A19;--c-accent:#C5A568;
  --c-btn:#C5A568;--c-btn-ink:#121212;--c-btn-line:#C5A568;--c-btn-hi:#D4B67C;--c-btn-ink-hi:#121212}
/* 2 . Showcase: the movement fills the card behind a dark gradient, fields are glass over it */
.bd.fv-2 .kw-form{border-color:rgba(197,165,104,.42);background:linear-gradient(100deg,rgba(12,12,11,.93) 0%,rgba(12,12,11,.84) 45%,rgba(12,12,11,.62) 100%),linear-gradient(0deg,rgba(12,12,11,.7),rgba(12,12,11,0) 45%),url("kw-listings-concept-movement.jpg") 78% 30% / cover no-repeat,#0F0F0E;
  --c-field:rgba(12,12,11,.58);--c-field-on:rgba(12,12,11,.78);--c-fline:rgba(239,226,208,.16);--c-fline-hi:rgba(239,226,208,.3);--kw-lab:#B8B1A7}
.bd.fv-2 .kw-form input,.bd.fv-2 .kw-form select,.bd.fv-2 .kw-form textarea{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  background:linear-gradient(0deg,#0E0E0D 0%,rgba(14,14,13,0) 55%) 72% 0 / 820px 462px no-repeat,url("kw-listings-concept-movement.jpg") 72% 0 / 820px auto no-repeat,#0E0E0D}
@container (max-width:1180px){
}
@container (max-width:760px){
  .bd[class*="fv-"] .kw-form{padding:28px 20px 26px}
}
.bd[class*="fv-"] .kw-form input::placeholder,.bd[class*="fv-"] .kw-form textarea::placeholder{color:var(--kw-hint);opacity:.75}

/* ================= motion under review: html.mo-1 Quiet / html.mo-2 Signature (no class = current) =================
   One curve (cubic-bezier(.2,.8,.2,1)), three durations (350 / 600 / 900ms). Nothing moves on forms or body text. */
@media (prefers-reduced-motion:no-preference){
/* sections arrive whole: no card-by-card stagger, a shorter rise */
.mo-1 .kw-rv,.mo-2 .kw-rv{transition-duration:.6s !important;transition-delay:0ms !important}
.mo-1 .kw-rv:not(.kw-in),.mo-2 .kw-rv:not(.kw-in){transform:translateY(12px)}
/* primary gold buttons: a lighter gold sweeps in from the left */
.mo-1 .bd a[style*="background:#C5A568"],.mo-2 .bd a[style*="background:#C5A568"]{position:relative;isolation:isolate;overflow:hidden}
.mo-1 .bd a[style*="background:#C5A568"]::before,.mo-2 .bd a[style*="background:#C5A568"]::before{content:"";position:absolute;inset:0;z-index:-1;background:#DCC38F;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mo-1 .bd a[style*="background:#C5A568"]:hover::before,.mo-2 .bd a[style*="background:#C5A568"]:hover::before{transform:scaleX(1)}
/* outlined gold buttons: fill sweeps in, type turns dark */
.mo-1 .bd a[style*="border:1px solid #C5A568"],.mo-2 .bd a[style*="border:1px solid #C5A568"]{position:relative;isolation:isolate;overflow:hidden;transition:color .6s cubic-bezier(.2,.8,.2,1)}
.mo-1 .bd a[style*="border:1px solid #C5A568"]::before,.mo-2 .bd a[style*="border:1px solid #C5A568"]::before{content:"";position:absolute;inset:0;z-index:-1;background:#C5A568;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mo-1 .bd a[style*="border:1px solid #C5A568"]:hover,.mo-2 .bd a[style*="border:1px solid #C5A568"]:hover{color:#121212 !important}
.mo-1 .bd a[style*="border:1px solid #C5A568"]:hover::before,.mo-2 .bd a[style*="border:1px solid #C5A568"]:hover::before{transform:scaleX(1)}
/* text links: the underline draws across on hover */
.mo-1 .bd a[style*="border-bottom:1px solid"],.mo-2 .bd a[style*="border-bottom:1px solid"]{position:relative}
.mo-1 .bd a[style*="border-bottom:1px solid"]::after,.mo-2 .bd a[style*="border-bottom:1px solid"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mo-1 .bd a[style*="border-bottom:1px solid"]:hover::after,.mo-2 .bd a[style*="border-bottom:1px solid"]:hover::after{transform:scaleX(1)}
/* watch cards: the rule warms to gold and the photograph eases in a touch; nothing lifts */
.mo-1 .bd .kw-card,.mo-2 .bd .kw-card{transition:border-color .35s cubic-bezier(.2,.8,.2,1)}
.mo-1 .bd .kw-card:hover,.mo-2 .bd .kw-card:hover{border-top-color:#8C6A3F !important}
.mo-1 .bd .kw-card .kw-shot img,.mo-2 .bd .kw-card .kw-shot img{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.mo-1 .bd .kw-card:hover .kw-shot img,.mo-2 .bd .kw-card:hover .kw-shot img{transform:scale(1.035)}
/* pages crossfade instead of cutting */
.mo-1 .bd .pg.kw-pg-in,.mo-2 .bd .pg.kw-pg-in{animation:kwPgIn .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes kwPgIn{from{opacity:0}to{opacity:1}}
/* gallery photographs crossfade */
.mo-1 .kw-gal-m img,.mo-2 .kw-gal-m img{transition:opacity .35s cubic-bezier(.2,.8,.2,1),transform .35s cubic-bezier(.2,.8,.2,1)}
/* Signature: the one opening sequence, first visit of a session */
.kw-open .kw-hdr a[data-go="home"]>div>div:first-child{animation:kwTrack .9s cubic-bezier(.2,.8,.2,1) both}
.kw-open .kw-hdr a[data-go="home"]>div>div:last-child{animation:kwFadeIn .6s cubic-bezier(.2,.8,.2,1) .35s both}
.kw-open .kw-hdr nav,.kw-open .kw-hdr>a[style*="background:#C5A568"]{animation:kwFadeIn .6s cubic-bezier(.2,.8,.2,1) .45s both}
.kw-open #counsel h1{animation:kwMask .9s cubic-bezier(.2,.8,.2,1) .3s both !important}
.kw-open #kw-hero-img{animation:kwSettle 2.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes kwTrack{from{opacity:0;letter-spacing:.9em}to{opacity:1;letter-spacing:.34em}}
@keyframes kwFadeIn{from{opacity:0}to{opacity:1}}
@keyframes kwMask{from{opacity:0;transform:translateY(18px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes kwSettle{from{transform:scale(1.06)}to{transform:none}}
}

@media (prefers-reduced-motion:no-preference){
/* Signature, on scroll: photographs unveil upward inside their frames, headings rise out of a mask */
.mo-2 .kw-rv .kw-shot,.mo-2 .kw-rv.kw-shot{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s cubic-bezier(.2,.8,.2,1)}
.mo-2 .kw-rv.kw-in .kw-shot,.mo-2 .kw-rv.kw-in.kw-shot{clip-path:inset(0 0 0 0)}
.mo-2 .kw-rv h2,.mo-2 h2.kw-rv{clip-path:inset(0 0 100% 0);transform:translateY(26px);transition:clip-path 1s cubic-bezier(.2,.8,.2,1) .12s,transform 1s cubic-bezier(.2,.8,.2,1) .12s}
.mo-2 .kw-rv.kw-in h2,.mo-2 h2.kw-rv.kw-in{clip-path:inset(0 0 -10% 0);transform:none}
/* Signature, first visit: a short curtain carrying the wordmark, then it lifts */
.kw-curtain{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0A0A0A;animation:kwLift .8s cubic-bezier(.2,.8,.2,1) 1.15s forwards}
.kw-curtain>div{display:flex;flex-direction:column;align-items:center;gap:16px}
.kw-c-word{font-family:Cinzel,serif;font-weight:500;font-size:38px;color:#EFE2D0;letter-spacing:.42em;padding-left:.42em;animation:kwTrackC 1s cubic-bezier(.2,.8,.2,1) both}
.kw-c-rule{width:72px;height:1px;background:#C5A568;transform:scaleX(0);animation:kwRuleC .7s cubic-bezier(.2,.8,.2,1) .35s forwards}
.kw-c-sub{font-family:Montserrat,sans-serif;font-weight:400;font-size:10.5px;letter-spacing:.5em;padding-left:.5em;color:#C5A568;animation:kwFadeIn .7s cubic-bezier(.2,.8,.2,1) .5s both}
@keyframes kwLift{to{transform:translateY(-100%)}}
@keyframes kwTrackC{from{opacity:0;letter-spacing:1.1em;padding-left:1.1em}to{opacity:1;letter-spacing:.42em;padding-left:.42em}}
@keyframes kwRuleC{to{transform:scaleX(1)}}
}
@media (max-width:560px){ .kw-c-word{font-size:28px} }

/* bronze text holds AA at every size: one shade deeper on cream, gold on black */
.bd [style*="color:#8C6A3F"],.bd [style*="color:#7A5A30"],.bd [style*="color: rgb(122, 90, 48)"],.bd [style*="color: rgb(140, 106, 63)"]{color:#72532A !important}
.bd .kw-dark [style*="color:#8C6A3F"],.bd .kw-dark [style*="color: rgb(140, 106, 63)"]{color:#C5A568 !important}

/* ---- Journal: an article reads like a printed page on the cream ground ---- */
.bd .kw-article{max-width:680px;margin:64px auto 0;font-family:Montserrat,sans-serif;color:#2A2520}
.bd .kw-article p{margin:0 0 22px;font-size:17px;line-height:1.85;text-wrap:pretty}
.bd .kw-article h2{margin:44px 0 16px;font-family:Cinzel,serif;font-weight:400;font-size:26px;line-height:1.2;letter-spacing:.03em;text-transform:uppercase;color:#1A1714}
.bd .kw-article ul{margin:0 0 24px;padding:0;list-style:none;border-top:1px solid #D9C9B1}
.bd .kw-article li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid #D9C9B1;font-size:16px;line-height:1.7}
.bd .kw-article li::before{content:"";position:absolute;left:4px;top:25px;width:10px;height:1px;background:#8C6A3F}
.bd .kw-article blockquote{margin:40px 0;padding:6px 0 6px 30px;border-left:2px solid #8C6A3F;font-family:Cinzel,serif;font-size:26px;line-height:1.35;letter-spacing:.02em;color:#1A1714}
.bd #kw-jr-filter button[aria-pressed="true"]{background:#C5A568 !important;color:#121212 !important;border-color:#C5A568 !important}
.bd #kw-jr-filter button:hover{border-color:#C5A568 !important}
.bd .kw-jrn[hidden]{display:none !important}
@container (max-width:900px){ .bd .kw-jrn[style*="grid-template-columns:minmax(0,1.25fr)"]{grid-template-columns:minmax(0,1fr) !important;gap:26px !important} .bd .kw-jrn-grid{grid-template-columns:minmax(0,1fr) !important} }
@container (max-width:760px){ .bd [style*="padding:110px 80px 150px"]{padding-bottom:96px !important} .bd .kw-article{margin-top:40px} .bd .kw-article p{font-size:16px} .bd .kw-article blockquote{font-size:21px} .bd [style*="margin:-100px auto 0"]{margin-top:-60px !important} }
/* the appointment form's date field follows the dark card */
.bd.fv-2 .kw-form input[type=date]{color-scheme:dark;min-height:52px}

 }

/* ---- product page: the full listing text folds away until asked for ---- */
.bd .kw-fulldesc{margin-top:56px;border-top:1px solid #2E2A24;border-bottom:1px solid #2E2A24}
.bd .kw-fulldesc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-family:Montserrat,sans-serif;font-weight:500;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:#EFE2D0}
.bd .kw-fulldesc>summary::-webkit-details-marker{display:none}
.bd .kw-fulldesc .kw-plus{position:relative;width:14px;height:14px;flex:none;color:#C5A568}
.bd .kw-fulldesc .kw-plus::before,.bd .kw-fulldesc .kw-plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor}
.bd .kw-fulldesc .kw-plus::after{transform:rotate(90deg)}
.bd .kw-fulldesc[open] .kw-plus::after{transform:rotate(0)}
.bd .kw-fulldesc-in{max-width:760px;padding:6px 0 34px;font-family:Montserrat,sans-serif}
.bd .kw-fulldesc-in p{margin:0 0 8px;font-size:14.5px;line-height:1.75;color:#C3C3C3}
.bd .kw-fulldesc-in h4{margin:26px 0 10px;font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#C5A568}
@container (max-width:760px){ .bd .kw-pdp h1{font-size:24px !important;line-height:1.2 !important} }

@container (max-width:1000px){ .bd .kw-iq{grid-template-columns:minmax(0,1fr) !important;gap:40px !important} .bd .kw-iq-steps{grid-template-columns:repeat(2,minmax(0,1fr)) !important} }
@container (max-width:560px){ .bd .kw-iq-steps{grid-template-columns:minmax(0,1fr) !important;gap:24px !important} }

.bd .kw-payrow{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-top:1px solid #2E2A24;border-bottom:1px solid #2E2A24;font-family:Montserrat,sans-serif;font-weight:500;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#EFE2D0;white-space:nowrap}
@container (max-width:1180px){ .bd .kw-payrow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));row-gap:16px} }
@container (max-width:760px){ .bd .kw-payrow{grid-template-columns:repeat(2,minmax(0,1fr))} }
.bd .kw-iq-head,.bd .kw-iq-head>*{margin-left:0 !important;align-self:stretch;text-align:left !important}

/* reveal delays as classes (inline styles stay untouched so size rules keep matching) */
.kw-d0{--d:0ms}.kw-d1{--d:90ms}.kw-d2{--d:180ms}.kw-d3{--d:270ms}.kw-d4{--d:360ms}.kw-d5{--d:450ms}
/* bands that had no small-screen padding: footer and list signup, the 104px sections, the review stats column */
@container (max-width:1180px){
  .bd [style*="padding:70px 80px 48px"]{padding:64px 42px 40px !important}
  .bd [style*="padding:104px 80px"]{padding:84px 42px !important}
  .bd .kw-rvcol{padding:6px 0 6px 28px !important}
}
@container (max-width:760px){
  .bd [style*="padding:70px 80px 48px"]{padding:52px 22px 32px !important}
  .bd [style*="padding:104px 80px"]{padding:60px 22px !important}
  .bd .kw-rvcol{padding:6px 0 6px 22px !important}
  .bd .kw-news{gap:28px !important}
}

.bd .kw-eyebrow,.bd .kw-veteran{font-family:Montserrat,sans-serif;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#C5A568}
.bd .kw-veteran{display:block;line-height:1.7}
.bd .kw-policy-page,.bd .kw-workshop{background:#121212;color:#EFE2D0;padding:80px}
.bd .kw-policy-page h1,.bd .kw-workshop h2{font-family:Cinzel,serif;font-weight:400;line-height:1.16;text-transform:uppercase;font-size:44px;margin:22px 0 30px;max-width:28ch}
.bd .kw-policy-page h2,.bd .kw-product-trust h2,.bd .kw-inquiry-payment h2,.bd .kw-fulldesc>h2{font-family:Cinzel,serif;font-size:26px;font-weight:400;line-height:1.3;margin:28px 0 18px;color:#EFE2D0}
.bd .kw-policy-copy,.bd .kw-policy-list,.bd .kw-form-status,.bd .kw-file-list{font-family:Montserrat,sans-serif;font-size:14.5px;font-weight:400;line-height:1.8;color:inherit;max-width:78ch}
.bd .kw-policy-copy{margin:14px 0;color:inherit}
.bd .kw-policy-list{padding-left:20px}.bd .kw-policy-list li{padding:0 0 12px 6px}
.bd .kw-policy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;margin-top:38px;align-items:start}
.bd .kw-policy-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:24px;font-family:Montserrat,sans-serif;font-size:12px;line-height:1.7;letter-spacing:.04em;color:#C5A568}
.bd .kw-policy-links a,.bd .kw-policy-copy a{border-bottom:1px solid currentColor;cursor:pointer}
.bd .kw-product-trust{margin-top:44px;border-top:1px solid #6E6257;padding-top:4px}
.bd .kw-product-trust ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none;margin:26px 0;padding:0}
.bd .kw-product-trust li{font-family:Montserrat,sans-serif;font-size:13px;line-height:1.7;border-left:1px solid #6E6257;padding-left:18px;color:#EFE2D0}
.bd .kw-product-trust li strong{font-weight:500}.bd .kw-product-trust li span{display:block;font-size:12px;color:#C3C3C3;margin-top:5px}
.bd .kw-product-trust .kw-policy-copy{color:#C3C3C3;font-size:13px}
.bd .kw-clause-title{margin:0;font-family:Cinzel,serif;font-size:22px;line-height:1.35;font-weight:400;color:#1A1714}
.bd #pg-terms .kw-policy-links,.bd #pg-faq .kw-policy-links,.bd #aftercare .kw-policy-links{color:#72532A}
.bd #pg-faq dd .kw-policy-copy{color:#3A342E}
.bd .kw-inquiry-payment,.bd .kw-inquiry-policy{padding:38px 80px;background:#121212;color:#C3C3C3;border-top:1px solid #2E2A24}
.bd .kw-inquiry-payment h2{margin-top:0}.bd .kw-form-status:empty{display:none}
.bd .kw-form-status{margin:0;overflow-wrap:anywhere;color:var(--kw-ink)}
.bd .kw-form-status[data-error=true]{color:#F6B8A9}
.bd .kw-form input[type=file]{padding:14px;font-size:13px;line-height:1.6}
.bd .kw-file-list{padding-left:18px;margin:4px 0;color:var(--kw-ink);font-size:12px;overflow-wrap:anywhere}
.bd .kw-file-list img,.bd .kw-file-list video{display:block;max-height:140px;max-width:100%;margin:8px 0 14px}
.bd .kw-form .kw-hint,.bd .kw-form .kw-note{color:#B8AEA1}
.bd .kw-form button[disabled]{opacity:.6;cursor:wait}
.bd .kw-workshop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:28px}
.bd .kw-workshop-grid figure{margin:0}.bd .kw-workshop-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.bd .kw-fresh-note{font-family:Montserrat,sans-serif;font-size:12px;line-height:1.8;color:#5C544A;max-width:72ch;margin:18px 0}
.bd .kw-fulldesc>h2{padding:12px 0}.bd .kw-fulldesc-in{max-width:850px}
.bd .kw-watch-short{font-family:Montserrat,sans-serif;font-size:13px;line-height:1.7;color:#C3C3C3;margin:0}
.bd .kw-current-price{font-family:Montserrat,sans-serif;font-size:28px;line-height:1.3;color:#EFE2D0}
.bd .kw-current-title{font-family:Cinzel,serif;font-size:32px;line-height:1.2;font-weight:400;color:#EFE2D0;text-transform:uppercase;margin:0}
.bd .kw-current-details{display:flex;flex-direction:column;gap:22px;min-width:0}
.bd .kw-current-actions{display:flex;flex-wrap:wrap;gap:12px}
.bd .kw-current-actions a{font-family:Montserrat,sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:18px 24px;background:#C5A568;color:#121212;cursor:pointer;line-height:1.4}
.bd .kw-current-actions .kw-secondary{background:none;border:1px solid #6E6257;color:#EFE2D0}
.bd .kw-current-specs{font-family:Montserrat,sans-serif;font-size:13px;line-height:1.8;color:#C3C3C3;border-top:1px solid #2E2A24;padding-top:18px}
.bd .kw-fulldesc-in h2,.bd .kw-fulldesc-in h3{font-family:Montserrat,sans-serif;color:#C5A568;font-size:15px;line-height:1.6;font-weight:500}
@container(max-width:1100px){.bd .kw-policy-page,.bd .kw-workshop{padding:64px 42px}.bd .kw-policy-grid{gap:36px}.bd .kw-inquiry-payment,.bd .kw-inquiry-policy{padding:32px 42px}}
@container(max-width:900px){.bd .kw-policy-grid{grid-template-columns:1fr}.bd .kw-product-trust ul,.bd .kw-workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:760px){.bd .kw-policy-page,.bd .kw-workshop{padding:48px 22px}.bd .kw-policy-page h1,.bd .kw-workshop h2{font-size:30px}.bd .kw-product-trust ul{gap:20px 14px}.bd .kw-product-trust li{padding-left:10px}.bd .kw-inquiry-payment,.bd .kw-inquiry-policy{padding:28px 22px}.bd .kw-current-title{font-size:24px}.bd .kw-current-price{font-size:24px}}
