/* Storefront core styles (brand-agnostic). Ported 4 Oct 2026 from the approved Sadu page designs:
   theme/sadu-v1/assets/sadu.css + sadu-fixes.css + tools/store_page_designs_chrome.css, with class prefixes
   renamed to sf- and colours/fonts turned into --sf-* tokens that each brand sets in brand.json.
   Rules (apple-design): restraint, type as the hero, one focal point per view; press feedback on pointer-down;
   motion only for state, critically damped, with reduced-motion, reduced-transparency and contrast fallbacks. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;font-size:1rem;line-height:1.75}
html[lang=en] body{line-height:1.6}
img{max-width:100%}
.sf-wrap{width:100%;max-width:80rem;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}
.sf-skip{position:absolute;inset-inline-start:1rem;top:-4rem;z-index:30;padding:.75rem 1rem;background:var(--sf-ink);color:var(--sf-ground)}
.sf-skip:focus{top:1rem}
.sf-only-phone{display:none!important}
@media (max-width:749px){.sf-only-phone{display:inline-flex!important}.sf-only-desk{display:none!important}}

/* Announcement bar: quiet */
.sf-bar{background:var(--sf-sunken)}
.sf-bar p{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem .75rem;margin:0;padding:.5rem 1.25rem;font-size:.8125rem;line-height:1.7;color:var(--sf-muted);text-align:center}
.sf-bar .sf-diamond{width:.3125rem;height:.3125rem}
@media (max-width:749px){.sf-bar p{font-size:.75rem;padding:.4rem 1rem}}

/* Header: opaque at rest, a translucent material once content scrolls under it */
.sf-header{position:sticky;top:0;z-index:20;background:var(--sf-ground);transition:background-color var(--sf-t-state) var(--sf-ease),box-shadow var(--sf-t-state) var(--sf-ease)}
.sf-header.is-stuck{background:var(--sf-header-bg);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 1px 0 rgb(var(--sf-ink-rgb) / .08)}
.sf-header__row{display:flex;align-items:center;gap:2rem;height:4.25rem}
.sf-logo{display:inline-flex;align-items:center;flex:none;-webkit-tap-highlight-color:transparent}
.sf-logo img{display:block;width:4.75rem;height:auto}
.sf-logo:active{opacity:.6}
.sf-nav{display:flex;gap:1.75rem;margin-inline-start:1rem}
.sf-nav a{position:relative;display:inline-flex;align-items:center;min-height:2.75rem;color:var(--sf-muted);font-size:.9375rem;font-weight:500;text-decoration:none;transition:color var(--sf-t-state) var(--sf-ease)}
html[lang=en] .sf-nav a{font-size:.875rem}
.sf-nav a:hover,.sf-nav a[aria-current]{color:var(--sf-ink)}
.sf-nav a:active{opacity:.55}
.sf-tools{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}
.sf-lang{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .75rem;color:var(--sf-muted);font-size:.8125rem;font-weight:500;text-decoration:none;transition:color var(--sf-t-state) var(--sf-ease)}
.sf-lang:hover{color:var(--sf-ink)}
.sf-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:0;background:none;color:var(--sf-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity var(--sf-t-press) ease-out}
.sf-icon svg{width:1.375rem;height:1.375rem}
.sf-icon:active{opacity:.5}
@media (max-width:989px){.sf-nav{gap:1.1rem}}
@media (max-width:749px){
  .sf-header__row{height:3.5rem;gap:0;justify-content:space-between}
  .sf-nav{display:none}
  .sf-logo{position:absolute;left:50%;transform:translateX(-50%)}
  .sf-logo img{width:4rem}
  .sf-tools{margin-inline-start:0}
  .sf-header__row{position:relative}
}
@media (prefers-reduced-transparency:reduce){.sf-header.is-stuck{background:var(--sf-ground);-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-contrast:more){.sf-header.is-stuck{background:var(--sf-ground);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 0 var(--sf-ink)}}

/* Menu drawer (phone): slides from the menu button's side and leaves the same way; scrim dims to focus */
.sf-drawer{position:fixed;inset-block:0;inset-inline-start:0;z-index:40;display:flex;flex-direction:column;gap:.25rem;width:min(22rem,86vw);padding:4.5rem 1.5rem 2rem;background:var(--sf-raised);box-shadow:0 0 40px rgb(var(--sf-ink-rgb) / .18);transform:translateX(-104%);transition:transform var(--sf-t-panel) var(--sf-ease);visibility:hidden}
[dir=rtl] .sf-drawer{transform:translateX(104%)}
.sf-drawer.is-open{transform:none;visibility:visible}
.sf-drawer a{display:flex;align-items:center;min-height:3.25rem;color:var(--sf-ink);font-family:var(--sf-display);font-size:1.5rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--sf-line)}
html[lang=en] .sf-drawer a{font-family:var(--sf-display-lat);font-weight:600;font-size:1.25rem;letter-spacing:-.015em}
.sf-drawer a:active{opacity:.55}
.sf-drawer .sf-drawer__lang{margin-top:auto;border:0;font-family:var(--sf-ui);font-size:.9375rem;font-weight:500;color:var(--sf-muted)}
.sf-drawer__close{position:absolute;top:.5rem;inset-inline-start:.75rem}
.sf-scrim{position:fixed;inset:0;z-index:35;background:rgb(var(--sf-ink-rgb) / .32);opacity:0;transition:opacity var(--sf-t-panel) var(--sf-ease)}
.sf-scrim.is-open{opacity:1}
@media (prefers-reduced-motion:reduce){.sf-drawer,[dir=rtl] .sf-drawer{transform:none;opacity:0;transition:opacity 200ms ease}.sf-drawer.is-open{opacity:1}}

/* Sections */
.sf-section{padding-block:clamp(4rem,8vw,7.5rem)}
.sf-section--tight{padding-block:clamp(3.5rem,6vw,5.5rem)}
.sf-section--sunken{background:var(--sf-sunken)}
.sf-section--flush{padding-top:0}
.sf-title-s{font-size:var(--sf-fs-h1)!important}

/* Product grid: 4 across on desktop, 2 on phones; no frames, generous rows */
.sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3rem clamp(1rem,2vw,1.75rem);margin:0;padding:0;list-style:none}
.sf-card a{display:grid;gap:.25rem;color:var(--sf-ink);text-decoration:none;-webkit-tap-highlight-color:transparent}
.sf-card__media{position:relative;margin-bottom:.75rem;background:var(--sf-ground)}
.sf-card__media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:opacity var(--sf-t-state) var(--sf-ease)}
.sf-card a:hover img{opacity:.9}
.sf-card a:active img{opacity:.8}
.sf-card__title{margin:0;font-family:var(--sf-ui)!important;font-size:.9375rem!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important}
.sf-card__price{margin:0;font-size:.9375rem;color:var(--sf-muted);line-height:1.5}
.sf-card__badge{position:absolute;top:.75rem;inset-inline-start:.75rem;padding:.3rem .6rem;line-height:1.4}
@media (max-width:989px){.sf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:749px){.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem .75rem}.sf-card__title,.sf-card__price{font-size:.875rem!important}.sf-card__badge{top:.5rem;inset-inline-start:.5rem;font-size:.6875rem!important}}

/* Collection top */
.sf-coll-top{padding-bottom:clamp(2.5rem,5vw,4rem)}
.sf-coll-intro{max-width:44rem;margin-top:1.25rem}
.sf-coll-intro p{margin:0;font-size:var(--sf-fs-lead);line-height:1.85;color:var(--sf-muted)}
html[lang=en] .sf-coll-intro p{line-height:1.55}
.sf-page-title{margin-bottom:2.5rem}

/* Product page: gallery at the start, the buy column at the end, sticky on desktop */
.sf-crumb{padding-top:1.25rem}
.sf-back{font-size:.875rem;color:var(--sf-muted)!important}
.sf-back::after{display:none}
.sf-back::before{content:'';width:.4375rem;height:.4375rem;border-block-start:1.5px solid currentColor;border-inline-start:1.5px solid currentColor;transform:rotate(-45deg)}
[dir=rtl] .sf-back::before{transform:rotate(45deg)}
.sf-pdp{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding-top:1rem}
.sf-gallery__track{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.sf-gallery__item:first-child{grid-column:1/-1}
.sf-gallery__item{margin:0;background:var(--sf-ground)}
.sf-gallery__item img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.sf-gallery{position:sticky;top:5.5rem}
.sf-buy{display:grid;gap:1.25rem}
.sf-buy h1{margin:0}
.sf-buy .sf-badge{margin:0}
.sf-buy>.sf-badge+h1{margin-top:-.75rem}
.sf-price{display:flex;align-items:baseline;gap:.75rem}
.sf-price>span{font-size:1.25rem;font-weight:500}
.sf-opt{margin:0;padding:0;border:0}
.sf-opt legend{padding:0;margin-bottom:.75rem;font-size:.875rem;color:var(--sf-muted)}
.sf-opt legend b{color:var(--sf-ink);font-weight:500}
.sf-swatches,.sf-sizes{display:flex;flex-wrap:wrap;gap:.5rem}
.sf-swatch input,.sf-size input{position:absolute;opacity:0;pointer-events:none}
.sf-swatch{position:relative;cursor:pointer}
.sf-swatch span:first-of-type{display:block;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgb(var(--sf-ink-rgb) / .18);outline:1px solid transparent;outline-offset:3px;transition:outline-color var(--sf-t-state) var(--sf-ease),transform var(--sf-t-press) ease-out}
.sf-swatch:active span:first-of-type{transform:scale(.94)}
.sf-swatch input:checked+span{outline:1.5px solid var(--sf-ink)}
.sf-swatch input:focus-visible+span{outline:2px solid var(--sf-accent)}
.sf-size{position:relative;cursor:pointer}
.sf-size span{display:inline-flex;align-items:center;justify-content:center;min-width:3.25rem;min-height:2.75rem;padding:0 .75rem;border:1px solid var(--sf-line);font-size:.875rem;transition:border-color var(--sf-t-state) var(--sf-ease),background-color var(--sf-t-state) var(--sf-ease),transform var(--sf-t-press) ease-out}
.sf-size:hover span{border-color:var(--sf-line-strong)}
.sf-size:active span{transform:scale(.96)}
.sf-size input:checked+span{border-color:var(--sf-ink);box-shadow:inset 0 0 0 .5px var(--sf-ink)}
.sf-size input:focus-visible+span{outline:2px solid var(--sf-accent);outline-offset:2px}
.sf-buy .sf-notify{margin-top:0}
.sf-desc{margin-top:.5rem}
.sf-gallery__count{display:none}
@media (max-width:989px){.sf-pdp{grid-template-columns:1fr 1fr;gap:2rem}}
@media (max-width:749px){
  .sf-pdp{grid-template-columns:minmax(0,1fr);gap:1.75rem;padding-top:.5rem}
  .sf-gallery{margin-inline:calc(-1 * clamp(1.25rem,4vw,3rem))}
  .sf-gallery__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;scrollbar-width:none;overscroll-behavior-x:contain}
  .sf-gallery__track::-webkit-scrollbar{display:none}
  .sf-gallery__item{flex:0 0 100%;scroll-snap-align:center}
  .sf-gallery{position:relative;top:auto}
  .sf-gallery__count{position:absolute;bottom:.75rem;inset-inline-end:1rem;display:block!important;margin:0;padding:.15rem .6rem;background:rgb(var(--sf-ink-rgb) / .62);color:var(--sf-ground);font-size:.75rem;line-height:1.6}
  .sf-buy{position:static;gap:1.1rem}
}

/* Pages */
.sf-about-wrap{padding-top:clamp(3.5rem,7vw,6rem)}

/* Footer */
.sf-site-footer{background:var(--sf-ground)}
.sf-site-footer__in{padding-block:clamp(3rem,6vw,4.5rem) 2rem}
.sf-section--sunken+.sf-site-footer .sf-footer,.sf-section--sunken+.sf-site-footer{border-top:0}

body{background-color:var(--sf-ground);color:var(--sf-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:var(--sf-ui)!important}
h1,h2,h3,h4,.h1,.h2,.h3,.h4{font-family:var(--sf-display)!important;font-weight:700;letter-spacing:0}
html[lang=en] h1,html[lang=en] h2,html[lang=en] h3,html[lang=en] .h1,html[lang=en] .h2,html[lang=en] .h3{font-family:var(--sf-display-lat)!important;font-weight:600;letter-spacing:-.022em}
html[lang=ar] *{letter-spacing:0!important}
.rte,blockquote{font-family:var(--sf-text);line-height:1.85}
html[lang=en] .rte{font-family:var(--sf-ui);line-height:1.65}
::selection{background:var(--sf-accent-soft);color:var(--sf-ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sf-accent)!important;outline-offset:3px}
.sf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Atoms ---------- */
/* The Mithkhar diamond: the one accent mark ("this one", "now"). Drawn in CSS, never a typed glyph. */
.sf-diamond{display:inline-block;flex:none;width:.5rem;height:.5rem;background:var(--sf-accent);transform:rotate(45deg)}
.sf-diamond--muted{background:var(--sf-line-strong)}
/* v2: no decorative Sadu bands on the store; .sf-band is kept only so an old block that still names it shows nothing */
.sf-band{display:none}

.sf-eyebrow{display:flex;align-items:center;gap:.625rem;margin:0 0 var(--sf-s3);font-size:var(--sf-fs-small);font-weight:500;line-height:1.5;color:var(--sf-muted)}
html[lang=en] .sf-eyebrow{font-size:var(--sf-fs-label);letter-spacing:.02em}
.sf-lead{margin:0 0 var(--sf-s6);max-width:34ch;font-size:var(--sf-fs-lead);line-height:1.8;color:var(--sf-muted)}
html[lang=en] .sf-lead{line-height:1.55;letter-spacing:-.005em}
.sf-title{margin:0;font-family:var(--sf-display);font-size:var(--sf-fs-title);font-weight:700;line-height:1.3;text-wrap:balance}
html[lang=en] .sf-title{font-family:var(--sf-display-lat);font-weight:600;line-height:1.08;letter-spacing:-.028em}

/* Buttons: one filled (the primary action of the view), everything else is a quiet link. Feedback on press. */
.sf-btn,.sf-notify__button,.sf-news button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:0 2rem;border:0;background:var(--sf-ink);color:var(--sf-ground)!important;font:500 1rem/1 var(--sf-ui);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--sf-t-state) var(--sf-ease),transform var(--sf-t-press) ease-out}
.sf-btn:hover,.sf-notify__button:hover,.sf-news button:hover{background:var(--sf-ink-strong)}
.sf-btn:active,.sf-notify__button:active,.sf-news button:active{transform:scale(.98)}
.sf-link{display:inline-flex;align-items:center;gap:.375rem;min-height:2.75rem;color:var(--sf-ink);font-weight:500;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:opacity var(--sf-t-press) ease-out}
.sf-link::after{content:'';width:.4375rem;height:.4375rem;border-block-start:1.5px solid currentColor;border-inline-end:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--sf-t-state) var(--sf-ease)}
html[dir=rtl] .sf-link::after,[dir=rtl] .sf-link::after{transform:rotate(-45deg)}
.sf-link:hover{text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px}
.sf-link:active{opacity:.55}
.sf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sf-s4) var(--sf-s6)}

/* ---------- Home ---------- */
/* Hero: one statement, one action, the pieces themselves underneath. Centred. */
.sf-hero{display:grid;justify-items:center;text-align:center;padding:clamp(3.5rem,8vw,7rem) 0 0}
.sf-hero__text{display:grid;justify-items:center;padding:0 1.25rem;max-width:56rem}
.sf-hero .sf-eyebrow{justify-content:center}
.sf-hero__text .sf-hero__title{margin:0 0 var(--sf-s5);font-family:var(--sf-display);font-size:var(--sf-fs-hero);font-weight:700;line-height:1.22;text-wrap:balance}
html[lang=en] .sf-hero__text .sf-hero__title{font-family:var(--sf-display-lat);font-weight:600;line-height:1.02;letter-spacing:-.035em}
.sf-hero .sf-lead{margin-inline:auto;max-width:36ch}
.sf-hero .sf-actions{justify-content:center}
.sf-hero__media{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.5rem,1.5vw,1.5rem);width:100%;max-width:90rem;margin-top:clamp(2.5rem,5vw,4.5rem);padding:0 clamp(1.25rem,4vw,3rem)}
.sf-hero__media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transform:scale(1.08)}
.sf-hero__media{overflow:hidden}
.sf-hero__media--one{grid-template-columns:minmax(0,40rem);justify-content:center}
@media (max-width:749px){.sf-hero__media{grid-template-columns:1fr 1fr;gap:.5rem}.sf-hero__media img:nth-child(3){display:none}}

/* Section head: eyebrow + title at the start, one quiet link at the end */
.sf-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--sf-s4);margin:0 0 var(--sf-s6)}
.sf-head .sf-eyebrow{margin-bottom:var(--sf-s2)}

/* A sign from Sadu: the embroidery close-up and the word, large */
.sf-word{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.sf-word__term{margin:0 0 var(--sf-s4);font-family:var(--sf-display);font-size:clamp(3.5rem,2rem + 6vw,7.5rem);line-height:1.15;font-weight:700}
html[lang=en] .sf-word__term{font-family:var(--sf-display-lat);font-weight:600;line-height:1;letter-spacing:-.04em;white-space:nowrap;font-size:clamp(2.75rem,1.4rem + 4.4vw,6rem)}
.sf-word__meaning{margin:0 0 var(--sf-s4);max-width:24ch;font-family:var(--sf-text);font-size:var(--sf-fs-quote);line-height:1.7}
html[lang=en] .sf-word__meaning{font-family:var(--sf-ui);line-height:1.4;letter-spacing:-.01em}
.sf-word__source{margin:0 0 var(--sf-s5);font-size:var(--sf-fs-label);color:var(--sf-muted)}
.sf-word__media{margin:0;aspect-ratio:1;overflow:hidden;background:var(--sf-sunken)}
.sf-word__media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.6)}
@media (max-width:749px){.sf-word{grid-template-columns:1fr;gap:var(--sf-s5)}.sf-word__media{order:-1}}

/* The craft: three quiet columns, hairline above each */
.sf-craft h2{margin:0 0 var(--sf-s7);font-size:var(--sf-fs-title);line-height:1.3}
html[lang=en] .sf-craft h2{line-height:1.08}
.sf-craft__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,3.5rem)}
.sf-craft__grid>div{padding-top:var(--sf-s5);border-top:1px solid var(--sf-line-strong)}
.sf-craft__grid svg{display:block;width:1.5rem;height:1.5rem;margin-bottom:var(--sf-s4);color:var(--sf-ink)}
.sf-craft__grid h3{margin:0 0 var(--sf-s2);font-family:var(--sf-ui)!important;font-size:1.1875rem;font-weight:600;line-height:1.5}
html[lang=en] .sf-craft__grid h3{letter-spacing:-.01em}
.sf-craft__grid p{margin:0;font-size:var(--sf-fs-small);line-height:1.8;color:var(--sf-muted)}
.sf-craft__weavers{margin:var(--sf-s8) auto 0;max-width:40ch;text-align:center;font-family:var(--sf-text);font-size:var(--sf-fs-quote);line-height:1.75;text-wrap:balance}
html[lang=en] .sf-craft__weavers{font-family:var(--sf-ui);line-height:1.45;letter-spacing:-.01em}
@media (max-width:749px){.sf-craft__grid{grid-template-columns:1fr;gap:var(--sf-s6)}}

/* The seasons: five quiet columns on Suf; the next one carries the diamond */
.sf-drops,.sf-drops h2,.sf-drops a{color:var(--sf-ink)}
.sf-drops__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--sf-s4);margin-bottom:var(--sf-s7)}
.sf-drops__head h2{margin:0;max-width:20ch;font-size:var(--sf-fs-title);line-height:1.3;text-wrap:balance}
html[lang=en] .sf-drops__head h2{line-height:1.08}
.sf-drops__list{display:grid;grid-template-columns:repeat(5,1fr);gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--sf-line-strong)}
.sf-drops__list li{padding:var(--sf-s5) var(--sf-s4) 0;border-inline-start:1px solid var(--sf-line)}
.sf-drops__list li:first-child{border-inline-start:0;padding-inline-start:0}
.sf-drops__list a{display:grid;gap:var(--sf-s1);text-decoration:none;transition:opacity var(--sf-t-press) ease-out}
.sf-drops__list a:active{opacity:.55}
.sf-drops__list b{display:flex;align-items:center;gap:.625rem;font-family:var(--sf-display);font-size:1.5rem;font-weight:700;line-height:1.5}
html[lang=en] .sf-drops__list b{font-family:var(--sf-display-lat);font-weight:600;font-size:1.25rem;letter-spacing:-.015em}
.sf-drops__list span{font-size:var(--sf-fs-label);line-height:1.6;color:var(--sf-muted)}
.sf-drops__list .is-now b::after,.sf-drops__list .is-next b::after{content:'';width:.5rem;height:.5rem;background:var(--sf-accent);transform:rotate(45deg)}
@media (max-width:749px){.sf-drops__list{grid-template-columns:1fr;border-top:0}.sf-drops__list li,.sf-drops__list li:first-child{display:block;padding:var(--sf-s4) 0;border-inline-start:0;border-top:1px solid var(--sf-line)}.sf-drops__list a{grid-template-columns:1fr auto;align-items:baseline}}

/* Sign-up: centred, the one action in its view */
.sf-news{display:grid;justify-items:center;text-align:center}
.sf-news h2{margin:0 0 var(--sf-s3);font-size:var(--sf-fs-title);line-height:1.3}
html[lang=en] .sf-news h2{line-height:1.08}
.sf-news p{margin:0;color:var(--sf-muted);font-size:var(--sf-fs-lead);line-height:1.7}
.sf-news form{width:100%;max-width:32rem}
.sf-news__row{display:flex;gap:var(--sf-s2);width:100%;margin-top:var(--sf-s6)}
.sf-news input[type=email]{flex:1;min-width:0;min-height:3.25rem;padding:0 1rem;border:1px solid var(--sf-line-strong);background:var(--sf-raised);color:var(--sf-ink);font-size:1rem;transition:border-color var(--sf-t-state) var(--sf-ease)}
.sf-news input[type=email]:hover{border-color:var(--sf-ink)}
.sf-news__msg{margin-top:var(--sf-s3)!important;font-size:var(--sf-fs-small)}

/* ---------- Product ---------- */
.sf-badge{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 var(--sf-s3);font-size:var(--sf-fs-label);font-weight:500;line-height:1.5;color:var(--sf-muted)}
.sf-badge .sf-diamond{width:.375rem;height:.375rem}
html[lang=en] .sf-badge{letter-spacing:.02em}
.sf-meta,.sf-pnote{margin:0;font-size:var(--sf-fs-small);line-height:1.6;color:var(--sf-muted)}
.sf-fit{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sf-s3);margin:0;font-size:var(--sf-fs-label);line-height:1.7;color:var(--sf-muted)}
.sf-fit a{color:var(--sf-ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px;white-space:nowrap}
/* Made to order: a quiet note, not a banner */
.sf-mto{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--sf-s3);padding:var(--sf-s4) 0;border-top:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line);color:var(--sf-muted);font-size:var(--sf-fs-label);line-height:1.75;margin:var(--sf-s1) 0}
.sf-mto .sf-diamond{margin-top:.5rem;background:var(--sf-line-strong)}
.sf-mto b{display:block;margin-bottom:var(--sf-s1);color:var(--sf-ink);font-size:var(--sf-fs-small);font-weight:600}
/* What the sign means: the heart of the page. The sign's name large, the meaning as a quote on a Qirmiz rule,
   then sources, the craft label, the respect line and the legal line, each one step quieter. */
.sf-sign{width:100%;padding:var(--sf-s6) 0 var(--sf-s5);border-top:1px solid var(--sf-ink)}
.sf-sign__head{display:flex;align-items:center;gap:.625rem;margin:0 0 var(--sf-s5)!important;font-family:var(--sf-ui)!important;font-size:var(--sf-fs-small)!important;font-weight:600!important;line-height:1.5!important;color:var(--sf-ink);letter-spacing:0!important}
html[lang=en] .sf-sign__head{font-size:var(--sf-fs-label)!important;letter-spacing:.02em!important}
.sf-sign__name{margin:0 0 var(--sf-s4);font-family:var(--sf-display);font-size:clamp(2rem,1.6rem + 1.4vw,2.75rem);font-weight:700;line-height:1.3}
html[lang=en] .sf-sign__name{font-family:var(--sf-display-lat);font-weight:600;line-height:1.1;letter-spacing:-.028em}
.sf-sign__body p{margin:0 0 var(--sf-s3);font-family:var(--sf-ui);font-size:var(--sf-fs-small);line-height:1.8;color:var(--sf-muted)}
.sf-sign__body p:last-child{margin-bottom:0}
.sf-sign__body .sf-meaning{margin:0 0 var(--sf-s5);padding-inline-start:var(--sf-s5);border-inline-start:3px solid var(--sf-accent);font-family:var(--sf-text);font-size:var(--sf-fs-quote);line-height:1.7;color:var(--sf-ink)}
html[lang=en] .sf-sign__body .sf-meaning{font-family:var(--sf-ui);line-height:1.45;letter-spacing:-.01em}
.sf-sign__body .sf-meaning strong{font-family:var(--sf-display);font-weight:700}
html[lang=en] .sf-sign__body .sf-meaning strong{font-family:var(--sf-ui);font-weight:600}
.sf-sign__body .sf-source{display:block;margin-top:var(--sf-s3);font-family:var(--sf-ui);font-size:var(--sf-fs-label);line-height:1.6;color:var(--sf-muted)}
.sf-sign__body .sf-craft{order:-1;color:var(--sf-ink);font-weight:500}
html[lang=en] .sf-sign__body .sf-craft{font-weight:400}
.sf-sign__body .sf-respect{font-size:var(--sf-fs-small)}
.sf-sign__body .sf-legal{margin-top:var(--sf-s3);padding-top:var(--sf-s4);border-top:1px solid var(--sf-line);font-size:.75rem;line-height:1.7}
.sf-sign__body a,.sf-sign__link{color:var(--sf-ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.sf-sign__body{display:flex;flex-direction:column}
.sf-sign__body .sf-meaning{order:-2}
.sf-story p{margin:0 0 var(--sf-s5);font-family:var(--sf-text);font-size:var(--sf-fs-lead);line-height:1.85}
html[lang=en] .sf-story p{font-family:var(--sf-ui);line-height:1.6}
/* Description panels: hairlines, a + that turns, nothing else */
.sf-panel{border-top:1px solid var(--sf-line)}
.sf-panel:last-of-type{border-bottom:1px solid var(--sf-line)}
.sf-panel summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--sf-s3);min-height:3.5rem;padding:var(--sf-s3) 0;font-family:var(--sf-ui);font-weight:500;font-size:var(--sf-fs-body);-webkit-tap-highlight-color:transparent;transition:opacity var(--sf-t-press) ease-out}
.sf-panel summary:active{opacity:.55}
.sf-panel summary::-webkit-details-marker{display:none}
.sf-panel summary::after{content:'';flex:none;width:.75rem;height:.75rem;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform var(--sf-t-state) var(--sf-ease)}
.sf-panel[open] summary::after{transform:rotate(45deg)}
.sf-panel p{margin:0 0 var(--sf-s4);font-family:var(--sf-ui);font-size:var(--sf-fs-small);line-height:1.8;color:var(--sf-muted)}
.sf-panel a,.sf-faq a{color:var(--sf-ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}

/* ---------- Footer ---------- */
.sf-footer{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--sf-s6);padding-top:var(--sf-s7);border-top:1px solid var(--sf-line)}
.sf-footer img{display:block;width:5rem;height:auto;margin-bottom:var(--sf-s4)}
.sf-footer p{margin:0;max-width:30ch;font-size:var(--sf-fs-small);line-height:1.8;color:var(--sf-muted)}
.sf-footer p b{color:var(--sf-ink);font-weight:600}
.sf-footer h2{margin:0 0 var(--sf-s3);font-family:var(--sf-ui)!important;font-size:var(--sf-fs-label)!important;font-weight:600!important;letter-spacing:0!important;color:var(--sf-ink);line-height:1.5}
.sf-footer ul{display:grid;gap:var(--sf-s1);list-style:none;margin:0;padding:0}
.sf-footer a,div.sf-legal a{color:var(--sf-muted);text-decoration:none;font-size:var(--sf-fs-small)}
.sf-footer a:hover,div.sf-legal a:hover{color:var(--sf-ink);text-decoration:underline;text-underline-offset:.3em}
.sf-footer li a{display:inline-flex;align-items:center;min-height:2rem}
div.sf-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sf-s3);margin-top:var(--sf-s7);padding-top:var(--sf-s4);border-top:1px solid var(--sf-line);font-size:var(--sf-fs-label);color:var(--sf-muted)}
div.sf-legal a{font-size:var(--sf-fs-label)}
.sf-footer p+p{margin-top:var(--sf-s3)}
.sf-footer__contact a{font-size:inherit}
@media (max-width:749px){.sf-footer{grid-template-columns:1fr 1fr;row-gap:var(--sf-s6)}.sf-footer>div:first-child{grid-column:1/-1}}

/* ---------- Pages ---------- */
.sf-table{width:100%;border-collapse:collapse;margin:var(--sf-s3) 0 var(--sf-s6);font-size:var(--sf-fs-small)}
.sf-table th,.sf-table td{padding:.625rem .5rem;border-bottom:1px solid var(--sf-line);text-align:start;vertical-align:top}
.sf-table th{font-weight:600;border-bottom-color:var(--sf-line-strong)}
@media (max-width:749px){.sf-table{display:block;overflow-x:auto}}
.sf-faq details{border-top:1px solid var(--sf-line)}
.sf-faq details:last-of-type{border-bottom:1px solid var(--sf-line)}
.sf-faq summary{list-style:none;cursor:pointer;min-height:3.5rem;padding:var(--sf-s4) 0;font-weight:500}
.sf-faq summary::-webkit-details-marker{display:none}
.sf-faq p{margin:0 0 var(--sf-s4);line-height:1.8;color:var(--sf-muted)}
/* Our story: a reading page. Narrow measure, story type, headings by weight not size. */
.sf-about{max-width:40rem;margin-inline:auto}
.sf-about__mark{display:block;width:clamp(7rem,14vw,9rem);height:auto;margin:0 auto var(--sf-s8)}
.sf-about h2{margin:var(--sf-s8) 0 var(--sf-s4);font-size:var(--sf-fs-h1);line-height:1.4}
html[lang=en] .sf-about h2{line-height:1.15}
.sf-about h2:first-of-type{margin-top:0;font-size:var(--sf-fs-title);line-height:1.3;text-align:center;text-wrap:balance}
html[lang=en] .sf-about h2:first-of-type{line-height:1.08}
.sf-about p{margin:0 0 var(--sf-s5);font-family:var(--sf-text);font-size:var(--sf-fs-lead);line-height:1.95}
html[lang=en] .sf-about p{font-family:var(--sf-ui);line-height:1.65}
.sf-about p strong{display:block;margin-top:var(--sf-s8);text-align:center;font-family:var(--sf-display);font-size:var(--sf-fs-title);font-weight:700;line-height:1.3}
html[lang=en] .sf-about p strong{font-family:var(--sf-display-lat);font-weight:600;letter-spacing:-.028em;line-height:1.1}
.sf-about .sf-note{margin-top:var(--sf-s7);padding-top:var(--sf-s4);border-top:1px solid var(--sf-line);font-family:var(--sf-ui);font-size:var(--sf-fs-label);line-height:1.7;color:var(--sf-muted);text-align:center}
/* The signs: an index of entries, each with the Printful close-up of the first piece that carries it */
.sf-signs__intro{max-width:44rem}
.sf-signs__intro h2{margin:var(--sf-s7) 0 var(--sf-s4);font-size:var(--sf-fs-h1);line-height:1.4}
html[lang=en] .sf-signs__intro h2{line-height:1.15}
.sf-signs__intro h2:first-child{margin-top:0}
.sf-signs__intro p{margin:0 0 var(--sf-s4);font-size:var(--sf-fs-body);line-height:1.9;color:var(--sf-muted)}
html[lang=en] .sf-signs__intro p{line-height:1.65}
.sf-signs__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sf-s7) clamp(1.25rem,3vw,2.5rem);margin:var(--sf-s8) 0 0;padding:0;list-style:none}
.sf-signs__entry{display:grid;align-content:start;gap:var(--sf-s2)}
.sf-signs__entry figure{margin:0 0 var(--sf-s3);aspect-ratio:1;overflow:hidden;background:var(--sf-sunken)}
.sf-signs__entry figure img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.7)}
.sf-signs__entry h3{margin:0;font-size:1.75rem;line-height:1.4}
html[lang=en] .sf-signs__entry h3{font-size:1.375rem;line-height:1.25}
.sf-signs__entry h3 span{display:block;font-family:var(--sf-ui);font-size:var(--sf-fs-label);font-weight:500;color:var(--sf-muted);letter-spacing:0}
.sf-signs__entry p{margin:0;font-size:var(--sf-fs-small);line-height:1.8}
.sf-signs__entry p.sf-note{font-size:var(--sf-fs-label);line-height:1.7;color:var(--sf-muted)}
.sf-signs__entry p a,.sf-signs__intro a{color:var(--sf-ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.sf-signs__entry--text{grid-column:1/-1;max-width:44rem;padding-top:var(--sf-s5);border-top:1px solid var(--sf-line)}
.sf-signs__entry--text ul{margin:0;padding-inline-start:1.1rem;font-size:var(--sf-fs-label);line-height:1.8;color:var(--sf-muted)}
@media (max-width:989px){.sf-signs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:549px){.sf-signs__grid{grid-template-columns:1fr;gap:var(--sf-s6)}.sf-signs__entry{grid-template-columns:6.5rem minmax(0,1fr);column-gap:var(--sf-s4);row-gap:var(--sf-s1)}.sf-signs__entry>*{grid-column:2}.sf-signs__entry figure{grid-column:1;grid-row:1/span 6;margin:0}.sf-signs__entry h3{font-size:1.375rem}.sf-signs__entry--text{display:block}}

/* ---------- Accessibility fallbacks ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:1ms!important;animation-duration:1ms!important;scroll-behavior:auto!important}.sf-btn:active,.sf-notify__button:active,.sf-news button:active{transform:none}}
@media (prefers-contrast:more){:root{--sf-muted:var(--sf-muted-contrast);--sf-line:var(--sf-line-strong)}.sf-link,.sf-footer a{text-decoration:underline}}
.sf-chips{display:flex;flex-wrap:wrap;gap:var(--sf-s2);margin:var(--sf-s6) 0 0}
.sf-chip{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 1rem;border:1px solid var(--sf-line);color:var(--sf-ink);text-decoration:none;font-size:.875rem;line-height:1;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:border-color var(--sf-t-state) var(--sf-ease),background-color var(--sf-t-state) var(--sf-ease),transform var(--sf-t-press) ease-out}
.sf-chip:hover{border-color:var(--sf-line-strong)}
.sf-chip:active{transform:scale(.97)}
.sf-chip.is-active{background:var(--sf-ink);border-color:var(--sf-ink);color:var(--sf-ground)}
.sf-count{margin:var(--sf-s4) 0 0;font-size:var(--sf-fs-label);color:var(--sf-muted)}
@media (max-width:749px){.sf-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin-inline:-1.25rem;padding-inline:1.25rem}.sf-chips::-webkit-scrollbar{display:none}}
.sf-soon{padding:var(--sf-s8) 0;border-top:1px solid var(--sf-line)}
.sf-soon h2{margin:0 0 var(--sf-s3);font-size:var(--sf-fs-title);line-height:1.3}
.sf-soon .sf-lead{max-width:46ch;margin:0 0 var(--sf-s5)}
.sf-soon--plain{border-top:0;padding:var(--sf-s2) 0 var(--sf-s8)}
.sf-opens{width:100%}
.sf-opens .sf-opens__button,.sf-opens .sf-opens__button:disabled{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;min-height:3.25rem;opacity:1!important;cursor:default;background:transparent!important;color:var(--sf-ink)!important;border:1px solid var(--sf-line-strong)!important;box-shadow:none!important;font-weight:500;transform:none!important}
.sf-opens .sf-opens__button::before{content:'';width:.4375rem;height:.4375rem;background:var(--sf-accent);transform:rotate(45deg)}
.sf-opens-badge{background:var(--sf-raised)!important;color:var(--sf-ink)!important;font-size:.75rem!important;font-weight:500!important}
.sf-notify{display:flex;flex-direction:column;gap:var(--sf-s2);width:100%;max-width:35rem;margin-top:var(--sf-s5)}
.sf-notify__label{font-size:var(--sf-fs-body);font-weight:600;line-height:1.5;color:var(--sf-ink)}
.sf-notify__row{display:flex;gap:var(--sf-s2);width:100%}
.sf-notify__input{flex:1 1 auto;min-width:0;min-height:3.25rem;padding:0 1rem;border:1px solid var(--sf-line-strong);border-radius:0;background:var(--sf-raised);color:var(--sf-ink);font:inherit;font-size:16px;transition:border-color var(--sf-t-state) var(--sf-ease)}
.sf-notify__input:hover{border-color:var(--sf-ink)}
.sf-notify__input::placeholder{color:var(--sf-muted);opacity:1}
.sf-notify__input:focus-visible{outline:2px solid var(--sf-accent);outline-offset:1px}
.sf-notify__input[aria-invalid='true']{border-color:var(--sf-danger)}
.sf-notify__button{flex:none;white-space:nowrap}
.sf-notify__note,.sf-notify__error{margin:0;font-size:var(--sf-fs-label);line-height:1.7;color:var(--sf-muted)}
.sf-notify__error{color:var(--sf-danger)}
.sf-notify__done{margin:0;font-size:var(--sf-fs-small);line-height:1.7;color:var(--sf-info)}

/* ---------- Headless additions (4 Oct 2026): cart drawer, size dialog, reading pages, search, 404 ---------- */
html.sf-locked{overflow:hidden}
.sf-bag{position:relative}
.sf-bag__count{position:absolute;top:.35rem;inset-inline-end:.2rem;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:999px;background:var(--sf-ink);color:var(--sf-ground);font-size:.6875rem;font-weight:600;line-height:1.05rem;text-align:center}
.sf-btn--wide{width:100%}
.sf-buy__action{display:grid;gap:var(--sf-s4)}
.sf-buy__action[hidden]{display:none}
.sf-opt__error,.sf-cart__error{margin:.5rem 0 0;font-size:var(--sf-fs-label);color:var(--sf-danger)}
.sf-notify__msg,.sf-news__msg{margin:0;font-size:var(--sf-fs-small);line-height:1.7;color:var(--sf-info)}
.sf-notify__msg.is-error,.sf-news__msg.is-error{color:var(--sf-danger)}
.sf-news__msg{margin-top:var(--sf-s3)}

/* Cart drawer: slides in from the bag's side (the end edge) and leaves the same way */
.sf-cart{position:fixed;inset-block:0;inset-inline-end:0;z-index:40;display:flex;flex-direction:column;width:min(26rem,100vw);background:var(--sf-raised);box-shadow:0 0 40px rgb(var(--sf-ink-rgb) / .18);transform:translateX(104%);transition:transform var(--sf-t-panel) var(--sf-ease);visibility:hidden;overflow-y:auto;overscroll-behavior:contain}
[dir=rtl] .sf-cart{transform:translateX(-104%)}
.sf-cart.is-open{transform:none;visibility:visible}
.sf-cart__head{display:flex;justify-content:space-between;align-items:center;padding:.75rem .75rem .75rem 1.5rem;border-bottom:1px solid var(--sf-line)}
[dir=rtl] .sf-cart__head{padding:.75rem 1.5rem .75rem .75rem}
.sf-cart__head h2{margin:0;font-size:1.25rem!important;line-height:1.4}
.sf-cart__empty{display:grid;justify-items:start;gap:var(--sf-s3);padding:var(--sf-s6) 1.5rem}
.sf-cart__empty p{margin:0;color:var(--sf-muted);line-height:1.8}
.sf-cart__lines{margin:0;padding:0 1.5rem;list-style:none}
.sf-line{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--sf-s4);padding:var(--sf-s5) 0;border-bottom:1px solid var(--sf-line)}
.sf-line__img{display:block;width:5rem;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--sf-ground)}
.sf-line__body{display:grid;gap:.25rem;align-content:start}
.sf-line__title{color:var(--sf-ink);font-weight:500;text-decoration:none;line-height:1.5}
.sf-line__meta{margin:0;font-size:var(--sf-fs-label);color:var(--sf-muted)}
.sf-line__row{display:flex;justify-content:space-between;align-items:center;gap:var(--sf-s3)}
.sf-line__price{font-weight:500}
.sf-line__remove{justify-self:start;padding:0;border:0;background:none;color:var(--sf-muted);font-size:var(--sf-fs-label);text-decoration:underline;text-underline-offset:.3em;cursor:pointer;min-height:2rem}
.sf-qty{display:inline-flex;align-items:center;border:1px solid var(--sf-line)}
.sf-qty .sf-icon{width:2.25rem;height:2.25rem}
.sf-qty .sf-icon svg{width:1rem;height:1rem}
.sf-qty__n{min-width:1.5rem;text-align:center;font-size:var(--sf-fs-small)}
.sf-cart__foot{display:grid;gap:var(--sf-s3);padding:var(--sf-s5) 1.5rem var(--sf-s6)}
.sf-cart__foot[hidden]{display:none}
.sf-cart__row{display:flex;justify-content:space-between;margin:0;font-size:1.0625rem}
.sf-cart__note{margin:0;font-size:var(--sf-fs-label);line-height:1.75;color:var(--sf-muted)}
.sf-cart__soon{margin-top:var(--sf-s3);padding-top:var(--sf-s5);border-top:1px solid var(--sf-ink)}
.sf-cart__soon-line{margin:0;font-family:var(--sf-text);font-size:1.125rem;line-height:1.8}
html[lang=en] .sf-cart__soon-line{font-family:var(--sf-ui);line-height:1.5}
.sf-cart .sf-notify{margin-top:var(--sf-s4)}
.sf-cart .sf-notify__row{flex-wrap:wrap}
.sf-scrim--cart{z-index:35}
@media (prefers-reduced-motion:reduce){.sf-cart,[dir=rtl] .sf-cart{transform:none;opacity:0;transition:opacity 200ms ease}.sf-cart.is-open{opacity:1}}

/* Size guide dialog: a sheet over the page, the table in this locale */
.sf-dialog{width:min(40rem,calc(100vw - 2rem));max-height:calc(100dvh - 4rem);padding:0;border:0;background:var(--sf-raised);color:var(--sf-ink);box-shadow:0 20px 60px rgb(var(--sf-ink-rgb) / .25)}
.sf-dialog::backdrop{background:rgb(var(--sf-ink-rgb) / .32)}
.sf-dialog__head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:.5rem .5rem .5rem 1.5rem;background:var(--sf-raised);border-bottom:1px solid var(--sf-line)}
[dir=rtl] .sf-dialog__head{padding:.5rem 1.5rem .5rem .5rem}
.sf-dialog__head h2{margin:0;font-size:1.25rem!important}
.sf-dialog .sf-rte{padding:var(--sf-s4) 1.5rem var(--sf-s5)}

/* Reading pages: FAQ, size guide, seasons, contact, policies */
.sf-narrow{max-width:48rem}
.sf-rte{font-size:var(--sf-fs-body);line-height:1.9;color:var(--sf-ink)}
html[lang=en] .sf-rte{line-height:1.65}
.sf-rte h2{margin:var(--sf-s7) 0 var(--sf-s3);font-size:var(--sf-fs-h1);line-height:1.4}
.sf-rte h3{margin:var(--sf-s6) 0 var(--sf-s2);font-size:1.375rem;line-height:1.4}
html[lang=en] .sf-rte h2,html[lang=en] .sf-rte h3{line-height:1.2}
.sf-rte p,.sf-rte ul,.sf-rte ol{margin:0 0 var(--sf-s4)}
.sf-rte .sf-note{font-size:var(--sf-fs-label);color:var(--sf-muted)}
.sf-rte a{color:var(--sf-ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.sf-rte table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:var(--sf-s3) 0 var(--sf-s6);font-size:var(--sf-fs-small)}
.sf-rte th,.sf-rte td{padding:.625rem .75rem;border-bottom:1px solid var(--sf-line);text-align:start;vertical-align:top;white-space:nowrap}
.sf-rte th{font-weight:600;border-bottom-color:var(--sf-line-strong)}
.sf-faq details summary{display:flex;justify-content:space-between;align-items:center;gap:var(--sf-s3)}
.sf-faq details summary::after{content:'';flex:none;width:.75rem;height:.75rem;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform var(--sf-t-state) var(--sf-ease)}
.sf-faq details[open] summary::after{transform:rotate(45deg)}

/* Search */
.sf-search{max-width:35rem;margin-bottom:var(--sf-s3)}
.sf-search input{width:100%}
.sf-search__results{margin-top:var(--sf-s6)}

/* 404: both languages, one after the other */
.sf-404 .sf-wrap{display:grid;gap:var(--sf-s7);justify-items:center;text-align:center}
.sf-404__block{display:grid;justify-items:center;gap:var(--sf-s5)}
.sf-404__block .sf-title{font-size:var(--sf-fs-h1)}

/* Phones: nothing may push the page sideways */
.sf-desc,.sf-sign__body,.sf-rte{overflow-wrap:anywhere}
/* an input's intrinsic width (size=20) must not set the row's minimum width on narrow phones */
.sf-notify__input,.sf-news input[type=email]{width:0}
[hidden]{display:none!important}

/* ===================================================================== Home v2 (5 Oct 2026)
   Image-led landing: vivid thread grounds (--g, set inline from the brand's home-media.json), one focal point per
   section, type as the hero. Rails scroll sideways on phones (scroll-snap), grids on wider screens. */
.sf-btn--light{background:var(--sf-raised);color:var(--sf-ink)!important}
.sf-btn--light:hover{background:#fff}
.sf-btn--ghost{background:transparent;color:var(--sf-raised)!important;box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .7)}
.sf-btn--ghost:hover{background:rgb(255 255 255 / .12)}
.sf-link--light{color:var(--sf-raised)}

/* Hero: photo bleeds to the edge, text on a thread ground */
.sf-hx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(calc(100svh - 7rem),56rem);background:var(--g);color:#fff}
.sf-hx__media{display:block;position:relative;overflow:hidden;background:#d9d6d0}
.sf-hx__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.sf-hx__text{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,5.5rem)}
.sf-hx__eyebrow{margin:0 0 var(--sf-s4);font:500 var(--sf-fs-small)/1.5 var(--sf-ui);color:rgb(255 255 255 / .82)}
.sf-hx__title{margin:0 0 var(--sf-s5);font-family:var(--sf-display);font-size:clamp(3rem,1.2rem + 5.4vw,7rem);font-weight:700;line-height:1.18;text-wrap:balance}
html[lang=en] .sf-hx__title{font-family:var(--sf-display-lat);font-weight:600;line-height:1.02;letter-spacing:-.035em}
.sf-hx__lead{margin:0 0 var(--sf-s7);max-width:30ch;font-size:var(--sf-fs-lead);line-height:1.8;color:rgb(255 255 255 / .9)}
html[lang=en] .sf-hx__lead{line-height:1.5}
@media (max-width:749px){
  .sf-hx{grid-template-columns:1fr;min-height:0}
  .sf-hx__media{aspect-ratio:6/5}
  .sf-hx__text{padding:2.5rem 1.25rem 3rem}
  .sf-hx__lead{margin-bottom:var(--sf-s6)}
  .sf-hx .sf-actions{gap:.75rem}
  .sf-hx .sf-btn{flex:1 1 auto}
}

/* Rails: a sideways scroller on phones */
.sf-rail{list-style:none;margin:0;padding:0}
@media (max-width:749px){
  .sf-rail{display:flex!important;gap:.75rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1.25rem;padding-inline:1.25rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .sf-rail::-webkit-scrollbar{display:none}
  .sf-rail>li{flex:0 0 auto;scroll-snap-align:start}
}

/* Signs wall: every sign on its ground, edge to edge */
.sf-sx{padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.sf-sx+.sf-px{padding-top:clamp(3rem,6vw,5rem)}
.sf-sx__head{display:grid;justify-items:center;text-align:center;margin-bottom:clamp(2rem,4vw,3.5rem)}
.sf-sx__head .sf-lead{margin:var(--sf-s4) 0 0;max-width:40ch}
.sf-sx__wall{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));margin:0;padding:0;list-style:none}
.sf-sx__tile{background:var(--g)}
.sf-sx__tile a{position:relative;display:block;color:#fff;text-decoration:none;-webkit-tap-highlight-color:transparent}
.sf-sx__tile.is-light a{color:var(--sf-ink)}
.sf-sx__tile img{display:block;width:100%;height:auto;aspect-ratio:1;transition:transform var(--sf-t-panel) var(--sf-ease)}
.sf-sx__tile span{position:absolute;inset-inline:0;bottom:.55rem;text-align:center;font:500 .8125rem/1.3 var(--sf-ui);opacity:.92}
.sf-sx__tile a:hover img{transform:scale(1.06)}
.sf-sx__tile a:active img{transform:scale(.97)}
.sf-sx__tile a:focus-visible{outline:2px solid var(--sf-ink);outline-offset:-4px}
.sf-sx__foot{display:flex;justify-content:center;margin-top:var(--sf-s5)}
@media (max-width:989px){.sf-sx__wall{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:749px){.sf-sx__wall{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-sx__tile--more{display:none}.sf-sx__tile span{font-size:.75rem;bottom:.4rem}}

/* Pieces on people */
.sf-px__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem) clamp(1rem,2vw,1.75rem);max-width:80rem;margin-inline:auto!important;padding-inline:clamp(1.25rem,4vw,3rem)!important}
.sf-px__card a{display:grid;gap:.2rem;color:var(--sf-ink);text-decoration:none;-webkit-tap-highlight-color:transparent}
.sf-px__media{overflow:hidden;margin-bottom:.75rem;background:var(--sf-sunken);aspect-ratio:4/5}
.sf-px__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--sf-t-panel) var(--sf-ease)}
.sf-px__card a:hover img{transform:scale(1.03)}
.sf-px__card h3{margin:0;font:500 1rem/1.5 var(--sf-ui)}
.sf-px__card p{margin:0;color:var(--sf-muted);font-size:.9375rem}
@media (max-width:749px){.sf-px__row{padding-inline:1.25rem!important}.sf-px__card{width:78vw}}

/* The meaning band: the reel, the word, the close-ups */
.sf-mx{background:var(--sf-ink);color:var(--sf-raised)}
.sf-mx .sf-eyebrow{color:rgb(255 255 255 / .7)}
.sf-mx__top{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:center}
.sf-mx__reel{margin:0;overflow:hidden;border-radius:1.25rem;background:#000;aspect-ratio:9/16}
.sf-mx__reel video{display:block;width:100%;height:100%;object-fit:cover}
.sf-mx__term{margin:0 0 var(--sf-s4);font-family:var(--sf-display);font-size:clamp(3.5rem,2rem + 6vw,8rem);font-weight:700;line-height:1.15}
html[lang=en] .sf-mx__term{font-family:var(--sf-display-lat);font-weight:600;line-height:1;letter-spacing:-.04em}
.sf-mx__meaning{margin:0 0 var(--sf-s4);max-width:26ch;font-family:var(--sf-text);font-size:var(--sf-fs-quote);line-height:1.7}
html[lang=en] .sf-mx__meaning{font-family:var(--sf-ui);line-height:1.4;letter-spacing:-.01em}
.sf-mx__source{margin:0 0 var(--sf-s6);font-size:var(--sf-fs-label);color:rgb(255 255 255 / .6)}
.sf-mx__closes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);margin-top:clamp(3.5rem,7vw,6rem)!important;padding-top:clamp(2rem,4vw,3rem)!important;border-top:1px solid rgb(255 255 255 / .16)}
.sf-mx__closes a{display:grid;gap:.25rem;color:var(--sf-raised);text-decoration:none}
.sf-mx__close{overflow:hidden;margin-bottom:.75rem;aspect-ratio:1;background:#000}
.sf-mx__close img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--sf-t-panel) var(--sf-ease)}
.sf-mx__closes a:hover img{transform:scale(1.05)}
.sf-mx__closes h3{margin:0;font-family:var(--sf-display);font-size:1.375rem;font-weight:700;line-height:1.4}
html[lang=en] .sf-mx__closes h3{font-family:var(--sf-display-lat);font-weight:600;font-size:1.125rem;letter-spacing:-.01em}
.sf-mx__closes p{margin:0;font-size:var(--sf-fs-small);line-height:1.7;color:rgb(255 255 255 / .72)}
@media (max-width:749px){
  .sf-mx__top{grid-template-columns:1fr;gap:2.5rem}
  .sf-mx__reel{width:min(58vw,16rem);margin-inline:auto}
  .sf-mx__closes{margin-inline:-1.25rem!important}
  .sf-mx__closes>li{width:62vw}
}

/* Seasons as coloured cards */
.sf-cx__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.75rem,1.5vw,1.25rem);max-width:80rem;margin-inline:auto!important;padding-inline:clamp(1.25rem,4vw,3rem)!important}
.sf-cx__card{background:var(--g)}
.sf-cx__card a{position:relative;display:block;color:#fff;text-decoration:none}
.sf-cx__card.is-light a{color:var(--sf-ink)}
.sf-cx__card img{display:block;width:100%;height:auto;aspect-ratio:4/5;transition:transform var(--sf-t-panel) var(--sf-ease)}
.sf-cx__card a:hover img{transform:translateY(-.5rem)}
.sf-cx__label{position:absolute;z-index:1;inset-inline:1rem;top:1rem}
.sf-cx__label h3{margin:0;font-family:var(--sf-display);font-size:clamp(1.5rem,1rem + 1.2vw,2rem);font-weight:700;line-height:1.3}
html[lang=en] .sf-cx__label h3{font-family:var(--sf-display-lat);font-weight:600;letter-spacing:-.02em}
.sf-cx__label p{margin:0;font-size:var(--sf-fs-label);opacity:.85}
@media (max-width:989px){.sf-cx__row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:749px){.sf-cx__row{padding-inline:1.25rem!important}.sf-cx__card{width:62vw}}

/* Instagram strip */
.sf-ig .sf-head{margin-bottom:var(--sf-s6)}
.sf-ig__row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;max-width:80rem;margin-inline:auto!important;padding-inline:clamp(1.25rem,4vw,3rem)!important}
.sf-ig__row a{display:block;overflow:hidden}
.sf-ig__row img{display:block;width:100%;height:auto;aspect-ratio:4/5;transition:opacity var(--sf-t-state) var(--sf-ease)}
.sf-ig__row a:hover img{opacity:.88}
@media (max-width:749px){.sf-ig__row{padding-inline:1.25rem!important}.sf-ig__row>li{width:42vw}}

@media (prefers-reduced-motion:reduce){.sf-sx__tile img,.sf-px__media img,.sf-mx__close img,.sf-cx__card img{transition:none!important;transform:none!important}}
