/* No body/html/global element selectors: this stylesheet is opt-in under .sf-root. */
.sf-root{font-family:var(--sf-font-body,Arial,sans-serif);font-size:16px;line-height:1.6;background:var(--sf-background);color:var(--sf-text);overflow-wrap:anywhere;isolation:isolate;position:relative}
.sf-root *,.sf-root *::before,.sf-root *::after{box-sizing:border-box}
.sf-root [hidden]{display:none!important}
.sf-root h1,.sf-root h2,.sf-root h3,.sf-root p,.sf-root figure{margin:0}
.sf-root h1,.sf-root h2,.sf-root h3{font-family:var(--sf-font-heading);line-height:1.08;letter-spacing:-.035em;font-weight:700}
.sf-root p+p{margin-top:1em}
.sf-root a{color:inherit;text-underline-offset:.22em}
.sf-root button,.sf-root summary{font:inherit;color:inherit;cursor:pointer}
.sf-root button{border:1px solid var(--sf-border);background:var(--sf-background);border-radius:var(--sf-radius);padding:8px 16px;min-height:44px}
.sf-root button:disabled{cursor:default;opacity:.65}
.sf-root :focus-visible{outline:3px solid currentColor;outline-offset:4px}
.sf-root .sf-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sf-root .sf-skip{position:absolute;left:12px;top:12px;transform:translateY(-200%);z-index:10;background:var(--sf-background);padding:12px}
.sf-root .sf-skip:focus{transform:none}
.sf-root .sf-section{padding-top:calc(var(--sf-top-mobile)*1px);padding-bottom:calc(var(--sf-bottom-mobile)*1px)}
.sf-root .sf-container{width:min(100% - 40px,var(--sf-max));margin-inline:auto}
.sf-root .sf-width-full>.sf-container{width:100%}
.sf-root .sf-align-left{text-align:left}
.sf-root .sf-align-center{text-align:center}
.sf-root .sf-align-right{text-align:right}
.sf-root .sf-scheme-surface{background:var(--sf-surface)}
.sf-root .sf-scheme-accent{background:var(--sf-accent);color:var(--sf-accentText)}
.sf-root .sf-title{font-size:clamp(28px,4.5vw,52px);margin-bottom:24px;text-wrap:balance}
.sf-root .sf-video-gallery>.sf-container>.sf-title{width:100%;text-wrap:wrap}
.sf-root .sf-eyebrow{font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.sf-root .sf-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;margin-top:24px;text-decoration:none;font-weight:700;font-size:14px;background:var(--sf-text);color:var(--sf-background);border-radius:var(--sf-radius);border:1px solid transparent}
.sf-root .sf-button:hover{filter:brightness(.85)}
.sf-root .sf-prose{max-width:680px}
.sf-root .sf-prose p{line-height:1.7}
.sf-root .sf-align-center .sf-prose{margin-inline:auto}
.sf-root .sf-align-right .sf-prose{margin-left:auto}
.sf-root .sf-picture{display:block;overflow:hidden;border-radius:var(--sf-radius);background:var(--sf-surface)}
.sf-root .sf-picture img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:4/3}
.sf-root .sf-media-placeholder{display:grid;place-items:center;aspect-ratio:4/3;min-height:120px;border:1px dashed var(--sf-border);background:var(--sf-surface);color:var(--sf-text);font-size:14px;text-align:center;border-radius:var(--sf-radius)}
.sf-root .sf-announcement-bar{font-size:12px;font-weight:700;letter-spacing:.04em;text-align:center}
.sf-root .sf-header{border-bottom:1px solid var(--sf-border)}
.sf-root .sf-sticky{position:sticky;top:0;z-index:5;background:var(--sf-background)}
.sf-root .sf-header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.sf-root .sf-brand{font-family:var(--sf-font-heading);font-size:clamp(19px,2.8vw,26px);font-weight:800;letter-spacing:-.05em;text-decoration:none;line-height:1.1}
.sf-root .sf-logo{max-width:100px}
.sf-root .sf-logo img{aspect-ratio:auto;height:40px;object-fit:contain}
.sf-root .sf-header-logo-link{display:inline-flex;align-items:center;flex:none;max-width:min(240px,45vw)}
.sf-root .sf-header-logo-link .sf-logo{max-width:100%;background:transparent}
.sf-root .sf-header-logo-link .sf-logo img{width:auto;max-width:100%;height:auto;max-height:48px;aspect-ratio:auto;object-fit:contain}
.sf-root .sf-header-actions{margin-left:auto;display:flex;gap:18px;font-size:12px;font-weight:700}
.sf-root .sf-header-actions a{padding-block:12px}
.sf-root .sf-desktop-nav{display:none}
.sf-root .sf-mobile-menu{width:100%;border-top:1px solid var(--sf-border);font-size:14px}
.sf-root .sf-mobile-menu summary{padding:12px 0;min-height:44px;font-weight:700}
.sf-root .sf-mobile-menu nav{display:grid;gap:4px;padding-bottom:12px}
.sf-root .sf-mobile-menu nav a{display:block;padding:12px 0}
.sf-root .sf-slide{display:grid;grid-template-columns:1fr;min-height:calc(var(--sf-hero-height-mobile)*1px);background:var(--sf-surface);color:var(--sf-text);border-radius:var(--sf-radius);overflow:hidden}
.sf-root .sf-hero-image{min-width:0;align-self:stretch;border-radius:0}
.sf-root .sf-hero-image img{height:100%;min-height:230px;object-fit:contain;aspect-ratio:1.3}
.sf-root .sf-hero-copy{align-self:center;padding:32px 24px}
.sf-root .sf-hero-copy .sf-title{font-size:clamp(38px,5.5vw,76px);letter-spacing:-.055em;margin-bottom:20px}
.sf-root .sf-hero-copy .sf-eyebrow{margin-bottom:var(--sf-hero-eyebrow-gap,18px)}
.sf-root .sf-hero-copy .sf-title{margin-bottom:var(--sf-hero-heading-gap,20px)}
.sf-root .sf-hero-copy>.sf-button,.sf-root .sf-hero-copy>.sf-text-link{margin-top:var(--sf-hero-button-gap,24px)}
.sf-root .sf-hero-copy p:not(.sf-eyebrow){max-width:42ch}
.sf-root .sf-slide:not(.sf-mobile-below) .sf-hero-copy{order:-1}
.sf-root .sf-carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 0;font-size:13px}
.sf-root .sf-carousel-controls button{background:transparent;padding:4px 12px}
.sf-root .sf-carousel-controls [data-sf-slide-status]{min-width:40px;text-align:center}
.sf-root .sf-spacer{height:calc(var(--sf-space-mobile)*1px)}
.sf-root .sf-divider{margin:0;border:0;border-top:var(--sf-line) solid var(--sf-border)}
.sf-root .sf-grid{display:grid;grid-template-columns:repeat(var(--sf-columns-mobile),minmax(0,1fr));gap:24px}
.sf-root .sf-grid>*{min-width:0}
.sf-root .sf-feature h3,.sf-root .sf-product h3,.sf-root .sf-video h3{font-size:23px;letter-spacing:-.025em;margin:18px 0 12px}
.sf-root .sf-feature p{font-size:15px}
/* Each column spans the same four grid tracks as its neighbours. The media
   track ends at one baseline; headings and descriptions start together even
   when an image is taller or a heading wraps. Tracks repeat for each row. */
.sf-root .sf-columns{grid-auto-rows:auto auto auto auto;row-gap:0}
.sf-root .sf-columns>.sf-feature{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;min-width:0;padding-bottom:24px}
.sf-root .sf-columns>.sf-feature>:is(.sf-picture,.sf-media-placeholder){grid-row:1;align-self:end}
.sf-root .sf-columns>.sf-feature>h3{grid-row:2}
.sf-root .sf-columns>.sf-feature>.sf-column-description{grid-row:3;min-width:0}
.sf-root .sf-columns>.sf-feature>:is(.sf-button,.sf-text-link){grid-row:4;justify-self:start;align-self:start}
.sf-root .sf-image-text{display:grid;gap:32px;align-items:center}
.sf-root .sf-image-text>.sf-picture img{aspect-ratio:1;object-fit:contain}
.sf-root .sf-product{border:1px solid var(--sf-border);border-radius:var(--sf-radius);overflow:hidden;text-align:left}
.sf-root .sf-product .sf-picture{border-radius:0}
.sf-root .sf-product .sf-picture img{aspect-ratio:1;object-fit:contain}
.sf-root .sf-product .sf-design-thumb{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:var(--sf-surface)}
.sf-root .sf-product-details{padding:0 20px 24px}
.sf-root .sf-product h3{font-size:20px}
.sf-root .sf-product .sf-button{margin-top:16px}
.sf-root .sf-product-card-link{display:block;color:inherit;text-decoration:none}
.sf-root .sf-product-card-link:hover h3{text-decoration:underline}
.sf-root .sf-price{font-size:14px}
.sf-root .sf-unavailable{font-size:14px;opacity:.8}
.sf-root .sf-empty{padding:24px;border:1px dashed var(--sf-border);text-align:center}
.sf-root figcaption{font-size:14px;margin-top:12px}
.sf-root .sf-video [data-sf-video-slot]{position:relative}
.sf-root .sf-video [data-sf-video-slot]>.sf-picture img{aspect-ratio:16/9;object-fit:cover}
.sf-root .sf-video [data-sf-video-slot]>.sf-media-placeholder{aspect-ratio:16/9}
.sf-root .sf-video [data-sf-video-slot]>.sf-button{margin:12px 0 0;max-width:100%}
.sf-root .sf-video-frame{width:100%;aspect-ratio:16/9;border:0}
.sf-root .sf-video summary{min-height:44px;padding:10px 0}
.sf-root .sf-transcript{white-space:pre-wrap}
.sf-root .sf-footer{border-top:1px solid var(--sf-border)}
.sf-root .sf-footer-grid{display:grid;gap:32px}
.sf-root .sf-footer-grid>div>p:not(.sf-brand){max-width:30ch;margin-top:16px;font-size:14px}
.sf-root .sf-small-title{font-family:var(--sf-font-body);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.sf-root .sf-footer nav{display:grid;gap:14px;font-size:14px}
.sf-root .sf-copyright{margin-top:48px;padding-top:20px;border-top:1px solid var(--sf-border);font-size:12px}
/* 1.4.0 garment cards: a swipeable rail on a phone, a grid from tablet up. */
.sf-root .sf-cards-head{display:grid;gap:16px 64px;align-items:end;margin-bottom:clamp(32px,5vw,72px)}
.sf-root .sf-cards-head .sf-title,.sf-root .sf-cards-head .sf-intro{margin:0}
.sf-root .sf-cards-head .sf-intro{opacity:.75}
.sf-root .sf-card-list{list-style:none;margin:0;padding:4px 0 12px;display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;text-align:left}
.sf-root .sf-card-list::-webkit-scrollbar{display:none}
.sf-root .sf-card-list>li{scroll-snap-align:start;min-width:0}
.sf-root .sf-garment-card{position:relative;display:grid;grid-template-rows:auto 1fr auto auto;height:100%;padding:22px 24px 24px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);overflow:hidden;background:var(--sf-surface);color:inherit;text-decoration:none;transition:border-color .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.sf-root .sf-garment-card::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--sf-accent);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.sf-root .sf-garment-card img,.sf-root .sf-garment-card .sf-media-placeholder{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;margin:4px 0 8px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.sf-root .sf-card-type{font:600 11px/1 var(--sf-font-label,var(--sf-font-body));letter-spacing:.24em;text-transform:uppercase;opacity:.6}
.sf-root .sf-card-name{font-family:var(--sf-font-heading);font-weight:800;font-size:clamp(1.4rem,1.9vw,1.9rem);line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.sf-root .sf-card-go{margin-top:10px;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.85rem;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:var(--sf-accent)}
.sf-root .sf-card-go::after{content:"\2192";transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.sf-root .sf-garment-card .sf-unavailable{margin-top:10px}
.sf-root a.sf-garment-card:hover{transform:translateY(-4px)}
.sf-root a.sf-garment-card:hover img{transform:scale(1.035)}
.sf-root a.sf-garment-card:hover::after{transform:scaleX(1)}
.sf-root a.sf-garment-card:hover .sf-card-go::after{transform:translateX(4px)}
/* 1.3.0 additions. The label face falls back to the body face, as before. */
.sf-root .sf-eyebrow,.sf-root .sf-small-title{font-family:var(--sf-font-label,var(--sf-font-body))}
.sf-root .sf-header-transparent{position:absolute;left:0;right:0;z-index:5;background:transparent;border-bottom-color:transparent;transition:background-color .2s ease,border-color .2s ease}
.sf-root .sf-header-transparent.sf-sticky{position:fixed;top:0}
.sf-root .sf-header-transparent.sf-header-past{background:var(--sf-background);border-bottom-color:var(--sf-border)}
.sf-root .sf-footer-logo{max-width:160px;background:transparent}
.sf-root .sf-footer-logo img{aspect-ratio:auto;height:44px;width:auto;max-width:100%;object-fit:contain}
/* 1.1.0 additions: new class names only, so 1.0.0 markup is styled exactly as before. */
.sf-root .sf-button-outline{background:transparent;color:inherit;border-color:currentColor}
.sf-root .sf-text-link{display:inline-flex;align-items:center;gap:.4em;min-height:44px;margin-top:24px;font-weight:700;font-size:14px;text-decoration:underline}
.sf-root .sf-header-cta{display:flex;align-items:center}
.sf-root .sf-header-cta .sf-button,.sf-root .sf-header-cta .sf-text-link{margin-top:0;min-height:40px;padding:8px 14px;font-size:12px;white-space:nowrap}
.sf-root .sf-header-cta .sf-text-link{padding-inline:0}
.sf-root .sf-intro{max-width:680px;margin-top:-8px;margin-bottom:32px}
.sf-root .sf-align-center .sf-intro{margin-inline:auto}
.sf-root .sf-align-right .sf-intro{margin-left:auto}
.sf-root .sf-columns-rule>*{border-top:1px solid var(--sf-border);padding-top:20px}
.sf-root .sf-image-text>.sf-image-figure .sf-picture img{aspect-ratio:1;object-fit:contain}
.sf-root .sf-facts{margin:24px 0 0;padding:0;font-size:15px}
.sf-root .sf-facts>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 0;border-top:1px solid var(--sf-border)}
.sf-root .sf-facts>div:last-child{border-bottom:1px solid var(--sf-border)}
.sf-root .sf-facts dt{font-weight:700}
.sf-root .sf-facts dd{margin:0}
.sf-root .sf-gallery-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.sf-root .sf-gallery-feature+.sf-grid{margin-top:24px}
.sf-root .sf-rich-side{display:grid;gap:8px;align-items:center}
.sf-root .sf-rich-side .sf-prose{max-width:none}
/* 1.7.0 theme sections. All selectors remain within the mounted storefront. */
.sf-root .sf-featured-product-layout,.sf-root .sf-promo-collection,.sf-root .sf-look,.sf-root .sf-map-layout{display:grid;gap:32px;align-items:center}
.sf-root .sf-featured-product-layout>.sf-picture img,.sf-root .sf-promo-collection>.sf-picture img,.sf-root .sf-look>.sf-picture img{aspect-ratio:1;object-fit:contain}
.sf-root .sf-collection-card{border:1px solid var(--sf-border);border-radius:var(--sf-radius);overflow:hidden;text-align:left}
.sf-root .sf-collection-card h3,.sf-root .sf-collection-card p{margin:12px 16px}
.sf-root .sf-collection-card h3{font-size:22px}
.sf-root .sf-image-overlay-body,.sf-root .sf-video-backdrop{position:relative;min-height:calc(var(--sf-hero-height-mobile)*1px);display:grid;align-items:end;overflow:hidden;background:var(--sf-surface)}
.sf-root .sf-overlay-image,.sf-root .sf-video-backdrop>.sf-picture,.sf-root .sf-background-video-slot{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.sf-root .sf-overlay-image img,.sf-root .sf-video-backdrop>.sf-picture img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.sf-root .sf-background-video-slot iframe{width:100%;height:100%;border:0;pointer-events:none}
.sf-root .sf-overlay-copy{position:relative;z-index:1;width:min(100%,640px);padding:clamp(24px,5vw,64px);background:color-mix(in srgb,var(--sf-background) 88%,transparent)}
.sf-root .sf-overlay-center>.sf-overlay-copy{margin-inline:auto;text-align:center}
.sf-root .sf-overlay-right>.sf-overlay-copy{margin-left:auto}
.sf-root .sf-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.sf-root .sf-action-center{justify-content:center}
.sf-root .sf-action-right{justify-content:flex-end}
.sf-root .sf-action-row .sf-button,.sf-root .sf-action-row .sf-text-link{margin-top:14px}
.sf-root .sf-overlay-mobile-below{display:block}
.sf-root .sf-overlay-mobile-below>.sf-picture{position:relative;height:calc(var(--sf-hero-height-mobile)*1px)}
.sf-root .sf-overlay-mobile-below>.sf-overlay-copy{width:100%;background:var(--sf-background)}
.sf-root .sf-logo-grid .sf-picture{background:transparent}
.sf-root .sf-logo-grid img{aspect-ratio:2/1;object-fit:contain}
.sf-root .sf-logo-grid figure{text-align:center}
.sf-root .sf-testimonial{margin:0;padding:24px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);text-align:left;background:var(--sf-surface)}
.sf-root .sf-testimonial-stars{color:#b57900;letter-spacing:.1em}
.sf-root .sf-testimonial footer{display:flex;gap:12px;align-items:center;margin-top:20px;font-size:14px}
.sf-root .sf-testimonial footer .sf-picture{width:48px;height:48px;border-radius:50%}
.sf-root .sf-testimonial footer .sf-picture img{aspect-ratio:1;object-fit:cover}
.sf-root .sf-testimonial footer small{display:block}
.sf-root .sf-faq-list details{border-bottom:1px solid var(--sf-border)}
.sf-root .sf-faq-list summary{padding:18px 0;min-height:56px;font-weight:700}
.sf-root .sf-faq-list .sf-prose{padding:0 0 24px}
.sf-root .sf-faq-hero{display:grid;gap:28px}
.sf-root .sf-faq-hero input{display:block;width:100%;max-width:560px;min-height:48px;margin-top:8px;padding:10px 14px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);font:inherit}
.sf-root .sf-faq-hero aside{padding:24px;background:var(--sf-surface)}
.sf-root .sf-faq-hero nav{display:grid;gap:8px;margin-top:16px}
.sf-root .sf-faq-hero nav button{text-align:left}
.sf-root .sf-marquee{overflow:hidden;font-size:var(--sf-marquee-size);line-height:1.2;font-weight:700}
.sf-root .sf-marquee-track,.sf-root .sf-marquee-group{display:flex;align-items:center;gap:var(--sf-marquee-gap);width:max-content}
.sf-root .sf-marquee-track{animation:sf-marquee var(--sf-marquee-duration) linear infinite}
.sf-root .sf-marquee-right .sf-marquee-track{animation-direction:reverse}
.sf-root .sf-marquee:hover .sf-marquee-track,.sf-root .sf-marquee:focus-within .sf-marquee-track{animation-play-state:paused}
.sf-root .sf-marquee-group>*{white-space:nowrap}
@keyframes sf-marquee{to{transform:translateX(-50%)}}
.sf-root .sf-split-panels{display:grid;gap:12px}
.sf-root .sf-split-panels article,.sf-root .sf-promotion-grid article{position:relative;min-width:0;overflow:hidden;background:var(--sf-surface)}
.sf-root .sf-split-panels .sf-picture img,.sf-root .sf-promotion-grid .sf-picture img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.sf-root .sf-split-panels .sf-overlay-copy,.sf-root .sf-promotion-grid .sf-overlay-copy{position:absolute;bottom:0;left:0;right:0;width:auto}
.sf-root .sf-map-layout iframe{width:100%;min-height:360px;border:0}
.sf-root .sf-html-content ul,.sf-root .sf-html-content ol{padding-left:1.5em}
.sf-root .sf-html-content h2,.sf-root .sf-html-content h3{margin:1em 0 .4em}
@media(min-width:768px){
  .sf-root .sf-container{width:min(100% - 64px,var(--sf-max))}
  .sf-root .sf-section{padding-top:calc(var(--sf-top-tablet)*1px);padding-bottom:calc(var(--sf-bottom-tablet)*1px)}
  .sf-root .sf-grid{grid-template-columns:repeat(var(--sf-columns-tablet),minmax(0,1fr))}
  .sf-root .sf-spacer{height:calc(var(--sf-space-tablet)*1px)}
  .sf-root .sf-slide{grid-template-columns:1fr 1fr;min-height:calc(var(--sf-hero-height-tablet)*1px)}
  .sf-root .sf-hero-copy{order:-1;padding:40px}
  .sf-root .sf-slide-right .sf-hero-copy{order:1}
  .sf-root .sf-slide-center .sf-hero-copy{text-align:center}
  .sf-root .sf-slide-center .sf-hero-copy p{margin-inline:auto}
  .sf-root .sf-image-text{grid-template-columns:1fr 1fr;gap:48px}
  .sf-root .sf-image-right>.sf-prose{order:-1}
  .sf-root .sf-footer-grid{grid-template-columns:2fr repeat(2,1fr)}
  .sf-root .sf-facts>div{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px}
  .sf-root .sf-gallery-feature{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .sf-root .sf-gallery-feature-1{grid-template-columns:minmax(0,1fr)}
  .sf-root .sf-gallery-feature-3>:first-child{grid-row:span 2;display:flex;flex-direction:column}
  .sf-root .sf-gallery-feature-3>:first-child .sf-picture{flex:1;position:relative;min-height:240px}
  .sf-root .sf-gallery-feature-3>:first-child .sf-picture img{position:absolute;inset:0;aspect-ratio:auto;height:100%}
  .sf-root .sf-rich-side{grid-template-columns:minmax(0,1fr) auto;gap:48px}
  .sf-root .sf-cards-head{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .sf-root .sf-card-list{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(var(--sf-columns-tablet),minmax(0,1fr));overflow:visible;gap:clamp(14px,1.5vw,22px)}
  .sf-root .sf-rich-action .sf-button,.sf-root .sf-rich-action .sf-text-link{margin-top:0}
  .sf-root .sf-featured-product-layout,.sf-root .sf-promo-collection,.sf-root .sf-look,.sf-root .sf-map-layout{grid-template-columns:1fr 1fr;gap:48px}
  .sf-root .sf-featured-product-layout.sf-image-right>.sf-prose,.sf-root .sf-promo-collection.sf-image-right>div{order:-1}
  .sf-root .sf-image-overlay-body,.sf-root .sf-video-backdrop{min-height:calc(var(--sf-hero-height-tablet)*1px)}
  .sf-root .sf-overlay-mobile-below{display:grid}
  .sf-root .sf-overlay-mobile-below>.sf-picture{position:absolute;height:100%}
  .sf-root .sf-overlay-mobile-below>.sf-overlay-copy{width:min(100%,640px);background:color-mix(in srgb,var(--sf-background) 88%,transparent)}
  .sf-root .sf-split-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sf-root .sf-split-panels article{min-height:calc(var(--sf-hero-height-tablet)*1px)}
  .sf-root .sf-faq-hero{grid-template-columns:2fr 1fr}
}
@media(min-width:1024px){
  .sf-root .sf-section{padding-top:calc(var(--sf-top-desktop)*1px);padding-bottom:calc(var(--sf-bottom-desktop)*1px)}
  .sf-root .sf-grid{grid-template-columns:repeat(var(--sf-columns-desktop),minmax(0,1fr))}
  .sf-root .sf-spacer{height:calc(var(--sf-space-desktop)*1px)}
  .sf-root .sf-slide{min-height:calc(var(--sf-hero-height-desktop)*1px)}
  .sf-root .sf-hero-copy{padding:56px}
  .sf-root .sf-mobile-menu{display:none}
  .sf-root .sf-desktop-nav{display:block;margin-left:auto}
  .sf-root .sf-desktop-nav nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}
  .sf-root .sf-header-actions{margin-left:32px}
  .sf-root .sf-footer-grid{grid-template-columns:2fr repeat(4,1fr)}
  .sf-root .sf-card-list{grid-template-columns:repeat(var(--sf-columns-desktop),minmax(0,1fr))}
  .sf-root .sf-image-overlay-body,.sf-root .sf-video-backdrop{min-height:calc(var(--sf-hero-height-desktop)*1px)}
  .sf-root .sf-split-panels article{min-height:calc(var(--sf-hero-height-desktop)*1px)}
}
@media(prefers-reduced-motion:reduce){
  .sf-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
/* 1.5.0 3D hero, ported from the opening page (opening.css). Colours follow the
   theme: the accent drives every red, the text colour the neutrals. */
@font-face{font-family:"Inter";src:url("../assets/fonts/inter-latin.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
.sf-root .sf-hero-3d{--ink:var(--sf-text);--ink-soft:color-mix(in srgb,var(--sf-text) 66%,var(--sf-background));--accent:var(--sf-accent);--ground:var(--sf-background);--mono:var(--sf-font-label,var(--sf-font-body));--ease:cubic-bezier(.2,.8,.2,1);--px:0;--py:0;--gx:65vw;--gy:50vh;--hem-y:80vh;--ring-y:60vh;--ring-rx:0px;--ring-ry:0px;--ring-rot:0deg;--garment-h:60vh;position:relative;background:var(--ground);color:var(--ink);text-align:left}
.sf-root .sf-section.sf-hero-3d{padding:0}
.sf-root .sf-section.sf-hero-3d>.sf-container{width:100%;max-width:none;margin:0}
.sf-root .sf-hero3d-stage{position:relative;height:100vh;height:100dvh;min-height:640px;overflow:hidden;isolation:isolate;cursor:grab;touch-action:pan-y;outline:none;-webkit-user-select:none;user-select:none}
.sf-root .sf-hero3d-stage:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ink) 50%,transparent)}
.sf-root .sf-hero-3d.is-grabbing .sf-hero3d-stage{cursor:grabbing}
.sf-root .sf-hero3d-copy{-webkit-user-select:text;user-select:text}
.sf-root .sf-hero3d-spin-hint{position:absolute;z-index:4;right:clamp(24px,5vw,72px);bottom:calc(clamp(40px,11vh,128px) + 52px);margin:0;display:flex;align-items:center;gap:10px;pointer-events:none;font:600 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 84%,var(--ground));opacity:0;transform:translateY(12px);transition:opacity .7s ease .25s,transform .9s var(--ease) .25s}
.sf-root .sf-hero3d-spin-hint svg{width:18px;height:18px;flex:none}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-spin-hint{opacity:1;transform:none}
.sf-root .sf-hero-3d.is-spun .sf-hero3d-spin-hint{opacity:0;transition-delay:0s}
.sf-root .sf-hero3d-stage::after{content:"";position:absolute;inset:auto 0 0 0;height:14vh;z-index:3;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--ground))}
.sf-root .sf-hero3d-far{position:absolute;inset:0;z-index:0;pointer-events:none;transform:translate3d(calc(var(--px) * -6px),calc(var(--py) * -4px),0)}
.sf-root .sf-hero3d-glow{position:absolute;inset:0;background:radial-gradient(calc(var(--garment-h) * .9) calc(var(--garment-h) * .75) at var(--gx) var(--gy),rgba(64,68,76,.55),rgba(24,26,30,.35) 55%,transparent 75%),radial-gradient(120vmax 70vmax at 50% 118%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%);opacity:0;transition:opacity 1.6s ease .3s}
.sf-root .sf-hero3d-floor{position:absolute;left:calc(var(--gx) - 90vmax);top:var(--hem-y);width:180vmax;height:70vmax;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:4.5vmax 4.5vmax;background-position:center top;transform-origin:50% 0;transform:perspective(40vmax) rotateX(72deg);-webkit-mask-image:radial-gradient(38% 55% at 50% 0,#000 20%,transparent 100%);mask-image:radial-gradient(38% 55% at 50% 0,#000 20%,transparent 100%);opacity:0;transition:opacity 1.2s ease .9s}
.sf-root .sf-hero3d-pad{position:absolute;left:calc(var(--gx) - var(--ring-rx) * .9);top:calc(var(--hem-y) - var(--ring-ry) * .7);width:calc(var(--ring-rx) * 1.8);height:calc(var(--ring-ry) * 1.4);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.65),color-mix(in srgb,var(--accent) 14%,transparent) 70%,transparent);opacity:0;transition:opacity 1.2s ease 1.2s}
.sf-root .sf-hero-3d.is-live .sf-hero3d-glow,.sf-root .sf-hero-3d.is-live .sf-hero3d-floor,.sf-root .sf-hero-3d.is-live .sf-hero3d-pad{opacity:1}
.sf-root .sf-hero3d-word{position:absolute;z-index:1;left:var(--gx);top:var(--gy);margin:0;pointer-events:none;user-select:none;font-family:var(--sf-font-heading);font-weight:900;font-size:clamp(7rem,24vw,26rem);line-height:.8;letter-spacing:-.05em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 13%,transparent);transform:translate3d(calc(-50% + var(--px) * -18px),calc(-50% + var(--py) * -10px),0) scale(1.06);opacity:0;transition:opacity 1.4s ease,transform 2.4s cubic-bezier(.2,.8,.2,1)}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-word{opacity:1;transform:translate3d(calc(-50% + var(--px) * -18px),calc(-50% + var(--py) * -10px),0) scale(1)}
.sf-root .sf-hero3d-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;display:block;pointer-events:none}
.sf-root .sf-hero3d-poster{position:absolute;z-index:2;left:65%;top:50%;height:74vh;width:auto;max-width:none;transform:translate(-50%,-50%);pointer-events:none}
.sf-root .sf-hero-3d:not(.is-fallback) .sf-hero3d-poster{display:none}
.sf-root .sf-hero-3d.is-fallback .sf-hero3d-glow{opacity:1}
.sf-root .sf-hero3d-ring{position:absolute;pointer-events:none;left:calc(var(--gx) - var(--ring-rx));top:calc(var(--ring-y) - var(--ring-ry));width:calc(var(--ring-rx) * 2);height:calc(var(--ring-ry) * 2);border-radius:50%;background:repeating-conic-gradient(from var(--ring-rot),color-mix(in srgb,var(--ink) 42%,transparent) 0 .5deg,transparent .5deg 7.5deg);-webkit-mask-image:radial-gradient(closest-side,transparent calc(100% - 7px),#000 calc(100% - 6px),#000 calc(100% - 1px),transparent 100%);mask-image:radial-gradient(closest-side,transparent calc(100% - 7px),#000 calc(100% - 6px),#000 calc(100% - 1px),transparent 100%);opacity:0;transition:opacity 1s ease 1.6s}
.sf-root .sf-hero3d-ring::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}
.sf-root .sf-hero3d-ring-back{z-index:1;clip-path:inset(0 0 50% 0)}
.sf-root .sf-hero3d-ring-front{z-index:3;clip-path:inset(50% 0 0 0);transform:translate3d(calc(var(--px) * 10px),calc(var(--py) * 6px),0)}
.sf-root .sf-hero3d-ring-front::before{content:"";position:absolute;left:50%;bottom:-4px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--accent)}
.sf-root .sf-hero-3d.is-live .sf-hero3d-ring{opacity:1}
.sf-root .sf-hero3d-laser{position:absolute;z-index:3;left:0;right:0;top:0;height:0;pointer-events:none;opacity:0;transform-origin:50% 0;will-change:transform,opacity}
.sf-root .sf-hero3d-laser::before{content:"";position:absolute;left:0;right:0;top:-.75px;height:1.5px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 85%,transparent) 12%,color-mix(in srgb,var(--accent) 15%,#fff) 50%,color-mix(in srgb,var(--accent) 85%,transparent) 88%,transparent)}
.sf-root .sf-hero3d-laser::after{content:"";position:absolute;left:4%;right:4%;top:-14px;height:28px;background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--accent) 34%,transparent),transparent)}
.sf-root .sf-hero3d-stage[data-laser="off"] .sf-hero3d-laser{display:none}
.sf-root .sf-hero3d-laser-tag{position:absolute;right:clamp(16px,5vw,72px);bottom:10px;margin:0;font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 30%,#fff);opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}
.sf-root .sf-hero-3d.is-printing .sf-hero3d-laser-tag{opacity:1;transform:none}
.sf-root .sf-hero-3d.is-looping .sf-hero3d-laser{-webkit-mask-image:linear-gradient(90deg,transparent 46vw,#000 54vw);mask-image:linear-gradient(90deg,transparent 46vw,#000 54vw)}
.sf-root .sf-hero3d-copy{position:absolute;z-index:4;left:clamp(24px,6vw,104px);bottom:clamp(40px,11vh,128px);width:min(35rem,40vw)}
.sf-root .sf-hero3d-kicker{margin:0 0 20px;font:600 12px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.sf-root .sf-hero3d-kicker::before{content:"";display:inline-block;width:8px;height:8px;margin-right:12px;border-radius:50%;background:var(--accent);vertical-align:-1px}
.sf-root .sf-hero3d-title{margin:0;font-family:var(--sf-font-heading);font-weight:800;font-size:clamp(2.75rem,5.6vw,5.75rem);line-height:.96;letter-spacing:-.04em;color:var(--ink);text-wrap:wrap}
.sf-root .sf-hero3d-line{display:block;overflow:hidden;padding-bottom:.06em;color:inherit}
.sf-root .sf-hero3d-line>span{display:block;color:inherit;transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.sf-root .sf-hero3d-line:nth-child(2)>span{transition-delay:.12s}
.sf-root .sf-hero3d-sub{max-width:31rem;margin:28px 0 36px;font-size:clamp(1rem,1.15vw,1.1875rem);line-height:1.55;color:var(--ink-soft)}
.sf-root .sf-hero3d-cta{display:inline-flex;align-items:center;gap:14px;min-height:58px;padding:0 26px 0 30px;border:0;border-radius:12px;cursor:pointer;background:var(--accent);color:var(--sf-accentText);font:700 1.2rem/1 var(--sf-font-body);letter-spacing:-.01em;text-decoration:none;box-shadow:0 18px 36px -16px color-mix(in srgb,var(--accent) 60%,transparent),0 2px 6px rgba(0,0,0,.35);transition:background-color .2s ease,transform .2s ease}
.sf-root .sf-hero3d-cta svg{width:22px;height:22px;flex:none;transition:transform .25s ease}
.sf-root .sf-hero3d-cta:hover{background:color-mix(in srgb,var(--accent) 88%,#fff)}
.sf-root .sf-hero3d-cta:hover svg{transform:translateX(4px)}
.sf-root .sf-hero3d-cta:active{transform:translateY(1px)}
.sf-root .sf-hero3d-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.sf-root .sf-hero3d-copy .sf-button,.sf-root .sf-hero3d-copy .sf-text-link{margin-top:0}
.sf-root .sf-hero3d-kicker,.sf-root .sf-hero3d-sub,.sf-root .sf-hero3d-copy>a,.sf-root .sf-hero3d-copy>span{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1),background-color .2s ease}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-kicker{opacity:1;transform:none}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-line>span{transform:none}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-sub{opacity:1;transform:none;transition-delay:.35s}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-copy>a,.sf-root .sf-hero-3d.is-copy .sf-hero3d-copy>span{opacity:1;transform:none;transition-delay:.5s,.5s,0s}
.sf-root .sf-hero3d-hud{position:absolute;z-index:4;right:clamp(24px,5vw,72px);bottom:clamp(40px,11vh,128px);margin:0;font:600 11px/1.6 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);text-align:right;opacity:0;transition:opacity 1s ease 1s}
.sf-root .sf-hero3d-hud span{display:block;color:color-mix(in srgb,var(--ink) 52%,var(--ground))}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-hud{opacity:1}
.sf-root .sf-hero3d-more{position:absolute;z-index:4;left:50%;bottom:clamp(20px,4vh,40px);display:grid;justify-items:center;gap:10px;margin-left:-40px;width:80px;font:600 11px/1 var(--mono);letter-spacing:.26em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 90%,var(--ground));text-decoration:none;opacity:0;transform:translateY(14px);transition:opacity .8s ease .45s,transform 1s var(--ease) .45s}
.sf-root .sf-hero3d-more svg{width:54px;height:54px;padding:15px;border-radius:50%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;border:1px solid color-mix(in srgb,var(--ink) 34%,transparent);background:color-mix(in srgb,var(--ground) 62%,transparent);transition:background-color .25s ease,border-color .25s ease}
.sf-root .sf-hero3d-more:hover{color:#fff}
.sf-root .sf-hero3d-more:hover svg{background:var(--accent);border-color:var(--accent)}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-more{opacity:1;transform:none}
.sf-root .sf-hero-3d.is-copy .sf-hero3d-more svg{animation:sf-hero3d-nudge 2.2s var(--ease) 1.2s infinite}
@keyframes sf-hero3d-nudge{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(6px)}}
.sf-root .sf-hero-3d.is-scrolled .sf-hero3d-more{opacity:0;pointer-events:none;transition-delay:0s}
.sf-root .sf-hero-3d.is-static *,.sf-root .sf-hero-3d.is-static *::before,.sf-root .sf-hero-3d.is-static *::after{transition:none!important;animation:none!important}
.sf-root .sf-hero-3d.is-static .sf-hero3d-laser{display:none}
.sf-root .sf-hero3d-note{position:absolute;z-index:5;right:16px;top:16px;margin:0;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--ground) 80%,transparent);color:var(--ink);font:600 11px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent::before{content:"";position:absolute;inset:0 0 -60% 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(4,5,7,.8),transparent);transition:opacity .4s ease}
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent.sf-header-past::before{opacity:0}
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent{color:var(--sf-text)}
@media (max-width:759px),(max-aspect-ratio:9/10){
  .sf-root .sf-hero3d-copy{left:20px;right:20px;bottom:calc(92px + env(safe-area-inset-bottom));width:auto}
  .sf-root .sf-hero3d-more{bottom:18px}
  .sf-root .sf-hero3d-spin-hint{right:clamp(20px,5.2vw,96px);bottom:auto;top:84px}
  .sf-root .sf-hero3d-kicker{margin-bottom:14px;font-size:11px}
  .sf-root .sf-hero3d-title{font-size:clamp(2.4rem,11vw,3.6rem)}
  .sf-root .sf-hero3d-sub{margin:16px 0 22px;font-size:1rem;line-height:1.5}
  .sf-root .sf-hero3d-cta{display:flex;width:100%;justify-content:center;min-height:56px}
  .sf-root .sf-hero3d-word{font-size:clamp(5rem,34vw,14rem)}
  .sf-root .sf-hero3d-hud{display:none}
  .sf-root .sf-hero3d-poster{left:50%;top:32%;height:46vh}
  .sf-root .sf-hero-3d.is-fallback{--gx:50vw;--gy:32vh}
  .sf-root .sf-hero3d-laser-tag{display:none}
  .sf-root .sf-hero-3d.is-looping .sf-hero3d-laser{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:759px) and (max-height:700px){
  .sf-root .sf-hero3d-sub{display:none}
  .sf-root .sf-hero3d-title{font-size:clamp(2.1rem,10vw,2.8rem)}
}
/* Over a 3D hero the transparent header takes the opening page's masthead proportions. */
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent>.sf-container{width:calc(100% - 2 * clamp(20px,5.2vw,96px))}
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent .sf-brand{font-size:clamp(1.15rem,1.6vw,1.5rem);letter-spacing:-.03em}
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent .sf-header-cta .sf-button-outline{min-height:0;padding:12px 20px;border-radius:999px;border-color:color-mix(in srgb,var(--sf-text) 18%,transparent);background:color-mix(in srgb,var(--sf-background) 55%,transparent);font:700 .8rem/1 var(--sf-font-body);letter-spacing:.12em;text-transform:uppercase;transition:background-color .25s ease,border-color .25s ease}
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent .sf-header-cta .sf-button-outline:hover{filter:none;background:var(--sf-accent);border-color:var(--sf-accent)}
.sf-root:has(main>.sf-hero-3d:first-child) .sf-header-transparent.sf-header-past{background:color-mix(in srgb,var(--sf-background) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
/* 1.9.0: column controls are opt-in; legacy rules above stay unchanged. */
.sf-root .sf-feature[style*="--sf-column-image-width"]>.sf-picture,.sf-root .sf-feature[style*="--sf-column-image-width"]>.sf-media-placeholder{width:var(--sf-column-image-width)}
.sf-root .sf-align-center .sf-feature[style*="--sf-column-image-width"]>.sf-picture,.sf-root .sf-align-center .sf-feature[style*="--sf-column-image-width"]>.sf-media-placeholder{margin-inline:auto}
.sf-root .sf-align-right .sf-feature[style*="--sf-column-image-width"]>.sf-picture,.sf-root .sf-align-right .sf-feature[style*="--sf-column-image-width"]>.sf-media-placeholder{margin-left:auto}
.sf-root .sf-feature h3.sf-column-large-heading{font-size:30px}
.sf-root .sf-feature.sf-column-large-text p{font-size:18px}
/* 1.9.1: per-slide image framing. The original split-right layout remains the default. */
.sf-root .sf-slide .sf-hero-image img{object-position:var(--sf-hero-focal-x,50%) var(--sf-hero-focal-y,50%);transform:scale(var(--sf-hero-scale,1));transform-origin:var(--sf-hero-focal-x,50%) var(--sf-hero-focal-y,50%)}
.sf-root .sf-slide-layout-fill{position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.sf-root .sf-slide-layout-fill>.sf-hero-image{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.sf-root .sf-slide-layout-fill>.sf-hero-image img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.sf-root .sf-slide-layout-fill::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.36) 55%,rgba(0,0,0,.27))}
.sf-root .sf-slide-layout-fill>.sf-hero-copy{order:initial;position:relative;z-index:1;width:100%;color:#fff;text-align:center;text-shadow:0 1px 12px #0009}
.sf-root .sf-slide-layout-fill .sf-hero-copy p{margin-inline:auto}
.sf-root .sf-slide-layout-fill .sf-hero-copy p:not(.sf-eyebrow){max-width:none}
.sf-root .sf-slide-layout-fill .sf-button-outline{border-color:#fff;color:#fff}
.sf-root .sf-slide-layout-fit{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
.sf-root .sf-slide-layout-fit>.sf-hero-image{height:calc(var(--sf-hero-height-mobile)*.62px);max-width:100%;background:var(--sf-surface)}
.sf-root .sf-slide-layout-fit>.sf-hero-image img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain}
.sf-root .sf-slide-layout-fit>.sf-hero-copy{order:1;text-align:center}
.sf-root .sf-slide-layout-fit .sf-hero-copy p{margin-inline:auto}
@media(min-width:768px){
  .sf-root .sf-slide-layout-split-left>.sf-hero-image{order:-1}
  .sf-root .sf-slide-layout-split-left>.sf-hero-copy{order:1}
  .sf-root .sf-slide-layout-fill{display:flex}
  .sf-root .sf-slide-layout-fill>.sf-hero-copy{order:initial}
  .sf-root .sf-slide-layout-fit{grid-template-columns:minmax(0,1fr)}
  .sf-root .sf-slide-layout-fit>.sf-hero-image{height:calc(var(--sf-hero-height-tablet)*.62px)}
  .sf-root .sf-slide-layout-fit>.sf-hero-copy{order:1}
}
@media(min-width:1024px){.sf-root .sf-slide-layout-fit>.sf-hero-image{height:calc(var(--sf-hero-height-desktop)*.62px)}}

/* Image-backed slides use the image's own aspect ratio instead of an empty
   fixed-height frame. Controls sit over the slide rather than below it. */
.sf-root .sf-section.sf-hero-slideshow:has(.sf-hero-image img){padding-block:0}
.sf-root .sf-carousel:has(.sf-hero-image img){position:relative}
.sf-root .sf-carousel:has(.sf-hero-image img) .sf-carousel-controls{position:absolute;z-index:3;right:12px;bottom:12px;padding:4px;border-radius:8px;background:rgba(255,255,255,.92);color:#222}
.sf-root .sf-slide-layout-fill:has(>.sf-hero-image img){display:block;min-height:0}
.sf-root .sf-slide-layout-fill:has(>.sf-hero-image img)>.sf-hero-image{position:relative;inset:auto;display:block;width:100%;height:auto;z-index:0}
.sf-root .sf-slide-layout-fill:has(>.sf-hero-image img)>.sf-hero-image img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain}
.sf-root .sf-slide-layout-fill:has(>.sf-hero-image img)::before{z-index:1}
.sf-root .sf-slide-layout-fill:has(>.sf-hero-image img)>.sf-hero-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;margin-inline:auto}
.sf-root .sf-slide-layout-fit:has(>.sf-hero-image img){min-height:0;grid-template-rows:auto auto}
.sf-root .sf-slide-layout-fit:has(>.sf-hero-image img)>.sf-hero-image{height:auto}
.sf-root .sf-slide-layout-fit:has(>.sf-hero-image img)>.sf-hero-image img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto}
.sf-root .sf-slide:not(.sf-slide-layout-fill):not(.sf-slide-layout-fit):has(>.sf-hero-image img)>.sf-hero-image img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
/* Column pictures occupy exactly the image's intrinsic aspect ratio. */
.sf-root .sf-feature>.sf-picture{background:transparent}
.sf-root .sf-feature>.sf-picture img{height:auto;aspect-ratio:auto}

/* Collection templates: content comes from the requested store collection. */
.sf-root .sf-collection-header{display:grid;gap:32px;align-items:center}
.sf-root .sf-collection-header-image{grid-template-columns:minmax(0,1fr) minmax(120px,25%)}
.sf-root .sf-collection-header .sf-picture img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.sf-root .sf-collection-description{white-space:pre-line}
.sf-root .sf-collection-toolbar,.sf-root .sf-collection-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;flex-wrap:wrap}
.sf-root .sf-collection-toolbar label{display:grid;gap:8px}
.sf-root .sf-collection-toolbar select,.sf-root .sf-collection-pagination button{min-height:44px;padding:10px 14px;border:1px solid var(--sf-text);border-radius:6px;background:var(--sf-background);color:var(--sf-text);font:inherit}
.sf-root .sf-collection-pagination{justify-content:center;margin:24px 0 0}
.sf-root [data-sf-collection-item][hidden],.sf-root [data-sf-collection-pagination][hidden]{display:none}
@media(max-width:600px){.sf-root .sf-collection-header-image{grid-template-columns:1fr}}

/* Uploaded content images follow their source ratio. The empty-state placeholder
   keeps its frame, while real pictures have no surface-colored letterboxing. */
.sf-root .sf-picture{background:transparent}
.sf-root .sf-picture img{height:auto;aspect-ratio:auto}
.sf-root .sf-image-text>.sf-picture img,.sf-root .sf-image-text>.sf-image-figure .sf-picture img,.sf-root .sf-product .sf-picture img,.sf-root .sf-featured-product-layout>.sf-picture img,.sf-root .sf-promo-collection>.sf-picture img,.sf-root .sf-look>.sf-picture img,.sf-root .sf-logo-grid img{height:auto;aspect-ratio:auto}
.sf-root .sf-product .sf-design-thumb{height:auto;aspect-ratio:auto;background:transparent}
.sf-root .sf-garment-card img{height:auto;aspect-ratio:auto}
@media(min-width:768px){
  .sf-root .sf-gallery-feature-3>:first-child .sf-picture{flex:none;min-height:0}
  .sf-root .sf-gallery-feature-3>:first-child .sf-picture img{position:static;height:auto}
}

/* Inner padding changes only the space between columns. An absent device
   override retains that module's original gap and leaves row spacing alone. */
.sf-root .sf-grid,.sf-root .sf-gallery-feature{column-gap:var(--sf-inner-padding-mobile,24px)}
.sf-root .sf-card-list{column-gap:var(--sf-inner-padding-mobile,14px)}
.sf-root .sf-image-text,.sf-root .sf-featured-product-layout,.sf-root .sf-promo-collection,.sf-root .sf-look,.sf-root .sf-map-layout,.sf-root .sf-collection-header{column-gap:var(--sf-inner-padding-mobile,32px)}
.sf-root .sf-rich-side{column-gap:var(--sf-inner-padding-mobile,8px)}
.sf-root .sf-split-panels{column-gap:var(--sf-inner-padding-mobile,12px)}
.sf-root .sf-faq-hero{column-gap:var(--sf-inner-padding-mobile,28px)}
.sf-root .sf-footer-grid{column-gap:var(--sf-inner-padding-mobile,32px)}
@media(min-width:768px){
  .sf-root .sf-grid,.sf-root .sf-gallery-feature{column-gap:var(--sf-inner-padding-tablet,24px)}
  .sf-root .sf-card-list{column-gap:var(--sf-inner-padding-tablet,clamp(14px,1.5vw,22px))}
  .sf-root .sf-image-text,.sf-root .sf-featured-product-layout,.sf-root .sf-promo-collection,.sf-root .sf-look,.sf-root .sf-map-layout{column-gap:var(--sf-inner-padding-tablet,48px)}
  .sf-root .sf-rich-side{column-gap:var(--sf-inner-padding-tablet,48px)}
  .sf-root .sf-collection-header{column-gap:var(--sf-inner-padding-tablet,32px)}
  .sf-root .sf-split-panels{column-gap:var(--sf-inner-padding-tablet,12px)}
  .sf-root .sf-faq-hero{column-gap:var(--sf-inner-padding-tablet,28px)}
  .sf-root .sf-footer-grid{column-gap:var(--sf-inner-padding-tablet,32px)}
}
@media(min-width:1024px){
  .sf-root .sf-grid,.sf-root .sf-gallery-feature{column-gap:var(--sf-inner-padding-desktop,24px)}
  .sf-root .sf-card-list{column-gap:var(--sf-inner-padding-desktop,clamp(14px,1.5vw,22px))}
  .sf-root .sf-image-text,.sf-root .sf-featured-product-layout,.sf-root .sf-promo-collection,.sf-root .sf-look,.sf-root .sf-map-layout{column-gap:var(--sf-inner-padding-desktop,48px)}
  .sf-root .sf-rich-side{column-gap:var(--sf-inner-padding-desktop,48px)}
  .sf-root .sf-collection-header{column-gap:var(--sf-inner-padding-desktop,32px)}
  .sf-root .sf-split-panels{column-gap:var(--sf-inner-padding-desktop,12px)}
  .sf-root .sf-faq-hero{column-gap:var(--sf-inner-padding-desktop,28px)}
  .sf-root .sf-footer-grid{column-gap:var(--sf-inner-padding-desktop,32px)}
}

/* Three-level navigation: parent links and disclosure controls stay separate. */
.sf-root .sf-menu-tree{list-style:none;margin:0;padding:0;min-width:0}
.sf-root .sf-menu-tree li{min-width:0;position:relative}
.sf-root .sf-menu-parent{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.sf-root .sf-menu-tree a,.sf-root .sf-menu-tree .sf-unavailable{display:block;padding:10px 12px;text-decoration:none}
.sf-root .sf-submenu{display:contents}
.sf-root .sf-submenu>summary{grid-column:2;grid-row:1;display:grid;place-items:center;list-style:none;min-width:44px;min-height:44px;border-radius:var(--sf-radius)}
.sf-root .sf-submenu>summary::-webkit-details-marker{display:none}
.sf-root .sf-submenu[open]>summary span{transform:rotate(180deg)}
.sf-root .sf-submenu>.sf-menu-tree{grid-column:1/-1;margin-left:16px;border-left:1px solid var(--sf-border)}
.sf-root .sf-menu-tree a:hover,.sf-root .sf-submenu>summary:hover{background:var(--sf-surface)}
.sf-root .sf-footer nav:has(>.sf-menu-tree){display:block}
@media(min-width:1024px){
  .sf-root .sf-desktop-nav nav>.sf-menu-tree{display:flex;align-items:center;gap:16px}
  .sf-root .sf-desktop-nav nav>.sf-menu-tree>li>.sf-menu-parent>.sf-submenu>.sf-menu-tree{position:absolute;z-index:30;top:100%;right:0;width:min(320px,85vw);max-height:65vh;overflow:auto;margin:0;padding:8px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-background);box-shadow:0 8px 24px #0002}
}

/* 1.14.0 header themes. Only a header whose theme is not 'classic' carries
   .sf-hdr-themed, so every earlier header keeps the rules above unchanged.
   The theme sets its own row heights; the menu bars run the full width. */
.sf-root .sf-header.sf-hdr-themed{padding:0;border-bottom:0}
.sf-root .sf-hdr-themed a{text-decoration:none}
.sf-root .sf-hdr-themed .sf-hdr-row{display:flex;align-items:center;gap:20px;width:min(100% - 2 * clamp(16px,4vw,72px),var(--sf-max));margin-inline:auto}
.sf-root .sf-hdr-themed.sf-width-full .sf-hdr-row{width:100%;padding-inline:clamp(16px,4vw,72px)}
.sf-root .sf-hdr-themed .sf-hdr-logo{display:flex;align-items:center;min-width:0}
.sf-root .sf-hdr-themed .sf-header-logo-link{max-width:min(320px,52vw)}
.sf-root .sf-hdr-themed .sf-header-logo-link .sf-logo img{max-height:var(--sf-hdr-logo,48px)}
.sf-root .sf-hdr-themed .sf-hdr-start,.sf-root .sf-hdr-themed .sf-hdr-end{display:flex;align-items:center;gap:clamp(4px,1.6vw,24px);min-width:0}
.sf-root .sf-hdr-themed .sf-hdr-end{justify-content:flex-end}
.sf-root .sf-hdr-themed .sf-hdr-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px}
.sf-root .sf-hdr-themed .sf-hdr-action svg{flex:none;width:var(--sf-hdr-icon,24px);height:var(--sf-hdr-icon,24px)}
.sf-root .sf-hdr-themed .sf-hdr-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sf-root .sf-hdr-themed .sf-hdr-count{position:absolute;top:4px;right:1px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--sf-background);border-radius:999px;background:var(--sf-text);color:var(--sf-background);font:700 10px/1 var(--sf-font-body)}
.sf-root .sf-hdr-themed a:focus-visible,.sf-root .sf-hdr-themed summary:focus-visible{outline:3px solid currentColor;outline-offset:-3px}
.sf-root .sf-hdr-themed .sf-hdr-nav,.sf-root .sf-hdr-themed .sf-hdr-bar{display:none}
.sf-root .sf-hdr-themed .sf-hdr-mobile{display:block}
.sf-root .sf-hdr-themed .sf-hdr-links{display:flex;flex-wrap:wrap;align-items:stretch;margin:0;padding:0;list-style:none}
.sf-root .sf-hdr-themed .sf-hdr-item{position:relative;display:flex;align-items:center}
.sf-root .sf-hdr-themed .sf-hdr-item>a,.sf-root .sf-hdr-themed .sf-hdr-item>.sf-unavailable{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.sf-root .sf-hdr-themed .sf-hdr-sub>summary{display:grid;place-items:center;min-width:28px;min-height:44px;list-style:none}
.sf-root .sf-hdr-themed .sf-hdr-sub>summary::-webkit-details-marker{display:none}
.sf-root .sf-hdr-themed .sf-hdr-caret{width:7px;height:7px;margin-top:-4px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg)}
.sf-root .sf-hdr-themed .sf-hdr-sub[open]>summary .sf-hdr-caret{margin-top:4px;transform:rotate(225deg)}
.sf-root .sf-hdr-themed .sf-hdr-sub>.sf-menu-tree{position:absolute;z-index:30;top:100%;left:0;width:min(320px,85vw);max-height:65vh;overflow:auto;padding:8px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-background);color:var(--sf-text);box-shadow:0 8px 24px #0002;font-size:15px;font-weight:400;letter-spacing:normal;text-transform:none;text-align:left}
.sf-root .sf-hdr-themed .sf-hdr-item:nth-last-child(-n+2)>.sf-hdr-sub>.sf-menu-tree{left:auto;right:0}
/* From 1024px the classic .sf-mobile-menu rule hides the mobile menu. */
@media(min-width:1024px){
  .sf-root .sf-hdr-themed .sf-hdr-nav,.sf-root .sf-hdr-themed .sf-hdr-bar{display:block}
}

.sf-root .sf-hdr-centered{--sf-hdr-logo:64px;--sf-hdr-icon:27px}
.sf-root .sf-hdr-centered .sf-hdr-top,.sf-root .sf-hdr-bold .sf-hdr-top{display:grid;grid-template-columns:1fr auto 1fr;min-height:92px;padding-block:12px}
.sf-root .sf-hdr-centered .sf-hdr-logo,.sf-root .sf-hdr-bold .sf-hdr-logo{justify-content:center}
.sf-root .sf-hdr-centered .sf-hdr-bar{background:#e0e0e0;color:#333}
.sf-root .sf-hdr-centered .sf-hdr-links{justify-content:center;font-family:"Roboto Condensed","Arial Narrow",var(--sf-font-body);font-stretch:condensed;font-size:18px;font-weight:400;letter-spacing:.01em}
.sf-root .sf-hdr-centered .sf-hdr-item>a,.sf-root .sf-hdr-centered .sf-hdr-item>.sf-unavailable{min-height:48px;padding-inline:18px}
/* A parent's arrow sits right after its label, inside the item's spacing. */
.sf-root .sf-hdr-centered .sf-hdr-has-menu>a,.sf-root .sf-hdr-centered .sf-hdr-has-menu>.sf-unavailable,.sf-root .sf-hdr-bold .sf-hdr-has-menu>a,.sf-root .sf-hdr-bold .sf-hdr-has-menu>.sf-unavailable{padding-right:2px}
.sf-root .sf-hdr-centered .sf-hdr-has-menu>.sf-hdr-sub>summary,.sf-root .sf-hdr-bold .sf-hdr-has-menu>.sf-hdr-sub>summary{margin-right:10px}
.sf-root .sf-hdr-centered .sf-hdr-current::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:currentColor}
.sf-root .sf-hdr-centered .sf-hdr-item>a:hover{color:#000}

.sf-root .sf-hdr-inline{--sf-hdr-logo:46px;--sf-hdr-icon:22px;border-bottom:1px solid var(--sf-border)}
.sf-root .sf-hdr-inline .sf-hdr-top{min-height:80px}
.sf-root .sf-hdr-inline .sf-hdr-nav{flex:0 1 auto;min-width:0;margin-left:clamp(20px,3vw,56px)}
.sf-root .sf-hdr-inline .sf-hdr-end{margin-left:auto;gap:2px}
.sf-root .sf-hdr-inline .sf-hdr-links{gap:0 clamp(14px,1.6vw,26px);font-size:15px;font-weight:500}
.sf-root .sf-hdr-inline .sf-hdr-item>a,.sf-root .sf-hdr-inline .sf-hdr-item>.sf-unavailable{position:relative;opacity:.74}
.sf-root .sf-hdr-inline .sf-hdr-item>a:hover,.sf-root .sf-hdr-inline .sf-hdr-current>a{opacity:1}
.sf-root .sf-hdr-inline .sf-hdr-current>a::before{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:currentColor}

.sf-root .sf-hdr-bold{--sf-hdr-logo:60px;--sf-hdr-icon:22px}
.sf-root .sf-hdr-bold .sf-hdr-end{gap:18px;font-size:13px;font-weight:700}
.sf-root .sf-hdr-bold .sf-hdr-label{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
.sf-root .sf-hdr-bold .sf-hdr-count{top:3px;left:13px;right:auto}
.sf-root .sf-hdr-bold .sf-hdr-bar{background:var(--sf-text);color:var(--sf-background)}
.sf-root .sf-hdr-bold .sf-hdr-bar .sf-hdr-nav{width:100%}
.sf-root .sf-hdr-bold .sf-hdr-links{justify-content:center;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sf-root .sf-hdr-bold .sf-hdr-item>a,.sf-root .sf-hdr-bold .sf-hdr-item>.sf-unavailable{min-height:48px;padding-inline:18px}
.sf-root .sf-hdr-bold .sf-hdr-item>a:hover{opacity:.78}
.sf-root .sf-hdr-bold .sf-hdr-current>a,.sf-root .sf-hdr-bold .sf-hdr-current>a:hover{background:var(--sf-accent);color:var(--sf-accentText);opacity:1}
.sf-root .sf-hdr-bold .sf-hdr-caret{width:5px;height:5px}
.sf-root .sf-hdr-centered .sf-hdr-bar .sf-hdr-nav{width:100%}
@media(max-width:767px){
  .sf-root .sf-hdr-centered{--sf-hdr-logo:44px;--sf-hdr-icon:24px}
  .sf-root .sf-hdr-bold{--sf-hdr-logo:44px}
  .sf-root .sf-hdr-centered .sf-hdr-top,.sf-root .sf-hdr-bold .sf-hdr-top{min-height:68px;gap:10px}
  .sf-root .sf-hdr-bold .sf-hdr-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .sf-root .sf-hdr-bold .sf-hdr-end{gap:4px}
  /* A wide logo shrinks to leave 92px each side, so it stays in the true centre. */
  .sf-root .sf-hdr-centered .sf-header-logo-link,.sf-root .sf-hdr-bold .sf-header-logo-link{max-width:min(320px,calc(100vw - 2 * clamp(16px,4vw,72px) - 204px))}
}

/* 1.15.0 image gallery layouts and settings. Every rule is scoped to a class a
   1.14.0 gallery never carries, so saved galleries keep their exact look.
   Space between photos: gap, unless the section's inner padding sets the
   space between columns for that device, as it already did for the grid. */
.sf-root .sf-gal-gap{row-gap:var(--sf-gal-gap);column-gap:var(--sf-inner-padding-mobile,var(--sf-gal-gap))}
.sf-root .sf-gallery-feature.sf-gal-gap+.sf-grid{margin-top:var(--sf-gal-gap)}
.sf-root .sf-gal{--sf-gal-x:var(--sf-inner-padding-mobile,var(--sf-gal-gap))}
.sf-root .sf-gal-ratio-1-1{--sf-gal-ratio:1/1}
.sf-root .sf-gal-ratio-4-3{--sf-gal-ratio:4/3}
.sf-root .sf-gal-ratio-3-4{--sf-gal-ratio:3/4}
.sf-root .sf-gal-ratio-16-9{--sf-gal-ratio:16/9}
.sf-root :is(.sf-gal-ratio-1-1,.sf-gal-ratio-4-3,.sf-gal-ratio-3-4,.sf-gal-ratio-16-9) .sf-picture img{width:100%;height:auto;aspect-ratio:var(--sf-gal-ratio)}
.sf-root :is(.sf-gal-ratio-1-1,.sf-gal-ratio-4-3,.sf-gal-ratio-3-4,.sf-gal-ratio-16-9) .sf-media-placeholder{aspect-ratio:var(--sf-gal-ratio)}
.sf-root .sf-gal-crop .sf-picture img{object-fit:cover}
.sf-root .sf-gal-contain .sf-picture img{object-fit:contain}
.sf-root .sf-gal-more-row{display:flex;justify-content:center}
.sf-root .sf-gal-more-button{font:inherit;font-weight:700;font-size:14px;cursor:pointer}
/* Masonry: columns of photos at their own heights. */
.sf-root .sf-gal-masonry{column-count:var(--sf-columns-mobile);column-gap:var(--sf-gal-x)}
.sf-root .sf-gal-masonry>figure{break-inside:avoid;margin-bottom:var(--sf-gal-gap)}
/* Justified rows: each photo starts at the row height and grows in proportion
   to its own width, so every photo in a row ends at the same height. The last
   row stays near the row height rather than stretching to the edge. */
.sf-root .sf-gal-justified{--sf-gal-row:var(--sf-gal-row-mobile);display:flex;flex-wrap:wrap;gap:var(--sf-gal-gap) var(--sf-gal-x)}
.sf-root .sf-gal-justified>figure{flex:var(--sf-gal-r) 1 calc(var(--sf-gal-r) * var(--sf-gal-row) * 1px);min-width:0}
.sf-root .sf-gal-justified::after{content:"";flex:1000 1 0px}
.sf-root .sf-gal-justified .sf-picture img{width:100%;height:auto;aspect-ratio:var(--sf-gal-r)}
.sf-root .sf-gal-justified .sf-media-placeholder{min-height:0}
.sf-root .sf-gal-panoramic{display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--sf-gal-gap)}
/* Carousel, slider and thumbnails share one scroll-snap track: it swipes and
   scrolls without script; hydratePage adds the arrows, dots and autoplay. */
.sf-root .sf-gal-carousel{--sf-gal-view:var(--sf-gal-view-mobile)}
.sf-root .sf-gal-slider,.sf-root .sf-gal-thumbnails{--sf-gal-view:1}
.sf-root .sf-gal-viewport{position:relative}
.sf-root .sf-gal-track{position:relative;display:flex;align-items:center;gap:var(--sf-gal-x);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.sf-root .sf-gal-has-arrows .sf-gal-track{scrollbar-width:none}
.sf-root .sf-gal-has-arrows .sf-gal-track::-webkit-scrollbar{display:none}
.sf-root .sf-gal-track :focus-visible{outline-offset:-3px}
.sf-root .sf-gal-slide{flex:0 0 calc((100% - (var(--sf-gal-view) - 1) * var(--sf-gal-x)) / var(--sf-gal-view));min-width:0;scroll-snap-align:start}
/* A photo at its own shape stays within the screen; a chosen shape is kept. */
.sf-root :is(.sf-gal-slider,.sf-gal-thumbnails):not(.sf-gal-crop,.sf-gal-contain) .sf-gal-slide .sf-picture img{max-height:85vh;object-fit:contain}
.sf-root .sf-gal-arrow{position:absolute;top:var(--sf-gal-arrow-y,50%);z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:#fff;color:#141414;cursor:pointer;box-shadow:0 2px 12px rgb(0 0 0 / .2)}
.sf-root .sf-gal-prev{left:8px}
.sf-root .sf-gal-next{right:8px}
.sf-root .sf-gal-arrow:disabled{opacity:.35;cursor:default}
.sf-root .sf-gal-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:20px}
.sf-root .sf-gal-dots{display:flex;flex-wrap:wrap;justify-content:center}
.sf-root .sf-gal-dot{display:grid;place-items:center;min-width:24px;height:24px;padding:0 4px;border:0;background:none;color:inherit;cursor:pointer}
.sf-root .sf-gal-dot::before{content:"";width:8px;height:8px;border-radius:4px;background:currentColor;opacity:.4;transition:width .2s}
.sf-root .sf-gal-dot[aria-current="true"]::before{width:22px;opacity:1}
.sf-root .sf-gal-play{min-height:36px;padding:6px 14px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.sf-root .sf-gal-thumbs{display:flex;gap:8px;margin-top:12px;padding:6px 4px;overflow-x:auto;scrollbar-width:thin}
.sf-root .sf-gal-thumb{flex:0 0 auto;width:64px;height:64px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:var(--sf-radius);background:var(--sf-surface);opacity:.7;cursor:pointer}
.sf-root .sf-gal-thumb img,.sf-root .sf-gal-thumb-empty{display:block;width:100%;height:100%;object-fit:cover}
.sf-root .sf-gal-thumb[aria-current="true"]{border-color:var(--sf-text);opacity:1}
.sf-root .sf-gal-thumb:focus-visible{outline-offset:1px}
@media(min-width:768px){
  .sf-root .sf-gal-gap{column-gap:var(--sf-inner-padding-tablet,var(--sf-gal-gap))}
  .sf-root .sf-gal{--sf-gal-x:var(--sf-inner-padding-tablet,var(--sf-gal-gap))}
  .sf-root .sf-gal-masonry{column-count:var(--sf-columns-tablet)}
  .sf-root .sf-gal-justified{--sf-gal-row:var(--sf-gal-row-tablet)}
  .sf-root .sf-gal-carousel{--sf-gal-view:var(--sf-gal-view-tablet)}
  .sf-root .sf-gal-prev{left:12px}
  .sf-root .sf-gal-next{right:12px}
  .sf-root .sf-gal-thumb{width:80px;height:80px}
}
@media(min-width:1024px){
  .sf-root .sf-gal-gap{column-gap:var(--sf-inner-padding-desktop,var(--sf-gal-gap))}
  .sf-root .sf-gal{--sf-gal-x:var(--sf-inner-padding-desktop,var(--sf-gal-gap))}
  .sf-root .sf-gal-masonry{column-count:var(--sf-columns-desktop)}
  .sf-root .sf-gal-justified{--sf-gal-row:var(--sf-gal-row-desktop)}
  .sf-root .sf-gal-carousel{--sf-gal-view:var(--sf-gal-view-desktop)}
}
@media(prefers-reduced-motion:reduce){
  .sf-root .sf-gal-track{scroll-behavior:auto}
  .sf-root .sf-gal-dot::before{transition:none}
}

/* 1.16.0 footer themes. 'columns': a dark band from the theme tokens (set on
   the footer by the renderer), up to four equal menu columns, a row of links
   split by thin bars, and the copyright line. Condensed type in the manner of
   Archivo Narrow, from the fonts a visitor's device already has. */
.sf-root .sf-footer.sf-ftr-columns{border-top:0;background:var(--sf-ftr-bg);color:var(--sf-ftr-fg);font-family:"Archivo Narrow","Arial Narrow","Roboto Condensed","sans-serif-condensed","Helvetica Neue",Arial,sans-serif;font-stretch:condensed}
.sf-root .sf-ftr-columns a,.sf-root .sf-ftr-columns .sf-unavailable{color:var(--sf-ftr-muted);text-decoration:none}
.sf-root .sf-ftr-columns a:hover{color:var(--sf-ftr-fg);text-decoration:underline;text-underline-offset:3px}
.sf-root .sf-ftr-columns :focus-visible{outline:2px solid var(--sf-ftr-fg);outline-offset:2px}
.sf-root .sf-footer.sf-ftr-columns nav{display:block;font-size:inherit}
.sf-root .sf-ftr-columns ul{margin:0;padding:0;list-style:none}
.sf-root .sf-ftr-cols{display:grid;grid-template-columns:minmax(0,1fr);row-gap:32px;column-gap:var(--sf-inner-padding-mobile,32px)}
.sf-root .sf-ftr-col{min-width:0}
.sf-root .sf-ftr-heading{margin:0 0 14px;color:var(--sf-ftr-fg);font-family:inherit;font-size:18px;font-weight:700;line-height:1.25}
.sf-root .sf-ftr-col li{font-size:16px;line-height:1.35}
.sf-root .sf-ftr-col a,.sf-root .sf-ftr-col .sf-unavailable{display:inline-block;padding-block:4px;overflow-wrap:anywhere}
.sf-root .sf-ftr-bottom{margin-top:40px}
.sf-root .sf-ftr-bottom ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;row-gap:4px;font-size:14px}
.sf-root .sf-ftr-bottom li{display:flex;align-items:center}
.sf-root .sf-ftr-bottom li+li::before{content:"";width:1px;height:1em;margin-inline:12px;background:currentColor;opacity:.5}
.sf-root .sf-ftr-bottom a,.sf-root .sf-ftr-bottom .sf-unavailable{display:inline-block;padding-block:4px}
.sf-root .sf-ftr-copyright{margin-top:16px;color:var(--sf-ftr-muted);font-size:13px;text-align:center}
.sf-root .sf-ftr-cols+.sf-ftr-copyright{margin-top:40px}
@media(min-width:768px){
  .sf-root .sf-ftr-cols{column-gap:var(--sf-inner-padding-tablet,32px)}
  .sf-root .sf-ftr-cols:not(.sf-ftr-cols-1){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .sf-root .sf-ftr-cols{column-gap:var(--sf-inner-padding-desktop,32px)}
  .sf-root .sf-ftr-cols.sf-ftr-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sf-root .sf-ftr-cols.sf-ftr-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* 1.18.0 'columns' footer, matched to the live Kit Designer footer at 1280px:
   Archivo Narrow (SIL OFL 1.1, self-hosted beside Inter, latin subset),
   18px links on a 38px pitch, medium headings, the bottom row and copyright
   on the left, and the band 640px tall with ten links in a column. Tablets and
   phones step the type and pitch down. */
@font-face{font-family:"Archivo Narrow";src:url("../assets/fonts/archivo-narrow-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Archivo Narrow";src:url("../assets/fonts/archivo-narrow-latin-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap;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}
.sf-root .sf-ftr-columns .sf-ftr-heading{font-weight:500}
.sf-root .sf-ftr-columns .sf-ftr-col li{font-size:16px;line-height:24px}
.sf-root .sf-ftr-columns .sf-ftr-bottom ul{justify-content:flex-start}
.sf-root .sf-ftr-columns .sf-ftr-copyright{text-align:left}
@media(min-width:768px){
  .sf-root .sf-ftr-columns .sf-ftr-col li{font-size:17px;line-height:26px}
  .sf-root .sf-footer.sf-ftr-columns{padding-top:calc(var(--sf-top-tablet)*1px + 6px);padding-bottom:calc(var(--sf-bottom-tablet)*1px + 6px)}
}
@media(min-width:1024px){
  .sf-root .sf-ftr-columns .sf-ftr-col li{font-size:18px;line-height:30px}
  .sf-root .sf-footer.sf-ftr-columns{padding-top:calc(var(--sf-top-desktop)*1px + 10px);padding-bottom:calc(var(--sf-bottom-desktop)*1px + 10px)}
}

/* 1.19.0: product and collection cards follow their section's Alignment, as
   the heading already does. Left, the default, is unchanged: these rules
   only match Center and Right sections. */
.sf-root .sf-align-center .sf-product,.sf-root .sf-align-center .sf-collection-card{text-align:center}
.sf-root .sf-align-right .sf-product,.sf-root .sf-align-right .sf-collection-card{text-align:right}

/* 1.20.0: the Four columns footer's bottom row can carry a logo on its left,
   a label before its links and a mark on each link. Footers without them
   match none of these rules. */
.sf-root .sf-ftr-base{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:40px}
.sf-root .sf-ftr-base-logo{display:block;flex:none;line-height:0}
.sf-root .sf-ftr-base-logo .sf-ftr-logo{background:transparent;border-radius:0}
.sf-root .sf-ftr-base-logo .sf-ftr-logo,.sf-root .sf-ftr-base-logo img{display:block;width:auto;max-width:180px;height:auto;max-height:64px;object-fit:contain}
.sf-root .sf-ftr-base-text{min-width:0}
.sf-root .sf-ftr-base-text>.sf-ftr-bottom,.sf-root .sf-ftr-base-text>.sf-ftr-copyright:first-child{margin-top:0}
.sf-root .sf-ftr-base-text>.sf-ftr-bottom+.sf-ftr-copyright{margin-top:8px}
.sf-root .sf-ftr-bottom .sf-ftr-label{color:var(--sf-ftr-fg);padding-block:4px}
.sf-root .sf-ftr-mark{display:inline-block;margin-inline-end:6px}
.sf-root span.sf-ftr-mark{font-size:.8em;vertical-align:.08em}
.sf-root .sf-ftr-icon{width:1.1em;height:1.1em;vertical-align:-.2em}
@media (min-width:768px){
  .sf-root .sf-ftr-base{flex-direction:row;align-items:center;gap:24px}
}

/* 1.21.0: a text field's own alignment (the align icons beside Heading and
   the other text fields) places it across the section, not only inside the
   680px text column, which sits at the section's left unless the section is
   centred. When a field in the column is aligned, the column spans the
   section and each of its lines keeps the 680px measure: aligned lines move
   to the section's left, centre or right, the others stay where the
   section's Alignment puts them. Columns without an aligned field match none
   of these rules. */
.sf-root .sf-prose:has(>[style*="text-align:"]){max-width:none}
.sf-root .sf-prose:has(>[style*="text-align:"])>*{max-width:680px}
.sf-root .sf-align-center .sf-prose:has(>[style*="text-align:"])>*{margin-inline:auto}
.sf-root .sf-align-right .sf-prose:has(>[style*="text-align:"])>*{margin-inline:auto 0}
.sf-root .sf-prose:has(>[style*="text-align:"])>[style*="text-align:left"]{margin-inline:0 auto}
.sf-root .sf-prose:has(>[style*="text-align:"])>[style*="text-align:center"]{margin-inline:auto}
.sf-root .sf-prose:has(>[style*="text-align:"])>[style*="text-align:right"]{margin-inline:auto 0}

/* 1.22.0: the video gallery's List layout. Each video sits beside its text
   from 768px (below it on phones); title and description show two lines at
   most. Grid galleries match none of these rules. */
.sf-root .sf-video-list{display:grid;gap:28px}
.sf-root .sf-video-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.sf-root .sf-video-row .sf-video-text{min-width:0}
.sf-root .sf-video-row .sf-video-text h3{margin:0 0 10px;font-size:20px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.sf-root .sf-video-description{margin:0 0 10px;color:color-mix(in srgb,currentColor 72%,transparent);line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.sf-root .sf-video-stats{margin:0;color:color-mix(in srgb,currentColor 60%,transparent);font-size:14px}
@media (min-width:768px){
  .sf-root .sf-video-row{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px}
}

/* 1.23.0: two list videos per row from 1024px. In each, the video and its
   text share the space half and half and the text is a size smaller; tablets
   and phones keep one per row. Lists without sf-video-list-2 match none of
   these rules. */
@media (min-width:1024px){
  .sf-root .sf-video-list-2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .sf-root .sf-video-list-2 .sf-video-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .sf-root .sf-video-list-2 .sf-video-text h3{font-size:16px;margin-bottom:6px}
  .sf-root .sf-video-list-2 .sf-video-description{font-size:14px;margin-bottom:6px;line-height:1.5}
  .sf-root .sf-video-list-2 .sf-video-stats{font-size:13px}
}

/* 1.24.0: the Four columns footer's copyright sits one ordinary line under
   the bottom row's links, with no gap between them: no margin above the
   copyright, no padding around the links, and one line height for both. */
.sf-root .sf-ftr-columns .sf-ftr-bottom+.sf-ftr-copyright,.sf-root .sf-ftr-base-text>.sf-ftr-bottom+.sf-ftr-copyright{margin-top:0}
.sf-root .sf-ftr-columns .sf-ftr-bottom a,.sf-root .sf-ftr-columns .sf-ftr-bottom .sf-unavailable,.sf-root .sf-ftr-columns .sf-ftr-bottom .sf-ftr-label{padding-block:0}
.sf-root .sf-ftr-columns .sf-ftr-bottom ul,.sf-root .sf-ftr-columns .sf-ftr-copyright{line-height:1.6}

/* 1.25.0: the announcement bar's button after its text, or a menu in its
   place split by thin bars. Bars without them match none of these rules. */
.sf-root .sf-announcement-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px}
.sf-root .sf-announcement-row .sf-button{margin:0;min-height:0;padding:3px 12px;font-size:12px;line-height:1.4;letter-spacing:.02em}
.sf-root .sf-announcement-menu ul{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;row-gap:2px}
.sf-root .sf-announcement-menu li{display:flex;align-items:center}
.sf-root .sf-announcement-menu li+li::before{content:"";width:1px;height:1em;margin-inline:12px;background:currentColor;opacity:.5}
.sf-root .sf-announcement-menu a{color:inherit}
.sf-root .sf-announcement-menu-left ul{justify-content:flex-start}
.sf-root .sf-announcement-menu-center ul{justify-content:center}
.sf-root .sf-announcement-menu-right ul{justify-content:flex-end}
.sf-root .sf-button-place{margin-top:24px}
.sf-root .sf-button-place>.sf-button,.sf-root .sf-button-place>.sf-text-link{margin-top:0}
.sf-root .sf-button-place-left,.sf-root .sf-button-place-center,.sf-root .sf-button-place-right{align-self:stretch;width:100%}
.sf-root .sf-button-place-left{text-align:left}
.sf-root .sf-button-place-center{text-align:center}
.sf-root .sf-button-place-right{text-align:right}
.sf-root .sf-hero-copy>.sf-button-place{margin-top:var(--sf-hero-button-gap,24px)}
.sf-root .sf-action-placed{margin-top:14px}
.sf-root .sf-action-placed>.sf-button,.sf-root .sf-action-placed>.sf-text-link{margin-top:0}
.sf-root .sf-action-placed.sf-button-place-left{justify-content:flex-start;text-align:initial}
.sf-root .sf-action-placed.sf-button-place-center{justify-content:center;text-align:initial}
.sf-root .sf-action-placed.sf-button-place-right{justify-content:flex-end;text-align:initial}
@media(min-width:768px){.sf-root .sf-rich-action>.sf-button-place{margin-top:0}}
.sf-root .sf-announcement-bar.sf-width-full>.sf-container{padding-inline:clamp(16px,4vw,72px)}

/* 1.28.0 Hero slideshow controls: flat round arrows on the slide's edges and a
   small pause/play button in the corner. White with a soft shadow, so they show
   on light and dark photos. The copy keeps clear of them at every width. */
.sf-root .sf-carousel:has(>.sf-hero-arrow){position:relative}
.sf-root .sf-hero-arrow,.sf-root .sf-hero-play{position:absolute;z-index:3;display:grid;place-items:center;min-height:0;padding:0;border:0;border-radius:50%;background:#fff;color:#141414;cursor:pointer;box-shadow:0 1px 3px rgb(0 0 0 / .16),0 2px 12px rgb(0 0 0 / .2)}
.sf-root .sf-hero-arrow{top:50%;width:36px;height:36px;transform:translateY(-50%)}
.sf-root .sf-hero-arrow svg{width:22px;height:22px}
.sf-root .sf-hero-prev{left:6px}
.sf-root .sf-hero-next{right:6px}
.sf-root .sf-hero-play{right:6px;bottom:6px;width:32px;height:32px}
.sf-root .sf-hero-play svg{width:16px;height:16px}
.sf-root .sf-hero-play-icon path{fill:currentColor}
.sf-root .sf-hero-play[data-playing="true"] .sf-hero-play-icon,.sf-root .sf-hero-play:not([data-playing="true"]) .sf-hero-pause-icon{display:none}
.sf-root .sf-hero-arrow:hover,.sf-root .sf-hero-play:hover:not(:disabled){background:#f0f0f0}
.sf-root .sf-hero-play:disabled{cursor:default;opacity:.6}
/* Dark ring between two white ones: visible on any photo. */
.sf-root .sf-hero-arrow:focus-visible,.sf-root .sf-hero-play:focus-visible{outline:3px solid #141414;outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 0 7px #fff}
.sf-root .sf-carousel:has(>.sf-hero-arrow) .sf-hero-copy{padding-inline:48px}
@media(min-width:768px){
  .sf-root .sf-hero-arrow{width:44px;height:44px}
  .sf-root .sf-hero-arrow svg{width:26px;height:26px}
  .sf-root .sf-hero-prev{left:12px}
  .sf-root .sf-hero-next{right:12px}
  .sf-root .sf-hero-play{right:12px;bottom:12px;width:36px;height:36px}
  .sf-root .sf-carousel:has(>.sf-hero-arrow) .sf-hero-copy{padding-inline:64px}
}

/* 1.29.0 A rich text button aligned left, centre or right lines up across the
   whole row, the way an aligned heading does, instead of inside the 680px text
   column. The other text keeps its 680px measure. */
.sf-root .sf-prose:has(>.sf-button-place-left,>.sf-button-place-center,>.sf-button-place-right){max-width:none}
.sf-root .sf-prose:has(>.sf-button-place-left,>.sf-button-place-center,>.sf-button-place-right)>*{max-width:680px}
.sf-root .sf-align-center .sf-prose:has(>.sf-button-place-left,>.sf-button-place-center,>.sf-button-place-right)>*{margin-inline:auto}
.sf-root .sf-align-right .sf-prose:has(>.sf-button-place-left,>.sf-button-place-center,>.sf-button-place-right)>*{margin-inline:auto 0}
.sf-root .sf-prose:has(>.sf-button-place-left,>.sf-button-place-center,>.sf-button-place-right)>.sf-button-place{max-width:none;margin-inline:0}

/* 1.31.0: a video gallery's play button is a round play mark over the video's
   picture, as in the Admin editor's preview, instead of a "Play video" button
   under it (grid and list). The whole picture plays the video; the button keeps
   its name ("Play <title>") for screen readers. Single videos are unchanged. */
.sf-root .sf-video-gallery [data-sf-video-slot]>.sf-button{position:absolute;inset:0;z-index:1;display:grid;place-items:center;width:100%;height:100%;max-width:none;min-height:0;margin:0;padding:0;border:0;border-radius:var(--sf-radius);background:transparent;color:transparent;font-size:0;box-shadow:none}
.sf-root .sf-video-gallery [data-sf-video-slot]>.sf-button::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:rgba(18,18,18,.83);box-shadow:0 4px 20px rgba(0,0,0,.3)}
.sf-root .sf-video-gallery [data-sf-video-slot]>.sf-button::after{content:"";position:absolute;left:calc(50% + 3px);top:50%;transform:translate(-50%,-50%);border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:18px solid #fff}
.sf-root .sf-video-gallery [data-sf-video-slot]>.sf-button:hover::before{background:rgba(0,0,0,.96)}
.sf-root .sf-video-gallery [data-sf-video-slot]>.sf-button:focus-visible{outline:3px solid #141414;outline-offset:2px;box-shadow:0 0 0 2px #fff}

/* 1.32.0: themed header menus open when pointed at (script). In the centered
   theme the item being pointed at, or whose menu is open, turns black with a
   black underline, and its dropdown is square with grey links and a black
   base line (the Kit Designer menu). */
.sf-root .sf-hdr-centered .sf-hdr-item:hover::after,.sf-root .sf-hdr-centered .sf-hdr-item:has(>.sf-hdr-sub[open])::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#000}
.sf-root .sf-hdr-centered .sf-hdr-item:hover>a,.sf-root .sf-hdr-centered .sf-hdr-item:hover>.sf-hdr-sub>summary,.sf-root .sf-hdr-centered .sf-hdr-item:has(>.sf-hdr-sub[open])>a,.sf-root .sf-hdr-centered .sf-hdr-item:has(>.sf-hdr-sub[open])>.sf-hdr-sub>summary{color:#000}
.sf-root .sf-hdr-centered .sf-hdr-sub>.sf-menu-tree{min-width:100%;padding:10px 0;border:0;border-bottom:3px solid #000;border-radius:0;box-shadow:0 10px 20px rgba(0,0,0,.12);font-size:17px;line-height:1.35}
.sf-root .sf-hdr-centered .sf-hdr-sub .sf-menu-tree a,.sf-root .sf-hdr-centered .sf-hdr-sub .sf-menu-tree .sf-unavailable{padding:8px 20px;color:#666}
.sf-root .sf-hdr-centered .sf-hdr-sub .sf-menu-tree a:hover{background:transparent;color:#000}

/* 1.33.0: in Rich text (Stacked) the heading uses the full width of the
   section's container, so a short heading no longer wraps inside the 680px
   reading column. Body text keeps that column, placed by the section's
   alignment; a placed button keeps its 1.29.0 row. Side layout and every
   other section are unchanged. */
.sf-root .sf-rich-text>.sf-container>.sf-prose{max-width:none}
.sf-root .sf-rich-text>.sf-container>.sf-prose>.sf-title{max-width:none}
.sf-root .sf-rich-text>.sf-container>.sf-prose>:not(.sf-title,.sf-button-place){max-width:680px}
.sf-root .sf-rich-text.sf-align-center>.sf-container>.sf-prose>:not(.sf-title,.sf-button-place){margin-inline:auto}
.sf-root .sf-rich-text.sf-align-right>.sf-container>.sf-prose>:not(.sf-title,.sf-button-place){margin-inline:auto 0}

/* 1.35.0 Collection header themes. Centered title: the heading and subheading
   in the middle of the page. Split banner: the collection picture on one side
   and a coloured panel with the heading on the other; the picture goes on top
   on phones. The panel's text colour is chosen by the renderer for contrast. */
.sf-root .sf-collection-header-centered{display:block;text-align:center}
.sf-root .sf-collection-header-centered .sf-collection-header-copy>*{max-width:900px;margin-inline:auto}
.sf-root .sf-collection-header-centered .sf-collection-header-copy>[style*="text-align:left"]{margin-inline:0 auto}
.sf-root .sf-collection-header-centered .sf-collection-header-copy>[style*="text-align:right"]{margin-inline:auto 0}
.sf-root .sf-collection-header-copy .sf-collection-description,.sf-root .sf-collection-header-panel .sf-collection-description{margin-top:8px}
.sf-root .sf-collection-header-split{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch;background:var(--sf-ch-bg);color:var(--sf-ch-fg);overflow:hidden}
.sf-root .sf-collection-header-split .sf-collection-header-media .sf-picture{display:block;width:100%;height:100%}
.sf-root .sf-collection-header-split .sf-collection-header-media img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.sf-root .sf-collection-header-panel{display:flex;flex-direction:column;justify-content:center;text-align:center;padding:32px 24px}
.sf-root .sf-collection-header-panel .sf-title,.sf-root .sf-collection-header-panel .sf-collection-description{color:inherit}
@media(min-width:768px){
  .sf-root .sf-collection-header-split{grid-template-columns:repeat(2,minmax(0,1fr));min-height:clamp(260px,26vw,400px)}
  .sf-root .sf-collection-header-split.sf-collection-header-no-image{grid-template-columns:minmax(0,1fr)}
  .sf-root .sf-collection-header-split .sf-collection-header-media{position:relative}
  .sf-root .sf-collection-header-split .sf-collection-header-media img{position:absolute;inset:0;aspect-ratio:auto}
  .sf-root .sf-collection-header-image-right .sf-collection-header-media{order:1}
  .sf-root .sf-collection-header-panel{padding:40px 48px}
}

/* 1.36.0 Hero slideshow "Fit entire image": the picture spans the section's
   full width, edge to edge past the content column, and the section's height
   (mobile/tablet/desktop), cropped to fill (object-fit:cover) around the
   focal point and zoom, with no overlay. The section is a size container, so
   the slide bleeds by 50cqw - 50% each side and pads its copy back into the
   column. Heading, text and button stay below the picture; a slide without
   them shows the picture alone. The "Image unavailable" placeholder fills the
   same box. The arrows centre on the picture at its edges (the carousel is
   the column, so they move out by 50cqw - 50%) and the pause/play button
   sits in its corner. */
.sf-root .sf-section.sf-hero-slideshow:has(.sf-slide-layout-fit){container-type:inline-size}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit{grid-template-rows:auto auto;min-height:0;margin-inline:calc(50% - 50cqw);padding-inline:calc(50cqw - 50%);border-radius:0}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image{width:100cqw;max-width:none;margin-inline:calc(50% - 50cqw);height:calc(var(--sf-hero-height-mobile)*1px);min-height:0;margin-block:0;border-radius:0}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-copy:not(:has(>:not(p:empty))){display:none}
.sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-arrow{top:calc(var(--sf-hero-height-mobile)*.5px)}
.sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-play{top:calc(var(--sf-hero-height-mobile)*1px - 38px);bottom:auto;right:calc(50% - 50cqw + 6px)}
.sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-prev{left:calc(50% - 50cqw + 6px)}
.sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-next{right:calc(50% - 50cqw + 6px)}
@media(min-width:768px){
  .sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image{height:calc(var(--sf-hero-height-tablet)*1px)}
  .sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-arrow{top:calc(var(--sf-hero-height-tablet)*.5px)}
  .sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-play{top:calc(var(--sf-hero-height-tablet)*1px - 48px);right:calc(50% - 50cqw + 12px)}
  .sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-prev{left:calc(50% - 50cqw + 12px)}
  .sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-next{right:calc(50% - 50cqw + 12px)}
}
@media(min-width:1024px){
  .sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image{height:calc(var(--sf-hero-height-desktop)*1px)}
  .sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-arrow{top:calc(var(--sf-hero-height-desktop)*.5px)}
  .sf-root .sf-carousel:has(>.sf-slide-layout-fit:not([hidden]))>.sf-hero-play{top:calc(var(--sf-hero-height-desktop)*1px - 48px)}
}
/* 1.38.0 contact form. Boxes, corners and the button follow the store's own
   theme. Half-width fields pair up from 768px and stack on a phone. */
.sf-root .sf-contact-intro{margin:8px 0 0;max-width:60ch}
.sf-root .sf-contact-fields{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px}
.sf-root .sf-contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.sf-root .sf-contact-field>label{font-weight:700;font-size:15px}
.sf-root .sf-contact-required{margin-left:4px;color:#a3372a}
.sf-root .sf-contact-field :is(input,select,textarea){width:100%;min-width:0;min-height:52px;padding:12px 16px;font:inherit;font-size:16px;color:inherit;background:var(--sf-background);border:1px solid var(--sf-border);border-radius:var(--sf-radius)}
.sf-root .sf-contact-field textarea{min-height:132px;line-height:1.5;resize:vertical}
.sf-root .sf-contact-field.is-wrong :is(input,select,textarea){border-color:#a3372a;box-shadow:0 0 0 1px #a3372a}
.sf-root .sf-contact-help{margin:0;font-size:14px;opacity:.75}
.sf-root .sf-contact-error{margin:0;font-size:14px;font-weight:700;color:#a3372a}
.sf-root .sf-contact-decoy{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sf-root .sf-contact-actions{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.sf-root .sf-contact-actions-left{align-items:flex-start;text-align:left}
.sf-root .sf-contact-actions-center{align-items:center;text-align:center}
.sf-root .sf-contact-actions-right{align-items:flex-end;text-align:right}
.sf-root .sf-contact-actions .sf-button{margin-top:0;min-width:220px}
.sf-root .sf-contact.is-sending .sf-button{opacity:.7}
.sf-root .sf-contact-note{margin:0;font-size:14px;opacity:.75;max-width:60ch}
.sf-root .sf-contact-status:empty{display:none}
.sf-root .sf-contact-status{margin:16px 0 0;font-weight:700;color:#a3372a}
.sf-root .sf-contact-done{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:28px;padding:32px 24px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);background:var(--sf-surface);text-align:center}
.sf-root .sf-contact-done p{margin:0;font-size:20px;font-weight:700;max-width:40ch}
.sf-root .sf-contact-tick{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--sf-text);color:var(--sf-background)}
.sf-root .sf-contact-tick svg{width:28px;height:28px}
@media(min-width:768px){
  .sf-root .sf-contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
  .sf-root .sf-contact-full{grid-column:1/-1}
}

/* 1.39.0 FAQ section: a centred title, an optional search bar and questions
   in categories. Accordion: one rounded box, light grey closed rows, the open
   one lighter. List: a card per question. Columns: those cards in two columns
   from 768px. Colours come from the section's own settings. */
.sf-root .sf-faq>.sf-container>.sf-title{text-align:center;margin-bottom:clamp(20px,3vw,36px)}
.sf-root .sf-faq2{display:grid;gap:clamp(18px,2.4vw,28px)}
.sf-root .sf-faq2-search{display:flex;margin:0}
.sf-root .sf-faq2-search input{width:100%;min-height:48px;padding:0 16px;border:1px solid #d6d6d6;border-radius:10px;background:#fff;color:#141414;font:inherit}
.sf-root .sf-faq2-category{margin:0 0 12px;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.sf-root .sf-faq2-group[hidden],.sf-root .sf-faq2 [data-sf-faq-item][hidden]{display:none}
.sf-root .sf-faq2-none{margin:0;text-align:center;opacity:.7}
.sf-root .sf-faq2-question{margin:0;color:var(--sf-faq-q);font-size:clamp(17px,1.6vw,21px);font-weight:600;line-height:1.35}
.sf-root .sf-faq2-answer{color:var(--sf-faq-a);font-size:16px;line-height:1.75}
.sf-root .sf-faq2-answer p{margin:0}
.sf-root .sf-faq2-answer>*+*{margin-top:12px}
.sf-root .sf-faq2-video{max-width:640px}
.sf-root .sf-faq2-accordion .sf-faq2-items{overflow:hidden;border:1px solid #e4e4e4;border-radius:12px}
.sf-root .sf-faq2-accordion .sf-faq2-item{background:var(--sf-faq-bg);border-top:1px solid #e4e4e4}
.sf-root .sf-faq2-accordion .sf-faq2-item:first-child{border-top:0}
.sf-root .sf-faq2-accordion .sf-faq2-item[open]{background:color-mix(in srgb,var(--sf-faq-bg) 25%,#fff)}
.sf-root .sf-faq2-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(18px,2.2vw,26px) clamp(18px,2.6vw,34px);cursor:pointer;list-style:none}
.sf-root .sf-faq2-accordion summary::-webkit-details-marker{display:none}
.sf-root .sf-faq2-accordion summary:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
.sf-root .sf-faq2-icon{flex:none;width:22px;height:22px;fill:none;stroke:#b5b5b5;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.sf-root .sf-faq2-arrow .sf-faq2-item[open] .sf-faq2-icon{transform:rotate(180deg)}
.sf-root .sf-faq2-plus .sf-faq2-item[open] .sf-faq2-plus-v{display:none}
.sf-root .sf-faq2-accordion .sf-faq2-answer{padding:0 clamp(18px,2.6vw,34px) clamp(18px,2.4vw,28px)}
.sf-root .sf-faq2-list .sf-faq2-items,.sf-root .sf-faq2-columns .sf-faq2-items{display:grid;gap:clamp(16px,2.4vw,30px)}
.sf-root .sf-faq2-list .sf-faq2-item,.sf-root .sf-faq2-columns .sf-faq2-item{padding:clamp(22px,3vw,40px);background:var(--sf-faq-bg)}
.sf-root .sf-faq2-list .sf-faq2-question,.sf-root .sf-faq2-columns .sf-faq2-question{margin-bottom:14px}
@media(min-width:768px){.sf-root .sf-faq2-columns .sf-faq2-items{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,80px);align-items:start}}
@media(prefers-reduced-motion:reduce){.sf-root .sf-faq2-icon{transition:none}}

/* 1.40.0 Safe HTML keeps a layout vocabulary (sections, flex and grid, inline
   SVG) with filtered inline styles. Its content stays in its box: anything
   wider is clipped and pictures shrink to fit. Pasted layout (a section or div
   at the top) uses the section's full width instead of the 680px text column. */
.sf-root .sf-html-content{overflow:hidden;isolation:isolate}
.sf-root .sf-html-content img,.sf-root .sf-html-content svg{max-width:100%}
.sf-root .sf-html-content img{height:auto}
.sf-root .sf-html-content.sf-prose:has(>:is(section,div)){max-width:none}
.sf-root .sf-html-content.sf-prose:has(>:is(section,div))>*{max-width:none}

/* 1.41.0: the announcement bar's link action is bold, underlined text in the
   bar's own colour. A bar with its own colours draws its button in them: a
   filled button in the text colour, an outline one in the text colour's line. */
.sf-root .sf-announcement-link{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sf-root .sf-announcement-link:hover{text-decoration-thickness:2px}
.sf-root .sf-announcement-bar[data-sf-ann-colors] .sf-announcement-row .sf-button{background:var(--sf-ann-fg,currentColor);color:var(--sf-ann-bg,var(--sf-background));border-color:var(--sf-ann-fg,currentColor)}
.sf-root .sf-announcement-bar[data-sf-ann-colors] .sf-announcement-row .sf-button-outline{background:transparent;color:inherit;border-color:currentColor}
.sf-root .sf-announcement-bar[data-sf-ann-colors] a:not(.sf-button){color:inherit}

/* 1.42.0 Contact form "Beside the heading": from 1024px the heading and intro
   take the left half and the form the right, both starting at the top. Below
   that they stack, as the full-width form does. */
.sf-root .sf-contact-split{display:grid;grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){
  .sf-root .sf-contact-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(48px,7vw,120px);align-items:start}
  .sf-root .sf-contact-split>.sf-contact-main>.sf-contact>.sf-contact-fields,.sf-root .sf-contact-split>.sf-contact-main>.sf-contact-done{margin-top:0}
}

/* 1.43.0 Image with text: 'behind' (the picture fills the row, edge to edge,
   behind the text), the colour layer over the picture only, and each line's
   own style. Behind text starts centred and white with a bold heading; a
   line's own alignment, colour or weight replaces that. */
.sf-root .sf-iwt-media{position:relative;min-width:0}
.sf-root .sf-iwt-overlay{position:absolute;inset:0;border-radius:var(--sf-radius);pointer-events:none}
.sf-root .sf-iwt-behind-section>.sf-container{width:100%;max-width:none}
.sf-root .sf-image-behind{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:calc(var(--sf-hero-height-mobile)*1px);overflow:hidden;background:var(--sf-surface)}
.sf-root .sf-image-behind>.sf-iwt-media{position:absolute;inset:0}
.sf-root .sf-image-behind>.sf-iwt-media>:is(.sf-picture,.sf-media-placeholder){width:100%;height:100%;min-height:0;border:0;border-radius:0}
.sf-root .sf-image-behind>.sf-iwt-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.sf-root .sf-image-behind .sf-iwt-overlay{border-radius:0}
.sf-root .sf-image-behind>.sf-iwt-copy{position:relative;z-index:1;width:min(100% - 40px,var(--sf-max));max-width:none;margin-inline:auto;padding-block:clamp(32px,6vw,72px);color:#fff;text-align:center}
.sf-root .sf-image-behind>.sf-iwt-copy>*{max-width:760px;margin-inline:auto}
.sf-root .sf-image-behind>.sf-iwt-copy .sf-title{font-weight:700}
.sf-root .sf-image-behind>.sf-iwt-copy>.sf-action-row{justify-content:center}
.sf-root .sf-iwt-caption{margin-top:16px;font-size:14px}
.sf-root .sf-iwt-mobile-below{display:block;min-height:0;background:none}
.sf-root .sf-iwt-mobile-below>.sf-iwt-media{position:relative;height:calc(var(--sf-hero-height-mobile)*1px)}
.sf-root .sf-iwt-mobile-below>.sf-iwt-copy{width:100%;color:inherit}
@media(min-width:768px){
  .sf-root .sf-image-behind{min-height:calc(var(--sf-hero-height-tablet)*1px);grid-template-columns:minmax(0,1fr)}
  .sf-root .sf-image-behind>.sf-iwt-copy{width:min(100% - 64px,var(--sf-max))}
  .sf-root .sf-iwt-mobile-below{display:grid;min-height:calc(var(--sf-hero-height-tablet)*1px);background:var(--sf-surface)}
  .sf-root .sf-iwt-mobile-below>.sf-iwt-media{position:absolute;height:auto}
  .sf-root .sf-iwt-mobile-below>.sf-iwt-copy{color:#fff}
}
@media(min-width:1024px){
  .sf-root .sf-image-behind,.sf-root .sf-iwt-mobile-below{min-height:calc(var(--sf-hero-height-desktop)*1px)}
}
/* 1.45.0 Hero slideshow "Full-width image": the eyebrow, heading, text and
   button sit on the picture, as on Fill container: the same dark wash, white
   centred text and text shadow. The picture still spans the section edge to
   edge at the section's height and grows with the text if the text is taller.
   A slide without text shows neither the wash nor an empty text box. */
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit{position:relative;isolation:isolate;grid-template-rows:auto}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image,.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-copy{grid-area:1/1}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image{position:relative;z-index:-2;align-self:stretch;aspect-ratio:auto;height:auto;min-height:calc(var(--sf-hero-height-mobile)*1px)}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image img{position:absolute;inset:0}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit:has(>.sf-hero-copy>:not(p:empty))::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.36) 55%,rgba(0,0,0,.27))}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-copy{order:initial;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;width:100%;min-width:0;color:#fff;text-align:center;text-shadow:0 1px 12px #0009}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit .sf-hero-copy p:not(.sf-eyebrow){max-width:none}
.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit .sf-button-outline{border-color:#fff;color:#fff}
@media(min-width:768px){.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image{height:auto;min-height:calc(var(--sf-hero-height-tablet)*1px)}}
@media(min-width:1024px){.sf-root .sf-carousel .sf-slide.sf-slide-layout-fit>.sf-hero-image{height:auto;min-height:calc(var(--sf-hero-height-desktop)*1px)}}
/* 1.46.0: a column's icon (settings.iconName) sits above its picture and heading, in the
   picture's row; the picture keeps its own width and alignment beside it. */
.sf-root .sf-columns>.sf-feature>.sf-column-media{grid-row:1;align-self:end;display:flex;flex-direction:column;gap:16px;min-width:0}
.sf-root .sf-column-icon{display:block;flex:none;width:var(--sf-column-icon-size,48px);height:var(--sf-column-icon-size,48px);line-height:0}
.sf-root .sf-column-icon>svg{display:block;width:100%;height:100%}
.sf-root .sf-align-center .sf-column-icon{margin-inline:auto}
.sf-root .sf-align-right .sf-column-icon{margin-left:auto}
.sf-root .sf-column-media>.sf-picture{background:transparent}
.sf-root .sf-column-media>.sf-picture img{height:auto;aspect-ratio:auto}
.sf-root .sf-feature[style*="--sf-column-image-width"]>.sf-column-media>:is(.sf-picture,.sf-media-placeholder){width:var(--sf-column-image-width)}
.sf-root .sf-align-center .sf-feature[style*="--sf-column-image-width"]>.sf-column-media>:is(.sf-picture,.sf-media-placeholder){margin-inline:auto}
.sf-root .sf-align-right .sf-feature[style*="--sf-column-image-width"]>.sf-column-media>:is(.sf-picture,.sf-media-placeholder){margin-left:auto}

/* 1.47.0 The customizer's top bar: the store's logo going home, Back to store
   or the store's menu, then the customizer's own actions on the right. It is
   one slim row at every width; on phones the menu folds into a button. */
.sf-root.sf-cz{background:var(--sf-background);color:var(--sf-text);font-family:var(--sf-font-body)}
.sf-root .sf-cz-bar{display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-height:64px;padding:8px clamp(12px,2vw,28px);border-bottom:1px solid var(--sf-border)}
.sf-root .sf-cz-logo{display:flex;align-items:center;flex:none;color:inherit;text-decoration:none}
.sf-root .sf-cz-logo .sf-logo{max-width:160px;background:transparent;border-radius:0}
.sf-root .sf-cz-logo .sf-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:40px;aspect-ratio:auto;object-fit:contain}
.sf-root .sf-cz-brand{font-family:var(--sf-font-heading);font-size:20px;font-weight:700;letter-spacing:-.02em}
.sf-root .sf-cz-back{display:inline-flex;align-items:center;gap:6px;flex:none;color:inherit;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.sf-root .sf-cz-back svg{width:18px;height:18px}
.sf-root .sf-cz-back:hover span{text-decoration:underline;text-underline-offset:3px}
.sf-root .sf-cz-nav{display:none;min-width:0}
.sf-root .sf-cz-links{display:flex;align-items:center;gap:clamp(12px,1.6vw,24px);margin:0;padding:0;list-style:none}
.sf-root .sf-cz-item{position:relative;display:flex;align-items:center;gap:2px}
.sf-root .sf-cz-item>a{color:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
.sf-root .sf-cz-current>a{border-bottom-color:var(--sf-accent-line,var(--sf-accent))}
.sf-root .sf-cz-sub>summary{display:grid;place-items:center;width:20px;height:20px;cursor:pointer;list-style:none}
.sf-root .sf-cz-sub>summary::-webkit-details-marker{display:none}
.sf-root .sf-cz-caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.sf-root .sf-cz-sub>.sf-menu-tree{position:absolute;top:100%;left:0;z-index:20;min-width:200px;margin:8px 0 0;padding:8px;list-style:none;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-radius)}
.sf-root .sf-cz-sub .sf-menu-tree a{display:block;padding:6px 8px;color:inherit;text-decoration:none}
.sf-root .sf-cz-mobile-menu{position:relative;flex:none}
.sf-root .sf-cz-mobile-menu>summary{display:grid;place-items:center;width:40px;height:40px;cursor:pointer;list-style:none}
.sf-root .sf-cz-mobile-menu>summary::-webkit-details-marker{display:none}
.sf-root .sf-cz-mobile-menu>summary svg{width:22px;height:22px}
.sf-root .sf-cz-mobile-menu>nav{position:absolute;top:100%;left:0;z-index:20;display:grid;gap:4px;min-width:220px;padding:10px;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-radius)}
.sf-root .sf-cz-mobile-menu a{color:inherit;text-decoration:none;padding:6px 4px}
.sf-root .sf-cz-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1;min-width:0}
.sf-root .sf-cz-bar a:focus-visible,.sf-root .sf-cz-bar summary:focus-visible{outline:2px solid var(--sf-accent);outline-offset:3px}
@media(max-width:767px){
  .sf-root .sf-cz-bar{min-height:56px}
  .sf-root .sf-cz-logo .sf-logo{max-width:110px}
  .sf-root .sf-cz-logo .sf-logo img{max-height:32px}
  .sf-root .sf-cz-back span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .sf-root .sf-cz-bar>.sf-cz-back{order:-1}
}
@media(min-width:1024px){
  .sf-root .sf-cz-nav{display:block}
  .sf-root .sf-cz-mobile-menu{display:none}
}
/* 1.51.0 Bold header dropdown (David's option C): the item's small arrow sits
   inside its highlight, and the dropdown is a dark panel under the bar with
   uppercase grey links that turn white. It opens on hover (1.32.0) or from
   the arrow. */
.sf-root .sf-hdr-bold .sf-hdr-current{background:var(--sf-accent);color:var(--sf-accentText)}
.sf-root .sf-hdr-bold .sf-hdr-has-menu>.sf-hdr-sub>summary{min-width:14px;margin-right:16px}
.sf-root .sf-hdr-bold .sf-hdr-sub>.sf-menu-tree{width:auto;min-width:max(100%,220px);max-width:min(360px,85vw);padding:14px 0;border:0;border-radius:0;background:color-mix(in srgb,var(--sf-text) 90%,var(--sf-background));color:var(--sf-background);box-shadow:0 12px 24px #0003;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sf-root .sf-hdr-bold .sf-hdr-sub .sf-menu-tree a,.sf-root .sf-hdr-bold .sf-hdr-sub .sf-menu-tree .sf-unavailable{padding:10px 26px;color:inherit;opacity:.62}
.sf-root .sf-hdr-bold .sf-hdr-sub .sf-menu-tree a:hover,.sf-root .sf-hdr-bold .sf-hdr-sub .sf-menu-tree a:focus-visible{background:transparent;opacity:1}
/* 1.53.0 theme fonts: Google Fonts (SIL OFL) served from the store's own
   /assets/fonts, latin only. A browser downloads a file only when the page
   uses that family and weight. */
@font-face{font-family:"Rajdhani";src:url("../assets/fonts/rajdhani-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Rajdhani";src:url("../assets/fonts/rajdhani-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Rajdhani";src:url("../assets/fonts/rajdhani-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Oswald";src:url("../assets/fonts/oswald-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Oswald";src:url("../assets/fonts/oswald-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Oswald";src:url("../assets/fonts/oswald-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Bebas Neue";src:url("../assets/fonts/bebas-neue-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Barlow Condensed";src:url("../assets/fonts/barlow-condensed-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Barlow Condensed";src:url("../assets/fonts/barlow-condensed-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Barlow Condensed";src:url("../assets/fonts/barlow-condensed-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Teko";src:url("../assets/fonts/teko-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Teko";src:url("../assets/fonts/teko-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Teko";src:url("../assets/fonts/teko-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Anton";src:url("../assets/fonts/anton-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Chakra Petch";src:url("../assets/fonts/chakra-petch-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Chakra Petch";src:url("../assets/fonts/chakra-petch-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Chakra Petch";src:url("../assets/fonts/chakra-petch-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Saira Condensed";src:url("../assets/fonts/saira-condensed-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Saira Condensed";src:url("../assets/fonts/saira-condensed-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Saira Condensed";src:url("../assets/fonts/saira-condensed-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";src:url("../assets/fonts/roboto-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";src:url("../assets/fonts/roboto-latin-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto";src:url("../assets/fonts/roboto-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Open Sans";src:url("../assets/fonts/open-sans-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Open Sans";src:url("../assets/fonts/open-sans-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Open Sans";src:url("../assets/fonts/open-sans-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Montserrat";src:url("../assets/fonts/montserrat-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Montserrat";src:url("../assets/fonts/montserrat-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Montserrat";src:url("../assets/fonts/montserrat-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Poppins";src:url("../assets/fonts/poppins-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Poppins";src:url("../assets/fonts/poppins-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Poppins";src:url("../assets/fonts/poppins-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Barlow";src:url("../assets/fonts/barlow-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Barlow";src:url("../assets/fonts/barlow-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Barlow";src:url("../assets/fonts/barlow-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Lato";src:url("../assets/fonts/lato-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Lato";src:url("../assets/fonts/lato-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Archivo";src:url("../assets/fonts/archivo-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Archivo";src:url("../assets/fonts/archivo-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Archivo";src:url("../assets/fonts/archivo-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Kanit";src:url("../assets/fonts/kanit-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Kanit";src:url("../assets/fonts/kanit-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Kanit";src:url("../assets/fonts/kanit-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Exo 2";src:url("../assets/fonts/exo-2-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Exo 2";src:url("../assets/fonts/exo-2-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Exo 2";src:url("../assets/fonts/exo-2-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Playfair Display";src:url("../assets/fonts/playfair-display-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Playfair Display";src:url("../assets/fonts/playfair-display-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;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:"Playfair Display";src:url("../assets/fonts/playfair-display-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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:"Merriweather";src:url("../assets/fonts/merriweather-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;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:"Merriweather";src:url("../assets/fonts/merriweather-latin-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;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}
/* 1.55.0 Bold menu bar like David's example: every item is grey (the bar's
   text colour at 62%); the current item, the item pointed at and an open
   item's parent are in full white. No accent block behind the current item. */
.sf-root .sf-hdr-bold .sf-hdr-item>a,.sf-root .sf-hdr-bold .sf-hdr-item>.sf-unavailable,.sf-root .sf-hdr-bold .sf-hdr-item>.sf-hdr-sub>summary{opacity:.62}
.sf-root .sf-hdr-bold .sf-hdr-current,.sf-root .sf-hdr-bold .sf-hdr-current>a,.sf-root .sf-hdr-bold .sf-hdr-current>a:hover{background:transparent;color:inherit}
.sf-root .sf-hdr-bold .sf-hdr-current>a,.sf-root .sf-hdr-bold .sf-hdr-current>.sf-hdr-sub>summary,.sf-root .sf-hdr-bold .sf-hdr-item:hover>a,.sf-root .sf-hdr-bold .sf-hdr-item:hover>.sf-hdr-sub>summary,.sf-root .sf-hdr-bold .sf-hdr-item:focus-within>a,.sf-root .sf-hdr-bold .sf-hdr-item:has(>.sf-hdr-sub[open])>a,.sf-root .sf-hdr-bold .sf-hdr-item:has(>.sf-hdr-sub[open])>.sf-hdr-sub>summary{opacity:1}
/* 1.56.0 video gallery grid: the title and description above the video, or
   on its cover picture (white on a dark fade, gone once the video plays). */
.sf-root .sf-video-text{margin:0 0 14px}
.sf-root .sf-video-text>h3{margin:0}
.sf-root .sf-video-text>.sf-video-description,.sf-root .sf-video-caption>.sf-video-description{margin:6px 0 0;opacity:.8}
.sf-root .sf-video-caption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:56px 20px 16px;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,0));color:#fff;text-align:left;text-shadow:0 1px 8px #0008;pointer-events:none}
.sf-root .sf-video-caption>h3{margin:0;color:#fff}
/* 1.57.0 Image banners: up to four pictures side by side, each with its words
   at the top and its button at the bottom, on the left, centre or right. */
.sf-root .sf-banners{align-items:stretch}
.sf-root .sf-banner{position:relative;display:flex;min-height:calc(var(--sf-banner-height-mobile)*1px);overflow:hidden;border-radius:var(--sf-radius);background:var(--sf-text);color:#fff;isolation:isolate}
.sf-root .sf-banner-media{position:absolute;inset:0;z-index:-1}
.sf-root .sf-banner-media>.sf-picture,.sf-root .sf-banner-media>.sf-media-placeholder{width:100%;height:100%;border-radius:0}
.sf-root .sf-banner-media img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.sf-root .sf-banner-media>.sf-iwt-overlay{position:absolute;inset:0}
.sf-root .sf-banner-copy{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:20px;width:100%;padding:clamp(20px,3vw,40px);text-align:left;text-shadow:0 1px 10px #0006}
.sf-root .sf-banner-right .sf-banner-copy{align-items:flex-end;text-align:right}
.sf-root .sf-banner-center .sf-banner-copy{align-items:center;justify-content:center;text-align:center}
.sf-root .sf-banner-words>*{margin:0;color:inherit}
.sf-root .sf-banner-words>.sf-eyebrow{margin-bottom:6px}
.sf-root .sf-banner-words>.sf-title{font-size:clamp(28px,3.6vw,54px);line-height:1;letter-spacing:.01em}
.sf-root .sf-banner-words>.sf-banner-body{margin-top:10px;max-width:36ch;opacity:.9}
.sf-root .sf-banner-copy>.sf-button,.sf-root .sf-banner-copy>.sf-button-place{margin:0;text-shadow:none}
@media(min-width:768px){.sf-root .sf-banner{min-height:calc(var(--sf-banner-height-tablet)*1px)}}
@media(min-width:1024px){.sf-root .sf-banner{min-height:calc(var(--sf-banner-height-desktop)*1px)}}
/* 1.58.0 menu font: the header's (and /design's) menu links in the theme's
   Menu font, over any header theme's own. Only with the sf-menu-font class. */
.sf-root.sf-menu-font .sf-desktop-nav nav,.sf-root.sf-menu-font .sf-mobile-menu,.sf-root.sf-menu-font .sf-hdr-nav,.sf-root.sf-menu-font .sf-hdr-links,.sf-root.sf-menu-font .sf-hdr-sub .sf-menu-tree,.sf-root.sf-menu-font .sf-cz-nav{font-family:var(--sf-font-menu)}
/* 1.58.0 hero: the words on a Full-width image or Fill container slide on the
   left or right (copyAlign); the centre stays as before. */
.sf-root .sf-carousel .sf-slide.sf-copy-left>.sf-hero-copy{align-items:flex-start;text-align:left}
.sf-root .sf-carousel .sf-slide.sf-copy-left .sf-hero-copy p{margin-inline:0}
.sf-root .sf-carousel .sf-slide.sf-copy-right>.sf-hero-copy{align-items:flex-end;text-align:right}
.sf-root .sf-carousel .sf-slide.sf-copy-right .sf-hero-copy p{margin-inline:auto 0}
/* 1.60.0: a preview running the 3D hero (hydratePage heroAssetBase) drops the "Spins on the live site" note; it returns with the poster if the scene fails. */
.sf-root .sf-hero-3d:not(.is-fallback) .sf-hero3d-note{display:none}
/* 1.61.0: an Image banner's words at the top, middle or bottom, and its button right under them or at the bottom, never above them; its button padding. */
.sf-root .sf-banner-placed .sf-banner-copy{justify-content:flex-start}
.sf-root .sf-banner-v-middle.sf-banner-btn-text .sf-banner-copy{justify-content:center}
.sf-root .sf-banner-v-bottom.sf-banner-btn-text .sf-banner-copy{justify-content:flex-end}
.sf-root .sf-banner-btn-bottom .sf-banner-copy>:last-child:not(.sf-banner-words){margin-top:auto}
.sf-root .sf-banner-v-middle.sf-banner-btn-bottom .sf-banner-words,.sf-root .sf-banner-v-bottom.sf-banner-btn-bottom .sf-banner-words{margin-top:auto}
.sf-root .sf-banner-v-bottom.sf-banner-btn-bottom .sf-banner-copy>:last-child:not(.sf-banner-words){margin-top:0}
.sf-root .sf-banner-padded .sf-banner-copy .sf-button{min-height:0;padding:var(--sf-banner-button-pad) calc(var(--sf-banner-button-pad)*1.8)}
/* 1.62.0: a header's own logo height (phones below 768px, then larger screens) and a themed header's logo row padding. */
.sf-root .sf-header.sf-hdr-logo-sized .sf-header-logo-link .sf-logo img{max-height:var(--sf-hdr-logo-m)}
.sf-root .sf-header.sf-hdr-padded .sf-hdr-top{min-height:0;padding-top:var(--sf-hdr-pt-m);padding-bottom:var(--sf-hdr-pb-m)}
@media(min-width:768px){.sf-root .sf-header.sf-hdr-logo-sized .sf-header-logo-link{max-width:min(480px,60vw)}.sf-root .sf-header.sf-hdr-logo-sized .sf-header-logo-link .sf-logo img{max-height:var(--sf-hdr-logo-d)}.sf-root .sf-header.sf-hdr-padded .sf-hdr-top{padding-top:var(--sf-hdr-pt-d);padding-bottom:var(--sf-hdr-pb-d)}}
/* 1.63.0: a card with neither name nor price keeps no empty band under its picture. */
.sf-root .sf-product-details:empty{display:none}
/* 1.66.0: a header's own menu link size: the phone menu, the menu bar on larger screens, and its dropdowns 1px smaller. */
.sf-root .sf-header.sf-hdr-menu-sized .sf-mobile-menu nav{font-size:var(--sf-hdr-menu-m)}
.sf-root .sf-header.sf-hdr-menu-sized .sf-desktop-nav nav,.sf-root .sf-header.sf-hdr-menu-sized .sf-hdr-links{font-size:var(--sf-hdr-menu-d)}
.sf-root .sf-header.sf-hdr-menu-sized .sf-desktop-nav .sf-submenu>.sf-menu-tree,.sf-root .sf-header.sf-hdr-menu-sized .sf-hdr-sub>.sf-menu-tree{font-size:max(10px,calc(var(--sf-hdr-menu-d) - 1px))}
/* 1.67.0: the Four columns footer's logo column: above the menus on phones and tablets, then first and wider beside them. */
.sf-root .sf-ftr-cols-logo .sf-ftr-logo-col{grid-column:1/-1}
.sf-root .sf-ftr-col-logo{display:inline-block;line-height:0}
.sf-root .sf-ftr-col-logo .sf-ftr-logo,.sf-root .sf-ftr-col-logo img{display:block;width:auto;max-width:220px;height:auto;max-height:120px;object-fit:contain;background:transparent;border-radius:0}
@media(min-width:1024px){.sf-root .sf-ftr-cols-logo .sf-ftr-logo-col{grid-column:auto}.sf-root .sf-ftr-cols.sf-ftr-cols-logo.sf-ftr-cols-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.sf-root .sf-ftr-cols.sf-ftr-cols-logo.sf-ftr-cols-2{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}.sf-root .sf-ftr-cols.sf-ftr-cols-logo.sf-ftr-cols-3{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr))}.sf-root .sf-ftr-cols.sf-ftr-cols-logo.sf-ftr-cols-4{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr))}}
/* 1.68.0: extra space above and below the links in a menu bar theme's menu bar. */
.sf-root .sf-header.sf-hdr-bar-padded .sf-hdr-bar{padding-top:var(--sf-hdr-bar-pt);padding-bottom:var(--sf-hdr-bar-pb)}
/* 1.69.0: the Four columns footer's heading and text under its logo. */
.sf-root .sf-ftr-logo-col .sf-ftr-col-brand{margin:18px 0 0;color:var(--sf-ftr-fg,inherit);font-size:20px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.sf-root .sf-ftr-logo-col .sf-ftr-col-text{max-width:36ch;margin:8px 0 0;color:var(--sf-ftr-muted,inherit);font-size:15px;line-height:1.5;white-space:pre-line}
.sf-root .sf-ftr-logo-col>.sf-ftr-col-brand:first-child,.sf-root .sf-ftr-logo-col>.sf-ftr-col-text:first-child{margin-top:0}
/* 1.69.0: a Split banner's panel pads by the section's inner padding (else 32/24, then 40/48 px); with its own inner padding a banner without a picture drops its minimum height. */
.sf-root .sf-collection-header-panel{padding:var(--sf-inner-padding-mobile,32px) var(--sf-inner-padding-mobile,24px)}
@media(min-width:768px){.sf-root .sf-collection-header-panel{padding:var(--sf-inner-padding-tablet,40px) var(--sf-inner-padding-tablet,48px)}.sf-root .sf-collection-header-split.sf-collection-header-own-padding.sf-collection-header-no-image{min-height:0}}
@media(min-width:1024px){.sf-root .sf-collection-header-panel{padding:var(--sf-inner-padding-desktop,40px) var(--sf-inner-padding-desktop,48px)}}
/* 1.70.0: Fit height shows the whole picture inside the banner; Fit width shows its whole width and the banner takes its height, the words over it. */
.sf-root .sf-banner-fit-height .sf-banner-media img{object-fit:contain}
.sf-root .sf-banner.sf-banner-fit-width{min-height:0}
.sf-root .sf-banner-fit-width .sf-banner-media{position:relative;inset:auto;z-index:0;width:100%}
.sf-root .sf-banner-fit-width .sf-banner-media>.sf-picture{height:auto}
.sf-root .sf-banner-fit-width .sf-banner-media img{height:auto;object-fit:initial}
.sf-root .sf-banner-fit-width .sf-banner-copy{position:absolute;inset:0;z-index:1}
/* 1.71.0: the Account and Cart icons' size (phones below 768px, then larger screens) and their words' size on larger screens. */
.sf-root .sf-header.sf-hdr-icons-sized .sf-hdr-action svg{width:var(--sf-hdr-icon-m);height:var(--sf-hdr-icon-m)}
@media(min-width:768px){.sf-root .sf-header.sf-hdr-icons-sized .sf-hdr-action svg{width:var(--sf-hdr-icon-d);height:var(--sf-hdr-icon-d)}.sf-root .sf-header.sf-hdr-act-text .sf-hdr-end,.sf-root .sf-header.sf-hdr-act-text .sf-header-actions{font-size:var(--sf-hdr-act-text)}}
/* 1.72.0: a Featured collection's own card spacing: above the name, between the name and the price, below the price. */
.sf-root .sf-featured-spaced .sf-product-details{padding-bottom:var(--sf-card-below)}
.sf-root .sf-featured-spaced .sf-product-details>*{margin-top:0;margin-bottom:0}
.sf-root .sf-featured-spaced .sf-product-details>:first-child{margin-top:var(--sf-card-above)}
.sf-root .sf-featured-spaced .sf-product-details>h3+*{margin-top:var(--sf-card-between)}
/* 1.73.0: a Featured collection's own name and price sizes. */
.sf-root .sf-featured-sized .sf-product h3{font-size:var(--sf-card-name,20px)}
.sf-root .sf-featured-sized .sf-price{font-size:var(--sf-card-price,14px)}
/* 1.74.0: the header's own button, a compact pill before Account and Cart in
   every header design. Outline is the opening page's Start designing pill: a
   thin line in the text colour, rounded and letter-spaced, the accent on hover.
   Long labels end in an ellipsis; the pill shrinks before the logo or cart. */
.sf-root .sf-hdr-cta{flex:0 1 auto;min-width:0;display:flex;align-items:center}
.sf-root .sf-hdr-cta .sf-button{display:inline-block;max-width:100%;min-height:0;margin:0;padding:11px 18px;overflow:hidden;border-radius:999px;font:700 12px/14px var(--sf-font-body);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis}
.sf-root .sf-hdr-cta .sf-button-outline{background:transparent;border-color:color-mix(in srgb,currentColor 30%,transparent);color:inherit;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.sf-root .sf-hdr-cta a.sf-button-outline:hover{filter:none;background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-accentText)}
.sf-root .sf-hdr-cta .sf-text-link{display:inline-block;max-width:100%;overflow:hidden;font:700 12px/38px var(--sf-font-body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;text-overflow:ellipsis}
.sf-root .sf-hdr-cta .sf-text-link>span{display:none}
.sf-root .sf-hdr-has-cta.sf-hdr-centered .sf-hdr-top,.sf-root .sf-hdr-has-cta.sf-hdr-bold .sf-hdr-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.sf-root .sf-hdr-has-cta .sf-header-inner>.sf-header-logo-link{flex:0 1 auto;min-width:0}
.sf-root .sf-hdr-has-cta .sf-header-actions{align-items:center;min-width:0}
.sf-root .sf-hdr-has-cta .sf-hdr-logo{min-width:min-content}
.sf-root .sf-hdr-has-cta .sf-hdr-logo .sf-brand{overflow-wrap:normal}
@media(max-width:1023px){
  .sf-root .sf-hdr-has-cta.sf-hdr-centered .sf-hdr-top,.sf-root .sf-hdr-has-cta.sf-hdr-bold .sf-hdr-top{grid-template-columns:auto minmax(min-content,1fr) auto}
  .sf-root .sf-hdr-has-cta.sf-hdr-centered .sf-header-logo-link,.sf-root .sf-hdr-has-cta.sf-hdr-bold .sf-header-logo-link,.sf-root .sf-hdr-has-cta.sf-hdr-inline .sf-header-logo-link{max-width:100%}
  .sf-root .sf-hdr-has-cta.sf-hdr-inline .sf-hdr-end{flex:none}
}
@media(max-width:767px){
  .sf-root .sf-hdr-cta .sf-button{max-width:30vw;padding:8px 11px;font-size:10px;line-height:12px;letter-spacing:.08em}
  .sf-root .sf-hdr-cta .sf-text-link{max-width:30vw;font-size:10px;line-height:32px;letter-spacing:.08em}
  .sf-root .sf-hdr-has-cta .sf-header-actions{gap:12px}
}
