html,body[class*="elementor-kit-"]{color-scheme:dark}html[data-theme="light"]{color-scheme:light}html[data-theme="light"] body[class*="elementor-kit-"]{color-scheme:light;--e-global-color-primary:#14161A;--e-global-color-secondary:#4E5157;--e-global-color-text:#464B53;--e-global-color-accent:#A67C11;--e-global-color-ksvoid:#FAF8F4;--e-global-color-ksink:#F3EFE8;--e-global-color-kspanel:#FFFFFF;--e-global-color-ksraise:#FFFFFF;--e-global-color-ksline:#E2DDD3;--e-global-color-kslinehi:#C7C0B3;--e-global-color-kssilverdim:#55585F;--e-global-color-ksgoldhi:#C9A227;--e-global-color-ksgolddeep:#6D4F08;--e-global-color-ksgoldtext:#6D4F08;--e-global-color-kslive:#0A6437;--e-global-color-ksalert:#B3261E;--e-global-color-ksbtnhi:#000000;--e-global-color-ksnav:#FAF8F4C7;--e-global-color-kstint:#14161A0D;--e-global-color-kstintsoft:#14161A0A}html{--ksa-sb-track:#000;--ksa-sb-thumb:#2e2e37;--ksa-sb-hover:#8a92a1}html[data-theme="light"]{--ksa-sb-track:#faf8f4;--ksa-sb-thumb:#c7c0b3;--ksa-sb-hover:#55585f}html:where(:not(:has(>body.elementor-template-canvas)))::-webkit-scrollbar,body:where(:not(.elementor-template-canvas)) ::-webkit-scrollbar{width:10px;height:10px}html:where(:not(:has(>body.elementor-template-canvas)))::-webkit-scrollbar-track,body:where(:not(.elementor-template-canvas)) ::-webkit-scrollbar-track{background:var(--e-global-color-ksvoid,var(--ksa-sb-track))}html:where(:not(:has(>body.elementor-template-canvas)))::-webkit-scrollbar-thumb,body:where(:not(.elementor-template-canvas)) ::-webkit-scrollbar-thumb{background:var(--e-global-color-kslinehi,var(--ksa-sb-thumb));border:3px solid var(--e-global-color-ksvoid,var(--ksa-sb-track))}html:where(:not(:has(>body.elementor-template-canvas)))::-webkit-scrollbar-thumb:hover,body:where(:not(.elementor-template-canvas)) ::-webkit-scrollbar-thumb:hover{background:var(--e-global-color-kssilverdim,var(--ksa-sb-hover))}html body:where(:not(.elementor-template-canvas)) ::selection{background:var(--e-global-color-primary,#f3f0ea);color:var(--e-global-color-ksvoid,#000)}html body:where(:not(.elementor-template-canvas)) :focus-visible{outline:2px solid var(--e-global-color-primary,#f3f0ea);outline-offset:3px}html body:where(.elementor-template-canvas) :where(a,button,input,select,textarea):focus-visible{outline:revert;outline-offset:revert}html body a:focus-visible,html body button:focus-visible,html body input:focus-visible,html body select:focus-visible,html body textarea:focus-visible{box-shadow:none}html body .skip-link.screen-reader-text:focus{left:12px;top:12px;z-index:400;padding:12px 20px;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;white-space:normal;font-size:16px;line-height:1.6;background:var(--e-global-color-primary,#f3f0ea);color:var(--e-global-color-ksvoid,#000)}.elementor-widget-text-editor p:last-child{margin-block-end:0}.ksa-clamp-2,.ksa-clamp-2>.elementor-widget-container{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ksa-clamp-3,.ksa-clamp-3>.elementor-widget-container{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ksa-linkpad a{display:inline-block;padding-block:2px}.ksa-scrim{background:linear-gradient(transparent,rgb(0 0 0/.62) 38%,rgb(0 0 0/.9))}.ksa-ratio-32 img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.ksa-blur8{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ksa-go{--ksa-arrow:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E");
  display:inline-flex;align-items:center;gap:7px;
}

.ksa-go::after{
  content:"";width:14px;height:14px;flex:none;background:currentColor;
  -webkit-mask:var(--ksa-arrow) no-repeat center/contain;
  mask:var(--ksa-arrow) no-repeat center/contain;
}

/* The larger button form, as on the guide lead (.lead__go): a wider gap and a
 * bigger arrow to suit 15px text. */
.ksa-go--lg{gap:10px}
.ksa-go--lg::after{width:17px;height:17px}

/* The approved search field's magnifier (site/shop.html .search svg): a thin
 * stroked outline inside the field. The search widget only takes icon library
 * glyphs or uploaded files, neither of which draws this shape, so it is drawn
 * here and the widget's own icon is left empty. The field's left padding leaves
 * its room. */
.ksa-searchfield .e-search-input-wrapper{position:relative}
/* The approved field is 1px of border, 14px above and below 13.5px text on a
   1.6 line (51.59px in all), and the words start 41px in from the outer edge:
   the 1px border, then 40px of padding for the 15px side, the 15px icon and
   the 10px gap. The widget forces its own 16px side padding when
   its icon is empty and holds the input at 52px, so both are set here; Enter
   submits, so the leftover button is hidden. The class is doubled to outrank
   the kit's form field rule (.elementor-kit-N input:not(...):not(...)). */
.elementor-widget.ksa-searchfield .e-search-input.e-search-input{
  padding:14px 15px 14px 40px;
  min-height:0;height:auto;
}
.elementor-widget.ksa-searchfield .e-search-submit{display:none}
.ksa-searchfield .e-search-input-wrapper::before{
  content:"";position:absolute;left:16px;top:50%;z-index:1;width:15px;height:15px;
  transform:translateY(-50%);pointer-events:none;
  background:var(--e-global-color-kssilverdim,#8a92a1);
  -webkit-mask:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* The approved header's rule (style.css .nav__rule): 1px under the bar that
 * fades in over the first 12% and out over the last 12%. Painted in the
 * container's bottom 1px of padding, over its own background, so it sticks with
 * the bar and follows the line colour in either theme. */
.e-con.ksa-navrule{
  background-image:linear-gradient(90deg,transparent,var(--e-global-color-ksline,#1e1e24) 12%,var(--e-global-color-ksline,#1e1e24) 88%,transparent);
  background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px;
}

/* Let one link inside a card cover the whole card, the way the approved guide
 * card does, so the card is one target and one keyboard stop. */
.ksa-coverlink a::after{content:"";position:absolute;inset:0}

/* The guide grid drops to a single column at 600px, which is not one of the
 * site's breakpoints, so it is done here rather than with a column count. */
@media (max-width:600px){
  .ksa-guidegrid .elementor-loop-container{grid-template-columns:1fr}
}

/* The lead story's picture carries two layers over it: one to seat the type,
 * and one that pushes the brand's gold through the midtones so the photograph
 * reads as ours rather than as stock. Three stacked layers with a blend mode
 * are past what a container's background controls can express. */
.ksa-lead{position:relative;isolation:isolate}

/* The approved layer order (guides.css .lead): the picture at the bottom
 * (z -2), then the shade, the rule grid and the gold wash (z -1), then the
 * words. */
.ksa-lead::before,
.ksa-lead::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}

.ksa-lead::before{
  background:linear-gradient(180deg,rgb(0 0 0/.15) 0%,rgb(0 0 0/.45) 42%,rgb(0 0 0/.88) 100%);
}

.ksa-lead::after{
  mix-blend-mode:soft-light;opacity:.72;
  background:linear-gradient(115deg,var(--e-global-color-accent,#c9a227),transparent 58%);
}

.e-con.ksa-lead > .ksa-lead__bg{position:absolute;inset:0;z-index:-2;margin:0;width:100%;height:100%;max-width:none}
.ksa-lead__bg img{width:100%;height:100%;max-width:none;object-fit:cover;display:block}
@media (prefers-reduced-motion:no-preference){
  .ksa-lead__bg img{transform:scale(1.04);transition:transform 1.6s var(--ksa-ease,cubic-bezier(.22,.61,.36,1))}
  .ksa-lead:hover .ksa-lead__bg img{transform:scale(1)}
}

/* Cap a heading's line length in characters of its own size. A widget's width
 * control would measure ch against the wrapper's 16px body text instead, and a
 * 74px title capped at "17ch" that way comes out about 150px wide. */ .ksa-ch17 .elementor-heading-title{max-width:17ch;text-wrap:balance}.e-con.ksa-rulegrid{z-index:-1;pointer-events:none;opacity:.16;-webkit-mask-image:radial-gradient(120% 90% at 70% 10%,#000 10%,transparent 72%);mask-image:radial-gradient(120% 90% at 70% 10%,#000 10%,transparent 72%);background-image:repeating-linear-gradient(90deg,rgb(255 255 255/.5) 0 1px,transparent 1px 96px),repeating-linear-gradient(0deg,rgb(255 255 255/.32) 0 1px,transparent 1px 96px)}@media (max-width:1279px){.ksa-catrail .elementor-loop-container{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(168px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.ksa-catrail .e-loop-item{scroll-snap-align:start}}.ksa-cv{content-visibility:auto;contain-intrinsic-size:auto 900px}.e-con.ksa-cv{contain-intrinsic-size:auto calc(900px + var(--padding-top,0px) + var(--padding-bottom,0px))}