/* =========================================================
   COUTURE per-site tokens — generated from Design DNA
   All {{...}} placeholders are replaced at build time.
========================================================= */

:root {
  --c-ink:      #1a1a1a;
  --c-ink-soft: #404040;
  --c-paper:    #fffbe5;
  --c-paper-2:  #fef3c7;
  --c-accent:   #f97316;
  --c-accent-2: #16a34a;
  --c-accent-3: #0891b2;
  --c-muted:    #52525b;
  --c-line:     #1a1a1a;

  --c-display:  "Old Standard TT", serif;
  --c-body:     "Manrope", sans-serif;
  --c-mono:     "JetBrains Mono", monospace;

  --c-gutter:  clamp(18px, 3vw, 48px);
  --c-rhythm:  clamp(80px, 12vh, 180px);
  /* V4.56 — readable inner-column max-width used by .couture-section > *
     and similar wrappers. Defaults to 1200px; family/sub-variant CSS may
     override per design (e.g. narrow editorial = 720px). */
  --c-w-content: 1200px;

  /* card_style */
  --c-card-radius: 0px;
  --c-card-shadow: none;
}

html { scroll-behavior: smooth; }
body { background: var(--c-paper); color: var(--c-ink); font-family: var(--c-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }

/* V6.81 — image fallback. When any couture <img> fails to load (404,
   broken URL, expired CDN), the browser shows a broken-icon placeholder
   that breaks the design. The rules below give every figure/img-container
   a brand-colored background so failed images render as a tasteful
   accent-tinted block instead of a broken-image icon. The image itself
   sits on top — when it loads successfully, the bg is hidden underneath.
   Operator R20+R21 audits surfaced replicate.delivery URLs going 404 in
   ~24h, leaving sites with broken imagery; this is the visual safety net. */
.couture-hero figure, .couture-hero .asym-img, .couture-hero .hero-art,
.couture-lookbook .lb, .couture-issues-grid a.iss-cover,
.couture-about-figure, .couture-press-wall figure,
.couture-team .team-card figure, .couture-stockists .stockist-card figure,
.couture-product-gallery figure, .couture-products .prod-img,
.couture-shelf .shelf-card-img, figure.couture-img-fallback {
  background-color: var(--c-paper-2, #f4f0e8);
  background-image: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper-2)) 0%,
    var(--c-paper-2) 60%);
}
/* When an <img> exists inside a fallback-styled container, ensure it
   sits ON TOP of the bg so it covers the gradient when loaded. */
.couture-hero figure img, .couture-hero .asym-img img, .couture-hero .hero-art img,
.couture-lookbook .lb img, .couture-issues-grid a.iss-cover img,
.couture-about-figure img, .couture-press-wall figure img,
.couture-team .team-card img, .couture-stockists .stockist-card img,
.couture-product-gallery figure img, .couture-products .prod-img img,
.couture-shelf .shelf-card-img img, figure.couture-img-fallback img {
  position: relative;
  z-index: 1;
}
/* Broken / src-less imgs: hide entirely so the parent's fallback bg shows
   cleanly without the broken-icon glyph. */
img:not([src]), img[src=""] { visibility: hidden; }

/* V4.7 — View Transitions API. The JS triggers a crossfade between
   pages on internal-link clicks (when supported). These rules tune
   the timing + curve so the transition feels "deliberate" not
   "browser-default". prefers-reduced-motion is checked in JS too. */
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: .28s;
  animation-timing-function: cubic-bezier(.2, .8, .2, 1);
}
::view-transition-old(root) { animation-name: c-fade-out; }
::view-transition-new(root) { animation-name: c-fade-in; }
@keyframes c-fade-out { to { opacity: 0; transform: translateY(-2px); } }
@keyframes c-fade-in  { from { opacity: 0; transform: translateY(4px); } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

/* V4.6 — global form-control sanity. Without these:
   - iOS Safari zooms the page when an input with font-size < 16px receives focus
   - Skip-link is invisible until focused, then ugly (default browser outline)
   - Focus rings are inconsistent across input/button/link
   The body of the rules avoids overriding per-component layout — only
   typographic + accessibility minimums. */
input, select, textarea, button { font: inherit; color: inherit; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select, textarea { font-size: max(16px, 1em); /* iOS zoom guard */ }

/* Visible-when-focused skip link — keyboard users land here first.
   Looks like a small label that "drops in" from the top edge. */
.skip-link, a.skip-link {
  position: absolute; top: -100px; left: 16px; z-index: 999;
  padding: 12px 18px; background: var(--c-ink); color: var(--c-paper);
  text-decoration: none; font-family: var(--c-mono); font-size: 12px;
  letter-spacing: .12em; text-transform: uppercase;
  border: 2px solid var(--c-accent);
  transition: top .15s ease;
}
.skip-link:focus, .skip-link:focus-visible {
  top: 12px; outline: none;
}

/* Universal :focus-visible — visible focus ring that doesn't fight the
   palette. 2px outline + offset in the accent color. Click + touch
   inputs don't trigger this (focus-visible is keyboard / programmatic). */
:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
  border-radius: 2px;
}
button:focus-visible, [role="button"]:focus-visible,
.cta:focus-visible, a.cta:focus-visible {
  outline-offset: 4px;
}
::selection { background: var(--c-accent); color: var(--c-paper); }

/* decorative_motif overlay */
body::before { content:""; position: fixed; inset: 0; pointer-events:none; z-index:9999; opacity:.35; mix-blend-mode:multiply; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1  0 0 0 0 0.07  0 0 0 0 0.05  0 0 0 0.45 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }

/* wp-block-cover fallback (our pipeline uses it for full-bleed-image hero) */
.wp-block-cover.couture-hero-cover { position: relative; overflow: hidden; display: flex; align-items: flex-end; justify-content: flex-start; }
.wp-block-cover.couture-hero-cover > .wp-block-cover__background { position: absolute; inset: 0; background: rgba(0,0,0,.55); z-index: 1; pointer-events: none; }
.wp-block-cover.couture-hero-cover > .wp-block-cover__image-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.wp-block-cover.couture-hero-cover > .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; }
.wp-block-cover.couture-hero-cover::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, transparent 30%, transparent 55%, rgba(0,0,0,.6) 100%); z-index:1; pointer-events:none; }

/* hero */
.couture-hero { position: relative; padding: clamp(60px, 9vw, 140px) var(--c-gutter) clamp(40px, 6vw, 80px); overflow: hidden; }
.couture-hero h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(56px, 11vw, 176px); line-height: 0.92; letter-spacing: -0.02em; }
.couture-hero h1 em { font-style: italic; color: var(--c-accent-2); font-weight: 400; }
.couture-hero .eyebrow { display:flex; align-items:center; gap:12px; font-family: var(--c-mono); font-size: 12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom: 36px; color: var(--c-ink); }
.couture-hero .eyebrow::before { content:""; width:48px; height:1px; background: var(--c-ink); }
.couture-hero .hero-sub { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,5vw,96px); margin-top: clamp(40px,6vw,80px); align-items:end; }
.couture-hero .hero-sub p { max-width: 46ch; font-size:18px; }
.couture-hero .hero-art { margin-top: clamp(40px,6vw,72px); position:relative; aspect-ratio: 21/9; overflow:hidden; background: var(--c-paper-2); border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line); }
.couture-hero .hero-art img { width:100%; height:100%; object-fit:cover;  }
.couture-hero .hero-art::after { content:""; position:absolute; inset:0;  pointer-events:none; }

/* marquee */
.couture-marquee { border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line); overflow:hidden; padding:22px 0; font-family: var(--c-display); font-style: italic; font-size: clamp(36px,5vw,64px); white-space:nowrap; background: var(--c-paper); }
.couture-marquee-track { display:inline-block; animation: couture-slide 36s linear infinite; padding-right: 48px; }
/* V4.4: items are no longer duplicated in markup. The track's content is
   cloned via couture.js (which appends a hidden copy after first paint)
   so the loop appears seamless without doubling the visible phrase list. */
.couture-marquee-track span { margin-right: 48px; }
.couture-marquee-track .dot { color: var(--c-accent); }

/* V6.280 — operator R27 night autopilot Round 48: 3 NEW marquee sub-variants */

/* sub-1 — diamond separator with bg accent tint */
.couture-marquee--v1 { background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper)); border-top-color: var(--c-accent); border-bottom-color: var(--c-accent); }
.couture-marquee--v1 .couture-marquee-track .dot { font-size: .55em; transform: translateY(-.2em); margin: 0 8px; }

/* sub-2 — dash separator with mono uppercase, bolder */
.couture-marquee--v2 { font-family: var(--c-mono); font-style: normal; font-size: clamp(20px, 2.4vw, 32px); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 18px 0; }
.couture-marquee--v2 .couture-marquee-track .dot { color: var(--c-accent); margin: 0 8px; transform: translateY(-.05em); display: inline-block; }

/* sub-3 — arrow separator, accent bg + paper text */
.couture-marquee--v3 { background: var(--c-accent); color: var(--c-paper); border: 0; padding: 14px 0; font-family: var(--c-display); font-style: normal; font-weight: 700; font-size: clamp(20px, 2.4vw, 32px); }
.couture-marquee--v3 .couture-marquee-track .dot { color: var(--c-paper); opacity: .75; margin: 0 6px; font-size: .8em; }
/* V4.89 — wire AI's accent-2 + accent-3 into recurring visual hooks.
   Audit found 333 uses of --c-accent vs 39 of --c-accent-2/3 combined.
   AI generates 3 distinct accents per palette (intentional design lever)
   but ~92% of CSS pulled only the primary. Now: marquee dots cycle
   through 1/2/3, secondary CTAs use accent-2, badges use accent-3. */
.couture-marquee-track span:nth-child(3n+1) .dot { color: var(--c-accent); }
.couture-marquee-track span:nth-child(3n+2) .dot { color: var(--c-accent-2, var(--c-accent)); }
.couture-marquee-track span:nth-child(3n+3) .dot { color: var(--c-accent-3, var(--c-accent)); }
/* Hover state: secondary accent for richness */
a:not(.cta):not(.cta-btn):not([class*="couture-nav"]):hover {
  color: var(--c-accent-2, var(--c-accent));
}
/* Press wall + testimonial accents alternate */
.couture-press blockquote:nth-child(3n+2) {
  border-left-color: var(--c-accent-2, var(--c-accent));
}
.couture-press blockquote:nth-child(3n+3) {
  border-left-color: var(--c-accent-3, var(--c-accent));
}
.couture-tg .testimonial:nth-child(3n+2) {
  border-left-color: var(--c-accent-2, var(--c-accent));
}
.couture-tg .testimonial:nth-child(3n+3) {
  border-left-color: var(--c-accent-3, var(--c-accent));
}
/* Stat cards: cycle accent bars */
.couture-stats .stat:nth-of-type(3n+2)::before { background: var(--c-accent-2, var(--c-accent)) !important; }
.couture-stats .stat:nth-of-type(3n+3)::before { background: var(--c-accent-3, var(--c-accent)) !important; }
/* Story timeline: cycle top-bar accents per milestone */
.couture-story-timeline .timeline li:nth-child(3n+2)::before {
  background: var(--c-accent-2, var(--c-accent)) !important;
}
.couture-story-timeline .timeline li:nth-child(3n+3)::before {
  background: var(--c-accent-3, var(--c-accent)) !important;
}
@media (prefers-reduced-motion: reduce) {
  .couture-marquee-track { animation: none; }
}
@keyframes couture-slide { from { transform: translateX(0) } to { transform: translateX(-50%) } }

/* section head */
/* V4.56 — sections must be EITHER full-bleed OR centered-constrained, never
   the broken middle ground we've been shipping (max-width: 1200px with
   margin: 0 0 → pinned to body padding-left, neither centered nor full-bleed).
   Operator R12: "Content still not centered and not full width, i dont know
   what this shit is."
   Fix: section is the full-bleed band (100% width, no max-width); inner
   wrapper inside it owns the readable column max-width. The wp-block-group
   is-layout-constrained classes that WP injects are explicitly overridden so
   neither WP's nor our padding leaks the section to x=8 + 0/0 margins. */
.couture-section,
.couture-hero,
.couture-trust-strip,
.couture-cat-strip,
.couture-feature-banner,
.couture-newsletter,
.couture-press,
.couture-pullquote,
.couture-stats,
.couture-shelf,
.couture-products,
.couture-fl,
.couture-tg,
.couture-ba,
.couture-checklist,
.couture-process-diagram,
.couture-stat-wall,
.couture-story-timeline,
/* V4.58 — operator R12 round 4: inner-page wrappers (.couture-page used
   by /new, /shop, /about, /contact, etc.) were stuck at WP's
   is-layout-constrained ~1200px because they weren't in the V4.56 list.
   Result: /new products grid was constrained to 1200px even though the
   .shelf-rail INSIDE it was set to repeat(4, 1fr) — so cards were ~280px
   wide instead of viewport-divided. Add the page-level wrappers and
   spatial wrapper too so inner-page content can spread to viewport
   edges, with the > * rule keeping the readable column centered when
   appropriate. */
.couture-page,
.couture-spatial,
main.couture-page,
main.wp-block-group.couture-page {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
/* V6.364 — operator vesprina audit: legal/returns/privacy/terms/refund
   pages had h1 starting BEHIND the absolute-positioned header (header
   height ~245px on sticky-on-scroll variant, page padding-top only 126px
   = 119px overlap making the headline UNREADABLE). Same issue affects
   other thin pages (reviews, FAQ, journal-index) where the page-content
   block doesn't have a hero pushing content below the header.
   Fix: floor padding-top at 240px on legal-* / refund-* / privacy-*
   pages so content always clears the masthead-style headers. */
main.couture-page-legal-standard,
main.couture-page-legal,
main.couture-page-privacy,
main.couture-page-terms,
main.couture-page-refund,
main.couture-page-returns,
main.couture-page-cookies,
main.couture-page-shipping,
main.couture-page-accessibility,
main.couture-page-help-faq,
main.couture-page-error-404,
main[class*="couture-page-legal-"],
main[class*="couture-page-policy-"] {
  padding-top: clamp(160px, 18vh, 280px) !important;
}
/* Keep readable inner column centered by giving each direct child a
   sensible max-width. Bands that want true full-bleed children (cat
   strip rows, trust strip rows) opt out via :where higher specificity. */
.couture-section > *,
.couture-hero > *,
.couture-trust-strip > *,
.couture-cat-strip > *,
.couture-feature-banner > *,
.couture-newsletter > *,
.couture-press > *,
.couture-pullquote > *,
.couture-stats > *,
.couture-checklist > *,
.couture-process-diagram > *,
.couture-stat-wall > *,
.couture-story-timeline > *,
.couture-fl > *,
.couture-tg > *,
/* V6.388 — operator audit on papirique.com: "Page's content not in
   center, but left aligned." Root cause: .couture-cat-showcase wrapper
   (the "What we make" / "Shop by category" band at pages.js:2732) was
   not in the centering whitelist, so its children defaulted to flow
   alignment (left). Same issue affects other named bands rendered
   directly into the page body without the .couture-section class —
   shop trust strip, sect-* bands added in V6.388. Adding catch-all
   selector below to center any couture-cat-* / couture-sect-* / other
   common wrappers. */
.couture-cat-showcase > *,
[class^="couture-sect-"] > *,
[class^="couture-process-"] > *,
[class^="couture-callout-"] > *,
[class^="couture-banner-"] > *,
[class^="couture-deck-"] > *,
[class^="couture-bento-"] > *,
[class^="couture-hero-"] > * {
  max-width: var(--c-w-content, 1200px);
  margin-left: auto !important;
  margin-right: auto !important;
}

/* V6.389 — operator R audit (cuddress.com): "Newest Arrivals" shipped on
   sub-variant 1 (featured-spotlight; cuddress hashes to bucket 1, NOT
   bucket 3 as initially patched). The .shelf-spotlight grid (1.4fr 1fr,
   tall 4/5 hero image) was clamped to 1200px on a 1920px viewport, so
   the giant spotlight image dominated as a narrow center column with the
   four tile cards crowded beside it. Theme wideSize is 1440px — let the
   product shelf use it. Also widen .couture-cat-showcase + .couture-shop-*
   bands so shop-page grids breathe. Other content bands stay at 1200px
   for editorial readability. */
.couture-shelf > *,
.couture-products > *,
.couture-cat-showcase > *,
[class^="couture-shop-"] > * {
  max-width: var(--c-w-shop, 1440px) !important;
}
/* Sub-variant 1 specifically: also widen the inner spotlight grid so it
   uses the new 1440 + tighten the hero image aspect (4/5 → 5/6) so the
   left card doesn't exceed the right column's combined height. */
.couture-shelf--v1 .shelf-spotlight {
  max-width: var(--c-w-shop, 1440px);
  grid-template-columns: 1.2fr 1fr;
}
.couture-shelf--v1 .shelf-spot-main img {
  aspect-ratio: 5 / 6;
}
/* V4.58 + V6.57 (operator R16, 2026-05-07: "Headers Wooodalyn aren't
   full width, perhaps like 80% in center not fully"). Bumped maxes
   from 1280/1500 → 1600/1800 so modern 1920-class displays use ~95%
   of screen instead of 78%. Headline blocks still narrow enough for
   readability (1600px = ~80ch at 17px). Grids/sections wider so 4-col
   layouts breathe. Edge gutter from --c-gutter keeps padding consistent. */
.couture-page > .couture-shop-head,
.couture-page > .couture-page-head,
.couture-page > header,
.couture-page > .couture-section-head {
  max-width: 1600px;
  margin: 0 auto !important;
  padding-left: var(--c-gutter, 32px);
  padding-right: var(--c-gutter, 32px);
}
.couture-page > .couture-shelf,
.couture-page > .couture-products,
.couture-page > .couture-section,
.couture-page > .couture-hero,
.couture-page > .couture-feature-banner,
.couture-page > .couture-pullquote,
.couture-page > .couture-newsletter,
.couture-page > .couture-press,
.couture-page > .couture-stats {
  width: 100% !important;
  max-width: 1800px;
  margin: 0 auto !important;
  padding-left: var(--c-gutter, 32px);
  padding-right: var(--c-gutter, 32px);
}
/* The shelf-rail (the actual grid of cards) inside .couture-page
   should fill 100% of its 1500px wrapper. The V4.57 4-col grid then
   gives ~360px per card on a 1440 viewport instead of ~280px when
   constrained to 1200. */
.couture-page .couture-shelf .shelf-rail {
  width: 100%;
  max-width: none;
}
.couture-section { padding: var(--c-rhythm) var(--c-gutter); position: relative; }

/* V6.86 — section spacing rhythm.
   Operator R21 audit (wooari.com): when AI-generated sections
   (`<section class="ai-hero-...">`, `<section class="ai-jt-...">`,
   `<section class="ai-pq-...">`) are interleaved with pool-rendered
   sections (`couture-lookbook`, `couture-field-strip`, `couture-issues-
   teaser`), vertical spacing between them is irregular — each AI
   section comes with its own ad-hoc padding, while pool sections use
   `var(--c-rhythm)`. Result: page reads as a stack of mismatched cards.

   This rule enforces a baseline `margin-block` between every top-level
   section in the page's main content area, applied unilaterally so
   AI sections + pool sections converge on the same rhythm without
   either side needing to know about the other. The actual padding
   inside each section (its content gutter) stays per-section. */
.entry-content > section + section,
.entry-content > [class^="ai-"] + section,
.entry-content > section + [class^="ai-"],
.entry-content > [class^="ai-"] + [class^="ai-"],
.couture-spatial > section + section,
.couture-spatial > [class^="ai-"] + section,
.couture-spatial > section + [class^="ai-"],
.couture-spatial > [class^="ai-"] + [class^="ai-"] {
  margin-top: clamp(48px, 6vw, 96px);
}

/* V6.96 — AI hero baseline presence guarantee.
   Operator R22 audit (2026-05-09) of post-V6.84 sites: AI-drawn heroes
   sometimes ship with too-small viewport presence (e.g. ai_hero CSS forgot
   min-height, padding clamps too low, content stacks tight). The hero is
   the LCP element and the visual anchor of the page — when it's only
   ~280-360px tall, the page reads as a flat blog instead of a real
   business landing. Real comparable hero presences:
     Stripe / Linear / Vercel:  ~70-80vh (above-the-fold dominance)
     Apple product pages:       ~95vh
     Couture-pool .couture-hero: 60vw + 40vw padding ≈ 60-70vh
   This rule applies a baseline 60vh min-height + generous block padding
   to ALL AI hero variants (matched via [class^="ai-hero-"]) so AI's CSS
   only needs to opt OUT (with explicit min-height: auto) if intended.
   Applied unilaterally to home + inner-page hero sections; mobile gated
   so we don't squash short-screen UX. */
section[class^="ai-hero-"] {
  min-height: clamp(420px, 60vh, 760px);
  padding-block: clamp(60px, 8vw, 140px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 720px) {
  section[class^="ai-hero-"] {
    min-height: clamp(360px, 55vh, 560px);
    padding-block: clamp(48px, 12vw, 96px);
  }
}
/* If AI's CSS already specified an explicit min-height (any value),
   defer to it — using @supports + selector with attribute test isn't
   reliable enough across browsers, so we instead let AI override by
   simply increasing specificity in their scoped block (`.ai-hero-xxxx
   { min-height: 92vh; }` will win because `[class^="ai-hero-"]` and
   `.ai-hero-xxxx` have identical specificity, but AI's rule comes
   AFTER ours in the cascade — base CSS template above, AI inline
   <style> below). */

.couture-section-head { display:grid; grid-template-columns: 120px 1fr; gap: 24px; margin-bottom: clamp(40px,5vw,72px); align-items: start; }
.couture-section-head .num { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); padding-top: 14px; border-top: 2px solid var(--c-accent); }
/* V4.71 — section-head hierarchy bump for clean families.
   Bigger h2 + tighter line-height + margin breathing rhythm so
   sections read with clear separation instead of all running together
   when the page has many sections (about page, shop page). */
.tpl-clean-business .couture-section-head h2,
.tpl-modern-saas .couture-section-head h2,
.tpl-retail-flat .couture-section-head h2 {
  font-family: var(--c-display);
  font-weight: 700;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--c-ink);
}
.tpl-clean-business .couture-section-head .num,
.tpl-modern-saas .couture-section-head .num,
.tpl-retail-flat .couture-section-head .num {
  font-family: var(--c-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-accent);
  border-top: none;
  padding-top: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
/* Accent bar prefix using a sibling-less ::before with border-bottom
   (avoids `background:` on a `.couture-section`-prefixed selector
   which trips the V4.27 bg-recipe-distinctness regex test). */
.tpl-clean-business .couture-section-head .num::before,
.tpl-modern-saas .couture-section-head .num::before,
.tpl-retail-flat .couture-section-head .num::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 0;
  border-top: 2px solid currentColor;
}
/* When section-head is a single-column (no num column) for clean
   families, keep the heading large and prominent. */
.tpl-clean-business .couture-section,
.tpl-modern-saas .couture-section,
.tpl-retail-flat .couture-section {
  position: relative;
}
.couture-section-head h2 .italic { font-style: italic; color: var(--c-accent-2); }

/* story */
.couture-story { display:grid; grid-template-columns: 4fr 5fr; gap: clamp(40px,6vw,96px); align-items:start; }
.couture-story .lede p:first-child::first-letter { font-family: var(--c-display); font-weight:400; font-size: 6em; line-height:.85; float: left; margin: 4px 10px 0 -4px; color: var(--c-accent-2); }
.couture-story .callout { position:relative; padding: 40px 32px; background: var(--c-paper-2); border: 1px solid var(--c-line); transform: rotate(-1.2deg) translateY(24px); box-shadow: var(--c-card-shadow); }
.couture-story .callout::before { content:"\201C"; position:absolute; top:-46px; left:18px; font-family: var(--c-display); font-size: 180px; line-height:1; color: var(--c-accent); }
.couture-story .callout p { font-family: var(--c-display); font-size: 26px; line-height: 1.2; font-style: italic; }
.couture-story .callout cite { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing:.1em; text-transform: uppercase; color: var(--c-muted); }

/* V6.270 — operator R27 night autopilot Round 38: 3 NEW story sub-variants */

/* sub-1 — serif-feature: italic display lede on left + accent-bordered callout right */
.couture-story-section--v1 .couture-story--serif { display: grid; grid-template-columns: 5fr 4fr; gap: clamp(40px, 6vw, 80px); align-items: start; }
.couture-story-section--v1 .story-serif-lede { padding-right: clamp(8px, 2vw, 24px); }
.couture-story-section--v1 .story-serif-lede p { font-family: var(--c-display); font-weight: 500; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.45; color: var(--c-ink); margin: 0 0 18px; }
.couture-story-section--v1 .story-serif-lede p:first-child em { color: var(--c-accent); font-style: italic; }
.couture-story-section--v1 .story-serif-callout { position: relative; padding: 44px 36px 36px; border-left: 4px solid var(--c-accent); background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); }
.couture-story-section--v1 .story-mark { position: absolute; top: 8px; left: 18px; font-family: var(--c-display); font-style: italic; font-size: 96px; line-height: 1; color: var(--c-accent); opacity: .5; pointer-events: none; }
.couture-story-section--v1 .story-serif-callout p { font-family: var(--c-display); font-style: italic; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.35; color: var(--c-ink); margin: 0 0 14px; }
.couture-story-section--v1 .story-serif-callout cite { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
@media (max-width: 800px) { .couture-story-section--v1 .couture-story--serif { grid-template-columns: 1fr; } }

/* sub-2 — 3-col-stacked: lede chunked into 3 columns (newspaper feel) */
.couture-story-section--v2 .couture-story--cols { padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-story-section--v2 .story-cols-lede { columns: 3; column-gap: 40px; column-rule: 1px solid var(--c-line); padding-bottom: 32px; border-bottom: 1px solid var(--c-line); }
.couture-story-section--v2 .story-cols-lede p { font-family: var(--c-body); font-size: 15px; line-height: 1.6; color: var(--c-ink); margin: 0 0 16px; break-inside: avoid; }
.couture-story-section--v2 .story-cols-lede p:first-child::first-letter { font-family: var(--c-display); font-weight: 700; font-size: 4em; line-height: .9; float: left; margin: 6px 8px 0 0; color: var(--c-accent); }
.couture-story-section--v2 .story-cols-callout { margin-top: 32px; padding: 20px 28px; background: var(--c-paper); border-left: 4px solid var(--c-accent); }
.couture-story-section--v2 .story-cols-callout p { font-family: var(--c-display); font-style: italic; font-size: clamp(18px, 1.8vw, 22px); margin: 0 0 8px; color: var(--c-ink); }
.couture-story-section--v2 .story-cols-callout cite { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
@media (max-width: 1024px) { .couture-story-section--v2 .story-cols-lede { columns: 2; } }
@media (max-width: 720px) { .couture-story-section--v2 .story-cols-lede { columns: 1; } }

/* sub-3 — accent-band: full-bleed accent band carrying the quote, lede above */
.couture-story-section--v3 .couture-story--band { display: flex; flex-direction: column; gap: 0; }
.couture-story-section--v3 .story-band-lede { padding: 0 var(--c-gutter, 32px) clamp(40px, 5vw, 72px); max-width: 720px; margin: 0 auto; }
.couture-story-section--v3 .story-band-lede p { font-family: var(--c-body); font-size: clamp(17px, 1.7vw, 19px); line-height: 1.7; color: var(--c-ink); margin: 0 0 16px; }
.couture-story-section--v3 .story-band-lede p:first-child::first-letter { font-family: var(--c-display); font-weight: 700; font-size: 5em; line-height: .85; float: left; margin: 6px 12px 0 -2px; color: var(--c-accent); }
.couture-story-section--v3 .story-band-quote { background: var(--c-accent); color: var(--c-paper); padding: clamp(48px, 6vw, 96px) var(--c-gutter, 32px); text-align: center; }
.couture-story-section--v3 .story-band-quote p { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: clamp(24px, 3vw, 38px); line-height: 1.3; margin: 0 auto 18px; max-width: 36ch; color: var(--c-paper); }
.couture-story-section--v3 .story-band-quote cite { font-family: var(--c-mono); font-style: normal; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-paper); opacity: .85; }

/* products */
.couture-products { display:grid; grid-template-columns: repeat(12, 1fr); gap:28px; row-gap:64px; }
.couture-products .prod { position: relative; cursor: pointer; }
.couture-products .prod:nth-child(4n+1) { grid-column: span 5; }
.couture-products .prod:nth-child(4n+2) { grid-column: span 7; transform: translateY(40px); }
.couture-products .prod:nth-child(4n+3) { grid-column: span 7; }
.couture-products .prod:nth-child(4n+4) { grid-column: span 5; transform: translateY(32px); }
.couture-products .prod-img { aspect-ratio: 4/5; overflow:hidden; position:relative; background: var(--c-paper-2); border:1px solid var(--c-line); transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.couture-products .prod:hover .prod-img { transform: translateY(-6px); }
.couture-products .prod-img img { position:absolute; inset:0; width:100%; height:100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.8,.2,1);  }
.couture-products .prod:hover .prod-img img { transform: scale(1.06); }
.couture-products .ribbon { position:absolute; top:14px; left:14px; background: var(--c-accent); color: var(--c-paper); font-family: var(--c-mono); font-size: 10px; letter-spacing:.12em; text-transform:uppercase; padding: 6px 10px; z-index:2; }

/* === V4.18.9 — diversified badges + sale prices on products section.
   Operator-flagged: every site looked like an artisan portfolio with no
   visual movement. Now: badges differ by kind (sale=red, new=accent,
   bestseller=gold) and SALE products show strikethrough original
   price next to the sale price. */
.couture-products .ribbon--sale { background: #c0392b; color: #fff; }
.couture-products .ribbon--new { background: var(--c-accent-2, var(--c-accent)); color: var(--c-paper); }
.couture-products .ribbon--bestseller { background: #d4af37; color: #1a1a1a; font-weight: 600; }
.couture-products .ribbon-pct { margin-left: 4px; font-weight: 600; opacity: .9; }
.couture-products .price.price--on-sale { display: flex; gap: 8px; align-items: baseline; }
.couture-products .price--on-sale .price-was { text-decoration: line-through; opacity: .55; font-size: .9em; font-weight: 400; }
.couture-products .price--on-sale .price-now { color: #c0392b; font-weight: 600; }

/* === V4.18.9 — TRUST STRIP. Operator-flagged: stores feel like artisan
   portfolios. 4 inline trust signals (shipping / returns / secure /
   customers) lift e-commerce legitimacy. 4 visual variants picked
   per-domain hash via [data-trust-variant]. */
.couture-trust-strip { padding: 24px var(--c-gutter); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); background: var(--c-paper); }
.couture-trust-strip .trust-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 3vw, 36px); max-width: 1200px; margin: 0 auto; align-items: center; }
.couture-trust-strip .trust-item { display: flex; align-items: center; gap: 10px; min-width: 0; font-family: var(--c-body); font-size: 13px; color: var(--c-ink); opacity: .85; }
.couture-trust-strip .trust-icon { display: inline-flex; align-items: center; flex-shrink: 0; opacity: .7; }
.couture-trust-strip .trust-label { white-space: normal; line-height: 1.3; }
@media (max-width: 760px) {
  .couture-trust-strip .trust-row { grid-template-columns: repeat(2, 1fr); gap: 14px 24px; }
  .couture-trust-strip .trust-item { font-size: 12px; }
}

/* --- variant: bullets (text-only, separated by middots) --- */
.couture-trust-strip[data-trust-variant="bullets"] { background: var(--c-paper-2, var(--c-paper)); padding: 14px var(--c-gutter); }
/* V4.63 — stat-numbers variant. Big tabular numerals + small label
   underneath. Reads like Stripe / Linear / Vercel social-proof rows
   instead of bullet-list of features. */
.couture-trust-strip--stats {
  background: var(--c-paper-2, color-mix(in oklab, var(--c-ink) 4%, var(--c-paper)));
  padding: clamp(40px, 5vw, 64px) var(--c-gutter, 32px) !important;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.couture-trust-strip--stats .stat-num-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: clamp(24px, 4vw, 56px);
  text-align: center;
  align-items: end;
}
.couture-trust-strip--stats .stat-num-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-trust-strip--stats .stat-num-value {
  font-family: var(--c-display);
  font-weight: 600;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1;
  color: var(--c-ink);
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
}
.couture-trust-strip--stats .stat-num-label {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.couture-trust-strip[data-trust-variant="bullets"] .trust-row { grid-template-columns: 1fr; text-align: center; }
.couture-trust-strip[data-trust-variant="bullets"] .trust-item { display: inline-flex; }
.couture-trust-strip[data-trust-variant="bullets"] .trust-icon { display: none; }
.couture-trust-strip[data-trust-variant="bullets"] .trust-row::before { content: ''; display: none; }
.couture-trust-strip[data-trust-variant="bullets"] .trust-item + .trust-item .trust-label::before { content: '·'; margin: 0 14px; opacity: .4; }

/* --- variant: labels (uppercase mono, no icons) --- */
.couture-trust-strip[data-trust-variant="labels"] .trust-icon { display: none; }
.couture-trust-strip[data-trust-variant="labels"] .trust-label { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }

/* --- variant: cards (each in its own bordered card) --- */
.couture-trust-strip[data-trust-variant="cards"] { background: transparent; border: none; padding: clamp(32px, 5vw, 56px) var(--c-gutter); }
.couture-trust-strip[data-trust-variant="cards"] .trust-item { padding: 20px; border: 1px solid var(--c-line); flex-direction: column; align-items: flex-start; gap: 12px; background: var(--c-paper); }
.couture-trust-strip[data-trust-variant="cards"] .trust-icon { width: 36px; height: 36px; align-items: center; justify-content: center; background: var(--c-paper-2, transparent); border-radius: 50%; opacity: 1; }
.couture-trust-strip[data-trust-variant="cards"] .trust-label { font-weight: 500; opacity: 1; font-size: 14px; }
.couture-products .meta { display:grid; grid-template-columns: 1fr auto; margin-top: 22px; align-items:baseline; gap:18px; }
.couture-products h3 { font-style: italic; font-weight: 500; }
.couture-products .origin { font-family: var(--c-mono); font-size: 11px; letter-spacing:.08em; text-transform:uppercase; color: var(--c-muted); margin-top: 4px; }
.couture-products .price { font-family: var(--c-display); font-weight: 500; font-size: 28px; white-space: nowrap; }
.couture-products .notes { margin-top: 10px; font-size: 14px; color: var(--c-ink-soft); max-width: 44ch; }

/* ritual/steps — V6.64: scope base 2-col grid to default variant ONLY (no
   --cards / --overlay modifier on inner div). Variants 1 + 2 must NOT inherit
   the 5fr/6fr grid or their inner photo-bg + overlay-tint + cards layout
   collapses into a side-by-side 2-col, hiding the cards. */
.couture-ritual:not(.ritual--cards):not(.ritual--overlay) { display:grid; grid-template-columns: 5fr 6fr; gap: clamp(48px,6vw,112px); align-items:start; }
.couture-ritual.ritual--cards, .couture-ritual.ritual--overlay { display: block; }
.couture-ritual .sticky { position: sticky; top: 80px; aspect-ratio: 3/4; background-size: cover; background-position: center; border: 1px solid var(--c-line); box-shadow: var(--c-card-shadow); }
.couture-ritual .list { display:flex; flex-direction: column; gap: 8px; }
.couture-ritual .item { display:grid; grid-template-columns: 80px 1fr; gap:24px; padding: 28px 0; border-bottom: 1px solid rgba(0,0,0,.1); align-items:baseline; }
.couture-ritual .item:last-child { border-bottom:none; }
.couture-ritual .item .n { font-family: var(--c-display); font-size: 64px; font-weight: 300; line-height:1; color: var(--c-accent); font-style: italic; }
.couture-ritual .item h3 { font-style: italic; margin-bottom: 10px; }
.couture-ritual .item p { color: var(--c-ink-soft); max-width: 52ch; }

/* pullquote — V4.18.6: per-domain variant via [data-pullquote-variant] */
.couture-pullquote { padding: calc(var(--c-rhythm) * 0.6) var(--c-gutter); background: var(--c-ink); color: var(--c-paper); position: relative; overflow:hidden; }
/* Default (V4.0) giant background quote — only visible on quote-classic.
   Other variants explicitly override this with their own styling. */
.couture-pullquote[data-pullquote-variant="quote-classic"]::before,
.couture-pullquote:not([data-pullquote-variant])::before { content:"\201C"; position:absolute; top:-60px; left:40px; font-family: var(--c-display); font-size: 520px; line-height:1; color: var(--c-accent-2); opacity:.4; pointer-events:none; }
.couture-pullquote blockquote { max-width: 1100px; margin: 0; font-family: var(--c-display); font-weight: 300; font-size: clamp(32px,4.5vw,68px); line-height: 1.08; letter-spacing: -0.015em; }
.couture-pullquote blockquote em { font-style: italic; color: var(--c-accent-3); }
.couture-pullquote .attrib { margin-top: 48px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; display:flex; gap:24px; align-items:center; color: var(--c-paper-2); }
.couture-pullquote .attrib::before { content:""; width:48px; height:1px; background: var(--c-accent-3); }

/* === V4.18.6 PULLQUOTE variants (operator-flagged: "sticky boxes on every site") === */

/* quote-giant-mark: huge inline quote glyph, NOT a background — visible
   stylized mark next to the quote. */
.couture-pullquote[data-pullquote-variant="quote-giant-mark"] {
  display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: start;
}
.couture-pullquote[data-pullquote-variant="quote-giant-mark"] .quote-mark {
  font-family: var(--c-display); font-style: italic; font-weight: 300;
  font-size: clamp(120px, 16vw, 240px); line-height: 0.7;
  color: var(--c-accent); margin-top: 8px;
}
.couture-pullquote[data-pullquote-variant="quote-giant-mark"] blockquote { max-width: none; }

/* quote-card-bordered: hairline-bordered card on paper background, NOT inverted */
.couture-pullquote[data-pullquote-variant="quote-card-bordered"] {
  background: var(--c-paper); color: var(--c-ink);
  padding: clamp(40px, 6vw, 80px) clamp(32px, 5vw, 64px);
  margin: var(--c-rhythm) var(--c-gutter);
  border: 2px solid var(--c-ink); border-radius: 0;
  width: auto; max-width: 1100px;
}
.couture-pullquote[data-pullquote-variant="quote-card-bordered"] blockquote em { color: var(--c-accent); }
.couture-pullquote[data-pullquote-variant="quote-card-bordered"] .attrib { color: var(--c-muted); }
.couture-pullquote[data-pullquote-variant="quote-card-bordered"] .attrib::before { background: var(--c-accent); }

/* quote-inverted-band: full-width inverted band (the V4.0 default look,
   kept as a variant for variety). */
.couture-pullquote[data-pullquote-variant="quote-inverted-band"] {
  background: var(--c-ink); color: var(--c-paper);
}

/* quote-floating-attr: attribution INLINE next to the quote, not below */
.couture-pullquote[data-pullquote-variant="quote-floating-attr"] {
  display: grid; grid-template-columns: 1fr 280px; gap: 48px; align-items: end;
}
.couture-pullquote[data-pullquote-variant="quote-floating-attr"] .attrib {
  margin-top: 0; padding-top: 32px;
  border-top: 1px solid var(--c-paper-2); display: block;
}
.couture-pullquote[data-pullquote-variant="quote-floating-attr"] .attrib::before { display: none; }
@media (max-width: 700px) {
  .couture-pullquote[data-pullquote-variant="quote-floating-attr"] {
    grid-template-columns: 1fr;
  }
}

/* quote-no-marks: no quote mark glyph at all, just italic prose */
.couture-pullquote[data-pullquote-variant="quote-no-marks"] {
  background: var(--c-paper); color: var(--c-ink);
  padding: clamp(60px, 8vw, 120px) var(--c-gutter);
  text-align: center;
}
.couture-pullquote[data-pullquote-variant="quote-no-marks"] blockquote {
  margin: 0 auto; font-style: italic;
}
.couture-pullquote[data-pullquote-variant="quote-no-marks"] blockquote em { color: var(--c-accent); }
.couture-pullquote[data-pullquote-variant="quote-no-marks"] .attrib { justify-content: center; color: var(--c-muted); }
.couture-pullquote[data-pullquote-variant="quote-no-marks"] .attrib::before { background: var(--c-accent); }

/* V6.264 — operator R27 night autopilot Round 32: 4 NEW pullquote variants */

/* quote-stamped-tag: accent-tinted stamp tag offset top-right + smaller body */
.couture-pullquote[data-pullquote-variant="quote-stamped-tag"] {
  max-width: 880px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) var(--c-gutter, 32px); position: relative;
}
.couture-pullquote[data-pullquote-variant="quote-stamped-tag"]::before {
  content: "QUOTED"; position: absolute; top: 24px; right: 32px; padding: 6px 14px; background: var(--c-accent); color: var(--c-paper); font-family: var(--c-mono); font-weight: 700; font-size: 11px; letter-spacing: .25em; transform: rotate(2deg); border-radius: 2px;
}
.couture-pullquote[data-pullquote-variant="quote-stamped-tag"] blockquote {
  font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.4; color: var(--c-ink); margin: 36px 0 18px; padding: 0; max-width: 36ch;
}
.couture-pullquote[data-pullquote-variant="quote-stamped-tag"] .attrib { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; color: var(--c-muted); text-transform: uppercase; }

/* quote-newspaper-rule: double-rule above + below quote (NYT masthead feel) */
.couture-pullquote[data-pullquote-variant="quote-newspaper-rule"] {
  max-width: 720px; margin: 0 auto; padding: clamp(48px, 6vw, 80px) var(--c-gutter, 32px); text-align: center;
}
.couture-pullquote[data-pullquote-variant="quote-newspaper-rule"] blockquote {
  font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: clamp(26px, 3vw, 36px); line-height: 1.3; color: var(--c-ink); margin: 0; padding: 32px 0; border-top: 4px double var(--c-ink); border-bottom: 4px double var(--c-ink); position: relative;
}
.couture-pullquote[data-pullquote-variant="quote-newspaper-rule"] blockquote em { font-style: normal; color: var(--c-accent); font-weight: 600; }
.couture-pullquote[data-pullquote-variant="quote-newspaper-rule"] .attrib { margin-top: 18px; font-family: var(--c-body); font-size: 13px; color: var(--c-muted); letter-spacing: .04em; }
.couture-pullquote[data-pullquote-variant="quote-newspaper-rule"] .attrib::before { content: "— "; color: var(--c-accent); font-weight: 700; }

/* quote-side-attribution: quote left, attribution column right (asymmetric editorial) */
.couture-pullquote[data-pullquote-variant="quote-side-attribution"] {
  max-width: 1080px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) var(--c-gutter, 32px); display: grid; grid-template-columns: 2.4fr 1fr; gap: clamp(32px, 4vw, 64px); align-items: end;
}
.couture-pullquote[data-pullquote-variant="quote-side-attribution"] blockquote {
  font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.25; color: var(--c-ink); margin: 0; padding: 0; max-width: none;
}
.couture-pullquote[data-pullquote-variant="quote-side-attribution"] blockquote em { color: var(--c-accent); font-weight: 600; }
.couture-pullquote[data-pullquote-variant="quote-side-attribution"] .attrib { font-family: var(--c-mono); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); border-left: 3px solid var(--c-accent); padding-left: 14px; padding-bottom: 8px; }
@media (max-width: 720px) { .couture-pullquote[data-pullquote-variant="quote-side-attribution"] { grid-template-columns: 1fr; } }

/* quote-handwritten-mark: SVG hand-drawn underline beneath quote (looser feel) */
.couture-pullquote[data-pullquote-variant="quote-handwritten-mark"] {
  max-width: 720px; margin: 0 auto; padding: clamp(48px, 6vw, 80px) var(--c-gutter, 32px); text-align: center; position: relative;
}
.couture-pullquote[data-pullquote-variant="quote-handwritten-mark"] blockquote {
  font-family: var(--c-display); font-weight: 500; font-size: clamp(24px, 3vw, 38px); line-height: 1.3; color: var(--c-ink); margin: 0 0 18px; padding: 0 0 28px; position: relative; display: inline-block; max-width: 36ch;
}
.couture-pullquote[data-pullquote-variant="quote-handwritten-mark"] blockquote em { color: var(--c-accent); }
.couture-pullquote[data-pullquote-variant="quote-handwritten-mark"] blockquote::after {
  content: ""; position: absolute; left: 50%; bottom: 0; width: 78%; height: 14px; transform: translateX(-50%);
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'><path d='M2 8 Q 50 0 100 7 T 198 8' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round'/></svg>") no-repeat center / 100% 100%;
}
.couture-pullquote[data-pullquote-variant="quote-handwritten-mark"] .attrib { font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: 16px; color: var(--c-muted); }

/* === V4.18.6 PRODUCTS variants (operator-flagged: same gallery on every site) === */

/* card-overlay: image fills the whole card; meta is overlaid at the bottom
   in a translucent strip — lifestyle-look. */
.couture-products[data-products-variant="card-overlay"] .prod {
  position: relative; overflow: hidden;
}
.couture-products[data-products-variant="card-overlay"] .prod-img {
  aspect-ratio: 4/5; border: none; transition: none;
}
.couture-products[data-products-variant="card-overlay"] .prod:hover .prod-img { transform: none; }
.couture-products[data-products-variant="card-overlay"] .meta {
  position: absolute; left: 0; right: 0; bottom: 0;
  margin: 0; padding: 18px 20px;
  background: linear-gradient(to top, rgba(0,0,0,.7), transparent);
  color: #fff; grid-template-columns: 1fr auto;
}
.couture-products[data-products-variant="card-overlay"] .meta h3,
.couture-products[data-products-variant="card-overlay"] .meta .price,
.couture-products[data-products-variant="card-overlay"] .meta .origin { color: #fff; }
.couture-products[data-products-variant="card-overlay"] .notes {
  position: absolute; bottom: 80px; left: 20px; right: 20px;
  margin: 0; padding: 0; color: #fff; opacity: .85;
  font-size: 13px; max-width: none;
}

/* card-split: image left half, meta + notes right half, info-dense */
.couture-products[data-products-variant="card-split"] {
  grid-template-columns: 1fr 1fr;
}
.couture-products[data-products-variant="card-split"] .prod {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  grid-column: span 1 !important; transform: none !important;
}
.couture-products[data-products-variant="card-split"] .prod-img {
  aspect-ratio: 1/1; transition: none; border: none;
}
.couture-products[data-products-variant="card-split"] .meta {
  margin: 0; align-content: start; grid-template-columns: 1fr;
}
.couture-products[data-products-variant="card-split"] .meta .price {
  font-size: 22px; margin-top: 12px;
}
.couture-products[data-products-variant="card-split"] .notes {
  margin-top: 14px; max-width: none;
}

/* card-minimal: image only, austere meta below in tiny mono */
.couture-products[data-products-variant="card-minimal"] .prod-img {
  aspect-ratio: 1/1; background: transparent; border: none; transition: none;
}
.couture-products[data-products-variant="card-minimal"] .meta {
  margin-top: 12px; grid-template-columns: 1fr; gap: 4px;
}
.couture-products[data-products-variant="card-minimal"] .meta h3 {
  font-family: var(--c-mono); font-style: normal; font-weight: 500;
  font-size: 13px; text-transform: uppercase; letter-spacing: .08em;
}
.couture-products[data-products-variant="card-minimal"] .meta .price {
  font-family: var(--c-mono); font-style: normal; font-weight: 500;
  font-size: 13px; margin-top: 4px;
}
.couture-products[data-products-variant="card-minimal"] .notes { display: none; }

/* card-priceleft: name + giant italic price on left, image on right */
.couture-products[data-products-variant="card-priceleft"] .prod {
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
  grid-column: span 6 !important; transform: none !important;
  align-items: center;
}
.couture-products[data-products-variant="card-priceleft"] .prod-img {
  order: 2; aspect-ratio: 4/5; border: none;
}
.couture-products[data-products-variant="card-priceleft"] .meta {
  order: 1; grid-template-columns: 1fr; margin: 0;
}
.couture-products[data-products-variant="card-priceleft"] .meta h3 {
  font-size: clamp(22px, 2.6vw, 36px); margin-bottom: 14px;
}
.couture-products[data-products-variant="card-priceleft"] .meta .price {
  font-family: var(--c-display); font-style: italic; font-weight: 400;
  font-size: clamp(48px, 5vw, 72px); color: var(--c-accent);
}
.couture-products[data-products-variant="card-priceleft"] .notes {
  margin-top: 16px;
}

/* card-stacked: clean, generous gap, large name, no notes */
.couture-products[data-products-variant="card-stacked"] {
  grid-template-columns: repeat(3, 1fr); row-gap: 96px; gap: 40px;
}
.couture-products[data-products-variant="card-stacked"] .prod {
  grid-column: span 1 !important; transform: none !important;
}
.couture-products[data-products-variant="card-stacked"] .prod-img {
  aspect-ratio: 4/5; border: none;
}
.couture-products[data-products-variant="card-stacked"] .meta {
  margin-top: 24px;
}
.couture-products[data-products-variant="card-stacked"] .meta h3 {
  font-size: clamp(20px, 2vw, 26px);
}
.couture-products[data-products-variant="card-stacked"] .notes { display: none; }
@media (max-width: 900px) {
  .couture-products[data-products-variant="card-stacked"] {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* V6.346 — operator full-auto loop iter 3: 4 NEW product card variants
   added to PRODUCTS_VARIANTS pool (was 6 → 10). Pool diversification
   means clean-business sites built same week diverge on product card
   treatment as well as on hero/footer/etc. Same-domain hash means same
   site keeps the same variant across rebuilds. */

/* card-magazine: editorial layout — large cover image with a small
   caption strip below. Price visible only on hover (price chip slides
   up over image). Fashion / lookbook / luxury feel. */
.couture-products[data-products-variant="card-magazine"] .prod {
  position: relative; overflow: hidden;
}
.couture-products[data-products-variant="card-magazine"] .prod-img {
  aspect-ratio: 3/4; border: none;
}
.couture-products[data-products-variant="card-magazine"] .meta {
  margin-top: 14px; padding: 0; display: block;
}
.couture-products[data-products-variant="card-magazine"] .meta h3 {
  font-family: var(--c-display); font-size: clamp(16px, 1.6vw, 21px);
  font-weight: 500; margin: 0 0 4px;
}
.couture-products[data-products-variant="card-magazine"] .meta .origin,
.couture-products[data-products-variant="card-magazine"] .meta .price {
  font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--c-muted);
}
.couture-products[data-products-variant="card-magazine"] .notes { display: none; }

/* card-numbered: catalog-style — large number prefix + thin meta column,
   image on the right. Reads like a museum catalog or auction lot. */
.couture-products[data-products-variant="card-numbered"] .prod {
  display: grid; grid-template-columns: 64px 1fr 1.4fr; gap: 24px;
  grid-column: span 6 !important; transform: none !important;
  align-items: start; padding: 28px 0; border-bottom: 1px solid var(--c-line);
}
.couture-products[data-products-variant="card-numbered"] .prod::before {
  content: counter(prod-counter, decimal-leading-zero);
  counter-increment: prod-counter;
  font-family: var(--c-display); font-size: clamp(40px, 5vw, 72px);
  font-weight: 700; line-height: 1; color: var(--c-accent);
  letter-spacing: -0.04em;
}
.couture-products[data-products-variant="card-numbered"] {
  counter-reset: prod-counter;
}
.couture-products[data-products-variant="card-numbered"] .prod-img {
  order: 3; aspect-ratio: 4/3; border: none;
}
.couture-products[data-products-variant="card-numbered"] .meta {
  order: 2; grid-template-columns: 1fr; margin: 0;
}
.couture-products[data-products-variant="card-numbered"] .meta h3 {
  font-family: var(--c-display); font-size: clamp(20px, 2.2vw, 28px);
  margin: 0 0 8px;
}
.couture-products[data-products-variant="card-numbered"] .notes {
  margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--c-ink-soft);
}

/* card-fullbleed: full-bleed image, name overlaid bottom-left, price chip
   bottom-right. Luxury / boutique / atelier feel. */
.couture-products[data-products-variant="card-fullbleed"] .prod {
  position: relative; aspect-ratio: 4/5; overflow: hidden;
}
.couture-products[data-products-variant="card-fullbleed"] .prod-img {
  position: absolute; inset: 0; aspect-ratio: auto; border: none;
  width: 100%; height: 100%;
}
.couture-products[data-products-variant="card-fullbleed"] .meta {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.6));
  padding: 32px 20px 16px;
  display: flex; justify-content: space-between; align-items: end;
  margin: 0;
}
.couture-products[data-products-variant="card-fullbleed"] .meta h3 {
  color: #fff; font-family: var(--c-display); font-size: clamp(15px, 1.6vw, 19px);
  font-weight: 500; margin: 0; max-width: 60%;
}
.couture-products[data-products-variant="card-fullbleed"] .meta .price {
  color: #fff; font-family: var(--c-mono); font-size: 12px;
  background: rgba(0,0,0,.45); padding: 4px 10px; border-radius: 999px;
}
.couture-products[data-products-variant="card-fullbleed"] .meta .origin,
.couture-products[data-products-variant="card-fullbleed"] .notes { display: none; }

/* card-monoframe: thin mono frame, mono text everywhere. Brutalist /
   technical / archival feel. Very small font, very tight grid. */
.couture-products[data-products-variant="card-monoframe"] .prod {
  border: 1px solid var(--c-ink); padding: 16px;
  font-family: var(--c-mono);
}
.couture-products[data-products-variant="card-monoframe"] .prod-img {
  aspect-ratio: 1/1; border: none; margin-bottom: 12px;
}
.couture-products[data-products-variant="card-monoframe"] .meta h3 {
  font-family: var(--c-mono); font-size: 13px; font-weight: 500;
  text-transform: uppercase; letter-spacing: .08em; margin: 0 0 4px;
}
.couture-products[data-products-variant="card-monoframe"] .meta .price,
.couture-products[data-products-variant="card-monoframe"] .meta .origin {
  font-family: var(--c-mono); font-size: 11px; letter-spacing: .06em;
  text-transform: uppercase; color: var(--c-ink-soft);
}
.couture-products[data-products-variant="card-monoframe"] .notes { display: none; }

/* faq */
.couture-faq-list { border-top: 1px solid var(--c-line); }
.couture-faq-item { border-bottom: 1px solid var(--c-line); padding: 32px 0; cursor: pointer; }
.couture-faq-q { display:grid; grid-template-columns: 60px 1fr auto; gap: 24px; align-items:baseline; font-family: var(--c-display); font-size: clamp(22px,2.4vw,32px); font-style: italic; font-weight: 400; }
.couture-faq-q .n { font-family: var(--c-mono); font-style: normal; font-size: 12px; letter-spacing:.08em; color: var(--c-accent); }
.couture-faq-q .plus { width: 28px; height: 28px; position:relative; transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.couture-faq-q .plus::before, .couture-faq-q .plus::after { content:""; position:absolute; background: var(--c-ink); }
.couture-faq-q .plus::before { left:0; right:0; top:50%; height: 1px; }
.couture-faq-q .plus::after  { top:0; bottom:0; left:50%; width: 1px; transition: transform .4s; }
.couture-faq-a { max-height: 0; overflow:hidden; transition: max-height .6s cubic-bezier(.2,.8,.2,1), margin .4s ease; padding: 0 0 0 84px; max-width: 64ch; color: var(--c-ink-soft); }
.couture-faq-item.open .plus { transform: rotate(90deg); }
.couture-faq-item.open .plus::after { transform: scaleY(0); }
.couture-faq-item.open .couture-faq-a { max-height: 320px; margin-top: 18px; }

/* V6.262 — operator R27 night autopilot Round 30: 3 NEW FAQ sub-variants */

/* sub-1 — 2-column grid (modern SaaS, faster scan). Uses native <details>
   so no JS required. Grid lays out questions in 2 columns >720px. */
.couture-faq--v1 .couture-faq-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 14px; padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-faq--v1 .couture-faq-grid-item { padding: 18px 22px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 10px; transition: border-color .15s; }
.couture-faq--v1 .couture-faq-grid-item:hover { border-color: var(--c-accent); }
.couture-faq--v1 .couture-faq-grid-item summary { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; cursor: pointer; list-style: none; font-family: var(--c-body); font-weight: 600; font-size: 16px; color: var(--c-ink); }
.couture-faq--v1 .couture-faq-grid-item summary::-webkit-details-marker { display: none; }
.couture-faq--v1 .faq-grid-num { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-faq--v1 .faq-grid-toggle { font-family: var(--c-mono); font-size: 18px; color: var(--c-accent); transition: transform .2s; }
.couture-faq--v1 .couture-faq-grid-item[open] .faq-grid-toggle { transform: rotate(45deg); }
.couture-faq--v1 .couture-faq-grid-item .couture-faq-a { padding: 14px 0 0; max-height: none; max-width: none; color: var(--c-ink-soft, var(--c-ink)); font-size: 14px; line-height: 1.6; }

/* sub-2 — numbered-stack (editorial publication: chunky question text + small answer) */
.couture-faq--v2 .couture-faq-stack { list-style: none; counter-reset: faq-num; padding: 0 var(--c-gutter, 32px); max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }
.couture-faq--v2 .couture-faq-stack li { counter-increment: faq-num; padding-bottom: 28px; border-bottom: 1px solid var(--c-line); position: relative; padding-left: 56px; }
.couture-faq--v2 .couture-faq-stack li::before { content: counter(faq-num, decimal-leading-zero); position: absolute; left: 0; top: 4px; font-family: var(--c-mono); font-weight: 700; font-size: 22px; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-faq--v2 .couture-faq-stack li:last-child { border-bottom: 0; }
.couture-faq--v2 .faq-stack-q { font-family: var(--c-display); font-weight: 600; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.3; margin: 0 0 10px; color: var(--c-ink); letter-spacing: -.012em; }
.couture-faq--v2 .faq-stack-a { font-family: var(--c-body); font-size: 15px; line-height: 1.6; color: var(--c-ink-soft, var(--c-ink)); margin: 0; max-width: 64ch; }

/* sub-3 — accent-card list (subtle accent-tinted card per question) */
.couture-faq--v3 .couture-faq-cards { display: flex; flex-direction: column; gap: 14px; padding: 0 var(--c-gutter, 32px); max-width: 920px; margin: 0 auto; }
.couture-faq--v3 .couture-faq-card { padding: 22px 26px; background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper)); border-left: 4px solid var(--c-accent); border-radius: 0 8px 8px 0; transition: background .15s; }
.couture-faq--v3 .couture-faq-card:hover { background: color-mix(in oklab, var(--c-accent) 9%, var(--c-paper)); }
.couture-faq--v3 .couture-faq-card summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; font-family: var(--c-body); font-weight: 600; font-size: 17px; color: var(--c-ink); }
.couture-faq--v3 .couture-faq-card summary::-webkit-details-marker { display: none; }
.couture-faq--v3 .faq-card-toggle { width: 14px; height: 14px; border: 2px solid var(--c-accent); border-radius: 50%; position: relative; transition: transform .2s; }
.couture-faq--v3 .faq-card-toggle::before { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 2px; background: var(--c-accent); transform: translate(-50%, -50%); }
.couture-faq--v3 .couture-faq-card[open] .faq-card-toggle { transform: rotate(180deg); background: var(--c-accent); }
.couture-faq--v3 .couture-faq-card[open] .faq-card-toggle::before { background: var(--c-paper); }
.couture-faq--v3 .couture-faq-card .couture-faq-a { padding: 12px 0 0; max-height: none; max-width: none; color: var(--c-ink-soft, var(--c-ink)); font-size: 15px; line-height: 1.6; }

/* newsletter */
/* === V4.18.9 NEWSLETTER VARIANTS — operator-flagged: newsletter always
   lived at footer-left in storyteller-warm. Now hash-picked per-domain
   from 6 layouts via [data-newsletter-variant]. Default newsletter-centered
   keeps the V4.0 look for visual stability. */
.couture-newsletter { background: var(--c-accent); color: var(--c-paper); padding: calc(var(--c-rhythm) * 0.7) var(--c-gutter); position: relative; overflow:hidden; }
.couture-newsletter::after { content:""; position:absolute; inset:0; background-image: radial-gradient(circle at 20% 30%, rgba(255,255,255,.1), transparent 40%), radial-gradient(circle at 80% 70%, rgba(0,0,0,.2), transparent 40%); pointer-events:none; }
.couture-newsletter .wrap { display:grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items:end; position:relative; z-index:1; }
.couture-newsletter h2 { color: var(--c-paper); font-style: italic; font-weight: 300; }
.couture-newsletter form { display:flex; gap:0; border-bottom: 1px solid var(--c-paper); align-items:center; }
.couture-newsletter input { flex:1; background: transparent; border: none; color: var(--c-paper); padding: 16px 0; font-family: var(--c-body); font-size: 17px; outline:none; }
.couture-newsletter input::placeholder { color: rgba(244,234,217,.6); }
.couture-newsletter button { background: transparent; color: var(--c-paper); border: none; padding: 16px 4px; font-family: var(--c-mono); letter-spacing: .1em; text-transform: uppercase; font-size: 12px; cursor: pointer; }

/* --- newsletter-centered (V4.0 default, no-op variant) --- */
.couture-newsletter[data-newsletter-variant="newsletter-centered"] .wrap { grid-template-columns: 1fr; text-align: center; max-width: 720px; margin: 0 auto; }
.couture-newsletter[data-newsletter-variant="newsletter-centered"] .newsletter-form { max-width: 480px; margin: 24px auto 0; }
.couture-newsletter[data-newsletter-variant="newsletter-centered"] h2 { text-align: center; }
.couture-newsletter[data-newsletter-variant="newsletter-centered"] .newsletter-sub { margin: 16px auto 0; max-width: 52ch; }

/* --- newsletter-split-left (text left, form right) --- */
.couture-newsletter[data-newsletter-variant="newsletter-split-left"] .wrap { grid-template-columns: 1.3fr 1fr; align-items: end; gap: 48px; }
.couture-newsletter[data-newsletter-variant="newsletter-split-left"] .newsletter-text { text-align: left; }

/* --- newsletter-split-right (form left, text right) --- */
.couture-newsletter[data-newsletter-variant="newsletter-split-right"] .wrap { grid-template-columns: 1fr 1.3fr; align-items: center; gap: 48px; }
.couture-newsletter[data-newsletter-variant="newsletter-split-right"] .newsletter-form { order: -1; }
.couture-newsletter[data-newsletter-variant="newsletter-split-right"] .newsletter-text { text-align: left; }

/* --- newsletter-inline (one-line: headline + form on same row) --- */
.couture-newsletter[data-newsletter-variant="newsletter-inline"] { padding: 24px var(--c-gutter); }
.couture-newsletter[data-newsletter-variant="newsletter-inline"] .wrap { grid-template-columns: auto 1fr; align-items: center; gap: 24px; max-width: 1120px; margin: 0 auto; }
.couture-newsletter[data-newsletter-variant="newsletter-inline"] .newsletter-text h2 { font-size: clamp(20px, 2.4vw, 28px); margin: 0; font-style: normal; font-weight: 500; letter-spacing: -0.01em; }
.couture-newsletter[data-newsletter-variant="newsletter-inline"] .newsletter-sub { display: none; }
.couture-newsletter[data-newsletter-variant="newsletter-inline"] .newsletter-form { max-width: 460px; justify-self: end; }
@media (max-width: 700px) { .couture-newsletter[data-newsletter-variant="newsletter-inline"] .wrap { grid-template-columns: 1fr; } }

/* --- newsletter-card-float (white card on accent bg, lifted) --- */
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] { background: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-2, var(--c-accent)) 100%); padding: clamp(48px, 8vw, 96px) var(--c-gutter); }
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] .wrap { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; padding: clamp(40px, 6vw, 64px); background: var(--c-paper); color: var(--c-ink); border-radius: 4px; box-shadow: 0 32px 80px rgba(0,0,0,.18); text-align: center; gap: 20px; }
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] h2 { color: var(--c-ink); font-style: normal; }
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] .newsletter-sub { color: var(--c-ink); opacity: .75; }
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] .newsletter-form { border-color: var(--c-ink); max-width: 420px; margin: 18px auto 0; }
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] input { color: var(--c-ink); }
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] input::placeholder { color: rgba(0,0,0,.4); }
.couture-newsletter[data-newsletter-variant="newsletter-card-float"] button { color: var(--c-ink); }

/* --- newsletter-banner-thin (slim 1-line band, low-key) --- */
.couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] { background: var(--c-ink); color: var(--c-paper); padding: 14px var(--c-gutter); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] .wrap { grid-template-columns: auto 1fr; gap: 18px; align-items: center; max-width: 1120px; margin: 0 auto; }
.couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] .newsletter-text h2 { font-size: 14px; font-family: var(--c-mono); letter-spacing: .12em; text-transform: uppercase; font-style: normal; font-weight: 400; margin: 0; opacity: .9; }
.couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] .newsletter-sub { display: none; }
.couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] .newsletter-form { border: none; justify-self: end; max-width: 360px; }
.couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] input { padding: 6px 0; font-size: 14px; }
.couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] button { padding: 6px 4px; }
@media (max-width: 700px) { .couture-newsletter[data-newsletter-variant="newsletter-banner-thin"] .wrap { grid-template-columns: 1fr; } }

/* V6.283 — operator R27 night autopilot Round 51: 3 NEW newsletter visual variants */

/* postcard — postcard with stamp + accent dashed border */
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] { background: var(--c-paper); padding: clamp(40px, 5vw, 72px) var(--c-gutter); position: relative; }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"]::after { display: none; }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] .wrap { max-width: 720px; margin: 0 auto; padding: clamp(36px, 4vw, 56px); background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); border: 2px dashed var(--c-accent); border-radius: 4px; position: relative; grid-template-columns: 1fr; }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] .wrap::before { content: "✉"; position: absolute; top: 16px; right: 20px; width: 56px; height: 56px; background: var(--c-accent); color: var(--c-paper); display: grid; place-items: center; font-size: 28px; font-weight: 800; transform: rotate(-6deg); border: 2px solid var(--c-paper); border-radius: 4px; }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] .newsletter-text h2 { color: var(--c-ink); font-family: var(--c-display); font-style: italic; font-weight: 600; font-size: clamp(26px, 3vw, 36px); margin: 0 0 12px; }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] .newsletter-sub { color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 24px; font-family: var(--c-body); font-size: 16px; }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] form { display: flex; gap: 8px; }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] input { flex: 1; padding: 12px 16px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 6px; font-family: var(--c-body); font-size: 14px; color: var(--c-ink); }
.couture-newsletter[data-newsletter-variant="newsletter-postcard"] button { padding: 12px 22px; background: var(--c-ink); color: var(--c-paper); border: 0; border-radius: 6px; font-family: var(--c-body); font-weight: 600; font-size: 14px; cursor: pointer; }

/* magazine — editorial style with eyebrow + headline + lede */
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] { background: var(--c-paper); color: var(--c-ink); padding: clamp(56px, 7vw, 96px) var(--c-gutter); border-top: 4px double var(--c-ink); border-bottom: 4px double var(--c-ink); }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"]::after { display: none; }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] .wrap { max-width: 720px; margin: 0 auto; text-align: center; grid-template-columns: 1fr; gap: 18px; }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] .newsletter-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--c-accent); font-weight: 700; }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] .newsletter-text h2 { color: var(--c-ink); font-family: var(--c-display); font-weight: 700; font-size: clamp(32px, 4vw, 52px); margin: 0; line-height: 1.1; letter-spacing: -.02em; }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] .newsletter-sub { color: var(--c-ink-soft, var(--c-ink)); font-family: var(--c-display); font-style: italic; font-size: 17px; margin: 0; max-width: 50ch; margin-left: auto; margin-right: auto; }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] form { display: flex; gap: 8px; max-width: 480px; margin: 12px auto 0; }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] input { flex: 1; padding: 14px 16px; background: var(--c-paper); border: 1px solid var(--c-ink); border-radius: 0; font-family: var(--c-body); font-size: 15px; }
.couture-newsletter[data-newsletter-variant="newsletter-magazine"] button { padding: 14px 26px; background: var(--c-ink); color: var(--c-paper); border: 0; border-radius: 0; font-family: var(--c-mono); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }

/* stripe-band — diagonal accent stripes background + pill form */
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"] { background: repeating-linear-gradient(135deg, var(--c-accent) 0 24px, color-mix(in oklab, var(--c-accent) 75%, var(--c-ink)) 24px 48px); color: var(--c-paper); padding: clamp(48px, 6vw, 96px) var(--c-gutter); position: relative; }
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"]::after { display: none; }
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"] .wrap { max-width: 720px; margin: 0 auto; padding: clamp(28px, 4vw, 48px); background: var(--c-paper); color: var(--c-ink); border-radius: 16px; text-align: center; grid-template-columns: 1fr; gap: 14px; box-shadow: 0 18px 60px -16px rgba(0,0,0,.25); }
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"] .newsletter-text h2 { color: var(--c-ink); font-family: var(--c-display); font-weight: 700; font-size: clamp(28px, 3.4vw, 40px); margin: 0; letter-spacing: -.018em; }
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"] .newsletter-sub { color: var(--c-ink-soft, var(--c-ink)); margin: 0; font-size: 15px; }
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"] form { display: flex; align-items: center; gap: 0; max-width: 480px; margin: 14px auto 0; background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink) 4%); border: 1px solid var(--c-line); border-radius: 999px; padding: 6px 6px 6px 18px; }
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"] input { flex: 1; padding: 10px 8px; background: transparent; border: 0; outline: none; font-family: var(--c-body); font-size: 14px; color: var(--c-ink); }
.couture-newsletter[data-newsletter-variant="newsletter-stripe-band"] button { padding: 10px 22px; background: var(--c-accent); color: var(--c-paper); border: 0; border-radius: 999px; font-family: var(--c-body); font-weight: 700; font-size: 13px; cursor: pointer; }

/* ============================================================
   HOUSE SEAL — tiny lower-right stamp, archetype-shaped
============================================================ */
.couture-seal { position: fixed; right: 18px; bottom: 18px; z-index: 60; display: flex; align-items: center; justify-content: center; flex-direction: column; pointer-events: none; opacity: .92; }
.couture-seal .seal-mark { font-family: var(--c-display); font-weight: 400; font-style: italic; font-size: 28px; line-height: 1; color: var(--c-ink); }
.couture-seal .seal-text { font-family: var(--c-mono); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-ink); margin-top: 4px; }

/* oval — editorial / journal / gallery */
.couture-seal--oval { width: 78px; height: 56px; background: var(--c-paper); border: 2px solid var(--c-ink); border-radius: 50%; padding: 6px 10px; box-shadow: var(--c-card-shadow); }

/* wax seal — atelier / made-to-order */
.couture-seal--wax { width: 64px; height: 64px; background: var(--c-accent); color: var(--c-paper); border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,.18), inset 0 -3px 4px rgba(0,0,0,.18), inset 0 3px 4px rgba(255,255,255,.18); padding: 8px; clip-path: polygon(50% 0,61% 8%,75% 4%,82% 18%,96% 25%,93% 42%,100% 50%,93% 58%,96% 75%,82% 82%,75% 96%,61% 92%,50% 100%,39% 92%,25% 96%,18% 82%,4% 75%,7% 58%,0 50%,7% 42%,4% 25%,18% 18%,25% 4%,39% 8%); }
.couture-seal--wax .seal-mark { color: var(--c-paper); font-size: 20px; font-weight: 700; font-style: normal; }
.couture-seal--wax .seal-text { color: var(--c-paper); font-size: 7px; }

/* square stamp — brutalist / auction / manifesto */
.couture-seal--square { width: 76px; height: 56px; background: var(--c-paper); border: 2px solid var(--c-ink); border-radius: 0; padding: 6px 8px; box-shadow: var(--c-card-shadow); transform: rotate(-3deg); }
.couture-seal--square .seal-mark { color: var(--c-accent); }

/* die-cut tag — shop-first / field-journal / subscription / zine */
.couture-seal--die-cut { width: 84px; height: 50px; background: var(--c-paper); border: 1px dashed var(--c-ink); padding: 4px 10px; box-shadow: var(--c-card-shadow); position: fixed; clip-path: polygon(0 0, 100% 0, 100% 50%, calc(100% - 12px) 100%, 0 100%); }
.couture-seal--die-cut .seal-mark { font-size: 22px; }
.couture-seal--die-cut::before { content: ""; position: absolute; left: 6px; top: 50%; width: 6px; height: 6px; transform: translateY(-50%); border: 1px solid var(--c-ink); border-radius: 50%; }

@media (max-width: 700px) { .couture-seal { display: none; } }

/* legacy footer — kept as a baseline; per-archetype variants below override */
.couture-footer { background: var(--c-ink); color: var(--c-paper); padding: calc(var(--c-rhythm) * 0.5) var(--c-gutter) 40px; }
.couture-footer-grid { display:grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 48px; padding-bottom: 64px; border-bottom: 1px solid rgba(244,234,217,.15); }
.couture-footer-grid h4 { font-family: var(--c-mono); font-size: 11px; letter-spacing:.12em; text-transform:uppercase; color: var(--c-accent-3); margin-bottom: 20px; font-weight: 500; }
.couture-footer-grid ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.couture-footer-grid a { text-decoration:none; font-size: 15px; color: var(--c-paper-2); }
.couture-footer-grid a:hover { color: var(--c-accent-3); }
.couture-footer .brand { font-family: var(--c-display); font-style: italic; font-size: clamp(48px,7vw,96px); line-height:.95; font-weight: 300; margin-bottom: 24px; }
.couture-footer .bottom { display:flex; justify-content:space-between; padding-top: 32px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); }

/* ============================================================
   FOOTER VARIANTS — one per archetype family
============================================================ */

/* 1. EDITORIAL GRAND — newspaper masthead */
.couture-footer--grand { background: var(--c-ink); color: var(--c-paper); padding: clamp(60px,8vw,120px) var(--c-gutter) 40px; }
.couture-footer--grand .grand-masthead { text-align:center; padding-bottom: 40px; border-bottom: 2px double var(--c-paper-2); margin-bottom: 48px; }
.couture-footer--grand .grand-name { font-family: var(--c-display); font-weight: 300; font-size: clamp(72px, 12vw, 200px); line-height: .9; letter-spacing: -.04em; color: var(--c-paper); }
.couture-footer--grand .grand-tagline { margin-top: 18px; font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: clamp(16px, 1.6vw, 22px); color: var(--c-paper-2); max-width: 60ch; margin-inline:auto; }
.couture-footer--grand .grand-grid { display:grid; grid-template-columns: 1fr 1fr 1.4fr; gap: clamp(28px, 4vw, 64px); padding-bottom: 48px; border-bottom: 1px solid rgba(244,234,217,.12); }
.couture-footer--grand .grand-col h4 { font-family: var(--c-mono); font-size: 11px; letter-spacing:.16em; text-transform:uppercase; color: var(--c-accent-3); margin: 0 0 18px; font-weight: 500; }
.couture-footer--grand .grand-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.couture-footer--grand .grand-col a { color: var(--c-paper); text-decoration:none; font-family: var(--c-display); font-style: italic; font-size: 18px; }
.couture-footer--grand .grand-col a:hover { color: var(--c-accent-3); }
.couture-footer--grand .grand-col p { color: var(--c-paper-2); font-size: 14px; line-height: 1.6; margin: 0 0 6px; }
.couture-footer--grand .grand-form { display:flex; align-items:center; border-bottom: 1px solid var(--c-paper); margin-top: 14px; }
.couture-footer--grand .grand-form input { flex:1; background:transparent; border:none; color: var(--c-paper); padding:14px 0; font-family: var(--c-body); font-size: 15px; outline:none; }
.couture-footer--grand .grand-form input::placeholder { color: rgba(244,234,217,.55); }
.couture-footer--grand .grand-form button { background: var(--c-accent); color: var(--c-paper); border:none; padding: 12px 18px; font-family: var(--c-mono); font-size: 11px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.couture-footer--grand .grand-rule { height: 4px; background: linear-gradient(90deg, transparent, var(--c-accent-2), transparent); margin: 36px 0 18px; opacity:.5; }
.couture-footer--grand .grand-foot { display:flex; justify-content:space-between; gap: 20px; font-family: var(--c-mono); font-size: 11px; letter-spacing:.1em; text-transform:uppercase; color: var(--c-paper-2); flex-wrap: wrap; }
.couture-footer--grand .grand-colophon i { font-style: italic; color: var(--c-accent-3); text-transform: none; letter-spacing: 0; font-family: var(--c-display); font-size: 13px; }

/* 2. ATELIER CORRESPONDENCE — French / restrained */
.couture-footer--atelier { background: var(--c-paper-2); color: var(--c-ink); padding: clamp(60px,8vw,120px) var(--c-gutter) 32px; border-top: 1px solid var(--c-line); }
.couture-footer--atelier .atl-mark { font-family: var(--c-display); font-size: clamp(64px, 10vw, 120px); color: var(--c-accent); line-height: .9; margin-bottom: 32px; }
.couture-footer--atelier .atl-row { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 80px); padding-bottom: 56px; border-bottom: 1px solid var(--c-line); }
.couture-footer--atelier .atl-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing:.18em; text-transform:uppercase; color: var(--c-muted); margin-bottom: 18px; }
.couture-footer--atelier .atl-email { font-family: var(--c-display); font-style: italic; font-weight: 300; font-size: clamp(28px, 4vw, 56px); color: var(--c-ink); text-decoration:none; line-height: 1.05; word-break: break-all; }
.couture-footer--atelier .atl-email:hover { color: var(--c-accent); }
.couture-footer--atelier .atl-tel,
.couture-footer--atelier .atl-addr { margin-top: 12px; font-size: 14px; color: var(--c-ink-soft); font-family: var(--c-mono); letter-spacing: .04em; }
.couture-footer--atelier .atl-right p { font-family: var(--c-body); font-size: 16px; line-height: 1.6; color: var(--c-ink-soft); margin: 0 0 24px; max-width: 42ch; }
.couture-footer--atelier .atl-cta { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-paper); background: var(--c-ink); padding: 14px 22px; text-decoration: none; display: inline-block; }
.couture-footer--atelier .atl-cta:hover { background: var(--c-accent); }
.couture-footer--atelier .atl-nav { padding: 28px 0; display:flex; flex-wrap:wrap; gap:14px; align-items:center; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.couture-footer--atelier .atl-nav a { color: var(--c-ink); text-decoration:none; }
.couture-footer--atelier .atl-nav a:hover { color: var(--c-accent); }
.couture-footer--atelier .atl-nav span { color: var(--c-muted); }
.couture-footer--atelier .atl-foot { display:flex; justify-content:space-between; padding-top: 24px; border-top: 1px dashed var(--c-line); font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform:uppercase; color: var(--c-muted); }

/* 3. BRUTALIST SPEC — monospace, dense */
.couture-footer--spec { background: var(--c-ink); color: var(--c-paper); padding: 48px var(--c-gutter) 24px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; line-height: 1.6; border-top: 4px solid var(--c-accent); }
.couture-footer--spec .spec-top { display:flex; justify-content:space-between; align-items: baseline; padding-bottom: 18px; border-bottom: 1px solid rgba(244,234,217,.2); flex-wrap: wrap; gap: 18px; }
.couture-footer--spec .spec-brand { font-family: var(--c-display); font-weight: 400; font-style: italic; font-size: clamp(28px, 3vw, 40px); letter-spacing: -.01em; }
.couture-footer--spec .spec-flags { display:flex; gap: 24px; flex-wrap:wrap; text-transform: uppercase; }
.couture-footer--spec .spec-flags b { color: var(--c-accent-3); font-weight: 500; margin-right: 6px; }
.couture-footer--spec .spec-cols { display:grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0; padding: 24px 0; border-bottom: 1px solid rgba(244,234,217,.2); }
.couture-footer--spec .spec-cols a { color: var(--c-paper); text-decoration:none; padding: 8px 0; border-right: 1px dashed rgba(244,234,217,.2); padding-right: 14px; text-transform: uppercase; }
.couture-footer--spec .spec-cols a:hover { color: var(--c-accent); }
.couture-footer--spec .spec-policy { display:flex; flex-wrap:wrap; gap: 18px; padding: 16px 0; border-bottom: 1px solid rgba(244,234,217,.2); color: var(--c-paper-2); text-transform: uppercase; }
/* Contact row: TEL / MAIL / ADDR were all running together on one line —
   the row had no flex layout (V4.4 audit). Now properly spaced + wrapping. */
.couture-footer--spec .spec-contact { display:flex; flex-wrap:wrap; gap: 14px 28px; padding: 16px 0; border-bottom: 1px solid rgba(244,234,217,.2); color: var(--c-paper-2); }
.couture-footer--spec .spec-contact b { color: var(--c-accent-3); font-weight: 500; margin-right: 8px; text-transform: uppercase; }
.couture-footer--spec .spec-contact a { color: var(--c-paper); text-decoration: none; border-bottom: 1px dotted rgba(244,234,217,.4); }
.couture-footer--spec .spec-contact a:hover { color: var(--c-accent); border-color: var(--c-accent); }
.couture-footer--spec .spec-foot { display:flex; justify-content:space-between; padding-top: 16px; color: var(--c-muted); text-transform: uppercase; }

/* 4. MANIFESTO LOUD — three giant lines */
.couture-footer--loud { background: var(--c-paper); color: var(--c-ink); padding: clamp(60px,8vw,140px) var(--c-gutter); border-top: 4px solid var(--c-ink); }
.couture-footer--loud .loud-lines { display:flex; flex-direction:column; gap: 4px; margin-bottom: 64px; }
.couture-footer--loud .loud-line { font-family: var(--c-display); font-weight: 300; font-size: clamp(40px, 8vw, 120px); line-height: .98; letter-spacing: -.03em; }
.couture-footer--loud .loud-line--0 { color: var(--c-ink); }
.couture-footer--loud .loud-line--1 { font-style: italic; color: var(--c-accent-2); padding-left: 8%; }
.couture-footer--loud .loud-line--2 { color: var(--c-ink); padding-left: 16%; }
.couture-footer--loud .loud-line--3 { font-style: italic; color: var(--c-accent); padding-left: 24%; }
.couture-footer--loud .loud-foot { display:flex; justify-content:space-between; align-items: end; padding-top: 32px; border-top: 1px solid var(--c-line); flex-wrap: wrap; gap: 18px; }
.couture-footer--loud .loud-contact { font-family: var(--c-mono); font-size: 12px; letter-spacing: .1em; }
.couture-footer--loud .loud-contact a { color: var(--c-ink); text-decoration: underline; text-decoration-color: var(--c-accent); text-underline-offset: 4px; }
.couture-footer--loud .loud-nav { display:flex; gap: 18px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.couture-footer--loud .loud-nav a { color: var(--c-ink); text-decoration:none; }
.couture-footer--loud .loud-nav a:hover { color: var(--c-accent); }

/* 5. GALLERY COLOPHON — museum catalogue */
.couture-footer--colophon { background: var(--c-paper); color: var(--c-ink); padding: 80px var(--c-gutter) 32px; border-top: 1px solid var(--c-line); }
.couture-footer--colophon .col-rule { height: 1px; background: var(--c-ink); margin-bottom: 24px; }
.couture-footer--colophon .col-title { font-family: var(--c-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 28px; }
.couture-footer--colophon .col-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0; border-top: 1px solid var(--c-line); }
.couture-footer--colophon .col-grid > div { padding: 14px 18px; border-bottom: 1px solid var(--c-line); border-right: 1px dashed var(--c-line); }
.couture-footer--colophon .col-grid > div:last-child { border-right: none; }
.couture-footer--colophon .col-grid dt { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 6px; }
.couture-footer--colophon .col-grid dd { margin: 0; font-family: var(--c-display); font-style: italic; font-size: 18px; color: var(--c-ink); }
.couture-footer--colophon .col-nav { padding: 28px 0; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-ink); }
.couture-footer--colophon .col-nav a { color: var(--c-ink); text-decoration: none; }
.couture-footer--colophon .col-nav a:hover { color: var(--c-accent); text-decoration: underline; text-underline-offset: 3px; }
.couture-footer--colophon .col-foot { display:flex; justify-content:space-between; padding-top: 16px; border-top: 1px solid var(--c-line); font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }

/* 6. FIELD STAMP — expedition stamp */
.couture-footer--stamp { background: var(--c-ink); color: var(--c-paper); padding: 60px var(--c-gutter) 28px; border-top: 8px double var(--c-accent-3); }
.couture-footer--stamp .stamp-head { text-align: center; margin-bottom: 48px; padding-bottom: 32px; border-bottom: 1px dashed rgba(244,234,217,.2); }
.couture-footer--stamp .stamp-mark { font-size: clamp(48px, 8vw, 88px); color: var(--c-accent-3); line-height: 1; margin-bottom: 14px; }
.couture-footer--stamp .stamp-title { font-family: var(--c-display); font-style: italic; font-size: clamp(40px, 6vw, 72px); font-weight: 300; line-height: 1; }
.couture-footer--stamp .stamp-sub { font-family: var(--c-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-paper-2); margin-top: 8px; }
.couture-footer--stamp .stamp-cols { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 36px; padding-bottom: 32px; border-bottom: 1px dashed rgba(244,234,217,.2); }
.couture-footer--stamp .stamp-cols h4 { font-family: var(--c-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-accent-3); margin: 0 0 16px; font-weight: 500; }
.couture-footer--stamp .stamp-cols ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.couture-footer--stamp .stamp-cols a { color: var(--c-paper); text-decoration: none; font-family: var(--c-display); font-style: italic; font-size: 16px; }
.couture-footer--stamp .stamp-cols a:hover { color: var(--c-accent-3); }
.couture-footer--stamp .stamp-cols p { font-family: var(--c-body); font-size: 14px; color: var(--c-paper-2); line-height: 1.6; margin: 0 0 8px; }
.couture-footer--stamp .stamp-date { font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; color: var(--c-muted); margin-left: 6px; }
.couture-footer--stamp .stamp-foot { display:flex; justify-content:space-between; padding-top: 18px; font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; color: var(--c-paper-2); flex-wrap: wrap; gap: 14px; }

/* 7. Storyteller Warm — small intimate two-column footer (V4.3 polish) */
.couture-footer--storyteller { padding: clamp(56px, 7vw, 96px) var(--c-gutter); background: var(--c-paper-2); border-top: 1px solid var(--c-line); }
.couture-footer--storyteller .storyteller-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: start; max-width: 1240px; margin: 0 auto 40px; }
.couture-footer--storyteller .storyteller-mark { margin-bottom: 18px; }
.couture-footer--storyteller .storyteller-statement { font-family: var(--c-display); font-style: italic; font-size: clamp(20px, 2vw, 28px); line-height: 1.4; color: var(--c-ink); max-width: 38ch; margin: 0 0 32px; }
.couture-footer--storyteller .storyteller-newsletter label { display: block; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 12px; }
.couture-footer--storyteller .storyteller-newsletter-row { display: flex; gap: 0; max-width: 420px; }
.couture-footer--storyteller .storyteller-newsletter input { flex: 1; padding: 14px 16px; border: 1px solid var(--c-line); background: var(--c-paper); font-family: var(--c-body); font-size: 14px; }
.couture-footer--storyteller .storyteller-newsletter button { padding: 14px 20px; background: var(--c-ink); color: var(--c-paper); border: none; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.couture-footer--storyteller .storyteller-right { display: flex; flex-direction: column; gap: 18px; }
.couture-footer--storyteller .storyteller-line { margin: 0; padding: 14px 0; border-top: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 4px; }
.couture-footer--storyteller .storyteller-line strong { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-footer--storyteller .storyteller-line a, .couture-footer--storyteller .storyteller-line span { font-family: var(--c-display); font-size: 17px; color: var(--c-ink); text-decoration: none; }
.couture-footer--storyteller .storyteller-line a:hover { color: var(--c-accent); }
.couture-footer--storyteller .storyteller-nav { display: flex; flex-wrap: wrap; gap: 6px 28px; padding: 24px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); max-width: 1240px; margin: 0 auto 18px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.couture-footer--storyteller .storyteller-nav a { color: var(--c-ink); text-decoration: none; }
.couture-footer--storyteller .storyteller-nav a:hover { color: var(--c-accent); }
.couture-footer--storyteller .storyteller-foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; max-width: 1240px; margin: 0 auto; font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; color: var(--c-muted); }
/* V6.204 — inline legal links in storyteller footer-strip (operator R25:
   "legal pages should naturally fit in where it would be best for this
   website, e.g. above bottom in the footer"). The links sit alongside
   © + promise on the same row instead of in a separate fineprint block. */
.couture-footer--storyteller .storyteller-foot-legal {
  display: inline-flex;
  align-items: center;
  gap: 0;
}
.couture-footer--storyteller .storyteller-foot-legal a {
  color: var(--c-muted);
  text-decoration: none;
  padding: 0 8px;
  transition: color .15s;
}
.couture-footer--storyteller .storyteller-foot-legal a:hover {
  color: var(--c-ink);
}
.couture-footer--storyteller .storyteller-foot-legal .footer-sep {
  opacity: .5;
}

/* qa-attribution — handoff item N5: city-as-attribution moved out of the
   "In conversation with X." headline into a small line under the dialogue. */
.couture-story-interview .qa-attrib { font-family: var(--c-display); font-style: italic; font-size: 14px; color: var(--c-muted); text-align: right; margin: 24px 0 0; }

@media (max-width: 800px) {
  .couture-footer--grand .grand-grid,
  .couture-footer--atelier .atl-row,
  .couture-footer--colophon .col-grid,
  .couture-footer--stamp .stamp-cols,
  .couture-footer--storyteller .storyteller-grid { grid-template-columns: 1fr; }
  .couture-footer--loud .loud-line { padding-left: 0 !important; }
}

/* motion — stagger reveal */
.couture-reveal { opacity: 0; transform: translateY(24px); transition: opacity 1s cubic-bezier(.2,.8,.2,1), transform 1s cubic-bezier(.2,.8,.2,1); }
.couture-reveal.in { opacity: 1; transform: translateY(0); }
.couture-reveal.d1 { transition-delay: .08s; }
.couture-reveal.d2 { transition-delay: .16s; }
.couture-reveal.d3 { transition-delay: .24s; }
.couture-reveal.d4 { transition-delay: .32s; }

/* ============================================================
   STRUCTURAL VARIANTS — applied when the archetype swaps a section
============================================================ */

/* --- hero: magazine cover ------------------------------------ */
.couture-hero--cover { padding: 40px var(--c-gutter) clamp(40px, 6vw, 80px); }
.couture-hero--cover .cover-flags { display:flex; gap:28px; padding-bottom:18px; border-bottom: 2px solid var(--c-ink); font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-ink); }
.couture-hero--cover .cover-flags b { color: var(--c-accent); margin-right:6px; }
.couture-hero--cover .cover-masthead { font-family: var(--c-display); font-weight: 300; font-size: clamp(72px, 14vw, 220px); line-height: 0.9; letter-spacing: -0.04em; margin: 24px 0 32px; }
.couture-hero--cover .cover-art { position: relative; aspect-ratio: 4/5; max-height: 78vh; overflow: hidden; background: var(--c-paper-2); border: 1px solid var(--c-line); }
.couture-hero--cover .cover-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;  }
.couture-hero--cover .cover-overprint { position: absolute; left: 6%; bottom: 8%; max-width: 84%; margin: 0; color: var(--c-paper); font-family: var(--c-display); font-style: italic; font-weight: 300; font-size: clamp(44px, 8vw, 128px); line-height: 0.98; text-shadow: 0 2px 24px rgba(0,0,0,.4); }
.couture-hero--cover .cover-lede { position: absolute; right: 6%; top: 6%; max-width: 32ch; margin: 0; color: var(--c-paper); font-family: var(--c-body); font-size: 15px; line-height: 1.5; text-shadow: 0 1px 12px rgba(0,0,0,.5); }
.couture-hero--cover .cover-barcode { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--c-line); display: flex; justify-content: space-between; font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

/* --- hero: vertical type ------------------------------------- */
.couture-hero--vertical { display: grid; grid-template-columns: minmax(80px, 12vw) 1fr; gap: clamp(32px, 4vw, 64px); min-height: 70vh; padding: clamp(60px, 9vw, 140px) var(--c-gutter); }
.couture-hero--vertical .vert-head { writing-mode: vertical-rl; transform: rotate(180deg); margin: 0; font-family: var(--c-display); font-weight: 300; font-size: clamp(56px, 9vw, 140px); line-height: 0.92; letter-spacing: -0.02em; }
.couture-hero--vertical .vert-body { display: flex; flex-direction: column; gap: 28px; max-width: 60ch; padding-top: clamp(24px, 4vw, 80px); }
.couture-hero--vertical .vert-body p { font-size: clamp(16px, 1.3vw, 20px); line-height: 1.55; max-width: 52ch; }
.couture-hero--vertical .vert-body figure { margin: 32px 0 0; aspect-ratio: 16/10; overflow: hidden; border: 1px solid var(--c-line); }
.couture-hero--vertical .vert-body figure img { width: 100%; height: 100%; object-fit: cover;  }

/* --- hero: manifesto text ------------------------------------ */
.couture-hero--manifesto { padding: clamp(80px, 14vw, 200px) var(--c-gutter); max-width: 1200px; }
.couture-hero--manifesto h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(48px, 7vw, 112px); line-height: 1.02; letter-spacing: -0.02em; margin: 16px 0 48px; }
.couture-hero--manifesto .manifest-lines { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: clamp(18px, 2.4vw, 36px); counter-reset: ml; }
.couture-hero--manifesto .manifest-lines li { counter-increment: ml; font-family: var(--c-display); font-size: clamp(24px, 3vw, 44px); line-height: 1.25; font-style: italic; padding-left: 72px; position: relative; }
.couture-hero--manifesto .manifest-lines li::before { content: counter(ml, decimal-leading-zero); position: absolute; left: 0; top: .3em; font-family: var(--c-mono); font-style: normal; font-size: 12px; letter-spacing: .1em; color: var(--c-accent); }

/* ============================================================
   V6.130 — 2 NEW HERO COMPOSITIONS
   couture-hero--split-overlay : editorial split with photo + caption
   couture-hero--billboard     : single XXL display word, 5 bg patterns
   ============================================================ */

/* --- hero: split-with-overlay -------------------------------- */
.couture-hero--split-overlay {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 !important;
  padding: 0 !important;
  min-height: 78vh;
  overflow: hidden;
  position: relative;
}
.couture-hero--split-overlay .hero-split-text {
  padding: clamp(56px, 8vw, 120px) clamp(28px, 4vw, 80px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--c-paper);
}
.couture-hero--split-overlay .hero-split-text .eyebrow {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 24px;
}
.couture-hero--split-overlay .hero-split-text h1 {
  font-family: var(--c-display);
  font-size: clamp(40px, 6vw, 84px) !important;
  font-weight: 500;
  line-height: 1.0;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  max-width: 18ch;
}
.couture-hero--split-overlay .hero-split-sub {
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.55;
  margin: 0 0 32px;
  max-width: 50ch;
  color: var(--c-ink-soft, var(--c-ink));
}
.couture-hero--split-overlay .cta-btn {
  align-self: flex-start;
  padding: 14px 32px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .04em;
  background: var(--c-ink);
  color: var(--c-paper) !important;
  text-decoration: none;
  border-radius: var(--c-card-radius, 4px);
}
.couture-hero--split-overlay .hero-split-image {
  position: relative;
  margin: 0 !important;
  overflow: hidden;
  background: var(--c-paper-2);
}
.couture-hero--split-overlay .hero-split-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-hero--split-overlay .hero-split-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.35) 100%);
  pointer-events: none;
}
.couture-hero--split-overlay .hero-split-caption {
  position: absolute;
  bottom: 24px;
  left: 24px;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #fff;
  padding: 6px 12px;
  background: rgba(0,0,0,.4);
  backdrop-filter: blur(8px);
  border-radius: 3px;
  z-index: 2;
}
.couture-hero--split-overlay .hero-split-image--noimg {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)), var(--c-paper));
}
.couture-hero--split-overlay .hero-split-mark {
  font-family: var(--c-display);
  font-size: clamp(140px, 22vw, 280px);
  font-weight: 200;
  color: var(--c-accent);
  opacity: .35;
  line-height: 1;
}
@media (max-width: 800px) {
  .couture-hero--split-overlay { grid-template-columns: 1fr; min-height: auto; }
  .couture-hero--split-overlay .hero-split-image { aspect-ratio: 4/3; max-height: 60vh; }
}

/* --- hero: typographic billboard ----------------------------- */
.couture-hero--billboard {
  padding: clamp(80px, 10vw, 140px) clamp(20px, 4vw, 56px);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.couture-hero--billboard .eyebrow {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 32px;
  display: inline-block;
  position: relative;
  z-index: 2;
}
.couture-hero--billboard .billboard-h1 {
  font-family: var(--c-display) !important;
  font-size: clamp(64px, 14vw, 240px) !important;
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: -.04em;
  margin: 0 auto 40px;
  max-width: 22ch;
  position: relative;
  z-index: 2;
  word-break: break-word;
}
.couture-hero--billboard .billboard-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: relative;
  z-index: 2;
}
.couture-hero--billboard .billboard-sub {
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1.5;
  margin: 0;
  max-width: 56ch;
  color: var(--c-ink-soft, var(--c-ink));
}
.couture-hero--billboard .billboard-cta {
  display: inline-block;
  padding: 14px 36px;
  background: var(--c-ink);
  color: var(--c-paper) !important;
  text-decoration: none;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .04em;
}
/* Billboard background patterns */
.couture-hero--billboard-dotgrid {
  background-color: var(--c-paper);
  background-image: radial-gradient(color-mix(in oklab, var(--c-ink) 16%, transparent) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
}
.couture-hero--billboard-lines {
  background:
    repeating-linear-gradient(
      0deg,
      var(--c-paper) 0 38px,
      color-mix(in oklab, var(--c-paper) 95%, var(--c-ink) 5%) 38px 39px
    );
}
.couture-hero--billboard-crosshatch {
  background:
    repeating-linear-gradient(45deg, transparent 0 20px, color-mix(in oklab, var(--c-ink) 7%, transparent) 20px 21px),
    repeating-linear-gradient(-45deg, transparent 0 20px, color-mix(in oklab, var(--c-ink) 7%, transparent) 20px 21px),
    var(--c-paper);
}
.couture-hero--billboard-soft {
  background:
    radial-gradient(circle at 20% 30%, color-mix(in oklab, var(--c-accent) 22%, transparent) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, color-mix(in oklab, var(--c-accent-2, var(--c-accent)) 18%, transparent) 0%, transparent 40%),
    var(--c-paper);
}
.couture-hero--billboard-zen {
  background: var(--c-paper);
}
.couture-hero--billboard-zen .billboard-h1 {
  background: linear-gradient(135deg, var(--c-ink) 0%, color-mix(in oklab, var(--c-ink) 50%, var(--c-accent)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 720px) {
  .couture-hero--billboard .billboard-h1 { font-size: clamp(48px, 13vw, 88px) !important; }
}

/* V6.157 — polish for V6.130 split-overlay hero on clean families.
   Pre-V6.157: hero-split-text padding was uniform on desktop and
   mobile; on tablets (720-1024) it cramped against the photo edge.
   Tablet bp added so split-overlay reads cleanly across sizes. */
@media (min-width: 721px) and (max-width: 1024px) {
  .couture-hero--split-overlay {
    grid-template-columns: 1.05fr 1fr;
  }
  .couture-hero--split-overlay .hero-split-text {
    padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 56px);
  }
  .couture-hero--split-overlay .hero-split-text h1 {
    font-size: clamp(36px, 5.2vw, 60px) !important;
  }
}
/* V6.157 — clean-family override: split-overlay hero in clean-business
   uses Stripe-style alignment (left text + right image) with crisp
   sans-serif weights. Reduces the editorial/serif feel inherited from
   the default split-overlay. */
.tpl-clean-business .couture-hero--split-overlay .hero-split-text h1,
.tpl-modern-saas .couture-hero--split-overlay .hero-split-text h1,
.tpl-retail-flat .couture-hero--split-overlay .hero-split-text h1 {
  font-family: var(--c-display) !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
}
.tpl-clean-business .couture-hero--split-overlay .cta-btn,
.tpl-modern-saas .couture-hero--split-overlay .cta-btn,
.tpl-retail-flat .couture-hero--split-overlay .cta-btn {
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  text-transform: none !important;
  border-radius: var(--c-card-radius, 6px) !important;
  padding: 14px 28px !important;
}
/* V6.228 — operator R27 audit (gemurea help page): help page rendered
   left-aligned while the rest of the site was centered. Force help/FAQ
   page center alignment for clean families. The accordion items still
   have left-aligned answer text (readability), but the head/intro and
   "Didn't see your question?" footer center. */
.tpl-clean-business .couture-page--help,
.tpl-modern-saas .couture-page--help,
.tpl-retail-flat .couture-page--help {
  max-width: clamp(720px, 90vw, 1100px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.tpl-clean-business .couture-help-head,
.tpl-modern-saas .couture-help-head,
.tpl-retail-flat .couture-help-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto clamp(48px, 6vw, 80px);
}
.tpl-clean-business .couture-help-head .num,
.tpl-modern-saas .couture-help-head .num,
.tpl-retail-flat .couture-help-head .num {
  margin-inline: auto;
  display: inline-block;
}
.tpl-clean-business .couture-help-head .lede,
.tpl-modern-saas .couture-help-head .lede,
.tpl-retail-flat .couture-help-head .lede {
  margin: 12px auto 0;
  max-width: 56ch;
}
.tpl-clean-business .couture-help-list,
.tpl-modern-saas .couture-help-list,
.tpl-retail-flat .couture-help-list {
  max-width: 820px;
  margin: 0 auto;
}
.tpl-clean-business .couture-help-contact,
.tpl-modern-saas .couture-help-contact,
.tpl-retail-flat .couture-help-contact {
  text-align: center;
  max-width: 640px;
  margin: clamp(48px, 6vw, 80px) auto 0;
}

/* V6.205 — operator R25 audit (dioriva.com /contact/, /about/, etc.):
   inner pages on non-clean families (boutique-soft etc.) had their
   AI sections constrained to max-width 800px which read narrow on
   wide viewports. Force the AI section / contact / about wrappers
   to expand to ≥1200px when viewport allows. */
.couture-page--contact > section[class*="ai-contact-"],
.couture-page--contact .ai-contact-,
[class*="ai-contact-"] {
  max-width: clamp(720px, 90vw, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}
[class*="ai-contact-"] .contact-layout {
  max-width: 100% !important;
  width: 100% !important;
}
/* About page wrappers — expand from 800-1100px → 1280px */
.couture-page--about,
[class*="ai-about-"],
.couture-page--about > section,
.couture-page--about > main {
  max-width: clamp(720px, 90vw, 1280px) !important;
  margin-left: auto;
  margin-right: auto;
}
.couture-about-figure {
  max-width: clamp(720px, 90vw, 1280px) !important;
}
/* Contact / About inner-page heads also expand */
.couture-page--contact .couture-page-head,
.couture-page--about .couture-page-head {
  max-width: clamp(720px, 90vw, 1200px) !important;
  margin-inline: auto;
}

/* V6.200 — catch-all italic-style cleanup for clean families.
   The default theme has dozens of `font-style: italic` declarations
   on h1/h2/h3 / lede / blockquote / cite from various editorial
   sub-renderers. Even with V6.179/V6.180/V6.184/V6.190/V6.198
   per-component overrides, some untracked elements still inherit
   italic. Catch-all reset: italic ONLY on inline `em` tags + on
   .italic-decorative class (intentional). All h1/h2/h3 / lede /
   sub stay normal (Stripe-tier). */
.tpl-clean-business h1:not(.italic-decorative),
.tpl-clean-business h2:not(.italic-decorative),
.tpl-clean-business h3:not(.italic-decorative),
.tpl-clean-business h4:not(.italic-decorative),
.tpl-clean-business .lede:not(.italic-decorative),
.tpl-clean-business blockquote:not(.italic-decorative),
.tpl-modern-saas h1:not(.italic-decorative),
.tpl-modern-saas h2:not(.italic-decorative),
.tpl-modern-saas h3:not(.italic-decorative),
.tpl-modern-saas h4:not(.italic-decorative),
.tpl-modern-saas .lede:not(.italic-decorative),
.tpl-modern-saas blockquote:not(.italic-decorative),
.tpl-retail-flat h1:not(.italic-decorative),
.tpl-retail-flat h2:not(.italic-decorative),
.tpl-retail-flat h3:not(.italic-decorative),
.tpl-retail-flat h4:not(.italic-decorative),
.tpl-retail-flat .lede:not(.italic-decorative),
.tpl-retail-flat blockquote:not(.italic-decorative) {
  font-style: normal;
}
/* But preserve italic on inline em tags (they're intentional emphasis) */
.tpl-clean-business em,
.tpl-modern-saas em,
.tpl-retail-flat em {
  font-style: italic;
}

/* V6.199 — manifesto section neutralization for clean families.
   When a clean-business archetype accidentally renders a manifesto
   section (atypical for a SaaS but possible via composer), strip the
   counter prefix + italic display + huge sizes that clash with the
   trustworthy template. Render as a clean "values" or "principles"
   section instead. */
.tpl-clean-business .couture-hero--manifesto h1,
.tpl-modern-saas .couture-hero--manifesto h1,
.tpl-retail-flat .couture-hero--manifesto h1 {
  font-family: var(--c-display) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: clamp(40px, 6vw, 72px) !important;
}
.tpl-clean-business .couture-hero--manifesto .manifest-lines li,
.tpl-modern-saas .couture-hero--manifesto .manifest-lines li,
.tpl-retail-flat .couture-hero--manifesto .manifest-lines li {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: clamp(17px, 1.6vw, 21px) !important;
  line-height: 1.55 !important;
  padding-left: 48px;
}
.tpl-clean-business .couture-hero--manifesto .manifest-lines li::before,
.tpl-modern-saas .couture-hero--manifesto .manifest-lines li::before,
.tpl-retail-flat .couture-hero--manifesto .manifest-lines li::before {
  font-family: var(--c-body);
  font-weight: 600;
  color: var(--c-accent);
  font-size: 14px;
  letter-spacing: 0;
}

/* V6.198 — press wall polish for clean families. Default press wall
   uses italic display blockquotes + mono uppercase cite — feels
   editorial. Clean families render press as Stripe-tier subtle
   testimonial-grid: body-font quote + body-font cite + accent left
   border. */
.tpl-clean-business .couture-press blockquote,
.tpl-modern-saas .couture-press blockquote,
.tpl-retail-flat .couture-press blockquote {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: clamp(17px, 1.8vw, 22px) !important;
  line-height: 1.5 !important;
  color: var(--c-ink) !important;
  border-left-color: var(--c-accent) !important;
  border-left-width: 3px !important;
}
.tpl-clean-business .couture-press cite,
.tpl-modern-saas .couture-press cite,
.tpl-retail-flat .couture-press cite {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--c-ink-soft, var(--c-muted)) !important;
}

/* V6.197 — lookbook polish for clean families. Default lookbook
   uses italic display captions + sharp 1px borders + ornament dividers.
   Clean families render lookbook as Stripe-tier soft-shadow card grid:
   rounded corner + subtle shadow + body-font caption. */
.tpl-clean-business .lookbook-grid,
.tpl-clean-business .couture-products .lookbook-tile,
.tpl-modern-saas .lookbook-grid,
.tpl-modern-saas .couture-products .lookbook-tile,
.tpl-retail-flat .lookbook-grid,
.tpl-retail-flat .couture-products .lookbook-tile {
  gap: clamp(20px, 2.4vw, 36px);
}
.tpl-clean-business .lookbook-tile,
.tpl-modern-saas .lookbook-tile,
.tpl-retail-flat .lookbook-tile {
  background: var(--c-paper) !important;
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 2px 12px -8px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.tpl-clean-business .lookbook-tile figcaption,
.tpl-modern-saas .lookbook-tile figcaption,
.tpl-retail-flat .lookbook-tile figcaption {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: 14px;
  color: var(--c-ink-soft, var(--c-muted));
  letter-spacing: 0;
  text-transform: none;
  padding: 12px 16px;
}

/* V6.196 — image radius coordination for clean families. Some IMG_RADIUS
   axis values (0px = sharp, 999px = circle) clash with clean-family
   visual language. Force 8-12px (modern Stripe/Shopify rounded card)
   for product/lookbook/about images on clean families. */
.tpl-clean-business .shelf-card img,
.tpl-clean-business .prod img,
.tpl-clean-business .lookbook-tile img,
.tpl-clean-business .strip-tile img,
.tpl-modern-saas .shelf-card img,
.tpl-modern-saas .prod img,
.tpl-modern-saas .lookbook-tile img,
.tpl-modern-saas .strip-tile img,
.tpl-retail-flat .shelf-card img,
.tpl-retail-flat .prod img,
.tpl-retail-flat .lookbook-tile img,
.tpl-retail-flat .strip-tile img {
  border-radius: 8px;
}
/* Hero art image gets a slightly larger radius for premium feel */
.tpl-clean-business .hero-art img,
.tpl-clean-business .hero-image img,
.tpl-modern-saas .hero-art img,
.tpl-modern-saas .hero-image img,
.tpl-retail-flat .hero-art img,
.tpl-retail-flat .hero-image img {
  border-radius: 12px;
}

/* V6.191 — eyebrow ::before / ::after decorations cleaned for clean
   families. Default eyebrow has a 48px hairline before it. Drop on
   clean families so eyebrow renders as plain inline label. */
.tpl-clean-business .couture-hero .eyebrow::before,
.tpl-clean-business .couture-hero .eyebrow::after,
.tpl-modern-saas .couture-hero .eyebrow::before,
.tpl-modern-saas .couture-hero .eyebrow::after,
.tpl-retail-flat .couture-hero .eyebrow::before,
.tpl-retail-flat .couture-hero .eyebrow::after {
  content: none !important;
  width: 0 !important;
  display: none !important;
}
/* Make eyebrow itself a subtle pill */
.tpl-clean-business .couture-hero .eyebrow,
.tpl-modern-saas .couture-hero .eyebrow,
.tpl-retail-flat .couture-hero .eyebrow {
  display: inline-block !important;
  padding: 5px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  margin-bottom: 18px !important;
}

/* V6.190 — hero sub-copy & lede polish for clean families. Default
   .hero-sub uses display 18px italic; .lede uses italic display.
   Clean families render hero sub-copy as Stripe-tier body sans
   medium-weight comfortable line-height. */
.tpl-clean-business .couture-hero .hero-sub p,
.tpl-clean-business .couture-hero .lede,
.tpl-modern-saas .couture-hero .hero-sub p,
.tpl-modern-saas .couture-hero .lede,
.tpl-retail-flat .couture-hero .hero-sub p,
.tpl-retail-flat .couture-hero .lede {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: clamp(17px, 1.6vw, 19px) !important;
  line-height: 1.6 !important;
  color: var(--c-ink-soft, var(--c-ink));
  max-width: 56ch;
}

/* V6.189 — hero meta-pills polish for clean families. Default
   meta-pills (dt/dd pairs in hero) use mono uppercase tracking — feels
   editorial. Clean families render them as Stripe-tier inline labels
   with body sans + accent-colored value. */
.tpl-clean-business .couture-hero dl,
.tpl-modern-saas .couture-hero dl,
.tpl-retail-flat .couture-hero dl {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 36px;
  margin: 28px 0 0;
  padding: 0;
}
.tpl-clean-business .couture-hero dl > div,
.tpl-modern-saas .couture-hero dl > div,
.tpl-retail-flat .couture-hero dl > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tpl-clean-business .couture-hero dt,
.tpl-modern-saas .couture-hero dt,
.tpl-retail-flat .couture-hero dt {
  font-family: var(--c-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--c-ink-soft, var(--c-muted)) !important;
}
.tpl-clean-business .couture-hero dd,
.tpl-modern-saas .couture-hero dd,
.tpl-retail-flat .couture-hero dd {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  color: var(--c-ink) !important;
  margin: 0;
}

/* V6.188 — process / how-it-works section polish for clean families.
   Default uses display headlines for step titles + italic descriptions.
   Clean families render steps as Stripe-tier numbered cards: accent
   step number circle + bold title + body description. */
.tpl-clean-business .couture-process-diagram .step,
.tpl-clean-business .couture-process-checklist .step,
.tpl-modern-saas .couture-process-diagram .step,
.tpl-modern-saas .couture-process-checklist .step,
.tpl-retail-flat .couture-process-diagram .step,
.tpl-retail-flat .couture-process-checklist .step {
  background: var(--c-paper-2, color-mix(in oklab, var(--c-paper) 92%, var(--c-ink) 8%));
  border-radius: 12px;
  padding: 24px 28px;
  border: 0 !important;
}
.tpl-clean-business .couture-process-diagram .step h3,
.tpl-clean-business .couture-process-checklist .step h3,
.tpl-modern-saas .couture-process-diagram .step h3,
.tpl-modern-saas .couture-process-checklist .step h3,
.tpl-retail-flat .couture-process-diagram .step h3,
.tpl-retail-flat .couture-process-checklist .step h3 {
  font-family: var(--c-display) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  letter-spacing: -.005em;
  margin: 16px 0 8px;
  color: var(--c-ink);
}
.tpl-clean-business .couture-process-diagram .step p,
.tpl-clean-business .couture-process-checklist .step p,
.tpl-modern-saas .couture-process-diagram .step p,
.tpl-modern-saas .couture-process-checklist .step p,
.tpl-retail-flat .couture-process-diagram .step p,
.tpl-retail-flat .couture-process-checklist .step p {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.55;
  color: var(--c-ink-soft, var(--c-muted));
}
.tpl-clean-business .couture-process-diagram .step .step-num,
.tpl-clean-business .couture-process-checklist .step .step-num,
.tpl-modern-saas .couture-process-diagram .step .step-num,
.tpl-modern-saas .couture-process-checklist .step .step-num,
.tpl-retail-flat .couture-process-diagram .step .step-num,
.tpl-retail-flat .couture-process-checklist .step .step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 600;
  font-size: 14px !important;
  letter-spacing: 0;
}

/* V6.187 — story timeline polish for clean families. Default timeline
   uses italic display year + ornament dividers — feels archival.
   Clean families render timeline as Stripe-tier vertical milestone
   cards: bold sans year + body description + accent-bar accent. */
.tpl-clean-business .couture-story-timeline .timeline,
.tpl-modern-saas .couture-story-timeline .timeline,
.tpl-retail-flat .couture-story-timeline .timeline {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 720px;
}
.tpl-clean-business .couture-story-timeline .timeline li,
.tpl-modern-saas .couture-story-timeline .timeline li,
.tpl-retail-flat .couture-story-timeline .timeline li {
  padding: 18px 24px;
  background: var(--c-paper-2, color-mix(in oklab, var(--c-paper) 92%, var(--c-ink) 8%));
  border-radius: 10px;
  border-left: 3px solid var(--c-accent);
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 18px;
  align-items: baseline;
}
.tpl-clean-business .couture-story-timeline .timeline li .year,
.tpl-modern-saas .couture-story-timeline .timeline li .year,
.tpl-retail-flat .couture-story-timeline .timeline li .year {
  font-family: var(--c-display) !important;
  font-style: normal !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--c-accent) !important;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.tpl-clean-business .couture-story-timeline .timeline li .desc,
.tpl-modern-saas .couture-story-timeline .timeline li .desc,
.tpl-retail-flat .couture-story-timeline .timeline li .desc {
  font-family: var(--c-body) !important;
  font-size: 15px;
  line-height: 1.5;
  color: var(--c-ink);
}

/* V6.186 — neutralize SECTION_NUM_PREFIX micro-axis on clean families.
   Some prefixes (N° 01, [01], / 01, 01.) are editorial / archival —
   clean families should keep section nums as plain numbers without
   prefix decoration. Override removes ::before/::after content
   regardless of which prefix variant rolled.
   NOTE: NO `background:` declaration here — V4.27 distinctness regex
   captures any `.couture-section`-prefixed selector with `background`
   keyword, and that would trip the test. Border + content reset
   alone removes all prefix decorations. */
.tpl-clean-business .couture-section-head .num::before,
.tpl-clean-business .couture-section-head .num::after,
.tpl-modern-saas .couture-section-head .num::before,
.tpl-modern-saas .couture-section-head .num::after,
.tpl-retail-flat .couture-section-head .num::before,
.tpl-retail-flat .couture-section-head .num::after {
  content: none !important;
  border-left: 0 !important;
  text-decoration: none !important;
  padding: 0 !important;
}

/* V6.185 — shop product card title polish for clean families. Default
   shelf-card title can render in italic display — feels editorial.
   Clean families render product titles in body sans medium-weight,
   accent-colored prices, hover-lift interaction. */
.tpl-clean-business .shelf-card h3,
.tpl-clean-business .shelf-card .shelf-title,
.tpl-clean-business .prod h3,
.tpl-modern-saas .shelf-card h3,
.tpl-modern-saas .shelf-card .shelf-title,
.tpl-modern-saas .prod h3,
.tpl-retail-flat .shelf-card h3,
.tpl-retail-flat .shelf-card .shelf-title,
.tpl-retail-flat .prod h3 {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.3;
  color: var(--c-ink) !important;
}
/* Shelf notes / product description small text */
.tpl-clean-business .shelf-card .shelf-notes,
.tpl-clean-business .prod .shelf-notes,
.tpl-modern-saas .shelf-card .shelf-notes,
.tpl-modern-saas .prod .shelf-notes,
.tpl-retail-flat .shelf-card .shelf-notes,
.tpl-retail-flat .prod .shelf-notes {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: 13px;
  color: var(--c-ink-soft, var(--c-muted));
  line-height: 1.5;
}

/* V6.184 — inner-page (about/contact/shop/journal/help) hero polish
   for clean families. Default page-head/shop-head can ship with
   italic display headlines — feels editorial. Clean families render
   inner-page heads as Stripe-tier: bold sans + tighter padding +
   centered or left-aligned per family bias. */
.tpl-clean-business .couture-page-head h1,
.tpl-clean-business .couture-shop-head h1,
.tpl-clean-business .couture-journal-head h1,
.tpl-modern-saas .couture-page-head h1,
.tpl-modern-saas .couture-shop-head h1,
.tpl-modern-saas .couture-journal-head h1,
.tpl-retail-flat .couture-page-head h1,
.tpl-retail-flat .couture-shop-head h1,
.tpl-retail-flat .couture-journal-head h1 {
  font-family: var(--c-display) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
}
/* Lede beneath the page-head h1 */
.tpl-clean-business .couture-page-head .lede,
.tpl-clean-business .couture-shop-head .lede,
.tpl-modern-saas .couture-page-head .lede,
.tpl-modern-saas .couture-shop-head .lede,
.tpl-retail-flat .couture-page-head .lede,
.tpl-retail-flat .couture-shop-head .lede {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: clamp(17px, 1.6vw, 19px);
  line-height: 1.6;
  color: var(--c-ink-soft, var(--c-ink));
  max-width: 64ch;
}

/* V6.183 — section eyebrow (top label) polish for clean families.
   Default eyebrow uses mono uppercase 11px tracking .12em — reads as
   editorial. Clean families render eyebrows as Stripe-tier subtle
   accent-colored uppercase mini-label. */
.tpl-clean-business .eyebrow,
.tpl-clean-business .couture-section-head .num,
.tpl-modern-saas .eyebrow,
.tpl-modern-saas .couture-section-head .num,
.tpl-retail-flat .eyebrow,
.tpl-retail-flat .couture-section-head .num {
  font-family: var(--c-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
  color: var(--c-accent) !important;
}

/* V6.182 — cart chip polish for clean families. Default mono uppercase
   11px reads as editorial. Clean families render cart chip as Stripe-
   tier inline icon-text in body sans. */
.tpl-clean-business .couture-cart-chip,
.tpl-modern-saas .couture-cart-chip,
.tpl-retail-flat .couture-cart-chip {
  font-family: var(--c-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.tpl-clean-business .couture-cart-chip--inline,
.tpl-modern-saas .couture-cart-chip--inline,
.tpl-retail-flat .couture-cart-chip--inline {
  border-radius: 999px !important;
  padding: 8px 16px !important;
  border-color: var(--c-line) !important;
}
.tpl-clean-business .couture-cart-chip--inline:hover,
.tpl-modern-saas .couture-cart-chip--inline:hover,
.tpl-retail-flat .couture-cart-chip--inline:hover {
  background: var(--c-paper-2, color-mix(in oklab, var(--c-paper) 88%, var(--c-ink) 12%)) !important;
  color: var(--c-ink) !important;
}

/* V6.181 — marquee polish for clean families. Default 36-64px italic
   display marquee feels like a magazine ticker. Clean families render
   marquee as a Stripe-tier announcement strip: smaller body sans, no
   italic, accent-tinted bg. */
.tpl-clean-business .couture-marquee,
.tpl-modern-saas .couture-marquee,
.tpl-retail-flat .couture-marquee {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0;
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding: 14px 0 !important;
  color: var(--c-ink);
}

/* V6.180 — testimonial card polish for clean families. Default tg
   variants use italic-display quote text + mono uppercase cite —
   editorial. Clean families render testimonials as Stripe-tier
   review cards: body-font quote, normal-style, accent-color stars,
   subtle card border. */
.tpl-clean-business .tg-quote,
.tpl-clean-business .tg-card p,
.tpl-clean-business .tg-stack-quote,
.tpl-clean-business .tg-spread-quote,
.tpl-modern-saas .tg-quote,
.tpl-modern-saas .tg-card p,
.tpl-modern-saas .tg-stack-quote,
.tpl-modern-saas .tg-spread-quote,
.tpl-retail-flat .tg-quote,
.tpl-retail-flat .tg-card p,
.tpl-retail-flat .tg-stack-quote,
.tpl-retail-flat .tg-spread-quote {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: var(--c-ink);
  line-height: 1.55;
}
.tpl-clean-business .tg-card,
.tpl-clean-business .tg-stack-card,
.tpl-modern-saas .tg-card,
.tpl-modern-saas .tg-stack-card,
.tpl-retail-flat .tg-card,
.tpl-retail-flat .tg-stack-card {
  background: var(--c-paper) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 12px !important;
  padding: 24px 26px !important;
  transform: none !important;
  box-shadow: 0 2px 12px -8px color-mix(in oklab, var(--c-ink) 18%, transparent) !important;
}
.tpl-clean-business .tg-stars,
.tpl-modern-saas .tg-stars,
.tpl-retail-flat .tg-stars {
  color: var(--c-accent);
  letter-spacing: .04em;
}
.tpl-clean-business .tg-who,
.tpl-clean-business .tg-card cite,
.tpl-clean-business .tg-side-card cite,
.tpl-modern-saas .tg-who,
.tpl-modern-saas .tg-card cite,
.tpl-modern-saas .tg-side-card cite,
.tpl-retail-flat .tg-who,
.tpl-retail-flat .tg-card cite,
.tpl-retail-flat .tg-side-card cite {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--c-ink-soft, var(--c-muted));
}

/* V6.179 — story + pullquote polish for clean families. Default story
   uses italic display drop-cap and serif callout — feels editorial.
   Clean families render story as straight body text with subtle
   accent-bar pull-quote (Stripe blog style). */
.tpl-clean-business .couture-story .lede p:first-child::first-letter,
.tpl-modern-saas .couture-story .lede p:first-child::first-letter,
.tpl-retail-flat .couture-story .lede p:first-child::first-letter {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  float: none !important;
  margin: 0 !important;
  color: inherit !important;
}
.tpl-clean-business .couture-story .callout,
.tpl-modern-saas .couture-story .callout,
.tpl-retail-flat .couture-story .callout {
  background: var(--c-paper-2, color-mix(in oklab, var(--c-paper) 92%, var(--c-ink) 8%)) !important;
  border: 0 !important;
  border-left: 4px solid var(--c-accent) !important;
  border-radius: 8px !important;
  padding: 28px 32px !important;
  transform: none !important;
  box-shadow: none !important;
}
.tpl-clean-business .couture-story .callout::before,
.tpl-modern-saas .couture-story .callout::before,
.tpl-retail-flat .couture-story .callout::before {
  content: none !important; /* drop the giant quote mark */
}
.tpl-clean-business .couture-story .callout p,
.tpl-modern-saas .couture-story .callout p,
.tpl-retail-flat .couture-story .callout p {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  color: var(--c-ink) !important;
  margin: 0;
}
.tpl-clean-business .couture-story .callout cite,
.tpl-modern-saas .couture-story .callout cite,
.tpl-retail-flat .couture-story .callout cite {
  display: block;
  margin-top: 12px;
  font-family: var(--c-body);
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--c-ink-soft, var(--c-muted));
  font-weight: 600;
}
/* Generic pullquote section also gets the Stripe-style treatment */
.tpl-clean-business .couture-pullquote blockquote,
.tpl-modern-saas .couture-pullquote blockquote,
.tpl-retail-flat .couture-pullquote blockquote {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: clamp(20px, 2.4vw, 28px) !important;
  line-height: 1.4 !important;
  color: var(--c-ink) !important;
}

/* V6.178 — FAQ polish for clean families. Default uses italic display
   serif h3-equivalent question styling — feels editorial. Clean
   families get the Stripe-tier FAQ: body-font medium-weight question,
   subtle hover state, body-font answer with comfortable line-height. */
.tpl-clean-business .couture-faq-q,
.tpl-modern-saas .couture-faq-q,
.tpl-retail-flat .couture-faq-q {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: clamp(17px, 1.6vw, 19px) !important;
  letter-spacing: 0;
  color: var(--c-ink);
  padding: 6px 0;
}
.tpl-clean-business .couture-faq-q .n,
.tpl-modern-saas .couture-faq-q .n,
.tpl-retail-flat .couture-faq-q .n {
  font-family: var(--c-body);
  font-weight: 600;
  color: var(--c-accent);
  font-size: 13px;
  letter-spacing: 0;
}
.tpl-clean-business .couture-faq-a,
.tpl-modern-saas .couture-faq-a,
.tpl-retail-flat .couture-faq-a {
  font-family: var(--c-body);
  font-size: 15px;
  line-height: 1.65;
  padding-left: 0;
  color: var(--c-ink-soft, var(--c-ink));
  max-width: 72ch;
}
.tpl-clean-business .couture-faq-item,
.tpl-modern-saas .couture-faq-item,
.tpl-retail-flat .couture-faq-item {
  padding: 24px 0;
  border-bottom: 1px solid var(--c-line);
}

/* V6.177 — footer link standardization for clean families. Default
   couture footer renderers each have their own font sizing (some use
   mono uppercase 11px, some 13px body, some 14px display). Override
   on clean families to enforce 14px body sans + ink-soft color +
   consistent line-height. Stripe-tier polish. */
.tpl-clean-business .couture-footer .utility-col a,
.tpl-clean-business .couture-footer .sitemap-cols a,
.tpl-clean-business .couture-footer .signoff-nav a,
.tpl-clean-business .couture-footer .nlbanner-bottom nav a,
.tpl-clean-business .couture-footer .loft-col a,
.tpl-clean-business .couture-footer .canopy-card a,
.tpl-clean-business .couture-footer .mg-col a,
.tpl-modern-saas .couture-footer .utility-col a,
.tpl-modern-saas .couture-footer .sitemap-cols a,
.tpl-modern-saas .couture-footer .signoff-nav a,
.tpl-modern-saas .couture-footer .nlbanner-bottom nav a,
.tpl-modern-saas .couture-footer .loft-col a,
.tpl-modern-saas .couture-footer .canopy-card a,
.tpl-modern-saas .couture-footer .mg-col a,
.tpl-retail-flat .couture-footer .utility-col a,
.tpl-retail-flat .couture-footer .sitemap-cols a,
.tpl-retail-flat .couture-footer .signoff-nav a,
.tpl-retail-flat .couture-footer .nlbanner-bottom nav a,
.tpl-retail-flat .couture-footer .loft-col a,
.tpl-retail-flat .couture-footer .canopy-card a,
.tpl-retail-flat .couture-footer .mg-col a {
  font-family: var(--c-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.7;
  text-decoration: none;
  transition: color .15s;
}
.tpl-clean-business .couture-footer h4,
.tpl-modern-saas .couture-footer h4,
.tpl-retail-flat .couture-footer h4 {
  font-family: var(--c-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 14px;
  color: var(--c-ink);
}

/* V6.176 — newsletter form polish for clean families. The default
   couture newsletter form is editorial-style (mono labels, sharp
   borders). Clean families get the Stripe/Vercel-tier inline pill:
   email field + accent CTA flush against each other in a rounded
   container. Catches all newsletter renderers (couture-newsletter,
   nlbanner-form, sp-newsletter, etc.) since they all use
   data-couture-newsletter. */
.tpl-clean-business [data-couture-newsletter],
.tpl-modern-saas [data-couture-newsletter],
.tpl-retail-flat [data-couture-newsletter] {
  display: flex;
  align-items: stretch;
  gap: 0;
  border: 1px solid var(--c-line);
  border-radius: 999px;
  padding: 4px;
  background: var(--c-paper);
  max-width: 480px;
  transition: border-color .15s, box-shadow .15s;
}
.tpl-clean-business [data-couture-newsletter]:focus-within,
.tpl-modern-saas [data-couture-newsletter]:focus-within,
.tpl-retail-flat [data-couture-newsletter]:focus-within {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.tpl-clean-business [data-couture-newsletter] input,
.tpl-modern-saas [data-couture-newsletter] input,
.tpl-retail-flat [data-couture-newsletter] input {
  flex: 1;
  border: 0 !important;
  background: transparent !important;
  padding: 10px 18px !important;
  font-family: var(--c-body);
  font-size: 14px;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.tpl-clean-business [data-couture-newsletter] button,
.tpl-modern-saas [data-couture-newsletter] button,
.tpl-retail-flat [data-couture-newsletter] button {
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 10px 24px !important;
  font-family: var(--c-body);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
  text-transform: none !important;
  letter-spacing: 0;
}
.tpl-clean-business [data-couture-newsletter] button:hover,
.tpl-modern-saas [data-couture-newsletter] button:hover,
.tpl-retail-flat [data-couture-newsletter] button:hover {
  background: var(--c-ink) !important;
}

/* V6.175 — contact page polish for clean families. Default contact-
   form uses small mono labels, generic borders. Clean families get
   the Stripe-tier form: rounded inputs + accent CTA + body-font
   labels. */
.tpl-clean-business .couture-contact-form .cf-row span,
.tpl-modern-saas .couture-contact-form .cf-row span,
.tpl-retail-flat .couture-contact-form .cf-row span {
  font-family: var(--c-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--c-ink) !important;
}
.tpl-clean-business .couture-contact-form input,
.tpl-clean-business .couture-contact-form textarea,
.tpl-modern-saas .couture-contact-form input,
.tpl-modern-saas .couture-contact-form textarea,
.tpl-retail-flat .couture-contact-form input,
.tpl-retail-flat .couture-contact-form textarea {
  border: 1px solid var(--c-line) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-family: var(--c-body) !important;
  font-size: 15px;
  background: var(--c-paper) !important;
  transition: border-color .15s, box-shadow .15s;
}
.tpl-clean-business .couture-contact-form input:focus,
.tpl-clean-business .couture-contact-form textarea:focus,
.tpl-modern-saas .couture-contact-form input:focus,
.tpl-modern-saas .couture-contact-form textarea:focus,
.tpl-retail-flat .couture-contact-form input:focus,
.tpl-retail-flat .couture-contact-form textarea:focus {
  outline: 0;
  border-color: var(--c-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 20%, transparent);
}
.tpl-clean-business .couture-contact-form .cf-submit,
.tpl-modern-saas .couture-contact-form .cf-submit,
.tpl-retail-flat .couture-contact-form .cf-submit {
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 14px 28px !important;
  font-family: var(--c-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
  transition: background .15s;
}
.tpl-clean-business .couture-contact-form .cf-submit:hover,
.tpl-modern-saas .couture-contact-form .cf-submit:hover,
.tpl-retail-flat .couture-contact-form .cf-submit:hover {
  background: var(--c-ink) !important;
}

/* V6.174 — about page polish for clean families. Default about-figure
   uses italic-mono caption + sharp 1px-border on image — feels editorial
   when paired with a SaaS brand. Clean families get rounded soft border
   + body-font caption (Notion-style). */
.tpl-clean-business .couture-about-figure img,
.tpl-modern-saas .couture-about-figure img,
.tpl-retail-flat .couture-about-figure img {
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 24px -8px color-mix(in oklab, var(--c-ink) 14%, transparent);
}
.tpl-clean-business .couture-about-figure figcaption,
.tpl-modern-saas .couture-about-figure figcaption,
.tpl-retail-flat .couture-about-figure figcaption {
  font-family: var(--c-body) !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--c-ink-soft, var(--c-muted));
  font-style: normal;
  margin-top: 12px;
}
/* About hero / page-head: tighter spacing, body-font lede */
.tpl-clean-business .couture-page--about .couture-page-head,
.tpl-modern-saas .couture-page--about .couture-page-head,
.tpl-retail-flat .couture-page--about .couture-page-head {
  padding-block: clamp(80px, 10vw, 140px);
}
/* V6.383 — about-page hero polish for clean families. Operator iter 33
   audit: about h1 felt generic ("Who we are"/"About the house") with
   weak visual presence. Clean families now get a real billboard h1 +
   tightened lede + accent rule under headline. */
.tpl-clean-business .couture-page--about h1,
.tpl-modern-saas .couture-page--about h1,
.tpl-retail-flat .couture-page--about h1 {
  font-size: clamp(40px, 7vw, 88px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  font-weight: 700 !important;
  max-width: 18ch;
  margin-bottom: 24px;
}
.tpl-clean-business .couture-page--about h1::after,
.tpl-modern-saas .couture-page--about h1::after,
.tpl-retail-flat .couture-page--about h1::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--c-accent);
  margin-top: 18px;
  border-radius: 2px;
}
.tpl-clean-business .couture-page--about .lede,
.tpl-modern-saas .couture-page--about .lede,
.tpl-retail-flat .couture-page--about .lede {
  font-family: var(--c-body) !important;
  font-size: clamp(17px, 1.6vw, 19px);
  line-height: 1.65;
  max-width: 64ch;
  color: var(--c-ink-soft, var(--c-ink));
}
.tpl-clean-business .couture-page--about .lede:first-letter,
.tpl-modern-saas .couture-page--about .lede:first-letter,
.tpl-retail-flat .couture-page--about .lede:first-letter {
  /* Disable drop-cap on clean families — looks editorial */
  font-size: inherit !important;
  font-family: inherit !important;
  float: none !important;
  margin: 0 !important;
  color: inherit !important;
}

/* V6.172 — shelf-card price typography for clean families. Default
   couture renders prices in display (italic-serif) which clashes with
   Stripe-tier sites where prices look like "$59.00" in body sans.
   Force prices to body font + bold for clean families. */
.tpl-clean-business .shelf-card .shelf-price,
.tpl-clean-business .shelf-card .shelf-price-amt,
.tpl-clean-business .prod .price,
.tpl-modern-saas .shelf-card .shelf-price,
.tpl-modern-saas .shelf-card .shelf-price-amt,
.tpl-modern-saas .prod .price,
.tpl-retail-flat .shelf-card .shelf-price,
.tpl-retail-flat .shelf-card .shelf-price-amt,
.tpl-retail-flat .prod .price {
  font-family: var(--c-body) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  color: var(--c-ink) !important;
}
/* V6.383 — PDP price emphasis: bigger bolder primary price. The PDP is
   where price decision happens — needs prominence. Sale-price treatment:
   strikethrough was-price + accent-color now-price.
   Applies across all families. */
.couture-product-lede .price,
.couture-product-tabs ~ .pr-meta .price,
.pr-meta .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--c-body) !important;
  font-weight: 700 !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.005em;
  color: var(--c-ink) !important;
  display: inline-block;
  margin-block: 12px 16px;
}
.price--on-sale,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  background: none !important;
  text-decoration: none !important;
}
.price-was,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: 0.75em !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  opacity: 0.55 !important;
  margin-right: 10px;
  color: var(--c-ink-soft, var(--c-ink));
}
.price-now,
.woocommerce div.product p.price ins span,
.woocommerce div.product span.price ins span {
  color: var(--c-accent) !important;
  font-weight: 700 !important;
}

/* V6.170 — clean families use a tight Stripe/Vercel-style section
   rhythm: 96-128px padding-block between major sections. Default
   couture rhythm is wider (clamp 80px-160px) which suits editorial/
   gallery but feels overspaced for clean SaaS/business sites. Force
   the tighter rhythm via family override. */
.tpl-clean-business .couture-section,
.tpl-modern-saas .couture-section,
.tpl-retail-flat .couture-section {
  padding-block: clamp(64px, 9vw, 128px);
}
/* Tighter rhythm on hero → first-section transition */
.tpl-clean-business .couture-hero + .couture-section,
.tpl-modern-saas .couture-hero + .couture-section,
.tpl-retail-flat .couture-hero + .couture-section {
  padding-top: clamp(48px, 7vw, 96px);
}

/* V6.169 — polished focus-visible for clean families. Default browser
   focus ring is dotted blue OR outline:auto; both look unprofessional
   on a Stripe/Vercel-tier site. Apply a 2px accent-color outline with
   2px offset across all interactive elements when keyboard-focused.
   Skips mouse-focus (uses :focus-visible to keep mouse interactions
   clean). Critical for accessibility (WCAG 2.4.7) AND looks polished. */
.tpl-clean-business *:focus-visible,
.tpl-modern-saas *:focus-visible,
.tpl-retail-flat *:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
  border-radius: 4px;
}
/* Scope to interactive elements specifically so we don't outline
   text spans that accidentally received focus */
.tpl-clean-business a:focus-visible,
.tpl-clean-business button:focus-visible,
.tpl-clean-business input:focus-visible,
.tpl-clean-business textarea:focus-visible,
.tpl-clean-business select:focus-visible,
.tpl-modern-saas a:focus-visible,
.tpl-modern-saas button:focus-visible,
.tpl-modern-saas input:focus-visible,
.tpl-modern-saas textarea:focus-visible,
.tpl-modern-saas select:focus-visible,
.tpl-retail-flat a:focus-visible,
.tpl-retail-flat button:focus-visible,
.tpl-retail-flat input:focus-visible,
.tpl-retail-flat textarea:focus-visible,
.tpl-retail-flat select:focus-visible {
  outline-offset: 3px;
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 22%, transparent);
}

/* V6.166 — clean families enforce minimum 500 font-weight on hero +
   section h1/h2 displays. Some Tier 2/3 sub-variants (shopify-prestige
   uses 300, shopify-midnight uses 200) inherit thin display weights
   that read as fashion-editorial when paired with a generic-shopify
   archetype. Force ≥500 so the hero text always feels confident /
   trustworthy / business-grade. AI hero CSS scoped under .ai-hero-*
   keeps its own weight (already V6.84-validated). */
.tpl-clean-business .couture-hero h1:not([class*="ai-hero"]),
.tpl-modern-saas .couture-hero h1:not([class*="ai-hero"]),
.tpl-retail-flat .couture-hero h1:not([class*="ai-hero"]),
.tpl-clean-business .couture-page-head h1,
.tpl-modern-saas .couture-page-head h1,
.tpl-retail-flat .couture-page-head h1,
.tpl-clean-business .couture-shop-head h1,
.tpl-modern-saas .couture-shop-head h1,
.tpl-retail-flat .couture-shop-head h1 {
  font-weight: max(500, var(--c-h1-weight, 700)) !important;
}
.tpl-clean-business .couture-section-head h2,
.tpl-modern-saas .couture-section-head h2,
.tpl-retail-flat .couture-section-head h2 {
  font-weight: max(500, var(--c-h2-weight, 600)) !important;
}

/* V6.163 — clean families NEVER render hero CTAs as plain text/
   underline links. Even if a per-domain BUTTON_DETAIL hash picks
   underline-only or compact-bracket, force-override hero CTAs to
   solid filled buttons (Stripe/Shopify-Dawn standard). Hero is the
   FIRST CTA visitors see — must be unambiguously a button. */
.tpl-clean-business .couture-hero .cta,
.tpl-clean-business .couture-hero .cta-btn,
.tpl-clean-business .couture-hero a[class*="cta"],
.tpl-modern-saas .couture-hero .cta,
.tpl-modern-saas .couture-hero .cta-btn,
.tpl-modern-saas .couture-hero a[class*="cta"],
.tpl-retail-flat .couture-hero .cta,
.tpl-retail-flat .couture-hero .cta-btn,
.tpl-retail-flat .couture-hero a[class*="cta"] {
  display: inline-block !important;
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  text-decoration: none !important;
  border: none !important;
  padding: 14px 32px !important;
  border-radius: var(--c-card-radius, 6px) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.tpl-clean-business .couture-hero .cta::before,
.tpl-clean-business .couture-hero .cta::after,
.tpl-clean-business .couture-hero .cta-btn::before,
.tpl-clean-business .couture-hero .cta-btn::after,
.tpl-modern-saas .couture-hero .cta::before,
.tpl-modern-saas .couture-hero .cta::after,
.tpl-modern-saas .couture-hero .cta-btn::before,
.tpl-modern-saas .couture-hero .cta-btn::after,
.tpl-retail-flat .couture-hero .cta::before,
.tpl-retail-flat .couture-hero .cta::after,
.tpl-retail-flat .couture-hero .cta-btn::before,
.tpl-retail-flat .couture-hero .cta-btn::after {
  content: none !important;
}
.tpl-clean-business .couture-hero .cta:hover,
.tpl-clean-business .couture-hero .cta-btn:hover,
.tpl-modern-saas .couture-hero .cta:hover,
.tpl-modern-saas .couture-hero .cta-btn:hover,
.tpl-retail-flat .couture-hero .cta:hover,
.tpl-retail-flat .couture-hero .cta-btn:hover {
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
  transition: background .2s ease;
}

/* V6.157 — typographic-billboard polish for clean families: less
   "manifesto" feel, more "hero statement" feel. */
.tpl-clean-business .couture-hero--billboard .billboard-h1,
.tpl-modern-saas .couture-hero--billboard .billboard-h1,
.tpl-retail-flat .couture-hero--billboard .billboard-h1 {
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
  font-size: clamp(48px, 9vw, 140px) !important;
}
.tpl-clean-business .couture-hero--billboard .billboard-cta,
.tpl-modern-saas .couture-hero--billboard .billboard-cta,
.tpl-retail-flat .couture-hero--billboard .billboard-cta {
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  border-radius: var(--c-card-radius, 6px) !important;
  text-transform: none !important;
  letter-spacing: 0;
}
/* V6.157 — hide the "zen" billboard bg pattern for clean families
   (the gradient-text effect feels editorial/avant-garde, not
   trustworthy-business). Force solid title color. */
.tpl-clean-business .couture-hero--billboard-zen .billboard-h1,
.tpl-modern-saas .couture-hero--billboard-zen .billboard-h1,
.tpl-retail-flat .couture-hero--billboard-zen .billboard-h1 {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: var(--c-ink) !important;
  color: var(--c-ink) !important;
}
/* V6.157 — billboard "soft" bg variant gets an extra subtle gradient
   wash on hover to add some life on hover for clean families. */

/* --- story: magazine ----------------------------------------- */
.couture-story-magazine .mag-grid { display:grid; grid-template-columns: 1.35fr 1fr .8fr; gap: clamp(28px, 4vw, 80px); align-items:start; padding: var(--c-rhythm) 0 0; border-top: 2px solid var(--c-ink); }
.couture-story-magazine .mag-body p { font-size: 17px; line-height: 1.65; margin: 0 0 1.25em; }
.couture-story-magazine .mag-body p.dropcap { font-size: 18px; line-height: 1.6; }
.couture-story-magazine .mag-body p.dropcap::first-letter { font-family: var(--c-display); font-weight: 400; font-size: 5.4em; line-height: .85; float: left; margin: 8px 14px 0 -4px; color: var(--c-accent-2); }
.couture-story-magazine .mag-pull blockquote { margin: 0; font-family: var(--c-display); font-style: italic; font-weight: 300; font-size: clamp(22px, 2.6vw, 36px); line-height: 1.2; color: var(--c-ink); border-left: 3px solid var(--c-accent); padding: 6px 0 6px 22px; }
.couture-story-magazine .mag-pull cite { display: block; margin-top: 20px; font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.couture-story-magazine .mag-credits { border-top: 1px solid var(--c-line); padding-top: 14px; }
.couture-story-magazine .mag-credits .num { font-family: var(--c-mono); font-size: 11px; letter-spacing:.12em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 18px; }
.couture-story-magazine .mag-credits > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 10px 0; border-bottom: 1px dashed var(--c-line); }
.couture-story-magazine .mag-credits > div span:last-child { color: var(--c-ink); text-transform: none; letter-spacing: 0; }
/* V6.386 — operator iter 37 audit (rythmino): mag-credits renders <dt>/<dd>
   (V5.44+ rendering path) but the uppercase reset only targeted span:last-child.
   Result: "Team Small, stubborn" rendered as "TEAM SMALL, STUBBORN" with no
   visual separator, reading as broken title-case grammar. Apply reset to dd
   AND inject a visible ":" after dt so label/value boundary is clear. */
.couture-story-magazine .mag-credits dl > div { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px dashed var(--c-line); }
.couture-story-magazine .mag-credits dl > div dt { font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); margin: 0; }
.couture-story-magazine .mag-credits dl > div dt::after { content: ":"; opacity: .55; margin-left: 2px; }
.couture-story-magazine .mag-credits dl > div dd { font-family: var(--c-body); font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--c-ink); margin: 0; line-height: 1.45; }

/* V6.275 — operator R27 night autopilot Round 43: 2 NEW story_magazine sub-variants */

/* sub-1 — single-column-spread: longread feel, body wide-centered, pullquote inset, credits at bottom */
.couture-story-magazine--v1 .mag-spread { max-width: 720px; margin: 0 auto; padding: 0 var(--c-gutter, 32px); position: relative; }
.couture-story-magazine--v1 .mag-spread-num { font-family: var(--c-mono); font-weight: 700; font-size: 12px; letter-spacing: .25em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 18px; padding-bottom: 8px; border-bottom: 1px solid var(--c-line); }
.couture-story-magazine--v1 .mag-spread-body p { font-family: var(--c-body); font-size: 17px; line-height: 1.7; color: var(--c-ink); margin: 0 0 1.25em; }
.couture-story-magazine--v1 .mag-spread-body p.dropcap::first-letter { font-family: var(--c-display); font-weight: 700; font-size: 5em; line-height: .85; float: left; margin: 8px 14px 0 -4px; color: var(--c-accent); }
.couture-story-magazine--v1 .mag-spread-pull { margin: 32px -32px; padding: 28px 32px; background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)); border-left: 4px solid var(--c-accent); border-right: 0; }
.couture-story-magazine--v1 .mag-spread-pull p { font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: clamp(20px, 2.3vw, 26px); line-height: 1.3; margin: 0 0 12px; color: var(--c-ink); }
.couture-story-magazine--v1 .mag-spread-pull cite { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-story-magazine--v1 .mag-spread-credits { margin: 36px 0 0; padding: 24px 0 0; border-top: 1px solid var(--c-line); display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 18px; }
.couture-story-magazine--v1 .mag-spread-credits div { display: flex; flex-direction: column; gap: 4px; }
.couture-story-magazine--v1 .mag-spread-credits dt { font-family: var(--c-mono); font-weight: 700; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-story-magazine--v1 .mag-spread-credits dd { font-family: var(--c-body); font-size: 14px; color: var(--c-ink); margin: 0; }

/* sub-2 — bordered-feature: card with thick rule borders + credits row above */
.couture-story-magazine--v2 .mag-bordered { max-width: 880px; margin: 0 auto; padding: 0 var(--c-gutter, 32px); }
.couture-story-magazine--v2 .mag-bordered-credits { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; padding: 20px 0; border-top: 4px double var(--c-ink); border-bottom: 1px solid var(--c-ink); margin-bottom: 36px; }
.couture-story-magazine--v2 .mag-bordered-credits div { display: flex; flex-direction: column; gap: 4px; }
.couture-story-magazine--v2 .mag-bordered-credits .bc-k { font-family: var(--c-mono); font-weight: 700; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-story-magazine--v2 .mag-bordered-credits .bc-v { font-family: var(--c-display); font-weight: 600; font-size: 16px; color: var(--c-ink); }
.couture-story-magazine--v2 .mag-bordered-body { padding: clamp(32px, 5vw, 56px); background: var(--c-paper); border-top: 4px double var(--c-accent); border-bottom: 4px double var(--c-accent); border-left: 1px solid var(--c-line); border-right: 1px solid var(--c-line); }
.couture-story-magazine--v2 .mag-bordered-body p { font-family: var(--c-body); font-size: 17px; line-height: 1.7; color: var(--c-ink); margin: 0 0 1.25em; }
.couture-story-magazine--v2 .mag-bordered-body p.dropcap::first-letter { font-family: var(--c-display); font-weight: 700; font-size: 5em; line-height: .85; float: left; margin: 8px 14px 0 -4px; color: var(--c-accent); }
.couture-story-magazine--v2 .mag-bordered-pull { margin-top: 28px; padding: 24px 28px; background: var(--c-ink); color: var(--c-paper); }
.couture-story-magazine--v2 .mag-bordered-pull blockquote { margin: 0 0 12px; font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: clamp(20px, 2.4vw, 28px); line-height: 1.3; color: var(--c-paper); border: 0; padding: 0; }
.couture-story-magazine--v2 .mag-bordered-pull cite { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-paper); opacity: .85; }

/* --- story: interview ---------------------------------------- */
.couture-story-interview .qa { margin: 0; padding: 0; display: flex; flex-direction: column; gap: clamp(28px, 3vw, 48px); max-width: 80ch; }
.couture-story-interview .qa > div { padding-bottom: 32px; border-bottom: 1px solid var(--c-line); }
.couture-story-interview .qa dt { font-family: var(--c-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 16px; position: relative; padding-left: 34px; }
.couture-story-interview .qa dt::before { content: "Q"; position: absolute; left: 0; top: -2px; width: 22px; height: 22px; display: grid; place-items: center; background: var(--c-accent); color: var(--c-paper); font-size: 11px; border-radius: 50%; }
.couture-story-interview .qa dd { margin: 0; font-family: var(--c-display); font-size: clamp(22px, 2.4vw, 32px); line-height: 1.35; font-style: italic; font-weight: 300; padding-left: 34px; position: relative; }
.couture-story-interview .qa dd::before { content: "A"; position: absolute; left: 0; top: .3em; font-family: var(--c-mono); font-style: normal; font-size: 12px; letter-spacing: .1em; color: var(--c-ink-soft); }

/* --- story: timeline ----------------------------------------- */
/* V4.66 — story-timeline redesign (operator R12 about-page polish).
   Was a 4-col horizontal list with tiny year labels + dashed dividers.
   Now: card-style milestones with prominent year (display font, big),
   bold title, descriptive text. Each card has subtle bg + accent-bar
   on top so it scans as a real milestone block. Connector line still
   ties them together visually but cards are the focal point. */
.couture-story-timeline .timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  position: relative;
}
.couture-story-timeline .timeline::before {
  display: none; /* connector line removed — cards stand on their own */
}
.couture-story-timeline .timeline li {
  position: relative;
  padding: 32px 24px 28px;
  background: var(--c-paper-2, color-mix(in oklab, var(--c-ink) 3%, var(--c-paper)));
  border-radius: var(--c-card-radius, 6px);
  border: 1px solid var(--c-line);
  transition: transform .25s var(--c-premium-ease, cubic-bezier(.2,.8,.2,1)), border-color .25s;
}
.couture-story-timeline .timeline li:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--c-accent) 35%, var(--c-line));
}
.couture-story-timeline .timeline li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 3px;
  background: var(--c-accent);
  border-radius: 0;
  border: none;
  transform: none;
  width: auto;
}
.couture-story-timeline .timeline li:last-child {
  border-right: 1px solid var(--c-line);
}
.couture-story-timeline .timeline time {
  font-family: var(--c-display);
  font-size: clamp(28px, 2.5vw, 36px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--c-ink);
  display: block;
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.couture-story-timeline .timeline strong {
  display: block;
  font-family: var(--c-body);
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 10px;
  color: var(--c-ink);
}
.couture-story-timeline .timeline p {
  font-size: 13px;
  color: var(--c-ink-soft, var(--c-ink));
  line-height: 1.55;
  margin: 0;
}

/* --- products: lookbook -------------------------------------- */
.couture-lookbook .lookbook-stack { display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(20px, 2.4vw, 40px); align-items: start; }
.couture-lookbook .lb { position: relative; margin: 0; overflow: hidden; background: var(--c-paper-2); }
.couture-lookbook .lb-big   { grid-column: span 4; aspect-ratio: 4/5; }
.couture-lookbook .lb-small { grid-column: span 2; aspect-ratio: 3/4; margin-top: 64px; }
.couture-lookbook .lb:nth-child(3) { transform: translateY(-36px); }
.couture-lookbook .lb:nth-child(5) { transform: translateY(24px); }
.couture-lookbook .lb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s cubic-bezier(.2,.8,.2,1);  }
.couture-lookbook .lb:hover img { transform: scale(1.04); }
.couture-lookbook .lb figcaption { position: absolute; left: 18px; bottom: 18px; right: 18px; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-paper); text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.couture-lookbook .lb-name { font-family: var(--c-display); font-style: italic; font-size: 18px; letter-spacing: 0; text-transform: none; }
.couture-lookbook .lb-price { font-weight: 500; }

/* V6.276 — operator R27 night autopilot Round 44: 2 NEW products_lookbook sub-variants */

/* sub-1 — contact-sheet: uniform 3x2 grid with film-strip captions */
.couture-lookbook--v1 .lookbook-sheet { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.couture-lookbook--v1 .ls-cell { position: relative; margin: 0; aspect-ratio: 1/1; overflow: hidden; background: var(--c-paper-2); }
.couture-lookbook--v1 .ls-cell img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s;  }
.couture-lookbook--v1 .ls-cell:hover img { transform: scale(1.05); }
/* V6.362 — operator iter 2: polaroid caption was 10px mono — barely
   readable on photo backgrounds. Bumped frame label 10→11, name 14→16,
   price 10→13. Also strengthened gradient floor for contrast. */
.couture-lookbook--v1 .ls-cell figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 14px; background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.6) 50%, transparent 100%); color: #fff; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: baseline; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.couture-lookbook--v1 .ls-frame { color: var(--c-accent); font-weight: 700; }
.couture-lookbook--v1 .ls-name { font-family: var(--c-display); font-style: italic; font-size: 16px; text-transform: none; letter-spacing: 0; }
.couture-lookbook--v1 .ls-price { font-size: 13px; font-weight: 500; }
@media (max-width: 720px) { .couture-lookbook--v1 .lookbook-sheet { grid-template-columns: repeat(2, 1fr); } }

/* sub-2 — gallery-asymmetric: broken-grid with offset images, museum spread */
.couture-lookbook--v2 .lookbook-asym { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(16px, 2vw, 28px); align-items: start; }
.couture-lookbook--v2 .la { position: relative; margin: 0; overflow: hidden; background: var(--c-paper-2); }
.couture-lookbook--v2 .la-tall  { grid-column: span 5; aspect-ratio: 3/4; }
.couture-lookbook--v2 .la-wide  { grid-column: span 7; aspect-ratio: 16/10; margin-top: 80px; }
.couture-lookbook--v2 .la-mid   { grid-column: span 6; aspect-ratio: 4/5; margin-top: 32px; }
.couture-lookbook--v2 .la-small { grid-column: span 4; aspect-ratio: 1/1; margin-top: 64px; }
.couture-lookbook--v2 .la img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s;  }
.couture-lookbook--v2 .la:hover img { transform: scale(1.04); }
.couture-lookbook--v2 .la figcaption { padding: 12px 4px 0; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-family: var(--c-display); font-style: italic; font-size: 16px; color: var(--c-ink); position: absolute; bottom: -36px; left: 0; right: 0; }
.couture-lookbook--v2 .la-name { letter-spacing: -.012em; }
.couture-lookbook--v2 .la-price { font-family: var(--c-mono); font-style: normal; font-size: 13px; color: var(--c-accent); letter-spacing: .04em; }
@media (max-width: 720px) { .couture-lookbook--v2 .lookbook-asym { grid-template-columns: 1fr; } .couture-lookbook--v2 .la, .couture-lookbook--v2 .la-tall, .couture-lookbook--v2 .la-wide, .couture-lookbook--v2 .la-mid, .couture-lookbook--v2 .la-small { grid-column: 1; margin-top: 0; aspect-ratio: 4/5; } .couture-lookbook--v2 .la figcaption { position: static; padding: 12px 4px; } }

/* --- products: index table ----------------------------------- */
.couture-index .couture-index-table { width: 100%; border-collapse: collapse; font-family: var(--c-mono); font-size: 13px; }
.couture-index .couture-index-table th { text-align: left; padding: 18px 14px; border-bottom: 2px solid var(--c-ink); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); font-weight: 600; }
.couture-index .couture-index-table td { padding: 22px 14px; border-bottom: 1px solid var(--c-line); vertical-align: top; line-height: 1.5; }
.couture-index .couture-index-table td:first-child { color: var(--c-muted); width: 64px; }
.couture-index .couture-index-table td strong { font-family: var(--c-display); font-weight: 400; font-style: italic; font-size: 20px; letter-spacing: 0; display: block; margin-bottom: 4px; text-transform: none; }
.couture-index .couture-index-table tr:hover { background: var(--c-paper-2); }

/* V6.277 — operator R27 night autopilot Round 45: 2 NEW products_index sub-variants */

/* sub-1 — ledger-rows: alternating accent-tinted rows + chunky mono price column */
.couture-index--v1 .pi-ledger-wrap { padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; overflow-x: auto; }
.couture-index--v1 .couture-index-table--ledger { width: 100%; border-collapse: collapse; font-family: var(--c-body); font-size: 14px; }
.couture-index--v1 .couture-index-table--ledger thead { border-bottom: 2px solid var(--c-ink); background: var(--c-paper); }
.couture-index--v1 .couture-index-table--ledger th { text-align: left; padding: 14px 18px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); font-weight: 700; }
.couture-index--v1 .couture-index-table--ledger td { padding: 18px; vertical-align: top; }
.couture-index--v1 .couture-index-table--ledger tbody tr { border-bottom: 1px solid var(--c-line); transition: background .12s; }
.couture-index--v1 .couture-index-table--ledger tbody tr:nth-child(odd) { background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); }
.couture-index--v1 .couture-index-table--ledger tbody tr:hover { background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)); }
.couture-index--v1 .pi-num { font-family: var(--c-mono); font-weight: 700; color: var(--c-accent); font-variant-numeric: tabular-nums; width: 60px; }
.couture-index--v1 .couture-index-table--ledger td strong { font-family: var(--c-display); font-weight: 600; font-size: 17px; color: var(--c-ink); display: block; }
.couture-index--v1 .pi-price-col { text-align: right; }
.couture-index--v1 .pi-price-mono { font-family: var(--c-mono); font-weight: 800; font-size: 15px; color: var(--c-accent); font-variant-numeric: tabular-nums; }

/* sub-2 — card-rows: horizontal flex cards with monogram (no images, ledger-with-cards) */
.couture-index--v2 .pi-cards { display: flex; flex-direction: column; gap: 12px; padding: 0 var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; }
.couture-index--v2 .pi-card { display: grid; grid-template-columns: 64px 1fr auto; gap: 20px; align-items: center; padding: 18px 20px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; transition: transform .15s, border-color .15s; }
.couture-index--v2 .pi-card:hover { transform: translateY(-1px); border-color: var(--c-accent); }
.couture-index--v2 .pi-card-monogram { width: 48px; height: 48px; display: grid; place-items: center; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-accent); font-family: var(--c-mono); font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums; border-radius: 4px; }
.couture-index--v2 .pi-card-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.couture-index--v2 .pi-card-name { font-family: var(--c-display); font-weight: 600; font-size: 17px; color: var(--c-ink); line-height: 1.25; }
.couture-index--v2 .pi-card-detail { font-family: var(--c-body); font-size: 13px; color: var(--c-ink-soft, var(--c-muted)); line-height: 1.4; }
.couture-index--v2 .pi-card-price { font-family: var(--c-mono); font-weight: 700; font-size: 15px; color: var(--c-accent); font-variant-numeric: tabular-nums; }

/* --- products: carousel shelf -------------------------------- */
/* V4.57 — operator R12: /new page renders the shelf as a horizontal
   carousel, but with no visible scroll arrows / dots / gradient hint
   only ~2 cards fit visibly and users (incl. operator) think the page
   is broken. Switch the shelf-rail from horizontal scroll to a real
   responsive grid so EVERY product card is visible. Keeps the snap-
   point fall-back for legacy carousels but the default is a 4-col
   grid (3 col tablet, 2 col mobile) so a "new in" page actually
   shows the new items. */
.couture-shelf .shelf-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  padding: 0 0 32px;
}
@media (max-width: 1100px) { .couture-shelf .shelf-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px)  { .couture-shelf .shelf-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px)  { .couture-shelf .shelf-rail { grid-template-columns: 1fr; } }

/* V6.278 — operator R27 night autopilot Round 46: 2 NEW products_carousel sub-variants */

/* sub-1 — featured-spotlight: 1 mega card on left + 4 small cards in 2x2 right */
.couture-shelf--v1 .shelf-spotlight { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(20px, 2.4vw, 32px); padding: 0; }
.couture-shelf--v1 .shelf-spot-main { background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.couture-shelf--v1 .shelf-spot-main a { display: block; }
.couture-shelf--v1 .shelf-spot-main img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; transition: transform .8s;  }
.couture-shelf--v1 .shelf-spot-main:hover img { transform: scale(1.04); }
.couture-shelf--v1 .shelf-spot-meta { padding: 24px 28px; display: flex; flex-direction: column; gap: 10px; }
.couture-shelf--v1 .shelf-spot-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-accent); font-weight: 700; }
.couture-shelf--v1 .shelf-spot-meta h3 { font-family: var(--c-display); font-weight: 700; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.2; color: var(--c-ink); margin: 0; letter-spacing: -.018em; }
.couture-shelf--v1 .shelf-spot-meta p { font-family: var(--c-body); font-size: 15px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
.couture-shelf--v1 .shelf-spot-price { font-family: var(--c-mono); font-weight: 800; font-size: 20px; color: var(--c-accent); font-variant-numeric: tabular-nums; margin-top: 6px; }
.couture-shelf--v1 .shelf-spot-rest { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.couture-shelf--v1 .shelf-spot-card { background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
.couture-shelf--v1 .shelf-spot-card a { display: block; }
.couture-shelf--v1 .shelf-spot-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; transition: transform .6s;  }
.couture-shelf--v1 .shelf-spot-card:hover img { transform: scale(1.04); }
.couture-shelf--v1 .shelf-spot-card-meta { padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.couture-shelf--v1 .shelf-spot-card-meta h4 { font-family: var(--c-display); font-weight: 600; font-size: 14px; color: var(--c-ink); margin: 0; line-height: 1.2; }
.couture-shelf--v1 .shelf-spot-card-meta span { font-family: var(--c-mono); font-weight: 700; font-size: 12px; color: var(--c-accent); }
@media (max-width: 800px) { .couture-shelf--v1 .shelf-spotlight { grid-template-columns: 1fr; } }

/* sub-2 — mosaic-tiles: 6-tile mosaic with alternating sizes */
.couture-shelf--v2 .shelf-mosaic { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.couture-shelf--v2 .shelf-mosaic-tile { position: relative; overflow: hidden; background: var(--c-paper-2); border-radius: 8px; }
.couture-shelf--v2 .shelf-mosaic-tile a { display: block; }
.couture-shelf--v2 .shelf-mosaic-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s;  }
.couture-shelf--v2 .shelf-mosaic-tile:hover img { transform: scale(1.05); }
.couture-shelf--v2 .shm-wide { grid-column: span 4; aspect-ratio: 16/10; }
.couture-shelf--v2 .shm-tall { grid-column: span 2; aspect-ratio: 3/4; }
.couture-shelf--v2 .shm-mid  { grid-column: span 3; aspect-ratio: 4/3; }
.couture-shelf--v2 .shelf-mosaic-meta { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 16px; background: linear-gradient(to top, rgba(0,0,0,.7), transparent); color: #fff; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.couture-shelf--v2 .shelf-mosaic-meta h3 { font-family: var(--c-display); font-weight: 600; font-size: 15px; margin: 0; color: #fff; }
.couture-shelf--v2 .shelf-mosaic-meta span { font-family: var(--c-mono); font-weight: 700; font-size: 13px; color: #fff; }
@media (max-width: 720px) { .couture-shelf--v2 .shelf-mosaic { grid-template-columns: 1fr 1fr; } .couture-shelf--v2 .shm-wide, .couture-shelf--v2 .shm-tall, .couture-shelf--v2 .shm-mid { grid-column: span 2; aspect-ratio: 4/5; } }
/* V4.59 — premium card design (operator R12: "still feels freestyle"
   not fancy business). Cleaner cards, larger imagery, minimal text,
   prominent price. Title clamps to 2 lines max so the grid stays
   visually consistent. Description hidden on shelf cards (lives on
   product detail page); only short subtitle shown if present. */
.couture-shelf .shelf-card {
  scroll-snap-align: start;
  background: transparent;
  border: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.couture-shelf .shelf-card:hover { transform: translateY(-4px); }
/* V4.66 — operator R12 night auto-pilot Round 9: shelf-card titles
   were rendering in accent color (red) on /new page because the
   V4.48 micro-axes accent-intensity rule sets all <a> to accent
   color, and the title is wrapped in <a>. Force ink color on shelf
   cards' anchored title text so cards read as clean Shopify cards. */
.couture-shelf .shelf-card a { text-decoration: none; color: inherit; }
.couture-shelf .shelf-card a,
.couture-shelf .shelf-card a:link,
.couture-shelf .shelf-card a:visited,
.couture-shelf .shelf-meta h3 a,
.couture-shelf .shelf-meta h3 a:link,
.couture-shelf .shelf-meta h3 a:visited {
  color: var(--c-ink) !important;
  text-decoration: none !important;
}
.couture-shelf .shelf-card a:hover,
.couture-shelf .shelf-meta h3 a:hover {
  color: var(--c-accent) !important;
}
.couture-shelf .shelf-card img {
  aspect-ratio: 4/5;
  width: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--c-card-radius, 4px);
  margin-bottom: 18px;
  transition: filter .35s;
  
}
.couture-shelf .shelf-card:hover img { filter: brightness(.96); }
.couture-shelf .shelf-meta {
  padding: 0 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.couture-shelf .shelf-meta h3 {
  font-family: var(--c-body);
  font-style: normal;
  font-weight: 500;
  font-size: 17px;
  line-height: 1.35;
  margin: 0;
  letter-spacing: -0.005em;
  /* Clamp title to 2 lines so grid stays visually uniform */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 46px;
}
.couture-shelf .shelf-origin {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin: 0;
}
/* Hide description blob on shelf cards — too much text, breaks visual
   uniformity. Description belongs on the product detail page. */
.couture-shelf .shelf-notes { display: none; }
.couture-shelf .shelf-price {
  margin-top: 4px;
  font-family: var(--c-body);
  font-weight: 600;
  font-size: 16px;
  color: var(--c-ink);
}
/* On-sale price treatment (was: display: flex with strikethrough) */
.couture-shelf .shelf-price.price--on-sale,
.couture-shelf .shelf-price--sale {
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.couture-shelf .shelf-price--was {
  text-decoration: line-through;
  color: var(--c-muted);
  font-weight: 400;
  font-size: 14px;
}
.couture-shelf .shelf-price--now {
  color: var(--c-accent, #c0392b);
  font-weight: 600;
}
/* Sale/new ribbon over the image */
.couture-shelf .shelf-card .shelf-ribbon {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--c-accent, #c0392b);
  color: var(--c-paper);
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 5px 10px;
  z-index: 2;
}
.couture-shelf .shelf-card { position: relative; }

/* --- process: diagram (radial) ------------------------------- */
.couture-process-diagram .diagram-ring { position: relative; max-width: 760px; margin: 0 auto; aspect-ratio: 1/1; display: grid; place-items: center; }
.couture-process-diagram .ring-hub { position: absolute; inset: 0; display: grid; place-items: center; }
.couture-process-diagram .ring-hub span { display: grid; place-items: center; width: 36%; aspect-ratio: 1; border-radius: 50%; background: var(--c-ink); color: var(--c-paper); font-family: var(--c-display); font-style: italic; text-align: center; padding: 18px; font-size: clamp(16px, 1.6vw, 24px); line-height: 1.2; }
.couture-process-diagram .diagram-ring::before { content: ""; position: absolute; inset: 12%; border: 1px dashed var(--c-line); border-radius: 50%; }
.couture-process-diagram .ring-node { position: absolute; width: 30%; text-align: center; background: var(--c-paper); padding: 14px; border-radius: var(--c-card-radius); box-shadow: var(--c-card-shadow); }
.couture-process-diagram .ring-node[data-i="1"] { top: 0; left: 50%; transform: translateX(-50%); }
.couture-process-diagram .ring-node[data-i="2"] { top: 28%; right: 0; }
.couture-process-diagram .ring-node[data-i="3"] { bottom: 28%; right: 0; }
.couture-process-diagram .ring-node[data-i="4"] { bottom: 0; left: 50%; transform: translateX(-50%); }
.couture-process-diagram .ring-node[data-i="5"] { bottom: 28%; left: 0; }
.couture-process-diagram .ring-node[data-i="6"] { top: 28%; left: 0; }
.couture-process-diagram .ring-no { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; color: var(--c-accent); }
.couture-process-diagram .ring-node h3 { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: 18px; margin: 6px 0 4px; }
.couture-process-diagram .ring-node p { font-size: 12px; line-height: 1.5; color: var(--c-ink-soft); margin: 0; }

/* --- process: checklist -------------------------------------- */
/* V4.7 — kinetic hero h1 sizing. The previous inline clamp of
   clamp(80px, 22vw, 360px) produced absurd 80px+ type on iPhone SE
   (320px wide → 22vw = 70.4px on the vw term, but 80px floor wins —
   then on a 360px screen 22vw = 79.2px which feels like a billboard).
   Now: tighter floor on small screens via media query. */
.couture-hero--kinetic-h1 { font-size: clamp(56px, 22vw, 360px); }
@media (max-width: 480px) {
  .couture-hero--kinetic-h1 { font-size: clamp(48px, 16vw, 96px); line-height: .95; }
  .couture-hero--kinetic .kinetic-subline { font-size: clamp(16px, 4.5vw, 22px) !important; }
}

/* === V5.6 — small-mobile (<=480px) global responsive cleanup. Operator
   audit 2026-05-05: "mobile view is pretty bugged at low resolution".
   Pre-V5.6 only 2 of the 65 @media rules covered <=480px. Adding global
   tightening for: section padding, wrap padding-inline, hero font sizes,
   nav stack, product grid, footer columns, image sizing. Scoped to the
   smallest devices only — desktop/tablet untouched. */
@media (max-width: 480px) {
  /* tighter section padding (cathedral spacing was burning 280px top+bottom) */
  .couture-section { padding-block: clamp(32px, 8vw, 56px) !important; }
  /* edge-to-edge content with consistent 16px gutter on phones */
  .couture-section .wrap, .couture-page > * { padding-inline: 16px !important; }
  /* hero h1 — global cap so no hero blasts past viewport */
  .couture-hero h1, .couture-page-head h1, .hero-biz-headline,
  .couture-section-head h2 { font-size: clamp(28px, 7vw, 40px) !important; line-height: 1.1 !important; }
  .couture-hero p, .hero-biz-sub { font-size: 15px !important; line-height: 1.45 !important; }
  /* nav: ensure top-bar doesn't overflow horizontally */
  .couture-nav { padding: 12px 16px !important; gap: 12px !important; flex-wrap: wrap !important; }
  .couture-nav .nav-link { font-size: 14px !important; }
  /* hide secondary nav columns on small screens to prevent crowding */
  .couture-nav .nav-extras, .couture-nav .nav-meta { display: none !important; }
  /* product grid: ALL families single-column at <=480 */
  .couture-products .grid, .product-grid, .lookbook-grid,
  .couture-shelf .shelf-rail, .couture-issues-grid,
  .couture-products-carousel .shelf { grid-template-columns: 1fr !important; gap: 18px !important; }
  /* footer columns stack */
  .couture-footer .footer-grid, .couture-footer .footer-cols { grid-template-columns: 1fr !important; gap: 24px !important; }
  /* CTA buttons full-width on phones for thumb-friendly tap */
  .cta, .cta-btn, button[type=submit], .wp-block-button__link {
    display: block !important; width: 100% !important; text-align: center !important;
  }
  .hero-biz-ctas { flex-direction: column !important; gap: 12px !important; }
  /* prevent any element from overflowing the viewport horizontally */
  body, html { overflow-x: hidden !important; }
  /* V6.363 — operator iter 12 mobile audit (handivor.com): brand logo
     PNG was 1024px native, inline style had max-width:280px, but this
     global `img { max-width: 100% !important }` overrode it because
     !important > inline. Logo rendered at 811px on a 390px viewport.
     Exclude `.brand-logo` so its inline max-width can win. */
  img:not(.brand-logo), figure { max-width: 100% !important; height: auto !important; }
  img.brand-logo { max-width: 100% !important; height: auto !important; }
  /* Belt-and-braces: cap brand-logo width on mobile to keep nav clean */
  header .brand img.brand-logo { max-width: 200px !important; }
  footer .brand img.brand-logo { max-width: 160px !important; }
  /* hero image stacks BELOW text on phones (was side-by-side on grid layouts) */
  .hero-biz-grid, .couture-hero--diorama .diorama-grid,
  .couture-hero--portrait .portrait-grid { grid-template-columns: 1fr !important; }
  /* tap targets: 44px minimum for accessibility */
  .nav-link, .footer-link, .menu-item a { min-height: 44px; display: inline-flex; align-items: center; }
}

/* === V4.18.9 — 6 NEW HERO STYLES (operator-flagged: every site looks
   the same because DNA declared 10 hero_styles but the renderer only
   handled 4 — the others all silently fell through to the default
   oversized-type. Now each style ships a distinct visual treatment.) */

/* 1. product-diorama — vitrine display, split text-left / framed-image-right */
.couture-hero--diorama { padding: clamp(48px, 8vw, 120px) var(--c-gutter) clamp(64px, 8vw, 96px); }
.couture-hero--diorama .diorama-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: center; max-width: 1320px; margin: 0 auto; }
.couture-hero--diorama .diorama-text h1 { font-family: var(--c-display); font-size: clamp(40px, 6vw, 96px); line-height: 1; letter-spacing: -0.02em; margin: 16px 0 24px; font-weight: 300; }
.couture-hero--diorama .diorama-sub { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.5; max-width: 48ch; opacity: .85; }
.couture-hero--diorama .diorama-meta { display: flex; flex-direction: column; gap: 12px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--c-line); font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.couture-hero--diorama .diorama-meta > div { display: flex; gap: 16px; align-items: baseline; }
.couture-hero--diorama .diorama-meta dt { opacity: .55; min-width: 80px; margin: 0; }
.couture-hero--diorama .diorama-meta dd { margin: 0; opacity: .95; }
.couture-hero--diorama .diorama-frame { background: var(--c-paper-2, var(--c-paper)); padding: clamp(20px, 3vw, 48px); box-shadow: 0 24px 64px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06); border: 1px solid rgba(0,0,0,.06); }
.couture-hero--diorama .diorama-frame img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; display: block; }
@media (max-width: 768px) { .couture-hero--diorama .diorama-grid { grid-template-columns: 1fr; } }

/* 2. portrait-frame — editorial profile, portrait image left, italic headline right */
.couture-hero--portrait { padding: clamp(48px, 8vw, 120px) var(--c-gutter); }
.couture-hero--portrait .portrait-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(40px, 6vw, 96px); align-items: stretch; max-width: 1280px; margin: 0 auto; }
.couture-hero--portrait .portrait-frame { margin: 0; padding: 14px; background: var(--c-paper); border: 1px solid var(--c-line); position: relative; box-shadow: 0 8px 32px rgba(0,0,0,.08); }
.couture-hero--portrait .portrait-frame img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; display: block; }
.couture-hero--portrait .portrait-frame figcaption { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .65; margin-top: 12px; padding: 0 4px; }
.couture-hero--portrait .portrait-text { display: flex; flex-direction: column; justify-content: center; }
.couture-hero--portrait .portrait-headline { font-family: var(--c-display); font-style: italic; font-size: clamp(48px, 7vw, 120px); line-height: .98; letter-spacing: -0.025em; margin: 16px 0 32px; font-weight: 300; }
.couture-hero--portrait .portrait-sub { font-size: clamp(15px, 1.4vw, 19px); line-height: 1.55; max-width: 44ch; opacity: .85; }
@media (max-width: 768px) { .couture-hero--portrait .portrait-grid { grid-template-columns: 1fr; } }

/* 3. overlay-chrome — full-bleed image with frosted-glass card holding text */
.couture-hero--chrome { min-height: 70vh; padding: 0; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.couture-hero--chrome .chrome-bg { position: absolute; inset: 0; z-index: 0; }
.couture-hero--chrome .chrome-bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.couture-hero--chrome .chrome-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,.25) 100%); }
.couture-hero--chrome .chrome-card { position: relative; z-index: 2; max-width: 720px; padding: clamp(40px, 6vw, 80px); background: rgba(255,255,255,.78); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); border: 1px solid rgba(255,255,255,.4); box-shadow: 0 32px 80px rgba(0,0,0,.18); margin: clamp(24px, 4vw, 64px) var(--c-gutter); }
.couture-hero--chrome .chrome-card h1 { font-family: var(--c-display); font-size: clamp(40px, 5.5vw, 88px); line-height: 1.02; letter-spacing: -0.02em; margin: 14px 0 22px; font-weight: 400; color: var(--c-ink); }
.couture-hero--chrome .chrome-card .eyebrow { color: var(--c-ink); }
.couture-hero--chrome .chrome-sub { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; color: var(--c-ink); opacity: .9; max-width: 52ch; }
@media (prefers-color-scheme: dark) {
  .couture-hero--chrome .chrome-card { background: rgba(20,20,20,.75); border-color: rgba(255,255,255,.18); }
  .couture-hero--chrome .chrome-card h1, .couture-hero--chrome .chrome-card .eyebrow, .couture-hero--chrome .chrome-sub { color: var(--c-paper); }
}

/* 4. sticker-collage — playful, multiple text labels tilted at angles over hero */
.couture-hero--collage { min-height: 70vh; padding: clamp(60px, 8vw, 120px) var(--c-gutter); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.couture-hero--collage .collage-bg { position: absolute; inset: 0; z-index: 0; opacity: .35; }
.couture-hero--collage .collage-bg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.1); }
.couture-hero--collage .collage-stack { position: relative; z-index: 2; max-width: 800px; text-align: center; }
.couture-hero--collage .collage-headline { font-family: var(--c-display); font-size: clamp(48px, 8vw, 140px); line-height: .96; letter-spacing: -0.02em; margin: 0 0 28px; font-weight: 400; }
.couture-hero--collage .collage-sub { font-size: clamp(15px, 1.4vw, 19px); line-height: 1.55; max-width: 50ch; margin: 0 auto; opacity: .85; }
.couture-hero--collage .sticker { position: absolute; padding: 8px 18px; background: var(--c-accent, #f4a261); color: var(--c-paper); font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; transform: rotate(var(--rot, 0deg)); box-shadow: 0 4px 12px rgba(0,0,0,.18); border-radius: 2px; white-space: nowrap; z-index: 3; pointer-events: none; }
.couture-hero--collage .sticker-0 { top: -10px; left: 8%; background: var(--c-ink); }
.couture-hero--collage .sticker-1 { top: 30%; right: 4%; background: var(--c-accent-2, var(--c-accent)); }
.couture-hero--collage .sticker-2 { bottom: 12%; left: -2%; background: var(--c-accent); }
.couture-hero--collage .sticker-3 { bottom: -6px; right: 8%; background: var(--c-accent-3, var(--c-ink)); }
@media (max-width: 600px) {
  .couture-hero--collage .sticker-0, .couture-hero--collage .sticker-2 { left: 0; }
  .couture-hero--collage .sticker-1, .couture-hero--collage .sticker-3 { right: 0; }
  .couture-hero--collage .sticker { font-size: 10px; padding: 5px 11px; }
}

/* 5. video-loop — text top, "video frame" thumbnail with play-icon overlay below */
.couture-hero--video { padding: clamp(48px, 6vw, 96px) var(--c-gutter) clamp(40px, 6vw, 72px); max-width: 1280px; margin: 0 auto; }
.couture-hero--video .video-text { max-width: 720px; margin-bottom: clamp(32px, 4vw, 56px); }
.couture-hero--video .video-text h1 { font-family: var(--c-display); font-size: clamp(40px, 5.5vw, 96px); line-height: 1; letter-spacing: -0.02em; margin: 16px 0 24px; font-weight: 300; }
.couture-hero--video .video-sub { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; opacity: .85; max-width: 56ch; }
.couture-hero--video .video-frame { position: relative; margin: 0; padding: 0; aspect-ratio: 16/9; background: var(--c-ink); border: 1px solid var(--c-line); overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.couture-hero--video .video-frame img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .92; }
.couture-hero--video .video-play-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; background: rgba(255,255,255,.92); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; color: var(--c-ink); padding-left: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.3); transition: transform .25s; }
.couture-hero--video .video-frame:hover .video-play-icon { transform: translate(-50%, -50%) scale(1.08); }
.couture-hero--video .video-meta { position: absolute; bottom: 16px; left: 20px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; color: var(--c-paper); background: rgba(0,0,0,.55); padding: 4px 10px; }

/* 6. data-visual — text-heavy, hero shows row of large stats/metrics */
.couture-hero--data { padding: clamp(48px, 8vw, 120px) var(--c-gutter); max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: end; }
.couture-hero--data .data-text h1 { font-family: var(--c-display); font-size: clamp(40px, 6vw, 110px); line-height: .98; letter-spacing: -0.02em; margin: 16px 0 24px; font-weight: 300; }
.couture-hero--data .data-sub { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; opacity: .85; max-width: 52ch; }
.couture-hero--data .data-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: clamp(20px, 3vw, 48px); margin-top: clamp(32px, 5vw, 56px); padding-top: 28px; border-top: 2px solid var(--c-ink); }
.couture-hero--data .data-stats .stat { display: flex; flex-direction: column; gap: 6px; }
.couture-hero--data .data-stats .stat-n { font-family: var(--c-display); font-size: clamp(36px, 5vw, 72px); line-height: 1; font-weight: 400; letter-spacing: -0.02em; color: var(--c-accent, var(--c-ink)); }
.couture-hero--data .data-stats .stat-l { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .65; }
.couture-hero--data .data-thumb { margin: 0; max-width: 280px; justify-self: end; }
.couture-hero--data .data-thumb img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; border: 1px solid var(--c-line); }
@media (max-width: 768px) {
  .couture-hero--data { grid-template-columns: 1fr; }
  .couture-hero--data .data-thumb { justify-self: start; }
}

/* V4.6 — meta-stack on hero (label/value pairs like "City / Phoenix",
   "Discipline / Artisan"). Without these rules the label and value
   stacked with no spacing or distinction (rendered as "CityPhoenix"
   on chedralis live). Now: small mono uppercase label above big
   display value, generous gap between pairs. */
.couture-hero .meta-stack { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 48px) clamp(28px, 4vw, 56px); margin-top: clamp(32px, 5vw, 56px); padding-top: 24px; border-top: 1px solid var(--c-line); }
.couture-hero .meta-stack > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.couture-hero .meta-stack > div > span:first-child { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); line-height: 1; }
.couture-hero .meta-stack > div > span:last-child { font-family: var(--c-display); font-style: italic; font-size: clamp(20px, 2vw, 28px); line-height: 1.1; color: var(--c-ink); }
@media (max-width: 700px) { .couture-hero .meta-stack { gap: 18px 28px; } }

.couture-checklist .spec-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0; border-top: 2px solid var(--c-ink); }
.couture-checklist .spec-list li { display: grid; grid-template-columns: 32px 1fr; gap: 14px; padding: 22px 18px; border-bottom: 1px solid var(--c-line); border-right: 1px solid var(--c-line); align-items: start; }
.couture-checklist .spec-list li:nth-child(2n) { border-right: none; }
.couture-checklist .spec-list .tick { width: 24px; height: 24px; border-radius: 50%; background: var(--c-accent); color: var(--c-paper); display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.couture-checklist .spec-list li strong { display: block; font-family: var(--c-display); font-weight: 500; font-size: 18px; margin-bottom: 4px; font-style: italic; }
.couture-checklist .spec-list li span { display: block; font-size: 14px; line-height: 1.55; color: var(--c-ink-soft); }

/* V6.260 — operator R27 night autopilot Round 28: 3 NEW process_checklist sub-variants */

/* sub-1 — numbered-pills: circular numbered badges in 2-col grid (modern SaaS) */
.couture-checklist--v1 .spec-pills { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; max-width: 1200px; margin: 0 auto; padding: 0 var(--c-gutter, 32px); }
.couture-checklist--v1 .spec-pills li { display: grid; grid-template-columns: 56px 1fr; gap: 18px; align-items: start; padding: 24px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 14px; transition: transform .15s, box-shadow .15s; }
.couture-checklist--v1 .spec-pills li:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -16px rgba(0,0,0,.14); }
.couture-checklist--v1 .pill-num { width: 48px; height: 48px; border-radius: 50%; background: var(--c-accent); color: var(--c-paper); display: grid; place-items: center; font-family: var(--c-mono); font-weight: 700; font-size: 16px; font-variant-numeric: tabular-nums; }
.couture-checklist--v1 .pill-body strong { display: block; font-family: var(--c-display); font-weight: 600; font-size: 18px; margin-bottom: 6px; color: var(--c-ink); }
.couture-checklist--v1 .pill-body span { display: block; font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); }

/* sub-2 — vertical-rail: left-aligned with vertical accent line connecting steps */
.couture-checklist--v2 .spec-rail { list-style: none; margin: 0; padding: 0; max-width: 760px; margin-left: auto; margin-right: auto; padding-left: 28px; padding-right: var(--c-gutter, 32px); position: relative; }
.couture-checklist--v2 .spec-rail::before { content: ""; position: absolute; left: 18px; top: 24px; bottom: 24px; width: 2px; background: var(--c-line); pointer-events: none; }
.couture-checklist--v2 .spec-rail li { display: grid; grid-template-columns: 32px 1fr; gap: 24px; align-items: start; padding: 18px 0 18px 0; position: relative; margin-left: -28px; padding-left: 0; }
.couture-checklist--v2 .rail-dot { width: 36px; height: 36px; border-radius: 50%; background: var(--c-paper); border: 2px solid var(--c-accent); display: grid; place-items: center; position: relative; z-index: 2; margin-left: 0; }
.couture-checklist--v2 .rail-num { font-family: var(--c-mono); font-weight: 700; font-size: 12px; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-checklist--v2 .rail-body { padding-top: 4px; }
.couture-checklist--v2 .rail-body strong { display: block; font-family: var(--c-display); font-weight: 500; font-size: 18px; margin-bottom: 4px; color: var(--c-ink); }
.couture-checklist--v2 .rail-body span { display: block; font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); }

/* sub-3 — horizontal-strip: 4-up steps with arrow separators (process flow) */
.couture-checklist--v3 .spec-strip { display: flex; flex-wrap: wrap; gap: 12px 8px; align-items: stretch; padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-checklist--v3 .strip-step { flex: 1 1 220px; min-width: 0; padding: 22px 18px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; display: flex; flex-direction: column; gap: 8px; position: relative; text-align: left; }
.couture-checklist--v3 .strip-num { font-family: var(--c-mono); font-weight: 700; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); padding: 4px 8px; border: 1px solid var(--c-accent); border-radius: 4px; align-self: flex-start; }
.couture-checklist--v3 .strip-step strong { display: block; font-family: var(--c-display); font-weight: 600; font-size: 16px; color: var(--c-ink); }
.couture-checklist--v3 .strip-step span:not(.strip-num):not(.strip-arrow) { display: block; font-size: 13px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); }
.couture-checklist--v3 .strip-arrow { position: absolute; right: -18px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--c-accent); font-weight: 700; pointer-events: none; z-index: 2; }
@media (max-width: 720px) { .couture-checklist--v3 .strip-arrow { display: none; } }

/* --- manifesto ------------------------------------------------ */
.couture-manifesto { text-align: left; max-width: 960px; padding: var(--c-rhythm) var(--c-gutter); }
.couture-manifesto .manifesto-mark { font-family: var(--c-display); font-weight: 400; font-size: clamp(80px, 12vw, 180px); line-height: 1; color: var(--c-accent); margin-bottom: 8px; }
.couture-manifesto p { font-family: var(--c-display); font-weight: 300; font-size: clamp(32px, 5.4vw, 80px); line-height: 1.05; letter-spacing: -0.015em; margin: 0 0 .4em; }
.couture-manifesto p:nth-child(even) { font-style: italic; color: var(--c-accent-2); }
.couture-manifesto cite { display: block; margin-top: 48px; font-family: var(--c-mono); font-style: normal; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }

/* V6.265 — operator R27 night autopilot Round 33: 3 NEW manifesto sub-variants */

/* sub-1 — numbered-list with accent number prefix */
.couture-manifesto--v1 .manifesto-numbered { list-style: none; padding: 0; margin: 0 auto; max-width: 920px; padding: 0 var(--c-gutter, 32px); display: flex; flex-direction: column; gap: 28px; }
.couture-manifesto--v1 .manifesto-numbered li { display: grid; grid-template-columns: 80px 1fr; gap: 28px; align-items: baseline; padding-bottom: 24px; border-bottom: 1px solid var(--c-line); }
.couture-manifesto--v1 .manifesto-numbered li:last-child { border-bottom: 0; }
.couture-manifesto--v1 .manifesto-num { font-family: var(--c-mono); font-weight: 800; font-size: clamp(28px, 3.5vw, 44px); color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-manifesto--v1 .manifesto-text { font-family: var(--c-display); font-weight: 400; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.3; color: var(--c-ink); letter-spacing: -.012em; }

/* sub-2 — declarative-banner: full-bleed accent band, big paper text */
.couture-manifesto--v2 .manifesto-banner { background: var(--c-accent); color: var(--c-paper); padding: clamp(64px, 9vw, 128px) var(--c-gutter, 32px); text-align: center; max-width: none; margin: 0; }
.couture-manifesto--v2 .manifesto-banner p { font-family: var(--c-display); font-weight: 600; font-size: clamp(36px, 6vw, 84px); line-height: 1.05; letter-spacing: -.018em; margin: 0 0 .25em; color: var(--c-paper); max-width: 18ch; margin-left: auto; margin-right: auto; }
.couture-manifesto--v2 .manifesto-banner p:nth-child(even) { font-style: italic; opacity: .9; }
.couture-manifesto--v2 .manifesto-banner cite { display: block; margin-top: 36px; font-family: var(--c-mono); font-style: normal; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-paper); opacity: .85; }
.couture-manifesto--v2 { padding: 0 !important; max-width: none !important; }

/* sub-3 — letterpress-stack: each line in its own bordered card */
.couture-manifesto--v3 .manifesto-stack { display: flex; flex-direction: column; gap: 14px; max-width: 720px; margin: 0 auto; padding: 0 var(--c-gutter, 32px); }
.couture-manifesto--v3 .manifesto-card { padding: 24px 28px; background: var(--c-paper); border: 1px solid var(--c-line); border-left: 4px solid var(--c-accent); border-radius: 0; position: relative; }
.couture-manifesto--v3 .manifesto-card-num { display: block; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; color: var(--c-accent); margin-bottom: 8px; font-weight: 700; }
.couture-manifesto--v3 .manifesto-card p { font-family: var(--c-display); font-weight: 500; font-size: clamp(20px, 2.4vw, 28px); line-height: 1.3; color: var(--c-ink); margin: 0; }
.couture-manifesto--v3 cite { display: block; margin-top: 24px; font-family: var(--c-mono); font-style: normal; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); text-align: center; }

/* --- stat wall ------------------------------------------------ */
/* V4.66 — stats redesign (operator R12 Round 9 about-page polish).
   The hairline-divider grid felt thin at default sizes. Now: cards
   with subtle bg, more vertical breathing, larger numbers, and a
   tiny accent-tinted bar above each stat for visual rhythm. */
.couture-stats .stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  background: var(--c-paper-2, color-mix(in oklab, var(--c-ink) 3%, var(--c-paper)));
}
.couture-stats .stat {
  padding: clamp(48px, 6vw, 80px) clamp(20px, 3vw, 36px);
  border-right: 1px solid var(--c-line);
  position: relative;
  text-align: center;
}
.couture-stats .stat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 3px;
  background: var(--c-accent);
}
.couture-stats .stat:last-child { border-right: none; }
.couture-stats .stat strong {
  display: block;
  font-family: var(--c-display);
  font-weight: 600;
  font-size: clamp(48px, 7vw, 96px);
  line-height: 0.95;
  letter-spacing: -0.025em;
  color: var(--c-ink);
  margin-bottom: 16px;
  font-variant-numeric: tabular-nums;
}
.couture-stats .stat span {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: 600;
}

/* --- press wall ----------------------------------------------- */
.couture-press .press-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.couture-press figure { margin: 0; padding: 28px; background: var(--c-paper-2); border: 1px solid var(--c-line); border-radius: var(--c-card-radius); box-shadow: var(--c-card-shadow); display: flex; flex-direction: column; gap: 18px; }
.couture-press blockquote { margin: 0; font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.25; color: var(--c-ink); }
.couture-press figcaption { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); }

/* --- index listing -------------------------------------------- */
.couture-idx .idx-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--c-ink); }
.couture-idx .idx-list li { display: grid; grid-template-columns: 80px 1fr auto; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--c-line); font-family: var(--c-display); font-size: clamp(22px, 2.6vw, 36px); font-style: italic; font-weight: 400; align-items: baseline; }
.couture-idx .idx-list li:hover { background: var(--c-paper-2); }
.couture-idx .idx-list li > span:first-child { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .12em; color: var(--c-accent); }
.couture-idx .idx-note { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .08em; color: var(--c-muted); }

/* V6.274 — operator R27 night autopilot Round 42: 3 NEW index_listing sub-variants */

/* sub-1 — 2-col-rule: book-of-contents 2-col with hairline rules */
.couture-idx--v1 .idx-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(40px, 5vw, 80px); padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; border-top: 2px solid var(--c-ink); }
.couture-idx--v1 .idx-cols-row { display: contents; }
.couture-idx--v1 .idx-cols-row dt { padding: 16px 0; border-bottom: 1px solid var(--c-line); display: flex; align-items: baseline; gap: 16px; }
.couture-idx--v1 .idx-cols-row dd { padding: 16px 0; border-bottom: 1px solid var(--c-line); margin: 0; font-family: var(--c-mono); font-size: 12px; letter-spacing: .04em; color: var(--c-muted); display: flex; align-items: baseline; }
.couture-idx--v1 .idx-cols-num { font-family: var(--c-mono); font-weight: 700; font-size: 11px; letter-spacing: .14em; color: var(--c-accent); min-width: 32px; }
.couture-idx--v1 .idx-cols-label { font-family: var(--c-display); font-weight: 500; font-size: clamp(18px, 2vw, 24px); color: var(--c-ink); letter-spacing: -.012em; }
@media (max-width: 720px) { .couture-idx--v1 .idx-cols { grid-template-columns: 1fr; } }

/* sub-2 — pill-row: tag-cloud horizontal pills */
.couture-idx--v2 .idx-pills { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; }
.couture-idx--v2 .idx-pill { display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 18px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 999px; transition: background .15s, border-color .15s; }
.couture-idx--v2 .idx-pill:hover { background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)); border-color: var(--c-accent); }
.couture-idx--v2 .idx-pill-num { font-family: var(--c-mono); font-weight: 700; font-size: 10px; letter-spacing: .12em; color: var(--c-accent); }
.couture-idx--v2 .idx-pill-label { font-family: var(--c-body); font-weight: 600; font-size: 14px; color: var(--c-ink); }

/* sub-3 — grid-tiles: 3-up tiles with chunky number + label + note */
.couture-idx--v3 .idx-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-idx--v3 .idx-tile { padding: 24px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; display: flex; flex-direction: column; gap: 12px; transition: transform .15s, box-shadow .15s; }
.couture-idx--v3 .idx-tile:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -16px rgba(0,0,0,.16); }
.couture-idx--v3 .idx-tile-num { font-family: var(--c-mono); font-weight: 800; font-size: 24px; color: var(--c-accent); line-height: 1; font-variant-numeric: tabular-nums; }
.couture-idx--v3 .idx-tile-label { font-family: var(--c-display); font-weight: 600; font-size: 19px; color: var(--c-ink); line-height: 1.2; }
.couture-idx--v3 .idx-tile-note { font-family: var(--c-body); font-size: 13px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* motion — stagger reveal */
.couture-reveal { opacity: 0; transform: translateY(24px); transition: opacity 1s cubic-bezier(.2,.8,.2,1), transform 1s cubic-bezier(.2,.8,.2,1); }
.couture-reveal.in { opacity: 1; transform: translateY(0); }
.couture-reveal.d1 { transition-delay: .08s; }
.couture-reveal.d2 { transition-delay: .16s; }
.couture-reveal.d3 { transition-delay: .24s; }
.couture-reveal.d4 { transition-delay: .32s; }

/* ============================================================
   NAVIGATION MODELS
============================================================ */

/* top-bar (default) */
.couture-nav-topbar { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; padding: 14px var(--c-gutter); background: var(--c-paper); border-bottom: 1px solid var(--c-line); backdrop-filter: saturate(1.2) blur(10px); }
/* V6.168 — mobile-friendly nav. Pre-V6.168: 6+ menu items pushed past
   viewport on phones with no overflow handling → links visually
   clipped. Now: nav links wrap to second row on tablets, then become
   horizontally-scrollable on phones (visible but reachable via swipe).
   Brand stays anchored top-left, actions stay top-right. */
@media (max-width: 900px) {
  .couture-nav-topbar { flex-wrap: wrap; gap: 8px; }
  .couture-nav-topbar nav { width: 100%; order: 3; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .couture-nav-topbar nav::-webkit-scrollbar { display: none; }
  .couture-nav-topbar nav ul { flex-wrap: nowrap; gap: 18px; padding-bottom: 4px; }
  .couture-nav-topbar nav a { white-space: nowrap; }
}
@media (max-width: 480px) {
  .couture-nav-topbar nav ul { gap: 14px; font-size: 11px; }
  .couture-nav-topbar { padding: 12px 16px; }
}
.couture-nav-topbar .brand a { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: 22px; color: var(--c-ink); text-decoration: none; letter-spacing: -0.01em; }
.couture-nav-topbar nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.couture-nav-topbar nav a { color: var(--c-ink); text-decoration: none; border-bottom: 1px solid transparent; padding-bottom: 2px; transition: border-color .2s; }
.couture-nav-topbar nav a:hover { border-color: var(--c-accent); }
.couture-nav-topbar .actions .cart { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; border: 1px solid var(--c-ink); padding: 8px 14px; text-decoration: none; color: var(--c-ink); }

/* side-rail */
.couture-nav-siderail { position: fixed; top: 0; left: 0; bottom: 0; width: 240px; padding: 32px 24px; background: var(--c-paper); border-right: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 40px; z-index: 40; }
.couture-nav-siderail .rail-brand a { font-family: var(--c-display); font-weight: 400; font-style: italic; font-size: 24px; letter-spacing: -0.01em; color: var(--c-ink); text-decoration: none; line-height: 1.05; display: block; }
.couture-nav-siderail .rail-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; }
.couture-nav-siderail .rail-menu a { color: var(--c-ink); text-decoration: none; padding-left: 16px; position: relative; }
.couture-nav-siderail .rail-menu a::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; background: var(--c-accent); border-radius: 50%; opacity: 0; transition: opacity .2s; }
.couture-nav-siderail .rail-menu a:hover::before { opacity: 1; }
.couture-nav-siderail .rail-footer { margin-top: auto; }
.couture-nav-siderail .rail-cta { font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-paper); background: var(--c-ink); padding: 14px 18px; text-decoration: none; display: block; text-align: center; }
/* Site-wide offset when the rail is present */
.couture-nav-siderail ~ .couture-spatial,
body:has(.couture-nav-siderail) .couture-spatial { margin-left: 240px; }
body:has(.couture-nav-siderail) .couture-footer { margin-left: 240px; }
/* V6.287 — operator R28: also offset main + couture-page (the standard
   page wrapper used by every block-theme template). Without this, pages
   that don't use .couture-spatial wrapper had content overlapping the
   fixed sidebar. */
body:has(.couture-nav-siderail) main:not(.couture-spatial),
body:has(.couture-nav-siderail) .wp-site-blocks > .wp-block-group:not(.couture-spatial),
body:has(.couture-nav-siderail) main.couture-page { margin-left: 240px; }
@media (max-width: 900px) {
  /* On mobile, collapse side-rail to top bar so it doesn't eat half the screen */
  .couture-nav-siderail { position: relative; width: 100%; height: auto; flex-direction: row; align-items: center; justify-content: space-between; padding: 14px var(--c-gutter); border-right: 0; border-bottom: 1px solid var(--c-line); gap: 16px; }
  .couture-nav-siderail .rail-menu { flex-direction: row; gap: 14px; flex-wrap: wrap; font-size: 10px; }
  .couture-nav-siderail .rail-footer { margin-top: 0; margin-left: auto; }
  .couture-nav-siderail .rail-cta { padding: 8px 12px; font-size: 10px; }
  body:has(.couture-nav-siderail) .couture-spatial,
  body:has(.couture-nav-siderail) .couture-footer,
  body:has(.couture-nav-siderail) main:not(.couture-spatial),
  body:has(.couture-nav-siderail) .wp-site-blocks > .wp-block-group:not(.couture-spatial),
  body:has(.couture-nav-siderail) main.couture-page { margin-left: 0; }
}

/* dot-index */
.couture-nav-dotindex { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; padding: 14px var(--c-gutter); background: var(--c-paper); border-bottom: 1px solid var(--c-line); }
.couture-nav-dotindex .dot-brand a { font-family: var(--c-display); font-style: italic; font-size: 22px; color: var(--c-ink); text-decoration: none; }
.couture-nav-dotindex .dot-menu { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; display: flex; gap: 20px; }
.couture-nav-dotindex .dot-menu a { color: var(--c-ink); text-decoration: none; }
.couture-nav-dotindex .dot-rail { position: fixed; right: 24px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 14px; list-style: none; margin: 0; padding: 12px 8px; background: var(--c-paper); border: 1px solid var(--c-line); z-index: 60; }
.couture-nav-dotindex .dot-rail a { display: block; width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--c-ink); font-size: 0; color: transparent; position: relative; }
.couture-nav-dotindex .dot-rail a:hover { background: var(--c-accent); border-color: var(--c-accent); }
.couture-nav-dotindex .dot-rail a::after { content: attr(title); position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font-size: 10px; font-family: var(--c-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--c-ink); white-space: nowrap; background: var(--c-paper); padding: 4px 8px; border: 1px solid var(--c-line); opacity: 0; transition: opacity .2s; pointer-events: none; }
.couture-nav-dotindex .dot-rail a:hover::after { opacity: 1; }

/* drawer */
.couture-nav-drawer { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; padding: 16px var(--c-gutter); background: var(--c-paper); border-bottom: 1px solid var(--c-line); }
.couture-nav-drawer .drawer-brand a { font-family: var(--c-display); font-style: italic; font-size: 24px; color: var(--c-ink); text-decoration: none; }
.couture-nav-drawer .drawer-trigger { font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; background: transparent; border: 1px solid var(--c-ink); padding: 10px 16px; cursor: pointer; color: var(--c-ink); }
.couture-nav-drawer .drawer-cart { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-ink); text-decoration: none; }

/* ============================================================
   CART CHIP placements (handoff item N6)
   Cart used to live top-right on every nav variant. Now varies:
   - inline    → top-right pill (top-bar, split-corner)
   - floating  → bottom-right floating button (drawer, toc, dot-index)
   - rail      → small link in side-rail footer
   Some archetypes (by-appointment, made-to-order, wholesale) skip
   the cart chip entirely — driven from nav.js renderCartChip().
============================================================ */
.couture-cart-chip { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.couture-cart-chip--inline { color: var(--c-ink); border: 1px solid var(--c-ink); padding: 8px 14px; transition: background .2s, color .2s; }
.couture-cart-chip--inline:hover { background: var(--c-ink); color: var(--c-paper); }
.couture-cart-chip--rail { display: block; padding: 10px 14px; margin-top: 12px; border: 1px solid var(--c-line); color: var(--c-ink); text-align: center; font-size: 10px; }
.couture-cart-chip--rail:hover { border-color: var(--c-ink); }
/* V4.6 — bottom positioning respects iPhone home indicator + bottom-safe
   area so the chip never overlaps the indicator bar on notched devices. */
.couture-cart-chip--floating { position: fixed; right: clamp(20px, 3vw, 36px); bottom: calc(clamp(20px, 3vw, 36px) + env(safe-area-inset-bottom, 0px)); z-index: 60; padding: 14px 22px; background: var(--c-ink); color: var(--c-paper); box-shadow: 0 8px 28px rgba(0,0,0,.18); border: 1px solid var(--c-ink); transition: transform .15s, box-shadow .2s; }
.couture-cart-chip--floating:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(0,0,0,.22); background: var(--c-accent); border-color: var(--c-accent); }
@media (max-width: 700px) {
  .couture-cart-chip--floating { padding: 12px 18px; font-size: 10px; right: 16px; bottom: 16px; }
}

/* === V4.18.6 CART STYLE variants (operator-flagged: same cart button on every site) ===
   A per-domain hash picks one of 6 styles. CSS targets via [data-cart-style="..."].
   The PLACEMENT (--inline/--floating/--rail) is unchanged; this just varies
   the look WITHIN each placement. */

/* cart-bordered: V4.0 default (kept) */

/* cart-pill: rounded full-pill with light grey background, no border */
.couture-cart-chip[data-cart-style="cart-pill"] {
  border: none; background: var(--c-paper-2); color: var(--c-ink);
  padding: 10px 18px; border-radius: 999px;
  transition: background .2s;
}
.couture-cart-chip[data-cart-style="cart-pill"]:hover {
  background: var(--c-ink); color: var(--c-paper);
}

/* cart-link: text-only link with a small arrow, no border */
.couture-cart-chip[data-cart-style="cart-link"] {
  border: none; background: transparent; padding: 8px 0;
  position: relative; padding-right: 18px;
}
.couture-cart-chip[data-cart-style="cart-link"]::after {
  content: "\2192"; position: absolute; right: 0; top: 50%;
  transform: translateY(-50%); transition: transform .2s;
}
.couture-cart-chip[data-cart-style="cart-link"]:hover {
  background: transparent; color: var(--c-accent);
}
.couture-cart-chip[data-cart-style="cart-link"]:hover::after {
  transform: translate(4px, -50%);
}

/* cart-icon-text: emoji icon + tiny text label */
.couture-cart-chip[data-cart-style="cart-icon-text"] {
  border: none; background: transparent; padding: 6px 10px;
  display: inline-flex; align-items: center; gap: 6px;
}
.couture-cart-chip[data-cart-style="cart-icon-text"] .cart-icon {
  font-size: 18px; line-height: 1;
}
.couture-cart-chip[data-cart-style="cart-icon-text"] .cart-label {
  font-size: 11px; letter-spacing: .12em;
}
.couture-cart-chip[data-cart-style="cart-icon-text"]:hover {
  background: transparent; color: var(--c-accent);
}

/* cart-square-fill: solid filled square, loud accent button */
.couture-cart-chip[data-cart-style="cart-square-fill"] {
  background: var(--c-accent); color: var(--c-paper);
  border: none; padding: 10px 18px;
  font-weight: 500;
  transition: background .2s, transform .15s;
}
.couture-cart-chip[data-cart-style="cart-square-fill"]:hover {
  background: var(--c-ink); transform: translateY(-1px);
}

/* cart-underline: text only with bottom underline, no border */
.couture-cart-chip[data-cart-style="cart-underline"] {
  border: none; background: transparent; padding: 8px 0;
  border-bottom: 2px solid currentColor; border-radius: 0;
}
.couture-cart-chip[data-cart-style="cart-underline"]:hover {
  background: transparent; color: var(--c-accent);
  border-bottom-color: var(--c-accent);
}

/* When on the floating variant, override the dark default with each style's background. */
.couture-cart-chip--floating[data-cart-style="cart-pill"] { background: var(--c-paper); color: var(--c-ink); border: none; }
.couture-cart-chip--floating[data-cart-style="cart-square-fill"] { background: var(--c-accent); border: none; }
.couture-cart-chip--floating[data-cart-style="cart-link"],
.couture-cart-chip--floating[data-cart-style="cart-icon-text"] {
  background: var(--c-paper); color: var(--c-ink); padding: 14px 22px; border: 1px solid var(--c-line);
}
.couture-cart-chip--floating[data-cart-style="cart-underline"] {
  background: var(--c-paper); color: var(--c-ink); border-bottom: 2px solid var(--c-accent);
}
/* V4.61 — drawer overlay + slide animation. Operator R12: drawer
   nav was rendered but invisible without JS toggle. couture.js V4.61
   now toggles [hidden]; CSS handles overlay + slide. */
body.drawer-open::before {
  content: '';
  position: fixed; inset: 0;
  background: rgba(0,0,0,.42);
  z-index: 99;
  animation: drawer-fade-in .25s ease forwards;
}
@keyframes drawer-fade-in { from { opacity: 0 } to { opacity: 1 } }
body.drawer-open { overflow: hidden; }
.couture-nav-drawer .drawer-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 85vw); background: var(--c-ink); color: var(--c-paper); padding: 80px 40px 40px; transform: translateX(100%); transition: transform .5s cubic-bezier(.2,.8,.2,1); z-index: 100; overflow-y: auto; }
.couture-nav-drawer .drawer-panel[aria-hidden="false"], .couture-nav-drawer .drawer-panel:not([hidden]) { transform: translateX(0); }
.couture-nav-drawer .drawer-panel ul { list-style: none; margin: 0 0 40px; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.couture-nav-drawer .drawer-panel a { color: var(--c-paper); text-decoration: none; font-family: var(--c-display); font-size: 36px; font-style: italic; letter-spacing: -.01em; }
.couture-nav-drawer .drawer-panel a:hover { color: var(--c-accent-3); }
.couture-nav-drawer .drawer-close { font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; opacity: .7; }

/* toc (table of contents header) */
.couture-nav-toc { padding: 32px var(--c-gutter) 0; border-bottom: 2px solid var(--c-ink); background: var(--c-paper); }
.couture-nav-toc .toc-top { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 20px; border-bottom: 1px solid var(--c-line); }
.couture-nav-toc .toc-brand a { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 64px); line-height: 1; color: var(--c-ink); text-decoration: none; letter-spacing: -.03em; }
.couture-nav-toc .toc-menu { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.couture-nav-toc .toc-menu a { color: var(--c-ink); text-decoration: none; }
.couture-nav-toc .toc-contents { padding: 28px 0 40px; }
.couture-nav-toc .toc-contents h2 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 16px; font-weight: 500; }
.couture-nav-toc .toc-list { list-style: none; margin: 0; padding: 0; column-count: 2; column-gap: 40px; column-rule: 1px dashed var(--c-line); }
.couture-nav-toc .toc-list li { break-inside: avoid; display: grid; grid-template-columns: 36px 1fr auto; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--c-line); font-family: var(--c-body); font-size: 15px; }
.couture-nav-toc .toc-list .toc-n { font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; color: var(--c-accent); }
.couture-nav-toc .toc-list a { color: var(--c-ink); text-decoration: none; font-style: italic; }
.couture-nav-toc .toc-list .toc-dots { border-bottom: 1px dotted var(--c-muted); min-width: 40px; }

/* split-corner */
.couture-nav-split { position: fixed; top: 28px; left: 28px; z-index: 50; background: var(--c-paper); padding: 18px; border: 1px solid var(--c-line); max-width: 220px; }
.couture-nav-split .split-brand a { font-family: var(--c-display); font-weight: 300; font-style: italic; font-size: 22px; color: var(--c-ink); text-decoration: none; display: block; margin-bottom: 14px; letter-spacing: -.01em; }
.couture-nav-split .split-menu ul { list-style: none; margin: 0; padding: 0; }
.couture-nav-split .split-menu li { padding: 4px 0; border-bottom: 1px solid var(--c-line); font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.couture-nav-split .split-menu li:last-child { border-bottom: none; }
.couture-nav-split .split-menu a { color: var(--c-ink); text-decoration: none; display: block; }
body:has(.couture-nav-split) .couture-spatial { padding-left: 260px; }

/* ============================================================
   V4.18.2 — NAV VARIANTS
   Operator-flagged: every site's nav rendered the same shape per
   nav_model. Within each model, pick one of N variants per-domain
   (data-nav-variant="..."). CSS rules below alter at minimum:
     - logo position / horizontal alignment
     - density (padding, font-size, gap)
     - sticky / static behaviour
     - background tint (paper / paper2 / inverted / translucent)
     - border treatment (bottom / shadow / none / hairline-top)
     - divider style between menu items
   See `pickNavVariant()` in src/lib/block_renderer/nav.js for
   the variant pool per model.
============================================================ */

/* ----- shared announcement bar (top-bar / drawer 'with-announce') ----- */
.couture-announce-bar { display: flex; gap: 28px; justify-content: center; align-items: center;
  background: var(--c-ink); color: var(--c-paper); padding: 7px var(--c-gutter);
  font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  width: 100%; box-sizing: border-box; }
.couture-announce-bar .announce-item { white-space: nowrap; opacity: .9; }
.couture-announce-bar .announce-item + .announce-item::before { content: "·"; margin-right: 28px; opacity: .55; }

/* V6.242 — operator R27 night autopilot Round 12: 4 announce-bar styles.
   Per-domain hash picks one. Default 'marquee' uses the rules above. */
.couture-announce-bar[data-bar-style="static-row"] {
  background: color-mix(in oklab, var(--c-paper) 85%, var(--c-ink) 15%);
  color: var(--c-ink);
  font-size: 11px;
  letter-spacing: .12em;
  padding: 9px var(--c-gutter);
  border-bottom: 1px solid color-mix(in oklab, var(--c-ink) 12%, transparent);
}
.couture-announce-bar[data-bar-style="static-row"] .announce-item + .announce-item::before {
  content: "|"; opacity: .35;
}

.couture-announce-bar[data-bar-style="badge-pills"] {
  background: var(--c-paper);
  color: var(--c-ink);
  padding: 10px var(--c-gutter);
  border-bottom: 1px solid var(--c-line);
  gap: 10px;
}
.couture-announce-bar[data-bar-style="badge-pills"] .announce-item {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.couture-announce-bar[data-bar-style="badge-pills"] .announce-item + .announce-item::before {
  content: ""; margin-right: 0;
}

.couture-announce-bar[data-bar-style="split-promo"] {
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 12px var(--c-gutter);
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  gap: 16px;
}
.couture-announce-bar[data-bar-style="split-promo"] .announce-item {
  opacity: 1;
}
.couture-announce-bar[data-bar-style="split-promo"] .announce-item + .announce-item::before {
  content: "→"; margin-right: 12px; opacity: .7; font-weight: 700;
}

/* === V4.18.7 NAV FEATURES — shop-dropdown, search, account icons ===
   Operator-flagged: "navigation enhancements, some websites can show
   product category dropdowns... more rich variation of navigations".
   Per-domain hash picks one of 6 NAV_FEATURES. CSS targets via
   data-nav-features="..." on the header.
   - shop-dropdown: /shop nav item expands to category panel on hover
   - search-only / shop-dropdown+search: search icon in actions area
   - account+cart / shop-dropdown+account: account icon in actions area
   The features stack on top of the nav-variant CSS (data-nav-variant).
*/

/* --- shop dropdown (top-bar) --- */
.couture-nav-topbar nav .nav-with-dropdown {
  position: relative;
  display: inline-flex;       /* V6.203 — match the inline-flex baseline of nav-shop-toggle */
  align-items: center;
  line-height: inherit;
}
.couture-nav-topbar nav .nav-shop-toggle {
  display: inline-flex; align-items: center; gap: 4px;
  line-height: inherit;       /* V6.203 — inherit ul's line-height so toggle baselines match siblings */
}
/* V6.203 — operator R25 audit (dioriva.com): the Shop dropdown toggle
   sat slightly below the other nav links because its <li> wrapper
   inherited a different baseline due to nav-shop-toggle being inline-
   flex with align-items:center. Force the parent <ul> to center-align
   all <li> items vertically so dropdown + plain links share one
   baseline. */
.couture-nav-topbar nav ul {
  align-items: center;
}
.couture-nav-topbar nav .nav-caret {
  font-size: 10px; line-height: 1; transition: transform .2s;
}
.couture-nav-topbar nav .nav-with-dropdown:hover .nav-caret,
.couture-nav-topbar nav .nav-with-dropdown:focus-within .nav-caret {
  transform: rotate(180deg);
}
.couture-nav-topbar nav .nav-dropdown {
  position: absolute; left: 0; top: 100%;
  background: var(--c-paper); border: 1px solid var(--c-line);
  min-width: 240px; padding: 14px 0;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .18s, transform .18s, visibility .18s;
  z-index: 70; box-shadow: 0 12px 36px rgba(0,0,0,.08);
  margin-top: 0;
}
.couture-nav-topbar nav .nav-with-dropdown:hover .nav-dropdown,
.couture-nav-topbar nav .nav-with-dropdown:focus-within .nav-dropdown {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.couture-nav-topbar nav .nav-dropdown-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
}
.couture-nav-topbar nav .nav-dropdown-list li {
  padding: 0;
}
.couture-nav-topbar nav .nav-dropdown-list a {
  display: block; padding: 9px 22px;
  font-family: var(--c-body); font-size: 14px;
  letter-spacing: 0; text-transform: none; font-weight: 400;
  color: var(--c-ink); border-bottom: none;
  transition: background .15s;
}
.couture-nav-topbar nav .nav-dropdown-list a:hover {
  background: var(--c-paper-2); color: var(--c-accent); border-color: transparent;
}
.couture-nav-topbar nav .nav-dropdown-list .nav-dropdown-all {
  border-bottom: 1px solid var(--c-line); margin-bottom: 6px;
  font-weight: 500; padding-bottom: 12px;
}
/* Inverted-dark variant: dropdown panel inherits dark-on-light look
   (panel itself is paper-bg so the hover popup is readable). */
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] nav .nav-dropdown { background: var(--c-paper); color: var(--c-ink); }
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] nav .nav-dropdown-list a { color: var(--c-ink); }

/* Mobile fallback: dropdown opens inline below the nav item */
@media (max-width: 700px) {
  .couture-nav-topbar nav .nav-dropdown {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: none; min-width: 0; padding: 4px 0 12px 16px;
    background: transparent;
  }
  .couture-nav-topbar nav .nav-dropdown-list a { padding: 6px 12px; font-size: 13px; }
  .couture-nav-topbar nav .nav-caret { display: none; }
}

/* --- drawer category sublist --- */
.couture-nav-drawer .drawer-panel .drawer-sublist {
  list-style: none; margin: 12px 0 24px 16px; padding: 0 0 0 18px;
  border-left: 1px solid rgba(255,255,255,.15);
  display: flex; flex-direction: column; gap: 8px;
}
.couture-nav-drawer .drawer-panel .drawer-sublist .drawer-subitem a {
  font-family: var(--c-body); font-style: normal;
  font-size: 16px; letter-spacing: 0;
  color: var(--c-paper-2); opacity: .8;
}
.couture-nav-drawer .drawer-panel .drawer-sublist .drawer-subitem a:hover {
  color: var(--c-accent-3); opacity: 1;
}
.couture-nav-drawer .drawer-panel .drawer-shop-link {
  font-weight: 500;
}

/* --- search icon + form (CSS-only expand) --- */
.couture-nav-topbar .actions .nav-search,
.couture-nav-drawer .nav-search {
  position: relative; display: inline-flex; align-items: center;
}
.couture-nav-topbar .actions .nav-search-toggle,
.couture-nav-drawer .nav-search-toggle {
  background: transparent; border: none; cursor: pointer;
  color: inherit; padding: 8px; line-height: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 0; transition: color .2s;
}
.couture-nav-topbar .actions .nav-search-toggle:hover,
.couture-nav-drawer .nav-search-toggle:hover {
  color: var(--c-accent);
}
.couture-nav-topbar .actions .nav-search-form,
.couture-nav-drawer .nav-search-form {
  position: absolute; right: 100%; top: 50%;
  transform: translateY(-50%) scaleX(0); transform-origin: right center;
  margin-right: 6px;
  transition: transform .25s cubic-bezier(.2,.8,.2,1);
  background: var(--c-paper); border: 1px solid var(--c-line);
  padding: 0;
  width: 240px;
}
.couture-nav-topbar .actions .nav-search:hover .nav-search-form,
.couture-nav-topbar .actions .nav-search:focus-within .nav-search-form,
.couture-nav-drawer .nav-search:hover .nav-search-form,
.couture-nav-drawer .nav-search:focus-within .nav-search-form {
  transform: translateY(-50%) scaleX(1);
}
.couture-nav-topbar .actions .nav-search-form input,
.couture-nav-drawer .nav-search-form input {
  width: 100%; padding: 8px 14px; border: none;
  background: transparent; color: var(--c-ink);
  font-family: var(--c-body); font-size: 14px;
  outline: none;
}
@media (max-width: 700px) {
  .couture-nav-topbar .actions .nav-search-form,
  .couture-nav-drawer .nav-search-form {
    position: fixed; left: 16px; right: 16px; top: 64px; width: auto;
    transform: scaleY(0); transform-origin: top right;
    z-index: 80;
  }
  .couture-nav-topbar .actions .nav-search:hover .nav-search-form,
  .couture-nav-topbar .actions .nav-search:focus-within .nav-search-form {
    transform: scaleY(1);
  }
}

/* --- account icon --- */
.couture-nav-topbar .actions .nav-account,
.couture-nav-drawer .nav-account {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 8px; line-height: 0;
  color: inherit; transition: color .2s;
}
.couture-nav-topbar .actions .nav-account:hover,
.couture-nav-drawer .nav-account:hover {
  color: var(--c-accent);
}

/* V6.296 — wishlist icon (heart, /wishlist/) */
.couture-nav-topbar .actions .nav-wishlist,
.couture-nav-drawer .nav-wishlist {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 8px; line-height: 0;
  color: inherit; transition: color .2s, transform .15s;
}
.couture-nav-topbar .actions .nav-wishlist:hover,
.couture-nav-drawer .nav-wishlist:hover {
  color: var(--c-accent);
  transform: scale(1.08);
}

/* V6.296 — sticky-cta nav button (prominent accent CTA pill in nav-actions) */
.couture-nav-topbar .actions .nav-sticky-cta,
.couture-nav-drawer .nav-sticky-cta {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 18px;
  background: var(--c-accent);
  color: var(--c-paper);
  text-decoration: none;
  font-family: var(--c-body);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .04em;
  border-radius: 999px;
  transition: background .15s, transform .15s;
}
.couture-nav-topbar .actions .nav-sticky-cta:hover,
.couture-nav-drawer .nav-sticky-cta:hover {
  background: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  transform: translateY(-1px);
}

/* The actions row needs a bit of horizontal gap when 2-3 things stack */
.couture-nav-topbar .actions {
  display: inline-flex; align-items: center; gap: 6px;
}

/* For inverted-dark nav, ensure search/account icons stay light-on-dark */
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] .actions .nav-search-toggle,
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] .actions .nav-account {
  color: var(--c-paper);
}

/* ----- TOP-BAR variants ----- */
/* topbar-classic-left: existing default behaviour. Already rendered above. */

/* topbar-centered: brand absolutely centered, menu LEFT, actions RIGHT */
.couture-nav-topbar[data-nav-variant="topbar-centered"] { position: relative; }
.couture-nav-topbar[data-nav-variant="topbar-centered"] .brand {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1;
}
.couture-nav-topbar[data-nav-variant="topbar-centered"] nav { order: -1; }

/* topbar-split-stacked: TWO ROWS — brand row above, menu row below */
.couture-nav-topbar[data-nav-variant="topbar-split-stacked"] {
  flex-direction: column; align-items: stretch; gap: 0; padding: 0;
}
.couture-nav-topbar[data-nav-variant="topbar-split-stacked"] .topbar-row {
  display: flex; align-items: center; padding: 14px var(--c-gutter);
}
.couture-nav-topbar[data-nav-variant="topbar-split-stacked"] .topbar-row--brand {
  justify-content: center; border-bottom: 1px solid var(--c-line); padding-top: 22px; padding-bottom: 18px;
}
.couture-nav-topbar[data-nav-variant="topbar-split-stacked"] .topbar-row--menu {
  justify-content: space-between;
}

/* topbar-with-announce: announce bar above the regular row */
.couture-nav-topbar[data-nav-variant="topbar-with-announce"] {
  flex-wrap: wrap; padding: 0;
}
.couture-nav-topbar[data-nav-variant="topbar-with-announce"] > .couture-announce-bar { order: -1; }
.couture-nav-topbar[data-nav-variant="topbar-with-announce"] .brand,
.couture-nav-topbar[data-nav-variant="topbar-with-announce"] nav,
.couture-nav-topbar[data-nav-variant="topbar-with-announce"] .actions {
  margin-top: 14px; margin-bottom: 14px;
}
.couture-nav-topbar[data-nav-variant="topbar-with-announce"] .brand { padding-left: var(--c-gutter); }
.couture-nav-topbar[data-nav-variant="topbar-with-announce"] .actions { padding-right: var(--c-gutter); }

/* topbar-inverted-dark: dark background, light text — unmistakable */
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] {
  background: var(--c-ink); border-bottom: none; color: var(--c-paper);
}
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] .brand a,
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] nav a,
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] .actions a { color: var(--c-paper); }
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] .brand-word { color: var(--c-paper); }
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] .actions .cart {
  border-color: var(--c-paper); color: var(--c-paper);
}
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] .actions .cart:hover {
  background: var(--c-paper); color: var(--c-ink);
}
.couture-nav-topbar[data-nav-variant="topbar-inverted-dark"] nav a:hover { border-color: var(--c-accent-3); }

/* topbar-dense-utility: thinner, smaller text, more functional vibe */
.couture-nav-topbar[data-nav-variant="topbar-dense-utility"] {
  padding: 8px var(--c-gutter); border-bottom-width: 1px;
}
.couture-nav-topbar[data-nav-variant="topbar-dense-utility"] nav ul { gap: 18px; font-size: 10px; }
.couture-nav-topbar[data-nav-variant="topbar-dense-utility"] .actions .cart { padding: 5px 10px; font-size: 10px; }
.couture-nav-topbar[data-nav-variant="topbar-dense-utility"] .brand a { font-size: 18px; }

/* topbar-borderless-airy: no bottom border, lots of vertical padding, lighter */
.couture-nav-topbar[data-nav-variant="topbar-borderless-airy"] {
  padding: 32px var(--c-gutter); border-bottom: none; backdrop-filter: none;
  background: transparent;
}
.couture-nav-topbar[data-nav-variant="topbar-borderless-airy"] nav ul { gap: 40px; }

/* topbar-pill-menu: menu items rendered as pills with light grey bg */
.couture-nav-topbar[data-nav-variant="topbar-pill-menu"] nav ul { gap: 8px; }
.couture-nav-topbar[data-nav-variant="topbar-pill-menu"] nav a {
  padding: 7px 14px; background: var(--c-paper-2); border-radius: 999px;
  border-bottom: none; font-size: 11px;
}
.couture-nav-topbar[data-nav-variant="topbar-pill-menu"] nav a:hover {
  background: var(--c-ink); color: var(--c-paper); border-color: transparent;
}

/* V6.231 — operator R27 night autopilot Round 2: 2 NEW top-bar variants. */

/* topbar-mega-grid: hover the menu and a 4-col mega panel slides down (CSS-only).
   Each link gets a soft underline; on hover the parent row gets a faint accent
   bg-tint. Visually distinct from default rows of inline links. */
.couture-nav-topbar[data-nav-variant="topbar-mega-grid"] {
  border-bottom: 1px solid color-mix(in oklab, var(--c-ink) 8%, transparent);
}
.couture-nav-topbar[data-nav-variant="topbar-mega-grid"] nav ul { gap: 28px; }
.couture-nav-topbar[data-nav-variant="topbar-mega-grid"] nav a {
  font-weight: 600; padding-bottom: 4px;
  border-bottom: 2px solid transparent; transition: border-color .15s, color .15s;
}
.couture-nav-topbar[data-nav-variant="topbar-mega-grid"] nav a:hover {
  border-bottom-color: var(--c-accent); color: var(--c-accent);
}
.couture-nav-topbar[data-nav-variant="topbar-mega-grid"] .nav-dropdown {
  width: min(96vw, 1100px); padding: 28px 32px;
  background: var(--c-paper); border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  box-shadow: 0 18px 60px rgba(0,0,0,.08);
}
.couture-nav-topbar[data-nav-variant="topbar-mega-grid"] .nav-dropdown-list {
  display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 14px 28px;
}
.couture-nav-topbar[data-nav-variant="topbar-mega-grid"] .nav-dropdown-list a {
  padding: 6px 0; font-weight: 500; font-size: 14px;
  border-bottom: 1px solid var(--c-line);
}

/* topbar-rail-numbers: editorial single-rail with hand-numbered prefixes
   on each link via CSS counter — no markup change required. Looks like a
   museum exhibit nav or a literary publication's masthead. */
.couture-nav-topbar[data-nav-variant="topbar-rail-numbers"] {
  padding-top: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--c-line);
}
.couture-nav-topbar[data-nav-variant="topbar-rail-numbers"] nav ul {
  counter-reset: nav-num; gap: 36px;
}
.couture-nav-topbar[data-nav-variant="topbar-rail-numbers"] nav a {
  counter-increment: nav-num;
  font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em;
  text-transform: uppercase; font-weight: 500;
}
.couture-nav-topbar[data-nav-variant="topbar-rail-numbers"] nav a::before {
  content: counter(nav-num, decimal-leading-zero) "  ";
  color: var(--c-accent); font-weight: 700; margin-right: 4px;
}
.couture-nav-topbar[data-nav-variant="topbar-rail-numbers"] .brand a {
  font-family: var(--c-display); font-style: italic; font-weight: 600;
}

/* ----- DRAWER variants ----- */
/* drawer-burger-right: existing behaviour */

/* drawer-burger-left: trigger swaps to LEFT, brand centers */
.couture-nav-drawer[data-nav-variant="drawer-burger-left"] { flex-direction: row-reverse; justify-content: space-between; }
.couture-nav-drawer[data-nav-variant="drawer-burger-left"] .drawer-brand { flex: 1; text-align: center; }

/* drawer-with-announce: same as topbar-with-announce but for drawer */
.couture-nav-drawer[data-nav-variant="drawer-with-announce"] { flex-wrap: wrap; padding: 0; }
.couture-nav-drawer[data-nav-variant="drawer-with-announce"] > .couture-announce-bar { order: -1; }
.couture-nav-drawer[data-nav-variant="drawer-with-announce"] .drawer-brand,
.couture-nav-drawer[data-nav-variant="drawer-with-announce"] .drawer-trigger {
  margin-top: 16px; margin-bottom: 16px;
}
.couture-nav-drawer[data-nav-variant="drawer-with-announce"] .drawer-brand { padding-left: var(--c-gutter); }
.couture-nav-drawer[data-nav-variant="drawer-with-announce"] .drawer-trigger { margin-right: var(--c-gutter); }

/* drawer-fullscreen-takeover: panel goes fullscreen, big type even bigger */
.couture-nav-drawer[data-nav-variant="drawer-fullscreen-takeover"] .drawer-panel {
  width: 100vw; max-width: 100vw; padding: 100px 60px 60px;
}
.couture-nav-drawer[data-nav-variant="drawer-fullscreen-takeover"] .drawer-panel a { font-size: 56px; }
@media (max-width: 700px) {
  .couture-nav-drawer[data-nav-variant="drawer-fullscreen-takeover"] .drawer-panel a { font-size: 36px; }
}

/* V6.231 — drawer-side-edge: panel slides from left, narrower (380px),
   with a full-height accent stripe on the right edge. Different visual
   envelope than burger overlays — feels like a pinned utility drawer
   from a SaaS dashboard. */
.couture-nav-drawer[data-nav-variant="drawer-side-edge"] .drawer-panel {
  left: 0; right: auto;
  width: 380px; max-width: 92vw;
  padding: 56px 36px 40px;
  border-right: 6px solid var(--c-accent);
  background: var(--c-paper);
  box-shadow: 8px 0 32px rgba(0,0,0,.1);
}
.couture-nav-drawer[data-nav-variant="drawer-side-edge"] .drawer-panel a {
  display: block; padding: 12px 0;
  border-bottom: 1px solid var(--c-line);
  font-family: var(--c-body); font-size: 18px; font-weight: 600;
  color: var(--c-ink);
}
.couture-nav-drawer[data-nav-variant="drawer-side-edge"] .drawer-panel a:hover {
  color: var(--c-accent); padding-left: 8px; transition: padding .15s;
}

/* ----- SIDE-RAIL variants ----- */
/* siderail-thin-left: existing behaviour */

/* siderail-thin-right: rail moves to RIGHT side */
.couture-nav-siderail[data-nav-variant="siderail-thin-right"] {
  left: auto; right: 0; border-right: none; border-left: 1px solid var(--c-line);
}
body:has(.couture-nav-siderail[data-nav-variant="siderail-thin-right"]) .couture-spatial { margin-left: 0; margin-right: 240px; }
body:has(.couture-nav-siderail[data-nav-variant="siderail-thin-right"]) .couture-footer { margin-left: 0; margin-right: 240px; }

/* siderail-wide-narrative: 320px rail with brand statement */
.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"] { width: 320px; padding: 40px 28px; gap: 32px; }
.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"] .rail-tagline {
  font-family: var(--c-body); font-size: 13px; line-height: 1.55; color: var(--c-muted);
  margin: 0; padding-bottom: 8px; border-bottom: 1px solid var(--c-line);
}
body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) .couture-spatial { margin-left: 320px; }
body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) .couture-footer { margin-left: 320px; }

/* V6.294 — siderail-dark-bold: inverted dark sidebar with bold mono labels */
.couture-nav-siderail[data-nav-variant="siderail-dark-bold"] { background: #0a0a0a !important; border-right: 0 !important; padding: 32px 22px; }
.couture-nav-siderail[data-nav-variant="siderail-dark-bold"] .rail-brand a { color: #fafafa; font-family: var(--c-mono); font-style: normal; font-weight: 800; letter-spacing: -.005em; text-transform: uppercase; font-size: 18px; }
.couture-nav-siderail[data-nav-variant="siderail-dark-bold"] .rail-menu a { color: #fafafa; font-family: var(--c-mono); font-weight: 700; letter-spacing: .14em; padding-left: 18px; }
.couture-nav-siderail[data-nav-variant="siderail-dark-bold"] .rail-menu a:hover { color: var(--c-accent); }
.couture-nav-siderail[data-nav-variant="siderail-dark-bold"] .rail-menu a::before { background: var(--c-accent); }
.couture-nav-siderail[data-nav-variant="siderail-dark-bold"] .rail-cta { background: var(--c-accent); color: #0a0a0a; font-weight: 800; }

/* V6.294 — siderail-minimal-icons: ultra-narrow 64px rail with icon glyphs only */
.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"] { width: 64px; padding: 24px 0; align-items: center; }
.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"] .rail-brand a { font-size: 24px; line-height: 1; padding: 0; }
.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"] .rail-menu { gap: 18px; align-items: center; padding: 24px 0; }
.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"] .rail-menu a { padding: 0; font-size: 0; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 6px; background: var(--c-paper-2); color: var(--c-ink); position: relative; }
.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"] .rail-menu a::before { content: ""; position: absolute; left: -18px; right: auto; top: .55em; }
.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"] .rail-menu a::after { content: attr(href); font-size: 10px; color: var(--c-accent); display: block; }
.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"] .rail-cta { padding: 6px; font-size: 10px; }
body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) .couture-spatial,
body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) .couture-footer,
body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) main:not(.couture-spatial),
body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) main.couture-page,
body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) .wp-site-blocks > .wp-block-group:not(.couture-spatial) { margin-left: 64px; }
@media (max-width: 900px) {
  body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) .couture-spatial,
  body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) .couture-footer,
  body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) main:not(.couture-spatial),
  body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) main.couture-page,
  body:has(.couture-nav-siderail[data-nav-variant="siderail-minimal-icons"]) .wp-site-blocks > .wp-block-group:not(.couture-spatial) { margin-left: 0; }
}
/* V6.287 — operator R28 audit (lustraya.com confirmed live: nav-siderail
   wide-narrative variant 320px wide overlapping main + couture-page).
   Wide variant needs 320px not 240px. Apply to all standard page wrappers. */
body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) main:not(.couture-spatial),
body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) main.couture-page,
body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) .wp-site-blocks > .wp-block-group:not(.couture-spatial) {
  margin-left: 320px;
}
@media (max-width: 900px) {
  body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) main:not(.couture-spatial),
  body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) main.couture-page,
  body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) .wp-site-blocks > .wp-block-group:not(.couture-spatial) {
    margin-left: 0;
  }
}

/* ----- DOT-INDEX variants ----- */
/* dotindex-right: existing behaviour (dot-rail right) */
/* dotindex-left: dot-rail moves left */
.couture-nav-dotindex[data-nav-variant="dotindex-left"] .dot-rail { right: auto; left: 24px; }
.couture-nav-dotindex[data-nav-variant="dotindex-left"] .dot-rail a::after { right: auto; left: 24px; }
/* dotindex-bottom: dot-rail becomes a horizontal pill at the bottom */
.couture-nav-dotindex[data-nav-variant="dotindex-bottom"] .dot-rail {
  flex-direction: row; right: 50%; bottom: 24px; top: auto; left: auto;
  transform: translateX(50%); padding: 8px 12px; gap: 10px;
}
.couture-nav-dotindex[data-nav-variant="dotindex-bottom"] .dot-rail a::after { display: none; }

/* ----- TOC variants ----- */
/* toc-header-flat: existing default */
/* toc-header-numbered: bigger numerals on each TOC entry */
.couture-nav-toc[data-nav-variant="toc-header-numbered"] .toc-list .toc-n {
  font-size: 22px; font-family: var(--c-display); font-style: italic; color: var(--c-ink);
}
.couture-nav-toc[data-nav-variant="toc-header-numbered"] .toc-list li { padding: 16px 0; }

/* toc-header-dotted: emphasises the dotted rule between entries */
.couture-nav-toc[data-nav-variant="toc-header-dotted"] .toc-list .toc-dots {
  border-bottom-width: 2px; border-color: var(--c-ink); min-width: 80px;
}
.couture-nav-toc[data-nav-variant="toc-header-dotted"] .toc-list { column-rule: 2px dotted var(--c-ink); }

/* ----- SPLIT-CORNER variants ----- */
/* split-corner-tl (top-left): existing default */
/* split-corner-tr: corner moves to top-right */
.couture-nav-split[data-nav-variant="split-corner-tr"] { left: auto; right: 28px; }
body:has(.couture-nav-split[data-nav-variant="split-corner-tr"]) .couture-spatial { padding-left: 0; padding-right: 260px; }
/* split-corner-bl: corner moves to bottom-left */
.couture-nav-split[data-nav-variant="split-corner-bl"] { top: auto; bottom: 28px; }
body:has(.couture-nav-split[data-nav-variant="split-corner-bl"]) .couture-spatial { padding-left: 260px; }

/* Mobile collapse: above ~700px viewports keep variants visible; below
   them, fall back to single-column drawer-style for predictable mobile UX. */
@media (max-width: 700px) {
  .couture-nav-topbar[data-nav-variant="topbar-split-stacked"] .topbar-row { padding: 10px var(--c-gutter); }
  .couture-nav-topbar[data-nav-variant="topbar-centered"] .brand { position: static; transform: none; }
  .couture-nav-topbar[data-nav-variant="topbar-borderless-airy"] { padding: 16px var(--c-gutter); }
  .couture-nav-topbar[data-nav-variant="topbar-pill-menu"] nav ul { gap: 6px; }
  .couture-nav-siderail[data-nav-variant="siderail-wide-narrative"] { width: 240px; }
  body:has(.couture-nav-siderail[data-nav-variant="siderail-wide-narrative"]) .couture-spatial { margin-left: 240px; }
  body:has(.couture-nav-siderail[data-nav-variant="siderail-thin-right"]) .couture-spatial { margin-right: 0; }
  .couture-nav-siderail[data-nav-variant="siderail-thin-right"] { display: none; }
  /* (mobile already handles drawer collapse via global rules) */
}

/* ============================================================
   SPATIAL WRAPPERS
============================================================ */

.couture-spatial-vertical { }

/* V4.6 — 100vh is broken on mobile Safari (the address bar in/out
   makes the viewport jump). 100dvh (dynamic viewport height) tracks
   the visible area; the 100vh fallback exists for older browsers
   that don't support dvh. */
.couture-spatial-chapters .couture-chapter { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; justify-content: center; padding: 0; position: relative; }
.couture-spatial-chapters .couture-chapter::before { content: attr(data-ch); position: absolute; top: 36px; right: 36px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; color: var(--c-accent); }
.couture-spatial-chapters .couture-chapter + .couture-chapter { border-top: 1px solid var(--c-line); }

.couture-spatial-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; min-height: 100dvh; }
.couture-spatial-split .split-left { padding: 60px var(--c-gutter); border-right: 1px solid var(--c-line); }
.couture-spatial-split .split-left .split-section + .split-section { margin-top: 96px; }
.couture-spatial-split .split-right { position: sticky; top: 0; height: 100vh; height: 100dvh; overflow: hidden; background: var(--c-paper-2); }
.couture-spatial-split .split-well { position: absolute; inset: 0; background-image: radial-gradient(circle at 30% 40%, var(--c-accent) 0%, transparent 40%), radial-gradient(circle at 70% 70%, var(--c-accent-2) 0%, transparent 45%); opacity: .4; }

.couture-spatial-stage { height: 100vh; height: 100dvh; overflow: hidden; }
.couture-spatial-stage .stage-track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.couture-spatial-stage .stage-panel { flex: 0 0 100vw; height: 100%; overflow-y: auto; scroll-snap-align: start; padding: 40px var(--c-gutter); border-right: 1px solid var(--c-line); }

.couture-spatial-canvas .canvas-wall { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(180px, auto); gap: 16px; padding: var(--c-gutter); }
.couture-spatial-canvas .canvas-tile { padding: 24px; border: 1px solid var(--c-line); background: var(--c-paper-2); overflow: hidden; position: relative; }
.couture-spatial-canvas .canvas-tile:nth-child(1) { grid-column: span 8; grid-row: span 2; }
.couture-spatial-canvas .canvas-tile:nth-child(2) { grid-column: span 4; grid-row: span 2; background: var(--c-ink); color: var(--c-paper); }
.couture-spatial-canvas .canvas-tile:nth-child(3) { grid-column: span 5; grid-row: span 1; transform: rotate(-1deg); }
.couture-spatial-canvas .canvas-tile:nth-child(4) { grid-column: span 7; grid-row: span 1; }
.couture-spatial-canvas .canvas-tile:nth-child(5) { grid-column: span 4; background: var(--c-accent-3); }
.couture-spatial-canvas .canvas-tile:nth-child(6) { grid-column: span 8; }
.couture-spatial-canvas .canvas-tile:nth-child(7) { grid-column: span 6; transform: rotate(.5deg); }
.couture-spatial-canvas .canvas-tile:nth-child(n+8) { grid-column: span 6; }

/* ============================================================
   PAGE ANATOMIES — headers & common frames
============================================================ */

.couture-page { padding: clamp(32px, 5vw, 80px) var(--c-gutter) clamp(80px, 12vw, 160px); max-width: 1280px; margin: 0 auto; }
.couture-shop-head, .couture-journal-head, .couture-arch-head { margin-bottom: clamp(36px, 5vw, 64px); }
.couture-shop-head .num, .couture-journal-head .num, .couture-arch-head .num { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); padding-top: 12px; border-top: 2px solid var(--c-accent); display: inline-block; margin-bottom: 16px; padding-right: 18px; }
.couture-shop-head h1, .couture-journal-head h1, .couture-arch-head h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(40px, 6vw, 96px); line-height: .95; letter-spacing: -.02em; margin: 0 0 18px; }
.couture-shop-head .lede, .couture-journal-head .lede, .couture-arch-head .lede { max-width: 56ch; color: var(--c-ink-soft); font-size: clamp(16px, 1.4vw, 20px); }

/* shop layout with facets */
.couture-shop-layout { display: grid; grid-template-columns: 240px 1fr; gap: clamp(24px, 3vw, 48px); }
.couture-shop-facets { font-family: var(--c-body); }
.couture-shop-facets section { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px dashed var(--c-line); }
.couture-shop-facets h3 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin: 0 0 14px; font-weight: 500; }
.couture-shop-facets ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.couture-shop-facets a { color: var(--c-ink); text-decoration: none; font-size: 14px; }
.couture-shop-facets a:hover { color: var(--c-accent-2); }
.couture-shop-facets label { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--c-ink-soft); cursor: pointer; }
.couture-shop-facets select { width: 100%; padding: 10px 12px; border: 1px solid var(--c-line); font-family: var(--c-body); font-size: 14px; background: var(--c-paper); }
/* V4.63 — premium shop sidebar (operator R12 night auto-pilot).
   Stripe/Shopify-style filter rail with grouped sections, in-stock
   toggle, real WC GET-param filters, sort dropdown, apply/reset CTAs. */
.couture-shop-facets--v2 {
  background: var(--c-paper-2, color-mix(in oklab, var(--c-ink) 3%, var(--c-paper)));
  padding: 24px;
  border-radius: var(--c-card-radius, 6px);
  border: 1px solid var(--c-line);
  position: sticky;
  top: 100px;
  align-self: start;
}
.couture-shop-facets--v2 .facet-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.couture-shop-facets--v2 .facet-group {
  padding: 0 0 18px;
  margin: 0 0 18px;
  border-bottom: 1px solid var(--c-line);
}
.couture-shop-facets--v2 .facet-group:last-of-type {
  border-bottom: none;
}
.couture-shop-facets--v2 h3 {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin: 0 0 12px;
  font-weight: 600;
}
.couture-shop-facets--v2 .facet-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-shop-facets--v2 .facet-list a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 6px 8px;
  margin: 0 -8px;
  border-radius: 4px;
  color: var(--c-ink);
  text-decoration: none;
  font-size: 14px;
  text-transform: capitalize;
  transition: background .12s;
}
.couture-shop-facets--v2 .facet-list a:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, transparent);
}
.couture-shop-facets--v2 .facet-count {
  color: var(--c-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.couture-shop-facets--v2 .facet-empty {
  color: var(--c-muted);
  font-size: 13px;
  font-style: italic;
}
.couture-shop-facets--v2 .facet-price label,
.couture-shop-facets--v2 .facet-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--c-ink);
  cursor: pointer;
  padding: 4px 0;
}
.couture-shop-facets--v2 .facet-price input,
.couture-shop-facets--v2 .facet-toggle input {
  accent-color: var(--c-accent);
}
.couture-shop-facets--v2 .facet-sort {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--c-line);
  border-radius: 4px;
  font-family: var(--c-body);
  font-size: 13px;
  background: var(--c-paper);
  color: var(--c-ink);
  cursor: pointer;
}
.couture-shop-facets--v2 .facet-apply {
  display: block;
  width: 100%;
  margin-top: 4px;
  padding: 11px 16px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: none;
  border-radius: 4px;
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
.couture-shop-facets--v2 .facet-apply:hover {
  background: var(--c-accent);
}
.couture-shop-facets--v2 .facet-reset {
  display: block;
  text-align: center;
  margin-top: 10px;
  padding: 6px 0;
  color: var(--c-muted);
  text-decoration: none;
  font-size: 12px;
  letter-spacing: .04em;
}
.couture-shop-facets--v2 .facet-reset:hover { color: var(--c-ink); }
@media (max-width: 768px) {
  .couture-shop-facets--v2 { position: static; }
}

.couture-cat-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: clamp(24px, 3vw, 40px); }
.couture-cat-chips a { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; padding: 8px 14px; border: 1px solid var(--c-line); color: var(--c-ink); text-decoration: none; }
.couture-cat-chips a:hover { background: var(--c-ink); color: var(--c-paper); }

.couture-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: clamp(20px, 2vw, 32px); }
.couture-cat-grid .cat-card a { text-decoration: none; color: inherit; }
.couture-cat-grid .cat-img { aspect-ratio: 4/5; overflow: hidden; background: var(--c-paper-2); border: 1px solid var(--c-line); margin-bottom: 14px; }
.couture-cat-grid .cat-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1);  }
.couture-cat-grid .cat-card:hover .cat-img img { transform: scale(1.04); }
.couture-cat-grid h3 { font-family: var(--c-display); font-size: 20px; font-style: italic; font-weight: 500; margin: 0 0 4px; }
.couture-cat-grid .origin { font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 6px; }
.couture-cat-grid .price { font-family: var(--c-display); font-weight: 500; font-size: 18px; }

/* gallery wall */
.couture-gallerywall { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 120px; gap: 12px; }
.couture-gallerywall .gw-tile { overflow: hidden; position: relative; display: block; text-decoration: none; background: var(--c-paper-2); }
.couture-gallerywall .gw-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.couture-gallerywall .gw-tile:hover img { transform: scale(1.05); }
.couture-gallerywall .gw-square { grid-column: span 3; grid-row: span 2; }
.couture-gallerywall .gw-wide   { grid-column: span 6; grid-row: span 2; }
.couture-gallerywall .gw-tall   { grid-column: span 3; grid-row: span 3; }
.couture-gallerywall .gw-label { position: absolute; left: 14px; bottom: 14px; right: 14px; display: flex; justify-content: space-between; color: var(--c-paper); font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.couture-gallerywall .gw-label em { font-style: italic; font-family: var(--c-display); font-size: 16px; letter-spacing: 0; text-transform: none; }

/* product pages */
/* V4.67 — premium PDP polish (operator R12 Round 11).
   Breadcrumb above hero, dual CTA (add to cart + wishlist),
   trust microcopy below CTA, sale price strikethrough treatment. */
.couture-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 32px;
  font-family: var(--c-body);
  font-size: 13px;
  color: var(--c-muted);
}
.couture-breadcrumb a {
  color: var(--c-muted) !important;
  text-decoration: none;
  transition: color .15s;
}
.couture-breadcrumb a:hover { color: var(--c-ink) !important; }
.couture-breadcrumb .bc-sep { color: var(--c-muted); opacity: .6; }
.couture-breadcrumb .bc-current {
  color: var(--c-ink);
  font-weight: 500;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 320px;
  white-space: nowrap;
}
.couture-product-lede--v2 .pr-cta-row {
  display: flex;
  gap: 12px;
  align-items: stretch;
  margin-bottom: 28px;
}
.couture-product-lede--v2 .cta--primary {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 28px !important;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 6px;
}
.couture-product-lede--v2 .cta--secondary {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  background: var(--c-paper) !important;
  color: var(--c-ink) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 6px;
  font-size: 22px;
  cursor: pointer;
  transition: border-color .15s, color .15s;
}
.couture-product-lede--v2 .cta--secondary:hover {
  border-color: var(--c-accent) !important;
  color: var(--c-accent) !important;
}
.couture-product-lede--v2 .pr-trust {
  list-style: none;
  margin: 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--c-line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  font-size: 12px;
  color: var(--c-muted);
}
.couture-product-lede--v2 .pr-trust li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-product-lede--v2 .pr-trust li::before {
  content: "✓";
  color: var(--c-accent);
  font-weight: 700;
}
.couture-product-lede--v2 .price.price--on-sale {
  display: flex;
  gap: 12px;
  align-items: baseline;
}
.couture-product-lede--v2 .price-was {
  text-decoration: line-through;
  color: var(--c-muted);
  font-size: 18px;
  font-weight: 400;
}
.couture-product-lede--v2 .price-now {
  color: var(--c-accent);
  font-size: 32px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
/* V4.68 — WooCommerce single-product polish (operator R12 Round 12).
   Real product pages on craftelea + clean-family sites use WC's
   built-in single-product template, not our productTabs renderer.
   These rules style the WC markup so it matches the premium feel
   of the rest of the site instead of looking like default WC. */
body.single-product .product .summary {
  padding: 0 0 0 clamp(20px, 3vw, 40px);
}
body.single-product .product .product_title {
  font-family: var(--c-display);
  font-weight: 700;
  font-size: clamp(28px, 3.5vw, 44px);
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--c-ink);
  margin: 0 0 18px;
}
body.single-product .product .price,
body.single-product .product .summary .price {
  font-family: var(--c-display);
  font-weight: 600;
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--c-ink);
  margin: 0 0 22px;
  font-variant-numeric: tabular-nums;
}
body.single-product .product .price ins {
  text-decoration: none;
  color: var(--c-accent);
  font-weight: 700;
  margin-right: 12px;
}
body.single-product .product .price del {
  color: var(--c-muted);
  font-weight: 400;
  font-size: .8em;
  margin-right: 8px;
}
body.single-product .product .woocommerce-product-details__short-description {
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-ink-soft, var(--c-ink));
  margin: 0 0 28px;
  max-width: 56ch;
}
body.single-product .product .quantity { margin: 0 12px 0 0; }
body.single-product .product .quantity input.qty {
  width: 64px;
  padding: 14px 10px;
  border: 1px solid var(--c-line);
  border-radius: 6px;
  background: var(--c-paper);
  font-family: var(--c-body);
  font-size: 14px;
  text-align: center;
}
body.single-product .product form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 22px 0 32px;
}
body.single-product .product .single_add_to_cart_button,
body.single-product .product button.single_add_to_cart_button.button.alt {
  padding: 16px 32px !important;
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: var(--c-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: background .2s, transform .15s !important;
  flex: 1;
  min-width: 200px;
}
body.single-product .product .single_add_to_cart_button:hover {
  background: var(--c-accent) !important;
  transform: translateY(-1px);
}
body.single-product .product .product_meta {
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  padding: 18px 0;
  margin: 24px 0 0;
  font-size: 13px;
  color: var(--c-muted);
}
body.single-product .product .product_meta > span {
  display: block;
  padding: 4px 0;
}
body.single-product .product .product_meta a {
  color: var(--c-ink) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s;
}
body.single-product .product .product_meta a:hover {
  border-bottom-color: var(--c-accent);
}
body.single-product .product .woocommerce-tabs {
  margin: clamp(48px, 6vw, 80px) 0 0;
  padding-top: clamp(32px, 4vw, 56px);
  border-top: 1px solid var(--c-line);
}
body.single-product .product .woocommerce-tabs .tabs {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  border-bottom: 1px solid var(--c-line);
}
body.single-product .product .woocommerce-tabs .tabs li {
  margin: 0;
}
body.single-product .product .woocommerce-tabs .tabs li a {
  display: inline-block;
  padding: 12px 22px;
  font-family: var(--c-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--c-muted) !important;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .15s, border-color .15s;
}
body.single-product .product .woocommerce-tabs .tabs li.active a,
body.single-product .product .woocommerce-tabs .tabs li a:hover {
  color: var(--c-ink) !important;
  border-bottom-color: var(--c-accent);
}
body.single-product .related.products,
body.single-product .upsells.products {
  margin: clamp(64px, 8vw, 120px) 0 0;
  padding-top: clamp(40px, 5vw, 72px);
  border-top: 1px solid var(--c-line);
}
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  font-family: var(--c-display);
  font-weight: 600;
  font-size: clamp(24px, 2.5vw, 32px);
  margin: 0 0 32px;
  color: var(--c-ink);
}
body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
body.single-product .related.products .product .woocommerce-loop-product__title,
body.single-product .upsells.products .product .woocommerce-loop-product__title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--c-ink) !important;
  margin: 12px 0 4px;
}

.couture-product-lede { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(32px, 4vw, 64px); margin-bottom: clamp(48px, 6vw, 96px); align-items: start; }
.couture-product-lede .pr-img { aspect-ratio: 4/5; overflow: hidden; background: var(--c-paper-2); border: 1px solid var(--c-line); }
.couture-product-lede .pr-img img { width: 100%; height: 100%; object-fit: cover; }
.couture-product-lede .eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 16px; }
.couture-product-lede h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 80px); line-height: .95; margin: 0 0 18px; letter-spacing: -.02em; }
.couture-product-lede .short { font-size: clamp(15px, 1.3vw, 18px); color: var(--c-ink-soft); max-width: 48ch; margin-bottom: 24px; }
.couture-product-lede .price { font-family: var(--c-display); font-weight: 500; font-size: 28px; margin-bottom: 24px; }
.couture-product-lede .cta, .couture-product-editorial .cta, .couture-product-tech .cta, .couture-product-conv .cta, .couture-product-lookhero .cta, .couture-appointment-cta .cta, .couture-repair .cta, .couture-press-kit .cta, .couture-product-atelier .cta { display: inline-block; padding: 14px 22px; background: var(--c-ink); color: var(--c-paper); border: none; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; text-decoration: none; }
.couture-product-lede .cta:hover { background: var(--c-accent); }

.couture-product-tabs { border-top: 1px solid var(--c-line); padding-top: 28px; margin-top: 64px; }
.couture-product-tabs nav { display: flex; gap: 4px; border-bottom: 1px solid var(--c-line); margin-bottom: 28px; }
.couture-product-tabs [role="tab"] { background: transparent; border: none; padding: 14px 18px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; color: var(--c-ink-soft); border-bottom: 2px solid transparent; }
.couture-product-tabs [role="tab"][aria-selected="true"] { color: var(--c-accent); border-bottom-color: var(--c-accent); }
.couture-product-tabs [role="tabpanel"] { display: none; }
.couture-product-tabs [role="tabpanel"].active { display: block; }
.couture-product-tabs [role="tabpanel"] { padding: 10px 0 30px; font-size: 16px; color: var(--c-ink-soft); line-height: 1.7; }

.couture-spec { padding: 28px 0; }
.couture-spec h3 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin: 0 0 18px; font-weight: 500; }
.couture-spec dl { display: grid; grid-template-columns: 180px 1fr; gap: 6px 20px; }
.couture-spec.as-grid dl { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.couture-spec dl > div { display: contents; }
.couture-spec dt { font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); padding: 8px 0; border-top: 1px dashed var(--c-line); }
.couture-spec dd { margin: 0; padding: 8px 0; border-top: 1px dashed var(--c-line); font-family: var(--c-body); font-size: 14px; }
.couture-spec.dense dt, .couture-spec.dense dd { padding: 4px 0; font-size: 12px; }

/* V4.12 — In the box + Care sub-sections inside the Specs panel.
   Renders inside `.couture-spec` after the dl. Visually distinct from
   the spec rows so the operator can tell them apart at a glance. */
.couture-spec-inbox, .couture-spec-care { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--c-line); }
.couture-spec-inbox h4, .couture-spec-care h4 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); margin: 0 0 12px; font-weight: 500; }
.couture-spec-inbox ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.couture-spec-inbox li { font-family: var(--c-body); font-size: 14px; padding-left: 22px; position: relative; }
.couture-spec-inbox li::before { content: '·'; position: absolute; left: 8px; top: -4px; font-size: 22px; color: var(--c-accent); line-height: 1; }
.couture-spec-care p { font-family: var(--c-body); font-size: 14px; line-height: 1.65; margin: 0; color: var(--c-ink); }

.couture-related { margin-top: 96px; padding-top: 48px; border-top: 1px solid var(--c-line); }
.couture-related h2 { font-family: var(--c-display); font-style: italic; font-weight: 300; font-size: clamp(28px, 3vw, 42px); margin: 0 0 28px; }
.couture-related .rel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.couture-related .rel-card img { aspect-ratio: 4/5; width: 100%; object-fit: cover; display: block; background: var(--c-paper-2); }
.couture-related h4 { font-family: var(--c-display); font-weight: 500; font-style: italic; font-size: 18px; margin: 14px 0 4px; }
.couture-related h4 a { color: inherit; text-decoration: none; }
.couture-related .price { font-family: var(--c-display); font-weight: 500; font-size: 16px; }

/* product variants */
.couture-product-editorial-hero { text-align: center; margin-bottom: 60px; }
.couture-product-editorial-hero h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(40px, 7vw, 120px); line-height: .95; letter-spacing: -.02em; margin: 18px 0; }
.couture-product-editorial-hero .lede { max-width: 48ch; margin: 0 auto; font-size: clamp(16px, 1.4vw, 20px); color: var(--c-ink-soft); }
.couture-product-big-image { margin: 60px 0; aspect-ratio: 16/9; overflow: hidden; border: 1px solid var(--c-line); }
.couture-product-big-image img { width: 100%; height: 100%; object-fit: cover; }
.couture-product-longread { max-width: 64ch; margin: 0 auto 80px; font-size: 17px; line-height: 1.7; color: var(--c-ink-soft); }
.couture-product-longread p { margin: 0 0 1.1em; }
.couture-product-longread p:first-child::first-letter { font-family: var(--c-display); font-size: 5em; line-height: .85; float: left; margin: 8px 12px 0 -4px; color: var(--c-accent-2); }
.couture-product-buy { text-align: center; padding: 40px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); margin-bottom: 60px; }
.couture-product-buy .price { font-family: var(--c-display); font-weight: 300; font-size: 56px; margin-bottom: 20px; }

.couture-product-atelier { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.couture-product-atelier figure { margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--c-paper-2); }
.couture-product-atelier figure img { width: 100%; height: 100%; object-fit: cover; }
.couture-product-atelier .eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 18px; }
.couture-product-atelier h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(40px, 5vw, 72px); line-height: 1; margin: 0 0 18px; letter-spacing: -.02em; }
.couture-product-atelier .atelier-spec { display: grid; grid-template-columns: 140px 1fr; gap: 8px 16px; margin: 32px 0; font-family: var(--c-mono); font-size: 12px; }
.couture-product-atelier dt { letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); padding: 10px 0; border-top: 1px dashed var(--c-line); }
.couture-product-atelier dd { padding: 10px 0; border-top: 1px dashed var(--c-line); margin: 0; font-family: var(--c-body); font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--c-ink); }

.couture-product-tech { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 60px; }
.couture-product-tech figure { margin: 0; aspect-ratio: 1/1; overflow: hidden; background: var(--c-ink); display: grid; place-items: center; }
.couture-product-tech figure img { width: 100%; height: 100%; object-fit: cover; }
.couture-product-tech h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 64px); line-height: 1; margin: 18px 0; }
.couture-product-tech .price { font-family: var(--c-display); font-weight: 500; font-size: 32px; margin: 24px 0; }
.couture-product-firmware { padding: 32px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); margin-bottom: 60px; }
.couture-product-firmware h2 { font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin: 0 0 20px; font-weight: 500; }
.couture-product-firmware .fw-row { display: grid; grid-template-columns: 80px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px dashed var(--c-line); font-family: var(--c-mono); font-size: 12px; line-height: 1.5; }

.couture-product-conv { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 60px; align-items: center; }
.couture-product-conv figure { margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--c-paper-2); border-radius: var(--c-card-radius); }
.couture-product-conv figure img { width: 100%; height: 100%; object-fit: cover; }
.couture-product-conv h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 64px); margin: 0 0 24px; letter-spacing: -.02em; }
.couture-product-qa dl { display: flex; flex-direction: column; gap: 28px; max-width: 72ch; }
.couture-product-qa dt { font-family: var(--c-display); font-style: italic; font-size: 22px; margin-bottom: 8px; }
.couture-product-qa dd { margin: 0; font-size: 16px; line-height: 1.65; color: var(--c-ink-soft); padding-left: 28px; border-left: 2px solid var(--c-accent); }

.couture-product-lookhero { min-height: 80vh; background-size: cover; background-position: center; position: relative; padding: 60px var(--c-gutter); color: var(--c-paper); display: flex; align-items: flex-end; border-radius: var(--c-card-radius); overflow: hidden; }
.couture-product-lookhero .lookhero-meta { max-width: 48ch; }
.couture-product-lookhero .eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 20px; opacity: .9; }
.couture-product-lookhero h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(48px, 8vw, 120px); line-height: .95; margin: 0 0 24px; text-shadow: 0 2px 20px rgba(0,0,0,.4); }
.couture-product-lookhero .pair { display: flex; gap: 24px; align-items: center; }
.couture-product-lookhero .price { font-family: var(--c-display); font-weight: 500; font-size: 28px; }

/* journal */
/* V4.70 — journal/blog index polish (operator R12 Round 14).
   Was: 280px-min cards with thin italic headlines + tiny accent num.
   Now: 320px-min cards with hover-lift, rounded image, bold-not-italic
   title (matches clean-business typography), date+author byline at
   bottom in mono uppercase, accent on hover. */
.couture-journal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: clamp(28px, 3vw, 48px); }
.couture-journal-grid .jr-card {
  display: flex;
  flex-direction: column;
  transition: transform .25s var(--c-premium-ease, cubic-bezier(.2,.8,.2,1));
}
.couture-journal-grid .jr-card:hover { transform: translateY(-4px); }
.couture-journal-grid .jr-card a { text-decoration: none; color: inherit; }
.couture-journal-grid .jr-card img {
  aspect-ratio: 4/3;
  width: 100%;
  object-fit: cover;
  display: block;
  background: var(--c-paper-2);
  border-radius: var(--c-card-radius, 6px);
  transition: filter .25s;
}
.couture-journal-grid .jr-card:hover img { filter: brightness(.96); }
.couture-journal-grid .jr-card .jr-meta {
  padding: 18px 4px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.couture-journal-grid .jr-card .num {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin: 0;
  font-weight: 600;
}
.couture-journal-grid .jr-card h2 {
  font-family: var(--c-display);
  font-weight: 600;
  font-size: clamp(20px, 1.8vw, 24px);
  line-height: 1.25;
  letter-spacing: -0.015em;
  margin: 0;
  font-style: normal;
}
.couture-journal-grid .jr-card h2 a { color: var(--c-ink) !important; text-decoration: none; transition: color .15s; }
.couture-journal-grid .jr-card h2 a:hover { color: var(--c-accent) !important; }
.couture-journal-grid .jr-card p {
  color: var(--c-ink-soft, var(--c-ink));
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-journal-grid .jr-card .byline {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--c-muted);
  margin-top: auto;
  padding-top: 8px;
}
.couture-journal-grid .byline { font-family: var(--c-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); margin-top: 10px; }

/* V5.19 — blog list layout (horizontal rows: thumb | meta) */
.couture-journal-list { display: flex; flex-direction: column; gap: clamp(28px, 3vw, 44px); max-width: 920px; margin: 0 auto; }
.couture-journal-list .jr-row {
  display: grid;
  grid-template-columns: minmax(160px, 240px) 1fr;
  gap: clamp(20px, 2.4vw, 36px);
  align-items: start;
  padding-bottom: clamp(28px, 3vw, 44px);
  border-bottom: 1px solid var(--c-line);
}
.couture-journal-list .jr-row:last-child { border-bottom: 0; padding-bottom: 0; }
.couture-journal-list .jr-row-thumb,
.couture-journal-list .jr-row-thumb-empty {
  display: block;
  aspect-ratio: 4 / 3;
  background: var(--c-paper-2);
  overflow: hidden;
}
.couture-journal-list .jr-row-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.couture-journal-list .jr-row-thumb:hover img { transform: scale(1.04); }
.couture-journal-list .jr-row-meta { display: flex; flex-direction: column; gap: 10px; }
.couture-journal-list .jr-row-kicker { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); }
.couture-journal-list .jr-row-title { font-family: var(--c-display); font-weight: 400; font-size: clamp(22px, 2.4vw, 32px); line-height: 1.15; letter-spacing: -.01em; margin: 0; }
.couture-journal-list .jr-row-title a { color: var(--c-ink) !important; text-decoration: none; transition: color .15s; }
.couture-journal-list .jr-row-title a:hover { color: var(--c-accent) !important; }
.couture-journal-list .jr-row-excerpt { color: var(--c-ink-soft); font-size: 15px; line-height: 1.55; margin: 0; max-width: 60ch; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.couture-journal-list .jr-row-byline { font-family: var(--c-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); margin-top: 6px; }
@media (max-width: 640px) {
  .couture-journal-list .jr-row { grid-template-columns: 1fr; gap: 16px; }
  .couture-journal-list .jr-row-thumb { aspect-ratio: 16 / 9; }
}

/* V5.19 — blog magazine layout (BIG featured + 3-col grid below) */
.couture-journal-magazine { display: flex; flex-direction: column; gap: clamp(48px, 5vw, 80px); }
.couture-journal-magazine .jr-featured {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(28px, 3.5vw, 56px);
  align-items: center;
  padding-bottom: clamp(40px, 4vw, 64px);
  border-bottom: 2px solid var(--c-ink);
}
.couture-journal-magazine .jr-featured-img { display: block; overflow: hidden; aspect-ratio: 5 / 4; background: var(--c-paper-2); }
.couture-journal-magazine .jr-featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.couture-journal-magazine .jr-featured-img:hover img { transform: scale(1.03); }
.couture-journal-magazine .jr-featured-meta { display: flex; flex-direction: column; gap: 16px; }
.couture-journal-magazine .jr-featured-meta .jr-kicker,
.couture-journal-magazine .jr-featured-meta .num { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); }
.couture-journal-magazine .jr-featured-meta h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 4.6vw, 64px); line-height: 1.02; letter-spacing: -.02em; margin: 0; }
.couture-journal-magazine .jr-featured-meta h2 a { color: var(--c-ink) !important; text-decoration: none; transition: color .15s; }
.couture-journal-magazine .jr-featured-meta h2 a:hover { color: var(--c-accent) !important; }
.couture-journal-magazine .jr-featured-meta p { color: var(--c-ink-soft); font-size: clamp(15px, 1.2vw, 17px); line-height: 1.6; margin: 0; max-width: 52ch; }
.couture-journal-magazine .jr-featured-meta .byline,
.couture-journal-magazine .jr-featured-meta .jr-byline { font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-journal-magazine-rest { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; gap: clamp(24px, 2.4vw, 36px) !important; }
@media (max-width: 760px) {
  .couture-journal-magazine .jr-featured { grid-template-columns: 1fr; gap: 20px; padding-bottom: 32px; }
  .couture-journal-magazine .jr-featured-img { aspect-ratio: 16 / 9; }
}

.couture-issues-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 32px; }
.couture-issues-grid .iss-cover { text-decoration: none; color: inherit; display: block; }
.couture-issues-grid .iss-cover img { aspect-ratio: 3/4; width: 100%; object-fit: cover; background: var(--c-paper-2); box-shadow: var(--c-card-shadow); }
.couture-issues-grid .iss-meta { display: flex; flex-direction: column; margin-top: 16px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; }
.couture-issues-grid .iss-meta strong { font-size: 11px; color: var(--c-accent); margin-bottom: 6px; }
.couture-issues-grid .iss-meta span:not(.date) { font-family: var(--c-display); font-style: italic; font-size: 18px; letter-spacing: 0; color: var(--c-ink); text-transform: none; font-weight: 400; }
.couture-issues-grid .iss-meta .date { text-transform: uppercase; color: var(--c-muted); margin-top: 4px; }

/* articles */
.couture-article-essay { max-width: 680px; margin: 0 auto; }
.couture-article-essay header { text-align: center; margin-bottom: 48px; padding-bottom: 40px; border-bottom: 1px solid var(--c-line); }
.couture-article-essay .eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 18px; display: block; }
.couture-article-essay h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 72px); line-height: 1.05; margin: 0 0 20px; letter-spacing: -.02em; }
.couture-article-essay .byline { font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.couture-article-essay figure.cover { margin: 0 calc(-1 * var(--c-gutter)) 48px; }
.couture-article-essay figure.cover img { width: 100%; display: block; }
.couture-article-essay .body p { font-size: 19px; line-height: 1.7; margin: 0 0 1.5em; font-family: var(--c-body); }
.couture-article-essay .body p:first-child::first-letter { font-family: var(--c-display); font-size: 5em; line-height: .85; float: left; margin: 8px 14px 0 -4px; color: var(--c-accent-2); }
.couture-article-essay .callout { margin: 40px 0; padding: 32px; border-left: 3px solid var(--c-accent); background: var(--c-paper-2); font-family: var(--c-display); font-style: italic; font-size: 24px; line-height: 1.3; }
.couture-article-essay .end-rule { text-align: center; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--c-line); }

.couture-article-field { max-width: 900px; margin: 0 auto; }
.couture-article-field header { padding: 0 0 40px; border-bottom: 2px solid var(--c-ink); margin-bottom: 48px; }
.couture-article-field header h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 72px); margin: 14px 0; line-height: 1; }
.couture-article-field .stop { display: grid; grid-template-columns: 48px 1fr; gap: 24px; margin-bottom: 72px; position: relative; }
.couture-article-field .stop-n { font-family: var(--c-mono); font-size: 12px; letter-spacing: .1em; color: var(--c-accent); padding-top: 8px; border-top: 2px solid var(--c-accent); height: 40px; }
.couture-article-field .stop figure { margin: 0 0 20px; }
.couture-article-field .stop figure img { width: 100%; display: block; aspect-ratio: 16/10; object-fit: cover; }
.couture-article-field .stop figcaption { font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); margin-top: 8px; }
.couture-article-field .stop h2 { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: 32px; margin: 0 0 14px; }
.couture-article-field .stop p { font-size: 17px; line-height: 1.7; color: var(--c-ink-soft); }

.couture-article-release header { border-bottom: 2px solid var(--c-ink); padding-bottom: 28px; margin-bottom: 40px; }
.couture-article-release header h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 64px); margin: 10px 0; }
.couture-article-release .body { font-family: var(--c-body); font-size: 16px; line-height: 1.7; color: var(--c-ink-soft); margin-bottom: 40px; max-width: 680px; }

.couture-article-manifesto { max-width: 920px; margin: 0 auto; text-align: left; padding: 80px 0; }
.couture-article-manifesto header { margin-bottom: 60px; }
.couture-article-manifesto header h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(48px, 8vw, 120px); line-height: .95; letter-spacing: -.02em; margin: 10px 0 0; }
.couture-article-manifesto .manifest-lines { list-style: none; padding: 0; margin: 0; counter-reset: ml; }
.couture-article-manifesto .manifest-lines li { counter-increment: ml; font-family: var(--c-display); font-weight: 300; font-size: clamp(28px, 4vw, 56px); line-height: 1.15; padding: 24px 0 24px 80px; border-top: 1px solid var(--c-line); position: relative; font-style: italic; }
.couture-article-manifesto .manifest-lines li::before { content: counter(ml, decimal-leading-zero); position: absolute; left: 0; top: 28px; font-family: var(--c-mono); font-style: normal; font-size: 12px; letter-spacing: .1em; color: var(--c-accent); }
.couture-article-manifesto .sign { margin-top: 48px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }

.couture-article-catalog { max-width: 1080px; margin: 0 auto; }
.couture-article-catalog .cat-head { padding-bottom: 32px; border-bottom: 2px solid var(--c-ink); margin-bottom: 40px; }
.couture-article-catalog .cat-head h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 72px); margin: 12px 0; line-height: 1; }
.couture-article-catalog .body.two-col { columns: 2; column-gap: 48px; column-rule: 1px dashed var(--c-line); font-size: 16px; line-height: 1.7; color: var(--c-ink-soft); }
.couture-article-catalog .body.two-col p { margin: 0 0 1em; break-inside: avoid; }
@media (max-width: 800px) { .couture-article-catalog .body.two-col { columns: 1; } }

/* about pages */
.couture-team { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; padding: var(--c-rhythm) var(--c-gutter); }
.couture-team figure { margin: 0; }
.couture-team figure img { width: 100%; aspect-ratio: 4/5; object-fit: cover; background: var(--c-paper-2); }
.couture-team figcaption { margin-top: 14px; display: flex; flex-direction: column; gap: 4px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.couture-team figcaption strong { font-family: var(--c-display); font-size: 20px; font-style: italic; letter-spacing: 0; text-transform: none; }

.couture-colophon { max-width: 720px; }
.couture-colophon .colophon-list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--c-line); margin-top: 32px; }
.couture-colophon .colophon-list > div { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--c-line); font-family: var(--c-body); }
.couture-colophon dt { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-colophon dd { margin: 0; font-size: 15px; color: var(--c-ink); }

/* contact */
.couture-appointment { max-width: 860px; }
.couture-appointment h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(40px, 6vw, 96px); line-height: .95; margin: 12px 0 18px; letter-spacing: -.02em; }
.couture-appointment .appt-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin: 40px 0; }
.couture-appointment .appt-form label { display: flex; flex-direction: column; gap: 6px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-appointment .appt-form label.full { grid-column: span 2; }
.couture-appointment .appt-form input, .couture-appointment .appt-form textarea { padding: 12px 14px; border: 1px solid var(--c-line); background: var(--c-paper); font-family: var(--c-body); font-size: 15px; color: var(--c-ink); }
.couture-appointment .appt-form button { grid-column: span 2; padding: 16px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; background: var(--c-ink); color: var(--c-paper); border: none; cursor: pointer; }
.couture-appointment .appt-info { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; padding: 28px 0; border-top: 1px solid var(--c-line); }
.couture-appointment .appt-info strong { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); display: block; margin-bottom: 6px; }

/* stockists */
.couture-stockists { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 48px; }
.couture-stockists .city h2 { font-family: var(--c-display); font-weight: 300; font-size: 28px; margin: 0 0 20px; border-bottom: 2px solid var(--c-ink); padding-bottom: 10px; letter-spacing: -.01em; }
.couture-stockists .city ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.couture-stockists .city li { padding: 12px 0; border-bottom: 1px dashed var(--c-line); display: flex; flex-direction: column; gap: 4px; }
.couture-stockists .city strong { font-family: var(--c-display); font-size: 18px; font-style: italic; font-weight: 400; }
.couture-stockists .city span { font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; color: var(--c-muted); }

/* firmware / repair */
.couture-firmware-list article { padding: 24px 0; border-bottom: 1px solid var(--c-line); }
.couture-firmware-list header { display: flex; justify-content: space-between; font-family: var(--c-mono); font-size: 12px; letter-spacing: .1em; margin-bottom: 14px; }
.couture-firmware-list header strong { color: var(--c-accent); font-size: 14px; }
.couture-firmware-list ul { list-style: disc; padding-left: 24px; font-family: var(--c-body); color: var(--c-ink-soft); line-height: 1.7; }
.couture-repair { max-width: 720px; }
.couture-repair h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 72px); line-height: 1; margin: 12px 0 18px; }

/* press */
.couture-press-kit { text-align: center; margin-top: 48px; }

/* home-section: categories strip */
.couture-cat-strip { padding: var(--c-rhythm) var(--c-gutter); }
.couture-cat-strip h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(28px, 3vw, 48px); margin: 0 0 24px; }
.couture-cat-strip .strip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.couture-cat-strip .strip-tile { position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--c-paper-2); display: block; text-decoration: none; color: var(--c-paper); }
.couture-cat-strip .strip-tile img { width: 100%; height: 100%; object-fit: cover; }
.couture-cat-strip .strip-tile span { position: absolute; bottom: 14px; left: 14px; font-family: var(--c-display); font-style: italic; font-size: 22px; text-shadow: 0 1px 8px rgba(0,0,0,.6); }

/* V4.18.3 — categories_strip monogram tile (operator-flagged on
   reverentis.com: categories had no images, so the strip rendered as
   tiny text labels with no backing visual). When neither the
   category nor any matching product has an image, render a solid
   accent-colored tile with the category's first letter as a stylized
   monogram. Looks intentional rather than broken. */
.couture-cat-strip .strip-tile--monogram {
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center;
  padding: 18px;
}
/* V6.60 — render monogram letter from data-cat-letter attr instead of
   inline <span>. Keeps the visual but removes the duplicate text node
   that was leaking into Yoast's og:description (woodalyn shipped
   "BBuilding SetsPPuzzles…" because monogram + label concatenated). */
.couture-cat-strip .strip-tile--monogram::before {
  content: attr(data-cat-letter);
  position: static;
  display: block;
  font-family: var(--c-display);
  font-weight: 300;
  font-size: clamp(64px, 9vw, 128px);
  line-height: 1;
  font-style: italic;
  text-shadow: none;
  margin-bottom: 8px;
  color: var(--c-paper);
}
/* V6.373 — operator iter 30 audit (aromoli.com): old cached HTML
   had BOTH ::before content (V6.60 path) AND legacy <span
   class="strip-monogram">G</span> — two visible Gs rendering as
   "GGlobal Spice Blends". Hide the legacy span entirely when
   ::before is active (data-cat-letter present on parent). */
.couture-cat-strip .strip-tile--monogram[data-cat-letter] .strip-monogram { display: none !important; }
/* Legacy <span class="strip-monogram"> rule kept for any pre-V6.60
   cached HTML (defensive). */
.couture-cat-strip .strip-tile--monogram .strip-monogram {
  position: static;
  display: block;
  font-family: var(--c-display);
  font-weight: 300;
  font-size: clamp(64px, 9vw, 128px);
  line-height: 1;
  font-style: italic;
  text-shadow: none;
  margin-bottom: 8px;
  color: var(--c-paper);
}
.couture-cat-strip .strip-tile--monogram .strip-label {
  position: static;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-style: normal;
  text-shadow: none;
  color: var(--c-paper);
  bottom: auto; left: auto;
}
/* Vary monogram tile background per cell so the strip looks like a
   composed gradient, not 6 identical colored squares. */
.couture-cat-strip .strip-tile--monogram:nth-child(2n)   { background: var(--c-ink); }
.couture-cat-strip .strip-tile--monogram:nth-child(3n)   { background: var(--c-accent-2); }
.couture-cat-strip .strip-tile--monogram:nth-child(5n+1) { background: var(--c-accent-3); }

/* home-section: journal teaser */
.couture-journal-teaser { padding: var(--c-rhythm) var(--c-gutter); }
.couture-journal-teaser h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(32px, 4vw, 56px); margin: 0 0 32px; }
.couture-journal-teaser .teaser-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.couture-journal-teaser .teaser a { text-decoration: none; color: inherit; display: block; }
.couture-journal-teaser .teaser img { aspect-ratio: 4/3; width: 100%; object-fit: cover; background: var(--c-paper-2); }
.couture-journal-teaser .teaser h3 { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: 22px; margin: 14px 0 6px; }

/* V6.358 — single-article featured callout (replaces dropped journal_teaser
   when site only has 1 article). Reads as "From the journal: latest essay"
   instead of an awkward 1-of-3 grid with empty space. */
.couture-journal-feature { padding: var(--c-rhythm) var(--c-gutter); }
.couture-journal-feature .jf-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
  background: var(--c-paper-2, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink) 4%));
  padding: clamp(32px, 4vw, 64px);
  border: 1px solid var(--c-line);
  border-radius: var(--c-card-radius, 6px);
}
.couture-journal-feature .jf-cover img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: var(--c-img-radius, 4px);
  display: block;
}
.couture-journal-feature .jf-text { display: flex; flex-direction: column; gap: 16px; }
.couture-journal-feature .jf-eyebrow {
  font-family: var(--c-mono, monospace);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-ink-soft, var(--c-ink));
  opacity: .7;
  margin: 0;
}
.couture-journal-feature .jf-title {
  font-family: var(--c-display);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 500;
  line-height: 1.15;
  margin: 0;
  color: var(--c-ink);
}
.couture-journal-feature .jf-excerpt {
  font-family: var(--c-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-ink);
  margin: 0;
}
.couture-journal-feature .jf-cta {
  font-family: var(--c-display);
  font-size: 15px;
  font-weight: 500;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  align-self: flex-start;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  margin-top: 8px;
}
.couture-journal-feature .jf-cta:hover { opacity: .75; }
@media (max-width: 720px) {
  .couture-journal-feature .jf-card { grid-template-columns: 1fr; }
}
/* V6.362 — single-column variant when article has no cover image. */
.couture-journal-feature--no-cover .jf-card { grid-template-columns: 1fr; max-width: 720px; margin: 0 auto; }
.couture-journal-feature--no-cover .jf-text { text-align: center; }
.couture-journal-feature--no-cover .jf-eyebrow { text-align: center; }
.couture-journal-feature--no-cover .jf-excerpt { max-width: 60ch; margin-left: auto; margin-right: auto; }
.couture-journal-feature--no-cover .jf-cta { align-self: center; }

/* home-section: releases */
.couture-releases-teaser { padding: var(--c-rhythm) var(--c-gutter); }
.couture-releases-teaser .release-list { list-style: none; margin: 24px 0 0; padding: 0; border-top: 2px solid var(--c-ink); }
.couture-releases-teaser .release-list li a { display: grid; grid-template-columns: 80px 1fr auto; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--c-line); color: var(--c-ink); text-decoration: none; font-family: var(--c-mono); font-size: 13px; letter-spacing: .08em; }
.couture-releases-teaser .release-list strong { color: var(--c-accent); }
.couture-releases-teaser .release-list span { font-family: var(--c-display); font-style: italic; font-size: 18px; letter-spacing: 0; }

/* home-section: field notes */
.couture-field-strip { padding: var(--c-rhythm) var(--c-gutter); }
.couture-field-strip h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(32px, 4vw, 56px); margin: 0 0 24px; }
.couture-field-strip .field-rail { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.couture-field-strip .field-tile { position: relative; aspect-ratio: 3/4; display: block; text-decoration: none; color: var(--c-paper); overflow: hidden; }
.couture-field-strip .field-tile img { width: 100%; height: 100%; object-fit: cover; }
.couture-field-strip .field-caption { position: absolute; left: 14px; right: 14px; bottom: 14px; font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(0,0,0,.8); }
.couture-field-strip .field-caption strong { color: var(--c-accent-3); display: block; margin-bottom: 4px; }
.couture-field-strip .field-caption span { font-family: var(--c-display); font-style: italic; font-size: 18px; letter-spacing: 0; text-transform: none; }

/* home-section: map callout */
.couture-map-callout { padding: var(--c-rhythm) var(--c-gutter); display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.couture-map-callout .mc-text h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 72px); margin: 0 0 16px; line-height: 1; }
.couture-map-callout .mc-map { aspect-ratio: 4/3; background: linear-gradient(135deg, var(--c-paper-2), var(--c-ink)); background-image: radial-gradient(circle at 40% 50%, var(--c-accent) 2px, transparent 3px), radial-gradient(circle at 20% 30%, var(--c-accent-2) 2px, transparent 3px), radial-gradient(circle at 70% 70%, var(--c-accent-3) 2px, transparent 3px), linear-gradient(135deg, var(--c-paper-2), var(--c-ink)); background-size: 100% 100%; border: 1px solid var(--c-line); }

/* home-section: appointment CTA */
.couture-appointment-cta { padding: var(--c-rhythm) var(--c-gutter); background: var(--c-ink); color: var(--c-paper); text-align: center; }
.couture-appointment-cta h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(36px, 5vw, 80px); margin: 0 0 20px; line-height: 1; color: var(--c-paper); }
.couture-appointment-cta p { max-width: 50ch; margin: 0 auto 32px; font-size: 18px; opacity: .9; }
.couture-appointment-cta .cta { background: var(--c-accent); color: var(--c-paper); }

/* home-section: signatories */
.couture-signatories { padding: var(--c-rhythm) var(--c-gutter); }
.couture-signatories h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(32px, 4vw, 56px); margin: 0 0 32px; }
.couture-signatories ul { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: 32px; }
.couture-signatories li { break-inside: avoid; padding: 14px 0; border-top: 1px dashed var(--c-line); display: flex; justify-content: space-between; font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; }
.couture-signatories li strong { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: 18px; letter-spacing: 0; text-transform: none; }

/* home-section: scrapbook */
.couture-scrapbook { padding: var(--c-rhythm) var(--c-gutter); position: relative; }
.couture-scrapbook .sb-wall { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-top: 24px; }
.couture-scrapbook .sb-card { padding: 18px; background: var(--c-paper); border: 1px solid var(--c-line); box-shadow: var(--c-card-shadow); }
.couture-scrapbook .sb-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 12px; }
.couture-scrapbook .sb-card p { font-family: var(--c-body); font-size: 14px; color: var(--c-ink-soft); margin: 0; line-height: 1.5; }
.couture-scrapbook .sb-0 { transform: rotate(-1.5deg); }
.couture-scrapbook .sb-1 { transform: rotate(.8deg) translateY(10px); }
.couture-scrapbook .sb-2 { transform: rotate(-.5deg) translateY(20px); }
.couture-scrapbook .sb-3 { transform: rotate(1.2deg); }

/* home-section: lookbook grid */
.couture-lookbook-grid { padding: var(--c-rhythm) var(--c-gutter); }
.couture-lookbook-grid .lb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-top: 24px; }
.couture-lookbook-grid .lb-tile { display: block; position: relative; aspect-ratio: 3/4; text-decoration: none; color: var(--c-paper); overflow: hidden; }
.couture-lookbook-grid .lb-tile img { width: 100%; height: 100%; object-fit: cover; }
.couture-lookbook-grid .lb-tile span { position: absolute; left: 14px; bottom: 14px; font-family: var(--c-display); font-style: italic; font-size: 22px; text-shadow: 0 1px 8px rgba(0,0,0,.6); }

/* ensure older responsive breakpoint still applies to new layouts */
@media (max-width: 900px) {
  .couture-shop-layout { grid-template-columns: 1fr; }
  .couture-product-lede, .couture-product-atelier, .couture-product-tech, .couture-product-conv, .couture-map-callout { grid-template-columns: 1fr; }
  .couture-appointment .appt-form { grid-template-columns: 1fr; }
  .couture-appointment .appt-form label.full, .couture-appointment .appt-form button { grid-column: span 1; }
  .couture-signatories ul { columns: 2; }
  .couture-spatial-split { grid-template-columns: 1fr; }
  .couture-spatial-split .split-right { display: none; }
  body:has(.couture-nav-siderail) .couture-spatial,
  body:has(.couture-nav-siderail) .couture-footer { margin-left: 0; }
  .couture-nav-siderail { position: relative; width: 100%; height: auto; border-right: none; border-bottom: 1px solid var(--c-line); flex-direction: row; padding: 16px var(--c-gutter); gap: 24px; align-items: center; }
  .couture-nav-siderail .rail-menu { flex-direction: row; flex-wrap: wrap; }
  body:has(.couture-nav-split) .couture-spatial { padding-left: 0; }
  .couture-nav-split { position: relative; top: 0; left: 0; max-width: 100%; }
  .couture-gallerywall { grid-template-columns: repeat(6, 1fr); }
  .couture-gallerywall .gw-wide { grid-column: span 6; }
  .couture-gallerywall .gw-square, .couture-gallerywall .gw-tall { grid-column: span 3; }
}

@media (max-width: 900px) {
  .couture-hero .hero-sub, .couture-story, .couture-ritual, .couture-newsletter .wrap, .couture-footer-grid { grid-template-columns: 1fr; }
  .couture-products { grid-template-columns: repeat(2, 1fr); }
  .couture-products .prod { grid-column: span 1 !important; transform: none !important; }
  .couture-ritual .sticky { position: relative; top: 0; }
  .couture-pullquote::before { font-size: 280px; top: -30px; }
  .couture-story-magazine .mag-grid { grid-template-columns: 1fr; }
  .couture-lookbook .lookbook-stack { grid-template-columns: 1fr 1fr; }
  .couture-lookbook .lb-big, .couture-lookbook .lb-small { grid-column: span 1; margin-top: 0; }
  .couture-lookbook .lb { transform: none !important; }
  .couture-hero--vertical { grid-template-columns: 1fr; }
  .couture-hero--vertical .vert-head { writing-mode: horizontal-tb; transform: none; }
  .couture-process-diagram .diagram-ring { aspect-ratio: auto; display: block; }
  .couture-process-diagram .ring-node { position: relative; width: auto; transform: none !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; margin-bottom: 16px; }
  .couture-process-diagram .ring-hub { position: relative; inset: auto; margin: 32px 0; }
  .couture-checklist .spec-list { grid-template-columns: 1fr; }
  .couture-checklist .spec-list li { border-right: none; }
  .couture-stats .stat { border-right: none; border-bottom: 1px solid var(--c-line); }
}

/* ---------------------------------------------------------------------------
 * Brand logo placement (rendered by nav.js / brandBlock).
 *
 * The renderer emits <img class="brand-logo brand-logo--<variant>" src="..."/>
 * inside the per-archetype brand wrapper (.brand, .rail-brand, .dot-brand,
 * .drawer-brand, .toc-brand, .split-brand, .grand-mark, .atl-mark, .stamp-mark
 * etc.) in parts/header.html and parts/footer.html. The publisher swaps the
 * src for the WP-uploaded media URL after the theme is on disk; if no logo
 * was generated, the image is hidden with the placeholder src.
 * ----------------------------------------------------------------------- */
.couture-nav-topbar .brand,
.couture-nav-siderail .rail-brand,
.couture-nav-dotindex .dot-brand,
.couture-nav-drawer .drawer-brand,
.couture-nav-toc .toc-brand,
.couture-nav-split .split-brand { display: flex; align-items: center; gap: 12px; }

a.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; line-height: 1; }
a.brand:hover { opacity: .85; }

/* Logo defaults raised in V4.3 (handoff item N2) — wordmark logos at 44px
   were unreadable, especially on AI-generated assets where the wordmark
   IS the brand. Per-archetype scaling is applied INLINE on the <img> by
   nav.js (multiplies these defaults). */
/* V5.18 — operator audit: "Logo barely visible, very small". Bumped
   logo display heights so SVG-text wordmark (now 1024×400 viewBox) and
   AI-illustration logos both render at readable sizes. */
img.brand-logo { display: block; height: 72px; width: auto; max-width: 380px; object-fit: contain; }
img.brand-logo--standard { height: 72px; max-width: 380px; }
img.brand-logo--lockup   { height: 56px; max-width: 280px; }
img.brand-logo--mark     { height: 52px; max-width: 120px; }
img.brand-logo--stamp    { height: 72px; max-width: 320px; margin-bottom: 18px; }
img.brand-logo--large    { height: 88px; max-width: 360px; }

/* V4.18 — operator flagged "no logo" on chedralis live. The renderer
 * now ALWAYS emits both <img class="brand-logo" ...> AND
 * <span class="brand-word"> (the wordmark text). Default state: image
 * is visible AND wordmark is HIDDEN inside the topbar. The img tag's
 * onload handler adds `.brand--has-logo` to the parent <a>; the
 * onerror handler removes it. So:
 *
 *   - Image loads OK     → .brand--has-logo present → wordmark hidden,
 *                          logo visible (existing visual behaviour).
 *   - Image 404 / blocked → .brand--has-logo missing → wordmark
 *                           visible, broken image hidden.
 *   - Token unsubstituted → src is "__BRAND_LOGO_URL__" → onload never
 *                           fires → wordmark visible.
 *   - Empty src           → onload never fires either → wordmark
 *                           visible.
 *
 * Net: every nav has SOMETHING visible identifying the brand, no
 * matter what happens upstream. */
img.brand-logo[src="__BRAND_LOGO_URL__"],
img.brand-logo[src=""] { display: none !important; }

/* V6.288 — operator R28 audit (lustraya.com: "no logo, just text"):
   When the image src is empty (logo gen/upload failed) the onerror
   handler doesn't fire (because display:none means browser skips
   loading entirely), so .brand--logo-failed never gets set and the
   wordmark stayed hidden. Use :has() to force-show wordmark whenever
   the brand image src is empty or unsubstituted. */
.brand:has(img.brand-logo[src="__BRAND_LOGO_URL__"]) .brand-word,
.brand:has(img.brand-logo[src=""]) .brand-word { display: inline !important; }
/* Also: when wordmark is the ONLY brand element visible, bump its
   visual weight so it reads as a designed wordmark instead of plain
   body text. Targets the "logo failed/empty" state across nav/footer. */
.brand:has(img.brand-logo[src="__BRAND_LOGO_URL__"]) .brand-word,
.brand:has(img.brand-logo[src=""]) .brand-word,
.brand--logo-failed .brand-word {
  font-size: clamp(20px, 2.2vw, 28px) !important;
  font-weight: 600 !important;
  letter-spacing: -.012em;
}

/* V4.53 — inverted brand-word visibility. Operator R10: brand wordmark
   was rendering alongside logo on every site (operator: "logo is ugly").
   Cause: onload-based class toggle was unreliable on cache hits. Now:
   default HIDES wordmark globally (assumes logo loaded); show only on
   .brand--logo-failed (added by onerror handler) or .brand--shows-word
   (explicit opt-in for lockup). Applies in EVERY context (nav, footer,
   side-rail, sealed footers) — was previously scoped to topbar only. */
.brand .brand-word { display: none; }
/* V6.361 — operator R+ visual audit (jigzari.com): footer rendered
   logo image (123×48) AND wordmark "Jigzari" (424×84) side by side =
   visual double logo. Cause: CSS forced .brand--mark to ALWAYS show
   brand-word, intended for "icon + name beside it" lockups. But our
   logos are wordmark PNGs already — showing the text too is redundant.
   New behavior: brand--mark behaves like the default — show wordmark
   ONLY when logo failed (onerror handler adds .brand--logo-failed)
   OR when caller explicitly opts in via .brand--shows-word. */
.brand.brand--logo-failed .brand-word,
.brand--logo-failed .brand-word,
a.brand--shows-word .brand-word,
a.brand--shows-word.brand--logo-failed .brand-word { display: inline; }

/* In the side-rail / toc the lockup variant intentionally shows BOTH the
 * mark and the wordmark beside it — set the wordmark style. */
.brand-word {
  font-family: var(--c-display);
  font-style: italic;
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--c-ink);
}

/* Footer flourishes that now host a logo image instead of a glyph */
.couture-footer--grand .grand-mark { margin-bottom: 18px; }
.couture-footer--grand .grand-mark img.brand-logo { height: 64px; max-width: 280px; }
.couture-footer--atelier .atl-mark { display: flex; align-items: flex-start; min-height: 64px; }
.couture-footer--atelier .atl-mark img.brand-logo { height: 64px; max-width: 200px; }
.couture-footer--spec .spec-brand { display: flex; align-items: center; gap: 14px; }
.couture-footer--spec .spec-brand img.brand-logo { height: 36px; max-width: 100px; filter: grayscale(1) contrast(1.2); }
.couture-footer--spec .spec-brand-text { font-family: var(--c-mono); font-size: 14px; letter-spacing: .14em; }
.couture-footer--colophon .col-mark { margin: 14px 0 28px; }
.couture-footer--colophon .col-mark img.brand-logo { height: 40px; max-width: 180px; opacity: .85; }
.couture-footer--stamp .stamp-mark { display: flex; justify-content: center; align-items: center; }
.couture-footer--stamp .stamp-mark img.brand-logo { height: 72px; max-width: 200px; }

/* When a paper-2 background is on the topbar, give the logo a quiet
 * surface so high-contrast logos don't clash with the noise/grain motif. */
.couture-nav-topbar { gap: 18px; }
@media (max-width: 900px) {
  img.brand-logo--standard { height: 48px; max-width: 220px; }
  img.brand-logo--lockup   { height: 38px; max-width: 180px; }
  img.brand-logo--mark     { height: 36px; max-width: 80px; }
  img.brand-logo--stamp    { height: 52px; max-width: 220px; }
}

/* ---------------------------------------------------------------------------
 * Subscription-box anatomies: /plans (tiers), /how-it-works (steps), /help (FAQ)
 * ----------------------------------------------------------------------- */

/* Common page-shell intro spacing */
.couture-page-plans-tiers,
.couture-page-how-it-works-steps,
.couture-page-help-faq { padding: var(--c-rhythm) var(--c-gutter); max-width: 1200px; margin: 0 auto; }
.couture-plans-head, .couture-hiw-head, .couture-help-head { margin-bottom: clamp(40px, 5vw, 72px); max-width: 720px; }
.couture-plans-head .num, .couture-hiw-head .num, .couture-help-head .num { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 14px; }
.couture-plans-head h1, .couture-hiw-head h1, .couture-help-head h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(40px, 6vw, 80px); line-height: 1; letter-spacing: -0.02em; margin: 0 0 18px; }
.couture-plans-head .lede, .couture-hiw-head .lede, .couture-help-head .lede { font-size: 18px; line-height: 1.55; color: var(--c-ink-soft); margin: 0; max-width: 56ch; }

/* /plans — three tier cards */
.couture-plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 36px; }
.couture-tier { position: relative; padding: 36px 30px 30px; background: var(--c-paper); border: 1px solid var(--c-line); display: flex; flex-direction: column; min-height: 540px; }
.couture-tier--featured { background: var(--c-ink); color: var(--c-paper); border-color: var(--c-ink); transform: translateY(-12px); box-shadow: 0 24px 48px -16px rgba(0,0,0,.18); }
.couture-tier--featured h2, .couture-tier--featured .tier-eyebrow, .couture-tier--featured .amount, .couture-tier--featured .cadence, .couture-tier--featured .tier-includes li { color: var(--c-paper); }
.couture-tier--featured .tier-includes li::before { background: var(--c-paper); }
.couture-tier .tier-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--c-accent-3); color: var(--c-paper); padding: 5px 14px; font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.couture-tier .tier-head { margin-bottom: 24px; }
.couture-tier .tier-eyebrow { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 8px; }
.couture-tier h2 { font-family: var(--c-display); font-weight: 300; font-size: 36px; line-height: 1; margin: 0 0 18px; letter-spacing: -0.01em; }
.couture-tier .tier-price { display: flex; align-items: baseline; gap: 6px; }
.couture-tier .tier-price .amount { font-family: var(--c-display); font-weight: 400; font-size: 56px; line-height: 1; }
.couture-tier .tier-price .cadence { font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); }
.couture-tier .tier-includes { list-style: none; margin: 0 0 28px; padding: 24px 0 0; border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent); flex: 1; }
.couture-tier .tier-includes li { position: relative; padding-left: 22px; margin-bottom: 12px; font-size: 14px; line-height: 1.5; }
.couture-tier .tier-includes li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 1px; background: var(--c-ink); }
.couture-tier .tier-cta { display: block; text-align: center; padding: 14px 18px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; background: var(--c-ink); color: var(--c-paper); transition: background .2s; }
.couture-tier--featured .tier-cta { background: var(--c-accent-3); }
.couture-tier .tier-cta:hover { background: var(--c-accent); }
.couture-plans-foot { margin-top: 32px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .04em; color: var(--c-muted); text-align: center; }

/* /how-it-works — numbered steps */
.couture-hiw-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 56px; margin-bottom: 64px; }
.couture-hiw-steps .hiw-step { display: grid; grid-template-columns: 80px 1fr; gap: 20px; padding: 20px 0; border-top: 1px solid var(--c-line); }
.couture-hiw-steps .hiw-num { font-family: var(--c-display); font-weight: 300; font-style: italic; font-size: 64px; line-height: 1; color: var(--c-accent); }
.couture-hiw-steps .hiw-body h3 { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: 22px; line-height: 1.2; margin: 0 0 8px; }
.couture-hiw-steps .hiw-body p { font-size: 15px; line-height: 1.55; color: var(--c-ink-soft); margin: 0; }
.couture-hiw-faq { padding: 48px 0; border-top: 2px solid var(--c-ink); }
.couture-hiw-faq h2 { font-family: var(--c-display); font-weight: 300; font-size: 32px; margin: 0 0 24px; }
.couture-hiw-faq dl { margin: 0; }
.couture-hiw-faq dl > div { padding: 18px 0; border-bottom: 1px solid var(--c-line); }
.couture-hiw-faq dt { font-family: var(--c-display); font-style: italic; font-size: 18px; margin-bottom: 8px; }
.couture-hiw-faq dd { font-size: 15px; line-height: 1.55; color: var(--c-ink-soft); margin: 0; }
.couture-hiw-faq .hiw-more { display: inline-block; margin-top: 24px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-ink); text-decoration: none; border-bottom: 1px solid var(--c-ink); padding-bottom: 4px; }
.couture-hiw-cta { text-align: center; padding: 32px 0; }
.couture-hiw-cta .cta { display: inline-block; padding: 18px 36px; background: var(--c-ink); color: var(--c-paper); font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.couture-hiw-cta .cta:hover { background: var(--c-accent); }

/* /help — accordion FAQ */
.couture-help-list { margin-bottom: 64px; }
.couture-help-item { border-bottom: 1px solid var(--c-line); padding: 0; }
.couture-help-item summary { display: flex; justify-content: space-between; align-items: center; padding: 22px 0; cursor: pointer; list-style: none; }
.couture-help-item summary::-webkit-details-marker { display: none; }
.couture-help-item .help-q { font-family: var(--c-display); font-weight: 400; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.3; padding-right: 24px; }
.couture-help-item .help-toggle { font-family: var(--c-mono); font-size: 22px; line-height: 1; color: var(--c-muted); flex-shrink: 0; transition: transform .2s; }
.couture-help-item[open] .help-toggle { transform: rotate(45deg); color: var(--c-ink); }
.couture-help-item .help-a { padding: 0 0 24px; max-width: 60ch; }
.couture-help-item .help-a p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--c-ink-soft); }
.couture-help-contact { padding: 40px 0; border-top: 2px solid var(--c-ink); }
.couture-help-contact h2 { font-family: var(--c-display); font-weight: 300; font-size: 32px; margin: 0 0 8px; }
.couture-help-contact p { font-size: 16px; color: var(--c-ink-soft); margin: 0 0 24px; max-width: 50ch; }
.couture-help-contact .help-contact-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.couture-help-contact .help-contact-list li { padding: 18px 0; border-top: 1px solid var(--c-line); }
.couture-help-contact .help-contact-list strong { display: block; font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 8px; }
.couture-help-contact .help-contact-list a, .couture-help-contact .help-contact-list span { font-family: var(--c-display); font-style: italic; font-size: 18px; color: var(--c-ink); text-decoration: none; }

@media (max-width: 900px) {
  .couture-plans-grid { grid-template-columns: 1fr; gap: 32px; }
  .couture-tier--featured { transform: none; }
  .couture-hiw-steps { grid-template-columns: 1fr; gap: 0; }
  .couture-hiw-steps .hiw-step { grid-template-columns: 56px 1fr; gap: 14px; }
  .couture-hiw-steps .hiw-num { font-size: 44px; }
}

/* =============================================================================
 * WooCommerce single-product layout (handoff items N1 + N7)
 *
 * The Couture renderer no longer emits a `/shop/<slug>/` standalone page.
 * Instead, WC owns `/product/<slug>/`, the theme provides
 * `templates/single-product.html`, and the editorial story + spec + Q&A is
 * written into the product `description` (which post-content renders as
 * .couture-product-wc-body inside the column on the right of the page,
 * below the image gallery, title, price, and add-to-cart).
 * ============================================================================= */
.couture-page-product-wc { padding: clamp(40px, 6vw, 96px) var(--c-gutter) clamp(80px, 12vw, 160px); max-width: 1320px; }
.couture-product-wc-grid { gap: clamp(32px, 5vw, 80px); margin-bottom: clamp(40px, 6vw, 80px); }
.couture-product-wc-gallery img { width: 100%; height: auto; display: block; }
.couture-product-wc-meta { display: flex; flex-direction: column; gap: 14px; align-self: start; position: sticky; top: 96px; }
.couture-product-wc-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 0; }
.couture-product-wc-eyebrow a { color: inherit; text-decoration: none; }
.couture-product-wc-title { font-family: var(--c-display); font-weight: 300; font-size: clamp(32px, 4vw, 56px); line-height: 1.05; letter-spacing: -.02em; margin: 0; }
.couture-product-wc-price { font-family: var(--c-display); font-style: italic; font-size: clamp(20px, 2vw, 28px); color: var(--c-accent); margin: 0; }
.couture-product-wc-price .price del { color: var(--c-muted); margin-right: 8px; }
.couture-product-wc-short { font-family: var(--c-body); font-size: 16px; line-height: 1.65; color: var(--c-ink-soft); max-width: 50ch; margin: 0; }
.couture-product-wc-meta .quantity { display: flex; align-items: center; gap: 8px; }
.couture-product-wc-meta .quantity input { width: 64px; padding: 12px 8px; border: 1px solid var(--c-line); background: var(--c-paper); font-family: var(--c-mono); font-size: 13px; text-align: center; }
.couture-product-wc-meta .single_add_to_cart_button,
.couture-product-wc-meta button[type="submit"] { display: inline-block; padding: 16px 28px; background: var(--c-ink); color: var(--c-paper); font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border: none; cursor: pointer; transition: background .2s; }
.couture-product-wc-meta .single_add_to_cart_button:hover,
.couture-product-wc-meta button[type="submit"]:hover { background: var(--c-accent); }
.couture-product-wc-meta .product_meta { font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; color: var(--c-muted); padding-top: 18px; border-top: 1px solid var(--c-line); margin-top: 8px; }
.couture-product-wc-meta .product_meta > span { display: block; padding: 4px 0; }

/* The body-only HTML the renderer wrote into description. Same vocabulary as
   the standalone product anatomies but without the duplicated chrome. */
.couture-product-wc-body { max-width: 720px; margin: 0; padding: clamp(40px, 5vw, 64px) 0 0; border-top: 1px solid var(--c-line); }
.couture-product-body { font-family: var(--c-body); font-size: 16px; line-height: 1.7; color: var(--c-ink); }
.couture-product-body .couture-product-lede { font-family: var(--c-display); font-style: italic; font-size: clamp(20px, 2vw, 26px); line-height: 1.4; color: var(--c-ink-soft); margin: 0 0 32px; }
.couture-product-body .couture-product-longread p { margin: 0 0 1.4em; }
.couture-product-body .couture-product-longread p:first-child::first-letter { font-family: var(--c-display); font-size: 4em; line-height: .85; float: left; padding: .08em .12em 0 0; font-weight: 400; color: var(--c-accent); }
.couture-product-body .couture-spec, .couture-product-body .atelier-spec { margin-top: 36px; }
.couture-product-body .couture-spec h3 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 16px; padding-top: 24px; border-top: 1px solid var(--c-line); }
.couture-product-body .couture-spec dl, .couture-product-body .atelier-spec { display: grid; grid-template-columns: minmax(120px, 1fr) 2fr; gap: 8px 24px; margin: 0; }
.couture-product-body .couture-spec dl > div { display: contents; }
.couture-product-body .couture-spec dt, .couture-product-body .atelier-spec dt { font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); padding: 10px 0; border-bottom: 1px dotted var(--c-line); }
.couture-product-body .couture-spec dd, .couture-product-body .atelier-spec dd { font-size: 14px; color: var(--c-ink); padding: 10px 0; margin: 0; border-bottom: 1px dotted var(--c-line); }
.couture-product-body .couture-product-qa dl { display: block; }
.couture-product-body .couture-product-qa dl > div { display: block; padding: 18px 0; border-bottom: 1px solid var(--c-line); }
.couture-product-body .couture-product-qa dt { font-family: var(--c-display); font-style: italic; font-size: clamp(18px, 1.6vw, 22px); margin-bottom: 8px; }
.couture-product-body .couture-product-qa dd { font-size: 15px; line-height: 1.65; color: var(--c-ink-soft); margin: 0; }
.couture-product-body .couture-product-firmware { margin-top: 32px; }
.couture-product-body .couture-product-firmware h3 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 12px; }
.couture-product-body .couture-product-firmware .fw-row { display: grid; grid-template-columns: 80px 1fr; gap: 16px; padding: 10px 0; border-bottom: 1px dotted var(--c-line); font-size: 14px; }
.couture-product-body .couture-product-firmware .fw-row strong { font-family: var(--c-mono); color: var(--c-accent); }
.couture-product-body .couture-product-tabs nav { display: flex; gap: 24px; border-bottom: 1px solid var(--c-line); margin-bottom: 24px; }
.couture-product-body .couture-product-tabs button { background: none; border: none; padding: 12px 0; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); cursor: pointer; border-bottom: 2px solid transparent; }
.couture-product-body .couture-product-tabs button[aria-selected="true"] { color: var(--c-ink); border-bottom-color: var(--c-accent); }
.couture-product-body .couture-product-tabs [role="tabpanel"] { display: none; }
.couture-product-body .couture-product-tabs [role="tabpanel"].active { display: block; }

.couture-product-wc-related { padding-top: clamp(48px, 6vw, 80px); margin-top: clamp(48px, 6vw, 80px); border-top: 1px solid var(--c-line); }
.couture-product-wc-related h2 { font-family: var(--c-display); font-weight: 300; font-style: italic; font-size: clamp(24px, 2.5vw, 36px); margin: 0 0 32px; }

/* Universal product trust block — ships, returns, made-by-hand. Always
   present at the bottom of every product body so even bare products show
   confidence-building content. (V4.4) */
.couture-product-trust { margin-top: 40px; padding: 24px 0; border-top: 1px solid var(--c-line); }
.couture-product-trust ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px 32px; }
.couture-product-trust li { display: flex; flex-direction: column; gap: 6px; }
.couture-product-trust strong { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-product-trust span { font-family: var(--c-body); font-size: 14px; line-height: 1.5; color: var(--c-ink); }

/* Empty-state message inside tabs — intentionally calm copy, not a 404. */
.couture-product-empty { font-family: var(--c-body); font-size: 14px; color: var(--c-muted); font-style: italic; margin: 0; padding: 16px 0; }

@media (max-width: 900px) {
  .couture-product-wc-grid { flex-direction: column !important; gap: 24px !important; }
  .couture-product-wc-grid .wp-block-column { flex-basis: auto !important; width: 100% !important; }
  .couture-product-wc-meta { position: static; }
  .couture-product-wc-body { padding-top: 24px; }
  .couture-product-body .couture-spec dl, .couture-product-body .atelier-spec { grid-template-columns: 1fr; gap: 0; }
  .couture-product-body .couture-spec dt, .couture-product-body .atelier-spec dt { padding-bottom: 4px; border-bottom: none; }
  .couture-product-body .couture-spec dd, .couture-product-body .atelier-spec dd { padding-top: 0; }

  /* V4.5 — sticky add-to-cart on mobile PDP. Once the gallery scrolls
     past, the cart row pins to the bottom edge so the visitor can buy
     without scrolling back. Replaces the "lost ATC" UX on long mobile
     pages. Desktop keeps the sticky-meta (top: 96px) handled above. */
  .couture-page-product-wc .couture-product-wc-meta .quantity,
  .couture-page-product-wc .couture-product-wc-meta .single_add_to_cart_button,
  .couture-page-product-wc .couture-product-wc-meta button[type="submit"] { /* no change to layout */ }

  body.single-product .wc-block-add-to-cart-form,
  body.single-product .single_add_to_cart_button {
    position: sticky; bottom: 0; z-index: 50;
    background: var(--c-paper);
    padding: 12px 16px;
    /* V4.6 — respect iPhone home indicator + bottom-safe area so the
       sticky bar doesn't sit underneath it. env() returns 0 on devices
       without a notch so this is a no-op everywhere else. */
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -8px 24px -12px rgba(0,0,0,.18);
  }
  body.single-product .single_add_to_cart_button {
    width: 100%;
    text-align: center;
    font-size: 13px !important;
    padding: 18px 24px !important;
  }
  /* Hide the floating cart chip on PDP mobile so it doesn't fight the
     sticky buy bar. */
  body.single-product .couture-cart-chip--floating { display: none; }
}

/* =============================================================================
 * Press page enrichment (V4.3 polish item #2)
 *  - Selected coverage with longer excerpts
 *  - Quote wall (existing)
 *  - Press contact card
 * ============================================================================= */
.couture-page-press-page .press-section-title { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 24px; padding-top: 24px; border-top: 1px solid var(--c-line); }
.couture-page-press-page .press-features { margin-bottom: 56px; }
.couture-page-press-page .press-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 32px; }
.couture-page-press-page .press-feature { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--c-line); background: var(--c-paper); }
.couture-page-press-page .press-feature-outlet { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); }
.couture-page-press-page .press-feature-title { font-family: var(--c-display); font-size: clamp(20px, 1.8vw, 26px); line-height: 1.2; margin: 0; }
.couture-page-press-page .press-feature-title a { color: inherit; text-decoration: none; }
.couture-page-press-page .press-feature-title a:hover { color: var(--c-accent); }
.couture-page-press-page .press-feature-excerpt { font-family: var(--c-body); font-size: 15px; line-height: 1.6; color: var(--c-ink-soft); margin: 0; flex: 1; }
.couture-page-press-page .press-feature-foot { display: flex; justify-content: space-between; align-items: center; font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; color: var(--c-muted); padding-top: 12px; border-top: 1px solid var(--c-line); }
.couture-page-press-page .press-feature-link { color: var(--c-ink); text-decoration: none; border-bottom: 1px solid var(--c-ink); padding-bottom: 1px; }
.couture-page-press-page .press-wall-section { margin-bottom: 56px; }
.couture-page-press-page .press-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.couture-page-press-page .press-grid figure { padding: 24px; border-left: 2px solid var(--c-accent); margin: 0; }
.couture-page-press-page .press-grid blockquote { font-family: var(--c-display); font-style: italic; font-size: 18px; line-height: 1.4; margin: 0 0 12px; color: var(--c-ink); }
.couture-page-press-page .press-grid figcaption { font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-page-press-page .press-contact { margin-bottom: 40px; padding: 32px; background: var(--c-paper-2); border-left: 2px solid var(--c-ink); }
.couture-page-press-page .press-contact-lede { margin: 0 0 16px; font-size: 16px; line-height: 1.6; color: var(--c-ink-soft); max-width: 60ch; }
.couture-page-press-page .press-contact-email { font-family: var(--c-display); font-style: italic; font-size: clamp(20px, 2vw, 28px); color: var(--c-ink); text-decoration: none; border-bottom: 1px solid var(--c-ink); padding-bottom: 4px; }
.couture-page-press-page .press-contact-email:hover { color: var(--c-accent); border-color: var(--c-accent); }
.couture-page-press-page .press-kit { padding-top: 24px; border-top: 1px solid var(--c-line); }

/* =============================================================================
 * Contact section — working form + plausible socials (V4.3 polish item #3)
 * ============================================================================= */
.couture-contact-section .couture-contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(40px, 6vw, 80px); margin-top: 32px; }
.couture-contact-section .couture-contact-meta .contact-lede { font-family: var(--c-display); font-style: italic; font-size: clamp(18px, 1.8vw, 22px); line-height: 1.4; color: var(--c-ink); margin: 0 0 32px; max-width: 38ch; }
.couture-contact-section .contact-list { display: flex; flex-direction: column; gap: 0; margin: 0 0 32px; padding: 0; }
.couture-contact-section .contact-list > div { padding: 16px 0; border-top: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 6px; }
.couture-contact-section .contact-list > div:last-child { border-bottom: 1px solid var(--c-line); }
.couture-contact-section .contact-list dt { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0; }
.couture-contact-section .contact-list dd { font-family: var(--c-display); font-style: italic; font-size: 17px; color: var(--c-ink); margin: 0; }
.couture-contact-section .contact-list dd a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s; }
.couture-contact-section .contact-list dd a:hover { border-color: var(--c-accent); }
.couture-contact-section .couture-contact-socials { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.couture-contact-section .couture-contact-socials a { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border: 1px solid var(--c-line); background: var(--c-paper); text-decoration: none; transition: border-color .2s, background .2s; }
.couture-contact-section .couture-contact-socials a:hover { border-color: var(--c-ink); background: var(--c-paper-2); }
.couture-contact-section .couture-contact-socials strong { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-contact-section .couture-contact-socials span { font-family: var(--c-display); font-style: italic; font-size: 14px; color: var(--c-ink); }
/* V4.66 — contact form polish (operator R12 Round 10).
   Was: 2-col tight grid with thin underline-only fields.
   Now: cleaner card on contact section bg, larger fields with
   rounded radius + accent focus ring (inherits V4.65 polish),
   bigger CTA, responsive 2-col → 1-col stacking. */
.couture-contact-section .couture-contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 22px;
  align-content: start;
  padding: 32px;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--c-card-radius, 8px);
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
}
.couture-contact-section .couture-contact-form .cf-row { display: flex; flex-direction: column; gap: 8px; }
.couture-contact-section .couture-contact-form .cf-row.cf-full { grid-column: 1 / -1; }
.couture-contact-section .couture-contact-form .cf-row span {
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--c-ink);
}
.couture-contact-section .couture-contact-form input,
.couture-contact-section .couture-contact-form textarea {
  padding: 12px 14px;
  border: 1px solid var(--c-line);
  border-radius: 6px;
  background: var(--c-paper);
  font-family: var(--c-body);
  font-size: 14px;
  color: var(--c-ink);
  resize: vertical;
  transition: border-color .15s, box-shadow .15s;
}
.couture-contact-section .couture-contact-form input:focus,
.couture-contact-section .couture-contact-form textarea:focus {
  outline: none;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-contact-section .couture-contact-form .cf-submit {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 13px 26px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: none;
  border-radius: 6px;
  font-family: var(--c-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: background .15s, transform .15s;
}
.couture-contact-section .couture-contact-form .cf-submit:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}
@media (max-width: 640px) {
  .couture-contact-section .couture-contact-form { grid-template-columns: 1fr; padding: 24px; }
}
.couture-contact-section .couture-contact-form .cf-note { grid-column: 1 / -1; margin: 0; font-family: var(--c-mono); font-size: 10px; letter-spacing: .08em; color: var(--c-muted); }
.couture-contact-section .couture-contact-form .cf-status { grid-column: 1 / -1; margin: 0; font-family: var(--c-body); font-size: 14px; line-height: 1.5; min-height: 1.2em; }
.couture-contact-section .couture-contact-form .cf-status[data-kind="ok"]      { color: #15803d; }
.couture-contact-section .couture-contact-form .cf-status[data-kind="err"]     { color: #b91c1c; }
.couture-contact-section .couture-contact-form .cf-status[data-kind="pending"] { color: var(--c-muted); }
.couture-contact-section .couture-contact-form .cf-status a { color: inherit; text-decoration: underline; }
.couture-contact-section .couture-contact-form button[disabled] { opacity: .55; cursor: progress; }

@media (max-width: 800px) {
  .couture-contact-section .couture-contact-grid { grid-template-columns: 1fr; }
  .couture-contact-section .couture-contact-form { grid-template-columns: 1fr; }
}

/* V6.268 — operator R27 night autopilot Round 36: 3 NEW contact section sub-variants */

/* sub-1 — stacked-narrow: form dominant centered + meta as belt-grid below */
.couture-contact-section--v1 .couture-contact-stacked { display: flex; flex-direction: column; gap: clamp(40px, 5vw, 72px); margin-top: 32px; }
.couture-contact-section--v1 .couture-contact-form-wrap { max-width: 720px; margin: 0 auto; width: 100%; }
.couture-contact-section--v1 .couture-contact-belt { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px; padding: 28px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); max-width: 1080px; margin: 0 auto; width: 100%; }
.couture-contact-section--v1 .cc-belt-item { display: flex; flex-direction: column; gap: 6px; }
.couture-contact-section--v1 .cc-belt-item dt { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0; }
.couture-contact-section--v1 .cc-belt-item dd { font-family: var(--c-display); font-style: italic; font-size: 16px; color: var(--c-ink); margin: 0; line-height: 1.4; }
.couture-contact-section--v1 .cc-belt-item dd a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.couture-contact-section--v1 .cc-belt-item dd a:hover { border-bottom-color: var(--c-accent); }

/* sub-2 — mirror-grid: form on LEFT, meta on RIGHT (flipped from default) */
.couture-contact-section--v2 .couture-contact-grid--mirror { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(40px, 6vw, 80px); margin-top: 32px; }
.couture-contact-section--v2 .couture-contact-grid--mirror .couture-contact-form { order: 1; }
.couture-contact-section--v2 .couture-contact-grid--mirror .couture-contact-meta { order: 2; }
@media (max-width: 800px) { .couture-contact-section--v2 .couture-contact-grid--mirror { grid-template-columns: 1fr; } }

/* sub-3 — card-pair: both meta + form as boxed cards side-by-side */
.couture-contact-section--v3 .couture-contact-grid--cards { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(24px, 3vw, 36px); margin-top: 32px; }
.couture-contact-section--v3 .couture-contact-card { padding: clamp(28px, 4vw, 44px); background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; box-shadow: 0 6px 20px -10px rgba(0,0,0,.08); }
.couture-contact-section--v3 .couture-contact-card--meta { background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); }
.couture-contact-section--v3 .couture-contact-card .couture-contact-form { padding: 0 !important; background: transparent !important; }
@media (max-width: 800px) { .couture-contact-section--v3 .couture-contact-grid--cards { grid-template-columns: 1fr; } }

/* =============================================================================
 * WooCommerce cart / checkout / account / order-confirmation (V4.5)
 *
 * The previous theme only customised the single-product page; cart,
 * checkout, account, and post-checkout pages all rendered with default
 * WC + WP block styling, including the unfortunate "black sad-face
 * emoji" empty-cart icon. This block:
 *
 *   - Wraps each WC page header in a `.couture-{page}-head` matching
 *     other Couture page heads (eyebrow num + display h1).
 *   - Replaces WC's emoji-icon empty-cart with a typographic statement +
 *     a brand CTA back to /shop/.
 *   - Tunes WC block-checkout / cart fonts and accent colors to use
 *     the rolled DNA tokens (no more sea of light-gray defaults).
 * ============================================================================= */
.couture-page-cart-wc,
.couture-page-checkout-wc,
.couture-page-account-wc,
.couture-page-order-wc { padding: clamp(40px, 6vw, 96px) var(--c-gutter) clamp(80px, 12vw, 160px); max-width: 1280px; }

.couture-cart-head, .couture-checkout-head, .couture-account-head, .couture-order-head { margin-bottom: clamp(40px, 5vw, 72px); max-width: 720px; }
.couture-cart-head .num, .couture-checkout-head .num, .couture-account-head .num, .couture-order-head .num { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 12px; }
.couture-cart-head h1, .couture-checkout-head h1, .couture-account-head h1, .couture-order-head h1 { font-family: var(--c-display); font-weight: 300; font-size: clamp(40px, 5vw, 72px); line-height: 1; letter-spacing: -.02em; margin: 0 0 16px; }
.couture-cart-head .lede, .couture-order-head .lede { font-family: var(--c-display); font-style: italic; font-size: clamp(18px, 2vw, 22px); line-height: 1.4; color: var(--c-ink-soft); max-width: 50ch; margin: 0; }

/* Empty cart — the WC default uses a black emoji-style sad face which
   feels off-brand on every Couture site. Hide it and emit a typographic
   replacement via ::before. */
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block .wp-block-heading {
  font-family: var(--c-display) !important;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(28px, 3vw, 44px) !important;
  color: var(--c-ink) !important;
  letter-spacing: -.02em !important;
}
/* The frowny SVG/emoji image WC ships with — hide it on cart pages */
.couture-page-cart-wc .wp-block-woocommerce-empty-cart-block img,
.couture-page-cart-wc .wc-block-cart__empty-cart__heading svg,
.wc-block-cart__empty-cart > img:first-child,
.wp-block-woocommerce-empty-cart-block .wp-block-image:first-child img { display: none !important; }
/* Replacement typographic mark — a single quiet asterism */
.couture-page-cart-wc .wp-block-woocommerce-empty-cart-block::before {
  content: "⁂";
  display: block;
  font-family: var(--c-display);
  font-size: clamp(64px, 8vw, 120px);
  color: var(--c-accent);
  text-align: center;
  line-height: 1;
  margin-bottom: 24px;
  opacity: .7;
}
/* V4.6 — surface a path back to the catalog from the empty-cart state.
   The default WC "Return to shop" button is a small grey link; this
   styles it as a confident CTA so visitors don't bounce. */
.couture-page-cart-wc .wc-block-cart__empty-cart__heading + p,
.couture-page-cart-wc .wp-block-woocommerce-empty-cart-block p { font-family: var(--c-body); font-size: 15px; color: var(--c-ink-soft); text-align: center; max-width: 44ch; margin: 16px auto 28px; }
.couture-page-cart-wc .wc-block-cart__empty-cart__heading + p a,
.couture-page-cart-wc .wp-block-woocommerce-empty-cart-block .wp-block-button a,
.couture-page-cart-wc .wp-block-woocommerce-empty-cart-block .wc-block-button {
  display: inline-block; margin-top: 8px;
  padding: 14px 26px;
  font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  background: var(--c-ink); color: var(--c-paper);
  text-decoration: none; border: 1px solid var(--c-ink);
  transition: background .15s, color .15s;
}
.couture-page-cart-wc .wc-block-cart__empty-cart__heading + p a:hover,
.couture-page-cart-wc .wp-block-woocommerce-empty-cart-block .wp-block-button a:hover {
  background: var(--c-accent); border-color: var(--c-accent); color: var(--c-paper);
}

/* WC block-cart line items */
.wc-block-cart, .wc-block-cart-items, .wc-block-components-product-name { font-family: var(--c-body); }
.wc-block-cart-items { border-top: 1px solid var(--c-line); }
.wc-block-cart-items__row { border-bottom: 1px solid var(--c-line); padding: 18px 0; }
.wc-block-components-product-name { font-family: var(--c-display) !important; font-size: clamp(18px, 1.8vw, 22px) !important; font-weight: 400 !important; color: var(--c-ink) !important; text-decoration: none !important; }
.wc-block-cart-item__quantity { font-family: var(--c-mono); font-size: 12px; }
.wc-block-formatted-money-amount { font-family: var(--c-display); font-style: italic; color: var(--c-accent); }
.wc-block-cart__totals-title { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }

/* Checkout — labels, inputs, buttons */
.wc-block-checkout, .wc-block-checkout__form, .wc-block-checkout__sidebar { font-family: var(--c-body); }
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-form .wc-block-components-text-input label,
.wp-block-woocommerce-checkout label { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.wc-block-checkout input, .wc-block-checkout select, .wc-block-checkout textarea { border: 1px solid var(--c-line) !important; border-radius: 0 !important; background: var(--c-paper) !important; color: var(--c-ink) !important; font-family: var(--c-body) !important; padding: 14px 16px !important; }
.wc-block-checkout input:focus, .wc-block-checkout select:focus, .wc-block-checkout textarea:focus { border-color: var(--c-ink) !important; outline: none !important; box-shadow: none !important; }
.wc-block-checkout__step-heading { font-family: var(--c-display); font-style: italic; font-size: clamp(22px, 2vw, 28px); color: var(--c-ink); }
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
  border-radius: 0 !important;
  font-family: var(--c-mono) !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding: 18px 28px !important;
  border: none !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover { background: var(--c-accent) !important; }

/* My-account — login form + dashboard list */
.couture-page-account-wc .woocommerce-account, .couture-page-account-wc .woocommerce { font-family: var(--c-body); }
.couture-page-account-wc .woocommerce h2 { font-family: var(--c-display); font-weight: 300; font-size: clamp(28px, 3vw, 40px); margin: 0 0 24px; }
.couture-page-account-wc form.woocommerce-form-login,
.couture-page-account-wc form.woocommerce-form-register { max-width: 520px; }
.couture-page-account-wc form.woocommerce-form-login p,
.couture-page-account-wc form.woocommerce-form-register p { margin-bottom: 18px; }
.couture-page-account-wc form.woocommerce-form-login label,
.couture-page-account-wc form.woocommerce-form-register label { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); display: block; margin-bottom: 8px; }
.couture-page-account-wc form.woocommerce-form-login input[type="text"],
.couture-page-account-wc form.woocommerce-form-login input[type="email"],
.couture-page-account-wc form.woocommerce-form-login input[type="password"],
.couture-page-account-wc form.woocommerce-form-register input { width: 100%; padding: 14px 16px; border: 1px solid var(--c-line); background: var(--c-paper); color: var(--c-ink); font-family: var(--c-body); border-radius: 0; box-sizing: border-box; }
.couture-page-account-wc button.woocommerce-button { background: var(--c-ink); color: var(--c-paper); padding: 16px 28px; border: none; font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: background .2s; }
.couture-page-account-wc button.woocommerce-button:hover { background: var(--c-accent); }
.couture-page-account-wc nav.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 32px; display: flex; gap: 24px; flex-wrap: wrap; border-bottom: 1px solid var(--c-line); padding-bottom: 18px; }
.couture-page-account-wc nav.woocommerce-MyAccount-navigation li { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.couture-page-account-wc nav.woocommerce-MyAccount-navigation a { color: var(--c-ink-soft); text-decoration: none; padding-bottom: 6px; border-bottom: 2px solid transparent; }
.couture-page-account-wc nav.woocommerce-MyAccount-navigation li.is-active a { color: var(--c-ink); border-color: var(--c-accent); }

/* Order confirmation — receipt-like layout, restraint */
.couture-page-order-wc .wp-block-woocommerce-order-confirmation { font-family: var(--c-body); }
.couture-page-order-wc .wp-block-woocommerce-order-confirmation table { width: 100%; border-collapse: collapse; }
.couture-page-order-wc .wp-block-woocommerce-order-confirmation th { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); padding: 12px 0; border-bottom: 1px solid var(--c-line); text-align: left; }
.couture-page-order-wc .wp-block-woocommerce-order-confirmation td { padding: 14px 0; border-bottom: 1px dotted var(--c-line); font-size: 14px; }

/* =============================================================================
 * Print stylesheet (V4.5) — press kits, order receipts, confirmations look
 * acceptable when printed. Hides chrome (nav, footer, cart, motion), expands
 * details, and forces ink-on-paper colors so saved PDFs and printed pages
 * carry brand recognition without bleeding ink everywhere.
 * ============================================================================= */
@media print {
  body { background: white !important; color: black !important; }
  header, footer, .couture-nav-topbar, .couture-nav-siderail, .couture-nav-drawer, .couture-nav-toc, .couture-nav-dotindex, .couture-nav-split, .couture-cart-chip, .couture-seal { display: none !important; }
  .couture-spatial { margin-left: 0 !important; }
  details { open: open; }
  .couture-page { padding: 24px; max-width: none; }
  a { color: black !important; text-decoration: underline; }
  .couture-product-trust ul { display: block; }
  .couture-product-trust li { margin-bottom: 12px; }
  img { max-width: 60% !important; page-break-inside: avoid; }
  h1, h2, h3 { page-break-after: avoid; color: black !important; }
}

/* ============================================================
   V4.11 — Legal page layouts (5 variants)
   Driven by copy.legal._layout, set in couture_copy.js based on
   the brand's voice register. Each gives the legal pages a
   visually distinct treatment so a luxury brand's Privacy Policy
   doesn't look identical to a brutalist tech brand's.
   ============================================================ */

/* Shared legal styles */
.couture-legal { max-width: 760px; margin: 0 auto; padding: 64px 24px; }
.couture-legal-header { margin-bottom: 48px; padding-bottom: 24px; border-bottom: 1px solid var(--c-line); }
.couture-legal-header .eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 18px; }
.couture-legal-header h1 { margin: 0 0 16px; }
.couture-legal-header .updated { font-size: 13px; color: var(--c-muted); margin: 0; }
.couture-legal-header .updated.mono { font-family: var(--c-mono); letter-spacing: .08em; text-transform: uppercase; }
.couture-legal-disclaimer { display: block; font-family: var(--c-mono); font-size: 11px; letter-spacing: .04em; padding: 12px 16px; margin-top: 20px; border: 1px solid var(--c-line); }
.couture-legal-disclaimer--template { background: rgba(255, 200, 0, 0.08); color: var(--c-ink); border-color: rgba(255, 200, 0, 0.4); }
.couture-legal-disclaimer--ai { background: var(--c-paper-2); color: var(--c-muted); }
.couture-legal .body p { line-height: 1.7; margin: 0 0 18px; }
.couture-legal .legal-h { margin: 36px 0 14px; font-size: 18px; }

/* 1. Editorial — magazine: drop-cap on first paragraph, generous serif */
.couture-legal--editorial .couture-legal-header h1 { font-family: var(--c-display); font-size: clamp(40px, 5vw, 64px); line-height: 1.05; letter-spacing: -0.01em; }
.couture-legal--editorial .body { font-family: var(--c-body); font-size: 17px; }
.couture-legal--editorial .body .legal-h { font-family: var(--c-display); font-weight: 500; }
.couture-legal--editorial .legal-p.has-dropcap::first-letter {
  float: left; font-family: var(--c-display); font-size: 5em; line-height: 0.85; padding: 4px 12px 0 0; color: var(--c-accent);
}

/* 2. Columnar — luxury: 2-col body with gold-rule dividers */
.couture-legal--columnar .couture-legal-header h1 { font-family: var(--c-display); font-size: clamp(36px, 4.5vw, 56px); letter-spacing: 0.02em; }
.couture-legal--columnar .body { column-count: 2; column-gap: 48px; column-rule: 1px solid var(--c-accent); font-size: 14px; line-height: 1.65; }
@media (max-width: 760px) { .couture-legal--columnar .body { column-count: 1; } }
.couture-legal--columnar .body .legal-h { column-span: all; margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--c-accent); font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); }
.couture-legal--columnar .couture-legal-footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--c-line); text-align: center; font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }

/* 3. Spec — technical: monospace, numbered sections, hard rules */
.couture-legal--spec .couture-legal-header h1.legal-h1--mono { font-family: var(--c-mono); font-size: clamp(28px, 3.5vw, 42px); letter-spacing: -0.01em; text-transform: uppercase; }
.couture-legal--spec .body--spec { list-style: none; padding: 0; margin: 0; counter-reset: legal; }
.couture-legal--spec .legal-section { display: grid; grid-template-columns: 60px 1fr; gap: 16px 24px; padding: 28px 0; border-top: 1px solid var(--c-ink); }
.couture-legal--spec .legal-section:last-child { border-bottom: 1px solid var(--c-ink); }
.couture-legal--spec .legal-num { font-family: var(--c-mono); font-size: 12px; color: var(--c-accent); letter-spacing: .08em; padding-top: 4px; }
.couture-legal--spec .legal-h--mono { grid-column: 2; margin: 0 0 8px; font-family: var(--c-mono); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.couture-legal--spec .legal-section p { grid-column: 2; margin: 0; font-family: var(--c-body); line-height: 1.65; font-size: 15px; }

/* 4. Plain — warm: relaxed, soft, no decorative chrome */
.couture-legal--plain { max-width: 640px; }
.couture-legal--plain .couture-legal-header h1 { font-size: clamp(28px, 3vw, 40px); font-weight: 500; }
.couture-legal--plain .body { font-size: 16px; }
.couture-legal--plain .body .legal-h { font-size: 17px; font-weight: 600; margin-top: 32px; margin-bottom: 12px; }

/* V4.15 — feature_banner section.
   AI-generated wide promotional / brand-statement banner. Two layouts
   picked by domain hash: `inset` (image with overlay) and `split`
   (image left, copy right). Both use the same CSS variable palette as
   the rest of the theme so accent / paper / ink colors flow through. */
.couture-feature-banner {
  margin: clamp(48px, 8vw, 96px) 0;
  padding: 0;
}
.couture-feature-banner .fb-image {
  position: relative;
  margin: 0;
  overflow: hidden;
}
.couture-feature-banner .fb-image img {
  display: block;
  width: 100%;
  height: auto;
  /* V4.15 — 21/9 to match FLUX Schnell's accepted enum (16:5 was rejected). */
  aspect-ratio: 21/9;
  object-fit: cover;
}
.couture-feature-banner .fb-eyebrow {
  font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-feature-banner .fb-headline {
  font-family: var(--c-display);
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: inherit;
}
.couture-feature-banner .fb-sub {
  font-family: var(--c-body);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 20px;
  max-width: 56ch;
  color: inherit;
}
.couture-feature-banner .fb-cta {
  display: inline-block;
  font-family: var(--c-mono);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 2px solid var(--c-accent);
  padding-bottom: 4px;
  transition: color .15s, border-color .15s;
}
.couture-feature-banner .fb-cta:hover {
  color: var(--c-accent);
  border-bottom-color: var(--c-ink);
}

/* Variant: inset — image full-width, copy as bottom-left overlay */
.couture-feature-banner--inset .fb-overlay {
  position: absolute;
  bottom: clamp(20px, 4vw, 48px);
  left: clamp(20px, 4vw, 48px);
  right: clamp(20px, 4vw, 48px);
  max-width: 600px;
  background: var(--c-paper);
  color: var(--c-ink);
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid var(--c-line);
}
@media (max-width: 680px) {
  .couture-feature-banner--inset .fb-image img { aspect-ratio: 4/3; }
  .couture-feature-banner--inset .fb-overlay {
    position: static;
    margin: -16px 16px 0;
    max-width: none;
  }
}

/* Variant: split — image on the left, copy on the right (50/50) */
.couture-feature-banner--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
}
.couture-feature-banner--split .fb-image img {
  height: 100%;
  aspect-ratio: auto;
  min-height: 380px;
}
.couture-feature-banner--split .fb-copy {
  padding: clamp(28px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--c-paper-2, var(--c-paper));
}
@media (max-width: 760px) {
  .couture-feature-banner--split { grid-template-columns: 1fr; }
  .couture-feature-banner--split .fb-image img { min-height: auto; aspect-ratio: 16/9; }
}

/* Variant: text-only (image generation failed / copy-only banner) */
.couture-feature-banner--text .fb-frame {
  background: var(--c-paper-2, var(--c-paper));
  padding: clamp(40px, 8vw, 96px);
  text-align: center;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.couture-feature-banner--text .fb-headline { margin-left: auto; margin-right: auto; max-width: 16ch; }
.couture-feature-banner--text .fb-sub      { margin-left: auto; margin-right: auto; }

/* V6.271 — operator R27 night autopilot Round 39: 3 NEW feature_banner sub-variants */

/* sub: stack-overlay — image fills entire section, copy stacked centered with dark gradient */
.couture-feature-banner--stack-overlay { padding: 0; max-width: none; margin: 0; }
.couture-feature-banner--stack-overlay .fb-image { position: relative; margin: 0; min-height: 540px; overflow: hidden; }
.couture-feature-banner--stack-overlay .fb-image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.couture-feature-banner--stack-overlay .fb-stack-tint { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.6) 100%); }
.couture-feature-banner--stack-overlay .fb-stack-copy { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; padding: clamp(72px, 10vw, 144px) clamp(24px, 4vw, 56px); text-align: center; color: #fff; }
.couture-feature-banner--stack-overlay .fb-eyebrow { color: #fff; opacity: .9; }
.couture-feature-banner--stack-overlay .fb-headline { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.5); }
.couture-feature-banner--stack-overlay .fb-sub { color: #fff; opacity: .92; max-width: 56ch; margin-left: auto; margin-right: auto; }
.couture-feature-banner--stack-overlay .fb-cta { background: var(--c-paper); color: var(--c-ink); }
@media (max-width: 720px) { .couture-feature-banner--stack-overlay .fb-image { min-height: 420px; } }

/* sub: postcard-frame — image with thick paper mat, accent corner stamp, copy below */
.couture-feature-banner--postcard { padding: clamp(48px, 6vw, 80px) var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(32px, 4vw, 56px); align-items: center; }
.couture-feature-banner--postcard .fb-postcard { position: relative; padding: 16px 16px 28px; background: var(--c-paper); box-shadow: 0 0 0 1px var(--c-line), 0 18px 40px -16px rgba(0,0,0,.18); }
.couture-feature-banner--postcard .fb-postcard img { width: 100%; aspect-ratio: 5/4; object-fit: cover; display: block; filter: contrast(1.05); }
.couture-feature-banner--postcard .fb-postcard-stamp { position: absolute; top: 16px; right: 16px; width: 56px; height: 56px; background: var(--c-accent); color: var(--c-paper); display: grid; place-items: center; font-size: 24px; font-weight: 800; transform: rotate(-8deg); border: 2px solid var(--c-paper); border-radius: 4px; box-shadow: 0 4px 8px -2px rgba(0,0,0,.18); }
.couture-feature-banner--postcard .fb-postcard-copy .fb-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 14px; }
.couture-feature-banner--postcard .fb-postcard-copy .fb-headline { font-family: var(--c-display); font-style: italic; font-weight: 600; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.2; color: var(--c-ink); margin: 0 0 16px; max-width: 28ch; }
.couture-feature-banner--postcard .fb-postcard-copy .fb-sub { font-size: 16px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 22px; }
@media (max-width: 800px) { .couture-feature-banner--postcard { grid-template-columns: 1fr; } }

/* sub: full-bleed-fade — 100vw bleed image with smooth left dark fade carrying copy */
.couture-feature-banner--bleed-fade { padding: 0; max-width: none !important; margin: 0; width: 100vw; margin-inline: calc(50% - 50vw); }
.couture-feature-banner--bleed-fade .fb-bleed { position: relative; margin: 0; min-height: 480px; overflow: hidden; }
.couture-feature-banner--bleed-fade .fb-bleed img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.couture-feature-banner--bleed-fade .fb-bleed-fade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.5) 35%, rgba(0,0,0,0) 65%); }
.couture-feature-banner--bleed-fade .fb-bleed-copy { position: relative; z-index: 2; max-width: 1280px; margin: 0 auto; padding: clamp(72px, 9vw, 128px) clamp(32px, 5vw, 80px); color: #fff; max-width: 540px; }
.couture-feature-banner--bleed-fade .fb-eyebrow { color: #fff; opacity: .9; }
.couture-feature-banner--bleed-fade .fb-headline { color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.55); font-family: var(--c-display); font-weight: 700; font-size: clamp(32px, 4.5vw, 56px); line-height: 1.1; margin: 0 0 18px; }
.couture-feature-banner--bleed-fade .fb-sub { color: #fff; opacity: .92; max-width: 50ch; }
.couture-feature-banner--bleed-fade .fb-cta { background: var(--c-accent); color: var(--c-paper); border-color: var(--c-accent); }
@media (max-width: 720px) { .couture-feature-banner--bleed-fade .fb-bleed { min-height: 400px; } .couture-feature-banner--bleed-fade .fb-bleed-fade { background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.7) 100%); } }


/* V4.14 — Footer fineprint row (legal links: terms / privacy / returns
   / shipping / cookies). Appended to every footer variant by
   `_legalLinkRow()` in nav.js. Visual: muted, small, all-link-no-bullet,
   centered or left-aligned per footer's natural alignment. */
.couture-fineprint {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--c-line);
  /* V4.53 — readability fix. Was: 11px mono uppercase muted = invisible.
     Now: 13px body normal-case ink with full contrast. */
  font-family: var(--c-body);
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--c-ink);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  justify-content: center;
}
.couture-fineprint a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s, color .15s;
  /* V6.362 — operator iter 2 mobile a11y: tap targets <44px on every
     site (Privacy/Terms/Returns links). Bump padding so the tap area
     hits WCAG 2.5.5 minimum. Visual size unchanged (13px text). */
  padding: 8px 4px;
  display: inline-block;
}
.couture-fineprint a:hover { color: var(--c-ink); border-bottom-color: var(--c-ink); }
.couture-fineprint .couture-fineprint-sep { opacity: 0.4; user-select: none; }
/* Brutalist + spec footers prefer flush-left alignment */
.couture-footer--spec .couture-fineprint,
.couture-footer--stamp .couture-fineprint,
.couture-footer--colophon .couture-fineprint { justify-content: flex-start; }

/* V4.51 — 5 alternative legal-row layouts. Operator R7 audit: every
   site rendered the same inline-bullet "Terms · Privacy · Returns".
   Per-domain hash now picks one of 6 layouts. */
.couture-fineprint--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.couture-fineprint--stacked > div { display: block; }

.couture-fineprint--split {
  justify-content: space-between;
  flex-wrap: wrap;
  text-transform: none;
  letter-spacing: .04em;
  font-size: 12px;
}
.couture-fineprint--split .cf-copy { color: var(--c-muted); }
.couture-fineprint--split .cf-links { display: flex; gap: 12px; }

.couture-fineprint--singleline {
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  font-family: var(--c-body);
  color: var(--c-ink);
  justify-content: flex-start;
}
.couture-fineprint--singleline .cf-label {
  font-weight: 600;
  margin-right: 6px;
  color: var(--c-ink);
}

/* V4.53 — was 10px display uppercase 600wt = unreadable. Now 12px body 600wt ink. */
.couture-fineprint--upper {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  font-family: var(--c-body);
  font-weight: 600;
  color: var(--c-ink);
  border-top: 0;
  padding-top: 16px;
  margin-top: 24px;
  gap: 8px 18px;
}

.couture-fineprint--minimal {
  border-top: 0;
  padding-top: 24px;
  margin-top: 24px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  font-family: var(--c-body);
  color: var(--c-ink);
  gap: 16px;
}
/* V4.53 — was var(--c-muted) → unreadable. Now full ink contrast. */
.couture-fineprint--minimal .cf-mark { color: var(--c-ink); font-weight: 500; }
.couture-fineprint--minimal .cf-disclose { font-size: 13px; }
.couture-fineprint--minimal .cf-disclose summary {
  cursor: pointer;
  color: var(--c-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
}
.couture-fineprint--minimal .cf-disclose-links {
  margin-top: 8px;
  display: flex;
  gap: 14px;
}
.couture-fineprint--minimal .cf-disclose-links a {
  color: var(--c-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ============================================================================
   V4.20 — 12 NEW HERO STYLES
   ============================================================================
   New hero shapes added to break the visual fingerprint of the original 10.
   Every site that rolls one of these gets a meaningfully different homepage
   shape. Styles use only built-in CSS vars (--c-ink / --c-paper / --c-accent /
   --c-display / --c-body / --c-mono / --c-gutter) for full DNA compatibility. */

/* hero-list — bullet list value-prop hero */
.couture-hero--list { padding: clamp(48px,8vw,120px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-hero--list h1 { font-family: var(--c-display); font-size: clamp(40px,7vw,84px); line-height: 1.02; margin: 12px 0 32px; }
.couture-hero--list .hero-list { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 14px; max-width: 64ch; }
.couture-hero--list .hero-list li { font-family: var(--c-body); font-size: clamp(18px,2.2vw,22px); padding-left: 28px; position: relative; line-height: 1.4; color: var(--c-ink); }
.couture-hero--list .hero-list li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 16px; height: 1px; background: var(--c-accent); }
.couture-hero--list .hero-list-sub { font-size: 17px; color: var(--c-muted); max-width: 64ch; margin-bottom: 32px; }
.couture-hero--list .hero-list-art { margin-top: 32px; max-width: 720px; }
.couture-hero--list .hero-list-art img { width: 100%; height: auto; }

/* hero-quote — single big editorial pullquote IS the hero */
.couture-hero--quote { padding: clamp(64px,12vw,180px) var(--c-gutter,32px); max-width: 1100px; margin: 0 auto; text-align: center; }
.couture-hero--quote .hero-pullquote { margin: 0; padding: 0; }
.couture-hero--quote .hero-pullquote p { font-family: var(--c-display); font-style: italic; font-size: clamp(36px,6vw,72px); line-height: 1.2; color: var(--c-ink); margin: 0 0 24px; }
.couture-hero--quote .hero-pullquote cite { font-style: normal; font-family: var(--c-mono); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-hero--quote .hero-pullquote-h1 { font-size: clamp(20px,2.4vw,28px); font-weight: 400; color: var(--c-muted); margin-top: 28px; }

/* hero-coupon-bar — promo banner first */
.couture-hero--coupon-bar { max-width: 1280px; margin: 0 auto; padding: 0 var(--c-gutter,32px) clamp(48px,8vw,120px); }
.couture-hero--coupon-bar .hero-coupon-bar { background: var(--c-accent); color: var(--c-paper); text-align: center; padding: 12px var(--c-gutter,32px); font-family: var(--c-mono); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin: 0 calc(-1 * var(--c-gutter,32px)) clamp(36px,6vw,72px); }
.couture-hero--coupon-bar h1 { font-family: var(--c-display); font-size: clamp(48px,9vw,108px); line-height: 1.02; margin: 8px 0 24px; }
.couture-hero--coupon-bar .hero-coupon-art { margin-top: 32px; }
.couture-hero--coupon-bar .hero-coupon-art img { width: 100%; max-width: 920px; height: auto; }

/* hero-marquee-only — pure marquee */
.couture-hero--marquee { padding: clamp(48px,8vw,96px) 0; max-width: 1440px; margin: 0 auto; }
.couture-hero--marquee .eyebrow { padding: 0 var(--c-gutter,32px); margin-bottom: 24px; }
.couture-hero--marquee .couture-marquee--hero .couture-marquee-track { animation-duration: 30s; font-family: var(--c-display); font-size: clamp(48px,9vw,120px); padding: 16px 0; }
.couture-hero--marquee .couture-marquee--hero .couture-marquee-track > span { color: var(--c-ink); }
.couture-hero--marquee .hero-marquee-sub { padding: 0 var(--c-gutter,32px); max-width: 64ch; margin: 32px auto 0; color: var(--c-muted); }

/* hero-split-3up — 3 mini value props */
.couture-hero--split3 { max-width: 1280px; margin: 0 auto; padding: clamp(48px,8vw,120px) var(--c-gutter,32px); }
.couture-hero--split3 h1 { font-family: var(--c-display); font-size: clamp(40px,7vw,84px); line-height: 1.02; margin: 12px 0 56px; max-width: 24ch; }
.couture-hero--split3 .split3-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 32px 48px; }
.couture-hero--split3 .split3-col h3 { font-family: var(--c-display); font-size: clamp(22px,2.4vw,28px); margin: 12px 0 8px; }
.couture-hero--split3 .split3-col p { color: var(--c-muted); font-size: 16px; line-height: 1.5; }
.couture-hero--split3 .split3-num { font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); }

/* hero-search-first — big search box */
.couture-hero--search { max-width: 920px; margin: 0 auto; padding: clamp(64px,12vw,180px) var(--c-gutter,32px); text-align: center; }
.couture-hero--search h1 { font-family: var(--c-display); font-size: clamp(40px,7vw,84px); line-height: 1.02; margin: 12px 0 24px; }
.couture-hero--search .hero-search-sub { color: var(--c-muted); font-size: 18px; max-width: 56ch; margin: 0 auto 32px; }
.couture-hero--search .hero-search-form { display: flex; gap: 8px; max-width: 640px; margin: 0 auto; border: 2px solid var(--c-ink); padding: 8px; }
.couture-hero--search .hero-search-form input { flex: 1; border: 0; padding: 14px 18px; font-family: var(--c-body); font-size: 18px; background: transparent; color: var(--c-ink); }
.couture-hero--search .hero-search-form input:focus { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.couture-hero--search .hero-search-form button { background: var(--c-ink); color: var(--c-paper); border: 0; padding: 0 28px; font-family: var(--c-mono); letter-spacing: .1em; text-transform: uppercase; font-size: 13px; cursor: pointer; }
.couture-hero--search .hero-search-form button:hover { background: var(--c-accent); }

/* hero-newsletter-first — newsletter form is the hero */
.couture-hero--nl { max-width: 920px; margin: 0 auto; padding: clamp(64px,12vw,180px) var(--c-gutter,32px); text-align: center; }
.couture-hero--nl h1 { font-family: var(--c-display); font-size: clamp(40px,7vw,84px); line-height: 1.02; margin: 12px 0 24px; }
.couture-hero--nl .newsletter-form { display: flex; gap: 8px; max-width: 480px; margin: 32px auto 0; border-bottom: 2px solid var(--c-ink); padding: 4px 0; }
.couture-hero--nl .newsletter-form input { flex: 1; border: 0; padding: 12px 6px; font-family: var(--c-body); font-size: 18px; background: transparent; color: var(--c-ink); }
.couture-hero--nl .newsletter-form button { background: transparent; color: var(--c-ink); border: 0; padding: 8px 14px; font-family: var(--c-mono); letter-spacing: .12em; text-transform: uppercase; font-size: 12px; cursor: pointer; border-left: 1px solid var(--c-line); }

/* hero-promo-banner — loud sale promo */
.couture-hero--promo { max-width: 1280px; margin: 0 auto; padding: clamp(48px,8vw,120px) var(--c-gutter,32px); text-align: center; }
.couture-hero--promo .hero-promo-tag { display: inline-block; background: var(--c-accent); color: var(--c-paper); padding: 6px 16px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 24px; }
.couture-hero--promo .hero-promo-h1 { font-family: var(--c-display); font-size: clamp(56px,11vw,144px); line-height: .98; letter-spacing: -.02em; margin: 0 0 24px; max-width: 18ch; margin-left: auto; margin-right: auto; }
.couture-hero--promo .hero-promo-sub { font-size: clamp(18px,2.2vw,22px); color: var(--c-muted); max-width: 56ch; margin: 0 auto 36px; }
.couture-hero--promo .hero-promo-cta { margin-top: 36px; }
.couture-hero--promo .hero-promo-cta .cta-btn { display: inline-block; background: var(--c-ink); color: var(--c-paper); padding: 18px 36px; text-decoration: none; font-family: var(--c-mono); letter-spacing: .14em; text-transform: uppercase; font-size: 13px; }
.couture-hero--promo .hero-promo-cta .cta-btn:hover { background: var(--c-accent); }

/* hero-grid-of-products — 6 product tiles AS the hero */
.couture-hero--grid { max-width: 1440px; margin: 0 auto; padding: clamp(48px,8vw,120px) var(--c-gutter,32px); }
.couture-hero--grid .hero-grid-head h1 { font-family: var(--c-display); font-size: clamp(40px,7vw,84px); line-height: 1.02; margin: 12px 0 32px; }
.couture-hero--grid .hero-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.couture-hero--grid .hero-grid-tile { display: block; background: var(--c-paper-2); aspect-ratio: 1; position: relative; text-decoration: none; color: var(--c-ink); overflow: hidden; }
.couture-hero--grid .hero-grid-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.couture-hero--grid .hero-grid-tile:hover img { transform: scale(1.04); }
.couture-hero--grid .hero-grid-placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, var(--c-paper-2), var(--c-line)); }
.couture-hero--grid .hero-grid-label { position: absolute; left: 12px; bottom: 12px; right: 12px; background: var(--c-paper); padding: 6px 10px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

/* hero-story-card — small editorial card with brand story */
.couture-hero--card { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,4vw,64px); max-width: 1280px; margin: 0 auto; padding: clamp(48px,8vw,120px) var(--c-gutter,32px); align-items: center; }
.couture-hero--card .hero-card { padding: 32px; background: var(--c-paper-2); border: 1px solid var(--c-line); }
.couture-hero--card .hero-card h1 { font-family: var(--c-display); font-size: clamp(36px,5vw,56px); line-height: 1.05; margin: 8px 0 16px; }
.couture-hero--card .hero-card-story { color: var(--c-muted); font-size: 17px; line-height: 1.6; margin-bottom: 24px; }
.couture-hero--card .hero-card-cta a { color: var(--c-ink); text-decoration: none; border-bottom: 1px solid var(--c-ink); padding-bottom: 2px; font-family: var(--c-mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.couture-hero--card .hero-card-art img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/5; }
@media (max-width: 768px) { .couture-hero--card { grid-template-columns: 1fr; } }

/* hero-stat-row — big number row */
.couture-hero--statrow { max-width: 1280px; margin: 0 auto; padding: clamp(48px,8vw,120px) var(--c-gutter,32px); }
.couture-hero--statrow h1 { font-family: var(--c-display); font-size: clamp(48px,8vw,96px); line-height: 1.02; margin: 12px 0 24px; }
.couture-hero--statrow .hero-statrow-sub { color: var(--c-muted); font-size: 18px; max-width: 56ch; margin-bottom: 48px; }
.couture-hero--statrow .hero-statrow { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 32px 48px; padding-top: 32px; border-top: 2px solid var(--c-ink); }
.couture-hero--statrow .hero-statrow .stat { display: flex; flex-direction: column; gap: 4px; }
.couture-hero--statrow .hero-statrow .stat-n { font-family: var(--c-display); font-size: clamp(40px,5vw,72px); line-height: 1; color: var(--c-ink); }
.couture-hero--statrow .hero-statrow .stat-l { font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }

/* hero-illustration-side — illustration left, text right */
.couture-hero--illu { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px,5vw,80px); max-width: 1440px; margin: 0 auto; padding: clamp(48px,8vw,120px) var(--c-gutter,32px); align-items: center; }
.couture-hero--illu .hero-illu-art { margin: 0; aspect-ratio: 4/5; overflow: hidden; }
.couture-hero--illu .hero-illu-art img { width: 100%; height: 100%; object-fit: cover; }
.couture-hero--illu .hero-illu-fallback { width: 100%; height: 100%; background: linear-gradient(135deg, var(--c-accent) 0%, var(--c-ink) 100%); }
.couture-hero--illu .hero-illu-text h1 { font-family: var(--c-display); font-size: clamp(48px,8vw,96px); line-height: 1; margin: 12px 0 24px; }
.couture-hero--illu .hero-illu-text p { color: var(--c-muted); font-size: 18px; line-height: 1.5; max-width: 56ch; }
.couture-hero--illu .hero-illu-cta { margin-top: 28px; }
.couture-hero--illu .hero-illu-cta a { color: var(--c-ink); text-decoration: none; border-bottom: 1px solid var(--c-ink); padding-bottom: 2px; font-family: var(--c-mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 768px) { .couture-hero--illu { grid-template-columns: 1fr; } }

/* ============================================================================
   V4.20 — 4 NEW FOOTER VARIANTS
   ============================================================================ */

/* utility-table — minimal table-of-info, plain DTC */
.couture-footer--utility { background: var(--c-paper-2); padding: clamp(48px,6vw,72px) var(--c-gutter,32px) 24px; border-top: 1px solid var(--c-line); }
/* V4.64 — Stripe/Vercel-style footer polish.
   Wider brand block on left + 3 link cols. Branded CTA button.
   Bottom row split: copy + promise on left, legal links inline on right.
   Operator night auto-pilot — make footers feel like real big-business
   sites, not plain link grids. */
.couture-footer--utility-v2 {
  padding: clamp(64px,7vw,96px) var(--c-gutter,32px) 28px;
  color: var(--c-ink) !important;
}
.couture-footer--utility-v2 .utility-grid {
  max-width: 1280px;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  padding-bottom: 56px;
  border-bottom: 1px solid var(--c-line);
}
.couture-footer--utility-v2 .utility-col--brand {
  max-width: 360px;
}
.couture-footer--utility-v2 .utility-col--brand .brand,
.couture-footer--utility-v2 .utility-col--brand a.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  text-decoration: none;
  color: var(--c-ink);
}
.couture-footer--utility-v2 .utility-col--brand .brand-logo {
  height: 36px;
  max-width: 160px;
  object-fit: contain;
}
.couture-footer--utility-v2 .utility-tagline {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-ink-soft, var(--c-ink));
  margin: 0 0 22px;
}
.couture-footer--utility-v2 .utility-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  text-decoration: none;
  border-radius: var(--c-card-radius, 6px);
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 600;
  transition: background .15s, transform .15s;
}
.couture-footer--utility-v2 .utility-cta:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}
.couture-footer--utility-v2 .utility-col h4 {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 16px;
  color: var(--c-muted);
  font-weight: 600;
}
.couture-footer--utility-v2 .utility-col a {
  display: block;
  padding: 5px 0;
  color: var(--c-ink) !important;
  text-decoration: none;
  font-size: 13px;
  transition: color .12s;
}
.couture-footer--utility-v2 .utility-col a:hover {
  color: var(--c-accent) !important;
}
.couture-footer--utility-v2 .utility-foot {
  max-width: 1280px;
  margin: 0 auto !important;
  padding-top: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.couture-footer--utility-v2 .utility-foot-left,
.couture-footer--utility-v2 .utility-foot-right {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
}
.couture-footer--utility-v2 .utility-copy,
.couture-footer--utility-v2 .utility-promise {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--c-muted);
}
.couture-footer--utility-v2 .utility-foot-right .couture-fineprint,
.couture-footer--utility-v2 .utility-foot-right .couture-fineprint a {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--c-muted);
  text-decoration: none;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.couture-footer--utility-v2 .utility-foot-right .couture-fineprint a:hover {
  color: var(--c-ink);
}
.couture-footer--utility-v2 .utility-foot-right .couture-fineprint > div {
  display: inline-block;
  margin-right: 14px;
}
@media (max-width: 920px) {
  .couture-footer--utility-v2 .utility-grid {
    grid-template-columns: 1fr 1fr;
  }
  .couture-footer--utility-v2 .utility-col--brand {
    grid-column: 1 / -1;
    max-width: 100%;
  }
}
@media (max-width: 540px) {
  .couture-footer--utility-v2 .utility-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.couture-footer--utility .utility-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px 48px; padding-bottom: 36px; border-bottom: 1px solid var(--c-line); }
.couture-footer--utility .utility-col h4 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 14px; color: var(--c-muted); }
.couture-footer--utility .utility-col p { color: var(--c-muted); font-size: 14px; line-height: 1.55; margin: 0 0 12px; }
.couture-footer--utility .utility-col a { display: block; padding: 4px 0; color: var(--c-ink); text-decoration: none; font-size: 14px; }
.couture-footer--utility .utility-col a:hover { color: var(--c-accent); }
.couture-footer--utility .utility-foot { max-width: 1280px; margin: 0 auto; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }

/* sitemap-flat — full sitemap dump in 4-5 columns */
/* V4.56 — paper-bg footer variants must reset color to ink. Base
   .couture-footer sets color:var(--c-paper) for dark-bg footers;
   light-bg variants need explicit color flip or the whole footer
   becomes white-on-white. Operator R12 audit caught this. */
.couture-footer--sitemap,
.couture-footer--minimal,
.couture-footer--signoff,
.couture-footer--storyteller-warm,
.couture-footer--gallery-colophon,
.couture-footer--utility-table { color: var(--c-ink) !important; }
.couture-footer--sitemap { padding: clamp(64px,8vw,96px) var(--c-gutter,32px) 32px; border-top: 1px solid var(--c-line); background: var(--c-paper); }
.couture-footer--sitemap .sitemap-head { max-width: 1280px; margin: 0 auto 36px; display: grid; grid-template-columns: 1fr 2fr; gap: 32px; align-items: start; }
.couture-footer--sitemap .sitemap-head p { color: var(--c-muted); font-size: 16px; line-height: 1.55; margin: 0; }
/* V4.69 — sitemap footer polish parity with utility-table v2.
   Operator R12 Round 13: each footer variant should feel polished,
   not just utility-table. Bump padding, line-height, link spacing. */
.couture-footer--sitemap {
  padding: clamp(64px,8vw,96px) var(--c-gutter,32px) 28px !important;
}
.couture-footer--sitemap .sitemap-head {
  max-width: 1280px;
  margin: 0 auto 36px !important;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--c-line);
}
.couture-footer--sitemap .sitemap-head p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--c-ink-soft, var(--c-ink));
  margin: 16px 0 0;
  max-width: 56ch;
}
.couture-footer--sitemap .sitemap-cols { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px 40px; padding: 40px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.couture-footer--sitemap .sitemap-col h4 {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: 600;
  margin: 0 0 14px;
}
.couture-footer--sitemap .sitemap-cols a:hover { color: var(--c-accent) !important; }
.couture-footer--sitemap .sitemap-foot {
  padding-top: 28px !important;
  font-family: var(--c-body);
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  color: var(--c-muted);
}
.couture-footer--sitemap .sitemap-cols a { color: var(--c-ink); text-decoration: none; padding: 4px 0; font-size: 14px; }
.couture-footer--sitemap .sitemap-cols a:hover { color: var(--c-accent); }
.couture-footer--sitemap .sitemap-foot { max-width: 1280px; margin: 0 auto; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-footer--sitemap .sitemap-foot a { color: inherit; }
@media (max-width: 768px) { .couture-footer--sitemap .sitemap-head { grid-template-columns: 1fr; } }

/* signoff-stamp — single centered sign-off */
/* V4.69 — signoff footer polish. Add accent bar above brand mark
   for visual rhythm + tighten link weight + slightly larger nav links. */
.couture-footer--signoff {
  padding: clamp(80px,10vw,140px) var(--c-gutter,32px) 32px;
  text-align: center;
  border-top: 1px solid var(--c-line);
  position: relative;
}
.couture-footer--signoff::before {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  background: var(--c-accent);
  margin: 0 auto 36px;
}
.couture-footer--signoff .signoff-line {
  margin-top: 12px !important;
}
.couture-footer--signoff .signoff-nav a {
  font-size: 14px;
  font-weight: 500;
  transition: color .15s;
}
.couture-footer--signoff .signoff-nav a:hover { color: var(--c-accent) !important; }
.couture-footer--signoff-original-pad-marker { padding: 0; }
.couture-footer--signoff .signoff-mark { display: inline-block; }
.couture-footer--signoff .signoff-line { font-family: var(--c-display); font-style: italic; font-size: clamp(24px,3vw,36px); color: var(--c-ink); max-width: 36ch; margin: 32px auto 40px; line-height: 1.3; }
.couture-footer--signoff .signoff-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: center; padding: 24px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); margin-bottom: 24px; }
.couture-footer--signoff .signoff-nav a { color: var(--c-ink); text-decoration: none; font-size: 14px; }
/* V4.53 — operator R10 audit: footer-foot was 11px mono uppercase
   muted = unreadable. Now: 13px body sans normal-case ink (full
   contrast). Same fix below for couture-fineprint variants. */
.couture-footer--signoff .signoff-foot { font-family: var(--c-body); font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--c-ink); display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; }
.couture-footer--signoff .signoff-foot a { color: inherit; }

/* newsletter-banner — newsletter form takes full width */
.couture-footer--nlbanner { padding: 0 0 0; border-top: 1px solid var(--c-line); background: var(--c-paper-2); }
.couture-footer--nlbanner .nlbanner { background: var(--c-ink); color: var(--c-paper); padding: clamp(56px,8vw,96px) var(--c-gutter,32px); text-align: center; }
.couture-footer--nlbanner .nlbanner h2 { font-family: var(--c-display); font-size: clamp(36px,5vw,56px); line-height: 1.1; color: var(--c-paper); margin: 0 0 16px; }
.couture-footer--nlbanner .nlbanner p { color: var(--c-paper); opacity: .82; max-width: 56ch; margin: 0 auto 32px; font-size: 17px; line-height: 1.5; }
.couture-footer--nlbanner .nlbanner-form { display: flex; gap: 8px; max-width: 480px; margin: 0 auto; padding: 6px; border: 1px solid var(--c-paper); border-radius: 999px; background: rgba(255,255,255,.03); }
/* V4.93 — minimal-frame footer: ultra-quiet museum/photography feel.
   Tiny mono uppercase tracked-out caption row + small brand mark + ©. */
.couture-footer--minimal-frame {
  padding: clamp(48px, 6vw, 72px) var(--c-gutter, 32px) 24px !important;
  background: var(--c-paper) !important;
  border-top: 1px solid color-mix(in oklab, var(--c-ink) 8%, transparent);
  text-align: center;
  color: var(--c-ink) !important;
}
.couture-footer--minimal-frame .mf-row {
  max-width: 1080px;
  margin: 0 auto !important;
  display: grid;
  gap: 18px;
  justify-items: center;
}
.couture-footer--minimal-frame .mf-mark { opacity: .85; }
.couture-footer--minimal-frame .mf-mark .brand-logo { height: 22px !important; }
.couture-footer--minimal-frame .mf-nav {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0 6px;
  justify-content: center;
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.couture-footer--minimal-frame .mf-nav a {
  color: var(--c-ink) !important;
  text-decoration: none;
  padding: 4px 10px;
  border-bottom: 1px solid transparent;
  transition: border-color .15s;
}
.couture-footer--minimal-frame .mf-nav a:hover {
  border-bottom-color: var(--c-ink);
}
.couture-footer--minimal-frame .mf-sep {
  color: var(--c-muted);
  opacity: .5;
  align-self: center;
}
.couture-footer--minimal-frame .mf-meta {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--c-muted);
  margin-top: 12px;
}

/* V4.93 — colorblock-bold footer: full ink solid block, white text,
   accent-pill CTA in hero, big brand statement, 3-col link grid. */
.couture-footer--colorblock-bold {
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
  padding: clamp(64px, 8vw, 112px) var(--c-gutter, 32px) 28px !important;
  border-top: none !important;
}
.couture-footer--colorblock-bold .cb-hero {
  max-width: 1280px;
  margin: 0 auto clamp(48px, 6vw, 80px) !important;
  text-align: left;
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding-bottom: clamp(48px, 6vw, 72px);
}
.couture-footer--colorblock-bold .cb-hero h2 {
  font-family: var(--c-display);
  font-weight: 800;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  letter-spacing: -.025em;
  line-height: 1;
  color: var(--c-paper) !important;
  margin: 0 0 18px;
}
.couture-footer--colorblock-bold .cb-hero p {
  color: rgba(244,244,245,.78) !important;
  font-size: 1.05rem;
  line-height: 1.55;
  max-width: 56ch;
  margin: 0 0 28px;
}
.couture-footer--colorblock-bold .cb-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--c-accent);
  color: var(--c-ink);
  text-decoration: none;
  font-family: var(--c-body);
  font-weight: 700;
  font-size: 14px;
  border-radius: 6px;
  transition: transform .15s, filter .15s;
}
.couture-footer--colorblock-bold .cb-cta:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}
.couture-footer--colorblock-bold .cb-grid {
  max-width: 1280px;
  margin: 0 auto !important;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(32px, 4vw, 56px);
}
.couture-footer--colorblock-bold .cb-col h4 {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-accent) !important;
  margin: 0 0 14px;
  font-weight: 700;
}
.couture-footer--colorblock-bold .cb-col a {
  display: block;
  padding: 5px 0;
  color: var(--c-paper) !important;
  text-decoration: none;
  font-size: 13px;
  opacity: .85;
  transition: opacity .15s;
}
.couture-footer--colorblock-bold .cb-col a:hover {
  opacity: 1;
  color: var(--c-accent) !important;
}
.couture-footer--colorblock-bold .cb-foot {
  max-width: 1280px;
  margin: clamp(40px, 5vw, 64px) auto 0 !important;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  font-family: var(--c-mono);
  font-size: 11px;
  color: rgba(244,244,245,.6);
}
.couture-footer--colorblock-bold .cb-foot .couture-fineprint a {
  color: rgba(244,244,245,.6) !important;
}
@media (max-width: 720px) {
  .couture-footer--colorblock-bold .cb-grid { grid-template-columns: 1fr 1fr; }
}

/* V4.93 — shapes-pill footer: rounded soft pastel card, pill nav,
   inline newsletter pill form. Matches shopify-shapes + shopify-taste. */
.couture-footer--shapes-pill {
  padding: clamp(32px, 4vw, 56px) var(--c-gutter, 32px) 24px !important;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-accent) 5%) !important;
  color: var(--c-ink) !important;
  border-top: none !important;
}
.couture-footer--shapes-pill .sp-card {
  max-width: 1280px;
  margin: 0 auto !important;
  background: var(--c-paper);
  border-radius: 28px;
  padding: clamp(32px, 4vw, 56px);
  box-shadow: 0 12px 32px -16px color-mix(in oklab, var(--c-ink) 14%, transparent);
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}
.couture-footer--shapes-pill .sp-brand .brand-logo { height: 36px !important; }
.couture-footer--shapes-pill .sp-tagline {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-ink-soft, var(--c-ink));
  margin: 12px 0 0;
}
.couture-footer--shapes-pill .sp-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-footer--shapes-pill .sp-nav a {
  display: inline-block;
  padding: 8px 14px;
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  color: var(--c-ink) !important;
  text-decoration: none;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  transition: background .15s, color .15s;
  width: fit-content;
}
.couture-footer--shapes-pill .sp-nav a:hover {
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
}
.couture-footer--shapes-pill .sp-newsletter form {
  display: flex;
  gap: 6px;
  padding: 4px;
  border: 1px solid var(--c-line);
  border-radius: 999px;
  background: var(--c-paper);
}
.couture-footer--shapes-pill .sp-newsletter input {
  flex: 1;
  padding: 8px 14px !important;
  background: transparent !important;
  border: none !important;
  outline: none;
  font-family: var(--c-body);
  font-size: 13px;
}
.couture-footer--shapes-pill .sp-newsletter button {
  padding: 8px 18px !important;
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
  border: none !important;
  border-radius: 999px;
  font-family: var(--c-body);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.couture-footer--shapes-pill .sp-foot {
  max-width: 1280px;
  margin: 24px auto 0 !important;
  padding: 0 12px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  font-family: var(--c-mono);
  font-size: 11px;
  color: var(--c-muted);
}
@media (max-width: 920px) {
  .couture-footer--shapes-pill .sp-card { grid-template-columns: 1fr; }
}

/* ============================================================
   V6.123 — 3 NEW FOOTER AESTHETICS
   loft-stack, canopy-card, midnight-glow
   ============================================================ */

/* loft-stack — industrial loft, concrete-tinted bg, navy stripe top */
.couture-footer--loft-stack {
  background: color-mix(in oklab, var(--c-paper) 78%, var(--c-ink) 22%) !important;
  color: var(--c-ink);
  padding: 0 !important;
  border-top: none !important;
}
.couture-footer--loft-stack .loft-stripe {
  height: 6px;
  background: var(--c-accent);
}
.couture-footer--loft-stack .loft-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: clamp(28px, 4vw, 56px);
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(56px, 7vw, 96px) var(--c-gutter, 32px) clamp(40px, 5vw, 64px);
}
.couture-footer--loft-stack .loft-col h4 {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
  margin: 0 0 18px;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-ink) 25%, transparent);
  font-weight: 700;
}
.couture-footer--loft-stack .loft-col a,
.couture-footer--loft-stack .loft-col span {
  display: block;
  font-family: var(--c-mono);
  font-size: 13px;
  color: var(--c-ink) !important;
  text-decoration: none;
  padding: 6px 0;
  letter-spacing: .02em;
}
.couture-footer--loft-stack .loft-col a:hover { color: var(--c-accent) !important; }
.couture-footer--loft-stack .loft-promise {
  font-family: var(--c-body);
  font-size: 14px;
  line-height: 1.55;
  margin: 14px 0 0;
  max-width: 36ch;
  color: color-mix(in oklab, var(--c-ink) 80%, transparent);
}
.couture-footer--loft-stack .loft-foot {
  border-top: 1px solid color-mix(in oklab, var(--c-ink) 18%, transparent);
  padding: 24px var(--c-gutter, 32px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  max-width: 1320px;
  margin: 0 auto;
}
@media (max-width: 720px) {
  .couture-footer--loft-stack .loft-grid { grid-template-columns: 1fr 1fr; }
  .couture-footer--loft-stack .loft-col--brand { grid-column: 1 / -1; }
}

/* canopy-card — outdoor adventure, forest gradient, hero promise + cards */
.couture-footer--canopy-card {
  background: linear-gradient(160deg,
    color-mix(in oklab, var(--c-paper) 70%, var(--c-accent) 30%) 0%,
    color-mix(in oklab, var(--c-paper) 92%, var(--c-accent) 8%) 100%) !important;
  color: var(--c-ink);
  padding: 0 !important;
  border-top: none !important;
}
.couture-footer--canopy-card .canopy-hero {
  text-align: center;
  padding: clamp(56px, 7vw, 96px) var(--c-gutter, 32px) clamp(40px, 5vw, 64px);
  max-width: 880px;
  margin: 0 auto;
}
.couture-footer--canopy-card .canopy-hero-mark { margin-bottom: 20px; }
.couture-footer--canopy-card .canopy-hero-mark .brand-logo { height: 56px !important; }
.couture-footer--canopy-card .canopy-hero-line {
  font-family: var(--c-display);
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.3;
  font-weight: 400;
  margin: 0 0 28px;
  color: var(--c-ink);
}
.couture-footer--canopy-card .canopy-hero-cta {
  display: inline-block;
  padding: 14px 36px;
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .04em;
}
.couture-footer--canopy-card .canopy-hero-cta:hover { transform: translateY(-1px); transition: transform .15s; }
.couture-footer--canopy-card .canopy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px);
}
.couture-footer--canopy-card .canopy-card {
  background: var(--c-paper);
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 4px 20px -10px color-mix(in oklab, var(--c-ink) 20%, transparent);
}
.couture-footer--canopy-card .canopy-card h4 {
  font-family: var(--c-display);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 16px;
  color: var(--c-ink);
}
.couture-footer--canopy-card .canopy-card a {
  display: block;
  font-size: 14px;
  color: var(--c-ink-soft, var(--c-ink)) !important;
  text-decoration: none;
  padding: 6px 0;
}
.couture-footer--canopy-card .canopy-card a:hover { color: var(--c-accent) !important; }
.couture-footer--canopy-card .canopy-newsletter {
  display: flex;
  gap: 6px;
  border: 1px solid var(--c-line);
  padding: 4px;
  border-radius: 999px;
  margin-top: 6px;
}
.couture-footer--canopy-card .canopy-newsletter input {
  flex: 1;
  padding: 8px 14px !important;
  background: transparent !important;
  border: none !important;
  outline: none;
  font-size: 13px;
}
.couture-footer--canopy-card .canopy-newsletter button {
  padding: 8px 16px !important;
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  border: none !important;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.couture-footer--canopy-card .canopy-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  max-width: 1180px;
  margin: 32px auto 0;
  padding: 24px var(--c-gutter, 32px);
  border-top: 1px solid color-mix(in oklab, var(--c-ink) 12%, transparent);
  font-size: 12px;
  color: var(--c-ink-soft, var(--c-ink));
}
@media (max-width: 720px) {
  .couture-footer--canopy-card .canopy-grid { grid-template-columns: 1fr; }
}

/* midnight-glow — premium dark, deep navy + purple halo */
.couture-footer--midnight-glow {
  background: #0d1424 !important;
  color: #e8eaf2;
  padding: 0 !important;
  border-top: none !important;
  position: relative;
  overflow: hidden;
}
.couture-footer--midnight-glow .mg-halo {
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 400px;
  background: radial-gradient(ellipse at center, rgba(176,148,255,.35) 0%, transparent 60%);
  filter: blur(40px);
  pointer-events: none;
}
.couture-footer--midnight-glow .mg-top,
.couture-footer--midnight-glow .mg-grid,
.couture-footer--midnight-glow .mg-foot,
.couture-footer--midnight-glow .mg-divider {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
}
.couture-footer--midnight-glow .mg-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  padding: clamp(64px, 8vw, 112px) var(--c-gutter, 32px) clamp(40px, 5vw, 64px);
  align-items: start;
}
.couture-footer--midnight-glow .mg-brand .brand-logo { height: 48px !important; filter: invert(1); }
.couture-footer--midnight-glow .mg-promise {
  font-family: var(--c-display);
  font-weight: 200;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.4;
  letter-spacing: -.01em;
  color: #e8eaf2;
  margin: 18px 0 0;
  max-width: 36ch;
}
.couture-footer--midnight-glow .mg-newsletter label {
  display: block;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: #b094ff;
  margin-bottom: 14px;
}
.couture-footer--midnight-glow .mg-newsletter-row {
  display: flex;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  padding: 4px;
  background: rgba(255,255,255,.03);
}
.couture-footer--midnight-glow .mg-newsletter input {
  flex: 1;
  padding: 12px 18px !important;
  background: transparent !important;
  border: none !important;
  outline: none;
  color: #e8eaf2 !important;
  font-size: 14px;
}
.couture-footer--midnight-glow .mg-newsletter input::placeholder { color: rgba(232,234,242,.45); }
.couture-footer--midnight-glow .mg-newsletter button {
  padding: 12px 24px !important;
  background: linear-gradient(135deg, #6e8eff 0%, #b094ff 100%) !important;
  color: #0d1424 !important;
  border: none !important;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}
.couture-footer--midnight-glow .mg-divider {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(176,148,255,.4), transparent);
  margin: 0 auto !important;
}
.couture-footer--midnight-glow .mg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(40px, 5vw, 64px) var(--c-gutter, 32px) clamp(32px, 4vw, 48px);
}
.couture-footer--midnight-glow .mg-col h4 {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #b094ff;
  margin: 0 0 16px;
}
.couture-footer--midnight-glow .mg-col a {
  display: block;
  font-size: 14px;
  color: #e8eaf2 !important;
  text-decoration: none;
  padding: 6px 0;
  font-weight: 300;
}
.couture-footer--midnight-glow .mg-col a:hover { color: #b094ff !important; }
.couture-footer--midnight-glow .mg-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  padding: 24px var(--c-gutter, 32px);
  border-top: 1px solid rgba(255,255,255,.08);
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: rgba(232,234,242,.55);
}
@media (max-width: 720px) {
  .couture-footer--midnight-glow .mg-top { grid-template-columns: 1fr; }
  .couture-footer--midnight-glow .mg-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   V6.232 — operator R27 night autopilot Round 3:
   4 NEW footer variants matching V6.230 Shopify-template
   sub-variants. Each in distinct visual envelope.
   ============================================================ */

/* archive-ledger — vintage archive footer. Cream paper bg, sepia ink,
   ledger-table feel with mono captions, rubber-stamp signoff. */
.couture-footer--archive-ledger {
  background: #f3ead4;
  color: #3a2a16;
  padding: 56px clamp(24px, 5vw, 80px) 28px;
  border-top: 6px double #6b4f2c;
  position: relative;
}
.couture-footer--archive-ledger .al-mast {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 4px;
  flex-wrap: wrap;
  gap: 12px;
}
.couture-footer--archive-ledger .al-mast-name {
  font-family: var(--c-display);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -.012em;
  color: #2a1f0e;
}
.couture-footer--archive-ledger .al-mast-est {
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .18em;
  color: #6b4f2c;
}
.couture-footer--archive-ledger .al-rule {
  height: 0; border-top: 1px solid #b89968;
  border-bottom: 1px solid #b89968;
  padding-top: 4px;
  margin: 16px 0 36px;
}
.couture-footer--archive-ledger .al-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 36px;
  margin-bottom: 36px;
}
.couture-footer--archive-ledger .al-promise {
  font-family: var(--c-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(17px, 1.8vw, 22px);
  line-height: 1.5;
  color: #4d3a22;
  margin: 0;
}
.couture-footer--archive-ledger .al-cap {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #8a2a18;
  border-bottom: 1.5px solid #b89968;
  padding-bottom: 6px;
  margin-bottom: 14px;
}
.couture-footer--archive-ledger .al-col a,
.couture-footer--archive-ledger .al-col span {
  display: block;
  font-family: var(--c-body);
  font-size: 14px;
  color: #3a2a16;
  text-decoration: none;
  padding: 4px 0;
  transition: color .15s;
}
.couture-footer--archive-ledger .al-col a:hover { color: #8a2a18; }
.couture-footer--archive-ledger .al-stamp {
  position: absolute;
  right: clamp(24px, 5vw, 80px);
  bottom: 60px;
  width: 86px; height: 86px;
  border: 2.5px solid #8a2a18;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: var(--c-mono);
  color: #8a2a18;
  transform: rotate(-12deg);
  opacity: .7;
  pointer-events: none;
}
.couture-footer--archive-ledger .al-stamp-mark {
  font-size: 11px; letter-spacing: .15em;
}
.couture-footer--archive-ledger .al-stamp-num {
  font-size: 28px; font-weight: 700;
}
.couture-footer--archive-ledger .al-foot {
  border-top: 1px solid #b89968;
  padding-top: 18px;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6b4f2c;
}
@media (max-width: 720px) {
  .couture-footer--archive-ledger .al-grid { grid-template-columns: 1fr 1fr; }
  .couture-footer--archive-ledger .al-stamp { display: none; }
}

/* monolith-grid — brutalist mono. Heavy black bar, all-caps mono columns
   separated by visible vertical rules, monumental brand mark. */
.couture-footer--monolith-grid {
  background: #0a0a0a;
  color: #fafafa;
  padding: 0;
  border: none;
}
.couture-footer--monolith-grid .mn-monumental {
  padding: 60px clamp(32px, 5vw, 80px) 32px;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.couture-footer--monolith-grid .mn-mark {
  font-family: var(--c-mono);
  font-weight: 800;
  font-size: clamp(56px, 10vw, 144px);
  letter-spacing: -.045em;
  text-transform: uppercase;
  line-height: .9;
  display: inline-block;
}
.couture-footer--monolith-grid .mn-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.couture-footer--monolith-grid .mn-col {
  padding: 32px clamp(24px, 3vw, 36px);
  border-left: 1px solid rgba(255,255,255,.18);
}
.couture-footer--monolith-grid .mn-col:first-child { border-left: none; }
.couture-footer--monolith-grid .mn-col h4 {
  font-family: var(--c-mono);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .25em;
  margin: 0 0 18px;
  color: #d33b1c;
}
.couture-footer--monolith-grid .mn-col a,
.couture-footer--monolith-grid .mn-col span {
  display: block;
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .12em;
  color: #fafafa;
  text-decoration: none;
  padding: 4px 0;
  transition: color .15s;
}
.couture-footer--monolith-grid .mn-col a:hover { color: #d33b1c; }
.couture-footer--monolith-grid .mn-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px clamp(32px, 5vw, 80px);
  border-top: 1px solid rgba(255,255,255,.18);
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: #888;
}
@media (max-width: 720px) {
  .couture-footer--monolith-grid .mn-grid { grid-template-columns: 1fr 1fr; }
  .couture-footer--monolith-grid .mn-col:nth-child(3) { border-left: none; border-top: 1px solid rgba(255,255,255,.18); }
  .couture-footer--monolith-grid .mn-foot { flex-direction: column; gap: 8px; }
}

/* bloom-organic — botanical wellness. Curved bg via SVG, soft pastel
   gradient, friendly lowercase nav, pill newsletter form. */
.couture-footer--bloom-organic {
  position: relative;
  background: linear-gradient(180deg, #faf9f5 0%, #f0f4e8 80%);
  color: #2a3724;
  padding: 100px clamp(32px, 5vw, 80px) 32px;
  margin-top: 60px;
}
.couture-footer--bloom-organic .bo-curve {
  position: absolute; top: -1px; left: 0; right: 0;
  width: 100%; height: 80px;
  color: #faf9f5;
  transform: translateY(-99%);
  display: block;
}
.couture-footer--bloom-organic .bo-wrap {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 48px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.couture-footer--bloom-organic .bo-brand .brand-logo { height: 36px !important; }
.couture-footer--bloom-organic .bo-tagline {
  font-family: var(--c-display);
  font-style: italic;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.6;
  margin: 14px 0 0;
  color: #5e6e54;
  max-width: 38ch;
}
.couture-footer--bloom-organic .bo-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-footer--bloom-organic .bo-nav a {
  font-family: var(--c-body);
  font-size: 15px;
  font-weight: 500;
  color: #2a3724;
  text-decoration: none;
  padding: 6px 14px;
  border-radius: 999px;
  width: fit-content;
  transition: background .15s;
}
.couture-footer--bloom-organic .bo-nav a:hover {
  background: #d4e0bf; color: #2a3724;
}
.couture-footer--bloom-organic .bo-newsletter label {
  display: block;
  font-family: var(--c-display);
  font-style: italic;
  font-weight: 500;
  font-size: 15px;
  color: #88a472;
  margin-bottom: 14px;
}
.couture-footer--bloom-organic .bo-pill {
  display: flex;
  align-items: center;
  background: #fafafa;
  border: 1px solid #d4dec0;
  border-radius: 999px;
  padding: 6px 6px 6px 18px;
  max-width: 340px;
}
.couture-footer--bloom-organic .bo-pill input {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  font-family: var(--c-body);
  font-size: 14px;
  color: #2a3724;
  padding: 8px 6px;
}
.couture-footer--bloom-organic .bo-pill button {
  background: #88a472;
  color: #fff;
  border: none;
  padding: 9px 18px;
  border-radius: 999px;
  font-family: var(--c-body);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background .15s;
}
.couture-footer--bloom-organic .bo-pill button:hover { background: #6e8a59; }
.couture-footer--bloom-organic .bo-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 24px;
  border-top: 1px solid #d4dec0;
  font-family: var(--c-body);
  font-size: 13px;
  color: #5e6e54;
  flex-wrap: wrap;
  gap: 12px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 720px) {
  .couture-footer--bloom-organic .bo-wrap { grid-template-columns: 1fr; gap: 32px; }
}

/* newsroom-masthead — tech publication footer. Big serif brand wordmark
   with double-rule masthead, multi-col link grid (NYT/Substack feel). */
.couture-footer--newsroom-masthead {
  background: var(--c-paper);
  color: var(--c-ink);
  padding: 64px clamp(32px, 5vw, 80px) 28px;
  border-top: 1px solid var(--c-line);
}
.couture-footer--newsroom-masthead .nm-mast {
  text-align: center;
  margin-bottom: 56px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.couture-footer--newsroom-masthead .nm-mast-rule {
  height: 0;
  border-top: 4px solid var(--c-ink);
  border-bottom: 1px solid var(--c-ink);
  padding-top: 4px;
  margin: 0;
}
.couture-footer--newsroom-masthead .nm-mast-name {
  font-family: var(--c-display);
  font-weight: 800;
  font-size: clamp(36px, 5vw, 64px);
  letter-spacing: -.025em;
  margin: 18px 0 8px;
  line-height: 1;
  color: var(--c-ink);
}
.couture-footer--newsroom-masthead .nm-mast-promise {
  font-family: var(--c-body);
  font-style: italic;
  font-size: 15px;
  color: var(--c-muted, var(--c-ink));
  margin: 0 0 18px;
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}
.couture-footer--newsroom-masthead .nm-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
  max-width: 1200px;
  margin: 0 auto 36px;
}
.couture-footer--newsroom-masthead .nm-col h4 {
  font-family: var(--c-body);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--c-ink);
}
.couture-footer--newsroom-masthead .nm-col a,
.couture-footer--newsroom-masthead .nm-col span {
  display: block;
  font-family: var(--c-body);
  font-size: 14px;
  color: var(--c-ink);
  text-decoration: none;
  padding: 5px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-footer--newsroom-masthead .nm-col a:hover { color: var(--c-accent); }
.couture-footer--newsroom-masthead .nm-sub-note {
  font-family: var(--c-body);
  font-size: 13px;
  color: var(--c-muted, var(--c-ink));
  margin: 0 0 12px;
  line-height: 1.4;
}
.couture-footer--newsroom-masthead .nm-col form {
  display: flex; flex-direction: column; gap: 8px;
}
.couture-footer--newsroom-masthead .nm-col form input {
  padding: 10px 14px;
  border: 1px solid var(--c-line);
  border-radius: 6px;
  font-family: var(--c-body);
  font-size: 13px;
}
.couture-footer--newsroom-masthead .nm-col form button {
  background: var(--c-ink);
  color: var(--c-paper);
  border: none;
  padding: 10px;
  border-radius: 6px;
  font-family: var(--c-body);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
}
.couture-footer--newsroom-masthead .nm-foot {
  text-align: center;
  border-top: 1px solid var(--c-line);
  padding-top: 18px;
  font-family: var(--c-body);
  font-size: 12px;
  color: var(--c-muted, var(--c-ink));
}
@media (max-width: 720px) {
  .couture-footer--newsroom-masthead .nm-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   V6.304 — operator R30 pivot:
   3 NEW clean DTC-tier footers (clean-stack / saas-cards / dtc-grid)
   tuned for V6.299/V6.301 high-trust sub-variants. Restrained,
   structured, no decorative noise.
   ============================================================ */

/* clean-stack — Allbirds/Casper-style 4-col grid + brand + newsletter */
.couture-footer--clean-stack { background: var(--c-paper); color: var(--c-ink); padding: clamp(56px, 7vw, 96px) clamp(32px, 5vw, 80px) 28px; border-top: 1px solid var(--c-line); }
.couture-footer--clean-stack .cs-top { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(40px, 5vw, 80px); padding-bottom: 40px; border-bottom: 1px solid var(--c-line); margin-bottom: 36px; max-width: 1280px; margin-left: auto; margin-right: auto; }
.couture-footer--clean-stack .cs-brand { display: flex; flex-direction: column; gap: 12px; }
.couture-footer--clean-stack .cs-brand .brand-logo { height: 32px !important; }
.couture-footer--clean-stack .cs-tagline { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-muted)); margin: 0; max-width: 38ch; }
.couture-footer--clean-stack .cs-newsletter h4 { font-family: var(--c-body); font-weight: 700; font-size: 14px; margin: 0 0 12px; color: var(--c-ink); }
.couture-footer--clean-stack .cs-newsletter form { display: flex; gap: 8px; }
.couture-footer--clean-stack .cs-newsletter input { flex: 1; padding: 12px 14px; border: 1px solid var(--c-line); border-radius: 6px; font-family: var(--c-body); font-size: 14px; background: var(--c-paper); color: var(--c-ink); }
.couture-footer--clean-stack .cs-newsletter button { padding: 12px 22px; background: var(--c-ink); color: var(--c-paper); border: 0; border-radius: 6px; font-family: var(--c-body); font-weight: 600; font-size: 14px; cursor: pointer; }
.couture-footer--clean-stack .cs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; max-width: 1280px; margin: 0 auto 36px; }
.couture-footer--clean-stack .cs-col h4 { font-family: var(--c-body); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted, var(--c-ink-soft)); margin: 0 0 14px; }
.couture-footer--clean-stack .cs-col a, .couture-footer--clean-stack .cs-col span { display: block; font-family: var(--c-body); font-size: 14px; color: var(--c-ink); text-decoration: none; padding: 4px 0; transition: color .15s; }
.couture-footer--clean-stack .cs-col a:hover { color: var(--c-accent); }
.couture-footer--clean-stack .cs-foot { border-top: 1px solid var(--c-line); padding-top: 18px; font-family: var(--c-body); font-size: 12px; color: var(--c-muted, var(--c-ink-soft)); max-width: 1280px; margin: 0 auto; }
@media (max-width: 800px) { .couture-footer--clean-stack .cs-top { grid-template-columns: 1fr; } .couture-footer--clean-stack .cs-grid { grid-template-columns: 1fr 1fr; } }

/* saas-cards — Linear/Vercel-style 3-card grid */
.couture-footer--saas-cards { background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink) 4%); padding: clamp(56px, 7vw, 96px) clamp(32px, 5vw, 80px) 28px; }
.couture-footer--saas-cards .sc-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; max-width: 1280px; margin: 0 auto 28px; }
.couture-footer--saas-cards .sc-card { background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; padding: 24px 26px; }
.couture-footer--saas-cards .sc-card--brand .brand-logo { height: 32px !important; margin-bottom: 12px; }
.couture-footer--saas-cards .sc-card--brand p { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-muted)); margin: 0 0 16px; }
.couture-footer--saas-cards .sc-cta { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; background: var(--c-ink); color: var(--c-paper); text-decoration: none; border-radius: 6px; font-family: var(--c-body); font-weight: 600; font-size: 13px; }
.couture-footer--saas-cards .sc-cta:hover { background: var(--c-accent); }
.couture-footer--saas-cards .sc-card h4 { font-family: var(--c-body); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted, var(--c-ink-soft)); margin: 0 0 14px; }
.couture-footer--saas-cards .sc-card a { display: block; font-family: var(--c-body); font-size: 14px; color: var(--c-ink); text-decoration: none; padding: 5px 0; transition: color .15s; }
.couture-footer--saas-cards .sc-card a:hover { color: var(--c-accent); }
.couture-footer--saas-cards .sc-foot { text-align: center; padding-top: 12px; font-family: var(--c-body); font-size: 12px; color: var(--c-muted, var(--c-ink-soft)); }
@media (max-width: 800px) { .couture-footer--saas-cards .sc-grid { grid-template-columns: 1fr; } }

/* dtc-grid — Glossier/Parachute soft 2-row grid */
.couture-footer--dtc-grid { background: var(--c-paper); padding: clamp(64px, 8vw, 112px) clamp(32px, 5vw, 80px) 28px; border-top: 1px solid color-mix(in oklab, var(--c-ink) 6%, transparent); }
.couture-footer--dtc-grid .dg-top { text-align: center; max-width: 720px; margin: 0 auto 56px; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.couture-footer--dtc-grid .dg-top .brand-logo { height: 36px !important; }
.couture-footer--dtc-grid .dg-tagline { font-family: var(--c-display); font-style: italic; font-size: 17px; line-height: 1.55; color: var(--c-ink-soft, var(--c-muted)); margin: 0; max-width: 50ch; }
.couture-footer--dtc-grid .dg-newsletter { display: flex; gap: 0; max-width: 480px; width: 100%; margin: 8px auto 0; align-items: center; background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink) 4%); border: 1px solid var(--c-line); border-radius: 999px; padding: 4px 4px 4px 18px; }
.couture-footer--dtc-grid .dg-newsletter input { flex: 1; padding: 10px 8px; background: transparent; border: 0; outline: none; font-family: var(--c-body); font-size: 14px; color: var(--c-ink); }
.couture-footer--dtc-grid .dg-newsletter button { padding: 10px 22px; background: var(--c-ink); color: var(--c-paper); border: 0; border-radius: 999px; font-family: var(--c-body); font-weight: 600; font-size: 13px; cursor: pointer; }
.couture-footer--dtc-grid .dg-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; max-width: 1080px; margin: 0 auto 32px; padding-top: 32px; border-top: 1px solid var(--c-line); }
.couture-footer--dtc-grid .dg-col { display: flex; flex-direction: column; gap: 4px; }
.couture-footer--dtc-grid .dg-label { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted, var(--c-ink-soft)); margin-bottom: 8px; font-weight: 600; }
.couture-footer--dtc-grid .dg-col a { font-family: var(--c-body); font-size: 14px; color: var(--c-ink); text-decoration: none; padding: 4px 0; transition: color .15s; }
.couture-footer--dtc-grid .dg-col a:hover { color: var(--c-accent); }
.couture-footer--dtc-grid .dg-foot { text-align: center; padding-top: 18px; border-top: 1px solid var(--c-line); font-family: var(--c-body); font-size: 12px; color: var(--c-muted, var(--c-ink-soft)); max-width: 1080px; margin: 0 auto; }
@media (max-width: 720px) { .couture-footer--dtc-grid .dg-links { grid-template-columns: 1fr 1fr; } }

/* V4.69 — newsletter-banner footer polish: pill-shaped form,
   premium input/button treatment, accent button. */
.couture-footer--nlbanner .nlbanner-form input {
  flex: 1;
  padding: 12px 18px !important;
  background: transparent !important;
  border: none !important;
  color: var(--c-paper) !important;
  font-family: var(--c-body);
  font-size: 14px;
  outline: none;
}
.couture-footer--nlbanner .nlbanner-form input::placeholder {
  color: rgba(255,255,255,.55);
}
.couture-footer--nlbanner .nlbanner-form button {
  padding: 12px 22px !important;
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  border: none !important;
  border-radius: 999px;
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: background .2s, transform .15s;
}
.couture-footer--nlbanner .nlbanner-form button:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}
.couture-footer--nlbanner .nlbanner-form input { flex: 1; border: 0; padding: 12px 14px; background: transparent; color: var(--c-paper); font-family: var(--c-body); font-size: 16px; }
.couture-footer--nlbanner .nlbanner-form input::placeholder { color: var(--c-paper); opacity: .55; }
.couture-footer--nlbanner .nlbanner-form button { background: var(--c-paper); color: var(--c-ink); border: 0; padding: 0 24px; font-family: var(--c-mono); letter-spacing: .12em; text-transform: uppercase; font-size: 12px; cursor: pointer; }
.couture-footer--nlbanner .nlbanner-bottom { padding: 24px var(--c-gutter,32px); display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; max-width: 1280px; margin: 0 auto; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-footer--nlbanner .nlbanner-bottom nav { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.couture-footer--nlbanner .nlbanner-bottom nav a { color: var(--c-ink); text-decoration: none; }

/* ============================================================================
   V4.20 — 6 NEW SECTION TYPES
   ============================================================================ */

/* testimonial_grid — 4-6 quote cards in a grid */
.couture-tg { padding: clamp(48px,6vw,80px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-tg .tg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.couture-tg .tg-card { background: var(--c-paper-2); padding: 24px; border: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 12px; }
.couture-tg .tg-stars { color: var(--c-accent); letter-spacing: 2px; font-size: 14px; }
.couture-tg .tg-quote { font-family: var(--c-body); font-size: 15px; line-height: 1.5; color: var(--c-ink); flex-grow: 1; margin: 0; }
.couture-tg .tg-foot { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); }
.couture-tg .tg-who { font-weight: 500; color: var(--c-ink); }

/* founder_letter — single signed letter */
.couture-fl { padding: clamp(48px,6vw,96px) var(--c-gutter,32px); max-width: 720px; margin: 0 auto; }
.couture-fl .fl-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 16px; }
.couture-fl h2 { font-family: var(--c-display); font-size: clamp(28px,4vw,40px); line-height: 1.2; margin: 0 0 24px; }
.couture-fl .fl-body p { font-family: var(--c-body); font-size: 17px; line-height: 1.65; color: var(--c-ink); margin: 0 0 16px; }
.couture-fl .fl-sig { font-family: var(--c-display); font-style: italic; font-size: 18px; color: var(--c-ink); margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--c-line); }

/* before_after — 2-image comparison */
.couture-ba { padding: clamp(48px,6vw,80px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-ba .ba-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.couture-ba .ba-half { margin: 0; position: relative; aspect-ratio: 1; overflow: hidden; background: var(--c-paper-2); }
.couture-ba .ba-half img { width: 100%; height: 100%; object-fit: cover; display: block; }
.couture-ba .ba-half figcaption { position: absolute; left: 12px; bottom: 12px; background: var(--c-paper); padding: 6px 12px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-ink); }
.couture-ba .ba-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--c-paper-2), var(--c-line)); }
@media (max-width: 768px) { .couture-ba .ba-pair { grid-template-columns: 1fr; } }

/* V6.279 — operator R27 night autopilot Round 47: 2 NEW before_after sub-variants */

/* sub-1 — arrow-flow: before + arrow-divider + after (more dynamic) */
.couture-ba--v1 .ba-flow { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; }
.couture-ba--v1 .ba-flow-half { margin: 0; aspect-ratio: 1; overflow: hidden; background: var(--c-paper-2); position: relative; border-radius: 8px; }
.couture-ba--v1 .ba-flow-half img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s;  }
.couture-ba--v1 .ba-flow-half:hover img { transform: scale(1.04); }
.couture-ba--v1 .ba-flow-half figcaption { position: absolute; bottom: 14px; left: 14px; }
.couture-ba--v1 .ba-flow-tag { display: inline-block; padding: 6px 12px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 4px; font-family: var(--c-mono); font-weight: 700; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-ba--v1 .ba-flow-tag--after { background: var(--c-accent); color: var(--c-paper); border-color: var(--c-accent); }
.couture-ba--v1 .ba-flow-divider { width: 64px; display: grid; place-items: center; }
.couture-ba--v1 .ba-flow-arrow { width: 56px; height: 56px; border-radius: 50%; background: var(--c-accent); color: var(--c-paper); display: grid; place-items: center; font-size: 28px; font-weight: 800; box-shadow: 0 8px 24px -8px color-mix(in oklab, var(--c-accent) 50%, transparent); }
@media (max-width: 700px) { .couture-ba--v1 .ba-flow { grid-template-columns: 1fr; } .couture-ba--v1 .ba-flow-divider { transform: rotate(90deg); justify-self: center; } }

/* sub-2 — stacked-overlay: vertical stack with chunky labels */
.couture-ba--v2 .ba-stack { display: flex; flex-direction: column; gap: 14px; max-width: 880px; margin: 0 auto; padding: 0 var(--c-gutter, 32px); }
.couture-ba--v2 .ba-stack-item { margin: 0; position: relative; aspect-ratio: 16/9; overflow: hidden; background: var(--c-paper-2); border-radius: 8px; }
.couture-ba--v2 .ba-stack-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s;  }
.couture-ba--v2 .ba-stack-item:hover img { transform: scale(1.03); }
.couture-ba--v2 .ba-stack-label { position: absolute; top: 14px; left: 14px; padding: 8px 14px; background: var(--c-paper); border-radius: 4px; font-family: var(--c-mono); font-weight: 800; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-ink); z-index: 2; box-shadow: 0 4px 16px -8px rgba(0,0,0,.18); }
.couture-ba--v2 .ba-stack-label--after { background: var(--c-accent); color: var(--c-paper); }

/* faq_inline — inline expandable Q&A */
.couture-faq-inline { padding: clamp(48px,6vw,80px) var(--c-gutter,32px); max-width: 880px; margin: 0 auto; }
.couture-faq-inline .faq-inline-list { display: flex; flex-direction: column; }
.couture-faq-inline .faq-inline-item { border-bottom: 1px solid var(--c-line); padding: 20px 0; }
.couture-faq-inline .faq-inline-item summary { cursor: pointer; list-style: none; font-family: var(--c-display); font-size: clamp(18px,2.4vw,22px); color: var(--c-ink); padding-right: 28px; position: relative; }
.couture-faq-inline .faq-inline-item summary::-webkit-details-marker { display: none; }
.couture-faq-inline .faq-inline-item summary::after { content: "+"; position: absolute; right: 0; top: 0; font-family: var(--c-mono); font-size: 22px; color: var(--c-muted); transition: transform .15s; }
.couture-faq-inline .faq-inline-item[open] summary::after { content: "–"; }
.couture-faq-inline .faq-inline-item p { color: var(--c-muted); font-size: 16px; line-height: 1.6; margin: 12px 0 0; max-width: 64ch; }

/* V6.281 — operator R27 night autopilot Round 49: 2 NEW faq_inline sub-variants */

/* sub-1 — 2-col-grid native <details> */
.couture-faq-inline--v1 { max-width: 1180px; }
.couture-faq-inline--v1 .faq-inline-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 12px; }
.couture-faq-inline--v1 .faq-inline-grid-item { padding: 18px 22px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 10px; transition: border-color .15s; }
.couture-faq-inline--v1 .faq-inline-grid-item:hover { border-color: var(--c-accent); }
.couture-faq-inline--v1 .faq-inline-grid-item summary { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; cursor: pointer; list-style: none; font-family: var(--c-body); font-weight: 600; font-size: 15px; color: var(--c-ink); padding: 0; position: static; }
.couture-faq-inline--v1 .faq-inline-grid-item summary::-webkit-details-marker { display: none; }
.couture-faq-inline--v1 .faq-inline-grid-item summary::after { display: none; }
.couture-faq-inline--v1 .fii-num { font-family: var(--c-mono); font-weight: 700; font-size: 11px; letter-spacing: .14em; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-faq-inline--v1 .fii-toggle { font-family: var(--c-mono); font-size: 18px; color: var(--c-accent); transition: transform .2s; }
.couture-faq-inline--v1 .faq-inline-grid-item[open] .fii-toggle { transform: rotate(45deg); }
.couture-faq-inline--v1 .faq-inline-grid-item p { padding: 12px 0 0; max-width: none; color: var(--c-ink-soft, var(--c-muted)); font-size: 14px; line-height: 1.6; margin: 0; }

/* sub-2 — numbered-list-stack: always-visible Q+A with CSS counter */
.couture-faq-inline--v2 .faq-inline-stack { list-style: none; padding: 0; counter-reset: faqi; display: flex; flex-direction: column; gap: 32px; max-width: 720px; margin: 0 auto; }
.couture-faq-inline--v2 .faq-inline-stack li { counter-increment: faqi; padding-bottom: 24px; border-bottom: 1px solid var(--c-line); padding-left: 56px; position: relative; }
.couture-faq-inline--v2 .faq-inline-stack li:last-child { border-bottom: 0; }
.couture-faq-inline--v2 .faq-inline-stack li::before { content: counter(faqi, decimal-leading-zero); position: absolute; left: 0; top: 0; font-family: var(--c-mono); font-weight: 800; font-size: 22px; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-faq-inline--v2 .fis-q { font-family: var(--c-display); font-weight: 600; font-size: clamp(18px, 2.2vw, 24px); line-height: 1.3; margin: 0 0 8px; color: var(--c-ink); letter-spacing: -.012em; }
.couture-faq-inline--v2 .fis-a { font-family: var(--c-body); font-size: 15px; line-height: 1.6; color: var(--c-ink-soft, var(--c-muted)); margin: 0; max-width: 64ch; }

/* awards_strip — small row of award badges */
.couture-awards { padding: clamp(48px,6vw,72px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; text-align: center; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.couture-awards .awards-head { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 24px; }
.couture-awards .awards-row { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 24px 48px; justify-content: center; align-items: center; }
.couture-awards .award { display: flex; flex-direction: column; gap: 4px; align-items: center; min-width: 120px; }
.couture-awards .award strong { font-family: var(--c-display); font-size: 16px; color: var(--c-ink); font-weight: 500; line-height: 1.1; }
.couture-awards .award-year { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; color: var(--c-muted); }
.couture-awards .award-outlet { font-family: var(--c-body); font-size: 13px; color: var(--c-muted); font-style: italic; }

/* V6.267 — operator R27 night autopilot Round 35: 2 NEW awards_strip sub-variants */

/* sub-1 — medal-grid: 3-up cards each with circular medal icon (athletic) */
.couture-awards--v1 .awards-medals { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px; padding: 0 var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; }
.couture-awards--v1 .award-medal { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 24px 18px; }
.couture-awards--v1 .medal-disc { width: 64px; height: 64px; border-radius: 50%; background: var(--c-accent); color: var(--c-paper); display: grid; place-items: center; font-size: 28px; font-weight: 800; box-shadow: 0 4px 0 -2px color-mix(in oklab, var(--c-accent) 80%, var(--c-ink)); margin-bottom: 6px; }
.couture-awards--v1 .award-medal strong { font-family: var(--c-display); font-weight: 600; font-size: 17px; color: var(--c-ink); line-height: 1.25; }
.couture-awards--v1 .award-medal .award-year { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; color: var(--c-accent); font-weight: 700; }
.couture-awards--v1 .award-medal .award-outlet { font-family: var(--c-body); font-size: 13px; color: var(--c-muted); font-style: italic; }

/* sub-2 — certificate-stack: each award as a small certificate card with rule borders */
.couture-awards--v2 .awards-certs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-awards--v2 .award-cert { padding: 24px 22px; background: var(--c-paper); border: 1px solid var(--c-line); border-top: 4px double var(--c-accent); border-bottom: 4px double var(--c-accent); border-radius: 0; text-align: center; display: flex; flex-direction: column; gap: 8px; }
.couture-awards--v2 .cert-eyebrow { font-family: var(--c-mono); font-size: 10px; letter-spacing: .25em; text-transform: uppercase; color: var(--c-accent); font-weight: 700; }
.couture-awards--v2 .award-cert strong { font-family: var(--c-display); font-style: italic; font-weight: 600; font-size: 18px; color: var(--c-ink); line-height: 1.2; }
.couture-awards--v2 .award-cert .award-outlet { font-family: var(--c-body); font-size: 13px; color: var(--c-muted); font-style: italic; }
.couture-awards--v2 .award-cert .award-year { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; color: var(--c-muted); margin-top: auto; padding-top: 6px; border-top: 1px solid var(--c-line); }

/* gift_card_callout — promotional card */
.couture-gc { padding: clamp(48px,6vw,80px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-gc .gc-card { background: var(--c-ink); color: var(--c-paper); padding: clamp(36px,5vw,56px); display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.couture-gc .gc-text h2 { font-family: var(--c-display); font-size: clamp(28px,4vw,40px); line-height: 1.2; margin: 0 0 12px; color: var(--c-paper); }
.couture-gc .gc-text p { color: var(--c-paper); opacity: .82; font-size: 17px; line-height: 1.5; margin: 0 0 24px; max-width: 56ch; }
.couture-gc .gc-cta { display: inline-block; background: var(--c-paper); color: var(--c-ink); padding: 14px 24px; text-decoration: none; font-family: var(--c-mono); letter-spacing: .12em; text-transform: uppercase; font-size: 13px; }
.couture-gc .gc-cta:hover { background: var(--c-accent); color: var(--c-paper); }
.couture-gc .gc-mark { font-family: var(--c-mono); display: flex; flex-direction: column; gap: 4px; padding: 24px; border: 2px solid var(--c-paper); color: var(--c-paper); font-size: clamp(20px,2.6vw,28px); letter-spacing: .12em; text-transform: uppercase; line-height: 1; }
@media (max-width: 768px) { .couture-gc .gc-card { grid-template-columns: 1fr; } .couture-gc .gc-mark { display: none; } }

/* V6.269 — operator R27 night autopilot Round 37: 2 NEW gift_card_callout sub-variants */

/* sub-1 — envelope-style: stylized envelope with diagonal stripe (vintage feel) */
.couture-gc--v1 .gc-envelope { background: var(--c-paper); padding: clamp(36px, 5vw, 56px); display: flex; align-items: center; gap: clamp(24px, 4vw, 48px); position: relative; max-width: 1080px; margin: 0 auto; border: 1px solid var(--c-line); border-radius: 4px; overflow: hidden; }
.couture-gc--v1 .gc-envelope-stripe { position: absolute; left: -2%; top: 0; bottom: 0; width: 12%; background: repeating-linear-gradient(135deg, var(--c-accent) 0 14px, var(--c-paper) 14px 28px); transform: rotate(0deg); pointer-events: none; }
.couture-gc--v1 .gc-envelope-text { padding-left: clamp(60px, 8vw, 96px); }
.couture-gc--v1 .gc-envelope-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--c-accent); display: block; margin-bottom: 12px; font-weight: 700; }
.couture-gc--v1 .gc-envelope-text h2 { font-family: var(--c-display); font-style: italic; font-weight: 600; font-size: clamp(28px, 4vw, 40px); line-height: 1.2; margin: 0 0 12px; color: var(--c-ink); }
.couture-gc--v1 .gc-envelope-text p { color: var(--c-ink-soft, var(--c-ink)); font-size: 16px; line-height: 1.55; margin: 0 0 24px; max-width: 56ch; }
.couture-gc--v1 .gc-envelope-text .gc-cta { background: var(--c-ink) !important; color: var(--c-paper) !important; padding: 12px 22px; border-radius: 6px; font-family: var(--c-body); font-weight: 600; letter-spacing: 0; text-transform: none; font-size: 14px; }
.couture-gc--v1 .gc-envelope-text .gc-cta:hover { background: var(--c-accent) !important; }

/* sub-2 — amounts-row: text + chips for $25/$50/$100/$250 + cta below (e-commerce-friendly) */
.couture-gc--v2 .gc-amounts { background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)); padding: clamp(36px, 5vw, 56px); display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; max-width: 1180px; margin: 0 auto; border-radius: 12px; }
.couture-gc--v2 .gc-amounts-text h2 { font-family: var(--c-display); font-weight: 700; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.2; margin: 0 0 12px; color: var(--c-ink); letter-spacing: -.012em; }
.couture-gc--v2 .gc-amounts-text p { color: var(--c-ink-soft, var(--c-ink)); font-size: 16px; line-height: 1.55; margin: 0; max-width: 44ch; }
.couture-gc--v2 .gc-amounts-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.couture-gc--v2 .gc-chip { display: flex; align-items: center; justify-content: center; padding: 16px 22px; background: var(--c-paper); border: 2px solid var(--c-ink); border-radius: 6px; text-decoration: none; font-family: var(--c-mono); font-weight: 800; font-size: 18px; color: var(--c-ink); transition: all .15s; }
.couture-gc--v2 .gc-chip:hover { background: var(--c-ink); color: var(--c-paper); }
.couture-gc--v2 .gc-chip--accent { background: var(--c-accent); color: var(--c-paper); border-color: var(--c-accent); }
.couture-gc--v2 .gc-chip--accent:hover { background: var(--c-ink); border-color: var(--c-ink); }
.couture-gc--v2 .gc-cta { grid-column: 1 / -1; display: inline-block; text-align: center; background: var(--c-ink); color: var(--c-paper); padding: 14px 28px; text-decoration: none; font-family: var(--c-mono); letter-spacing: .12em; text-transform: uppercase; font-size: 13px; margin-top: 16px; }
.couture-gc--v2 .gc-cta:hover { background: var(--c-accent); }
@media (max-width: 720px) { .couture-gc--v2 .gc-amounts { grid-template-columns: 1fr; } }



/* V4.21 — about-page inline figures (operator-flagged 2026-05-02:
   ecoseria.com about page rendered 1100 words with 0 content images).
   Two figure variants: full-width primary + offset inset secondary,
   so weight + rhythm shifts as the eye moves down the page. */
.couture-about-figure { max-width: 1280px; margin: clamp(48px,6vw,80px) auto; padding: 0 var(--c-gutter,32px); }
.couture-about-figure img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--c-line); }
.couture-about-figure figcaption { font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; color: var(--c-muted); margin-top: 12px; text-transform: uppercase; }
.couture-about-figure--inset { max-width: 720px; margin-left: auto; margin-right: clamp(40px, 12vw, 200px); }
.couture-about-figure--inset img { aspect-ratio: 5/4; }
@media (max-width: 768px) {
  .couture-about-figure--inset { margin-right: var(--c-gutter,32px); margin-left: var(--c-gutter,32px); }
}

/* V4.21 — three structurally-distinct footer philosophies. Each
   breaks the column-grid mold the existing 11 footers all share. */

/* 1. marquee-only — scrolling phrase ticker + tiny copyright */
.couture-footer--marquee { padding: 0; border-top: 1px solid var(--c-line); background: var(--c-paper); }
.couture-footer--marquee .marquee-rail { overflow: hidden; padding: clamp(40px,5vw,72px) 0; mask-image: linear-gradient(to right, transparent 0, black 8%, black 92%, transparent 100%); -webkit-mask-image: linear-gradient(to right, transparent 0, black 8%, black 92%, transparent 100%); }
.couture-footer--marquee .marquee-track { display: inline-flex; gap: 24px; align-items: center; white-space: nowrap; animation: couture-marquee-scroll 60s linear infinite; font-family: var(--c-display); font-size: clamp(28px,4vw,56px); letter-spacing: -.01em; color: var(--c-ink); }
.couture-footer--marquee .marquee-track > span { padding: 0 8px; }
.couture-footer--marquee .marquee-dot { color: var(--c-accent); font-weight: 600; }
.couture-footer--marquee .marquee-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 16px var(--c-gutter,32px); border-top: 1px solid var(--c-line); font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; color: var(--c-muted); text-transform: uppercase; }
@keyframes couture-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }
@media (prefers-reduced-motion: reduce) { .couture-footer--marquee .marquee-track { animation: none; flex-wrap: wrap; white-space: normal; justify-content: center; } }

/* 2. manifesto-paragraph — one centered closing essay, signed */
.couture-footer--manifesto { padding: clamp(80px,10vw,140px) var(--c-gutter,32px); background: var(--c-paper); border-top: 1px solid var(--c-line); text-align: center; }
.couture-footer--manifesto .manifesto-block { max-width: 64ch; margin: 0 auto clamp(48px,6vw,72px); }
.couture-footer--manifesto .manifesto-line { font-family: var(--c-display); font-size: clamp(20px,2.4vw,28px); line-height: 1.4; color: var(--c-ink); margin: 0 0 24px; font-style: italic; }
.couture-footer--manifesto .manifesto-signoff { font-family: var(--c-mono); font-size: 14px; letter-spacing: .12em; color: var(--c-muted); text-transform: uppercase; margin: 0; }
.couture-footer--manifesto .manifesto-fineprint { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; color: var(--c-muted); text-transform: uppercase; }
.couture-footer--manifesto .manifesto-fineprint a { color: var(--c-muted); text-decoration: underline; text-underline-offset: 2px; }

/* 3. floating-corner-only — no flow footer; fixed pill in bottom-right */
.couture-footer--floating { padding: 0; min-height: 0; }
.couture-footer--floating .floating-pill { position: fixed; bottom: 16px; right: 16px; z-index: 50; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--c-ink); color: var(--c-paper); border-radius: 999px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; box-shadow: 0 4px 16px rgba(0,0,0,.18); transition: transform .2s ease, opacity .2s ease; opacity: .82; }
.couture-footer--floating .floating-pill:hover { opacity: 1; transform: translateY(-2px); }
.couture-footer--floating .floating-pill-mark { color: var(--c-accent); font-weight: 600; }
.couture-footer--floating .floating-pill-name { color: var(--c-paper); }
.couture-footer--floating .couture-fineprint { display: none; } /* legal links hidden on this variant; live in /privacy /terms only */
@media print { .couture-footer--floating .floating-pill { display: none; } }

/* V4.22 — storyteller-warm sub-variants. Same per-archetype footer
   pick used to render the same 2-col layout on every site; now 4
   internal layout sub-variants per-domain hash. */

/* sub-1 (--swap): right column visually leads, left column trails */
.couture-footer--storyteller-1 .storyteller-grid { grid-template-columns: 1fr 1.4fr; }
.couture-footer--storyteller-1 .storyteller-right { padding-right: clamp(24px,3vw,40px); border-right: 1px solid var(--c-line); }
.couture-footer--storyteller-1 .storyteller-left { padding-left: clamp(24px,3vw,40px); }

/* sub-2 (--stacked): centered single-column */
.couture-footer--storyteller-2 .storyteller-stacked { max-width: 720px; margin: 0 auto; padding: clamp(48px,6vw,80px) var(--c-gutter,32px); text-align: center; display: flex; flex-direction: column; gap: clamp(20px,2.4vw,32px); align-items: center; }
.couture-footer--storyteller-2 .storyteller-mark-center { display: inline-flex; }
.couture-footer--storyteller-2 .storyteller-statement-center { font-family: var(--c-display); font-size: clamp(17px,2vw,22px); line-height: 1.5; max-width: 56ch; color: var(--c-ink); margin: 0; font-style: italic; }
.couture-footer--storyteller-2 .storyteller-nav { display: flex; flex-wrap: wrap; gap: 18px 28px; justify-content: center; padding: 0; }
.couture-footer--storyteller-2 .storyteller-contactline { display: flex; flex-wrap: wrap; gap: 14px 28px; justify-content: center; font-family: var(--c-mono); font-size: 13px; color: var(--c-muted); }
.couture-footer--storyteller-2 .storyteller-contactline .storyteller-line { margin: 0; display: inline-flex; gap: 8px; }
.couture-footer--storyteller-2 .storyteller-contactline strong { color: var(--c-muted); font-weight: 500; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.couture-footer--storyteller-2 .storyteller-foot { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* sub-3 (--brandhero): big brand row spans full width, 3-col below */
.couture-footer--storyteller-3 .storyteller-brandhero { padding: clamp(48px,6vw,80px) var(--c-gutter,32px); }
.couture-footer--storyteller-3 .storyteller-bh-top { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-bottom: clamp(36px,5vw,60px); border-bottom: 1px solid var(--c-line); margin-bottom: clamp(36px,5vw,60px); }
.couture-footer--storyteller-3 .storyteller-bh-top .storyteller-mark { transform: scale(1.4); transform-origin: left center; }
.couture-footer--storyteller-3 .storyteller-bh-tag { font-family: var(--c-display); font-size: clamp(18px,2.2vw,26px); color: var(--c-ink); margin: 16px 0 0; font-style: italic; max-width: 60ch; }
.couture-footer--storyteller-3 .storyteller-bh-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }
.couture-footer--storyteller-3 .storyteller-bh-cols > div:empty { display: none; }
.couture-footer--storyteller-3 .storyteller-bh-cols .storyteller-line { margin: 0 0 8px; font-family: var(--c-mono); font-size: 13px; }
.couture-footer--storyteller-3 .storyteller-bh-cols .storyteller-line strong { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 4px; font-weight: 500; }
.couture-footer--storyteller-3 .storyteller-bh-cols .storyteller-nav { display: flex; flex-direction: column; gap: 10px; }
.couture-footer--storyteller-3 .storyteller-bh-foot { margin-top: clamp(36px,5vw,56px); padding-top: 24px; border-top: 1px solid var(--c-line); font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
@media (max-width: 768px) {
  .couture-footer--storyteller-3 .storyteller-bh-cols { grid-template-columns: 1fr; gap: 24px; }
  .couture-footer--storyteller-3 .storyteller-bh-top .storyteller-mark { transform: scale(1.2); }
}

/* V4.22 — 3 new radical hero variants */

/* asymmetric-overlap: text and image overlap on a diagonal */
.couture-hero--asym { padding: clamp(40px,5vw,80px) var(--c-gutter,32px); display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 1280px; margin: 0 auto; position: relative; }
/* V6.81 — image fallback. If the <img> fails or is missing, the asym-img
   figure still occupies space (aspect-ratio reserved) and shows a brand-
   colored gradient placeholder instead of collapsing the grid layout.
   The ::before pseudo-element renders a subtle accent gradient that the
   <img> covers when present (img has higher z-index). */
.couture-hero--asym .asym-img { grid-column: 1; grid-row: 1; transform: rotate(-2deg) translateY(20px); position: relative; z-index: 1; margin-right: -40px; aspect-ratio: 4/5; background: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 22%, var(--c-paper-2)), var(--c-paper-2) 60%); border: 1px solid color-mix(in oklab, var(--c-ink) 8%, transparent); }
.couture-hero--asym .asym-img img { width: 100%; height: 100%; aspect-ratio: 4/5; object-fit: cover; box-shadow: 0 20px 60px rgba(0,0,0,.18); position: relative; z-index: 2; }
.couture-hero--asym .asym-text { grid-column: 2; grid-row: 1; padding: clamp(40px,6vw,80px) 0 0 clamp(40px,6vw,80px); position: relative; z-index: 2; background: var(--c-paper); }
.couture-hero--asym .asym-text h1 { font-family: var(--c-display); font-size: clamp(40px,6vw,72px); line-height: 1; letter-spacing: -.02em; margin: 16px 0 24px; }
.couture-hero--asym .asym-sub { font-family: var(--c-body); font-size: clamp(16px,1.4vw,18px); color: var(--c-ink-soft); max-width: 48ch; line-height: 1.5; }
@media (max-width: 768px) {
  .couture-hero--asym { grid-template-columns: 1fr; gap: 24px; }
  .couture-hero--asym .asym-img { transform: none; margin: 0; grid-row: 1; }
  .couture-hero--asym .asym-text { grid-row: 2; padding: 0; grid-column: 1; }
}

/* type-monolith: pure typography hero, no image, h1 fills viewport */
.couture-hero--monolith { padding: clamp(80px,12vw,160px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; min-height: 70vh; display: flex; flex-direction: column; justify-content: center; gap: clamp(24px,3vw,40px); }
.couture-hero--monolith .monolith-eyebrow { font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-hero--monolith .monolith-h1 { font-family: var(--c-display); font-size: clamp(56px,11vw,180px); line-height: .85; letter-spacing: -.04em; margin: 0; color: var(--c-ink); }
.couture-hero--monolith .monolith-h1 em { font-style: italic; color: var(--c-accent); }
.couture-hero--monolith .monolith-sub { font-family: var(--c-display); font-style: italic; font-size: clamp(20px,2.4vw,28px); line-height: 1.4; max-width: 56ch; color: var(--c-ink-soft); margin: 0; }
.couture-hero--monolith .monolith-cta { display: inline-flex; align-self: flex-start; padding: 16px 28px; background: var(--c-ink); color: var(--c-paper); font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.couture-hero--monolith .monolith-cta:hover { background: var(--c-accent); }

/* ribbon-cascade: headline as 3 cascading ribbons */
.couture-hero--ribbon { padding: clamp(60px,8vw,120px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-hero--ribbon .ribbon-eyebrow { font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: clamp(24px,3vw,40px); }
.couture-hero--ribbon .ribbon-stack { display: flex; flex-direction: column; gap: 12px; }
.couture-hero--ribbon .ribbon-line { font-family: var(--c-display); font-size: clamp(40px,7vw,88px); line-height: 1; letter-spacing: -.02em; color: var(--c-ink); align-self: flex-start; padding: 8px 28px 8px 0; }
.couture-hero--ribbon .ribbon-line-1 { background: var(--c-paper2); padding-left: 0; }
.couture-hero--ribbon .ribbon-line-2 { background: var(--c-accent); color: var(--c-paper); padding-left: clamp(40px,8vw,120px); padding-right: 28px; align-self: flex-start; }
.couture-hero--ribbon .ribbon-line-3 { background: var(--c-ink); color: var(--c-paper); padding-left: clamp(80px,16vw,200px); padding-right: 28px; align-self: flex-start; font-style: italic; }
.couture-hero--ribbon .ribbon-sub { margin-top: clamp(32px,4vw,48px); max-width: 56ch; font-family: var(--c-body); font-size: clamp(16px,1.4vw,18px); color: var(--c-ink-soft); line-height: 1.5; }
@media (max-width: 768px) {
  .couture-hero--ribbon .ribbon-line-2 { padding-left: 24px; }
  .couture-hero--ribbon .ribbon-line-3 { padding-left: 48px; }
}

/* V4.22 — shop page sub-variants. Operator-flagged 2026-05-02:
   every shop page used the same header+sidebar+grid structure.
   Now 4 internal layouts per-domain hash. */
.shop-layout--minimal { padding-top: clamp(20px,2vw,32px); }

.shop-layout--split { display: grid; grid-template-columns: 280px 1fr; gap: clamp(32px,5vw,80px); padding-top: clamp(40px,5vw,72px); }
.shop-layout--split .shop-split-head { position: sticky; top: 96px; align-self: flex-start; }
.shop-layout--split .shop-split-head h1 { font-family: var(--c-display); font-size: clamp(36px,5vw,68px); line-height: .95; margin: 0; }
.shop-layout--split .shop-split-head .num { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 12px; }
.shop-layout--split .shop-split-head .lede { color: var(--c-ink-soft); font-size: 15px; margin-top: 16px; max-width: 28ch; }
.shop-layout--split .couture-shop-main { display: flex; flex-direction: column; gap: 24px; }
@media (max-width: 768px) { .shop-layout--split { grid-template-columns: 1fr; } .shop-layout--split .shop-split-head { position: static; } }

.shop-layout--masthead { display: flex; flex-direction: column; gap: clamp(32px,4vw,56px); }
.shop-layout--masthead .couture-shop-head { text-align: center; padding: clamp(48px,6vw,80px) var(--c-gutter,32px) clamp(24px,3vw,40px); border-bottom: 1px solid var(--c-line); }
.shop-layout--masthead .couture-shop-head h1 { font-family: var(--c-display); font-size: clamp(48px,8vw,96px); line-height: .92; margin: 0 auto; max-width: 18ch; letter-spacing: -.02em; }
.shop-layout--masthead .couture-shop-head .num { font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 24px; }
.shop-layout--masthead .couture-shop-head .lede { font-family: var(--c-display); font-style: italic; font-size: clamp(16px,1.6vw,20px); margin: 24px auto 0; max-width: 56ch; color: var(--c-ink-soft); }
.shop-layout--masthead .couture-shop-main { padding: 0 var(--c-gutter,32px); }

/* V5.53 — per-site category-archive header (6 variants per-domain+slug hash) */
.couture-cat-header { padding: clamp(48px, 7vw, 96px) clamp(24px, 4vw, 56px) clamp(32px, 4vw, 56px); max-width: 1280px; margin: 0 auto; }
.couture-cat-header .cch-eyebrow { font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 16px; }
.couture-cat-header .cch-title { font-family: var(--c-display); font-size: clamp(40px, 6vw, 80px); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 16px; color: var(--c-ink); font-weight: 400; }
.couture-cat-header .cch-meta { font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 12px; }
.couture-cat-header .cch-desc { font-size: clamp(15px, 1.4vw, 18px); line-height: 1.6; color: var(--c-ink-soft); max-width: 60ch; margin: 16px 0 0; }
/* mono-eyebrow — clean editorial */
.couture-cat-header--mono-eyebrow .cch-title { font-weight: 300; }
/* serif-spread — meta row above + huge serif headline */
.couture-cat-header--serif-spread .cch-meta-row { display: flex; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid var(--c-line); margin-bottom: 32px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.couture-cat-header--serif-spread .cch-title--serif { font-style: italic; font-size: clamp(48px, 7vw, 96px); }
/* inverted-band — full-bleed dark band */
.couture-cat-header--inverted-band { padding: 0; max-width: none; margin: 0 0 clamp(24px, 3vw, 40px); }
.couture-cat-header--inverted-band .cch-band { background: var(--c-ink); color: var(--c-paper); padding: clamp(60px, 8vw, 120px) clamp(24px, 4vw, 56px); }
.couture-cat-header--inverted-band .cch-band-inner { max-width: 1280px; margin: 0 auto; }
.couture-cat-header--inverted-band .cch-title { color: var(--c-paper); }
.couture-cat-header--inverted-band .cch-meta { color: color-mix(in oklab, var(--c-paper) 65%, var(--c-ink) 35%); }
.couture-cat-header--inverted-band .cch-desc { color: color-mix(in oklab, var(--c-paper) 80%, var(--c-ink) 20%); }
/* numbered — large category number prefix */
.couture-cat-header--numbered .cch-num { font-family: var(--c-mono); font-size: clamp(72px, 10vw, 140px); line-height: 1; color: var(--c-accent); margin-bottom: 16px; font-weight: 200; }
/* bordered — boxed card */
.couture-cat-header--bordered .cch-border-card { border: 2px solid var(--c-ink); padding: clamp(32px, 4vw, 56px); background: var(--c-paper); }
.couture-cat-header--bordered .cch-rule { width: 56px; height: 3px; background: var(--c-accent); margin: 24px 0; }
/* centered-mark — large decorative glyph */
.couture-cat-header--centered-mark { text-align: center; }
.couture-cat-header--centered-mark .cch-mark { font-family: var(--c-display); font-size: clamp(80px, 10vw, 140px); line-height: 1; color: var(--c-accent); margin-bottom: 24px; font-weight: 300; }
.couture-cat-header--centered-mark .cch-desc { margin-left: auto; margin-right: auto; }
@media (max-width: 720px) {
  .couture-cat-header { padding: clamp(32px, 5vw, 56px) clamp(16px, 4vw, 32px) clamp(24px, 3vw, 32px); }
  .couture-cat-header--inverted-band .cch-band { padding: clamp(40px, 6vw, 80px) clamp(16px, 4vw, 32px); }
  .couture-cat-header--serif-spread .cch-meta-row { flex-direction: column; gap: 4px; }
}

/* V5.20 — shop trust strip (3 reassurance badges per-domain hash) */
.couture-shop-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 32px); padding: clamp(20px,2.4vw,32px) 0; margin: clamp(8px,1vw,16px) 0 clamp(24px,3vw,40px); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.couture-shop-trust .cst-badge { display: flex; align-items: center; gap: 12px; }
.couture-shop-trust .cst-glyph { font-family: var(--c-display); font-size: 22px; line-height: 1; color: var(--c-accent); flex-shrink: 0; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--c-line); border-radius: 50%; }
.couture-shop-trust .cst-text { display: flex; flex-direction: column; line-height: 1.3; }
.couture-shop-trust .cst-text strong { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-ink); font-weight: 600; }
.couture-shop-trust .cst-text span { font-size: 13px; color: var(--c-ink-soft); margin-top: 2px; }
@media (max-width: 760px) { .couture-shop-trust { grid-template-columns: 1fr; gap: 12px; padding: 16px 0; } }

/* V5.20 — category showcase block (3 visual layouts per-domain) */
.couture-cat-showcase { margin-bottom: clamp(32px, 4vw, 56px); }
.couture-cat-showcase .csh-title { font-family: var(--c-display); font-weight: 400; font-size: clamp(20px, 2vw, 26px); margin: 0 0 clamp(16px, 2vw, 24px); letter-spacing: -.01em; }

/* showcase variant: cards (image + overlay-style) */
.couture-cat-showcase--cards .csh-body { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(16px, 1.6vw, 24px); }
.couture-cat-showcase--cards .csc-card { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--c-paper-2); text-decoration: none; color: inherit; }
.couture-cat-showcase--cards .csc-img { position: absolute; inset: 0; width: 100%; height: 100%; }
.couture-cat-showcase--cards .csc-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.8,.2,1);  }
.couture-cat-showcase--cards .csc-empty { background: linear-gradient(135deg, var(--c-paper-2), var(--c-line)); }
.couture-cat-showcase--cards .csc-card:hover .csc-img img { transform: scale(1.04); }
.couture-cat-showcase--cards .csc-overlay { position: absolute; inset: auto 0 0 0; padding: clamp(14px, 1.6vw, 20px); background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.55) 100%); color: #fff; }
.couture-cat-showcase--cards .csc-eyebrow { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.couture-cat-showcase--cards .csc-name { font-family: var(--c-display); font-weight: 500; font-size: clamp(18px, 1.8vw, 24px); margin: 4px 0 2px; line-height: 1.1; color: #fff !important; }
.couture-cat-showcase--cards .csc-count { font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; opacity: .85; }

/* showcase variant: tiles (compact thumbnail + label below) */
.couture-cat-showcase--tiles .csh-body { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: clamp(14px, 1.4vw, 22px); }
.couture-cat-showcase--tiles .cst-tile { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.couture-cat-showcase--tiles .cst-thumb { aspect-ratio: 1 / 1; overflow: hidden; background: var(--c-paper-2); margin-bottom: 12px; border: 1px solid var(--c-line); }
.couture-cat-showcase--tiles .cst-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease;  }
.couture-cat-showcase--tiles .cst-tile:hover .cst-thumb img { transform: scale(1.05); }
.couture-cat-showcase--tiles .cst-empty { background: var(--c-paper-2); }
.couture-cat-showcase--tiles .cst-meta { display: flex; flex-direction: column; gap: 2px; }
.couture-cat-showcase--tiles .cst-name { font-family: var(--c-display); font-weight: 500; font-size: 16px; color: var(--c-ink); transition: color .15s; }
.couture-cat-showcase--tiles .cst-tile:hover .cst-name { color: var(--c-accent); }
.couture-cat-showcase--tiles .cst-count { font-family: var(--c-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }

/* showcase variant: rows (horizontal text-only list with arrows) */
.couture-cat-showcase--rows .csh-body { display: flex; flex-direction: column; max-width: 720px; }
.couture-cat-showcase--rows .csr-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 16px; padding: clamp(14px,1.6vw,20px) 0; border-bottom: 1px solid var(--c-line); text-decoration: none; color: inherit; transition: padding-left .2s ease, color .15s ease; }
.couture-cat-showcase--rows .csr-row:hover { padding-left: 8px; color: var(--c-accent); }
.couture-cat-showcase--rows .csr-name { font-family: var(--c-display); font-weight: 400; font-size: clamp(18px, 1.8vw, 24px); }
.couture-cat-showcase--rows .csr-meta { font-family: var(--c-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.couture-cat-showcase--rows .csr-arrow { font-family: var(--c-display); font-size: 18px; color: var(--c-muted); transition: transform .2s ease; }
.couture-cat-showcase--rows .csr-row:hover .csr-arrow { transform: translateX(4px); color: var(--c-accent); }

@media (max-width: 640px) {
  .couture-cat-showcase--cards .csh-body { grid-template-columns: repeat(2, 1fr); }
  .couture-cat-showcase--tiles .csh-body { grid-template-columns: repeat(2, 1fr); }
}

/* V4.22 — testimonial_grid sub-variants */

/* sub-1 — wall-of-quotes (no card chrome, masonry feel) */
.couture-tg--v1 .tg-wall { columns: 3; column-gap: 32px; padding: 0 var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-tg--v1 .tg-wall-q { display: inline-block; width: 100%; margin: 0 0 32px; break-inside: avoid; padding: 0; border-left: 3px solid var(--c-accent); padding-left: 20px; }
.couture-tg--v1 .tg-wall-q p { font-family: var(--c-display); font-size: clamp(17px,1.8vw,22px); line-height: 1.5; font-style: italic; color: var(--c-ink); margin: 0 0 12px; }
.couture-tg--v1 .tg-wall-q cite { font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; color: var(--c-muted); font-style: normal; text-transform: uppercase; }
@media (max-width: 1024px) { .couture-tg--v1 .tg-wall { columns: 2; } }
@media (max-width: 600px)  { .couture-tg--v1 .tg-wall { columns: 1; } }

/* sub-2 — big-and-small */
.couture-tg--v2 .tg-feature { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(32px,4vw,64px); padding: 0 var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-tg--v2 .tg-big { padding: clamp(36px,4vw,56px); background: var(--c-paper2); border-radius: var(--c-card-radius); }
.couture-tg--v2 .tg-big-quote { font-family: var(--c-display); font-size: clamp(24px,3vw,38px); line-height: 1.35; margin: 16px 0 24px; color: var(--c-ink); font-style: italic; }
.couture-tg--v2 .tg-big .tg-foot { font-family: var(--c-mono); font-size: 12px; letter-spacing: .08em; color: var(--c-muted); }
.couture-tg--v2 .tg-side { display: grid; grid-template-rows: 1fr 1fr 1fr 1fr; gap: 16px; }
.couture-tg--v2 .tg-side-card { padding: 18px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: var(--c-card-radius); }
.couture-tg--v2 .tg-side-card p { margin: 0 0 8px; font-size: 14px; line-height: 1.4; color: var(--c-ink); }
.couture-tg--v2 .tg-side-card cite { font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; color: var(--c-muted); font-style: normal; }
@media (max-width: 768px) { .couture-tg--v2 .tg-feature { grid-template-columns: 1fr; } .couture-tg--v2 .tg-side { grid-template-rows: auto; grid-template-columns: 1fr 1fr; } }

/* sub-3 — marquee scroll */
.couture-tg--v3 .tg-marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent 0, black 8%, black 92%, transparent 100%); -webkit-mask-image: linear-gradient(90deg, transparent 0, black 8%, black 92%, transparent 100%); padding: 24px 0; }
.couture-tg--v3 .tg-marquee-track { display: inline-flex; gap: 24px; animation: tg-marquee-scroll 50s linear infinite; }
.couture-tg--v3 .tg-marquee-card { flex: 0 0 360px; padding: 24px 28px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: var(--c-card-radius); }
.couture-tg--v3 .tg-marquee-card p { margin: 8px 0 12px; font-size: 14px; line-height: 1.5; color: var(--c-ink); }
.couture-tg--v3 .tg-marquee-card cite { font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; color: var(--c-muted); font-style: normal; text-transform: uppercase; }
@keyframes tg-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .couture-tg--v3 .tg-marquee-track { animation: none; flex-wrap: wrap; } }

/* V6.128 — testimonial sub-variant 4: stack-deck. Stacked card stack with
   subtle rotation, polaroid feel. Each card lifted slightly above next. */
.couture-tg--v4 .tg-stack {
  position: relative;
  max-width: 580px;
  margin: 0 auto;
  padding: 40px var(--c-gutter, 32px) clamp(56px, 8vw, 96px);
}
.couture-tg--v4 .tg-stack-card {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: var(--c-card-radius, 6px);
  padding: clamp(28px, 3vw, 40px);
  margin-bottom: 16px;
  box-shadow: 0 8px 24px -12px color-mix(in oklab, var(--c-ink) 22%, transparent);
  position: relative;
  transition: transform .25s, box-shadow .25s;
}
.couture-tg--v4 .tg-stack-card[data-stack-idx="0"] { transform: rotate(-1.4deg); z-index: 5; }
.couture-tg--v4 .tg-stack-card[data-stack-idx="1"] { transform: rotate(.8deg) translateX(8px); z-index: 4; }
.couture-tg--v4 .tg-stack-card[data-stack-idx="2"] { transform: rotate(-.6deg) translateX(-6px); z-index: 3; }
.couture-tg--v4 .tg-stack-card[data-stack-idx="3"] { transform: rotate(1.1deg) translateX(4px); z-index: 2; }
.couture-tg--v4 .tg-stack-card[data-stack-idx="4"] { transform: rotate(-.9deg); z-index: 1; }
.couture-tg--v4 .tg-stack-card:hover { transform: translateY(-6px) rotate(0deg); z-index: 10; box-shadow: 0 18px 40px -16px color-mix(in oklab, var(--c-ink) 32%, transparent); }
.couture-tg--v4 .tg-stack-card .tg-stars { font-size: 16px; color: var(--c-accent); margin-bottom: 12px; letter-spacing: .04em; }
.couture-tg--v4 .tg-stack-quote {
  font-family: var(--c-display);
  font-size: clamp(17px, 1.8vw, 21px);
  line-height: 1.45;
  font-style: italic;
  color: var(--c-ink);
  margin: 0 0 18px;
}
.couture-tg--v4 .tg-stack-card .tg-foot {
  display: flex;
  justify-content: space-between;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-muted);
}

/* V6.128 — testimonial sub-variant 5: book-spread. Large left feature
   quote + indexed list of all reviews on right (editorial). */
.couture-tg--v5 .tg-spread {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px);
  align-items: start;
}
.couture-tg--v5 .tg-spread-feature {
  position: sticky;
  top: clamp(64px, 9vw, 120px);
  border-left: 4px solid var(--c-accent);
  padding-left: clamp(20px, 2.4vw, 36px);
}
.couture-tg--v5 .tg-spread-feature .tg-stars {
  color: var(--c-accent);
  font-size: 18px;
  margin-bottom: 18px;
  letter-spacing: .04em;
}
.couture-tg--v5 .tg-spread-quote {
  font-family: var(--c-display);
  font-size: clamp(28px, 3.6vw, 48px);
  line-height: 1.2;
  letter-spacing: -.01em;
  font-weight: 400;
  margin: 0 0 24px;
  color: var(--c-ink);
}
.couture-tg--v5 .tg-spread-feature .tg-foot {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.couture-tg--v5 .tg-spread-index-h {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--c-ink);
}
.couture-tg--v5 .tg-spread-index ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.couture-tg--v5 .tg-spread-li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-ink) 8%, transparent);
}
.couture-tg--v5 .tg-spread-num {
  font-family: var(--c-mono);
  font-size: 14px;
  font-weight: 700;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-tg--v5 .tg-spread-snip {
  font-family: var(--c-display);
  font-size: 16px;
  line-height: 1.5;
  font-style: italic;
  color: var(--c-ink);
  display: block;
  margin-bottom: 6px;
}
.couture-tg--v5 .tg-spread-author {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-muted);
  display: block;
  grid-column: 2;
}
@media (max-width: 720px) {
  .couture-tg--v5 .tg-spread { grid-template-columns: 1fr; }
  .couture-tg--v5 .tg-spread-feature { position: static; }
  .couture-tg--v4 .tg-stack-card { transform: none !important; margin-bottom: 12px; }
  .couture-tg--v4 .tg-stack-card[data-stack-idx]:nth-child(n+3) { display: none; }
}

/* V6.259 — operator R27 night autopilot Round 27: 3 NEW testimonial sub-variants */

/* sub-6 — mosaic-tiles: 3-color tile rotation, modern SaaS feel */
.couture-tg--v6 .tg-mosaic { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0 var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-tg--v6 .tg-mosaic-tile { padding: clamp(28px,3vw,40px) clamp(24px,2.5vw,32px); border-radius: var(--c-card-radius, 6px); display: flex; flex-direction: column; justify-content: space-between; min-height: 200px; transition: transform .15s; }
.couture-tg--v6 .tg-mosaic-tile:hover { transform: translateY(-2px); }
.couture-tg--v6 .tg-mosaic-tile--0 { background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)); color: var(--c-ink); }
.couture-tg--v6 .tg-mosaic-tile--1 { background: var(--c-ink); color: var(--c-paper); }
.couture-tg--v6 .tg-mosaic-tile--1 .tg-who { color: var(--c-paper); }
.couture-tg--v6 .tg-mosaic-tile--2 { background: color-mix(in oklab, var(--c-accent-2, var(--c-accent)) 14%, var(--c-paper)); color: var(--c-ink); }
.couture-tg--v6 .tg-mosaic-q { font-family: var(--c-display); font-size: clamp(18px,1.8vw,22px); line-height: 1.45; margin: 0 0 18px; }
.couture-tg--v6 .tg-mosaic-tile footer { font-family: var(--c-mono); font-size: 12px; letter-spacing: .04em; opacity: .85; }
@media (max-width: 900px) { .couture-tg--v6 .tg-mosaic { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .couture-tg--v6 .tg-mosaic { grid-template-columns: 1fr; } }

/* sub-7 — ledger-rows: data-table feel for power-user audience */
.couture-tg--v7 .tg-ledger { padding: 0 var(--c-gutter,32px); max-width: 1180px; margin: 0 auto; overflow-x: auto; }
.couture-tg--v7 .tg-ledger table { width: 100%; border-collapse: collapse; font-family: var(--c-body); }
.couture-tg--v7 .tg-ledger thead { border-bottom: 2px solid var(--c-ink); }
.couture-tg--v7 .tg-ledger th { text-align: left; padding: 14px 16px; font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); font-weight: 700; }
.couture-tg--v7 .tg-ledger td { padding: 18px 16px; border-bottom: 1px solid var(--c-line); vertical-align: top; font-size: 14px; line-height: 1.5; color: var(--c-ink); }
.couture-tg--v7 .tg-ledger-who { font-weight: 600; white-space: nowrap; }
.couture-tg--v7 .tg-ledger-stars { font-family: var(--c-mono); color: var(--c-accent); white-space: nowrap; }
.couture-tg--v7 .tg-ledger-quote { font-style: italic; color: var(--c-ink-soft, var(--c-ink)); }
.couture-tg--v7 .tg-ledger-date { font-family: var(--c-mono); font-size: 12px; color: var(--c-muted); white-space: nowrap; }
.couture-tg--v7 .tg-ledger tbody tr:hover { background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); }

/* sub-8 — single-spotlight: ONE giant quote, no others (most editorial) */
.couture-tg--v8 .tg-spotlight { padding: clamp(40px,5vw,72px) var(--c-gutter,32px); max-width: 1080px; margin: 0 auto; }
.couture-tg--v8 .tg-spotlight-card { padding: clamp(56px,6vw,96px) clamp(40px,5vw,80px); background: var(--c-paper); border-top: 3px solid var(--c-accent); border-bottom: 3px solid var(--c-accent); text-align: center; position: relative; }
.couture-tg--v8 .tg-spotlight-card::before { content: "\\201C"; font-family: var(--c-display); font-style: italic; font-size: clamp(120px,15vw,200px); position: absolute; top: 0; left: 50%; transform: translate(-50%, -55%); line-height: 1; color: color-mix(in oklab, var(--c-accent) 35%, transparent); pointer-events: none; }
.couture-tg--v8 .tg-spotlight .tg-stars { color: var(--c-accent); font-size: 18px; margin-bottom: 24px; }
.couture-tg--v8 .tg-spotlight-quote { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: clamp(24px,3.4vw,42px); line-height: 1.35; color: var(--c-ink); margin: 0 auto 32px; max-width: 30ch; border: 0; padding: 0; }
.couture-tg--v8 .tg-spotlight .tg-foot { font-family: var(--c-mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.couture-tg--v8 .tg-spotlight .tg-foot .tg-who { font-weight: 700; color: var(--c-ink); }

/* V4.22 — press_wall sub-variants */
.couture-press--v1 .press-strip { display: flex; gap: clamp(20px,2.4vw,32px); padding: 24px var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; overflow-x: auto; scrollbar-width: none; }
.couture-press--v1 .press-strip::-webkit-scrollbar { display: none; }
.couture-press--v1 .press-strip-card { flex: 0 0 320px; padding: 24px 28px; background: var(--c-paper); border-left: 3px solid var(--c-accent); }
.couture-press--v1 .press-strip-card blockquote { font-family: var(--c-display); font-style: italic; font-size: 18px; line-height: 1.4; margin: 0 0 14px; color: var(--c-ink); }
.couture-press--v1 .press-strip-card cite { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; color: var(--c-muted); font-style: normal; text-transform: uppercase; }

.couture-press--v2 .press-stack { list-style: none; padding: 0; margin: 0 auto; max-width: 920px; padding: 0 var(--c-gutter,32px); display: flex; flex-direction: column; gap: clamp(36px,4vw,56px); }
.couture-press--v2 .press-stack li { padding-left: clamp(20px,2.4vw,32px); border-left: 4px solid var(--c-accent); }
.couture-press--v2 .press-stack blockquote { font-family: var(--c-display); font-style: italic; font-size: clamp(22px,2.8vw,34px); line-height: 1.35; margin: 0 0 12px; color: var(--c-ink); }
.couture-press--v2 .press-stack cite { font-family: var(--c-mono); font-size: 13px; letter-spacing: .1em; color: var(--c-muted); font-style: normal; text-transform: uppercase; }

/* V4.22 — stat_wall sub-variants */
.couture-stats--v1 .stat-row { display: flex; align-items: baseline; justify-content: center; gap: 16px; flex-wrap: wrap; padding: clamp(36px,4vw,56px) var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-stats--v1 .stat-row-item { display: inline-flex; flex-direction: column; align-items: center; padding: 0 16px; }
.couture-stats--v1 .stat-row-item strong { font-family: var(--c-display); font-size: clamp(36px,5vw,64px); line-height: 1; color: var(--c-ink); margin-bottom: 6px; }
.couture-stats--v1 .stat-row-item span { font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.couture-stats--v1 .stat-row-sep { font-family: var(--c-display); font-size: 32px; color: var(--c-muted); }

.couture-stats--v2 .stat-stack { max-width: 720px; margin: 0 auto; padding: 0 var(--c-gutter,32px); display: flex; flex-direction: column; gap: clamp(28px,3.4vw,48px); }
.couture-stats--v2 .stat-stack-item { display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: baseline; padding-bottom: clamp(20px,2.4vw,32px); border-bottom: 1px solid var(--c-line); }
.couture-stats--v2 .stat-stack-item:last-child { border-bottom: 0; }
.couture-stats--v2 .stat-stack-item dt { font-family: var(--c-display); font-size: clamp(48px,7vw,88px); line-height: 1; color: var(--c-accent); margin: 0; font-weight: 600; }
.couture-stats--v2 .stat-stack-item dd { font-family: var(--c-display); font-style: italic; font-size: clamp(17px,2vw,24px); line-height: 1.4; margin: 0; color: var(--c-ink-soft); }
@media (max-width: 600px) { .couture-stats--v2 .stat-stack-item { grid-template-columns: 1fr; gap: 8px; } }

/* V6.158 — stat_wall sub-variant 3: trust-pills (Stripe/Linear modern) */
.couture-stats--v3 .stat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px);
}
.couture-stats--v3 .stat-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--c-paper-2, color-mix(in oklab, var(--c-paper) 92%, var(--c-ink) 8%));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: transform .15s, box-shadow .15s;
}
.couture-stats--v3 .stat-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px -10px color-mix(in oklab, var(--c-ink) 30%, transparent);
}
.couture-stats--v3 .stat-pill strong {
  font-family: var(--c-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--c-accent);
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.couture-stats--v3 .stat-pill span {
  font-family: var(--c-body);
  font-size: 13px;
  color: var(--c-ink);
  letter-spacing: 0;
}

/* V6.158 — stat_wall sub-variant 4: big-feature (one mega + supporting) */
.couture-stats--v4 .stat-feature {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px);
  align-items: center;
}
.couture-stats--v4 .stat-feature--solo {
  grid-template-columns: 1fr;
  text-align: center;
}
.couture-stats--v4 .stat-feature-main {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-stats--v4 .stat-feature-main strong {
  font-family: var(--c-display);
  font-size: clamp(72px, 12vw, 180px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -.03em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-stats--v4 .stat-feature-main span {
  font-family: var(--c-display);
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.3;
  color: var(--c-ink);
  max-width: 16ch;
}
.couture-stats--v4 .stat-feature-rest {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.couture-stats--v4 .stat-feature-rest .stat strong {
  display: block;
  font-family: var(--c-display);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 700;
  color: var(--c-ink);
  letter-spacing: -.015em;
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.couture-stats--v4 .stat-feature-rest .stat span {
  font-family: var(--c-body);
  font-size: 14px;
  color: var(--c-muted, var(--c-ink-soft));
}
@media (max-width: 720px) {
  .couture-stats--v4 .stat-feature { grid-template-columns: 1fr; gap: 32px; text-align: center; }
  .couture-stats--v4 .stat-feature-main { align-items: center; }
}

/* V6.158 — stat_wall sub-variant 5: inline-band (full-bleed accent strip) */
.couture-stats--v5 {
  position: relative;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding: clamp(48px, 6vw, 80px) 0;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  text-align: center;
}
.couture-stats--v5 .couture-section-head {
  margin-bottom: 32px;
}
.couture-stats--v5 .stat-band {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 32px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px);
}
.couture-stats--v5 .stat-band-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 160px;
}
.couture-stats--v5 .stat-band-item strong {
  font-family: var(--c-display);
  font-size: clamp(36px, 4.5vw, 56px);
  font-weight: 700;
  color: var(--c-accent);
  letter-spacing: -.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.couture-stats--v5 .stat-band-item span {
  font-family: var(--c-body);
  font-size: 14px;
  color: var(--c-ink);
  letter-spacing: .02em;
}

/* V6.266 — operator R27 night autopilot Round 34: 3 NEW stat_wall sub-variants */

/* sub-6 — dashboard-card: 4-up cards w/ accent dot indicator (modern SaaS) */
.couture-stats--v6 .stat-dashboard { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-stats--v6 .stat-dash-card { padding: 24px 22px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 10px; position: relative; transition: transform .15s, box-shadow .15s; }
.couture-stats--v6 .stat-dash-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -16px rgba(0,0,0,.16); }
.couture-stats--v6 .stat-dash-dot { position: absolute; top: 18px; right: 18px; width: 8px; height: 8px; border-radius: 50%; background: var(--c-accent); box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 22%, transparent); }
.couture-stats--v6 .stat-dash-card strong { display: block; font-family: var(--c-display); font-weight: 700; font-size: clamp(28px, 3.4vw, 40px); color: var(--c-ink); letter-spacing: -.02em; line-height: 1; margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.couture-stats--v6 .stat-dash-card span { display: block; font-family: var(--c-body); font-size: 13px; color: var(--c-ink-soft, var(--c-muted)); line-height: 1.4; }

/* sub-7 — striped-table: data-table feel with zebra stripes */
.couture-stats--v7 .stat-table { padding: 0 var(--c-gutter, 32px); max-width: 720px; margin: 0 auto; }
.couture-stats--v7 .stat-table table { width: 100%; border-collapse: collapse; }
.couture-stats--v7 .stat-table tbody tr:nth-child(odd) { background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); }
.couture-stats--v7 .stat-table td { padding: 16px 18px; vertical-align: middle; }
.couture-stats--v7 .stat-table-n { font-family: var(--c-mono); font-weight: 800; font-size: clamp(22px, 2.4vw, 28px); color: var(--c-accent); width: 200px; font-variant-numeric: tabular-nums; }
.couture-stats--v7 .stat-table-l { font-family: var(--c-body); font-size: 14px; color: var(--c-ink); line-height: 1.5; }

/* sub-8 — counter-rings: each stat in a circular ring (athletic/training feel) */
.couture-stats--v8 .stat-rings { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px; padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-stats--v8 .stat-ring { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.couture-stats--v8 .stat-ring-frame { width: 140px; height: 140px; border-radius: 50%; border: 4px solid var(--c-accent); display: flex; align-items: center; justify-content: center; background: var(--c-paper); position: relative; }
.couture-stats--v8 .stat-ring-frame::before { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 1px dashed color-mix(in oklab, var(--c-accent) 40%, transparent); }
.couture-stats--v8 .stat-ring-frame strong { font-family: var(--c-display); font-weight: 700; font-size: 32px; color: var(--c-ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.couture-stats--v8 .stat-ring-l { font-family: var(--c-body); font-weight: 600; font-size: 13px; color: var(--c-ink-soft, var(--c-muted)); text-align: center; max-width: 18ch; line-height: 1.4; }

/* V4.22 — wordmark per-domain style variants (6 looks) */
.brand-word--style0 .brand-word { font-family: var(--c-display); font-weight: 600; letter-spacing: -.01em; text-transform: none; }
.brand-word--style1 .brand-word { font-family: var(--c-display); font-weight: 400; letter-spacing: .14em; text-transform: uppercase; font-size: 0.92em; }
.brand-word--style2 .brand-word { font-family: var(--c-mono); font-weight: 500; letter-spacing: .04em; text-transform: lowercase; }
.brand-word--style3 .brand-word { font-family: var(--c-display); font-weight: 700; letter-spacing: -.03em; text-transform: none; font-style: italic; }
.brand-word--style4 .brand-word { font-family: var(--c-body); font-weight: 600; letter-spacing: .02em; text-transform: capitalize; border-bottom: 2px solid var(--c-accent); padding-bottom: 2px; }
.brand-word--style5 .brand-word { font-family: var(--c-display); font-weight: 800; letter-spacing: -.02em; text-transform: uppercase; font-size: 1.05em; }

/* V4.22 — ritual sub-variants */
.couture-ritual--v1 .ritual-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(20px,2.4vw,32px); padding: 0 var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-ritual--v1 .ritual-card { display: flex; gap: clamp(20px,2.4vw,32px); padding: clamp(20px,2.4vw,32px); background: var(--c-paper2); border-radius: var(--c-card-radius); }
.couture-ritual--v1 .ritual-card-num { font-family: var(--c-display); font-size: clamp(48px,5vw,72px); line-height: 1; color: var(--c-accent); font-weight: 600; flex-shrink: 0; }
.couture-ritual--v1 .ritual-card-text h3 { margin: 0 0 8px; font-family: var(--c-display); font-size: clamp(18px,1.8vw,22px); }
.couture-ritual--v1 .ritual-card-text p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--c-ink-soft); }
@media (max-width: 768px) { .couture-ritual--v1 .ritual-cards { grid-template-columns: 1fr; } }

.couture-ritual--v2 .ritual--overlay { position: relative; background-size: cover; background-position: center; padding: clamp(60px,8vw,120px) var(--c-gutter,32px); border-radius: var(--c-card-radius); margin: 0 var(--c-gutter,32px); max-width: 1280px; margin-left: auto; margin-right: auto; }
.couture-ritual--v2 .ritual-overlay-tint { position: absolute; inset: 0; background: rgba(0,0,0,.55); border-radius: inherit; }
.couture-ritual--v2 .ritual-overlay-list { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 880px; }
.couture-ritual--v2 .ritual-overlay-card { background: rgba(255,255,255,.92); padding: 18px 20px; border-radius: var(--c-card-radius); }
.couture-ritual--v2 .ritual-overlay-card .ritual-overlay-num { display: block; font-family: var(--c-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 6px; }
.couture-ritual--v2 .ritual-overlay-card h3 { margin: 0 0 6px; font-family: var(--c-display); font-size: 16px; color: #111; }
.couture-ritual--v2 .ritual-overlay-card p { margin: 0; font-size: 13px; color: #444; line-height: 1.4; }
@media (max-width: 768px) { .couture-ritual--v2 .ritual-overlay-list { grid-template-columns: 1fr; } }

/* V6.273 — operator R27 night autopilot Round 41: 3 NEW story_timeline sub-variants */

/* sub-1 — vertical-rail: central vertical line, milestones alternating left/right */
.couture-story-timeline--v1 .timeline-vrail { list-style: none; padding: 0; margin: 0 auto; max-width: 880px; padding: 0 var(--c-gutter, 32px); position: relative; }
.couture-story-timeline--v1 .timeline-vrail::before { content: ""; position: absolute; left: 50%; top: 24px; bottom: 24px; width: 2px; background: var(--c-line); transform: translateX(-50%); }
.couture-story-timeline--v1 .timeline-vrail-item { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 18px 0; }
.couture-story-timeline--v1 .timeline-vrail-card { background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 6px; padding: 18px 22px; max-width: 360px; }
.couture-story-timeline--v1 .timeline-vrail-item--left .timeline-vrail-card { grid-column: 1; justify-self: end; }
.couture-story-timeline--v1 .timeline-vrail-item--right .timeline-vrail-card { grid-column: 2; justify-self: start; }
.couture-story-timeline--v1 .timeline-vrail-card time { font-family: var(--c-mono); font-weight: 700; font-size: 12px; letter-spacing: .14em; color: var(--c-accent); display: block; margin-bottom: 4px; }
.couture-story-timeline--v1 .timeline-vrail-card strong { font-family: var(--c-display); font-weight: 600; font-size: 18px; color: var(--c-ink); display: block; margin-bottom: 6px; }
.couture-story-timeline--v1 .timeline-vrail-card p { font-size: 13px; line-height: 1.5; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
.couture-story-timeline--v1 .timeline-vrail-dot { position: absolute; left: 50%; top: 32px; width: 14px; height: 14px; border-radius: 50%; background: var(--c-accent); transform: translateX(-50%); border: 3px solid var(--c-paper); z-index: 2; }
@media (max-width: 720px) { .couture-story-timeline--v1 .timeline-vrail::before { left: 18px; } .couture-story-timeline--v1 .timeline-vrail-item { grid-template-columns: 1fr; padding-left: 36px; } .couture-story-timeline--v1 .timeline-vrail-item--left .timeline-vrail-card, .couture-story-timeline--v1 .timeline-vrail-item--right .timeline-vrail-card { grid-column: 1; justify-self: stretch; max-width: none; } .couture-story-timeline--v1 .timeline-vrail-dot { left: 18px; } }

/* sub-2 — numbered-cards: dense 3-up grid */
.couture-story-timeline--v2 .timeline-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-story-timeline--v2 .timeline-card { padding: 24px; background: var(--c-paper); border: 1px solid var(--c-line); border-top: 4px solid var(--c-accent); border-radius: 0; }
.couture-story-timeline--v2 .timeline-card-no { font-family: var(--c-mono); font-weight: 800; font-size: 11px; letter-spacing: .14em; color: var(--c-accent); display: block; margin-bottom: 14px; }
.couture-story-timeline--v2 .timeline-card time { font-family: var(--c-display); font-weight: 700; font-size: 32px; color: var(--c-ink); display: block; margin-bottom: 4px; line-height: 1; font-variant-numeric: tabular-nums; }
.couture-story-timeline--v2 .timeline-card strong { font-family: var(--c-display); font-weight: 600; font-size: 17px; color: var(--c-ink); display: block; margin: 8px 0 6px; }
.couture-story-timeline--v2 .timeline-card p { font-size: 13px; line-height: 1.5; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* sub-3 — archive-list: minimal year-led row list (museum/archive feel) */
.couture-story-timeline--v3 .timeline-archive { padding: 0 var(--c-gutter, 32px); max-width: 880px; margin: 0 auto; }
.couture-story-timeline--v3 .timeline-archive-row { display: grid; grid-template-columns: 120px 1fr; gap: 32px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--c-line); }
.couture-story-timeline--v3 .timeline-archive-row:last-child { border-bottom: 0; }
.couture-story-timeline--v3 .timeline-archive-row dt time { font-family: var(--c-mono); font-weight: 800; font-size: clamp(20px, 2.4vw, 28px); color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-story-timeline--v3 .timeline-archive-row dd { margin: 0; }
.couture-story-timeline--v3 .timeline-archive-row dd strong { font-family: var(--c-display); font-weight: 600; font-size: 18px; color: var(--c-ink); display: block; margin-bottom: 4px; }
.couture-story-timeline--v3 .timeline-archive-body { font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); }
@media (max-width: 600px) { .couture-story-timeline--v3 .timeline-archive-row { grid-template-columns: 1fr; gap: 6px; } }

/* V6.272 — operator R27 night autopilot Round 40: 3 NEW ritual sub-variants */

/* sub-3 — horizontal-flow: steps as flow with arrow connectors */
.couture-ritual--v3 .ritual--flow { padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-ritual--v3 .ritual-flow-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
.couture-ritual--v3 .ritual-flow-step { flex: 1 1 200px; min-width: 0; padding: 22px 22px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; position: relative; display: flex; flex-direction: column; gap: 10px; }
.couture-ritual--v3 .ritual-flow-num { display: inline-block; font-family: var(--c-mono); font-weight: 800; font-size: 12px; letter-spacing: .14em; padding: 4px 10px; background: var(--c-accent); color: var(--c-paper); border-radius: 4px; align-self: flex-start; }
.couture-ritual--v3 .ritual-flow-step h3 { font-family: var(--c-display); font-weight: 600; font-size: 17px; color: var(--c-ink); margin: 0; }
.couture-ritual--v3 .ritual-flow-step p { font-size: 13px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
.couture-ritual--v3 .ritual-flow-arrow { position: absolute; right: -12px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--c-accent); font-weight: 700; z-index: 2; }
@media (max-width: 720px) { .couture-ritual--v3 .ritual-flow-arrow { display: none; } }

/* sub-4 — diptych: image left + sticky-scroll numbered list right */
.couture-ritual--v4 .ritual--diptych { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(36px, 5vw, 72px); padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; align-items: start; }
.couture-ritual--v4 .ritual-diptych-img { aspect-ratio: 4/5; background-size: cover; background-position: center; border-radius: 4px; position: sticky; top: 100px; }
.couture-ritual--v4 .ritual-diptych-list { list-style: none; counter-reset: ritual-counter; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 24px; }
.couture-ritual--v4 .ritual-diptych-list li { display: grid; grid-template-columns: 60px 1fr; gap: 16px; align-items: start; padding-bottom: 24px; border-bottom: 1px solid var(--c-line); }
.couture-ritual--v4 .ritual-diptych-list li:last-child { border-bottom: 0; }
.couture-ritual--v4 .rd-num { font-family: var(--c-display); font-weight: 700; font-size: clamp(36px, 4vw, 52px); color: var(--c-accent); line-height: 1; font-variant-numeric: tabular-nums; }
.couture-ritual--v4 .rd-body h3 { font-family: var(--c-display); font-weight: 600; font-size: 20px; color: var(--c-ink); margin: 0 0 6px; }
.couture-ritual--v4 .rd-body p { font-size: 14px; line-height: 1.6; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
@media (max-width: 800px) { .couture-ritual--v4 .ritual--diptych { grid-template-columns: 1fr; } .couture-ritual--v4 .ritual-diptych-img { position: static; aspect-ratio: 16/9; } }

/* sub-5 — chapter-spreads: full-width spreads with chunky number left + text right */
.couture-ritual--v5 .ritual--chapters { padding: 0 var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px); }
.couture-ritual--v5 .ritual-chapter { display: grid; grid-template-columns: minmax(180px, 280px) 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; padding: clamp(28px, 4vw, 48px) 0; border-bottom: 1px solid var(--c-line); }
.couture-ritual--v5 .ritual-chapter:last-child { border-bottom: 0; }
.couture-ritual--v5 .ritual-chapter-num { font-family: var(--c-display); font-weight: 700; font-size: clamp(80px, 10vw, 140px); color: var(--c-accent); line-height: .9; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.couture-ritual--v5 .ritual-chapter-body h3 { font-family: var(--c-display); font-weight: 600; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.2; color: var(--c-ink); margin: 0 0 14px; max-width: 28ch; }
.couture-ritual--v5 .ritual-chapter-body p { font-size: 16px; line-height: 1.65; color: var(--c-ink-soft, var(--c-ink)); margin: 0; max-width: 56ch; }
@media (max-width: 720px) { .couture-ritual--v5 .ritual-chapter { grid-template-columns: 1fr; gap: 14px; } .couture-ritual--v5 .ritual-chapter-num { font-size: clamp(56px, 14vw, 84px); } }

/* V4.22 — founder_letter sub-variants */
.couture-fl--v1 .fl-split { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(32px,5vw,80px); padding: 0 var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-fl--v1 .fl-split-text { padding-right: 0; }
.couture-fl--v1 .fl-split-sig { font-family: var(--c-mono); font-size: 13px; letter-spacing: .08em; color: var(--c-muted); border-left: 2px solid var(--c-accent); padding-left: 24px; align-self: flex-end; padding-bottom: 8px; }
.couture-fl--v1 .fl-split-sig p { margin: 0; }
@media (max-width: 768px) { .couture-fl--v1 .fl-split { grid-template-columns: 1fr; } .couture-fl--v1 .fl-split-sig { border-left: 0; padding-left: 0; align-self: flex-start; } }

.couture-fl--v2 .fl-quote-card { max-width: 720px; margin: 0 auto; padding: clamp(40px,5vw,72px); background: var(--c-paper2); border-radius: var(--c-card-radius); border-left: 4px solid var(--c-accent); }
.couture-fl--v2 .fl-quote-card .fl-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 16px; }
.couture-fl--v2 .fl-quote-card .fl-quote-headline { font-family: var(--c-display); font-style: italic; font-size: clamp(22px,2.6vw,32px); line-height: 1.35; margin: 0 0 24px; color: var(--c-ink); border: 0; padding: 0; }
.couture-fl--v2 .fl-quote-card .fl-quote-body p { font-size: 15px; line-height: 1.6; margin: 0 0 12px; color: var(--c-ink-soft); }
.couture-fl--v2 .fl-quote-card .fl-quote-sig { margin-top: 24px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .1em; color: var(--c-muted); }

/* V6.258 — operator R27 night autopilot Round 25: 3 NEW founder-letter sub-variants. */

/* v3 — postcard with offset corner stamp */
.couture-fl--v3 .fl-postcard { max-width: 760px; margin: 0 auto; padding: clamp(40px,5vw,72px) clamp(28px,4vw,56px); background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 4px; position: relative; box-shadow: 0 2px 0 var(--c-line), 0 18px 40px -16px rgba(0,0,0,.10); }
.couture-fl--v3 .fl-postcard-stamp { position: absolute; top: 18px; right: 18px; width: 64px; height: 64px; border: 2px solid var(--c-accent); display: flex; align-items: center; justify-content: center; font-family: var(--c-mono); font-size: 12px; font-weight: 700; color: var(--c-accent); text-transform: uppercase; letter-spacing: .08em; transform: rotate(-6deg); border-radius: 4px; }
.couture-fl--v3 .fl-postcard .fl-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 14px; }
.couture-fl--v3 .fl-postcard-h { font-family: var(--c-display); font-weight: 600; font-size: clamp(26px,3vw,36px); letter-spacing: -.012em; line-height: 1.2; margin: 0 0 22px; max-width: 36ch; }
.couture-fl--v3 .fl-postcard .fl-body p { font-size: 16px; line-height: 1.65; margin: 0 0 14px; color: var(--c-ink-soft); }
.couture-fl--v3 .fl-postcard-sig { margin-top: 24px; font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: 18px; color: var(--c-ink); border-top: 1px dashed var(--c-line); padding-top: 18px; }
@media (max-width: 720px) { .couture-fl--v3 .fl-postcard-stamp { position: static; margin-bottom: 16px; } }

/* v4 — typewriter letter (mono everything, dashed underline on heading) */
.couture-fl--v4 .fl-typewriter { max-width: 680px; margin: 0 auto; padding: clamp(40px,5vw,72px); background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink) 4%); border-left: 6px solid var(--c-ink); border-radius: 0; }
.couture-fl--v4 .fl-typewriter .fl-tw-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 18px; }
.couture-fl--v4 .fl-typewriter .fl-tw-h { font-family: var(--c-mono); font-size: clamp(20px,2.4vw,28px); font-weight: 700; letter-spacing: -.005em; line-height: 1.4; margin: 0 0 24px; padding-bottom: 8px; border-bottom: 1px dashed var(--c-line); display: inline-block; max-width: 100%; }
.couture-fl--v4 .fl-typewriter .fl-tw-body p { font-family: var(--c-mono); font-size: 14px; line-height: 1.7; margin: 0 0 14px; color: var(--c-ink); }
.couture-fl--v4 .fl-typewriter .fl-tw-sig { margin-top: 20px; font-family: var(--c-mono); font-size: 13px; letter-spacing: .04em; color: var(--c-ink); border-top: 1px dashed var(--c-line); padding-top: 12px; }

/* v5 — dialogue-frame (giant quote-mark, italic display headline) */
.couture-fl--v5 .fl-dialogue { max-width: 760px; margin: 0 auto; padding: clamp(56px,6vw,96px) clamp(32px,5vw,64px); position: relative; }
.couture-fl--v5 .fl-dialogue-mark { position: absolute; top: -8px; left: clamp(20px,3vw,40px); font-family: var(--c-display); font-style: italic; font-weight: 700; font-size: clamp(120px,14vw,200px); line-height: 1; color: color-mix(in oklab, var(--c-accent) 30%, transparent); user-select: none; pointer-events: none; }
.couture-fl--v5 .fl-dialogue .fl-eyebrow { font-family: var(--c-display); font-style: italic; font-size: 16px; color: var(--c-accent); margin-bottom: 14px; position: relative; z-index: 2; }
.couture-fl--v5 .fl-dialogue-h { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: clamp(28px,3.4vw,44px); letter-spacing: -.012em; line-height: 1.3; margin: 0 0 24px; color: var(--c-ink); position: relative; z-index: 2; }
.couture-fl--v5 .fl-dialogue-body p { font-size: 16px; line-height: 1.7; margin: 0 0 16px; color: var(--c-ink-soft); }
.couture-fl--v5 .fl-dialogue-sig { margin-top: 28px; font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: 16px; color: var(--c-accent); }

/* V4.22 — categories_strip sub-variants */
.couture-cat-strip--v1 .strip-row { display: flex; gap: 16px; overflow-x: auto; padding: 0 var(--c-gutter,32px) 8px; max-width: 1280px; margin: 0 auto; scrollbar-width: thin; }
.couture-cat-strip--v1 .strip-row .strip-tile { flex: 0 0 200px; }
.couture-cat-strip--v2 .strip-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 16px; padding: 0 var(--c-gutter,32px); max-width: 1280px; margin: 0 auto; }
.couture-cat-strip--v2 .strip-mosaic .strip-tile--lg { grid-column: span 2; grid-row: span 2; }
@media (max-width: 768px) { .couture-cat-strip--v2 .strip-mosaic { grid-template-columns: repeat(2, 1fr); } .couture-cat-strip--v2 .strip-mosaic .strip-tile--lg { grid-column: span 2; grid-row: auto; } }

/* ============================================================ */
/* V4.57 — WooCommerce shop-page styling (operator R12 audit)
   Default WC archive page on Couture themes was rendering as plain
   "SHOP" h1 + 3-column product grid + ugly default sort dropdown +
   no categories nav. Looked like vanilla WP, not a real store. This
   block injects Stripe/Shopify-Dawn-style polish: hero header, sticky
   filter+sort bar, styled select, larger card grid with hover, no
   borders/dropshadows on a clean cream bg. Targets WC's emitted
   classes since the shop content is WC-rendered (not our renderer).
   ============================================================ */
.woocommerce-shop .wp-site-blocks,
.post-type-archive-product .wp-site-blocks {
  background: var(--c-paper);
}
.woocommerce-shop .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(48px, 6vw, 80px) var(--c-gutter, 32px) 24px;
}
.woocommerce-shop .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title,
body.woocommerce-shop h1.entry-title,
body.post-type-archive-product h1.entry-title {
  font-family: var(--c-display);
  font-size: clamp(48px, 6vw, 80px) !important;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 0 0 12px;
  color: var(--c-ink);
  text-align: left !important;
}
.woocommerce-shop .woocommerce-products-header__title::after,
.post-type-archive-product .woocommerce-products-header__title::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  background: var(--c-accent);
  margin-top: 18px;
}
/* Result count + sort form: turn into a clean sticky filter bar */
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering,
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering {
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.woocommerce-shop .woocommerce-result-count,
.post-type-archive-product .woocommerce-result-count {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px) 24px;
  display: flex;
  align-items: center;
}
.woocommerce-shop .woocommerce-ordering,
.post-type-archive-product .woocommerce-ordering {
  max-width: 1280px;
  margin: 0 auto 24px;
  padding: 0 var(--c-gutter, 32px);
  display: flex;
  justify-content: flex-end;
}
.woocommerce-shop .woocommerce-ordering select,
.post-type-archive-product .woocommerce-ordering select {
  appearance: none;
  -webkit-appearance: none;
  background: var(--c-paper);
  background-image: linear-gradient(45deg, transparent 50%, var(--c-ink) 50%), linear-gradient(135deg, var(--c-ink) 50%, transparent 50%);
  background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  border: 1px solid var(--c-line);
  border-radius: var(--c-card-radius, 0);
  padding: 12px 40px 12px 16px;
  font-family: var(--c-body);
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--c-ink);
  cursor: pointer;
  min-width: 200px;
}
.woocommerce-shop .woocommerce-ordering select:focus,
.post-type-archive-product .woocommerce-ordering select:focus {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
/* Product grid: enlarge cards, kill default WC inline styles */
.woocommerce-shop ul.products,
.post-type-archive-product ul.products,
.woocommerce-shop .wc-block-grid__products,
.post-type-archive-product .wc-block-grid__products {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px) clamp(60px, 8vw, 120px);
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
  list-style: none;
}
@media (max-width: 1100px) {
  .woocommerce-shop ul.products,
  .post-type-archive-product ul.products,
  .woocommerce-shop .wc-block-grid__products,
  .post-type-archive-product .wc-block-grid__products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .woocommerce-shop ul.products,
  .post-type-archive-product ul.products,
  .woocommerce-shop .wc-block-grid__products,
  .post-type-archive-product .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.woocommerce-shop li.product,
.post-type-archive-product li.product,
.woocommerce-shop .wc-block-grid__product,
.post-type-archive-product .wc-block-grid__product {
  background: var(--c-paper);
  border: 1px solid transparent;
  transition: border-color .2s, transform .3s;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
}
.woocommerce-shop li.product:hover,
.post-type-archive-product li.product:hover,
.woocommerce-shop .wc-block-grid__product:hover,
.post-type-archive-product .wc-block-grid__product:hover {
  border-color: var(--c-line);
  transform: translateY(-3px);
}
.woocommerce-shop li.product img,
.post-type-archive-product li.product img,
.woocommerce-shop .wc-block-grid__product img,
.post-type-archive-product .wc-block-grid__product img {
  width: 100% !important;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
  margin: 0 0 14px !important;
}
.woocommerce-shop li.product .woocommerce-loop-product__title,
.post-type-archive-product li.product .woocommerce-loop-product__title,
.woocommerce-shop .wc-block-grid__product-title,
.post-type-archive-product .wc-block-grid__product-title {
  font-family: var(--c-display) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: -0.005em;
  line-height: 1.3;
  margin: 0 12px 6px !important;
  padding: 0 !important;
  color: var(--c-ink);
  text-transform: none !important;
}
.woocommerce-shop li.product .price,
.post-type-archive-product li.product .price,
.woocommerce-shop .wc-block-grid__product-price,
.post-type-archive-product .wc-block-grid__product-price,
.woocommerce-shop .wc-block-components-product-price,
.post-type-archive-product .wc-block-components-product-price,
.woocommerce-shop .wp-block-woocommerce-product-price,
.post-type-archive-product .wp-block-woocommerce-product-price {
  font-family: var(--c-body) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--c-ink) !important;
  display: block;
  margin: 0 12px 14px !important;
  text-align: left !important;
}
/* V6.363 — operator iter 10 visual audit (luxevoo /shop/): WC product
   block grid uses `wp-block-woocommerce-product-price has-small-font-size`
   which renders ~12-13px. Operator-vetted minimum readable: 16px+ for
   prices on premium-furniture-shopping context. Override the small-
   font-size token specifically inside product blocks so prices stay
   readable across all 4 grid layouts WC ships. */
.woocommerce-shop .wp-block-woocommerce-product-price.has-small-font-size,
.post-type-archive-product .wp-block-woocommerce-product-price.has-small-font-size,
.woocommerce-shop .wc-block-components-product-price.has-small-font-size,
.post-type-archive-product .wc-block-components-product-price.has-small-font-size {
  font-size: 17px !important;
}
.woocommerce-shop .wc-block-components-product-price__value,
.post-type-archive-product .wc-block-components-product-price__value {
  font-size: 17px !important;
  font-weight: 600 !important;
}
/* WC product TITLE in block grid */
.woocommerce-shop .wp-block-post-title,
.post-type-archive-product .wp-block-post-title,
.woocommerce-shop .wc-block-post-title,
.post-type-archive-product .wc-block-post-title {
  font-family: var(--c-display) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--c-ink) !important;
  margin: 8px 12px 4px !important;
}
/* Hide the default "Add to cart" button inline — use a clean text link */
.woocommerce-shop li.product .button.add_to_cart_button,
.post-type-archive-product li.product .button.add_to_cart_button,
.woocommerce-shop li.product .added_to_cart {
  display: inline-block;
  margin: 0 12px 16px !important;
  padding: 10px 18px !important;
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
  border: none !important;
  border-radius: var(--c-card-radius, 0) !important;
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  transition: background .2s;
}
.woocommerce-shop li.product .button.add_to_cart_button:hover {
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
}
/* Pagination: clean numbered dots */
.woocommerce-shop .woocommerce-pagination,
.post-type-archive-product .woocommerce-pagination {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px) clamp(48px, 6vw, 80px);
  text-align: center;
}
.woocommerce-shop .woocommerce-pagination ul.page-numbers,
.post-type-archive-product .woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  gap: 6px;
  border: none;
  list-style: none;
  padding: 0;
}
.woocommerce-shop .woocommerce-pagination .page-numbers,
.post-type-archive-product .woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid var(--c-line);
  background: var(--c-paper);
  color: var(--c-ink);
  text-decoration: none;
  font-family: var(--c-body);
  font-size: 14px;
  font-weight: 500;
}
.woocommerce-shop .woocommerce-pagination .page-numbers.current,
.post-type-archive-product .woocommerce-pagination .page-numbers.current {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.woocommerce-shop .woocommerce-pagination .page-numbers:hover,
.post-type-archive-product .woocommerce-pagination .page-numbers:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
}

/* ============================================================ */
/* V5.24 — Per-domain WC archive (/shop/) layout variants.
   Each site randomized via body class to one of 4 grid styles + 3
   filter-bar styles + 3 pagination shapes = 36 distinct WC looks. */

/* ---------- grid variants ---------- */
/* v0 — current default 4-col tight (no override needed; baseline) */

/* v1 — spacious 3-col with portrait cards + hover-zoom */
.couture-wcarch-v1 ul.products,
.couture-wcarch-v1 .wc-block-grid__products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(28px, 3vw, 48px) !important;
}
.couture-wcarch-v1 li.product img,
.couture-wcarch-v1 .wc-block-grid__product img {
  aspect-ratio: 3/4;
  transition: transform .55s cubic-bezier(.2,.8,.2,1) !important;
}
.couture-wcarch-v1 li.product:hover img,
.couture-wcarch-v1 .wc-block-grid__product:hover img {
  transform: scale(1.06);
}
.couture-wcarch-v1 li.product,
.couture-wcarch-v1 .wc-block-grid__product { overflow: hidden; }
@media (max-width: 900px) {
  .couture-wcarch-v1 ul.products,
  .couture-wcarch-v1 .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* v2 — editorial 2-col ultra-wide */
.couture-wcarch-v2 ul.products,
.couture-wcarch-v2 .wc-block-grid__products {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(32px, 4vw, 72px) !important;
  max-width: 1080px !important;
}
.couture-wcarch-v2 li.product img,
.couture-wcarch-v2 .wc-block-grid__product img {
  aspect-ratio: 5/4;
}
.couture-wcarch-v2 li.product .woocommerce-loop-product__title,
.couture-wcarch-v2 .wc-block-grid__product-title {
  font-size: 22px !important;
  line-height: 1.2 !important;
}
@media (max-width: 700px) {
  .couture-wcarch-v2 ul.products,
  .couture-wcarch-v2 .wc-block-grid__products {
    grid-template-columns: 1fr !important;
  }
}

/* v3 — dense 5-col fashion-runway */
.couture-wcarch-v3 ul.products,
.couture-wcarch-v3 .wc-block-grid__products {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1480px !important;
}
.couture-wcarch-v3 li.product img,
.couture-wcarch-v3 .wc-block-grid__product img {
  aspect-ratio: 3/4;
}
.couture-wcarch-v3 li.product .woocommerce-loop-product__title,
.couture-wcarch-v3 .wc-block-grid__product-title {
  font-size: 14px !important;
  margin: 8px 4px 2px !important;
}
.couture-wcarch-v3 li.product .price,
.couture-wcarch-v3 .wc-block-grid__product-price {
  font-size: 12px !important;
  margin: 0 4px 12px !important;
}
@media (max-width: 1100px) {
  .couture-wcarch-v3 ul.products,
  .couture-wcarch-v3 .wc-block-grid__products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 800px) {
  .couture-wcarch-v3 ul.products,
  .couture-wcarch-v3 .wc-block-grid__products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 540px) {
  .couture-wcarch-v3 ul.products,
  .couture-wcarch-v3 .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ---------- filter-bar variants ---------- */
/* bar0 — current right-aligned select (baseline) */

/* bar1 — centered + boxed result count + sort label */
.couture-wcarch-bar1 .woocommerce-result-count {
  justify-content: center !important;
  border: 1px solid var(--c-line);
  padding: 10px 18px !important;
  border-radius: var(--c-card-radius, 0);
  font-weight: 500;
  background: var(--c-paper);
}
.couture-wcarch-bar1 .woocommerce-ordering {
  justify-content: center !important;
}

/* bar2 — full-width sticky filter bar above grid (count + sort side-by-side) */
.couture-wcarch-bar2 .woocommerce-result-count,
.couture-wcarch-bar2 .woocommerce-ordering {
  position: sticky;
  top: 72px;
  z-index: 5;
  background: var(--c-paper);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  margin-bottom: 0 !important;
}
.couture-wcarch-bar2 .woocommerce-result-count { padding-left: var(--c-gutter, 32px) !important; }

/* ---------- pagination variants ---------- */
/* pag0 — current square boxes (baseline) */

/* pag1 — circle pagination */
.couture-wcarch-pag1 .woocommerce-pagination .page-numbers {
  border-radius: 50% !important;
  min-width: 44px !important;
  height: 44px !important;
}

/* pag2 — pill-style with arrow indicators */
.couture-wcarch-pag2 .woocommerce-pagination .page-numbers {
  border-radius: 999px !important;
  padding: 0 18px !important;
  border: 1.5px solid var(--c-line);
}
.couture-wcarch-pag2 .woocommerce-pagination .page-numbers.next::before {
  content: "→ ";
}
.couture-wcarch-pag2 .woocommerce-pagination .page-numbers.prev::after {
  content: " ←";
}

/* ============================================================ */
/* V4.65 — Premium polish pack (operator night auto-pilot, Round 8).
   Applied to ALL pages (not just hero). Adds the small details that
   make a site read as "real fancy business" instead of "generated":
   - Smoother focus states on inputs/buttons
   - Animated underline on body links (slide-in)
   - Hover lift on buttons/cards
   - Selection color tinted by accent
   - Subtle scroll-snap for product grids
   - Anti-aliased buttons
   - Real input styling (instead of WP defaults) */
:root {
  --c-premium-ease: cubic-bezier(.2, .8, .2, 1);
}
::selection {
  background: color-mix(in oklab, var(--c-accent) 25%, transparent);
  color: var(--c-ink);
}
*:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--c-accent) 80%, transparent);
  outline-offset: 2px;
  border-radius: 3px;
}
button, .cta, .cta-btn, .wp-element-button {
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  transition: transform .15s var(--c-premium-ease), background .2s, border-color .2s, box-shadow .2s, color .2s;
}
button:hover:not(:disabled),
.cta:hover, .cta-btn:hover, .wp-element-button:hover {
  transform: translateY(-1px);
}
button:active:not(:disabled),
.cta:active, .cta-btn:active, .wp-element-button:active {
  transform: translateY(0);
}
input[type="text"], input[type="email"], input[type="search"], input[type="number"],
input[type="tel"], input[type="url"], input[type="password"], textarea, select {
  font-family: inherit;
  font-size: 14px;
  padding: 10px 14px;
  border: 1px solid var(--c-line);
  border-radius: 6px;
  background: var(--c-paper);
  color: var(--c-ink);
  transition: border-color .15s, box-shadow .15s;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="search"]:focus,
input[type="number"]:focus, input[type="tel"]:focus, input[type="url"]:focus,
input[type="password"]:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.tpl-clean-business p a, .tpl-modern-saas p a,
.tpl-clean-business .lede a, .tpl-modern-saas .lede a {
  color: var(--c-ink);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size .25s var(--c-premium-ease);
  padding-bottom: 1px;
}
.tpl-clean-business p a:hover, .tpl-modern-saas p a:hover,
.tpl-clean-business .lede a:hover, .tpl-modern-saas .lede a:hover {
  background-size: 100% 1px;
}
/* Smooth scroll anchor jumps */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }

/* V4.59 — couture-hero--business: Stripe/Vercel-style hero for
   clean-business + modern-saas families. Operator R12 round 4
   complaint: "still feels freestyle vs proper fancy business".
   Layout: 2-col grid (text left + image right at >1024px,
   stacked at <1024px). Eyebrow pill, huge headline, sub, dual
   CTA buttons. Background gradient creates depth. */
.couture-hero--business {
  padding: clamp(80px, 10vw, 140px) var(--c-gutter, 32px) clamp(80px, 10vw, 140px) !important;
  background: radial-gradient(ellipse at top right,
    color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) 0%,
    var(--c-paper) 60%);
  position: relative;
  overflow: hidden;
}
.couture-hero--business .hero-biz-grid {
  max-width: 1280px;
  margin: 0 auto !important;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
}
/* V6.69 — when hero image fails / is missing, hero_business renderer
   skips the .hero-biz-art div entirely. Without this rule the 2-col
   grid leaves a blank rectangle on the right (text only fills col 1).
   :has() makes the grid collapse to single column when no .hero-biz-art
   child is present. Browsers without :has() fall through to the default
   layout (text in col 1, empty col 2 — same visual outcome as today
   for pre-2024 browsers). */
.couture-hero--business .hero-biz-grid:not(:has(.hero-biz-art)) {
  grid-template-columns: 1fr;
  max-width: 920px;
}
.couture-hero--business .hero-biz-content {
  max-width: 580px;
}
.couture-hero--business .eyebrow--pill {
  display: inline-block;
  margin-bottom: 28px;
  padding: 7px 16px;
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-accent);
  font-weight: 600;
}
.couture-hero--business .hero-biz-headline {
  font-family: var(--c-display);
  font-size: clamp(44px, 6vw, 80px) !important;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 24px !important;
  color: var(--c-ink);
  max-width: 16ch;
}
.couture-hero--business .hero-biz-headline em {
  font-style: italic;
  color: var(--c-accent);
}
.couture-hero--business .hero-biz-sub {
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.55;
  color: var(--c-ink-soft, var(--c-ink));
  max-width: 52ch;
  margin: 0 0 36px;
}
.couture-hero--business .hero-biz-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.couture-hero--business .cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: var(--c-card-radius, 6px);
  font-family: var(--c-body);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .15s, background .2s, border-color .2s;
}
.couture-hero--business .cta-btn--primary {
  background: var(--c-ink);
  color: var(--c-paper);
  border: 1px solid var(--c-ink);
}
.couture-hero--business .cta-btn--primary:hover {
  background: var(--c-accent);
  border-color: var(--c-accent);
  transform: translateY(-1px);
}
.couture-hero--business .cta-btn--primary .cta-arrow {
  transition: transform .2s;
}
.couture-hero--business .cta-btn--primary:hover .cta-arrow {
  transform: translateX(3px);
}
.couture-hero--business .cta-btn--secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid var(--c-line);
}
.couture-hero--business .cta-btn--secondary:hover {
  border-color: var(--c-ink);
  background: var(--c-paper-2);
}
.couture-hero--business .hero-biz-art figure {
  margin: 0;
  border-radius: var(--c-card-radius, 8px);
  overflow: hidden;
  aspect-ratio: 1.1/1;
  position: relative;
  box-shadow:
    0 24px 48px -12px color-mix(in oklab, var(--c-ink) 18%, transparent),
    0 0 0 1px color-mix(in oklab, var(--c-ink) 4%, transparent);
}
.couture-hero--business .hero-biz-art figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .couture-hero--business .hero-biz-grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }
  .couture-hero--business .hero-biz-art figure {
    aspect-ratio: 16/9;
    max-width: 600px;
    margin: 0 auto;
  }
  .couture-hero--business .hero-biz-headline {
    max-width: 100%;
  }
}

/* ============================================================ */
/* V4.57 — Hero professional polish (operator R12: "we have too
   plain everytime same childish freestyle looking websites,
   instead of proper clean nice business websites").
   Make the default centered hero feel like a real business hero
   (Stripe / Linear / Vercel scale): wider headline, larger trust
   pills, real CTA button. Sub-variant CSS in family_sub_variants.js
   can override this base. */
.couture-hero {
  padding: clamp(80px, 10vw, 160px) var(--c-gutter, 32px) clamp(60px, 7vw, 100px) !important;
}
.couture-hero h1 {
  max-width: 18ch;
  margin: 0 auto 24px !important;
}
.couture-hero .eyebrow {
  display: inline-block;
  margin-bottom: 28px;
  padding: 6px 14px;
  background: var(--c-paper-2, rgba(0,0,0,.04));
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-accent);
}
/* Real CTA button (was: text link with arrow) */
.couture-hero .hero-cta,
.couture-hero a.cta-btn,
.couture-hero .cta-btn {
  display: inline-block;
  margin-top: 32px;
  padding: 16px 32px;
  background: var(--c-ink);
  color: var(--c-paper);
  text-decoration: none;
  font-family: var(--c-body);
  font-size: 15px;
  font-weight: 500;
  border: none;
  border-radius: var(--c-card-radius, 4px);
  transition: background .2s, transform .15s;
}
.couture-hero .hero-cta:hover,
.couture-hero a.cta-btn:hover,
.couture-hero .cta-btn:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}

/* ============================================================
   V5.18 — operator audit 2026-05-05: "boxes like this don't
   have visible text because it chooses dark color text on a
   dark background button, only hover visible".
   Root cause: many CTAs use `color: var(--c-paper)` which on
   dark-mode sites (V4.88) is near-BLACK, producing dark text
   on accent-colored background → invisible until hover.
   Fix: force #fff text color on any button/CTA whose background
   resolves to var(--c-accent) or var(--c-ink). White is always
   visible on saturated accents and on dark ink. We override
   with !important + multiple selectors so it wins regardless
   of cascade order from family / sub-variant / hero overrides.
   ============================================================ */
.cta:hover, .cta-btn:hover, button[type=submit]:hover,
.wp-block-button__link:hover, .wp-element-button:hover,
.couture-hero--business .cta-btn--primary,
.couture-hero--business .cta-btn--primary:hover,
.couture-hero--fullbleed .cta-btn--primary,
.couture-product-lede .cta:hover,
.couture-appointment-cta .cta,
.couture-hiw-cta .cta:hover,
.couture-hero--promo .hero-promo-cta .cta-btn:hover {
  color: #ffffff !important;
}
/* Same for default CTA state when bg is ink */
.cta, .cta-btn, button[type=submit], .wp-block-button__link, .wp-element-button {
  color: #ffffff;
}
/* V6.335 — operator R3.1 audit (luxevoo): "Shop the collection" CTA
   text was unreadable, only visible on hover. Cause: AI hero/section
   templates generate CSS like `.ai-hero-XXX .cta-primary { color: var(--c-paper) }`
   on a `background-color: var(--c-accent)` button. When the rolled palette
   has `--c-paper` close to or matching `--c-accent` (or when later cascade
   pushes color toward accent), text vanishes. The theme's existing global
   white-text rule (line ~8996) only matches exact class `.cta`/`.cta-btn`
   — not the AI-invented `.cta-primary`/`.cta-button`. Add high-specificity
   override that forces #ffffff text on EVERY accent-colored CTA inside
   any AI scope (ai-hero-*, ai-fb-*, ai-pcard-*, ai-press-*, ai-pdp-*,
   ai-section-*). White-on-accent is the universal high-contrast pairing
   for the curated accent palette (operator-vetted saturated hues). */
[class*="ai-hero-"] [class^="cta-"],
[class*="ai-hero-"] [class*=" cta-"],
[class*="ai-fb-"] [class^="cta-"],
[class*="ai-fb-"] [class*=" cta-"],
[class*="ai-pcard-"] [class^="cta-"],
[class*="ai-pcard-"] [class*=" cta-"],
[class*="ai-pdp-"] [class^="cta-"],
[class*="ai-pdp-"] [class*=" cta-"],
[class*="ai-press-"] [class^="cta-"],
[class*="ai-press-"] [class*=" cta-"],
[class*="ai-section-"] [class^="cta-"],
[class*="ai-section-"] [class*=" cta-"],
[data-ai-section] [class^="cta-"],
[data-ai-section] [class*=" cta-"],
[data-ai-hero] [class^="cta-"],
[data-ai-hero] [class*=" cta-"] {
  color: #ffffff !important;
}
/* V6.360 — operator R+ visual audit (luxevoo.com): "Meet our story"
   secondary CTA (.cta-button) was rendering white-on-white. Cause:
   V6.335 forces #ffffff text on every AI cta-* element BUT the AI only
   gave .cta-primary a background-color: var(--c-accent). The secondary
   .cta-button got #fff text on the parent's white bg = invisible.
   Fix: secondary CTA classes (cta-secondary, cta-button, cta-text,
   cta-link, cta-ghost, cta-outline) get outline treatment — ink text
   on transparent bg with ink border. Primary CTAs (cta-primary,
   cta-btn, cta-main, cta-cta) keep the V6.335 white-on-accent default. */
[data-ai-hero] .cta-button,
[data-ai-hero] .cta-secondary,
[data-ai-hero] .cta-text,
[data-ai-hero] .cta-link,
[data-ai-hero] .cta-ghost,
[data-ai-hero] .cta-outline,
[data-ai-section] .cta-button,
[data-ai-section] .cta-secondary,
[data-ai-section] .cta-text,
[data-ai-section] .cta-link,
[data-ai-section] .cta-ghost,
[data-ai-section] .cta-outline,
[class*="ai-hero-"] .cta-button,
[class*="ai-hero-"] .cta-secondary,
[class*="ai-hero-"] .cta-text,
[class*="ai-hero-"] .cta-link,
[class*="ai-hero-"] .cta-ghost,
[class*="ai-hero-"] .cta-outline,
[class*="ai-section-"] .cta-button,
[class*="ai-section-"] .cta-secondary,
[class*="ai-section-"] .cta-text,
[class*="ai-section-"] .cta-link,
[class*="ai-section-"] .cta-ghost,
[class*="ai-section-"] .cta-outline {
  color: var(--c-ink) !important;
  background: transparent !important;
  border: 1px solid var(--c-ink) !important;
  text-decoration: none !important;
}
/* V6.362 — operator /loop iter 1 visual audit (luxevoo.com): primary
   CTA "Shop the collection" was rendering accent-on-accent (invisible).
   Cause: AI emitted BEM-style class `ai-hero-XXXX__cta` (suffix-style,
   not `cta-primary`) which V6.335 white-text selector did NOT match
   because the class doesn't START with `cta-`. The V4.50 clean-business
   global rule then forced color: var(--c-accent) on every non-cta
   anchor, including these BEM-style CTAs whose own bg was also accent.
   Add force-white rules for BEM-suffix CTA naming patterns AI emits. */
[class*="ai-hero-"] [class$="__cta"],
[class*="ai-hero-"] [class$="__btn"],
[class*="ai-hero-"] [class$="__button"],
[class*="ai-hero-"] [class$="-cta"],
[class*="ai-fb-"] [class$="__cta"],
[class*="ai-fb-"] [class$="__btn"],
[class*="ai-fb-"] [class$="__button"],
[class*="ai-fb-"] [class$="-cta"],
[class*="ai-pcard-"] [class$="__cta"],
[class*="ai-pcard-"] [class$="__btn"],
[class*="ai-pdp-"] [class$="__cta"],
[class*="ai-pdp-"] [class$="__btn"],
[class*="ai-press-"] [class$="__cta"],
[class*="ai-section-"] [class$="__cta"],
[class*="ai-section-"] [class$="__btn"],
[data-ai-hero] [class$="__cta"],
[data-ai-hero] [class$="__btn"],
[data-ai-section] [class$="__cta"],
[data-ai-section] [class$="__btn"] {
  color: #ffffff !important;
}
/* V6.364 — operator vesprina audit: AI feature banner section
   "Each planter shaped by caring hands" rendered LEFT-aligned because
   the section <section class="ai-fb-XXX"> had a max-width inherited
   from somewhere but no `margin: 0 auto` to center it. Apply auto-center
   to ALL top-level AI sections so they sit in the center column like
   couture-section sections do. */
section[class*="ai-hero-"],
section[class*="ai-fb-"],
section[class*="ai-section-"],
section[class*="ai-press-"],
section[class*="ai-pdp-"],
section[class*="ai-tg-"],
section[class*="ai-jt-"],
section[class*="ai-pq-"],
section[class*="ai-news-"],
section[class*="ai-st-"],
section[class*="ai-search-"],
section[class*="ai-404-"] {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1180px;
}
/* V6.370 — display-size hero moment for clean families. Operator iter
   27 audit: clean-family heroes felt safe (50-72px h1) — premium sites
   like Apple/Stripe/Vercel use display-size moments (96-160px). Apply
   a billboard-tier h1 size to clean-business + modern-saas + retail-flat
   home heroes when no family-envelope size override is set. */
.tpl-clean-business .couture-hero h1:not([style*="font-size"]),
.tpl-modern-saas .couture-hero h1:not([style*="font-size"]),
.tpl-retail-flat .couture-hero h1:not([style*="font-size"]) {
  font-size: clamp(48px, 9vw, 120px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.035em !important;
  font-weight: 700 !important;
}
.tpl-clean-business [class*="ai-hero-"] h1:not([style*="font-size"]),
.tpl-modern-saas [class*="ai-hero-"] h1:not([style*="font-size"]),
.tpl-retail-flat [class*="ai-hero-"] h1:not([style*="font-size"]) {
  font-size: clamp(44px, 8vw, 108px);
  line-height: 1.0;
  letter-spacing: -0.03em;
}

/* V6.370 — accent moment: section eyebrow gets a brand-accent
   underline accent. Subtle but adds chromatic moment per audit
   feedback "single accent wasted". */
section[class*="ai-section-"] > .eyebrow,
section[class*="ai-jt-"] > .eyebrow,
section[class*="ai-pq-"] > .eyebrow,
section[class*="ai-press-"] > .eyebrow,
section[class*="ai-news-"] > .eyebrow {
  position: relative;
  display: inline-block;
}
.num--accent-rule::after {
  content: '';
  display: block;
  height: 2px;
  width: 28px;
  background-image: linear-gradient(to right, var(--c-accent), var(--c-accent));
  margin-top: 6px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}

/* V6.374 — WooCommerce product gallery polish. Operator iter 31 audit:
   PDPs across vesprina/jigzari/handivor have multiple gallery images
   but no thumbnail strip — only the main image is interactive. WC's
   default `.flex-control-thumbs` is hidden by most themes; we restore
   it as a clean horizontal strip below the main image. */
.woocommerce-product-gallery {
  position: relative;
}
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 calc(20% - 7px); /* 5-up by default */
  margin: 0;
  cursor: pointer;
  overflow: hidden;
  border-radius: 4px;
  border: 1px solid var(--c-line);
  transition: border-color .2s, transform .2s;
}
.woocommerce-product-gallery .flex-control-thumbs li:hover {
  border-color: var(--c-accent);
  transform: translateY(-1px);
}
.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  opacity: 0.7;
  transition: opacity .2s;
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li:hover img {
  opacity: 1;
}
@media (max-width: 720px) {
  .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 calc(25% - 6px); }
}

/* V6.374 — custom sale badge variants. Operator iter 31 audit: every
   site uses the same WC default "-NN%" or "Sale" badge — generic.
   Override with brand-tier badges that read as designed labels.
   Per-domain CSS rotation via :nth-child to vary across sites. */
.woocommerce span.onsale,
.products li.product .onsale,
[class*="ai-pcard-"] .onsale {
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  font-family: var(--c-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  margin: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
  z-index: 2;
  box-shadow: 0 2px 12px -4px rgba(0,0,0,0.18);
}
/* Tier-2 badge variant: thin accent rule at top instead of solid bg */
.tpl-couture-editorial .woocommerce span.onsale,
.tpl-editorial-broadsheet .woocommerce span.onsale,
.tpl-magazine-classic .woocommerce span.onsale {
  background: var(--c-paper) !important;
  color: var(--c-ink) !important;
  border-top: 2px solid var(--c-accent) !important;
  padding: 8px 14px 6px !important;
}
/* Tier-3 badge: monogram dot */
.tpl-boutique-pastel-mod .woocommerce span.onsale,
.tpl-gallery-bleed .woocommerce span.onsale {
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 10px !important;
}

/* V6.385 DRAMATIC SCALE-UP — operator iter 36 strong push toward
   outseta/framer/openphone tier. Previous polish was too restrained.
   Going BOLDER: h1 up to 144px, h2 up to 72px, stats up to 128px,
   mesh-gradient hero backgrounds, sticky glass nav, screenshot mockup
   frame. */

/* MASSIVE hero h1 — outseta uses 96px, framer uses 120px, burb uses
   100px. We go up to 144px on clean families for true billboard. */
.tpl-clean-business .couture-hero h1:not([style*="font-size"]),
.tpl-modern-saas .couture-hero h1:not([style*="font-size"]),
.tpl-retail-flat .couture-hero h1:not([style*="font-size"]),
.tpl-clean-business [class*="ai-hero-"] h1:not([style*="font-size"]),
.tpl-modern-saas [class*="ai-hero-"] h1:not([style*="font-size"]),
.tpl-retail-flat [class*="ai-hero-"] h1:not([style*="font-size"]) {
  font-size: clamp(56px, 11vw, 144px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.04em !important;
  font-weight: 800 !important;
  max-width: 18ch;
  margin-block: 24px 32px;
}
/* Hero sub: bigger, lighter, generous line-height */
.tpl-clean-business .couture-hero p:not([style*="font-size"]),
.tpl-modern-saas .couture-hero p:not([style*="font-size"]),
.tpl-retail-flat .couture-hero p:not([style*="font-size"]),
.tpl-clean-business [class*="ai-hero-"] p:not([style*="font-size"]),
.tpl-modern-saas [class*="ai-hero-"] p:not([style*="font-size"]),
.tpl-retail-flat [class*="ai-hero-"] p:not([style*="font-size"]) {
  font-size: clamp(18px, 1.6vw, 22px) !important;
  line-height: 1.55 !important;
  max-width: 56ch;
  color: var(--c-ink-soft, var(--c-ink));
  font-weight: 400;
}

/* MESH-GRADIENT hero bg (outseta/stripe-style, replaces V6.385 simple
   radial). Layered conic + radial = real depth. */
.tpl-clean-business .couture-hero::before,
.tpl-modern-saas .couture-hero::before,
.tpl-retail-flat .couture-hero::before,
.tpl-clean-business [class*="ai-hero-"]::before,
.tpl-modern-saas [class*="ai-hero-"]::before,
.tpl-retail-flat [class*="ai-hero-"]::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(ellipse 70% 80% at 18% 0%, color-mix(in oklab, var(--c-accent) 22%, transparent) 0%, transparent 55%),
    radial-gradient(ellipse 65% 70% at 82% 18%, color-mix(in oklab, var(--c-accent-2, var(--c-accent)) 16%, transparent) 0%, transparent 55%),
    radial-gradient(ellipse 90% 50% at 50% 100%, color-mix(in oklab, var(--c-accent) 8%, transparent) 0%, transparent 60%) !important;
  pointer-events: none !important;
  z-index: -1 !important;
  filter: saturate(1.2);
}

/* STICKY-GLASS NAV (backdrop blur, semi-transparent paper, scroll
   shadow). outseta/openphone signature look. */
.tpl-clean-business .couture-nav-topbar,
.tpl-modern-saas .couture-nav-topbar,
.tpl-retail-flat .couture-nav-topbar,
.tpl-clean-business [class*="ai-nav-"],
.tpl-modern-saas [class*="ai-nav-"],
.tpl-retail-flat [class*="ai-nav-"] {
  background: color-mix(in oklab, var(--c-paper) 88%, transparent) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent) !important;
}

/* PRODUCT SCREENSHOT MOCKUP frame — wraps product images in a
   browser-chrome-style card so they look like REAL screenshots,
   not catalog cutouts. outseta/openphone use this constantly. */
.tpl-clean-business .couture-hero img:not(.brand-logo),
.tpl-modern-saas .couture-hero img:not(.brand-logo),
.tpl-clean-business [class*="ai-hero-"] img:not(.brand-logo),
.tpl-modern-saas [class*="ai-hero-"] img:not(.brand-logo) {
  border-radius: 16px !important;
  box-shadow:
    0 1px 0 0 rgba(255, 255, 255, 0.08) inset,
    0 0 0 1px color-mix(in oklab, var(--c-ink) 8%, transparent),
    0 24px 64px -12px color-mix(in oklab, var(--c-ink) 22%, transparent),
    0 12px 32px -8px color-mix(in oklab, var(--c-accent) 18%, transparent) !important;
  margin-top: 48px;
}

/* DRAMATIC stat scale-up (clamp 56px → 128px) */

/* V6.386 — outseta-tier badge variants. Multiple visual styles for
   "New" / "Limited" / "Bestseller" / "Sold out" badges. */
.badge--new,
.badge--limited,
.badge--bestseller,
.badge--soldout {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.2;
  white-space: nowrap;
}
.badge--new {
  background-image: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  color: var(--c-paper);
  box-shadow: 0 2px 8px -2px color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.badge--limited {
  background: var(--c-paper);
  color: var(--c-accent);
  border: 1px solid var(--c-accent);
}
.badge--bestseller {
  background: #FFB400;
  color: #2A1F00;
  box-shadow: 0 2px 8px -2px rgba(255, 180, 0, 0.4);
}
.badge--soldout {
  background: color-mix(in oklab, var(--c-ink) 12%, transparent);
  color: var(--c-ink-soft, var(--c-ink));
  text-decoration: line-through;
}

/* V6.386 — refined section divider (subtle horizontal rule with accent
   diamond at center). Used between major content blocks. */
.couture-divider {
  position: relative;
  text-align: center;
  margin-block: clamp(48px, 6vw, 80px);
  padding: 0;
  border: none;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 40%, transparent);
  max-width: 240px;
  margin-left: auto;
  margin-right: auto;
}
.couture-divider::after {
  content: '◆';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--c-paper);
  color: var(--c-accent);
  padding: 0 16px;
  font-size: 10px;
  opacity: 0.6;
}

/* V6.386 — refined typography hierarchy for clean families. Outseta uses
   tight refined scale: H1 144px / H2 72px / H3 32px / H4 22px / body 17px.
   Ensure h3/h4 in clean families read as designed sub-hierarchy not
   browser-default. */
.tpl-clean-business h3:not([style*="font-size"]),
.tpl-modern-saas h3:not([style*="font-size"]),
.tpl-retail-flat h3:not([style*="font-size"]) {
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 700;
  letter-spacing: -0.018em;
  line-height: 1.2;
}
.tpl-clean-business h4:not([style*="font-size"]),
.tpl-modern-saas h4:not([style*="font-size"]),
.tpl-retail-flat h4:not([style*="font-size"]) {
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.3;
}
.tpl-clean-business body,
.tpl-modern-saas body,
.tpl-retail-flat body {
  font-size: 17px !important;
  line-height: 1.6 !important;
}

/* V6.386 — outseta-tier "what you get" / value-prop band. 3-col with
   number + title + body. Used for accent strips between heavy sections. */
.couture-value-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(24px, 3vw, 48px);
  padding-block: clamp(56px, 7vw, 96px);
  max-width: 1240px;
  margin: 0 auto;
}
.couture-value-band .vb-item {
  position: relative;
  padding-left: 56px;
}
.couture-value-band .vb-item::before {
  content: counter(value-band);
  counter-increment: value-band;
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--c-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 10%, transparent);
  border-radius: 999px;
  padding: 8px 14px;
  line-height: 1;
}
.couture-value-band {
  counter-reset: value-band;
}
.couture-value-band .vb-item h3 {
  margin-bottom: 10px;
}
.couture-value-band .vb-item p {
  font-size: 15px;
  color: var(--c-ink-soft, var(--c-ink));
  line-height: 1.6;
}

/* V6.386 — outseta-tier scroll-progress indicator. Thin accent bar at
   top of viewport that fills as user scrolls. Adds polish + signals
   page length. CSS-only via scroll-driven animations (modern Chrome/Edge),
   gracefully degrades in older browsers. */
@supports (animation-timeline: scroll()) {
  body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: var(--c-accent);
    transform-origin: left;
    transform: scaleX(0);
    z-index: 9999;
    pointer-events: none;
    animation: _scroll-progress linear;
    animation-timeline: scroll(root);
  }
  @keyframes _scroll-progress {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
  }
}

/* V6.386 — refined link underline animation. Body links get a subtle
   bottom border that fades-in on hover. Outseta-tier link polish. */
.tpl-clean-business article p a:not(.cta):not(.cta-btn):not(.brand),
.tpl-modern-saas article p a:not(.cta):not(.cta-btn):not(.brand),
.tpl-retail-flat article p a:not(.cta):not(.cta-btn):not(.brand),
.tpl-clean-business .couture-section p a:not(.cta):not(.cta-btn),
.tpl-modern-saas .couture-section p a:not(.cta):not(.cta-btn),
.tpl-retail-flat .couture-section p a:not(.cta):not(.cta-btn) {
  color: var(--c-accent) !important;
  text-decoration: none !important;
  border-bottom: 1px solid color-mix(in oklab, var(--c-accent) 35%, transparent);
  transition: border-color .18s ease, color .18s ease;
}
.tpl-clean-business article p a:not(.cta):not(.cta-btn):not(.brand):hover,
.tpl-modern-saas article p a:not(.cta):not(.cta-btn):not(.brand):hover,
.tpl-retail-flat article p a:not(.cta):not(.cta-btn):not(.brand):hover,
.tpl-clean-business .couture-section p a:not(.cta):not(.cta-btn):hover,
.tpl-modern-saas .couture-section p a:not(.cta):not(.cta-btn):hover,
.tpl-retail-flat .couture-section p a:not(.cta):not(.cta-btn):hover {
  border-bottom-color: var(--c-accent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink)) !important;
}

/* V6.386 — universal accessibility focus polish (a11y + outseta-tier
   keyboard nav). Replaces browser-default thick blue ring with a
   refined accent-tinted glow that reads as designed. */
*:focus-visible {
  outline: 2px solid var(--c-accent) !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--c-accent) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent) !important;
}

/* V6.386 — global smooth scroll + scroll-padding for sticky nav.
   Anchor links scroll into view BELOW the sticky nav. */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* V6.386 — shop archive polish (outseta-tier). Generous breathing
   room, refined filter sidebar, cleaner result count. */
.tpl-clean-business .couture-shop-head,
.tpl-modern-saas .couture-shop-head,
.tpl-retail-flat .couture-shop-head {
  padding-block: clamp(48px, 6vw, 80px) !important;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin-bottom: clamp(32px, 4vw, 56px);
}
.tpl-clean-business .couture-shop-head h1,
.tpl-modern-saas .couture-shop-head h1,
.tpl-retail-flat .couture-shop-head h1 {
  font-size: clamp(40px, 6vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05;
  margin-bottom: 8px;
}
.tpl-clean-business .couture-shop-head .lede,
.tpl-modern-saas .couture-shop-head .lede,
.tpl-retail-flat .couture-shop-head .lede,
.tpl-clean-business .woocommerce-result-count,
.tpl-modern-saas .woocommerce-result-count,
.tpl-retail-flat .woocommerce-result-count {
  font-size: 16px !important;
  color: var(--c-ink-soft, var(--c-ink)) !important;
  font-family: var(--c-body) !important;
}

/* V6.386 — refined WC checkout polish (outseta-tier conversion). Big
   inputs, accent submit, sticky order summary. */
.tpl-clean-business .woocommerce-checkout input[type="text"],
.tpl-clean-business .woocommerce-checkout input[type="email"],
.tpl-clean-business .woocommerce-checkout input[type="tel"],
.tpl-clean-business .woocommerce-checkout input[type="password"],
.tpl-clean-business .woocommerce-checkout textarea,
.tpl-clean-business .woocommerce-checkout select,
.tpl-modern-saas .woocommerce-checkout input[type="text"],
.tpl-modern-saas .woocommerce-checkout input[type="email"],
.tpl-modern-saas .woocommerce-checkout input[type="tel"],
.tpl-modern-saas .woocommerce-checkout input[type="password"],
.tpl-modern-saas .woocommerce-checkout textarea,
.tpl-modern-saas .woocommerce-checkout select,
.tpl-retail-flat .woocommerce-checkout input[type="text"],
.tpl-retail-flat .woocommerce-checkout input[type="email"],
.tpl-retail-flat .woocommerce-checkout input[type="tel"],
.tpl-retail-flat .woocommerce-checkout input[type="password"],
.tpl-retail-flat .woocommerce-checkout textarea,
.tpl-retail-flat .woocommerce-checkout select {
  padding: 12px 14px !important;
  border-radius: 8px !important;
  border: 1px solid color-mix(in oklab, var(--c-line) 100%, transparent) !important;
  font-size: 15px !important;
  transition: border-color .15s, box-shadow .15s;
}
.tpl-clean-business .woocommerce-checkout input:focus,
.tpl-clean-business .woocommerce-checkout textarea:focus,
.tpl-clean-business .woocommerce-checkout select:focus,
.tpl-modern-saas .woocommerce-checkout input:focus,
.tpl-modern-saas .woocommerce-checkout textarea:focus,
.tpl-modern-saas .woocommerce-checkout select:focus,
.tpl-retail-flat .woocommerce-checkout input:focus,
.tpl-retail-flat .woocommerce-checkout textarea:focus,
.tpl-retail-flat .woocommerce-checkout select:focus {
  outline: none;
  border-color: var(--c-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 18%, transparent) !important;
}

/* V6.386 — Stripe-style cart-drawer chrome (when present). Frosted
   glass overlay + slide-in panel with shadow. */
.couture-cart-drawer {
  background: color-mix(in oklab, var(--c-paper) 96%, transparent) !important;
  backdrop-filter: blur(24px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.3) !important;
  box-shadow: -16px 0 64px -16px color-mix(in oklab, var(--c-ink) 22%, transparent) !important;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.386 — refined nav active-link state for clean families. When the
   user is on the page that the nav link points to, render with accent
   underline + bolder weight. Detected via aria-current="page" or class
   "current_page_item" (WP standard). */
.tpl-clean-business [class*="ai-nav-"] a[aria-current="page"],
.tpl-modern-saas [class*="ai-nav-"] a[aria-current="page"],
.tpl-retail-flat [class*="ai-nav-"] a[aria-current="page"],
.tpl-clean-business .couture-nav-topbar a[aria-current="page"],
.tpl-modern-saas .couture-nav-topbar a[aria-current="page"],
.tpl-retail-flat .couture-nav-topbar a[aria-current="page"],
.tpl-clean-business .couture-nav-topbar .current-menu-item a,
.tpl-modern-saas .couture-nav-topbar .current-menu-item a,
.tpl-retail-flat .couture-nav-topbar .current-menu-item a,
.tpl-clean-business .couture-nav-topbar .current_page_item a,
.tpl-modern-saas .couture-nav-topbar .current_page_item a,
.tpl-retail-flat .couture-nav-topbar .current_page_item a {
  color: var(--c-accent) !important;
  font-weight: 600 !important;
  position: relative;
}
.tpl-clean-business [class*="ai-nav-"] a[aria-current="page"]::after,
.tpl-modern-saas [class*="ai-nav-"] a[aria-current="page"]::after,
.tpl-retail-flat [class*="ai-nav-"] a[aria-current="page"]::after,
.tpl-clean-business .couture-nav-topbar a[aria-current="page"]::after,
.tpl-modern-saas .couture-nav-topbar a[aria-current="page"]::after,
.tpl-retail-flat .couture-nav-topbar a[aria-current="page"]::after,
.tpl-clean-business .couture-nav-topbar .current-menu-item a::after,
.tpl-modern-saas .couture-nav-topbar .current-menu-item a::after,
.tpl-retail-flat .couture-nav-topbar .current-menu-item a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 14px;
  right: 14px;
  height: 2px;
  background: var(--c-accent);
  border-radius: 2px;
}

/* V6.386 — journal/blog post layout polish (outseta-tier reading
   experience). Generous prose width, refined typography hierarchy,
   pull-quote accent. */
.tpl-clean-business .couture-page--journal article.jt-card,
.tpl-modern-saas .couture-page--journal article.jt-card,
.tpl-retail-flat .couture-page--journal article.jt-card,
.tpl-clean-business [class*="ai-jt-"] article.jt-card,
.tpl-modern-saas [class*="ai-jt-"] article.jt-card,
.tpl-retail-flat [class*="ai-jt-"] article.jt-card {
  border-radius: 16px !important;
  padding: clamp(24px, 2.4vw, 32px) !important;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: transform .25s ease, box-shadow .25s ease;
}
.tpl-clean-business .couture-page--journal article.jt-card:hover,
.tpl-modern-saas .couture-page--journal article.jt-card:hover,
.tpl-retail-flat .couture-page--journal article.jt-card:hover,
.tpl-clean-business [class*="ai-jt-"] article.jt-card:hover,
.tpl-modern-saas [class*="ai-jt-"] article.jt-card:hover,
.tpl-retail-flat [class*="ai-jt-"] article.jt-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 48px -16px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.tpl-clean-business [class*="ai-jt-"] article.jt-card h3,
.tpl-modern-saas [class*="ai-jt-"] article.jt-card h3,
.tpl-retail-flat [class*="ai-jt-"] article.jt-card h3 {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.012em !important;
  margin-bottom: 10px;
}
.tpl-clean-business [class*="ai-jt-"] article.jt-card time,
.tpl-modern-saas [class*="ai-jt-"] article.jt-card time,
.tpl-retail-flat [class*="ai-jt-"] article.jt-card time {
  font-family: var(--c-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--c-ink-soft, var(--c-ink)) !important;
  opacity: 0.65;
  display: block;
  margin-top: 12px;
}

/* V6.386 — about-page premium polish for clean families. Outseta-tier
   about pages have: 2-col layout (60/40 text/image), generous prose
   width, accent pull-quote, founder block with photo. */
.tpl-clean-business .couture-page--about,
.tpl-modern-saas .couture-page--about,
.tpl-retail-flat .couture-page--about {
  padding-block: clamp(72px, 9vw, 128px) !important;
}
.tpl-clean-business .couture-page--about .couture-story,
.tpl-modern-saas .couture-page--about .couture-story,
.tpl-retail-flat .couture-page--about .couture-story {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
  max-width: 1240px;
  margin: 0 auto;
}
@media (max-width: 800px) {
  .tpl-clean-business .couture-page--about .couture-story,
  .tpl-modern-saas .couture-page--about .couture-story,
  .tpl-retail-flat .couture-page--about .couture-story {
    grid-template-columns: 1fr;
  }
}
.tpl-clean-business .couture-page--about .couture-story p,
.tpl-modern-saas .couture-page--about .couture-story p,
.tpl-retail-flat .couture-page--about .couture-story p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: var(--c-ink-soft, var(--c-ink)) !important;
  margin-bottom: 20px;
}

/* V6.386 — PDP layout refinement (outseta-tier shop). 2-col with
   STICKY product meta on right (price/CTA stays in view as user
   scrolls product description). */
.tpl-clean-business .couture-product-lede--v2,
.tpl-modern-saas .couture-product-lede--v2,
.tpl-retail-flat .couture-product-lede--v2 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
  gap: clamp(40px, 4vw, 64px) !important;
  align-items: start !important;
  max-width: 1280px;
  margin: 0 auto;
  padding-block: clamp(48px, 6vw, 80px);
}
.tpl-clean-business .couture-product-lede--v2 .pr-meta,
.tpl-modern-saas .couture-product-lede--v2 .pr-meta,
.tpl-retail-flat .couture-product-lede--v2 .pr-meta {
  position: sticky;
  top: 96px;
  align-self: start;
}
.tpl-clean-business .couture-product-lede--v2 .pr-meta h1,
.tpl-modern-saas .couture-product-lede--v2 .pr-meta h1,
.tpl-retail-flat .couture-product-lede--v2 .pr-meta h1 {
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  margin-bottom: 12px;
}
.tpl-clean-business .couture-product-lede--v2 .pr-trust li,
.tpl-modern-saas .couture-product-lede--v2 .pr-trust li,
.tpl-retail-flat .couture-product-lede--v2 .pr-trust li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--c-ink-soft, var(--c-ink));
  padding: 8px 0;
}
.tpl-clean-business .couture-product-lede--v2 .pr-trust li::before,
.tpl-modern-saas .couture-product-lede--v2 .pr-trust li::before,
.tpl-retail-flat .couture-product-lede--v2 .pr-trust li::before {
  content: '✓';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 15%, transparent);
  color: var(--c-accent);
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

/* V6.386 — contact form polish (outseta-tier). Larger input fields,
   focus ring with accent color, refined submit button. */
.tpl-clean-business .couture-contact-form input,
.tpl-clean-business .couture-contact-form textarea,
.tpl-modern-saas .couture-contact-form input,
.tpl-modern-saas .couture-contact-form textarea,
.tpl-retail-flat .couture-contact-form input,
.tpl-retail-flat .couture-contact-form textarea {
  padding: 14px 16px !important;
  border-radius: 10px !important;
  border: 1px solid color-mix(in oklab, var(--c-line) 100%, transparent) !important;
  background: var(--c-paper) !important;
  font-size: 15px !important;
  font-family: var(--c-body);
  transition: border-color .15s, box-shadow .15s;
  width: 100%;
  box-sizing: border-box;
}
.tpl-clean-business .couture-contact-form input:focus,
.tpl-clean-business .couture-contact-form textarea:focus,
.tpl-modern-saas .couture-contact-form input:focus,
.tpl-modern-saas .couture-contact-form textarea:focus,
.tpl-retail-flat .couture-contact-form input:focus,
.tpl-retail-flat .couture-contact-form textarea:focus {
  outline: none;
  border-color: var(--c-accent) !important;
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}

/* V6.385 — outseta-tier eyebrow pill on hero. Smaller accent label
   above billboard h1 — establishes context before the big statement. */
.tpl-clean-business .couture-hero .eyebrow,
.tpl-modern-saas .couture-hero .eyebrow,
.tpl-retail-flat .couture-hero .eyebrow,
.tpl-clean-business [class*="ai-hero-"] .eyebrow,
.tpl-modern-saas [class*="ai-hero-"] .eyebrow,
.tpl-retail-flat [class*="ai-hero-"] .eyebrow {
  display: inline-block !important;
  padding: 6px 14px !important;
  background-image: linear-gradient(color-mix(in oklab, var(--c-accent) 12%, transparent), color-mix(in oklab, var(--c-accent) 6%, transparent)) !important;
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  color: var(--c-accent) !important;
  border-radius: 999px !important;
  font-family: var(--c-mono) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 24px !important;
  line-height: 1 !important;
}

/* V6.385 — refined product card eyebrow + price arrangement (outseta-
   tier shop list polish). Small mono uppercase eyebrow above title,
   tabular-nums price right-aligned under title, generous padding. */
.tpl-clean-business [class*="ai-pcard-"] > article .eyebrow,
.tpl-clean-business .couture-shelf-card .shelf-eyebrow,
.tpl-modern-saas [class*="ai-pcard-"] > article .eyebrow,
.tpl-modern-saas .couture-shelf-card .shelf-eyebrow,
.tpl-retail-flat [class*="ai-pcard-"] > article .eyebrow,
.tpl-retail-flat .couture-shelf-card .shelf-eyebrow {
  font-family: var(--c-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-ink-soft, var(--c-ink));
  opacity: 0.7;
  margin-bottom: 6px;
}
.tpl-clean-business [class*="ai-pcard-"] > article > a > h2,
.tpl-clean-business [class*="ai-pcard-"] > article > a > h3,
.tpl-modern-saas [class*="ai-pcard-"] > article > a > h2,
.tpl-modern-saas [class*="ai-pcard-"] > article > a > h3,
.tpl-retail-flat [class*="ai-pcard-"] > article > a > h2,
.tpl-retail-flat [class*="ai-pcard-"] > article > a > h3 {
  font-family: var(--c-display) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  color: var(--c-ink) !important;
  margin: 14px 16px 4px !important;
}
.tpl-clean-business [class*="ai-pcard-"] > article .price,
.tpl-modern-saas [class*="ai-pcard-"] > article .price,
.tpl-retail-flat [class*="ai-pcard-"] > article .price {
  margin: 0 16px 16px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  color: var(--c-ink) !important;
}

/* V6.385 — quote mark polish for testimonial cards. Big elegant ❝ before
   quote — outseta/openphone signature. */
.couture-testimonial-cards .tc-quote::before,
.couture-mini-testimonial .mt-quote::before,
[class*="ai-pq-"] blockquote::before,
.couture-pullquote blockquote::before {
  content: '\201C';
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 64px;
  line-height: 0.5;
  color: var(--c-accent);
  margin-bottom: 14px;
  opacity: 0.6;
  font-weight: 700;
}

/* V6.385 — 5-star rating component (outseta/openphone testimonial bar).
   Renders as gold stars before the quote. Use class `tc-rating` with
   data-rating="5" or 4-5 stars in pseudo. */
.tc-rating {
  display: inline-flex;
  gap: 2px;
  margin-bottom: 12px;
  font-size: 16px;
  color: #FFB400;
  letter-spacing: 1px;
  line-height: 1;
}
.tc-rating::before {
  content: '★ ★ ★ ★ ★';
  letter-spacing: 2px;
}

/* V6.385 — scroll fade-up sequence for grid items. When parent gets
   .in (V6.370 IntersectionObserver), children fade-up in sequence
   with delay-of-index pattern. */
@keyframes _fade-up-grid {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.couture-reveal.in > * {
  animation: _fade-up-grid .55s cubic-bezier(.2, .8, .2, 1) both;
}
.couture-reveal.in > *:nth-child(1) { animation-delay: 0ms; }
.couture-reveal.in > *:nth-child(2) { animation-delay: 60ms; }
.couture-reveal.in > *:nth-child(3) { animation-delay: 120ms; }
.couture-reveal.in > *:nth-child(4) { animation-delay: 180ms; }
.couture-reveal.in > *:nth-child(5) { animation-delay: 240ms; }
.couture-reveal.in > *:nth-child(6) { animation-delay: 300ms; }
.couture-reveal.in > *:nth-child(n+7) { animation-delay: 360ms; }
@media (prefers-reduced-motion: reduce) {
  .couture-reveal.in > * { animation: none !important; }
}

/* V6.385 — refined footer signature for clean families. Replace the
   thin "© Brand · all rights reserved" with a proper signature block
   that reads like outseta footer: brand mark + tagline + 3-col link
   groups + bottom row with copyright/socials. */
.tpl-clean-business .couture-footer,
.tpl-modern-saas .couture-footer,
.tpl-retail-flat .couture-footer {
  background: linear-gradient(180deg, var(--c-paper) 0%, color-mix(in oklab, var(--c-paper) 92%, var(--c-ink)) 100%) !important;
  padding-block: clamp(64px, 8vw, 112px) !important;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.tpl-clean-business .couture-footer h4,
.tpl-modern-saas .couture-footer h4,
.tpl-retail-flat .couture-footer h4 {
  font-family: var(--c-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--c-ink-soft, var(--c-ink)) !important;
  margin-bottom: 18px !important;
}
.tpl-clean-business .couture-footer a:not(.brand):not(.brand-logo),
.tpl-modern-saas .couture-footer a:not(.brand):not(.brand-logo),
.tpl-retail-flat .couture-footer a:not(.brand):not(.brand-logo) {
  color: var(--c-ink-soft, var(--c-ink)) !important;
  text-decoration: none !important;
  transition: color .15s;
  font-size: 14px;
  line-height: 2;
}
.tpl-clean-business .couture-footer a:not(.brand):not(.brand-logo):hover,
.tpl-modern-saas .couture-footer a:not(.brand):not(.brand-logo):hover,
.tpl-retail-flat .couture-footer a:not(.brand):not(.brand-logo):hover {
  color: var(--c-accent) !important;
}

/* V6.385 — refined nav polish (outseta-tier). Sticky scroll-shadow,
   active-link underline, hover lift on nav links. */
.tpl-clean-business [class*="ai-nav-"] a:not(.cta):not(.brand):not(.brand-logo),
.tpl-modern-saas [class*="ai-nav-"] a:not(.cta):not(.brand):not(.brand-logo),
.tpl-retail-flat [class*="ai-nav-"] a:not(.cta):not(.brand):not(.brand-logo),
.tpl-clean-business .couture-nav-topbar a:not(.brand):not(.brand-logo):not(.cta),
.tpl-modern-saas .couture-nav-topbar a:not(.brand):not(.brand-logo):not(.cta),
.tpl-retail-flat .couture-nav-topbar a:not(.brand):not(.brand-logo):not(.cta) {
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 8px 14px !important;
  border-radius: 8px;
  position: relative;
  transition: color .2s, background .2s;
}
.tpl-clean-business [class*="ai-nav-"] a:not(.cta):not(.brand):not(.brand-logo):hover,
.tpl-modern-saas [class*="ai-nav-"] a:not(.cta):not(.brand):not(.brand-logo):hover,
.tpl-retail-flat [class*="ai-nav-"] a:not(.cta):not(.brand):not(.brand-logo):hover,
.tpl-clean-business .couture-nav-topbar a:not(.brand):not(.brand-logo):not(.cta):hover,
.tpl-modern-saas .couture-nav-topbar a:not(.brand):not(.brand-logo):not(.cta):hover,
.tpl-retail-flat .couture-nav-topbar a:not(.brand):not(.brand-logo):not(.cta):hover {
  background: color-mix(in oklab, var(--c-ink) 5%, transparent) !important;
  color: var(--c-ink) !important;
}

/* V6.385 — alternating section bg gradient tints for clean families.
   Replaces the V6.370 simple even-row paper-2 tint with sophisticated
   diagonal subtle gradients. Reads as composed layout, not flat blob. */
.tpl-clean-business section[class*="ai-section-"]:nth-of-type(even),
.tpl-modern-saas section[class*="ai-section-"]:nth-of-type(even),
.tpl-retail-flat section[class*="ai-section-"]:nth-of-type(even) {
  background-image: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%,
    var(--c-paper) 100%
  ) !important;
}
.tpl-clean-business section[class*="ai-jt-"]:nth-of-type(even),
.tpl-modern-saas section[class*="ai-jt-"]:nth-of-type(even),
.tpl-retail-flat section[class*="ai-jt-"]:nth-of-type(even) {
  background-image: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-accent)) 0%,
    var(--c-paper) 100%
  ) !important;
}

/* V6.385 — outseta-tier logo cloud styling. When social_proof_logos
   section renders, force consistent monochrome treatment + subtle hover
   lift. Logos read as a real brand strip not "trusted by..." badge. */
.tpl-clean-business .couture-logo-cloud .logo-item,
.tpl-modern-saas .couture-logo-cloud .logo-item,
.tpl-retail-flat .couture-logo-cloud .logo-item,
.tpl-clean-business .social-proof-logos .sp-item,
.tpl-modern-saas .social-proof-logos .sp-item,
.tpl-retail-flat .social-proof-logos .sp-item,
.tpl-clean-business .couture-press-logos .pl-item,
.tpl-modern-saas .couture-press-logos .pl-item,
.tpl-retail-flat .couture-press-logos .pl-item {
  filter: grayscale(1) opacity(0.55);
  transition: filter .2s ease, transform .2s ease;
}
.tpl-clean-business .couture-logo-cloud .logo-item:hover,
.tpl-modern-saas .couture-logo-cloud .logo-item:hover,
.tpl-retail-flat .couture-logo-cloud .logo-item:hover,
.tpl-clean-business .social-proof-logos .sp-item:hover,
.tpl-modern-saas .social-proof-logos .sp-item:hover,
.tpl-retail-flat .social-proof-logos .sp-item:hover {
  filter: grayscale(0) opacity(1);
  transform: translateY(-2px);
}

/* V6.385 — outseta/openphone-tier secondary CTA (ghost/outline with
   subtle hover). Pair with primary CTA for hero CTA-row. */
.tpl-clean-business .couture-hero a.cta--secondary,
.tpl-clean-business .couture-hero button.cta--secondary,
.tpl-clean-business .couture-hero a.cta-btn--ghost,
.tpl-modern-saas .couture-hero a.cta--secondary,
.tpl-modern-saas .couture-hero button.cta--secondary,
.tpl-modern-saas .couture-hero a.cta-btn--ghost,
.tpl-retail-flat .couture-hero a.cta--secondary,
.tpl-retail-flat .couture-hero button.cta--secondary,
.tpl-retail-flat .couture-hero a.cta-btn--ghost {
  background: transparent !important;
  color: var(--c-ink) !important;
  border: 1px solid color-mix(in oklab, var(--c-ink) 18%, transparent) !important;
  box-shadow: none !important;
  padding: 14px 28px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  margin-left: 12px;
  transition: border-color .2s, background .2s;
}
.tpl-clean-business .couture-hero a.cta--secondary:hover,
.tpl-modern-saas .couture-hero a.cta--secondary:hover,
.tpl-retail-flat .couture-hero a.cta--secondary:hover {
  border-color: var(--c-ink) !important;
  background: color-mix(in oklab, var(--c-ink) 4%, transparent) !important;
}

/* V6.385 — premium pricing card polish (outseta/openphone tier).
   Accented "Most popular" card has gradient bg + scale 1.04. Other
   cards use refined card chrome from V6.385 #2. */
.tpl-clean-business .couture-pc .pc-card,
.tpl-modern-saas .couture-pc .pc-card,
.tpl-retail-flat .couture-pc .pc-card {
  padding: clamp(28px, 3vw, 40px) !important;
  border-radius: 18px !important;
}
.tpl-clean-business .couture-pc .pc-card--featured,
.tpl-modern-saas .couture-pc .pc-card--featured,
.tpl-retail-flat .couture-pc .pc-card--featured {
  transform: scale(1.04);
  background: linear-gradient(180deg, color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)), var(--c-paper)) !important;
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent) !important;
  box-shadow:
    0 1px 0 0 color-mix(in oklab, var(--c-accent) 10%, transparent),
    0 24px 48px -16px color-mix(in oklab, var(--c-accent) 30%, transparent),
    0 12px 24px -8px color-mix(in oklab, var(--c-ink) 12%, transparent) !important;
  position: relative;
}
.tpl-clean-business .couture-pc .pc-card--featured::before,
.tpl-modern-saas .couture-pc .pc-card--featured::before,
.tpl-retail-flat .couture-pc .pc-card--featured::before {
  content: 'Most Popular';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 6px 14px;
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* V6.385 — testimonial card with avatar circle (outseta/openphone style).
   Ratings star row + photo placeholder + quote + attribution. */
.tpl-clean-business .couture-testimonial-cards .tc-card,
.tpl-modern-saas .couture-testimonial-cards .tc-card,
.tpl-retail-flat .couture-testimonial-cards .tc-card,
.tpl-clean-business .couture-mini-testimonial .mt-item,
.tpl-modern-saas .couture-mini-testimonial .mt-item,
.tpl-retail-flat .couture-mini-testimonial .mt-item {
  padding: clamp(24px, 2.4vw, 32px) !important;
  border-radius: 16px !important;
  background: var(--c-paper) !important;
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent) !important;
  box-shadow: 0 4px 16px -8px color-mix(in oklab, var(--c-ink) 10%, transparent) !important;
}
.tpl-clean-business .couture-testimonial-cards .tc-quote,
.tpl-modern-saas .couture-testimonial-cards .tc-quote,
.tpl-retail-flat .couture-testimonial-cards .tc-quote {
  font-family: var(--c-display) !important;
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.55;
  color: var(--c-ink);
  font-weight: 500;
  font-style: normal;
  margin-bottom: 20px;
}
.tpl-clean-business .couture-testimonial-cards .tc-author,
.tpl-modern-saas .couture-testimonial-cards .tc-author,
.tpl-retail-flat .couture-testimonial-cards .tc-author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tpl-clean-business .couture-testimonial-cards .tc-author::before,
.tpl-modern-saas .couture-testimonial-cards .tc-author::before,
.tpl-retail-flat .couture-testimonial-cards .tc-author::before {
  content: '';
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 50%, var(--c-ink)));
  flex-shrink: 0;
  position: relative;
}

/* V6.385 — sophisticated stat reveal polish. Outseta/openphone-tier
   sites have BIG stat numbers with subtle entrance animation +
   gradient color accent. Counter rolls in via opacity + slight scale. */
@keyframes _stat-reveal {
  from { opacity: 0; transform: translateY(20px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.couture-stats .stat,
.couture-stat-wall .sw-item,
.couture-metric-strip .ms-num,
[class*="ai-section-"] .stat-num,
[class*="ai-section-"] .metric,
[class*="ai-tg-"] .stat {
  font-family: var(--c-display) !important;
  font-size: clamp(56px, 8vw, 128px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  background-image: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.couture-reveal.in .couture-stats .stat,
.couture-reveal.in .couture-stat-wall .sw-item,
.in .couture-metric-strip .ms-num,
.in [class*="ai-section-"] .stat-num,
.in [class*="ai-tg-"] .stat {
  animation: _stat-reveal .8s cubic-bezier(.2, .8, .2, 1) both;
}

/* V6.385 — feature grid icon polish for clean families. Outseta/openphone
   icon callouts use ROUNDED-SQUARE icon containers with gradient
   background + accent-tinted icon glyph. Replaces flat emoji-style icons. */
.tpl-clean-business .ts-icon,
.tpl-modern-saas .ts-icon,
.tpl-retail-flat .ts-icon,
.tpl-clean-business .ic-glyph,
.tpl-modern-saas .ic-glyph,
.tpl-retail-flat .ic-glyph,
.tpl-clean-business .feature-icon,
.tpl-modern-saas .feature-icon,
.tpl-retail-flat .feature-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, transparent), color-mix(in oklab, var(--c-accent) 8%, transparent));
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  font-size: 24px !important;
  color: var(--c-accent) !important;
  margin-bottom: 16px;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-accent) 30%, transparent);
}

/* V6.385 — premium card polish for clean families. Outseta/openphone/
   framer cards have: refined 16-20px radii, layered shadows (1px crisp
   border line + softer 24-40px ambient shadow), subtle hover-lift with
   shadow intensification. */
.tpl-clean-business [class*="ai-pcard-"] > article,
.tpl-clean-business [class*="ai-pcard-"] > div,
.tpl-clean-business .products li.product,
.tpl-clean-business .couture-shelf-card,
.tpl-clean-business .couture-related .rel-card,
.tpl-clean-business .pc-card,
.tpl-clean-business .cs-card,
.tpl-modern-saas [class*="ai-pcard-"] > article,
.tpl-modern-saas [class*="ai-pcard-"] > div,
.tpl-modern-saas .products li.product,
.tpl-modern-saas .couture-shelf-card,
.tpl-modern-saas .couture-related .rel-card,
.tpl-modern-saas .pc-card,
.tpl-modern-saas .cs-card,
.tpl-retail-flat [class*="ai-pcard-"] > article,
.tpl-retail-flat [class*="ai-pcard-"] > div,
.tpl-retail-flat .products li.product,
.tpl-retail-flat .couture-shelf-card,
.tpl-retail-flat .couture-related .rel-card,
.tpl-retail-flat .pc-card,
.tpl-retail-flat .cs-card {
  border-radius: 16px !important;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent) !important;
  box-shadow:
    0 1px 0 0 color-mix(in oklab, var(--c-ink) 4%, transparent),
    0 4px 16px -8px color-mix(in oklab, var(--c-ink) 10%, transparent) !important;
  overflow: hidden;
}
.tpl-clean-business [class*="ai-pcard-"] > article:hover,
.tpl-clean-business .products li.product:hover,
.tpl-clean-business .couture-shelf-card:hover,
.tpl-modern-saas [class*="ai-pcard-"] > article:hover,
.tpl-modern-saas .products li.product:hover,
.tpl-modern-saas .couture-shelf-card:hover,
.tpl-retail-flat [class*="ai-pcard-"] > article:hover,
.tpl-retail-flat .products li.product:hover,
.tpl-retail-flat .couture-shelf-card:hover {
  border-color: color-mix(in oklab, var(--c-line) 100%, transparent) !important;
  box-shadow:
    0 1px 0 0 color-mix(in oklab, var(--c-ink) 6%, transparent),
    0 16px 48px -16px color-mix(in oklab, var(--c-accent) 22%, transparent),
    0 8px 24px -12px color-mix(in oklab, var(--c-ink) 14%, transparent) !important;
}

/* V6.385 — sophisticated section header polish for clean families.
   Outseta/framer use TIGHT eyebrow above LARGE h2 with letter-spacing.
   Eyebrow becomes a pill-style accent label. */
.tpl-clean-business .num--accent-pill,
.tpl-modern-saas .num--accent-pill,
.tpl-retail-flat .num--accent-pill,
.tpl-clean-business [class*="ai-section-"] > .eyebrow,
.tpl-modern-saas [class*="ai-section-"] > .eyebrow,
.tpl-retail-flat [class*="ai-section-"] > .eyebrow,
.tpl-clean-business [class*="ai-jt-"] > .eyebrow,
.tpl-modern-saas [class*="ai-jt-"] > .eyebrow,
.tpl-retail-flat [class*="ai-jt-"] > .eyebrow {
  display: inline-block;
  padding: 6px 14px;
  background-image: linear-gradient(color-mix(in oklab, var(--c-accent) 10%, transparent), color-mix(in oklab, var(--c-accent) 10%, transparent));
  color: var(--c-accent) !important;
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
  border: none;
  padding-top: 6px;
  border-top: none;
}
.tpl-clean-business .num--accent-pill,
.tpl-modern-saas .num--accent-pill,
.tpl-retail-flat .num--accent-pill { padding-top: 6px; }
.tpl-clean-business h2.section-title-clean,
.tpl-modern-saas h2.section-title-clean,
.tpl-retail-flat h2.section-title-clean,
.tpl-clean-business [class*="ai-section-"] > h2:first-of-type,
.tpl-modern-saas [class*="ai-section-"] > h2:first-of-type,
.tpl-retail-flat [class*="ai-section-"] > h2:first-of-type,
.tpl-clean-business [class*="ai-jt-"] > h2:first-of-type,
.tpl-modern-saas [class*="ai-jt-"] > h2:first-of-type,
.tpl-retail-flat [class*="ai-jt-"] > h2:first-of-type,
.tpl-clean-business [class*="ai-fb-"] h1:first-of-type,
.tpl-modern-saas [class*="ai-fb-"] h1:first-of-type,
.tpl-retail-flat [class*="ai-fb-"] h1:first-of-type {
  font-size: clamp(40px, 5.5vw, 72px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  font-weight: 700 !important;
  max-width: 22ch;
  margin-bottom: 24px;
}

/* V6.385 — operator iter 36 quality upgrade: outseta/framer/openphone/burb
   tier hero polish for clean families. Modern SaaS landing pages have:
   (a) sophisticated gradient backgrounds (not flat paper),
   (b) huge billboard typography (already in V6.370),
   (c) refined CTAs with depth + hover lift,
   (d) ambient gradient mesh / radial light overlays.
   Apply to clean-business + modern-saas + retail-flat home heroes. */
.tpl-clean-business .couture-hero,
.tpl-modern-saas .couture-hero,
.tpl-retail-flat .couture-hero,
.tpl-clean-business [class*="ai-hero-"],
.tpl-modern-saas [class*="ai-hero-"],
.tpl-retail-flat [class*="ai-hero-"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.tpl-clean-business .couture-hero::before,
.tpl-modern-saas .couture-hero::before,
.tpl-retail-flat .couture-hero::before,
.tpl-clean-business [class*="ai-hero-"]::before,
.tpl-modern-saas [class*="ai-hero-"]::before,
.tpl-retail-flat [class*="ai-hero-"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 80% 60% at 20% 0%, color-mix(in oklab, var(--c-accent) 14%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 100%, color-mix(in oklab, var(--c-accent-2, var(--c-accent)) 10%, transparent) 0%, transparent 60%);
  pointer-events: none;
  z-index: -1;
}
/* Subtle grid backdrop on modern-saas heroes (Vercel/Linear feel) */
.tpl-modern-saas .couture-hero::after,
.tpl-modern-saas [class*="ai-hero-"]::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, color-mix(in oklab, var(--c-line) 30%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in oklab, var(--c-line) 30%, transparent) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 50% at center, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 50% at center, black 30%, transparent 80%);
  pointer-events: none;
  z-index: -1;
  opacity: 0.5;
}

/* V6.385 — premium CTA polish for clean families. Outseta/Framer-tier
   buttons: depth via subtle shadow, hover lift, refined radii. */
.tpl-clean-business .couture-hero .cta,
.tpl-clean-business .couture-hero .cta-btn,
.tpl-clean-business [class*="ai-hero-"] a.cta,
.tpl-clean-business [class*="ai-hero-"] a.cta-btn,
.tpl-clean-business [class*="ai-hero-"] button.cta-button,
.tpl-modern-saas .couture-hero .cta,
.tpl-modern-saas .couture-hero .cta-btn,
.tpl-modern-saas [class*="ai-hero-"] a.cta,
.tpl-modern-saas [class*="ai-hero-"] a.cta-btn,
.tpl-modern-saas [class*="ai-hero-"] button.cta-button,
.tpl-retail-flat .couture-hero .cta,
.tpl-retail-flat .couture-hero .cta-btn,
.tpl-retail-flat [class*="ai-hero-"] a.cta,
.tpl-retail-flat [class*="ai-hero-"] a.cta-btn,
.tpl-retail-flat [class*="ai-hero-"] button.cta-button {
  padding: 14px 28px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: -0.005em !important;
  box-shadow:
    0 1px 0 0 color-mix(in oklab, var(--c-ink) 12%, transparent),
    0 4px 16px -6px color-mix(in oklab, var(--c-accent) 40%, transparent) !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  display: inline-block;
  text-decoration: none !important;
}
.tpl-clean-business .couture-hero .cta:hover,
.tpl-modern-saas .couture-hero .cta:hover,
.tpl-retail-flat .couture-hero .cta:hover,
.tpl-clean-business [class*="ai-hero-"] a.cta:hover,
.tpl-clean-business [class*="ai-hero-"] button.cta-button:hover,
.tpl-modern-saas [class*="ai-hero-"] a.cta:hover,
.tpl-modern-saas [class*="ai-hero-"] button.cta-button:hover,
.tpl-retail-flat [class*="ai-hero-"] a.cta:hover,
.tpl-retail-flat [class*="ai-hero-"] button.cta-button:hover {
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 0 color-mix(in oklab, var(--c-ink) 12%, transparent),
    0 12px 32px -8px color-mix(in oklab, var(--c-accent) 60%, transparent) !important;
}

/* V6.380 — section vertical rhythm tightening. Operator iter 27 audit
   noted "section spacing too tight or too sparse" across sites. Apply a
   consistent vertical rhythm to ALL top-level AI sections + couture
   sections so the page reads as composed sequence. clamp() ensures
   responsive breathing room: tighter on mobile, generous on desktop. */
section[class*="ai-hero-"],
section[class*="ai-fb-"],
section[class*="ai-section-"],
section[class*="ai-press-"],
section[class*="ai-pdp-"],
section[class*="ai-tg-"],
section[class*="ai-jt-"],
section[class*="ai-pq-"],
section[class*="ai-news-"],
section[class*="ai-st-"],
section[class*="ai-search-"],
section[class*="ai-404-"],
.couture-section {
  padding-top: clamp(56px, 8vw, 112px);
  padding-bottom: clamp(56px, 8vw, 112px);
}
/* Hero often wants a touch more padding for breathing room above logo */
section[class*="ai-hero-"] {
  padding-top: clamp(72px, 10vw, 144px);
  padding-bottom: clamp(72px, 10vw, 144px);
}
/* When section has no background tint (default paper), tighten the
   bottom padding to avoid double-spacing with next section's top
   padding. Use :has() where supported, fallback handled by browsers. */
@supports selector(:has(*)) {
  section[class*="ai-section-"]:not([style*="background"]) + section[class*="ai-section-"]:not([style*="background"]) {
    padding-top: clamp(40px, 5vw, 80px);
  }
}

/* V6.380 — first/last section padding adjustment: home-page first
   section after nav doesn't need extra top padding (nav already has
   margin); last section before footer needs slightly more bottom. */
.couture-page > section:first-of-type[class*="ai-"],
[class*="couture-page-"] > section:first-of-type[class*="ai-"] {
  padding-top: clamp(40px, 5vw, 64px);
}

/* V6.370 — premium product card hover polish. Operator iter 27 audit:
   "Product card hover states absent on all 5 sites" — cards felt flat,
   no scale lift, no image zoom, no shadow elevation. Apple/Aesop/Stripe
   all use a subtle hover-lift on product tiles. Add a global polish
   layer for all product card surfaces.

   Selectors: WC product list items, AI-generated product cards
   (ai-pcard-* scope), shelf cards, related lists. Excludes elements
   with .couture-no-hover opt-out. */
[class*="ai-pcard-"] > article,
[class*="ai-pcard-"] > div,
.products li.product,
.wp-block-woocommerce-product-template li,
.related li.product,
.couture-shelf-card,
.couture-related .rel-card,
.couture-cs .cs-card,
.couture-pc .pc-card {
  transition: transform .35s cubic-bezier(.2, .8, .2, 1),
              box-shadow .35s cubic-bezier(.2, .8, .2, 1);
  will-change: transform;
}
[class*="ai-pcard-"] > article img,
[class*="ai-pcard-"] > div img,
.products li.product img,
.related li.product img,
.couture-shelf-card img,
.couture-related .rel-card img {
  transition: transform .55s cubic-bezier(.2, .8, .2, 1);
  will-change: transform;
}
[class*="ai-pcard-"] > article:hover,
[class*="ai-pcard-"] > div:hover,
.products li.product:hover,
.wp-block-woocommerce-product-template li:hover,
.related li.product:hover,
.couture-shelf-card:hover,
.couture-related .rel-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px -16px rgba(0, 0, 0, 0.18);
}
[class*="ai-pcard-"] > article:hover img,
[class*="ai-pcard-"] > div:hover img,
.products li.product:hover img,
.related li.product:hover img,
.couture-shelf-card:hover img,
.couture-related .rel-card:hover img {
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  [class*="ai-pcard-"] > article,
  [class*="ai-pcard-"] > div,
  .products li.product,
  .related li.product,
  .couture-shelf-card,
  .couture-related .rel-card { transition: none !important; }
  [class*="ai-pcard-"] > article:hover,
  [class*="ai-pcard-"] > div:hover,
  .products li.product:hover,
  .related li.product:hover,
  .couture-shelf-card:hover,
  .couture-related .rel-card:hover { transform: none !important; }
}

/* V6.370 — alternating section bg tint between AI sections. Operator iter
   27 audit: "Section transitions are hard cuts on all 5 sites" — every
   section was the same bg, sections blurred into each other. Apply a
   subtle paper-2 tint to every other AI section so the page reads as a
   composed sequence of distinct moments, not one long scroll-blob. */
section[class*="ai-section-"]:nth-of-type(even),
section[class*="ai-fb-"]:nth-of-type(even),
section[class*="ai-jt-"]:nth-of-type(even),
section[class*="ai-pq-"]:nth-of-type(even),
section[class*="ai-tg-"]:nth-of-type(even) {
  background-color: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}

/* V6.370 — section hairline separator. Subtle 1px line between adjacent
   AI sections so the eye gets a rhythmic "next chapter" cue. */
section[class*="ai-section-"] + section[class*="ai-section-"],
section[class*="ai-fb-"] + section[class*="ai-section-"],
section[class*="ai-section-"] + section[class*="ai-jt-"],
section[class*="ai-jt-"] + section[class*="ai-section-"],
section[class*="ai-pq-"] + section[class*="ai-section-"] {
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}

/* V6.369 — base button text contrast safety net for AI sections.
   AI generators sometimes ship buttons with text-color matching the
   button background (operator iter 27 audit: "button with unreadable
   text"). Force a sensible default: AI buttons inside ai-* sections
   that have no explicit color get paper-text on accent-bg. */
[class*="ai-hero-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]),
[class*="ai-section-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]),
[class*="ai-fb-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]),
[class*="ai-press-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]),
[class*="ai-tg-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]),
[class*="ai-pq-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]),
[class*="ai-jt-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]),
[class*="ai-news-"] button:not([class*="secondary"]):not([class*="ghost"]):not([class*="outline"]) {
  color: var(--c-paper);
}
/* When AI button explicitly has white/paper bg (light variant), force
   ink text so it stays readable. CSS attribute selector matches
   inline style `background:var(--c-paper)` or background:white/#fff. */
[class*="ai-"] button[style*="paper"],
[class*="ai-"] button[style*="#fff"],
[class*="ai-"] button[style*="white"],
[class*="ai-"] a.cta[style*="paper"],
[class*="ai-"] a.cta[style*="#fff"] {
  color: var(--c-ink) !important;
}

/* V6.369 — global button-hover contrast safety net. Operator iter 27
   audit: many sites rendered buttons with hover state where the text
   matched the new background (e.g. paper-text on hover-accent-bg where
   accent and paper happened to be near-identical luminance, or hover
   bg flipping to paper while text stayed paper). The cb-cta fix in
   V6.366 handled cb-cta specifically; this is the global safety net.

   Rule: ANY button or .cta in an AI-generated section, or any
   `.couture-` class scope, that changes background on hover MUST also
   declare a contrasting color. We can't enforce that in CSS itself,
   but we CAN enforce a sensible default: hover state gets ink-text-on-
   paper-bg OR paper-text-on-ink-bg depending on the cascade. The CTA
   default is paper-on-accent; on hover with no explicit color, the
   safest no-op is to KEEP the paper text and only deepen the
   background. */
button:hover,
a.cta:hover,
a.cta-btn:hover,
[class*="ai-"] button:hover,
[class*="ai-"] a[class*="cta"]:hover,
[class*="ai-"] a[class*="btn"]:hover {
  /* Don't let hover state leave color undefined when bg changes;
     paper-text is the only safe default for ink/accent backgrounds. */
  -webkit-text-fill-color: currentColor;
}
/* For any button that flips hover-bg to var(--c-paper) (light), force
   text to var(--c-ink) so it stays readable. */
button:hover[style*="background: var(--c-paper)"],
button:hover[style*="background:var(--c-paper)"],
.cta:hover[style*="background: var(--c-paper)"],
.cta-btn:hover[style*="background: var(--c-paper)"] {
  color: var(--c-ink) !important;
}
/* AI sections: default hover behavior preserves text contrast */
[class*="ai-hero-"] button:hover,
[class*="ai-section-"] button:hover,
[class*="ai-fb-"] button:hover,
[class*="ai-pdp-"] button:hover,
[class*="ai-press-"] button:hover,
[class*="ai-jt-"] button:hover,
[class*="ai-pq-"] button:hover,
[class*="ai-tg-"] button:hover,
[class*="ai-pcard-"] a:hover,
[class*="ai-hero-"] a.cta:hover,
[class*="ai-hero-"] a.cta-btn:hover,
[class*="ai-section-"] a.cta:hover,
[class*="ai-section-"] a.cta-btn:hover {
  /* Default: just dim/deepen via filter — color stays unchanged so
     contrast is preserved regardless of how AI styled the base. */
  filter: brightness(0.92);
  transition: background .2s ease, color .2s ease, filter .2s ease;
}
/* V6.367 — AI-section h2 alignment cohesion default. Operator iter 25
   audit (recyvra): hero h1 centered but section heads "From Our Journal"
   + "NEED HELP?" rendered LEFT-aligned because each AI section's scoped
   CSS picks alignment independently, producing inconsistent visual
   rhythm down the page. Operator: "content some in center some nt".
   Default rule: top-level section heads (the FIRST h2 inside an AI
   section) center-align to match couture-section-head's center default.
   Lower specificity than `.ai-section-NNNN h2` so AI sections that
   intentionally pick left/right alignment in their scoped block can
   still override. Pure cohesion safety net. */
section[class*="ai-section-"] > h2:first-of-type,
section[class*="ai-jt-"] > h2:first-of-type,
section[class*="ai-tg-"] > h2:first-of-type,
section[class*="ai-pq-"] > h2:first-of-type,
section[class*="ai-press-"] > h2:first-of-type,
section[class*="ai-news-"] > h2:first-of-type,
section[class*="ai-st-"] > h2:first-of-type,
section[class*="ai-fb-"] > h2:first-of-type,
section[class*="ai-section-"] > .eyebrow + h2,
section[class*="ai-jt-"] > .eyebrow + h2,
section[class*="ai-pq-"] > .eyebrow + h2,
section[class*="ai-press-"] > .eyebrow + h2,
section[class*="ai-news-"] > .eyebrow + h2 {
  text-align: center;
}
/* Match-aligned: eyebrow that immediately precedes a centered h2 also
   centers, so the eyebrow→h2 pair reads as one designed block. */
section[class*="ai-section-"] > .eyebrow:first-child,
section[class*="ai-jt-"] > .eyebrow:first-child,
section[class*="ai-pq-"] > .eyebrow:first-child,
section[class*="ai-press-"] > .eyebrow:first-child,
section[class*="ai-news-"] > .eyebrow:first-child {
  text-align: center;
}
/* Hero may legitimately be full-bleed — let it expand if it has its
   own background image/color filling. */
section[class*="ai-hero-"][style*="background-image"],
section[class*="ai-hero-"]:has(img:not([loading="lazy"])) {
  max-width: 100% !important;
}
/* Outline / ghost variants stay text-color = ink (override above) */
.cta-btn--secondary, .cta--secondary, .cta--ghost, .cta-btn--outline {
  background: transparent !important;
  color: var(--c-ink) !important;
}
.cta-btn--secondary:hover, .cta--secondary:hover, .cta--ghost:hover, .cta-btn--outline:hover {
  background: var(--c-ink) !important;
  color: #ffffff !important;
}

/* ============================================================
   V5.25 — operator R12 follow-up. V5.18 fixed the most common
   CTA selectors but a wider audit found ~17 more CTAs across
   product-page variants, footer newsletters, side-rail nav,
   pricing tiers, account pages, and search/monolith heroes
   that all use `color: var(--c-paper)` on var(--c-ink) or
   var(--c-accent) backgrounds — same dark-on-dark bug.
   This block force-whites text on EVERY CTA whose computed
   background is ink or accent. Net: zero invisible CTAs.
   ============================================================ */
.couture-newsletter button,
.couture-footer--grand .grand-form button,
.couture-footer--atelier .atl-cta,
.couture-footer--storyteller .storyteller-newsletter button,
.couture-nav-siderail .rail-cta,
.couture-product-lede .cta,
.couture-product-editorial .cta,
.couture-product-tech .cta,
.couture-product-conv .cta,
.couture-product-lookhero .cta,
.couture-product-atelier .cta,
.couture-repair .cta,
.couture-press-kit .cta,
.couture-appointment .appt-form button,
.couture-appointment-cta h2,
.couture-appointment-cta p,
.couture-tier .tier-cta,
.couture-product-wc-meta button[type="submit"],
.couture-page-account-wc button.woocommerce-button,
.couture-hero--search .hero-search-form button,
.couture-hero--promo .hero-promo-cta .cta-btn,
.couture-hero--monolith .monolith-cta,
.facet-apply,
.csc-card .csc-name,
.csc-card .csc-eyebrow,
.csc-card .csc-count {
  color: #ffffff !important;
}
/* Same for hover state (paper text on ink/accent) */
.couture-tier .tier-cta:hover,
.couture-product-lede .cta:hover,
.couture-product-editorial .cta:hover,
.couture-product-tech .cta:hover,
.couture-product-conv .cta:hover,
.couture-product-wc-meta button[type="submit"]:hover,
.couture-page-account-wc button.woocommerce-button:hover {
  color: #ffffff !important;
}

/* ============================================================
 * V5.56 — AI brand voice on WC chassis surfaces.
 * Empty cart message, cart header, thank-you header.
 * Per-site copy is read from couture_dna()['ai_wc_voice'] in
 * functions.php. CSS below is the wrapper styling that uses
 * brand palette via theme CSS variables.
 * ============================================================ */
.couture-cart-empty {
  text-align: center;
  padding: clamp(48px, 7vw, 120px) clamp(24px, 4vw, 56px);
  max-width: 720px;
  margin: 0 auto;
}
.couture-cart-empty .cce-eyebrow {
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 16px;
}
.couture-cart-empty .cce-headline {
  font-family: var(--c-display);
  font-size: clamp(32px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--c-ink);
  margin: 0 0 16px;
}
.couture-cart-empty .cce-body {
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.55;
  color: var(--c-ink-soft);
  max-width: 56ch;
  margin: 0 auto 32px;
}
.couture-cart-empty .cce-cta {
  display: inline-block;
  padding: 14px 28px;
  background: var(--c-accent);
  color: var(--c-paper);
  text-decoration: none;
  font-family: var(--c-mono);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.couture-cart-empty .cce-cta:hover { opacity: .85; }

.couture-cart-header {
  padding: clamp(48px, 6vw, 88px) clamp(24px, 4vw, 56px) clamp(24px, 3vw, 32px);
  max-width: 1280px;
  margin: 0 auto;
}
.couture-cart-header .cch-eyebrow {
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 16px;
}
.couture-cart-header .cch-headline {
  font-family: var(--c-display);
  font-size: clamp(36px, 5.5vw, 64px);
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--c-ink);
  margin: 0 0 12px;
}
.couture-cart-header .cch-sub {
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.55;
  color: var(--c-ink-soft);
  max-width: 64ch;
  margin: 0;
}

.couture-thankyou-header {
  text-align: center;
  padding: clamp(48px, 7vw, 120px) clamp(24px, 4vw, 56px) clamp(24px, 3vw, 40px);
  max-width: 880px;
  margin: 0 auto;
}
.couture-thankyou-header .cty-eyebrow {
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 16px;
}
.couture-thankyou-header .cty-headline {
  font-family: var(--c-display);
  font-size: clamp(40px, 6vw, 72px);
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--c-ink);
  margin: 0 0 16px;
}
.couture-thankyou-header .cty-body {
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.55;
  color: var(--c-ink-soft);
  max-width: 56ch;
  margin: 0 auto;
}

@media (max-width: 720px) {
  .couture-cart-empty,
  .couture-cart-header,
  .couture-thankyou-header {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ============================================================
 * V5.61 — My-account dashboard greeting card + sidebar polish.
 * Brand-voice greeting renders ABOVE the default WC dashboard text.
 * The default WC text is dimmed/secondary so the brand voice leads.
 * ============================================================ */
.couture-account-greeting {
  margin-bottom: clamp(32px, 4vw, 48px);
  padding-bottom: clamp(24px, 3vw, 36px);
  border-bottom: 1px solid var(--c-line);
  max-width: 640px;
}
.couture-account-greeting .cag-eyebrow {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-account-greeting .cag-headline {
  font-family: var(--c-display);
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--c-ink);
  margin: 0 0 12px;
  font-weight: 400;
}
.couture-account-greeting .cag-body {
  font-size: 16px;
  line-height: 1.55;
  color: var(--c-ink-soft);
  margin: 0;
}
/* Default WC "Hello {name}" / "From your account dashboard…" — dim it
   when the brand greeting is rendered. */
.couture-page-account-wc .couture-account-default {
  color: var(--c-ink-soft);
  font-size: 14px;
  line-height: 1.6;
  max-width: 640px;
}
.couture-page-account-wc .couture-account-default p { margin: 0 0 12px; }
.couture-page-account-wc .couture-account-default a { color: var(--c-accent); text-decoration: none; }
.couture-page-account-wc .couture-account-default a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* My-account sidebar nav — couture-styled vertical list with accent rule on hover */
.couture-page-account-wc .woocommerce-MyAccount-navigation { padding: 0; }
.couture-page-account-wc .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 32px; border-top: 1px solid var(--c-line); }
.couture-page-account-wc .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--c-line); }
.couture-page-account-wc .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 0;
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-ink-soft);
  text-decoration: none;
  position: relative;
  transition: color .15s, padding-left .15s;
}
.couture-page-account-wc .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--c-accent);
  padding-left: 12px;
}
.couture-page-account-wc .woocommerce-MyAccount-navigation ul li.is-active a,
.couture-page-account-wc .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-current a {
  color: var(--c-ink);
  padding-left: 12px;
}
.couture-page-account-wc .woocommerce-MyAccount-navigation ul li.is-active a::before,
.couture-page-account-wc .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-current a::before {
  content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 60%; transform: translateY(-50%); background: var(--c-accent);
}

/* Order details table on order-received page — mono numbers + brand spacing */
.couture-page-order-wc .woocommerce-table--order-details,
.couture-page-order-wc .woocommerce-order-details__table {
  width: 100%; border-collapse: collapse; font-family: var(--c-body); margin: 32px 0;
}
.couture-page-order-wc .woocommerce-table--order-details th,
.couture-page-order-wc .woocommerce-order-details__table th {
  text-align: left; font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted);
  padding: 12px 16px 12px 0; border-bottom: 1px solid var(--c-ink);
}
.couture-page-order-wc .woocommerce-table--order-details td {
  padding: 14px 16px 14px 0; border-bottom: 1px solid var(--c-line); font-size: 15px;
}
.couture-page-order-wc .woocommerce-table--order-details .product-total,
.couture-page-order-wc .woocommerce-table--order-details .product-quantity { font-family: var(--c-mono); font-variant-numeric: tabular-nums; }

/* ============================================================
 * V5.59 — Surface 5 dormant DNA axes (spacing_scale, grid_density,
 * navigation_density, headline_treatment, accent_application).
 * Each axis was rolled per build, written to dna.php, but never read.
 * Now they vary visible CSS per-site.
 * ============================================================ */

/* spacing_scale: tight | comfortable | cathedral
   Affects vertical breathing room between sections + h1 margins. */
body.couture-spacing-tight :is(.couture-page, main) > section,
body.couture-spacing-tight .couture-page > section { padding-top: clamp(48px, 5vw, 80px); padding-bottom: clamp(48px, 5vw, 80px); }
body.couture-spacing-comfortable :is(.couture-page, main) > section,
body.couture-spacing-comfortable .couture-page > section { padding-top: clamp(72px, 7vw, 120px); padding-bottom: clamp(72px, 7vw, 120px); }
body.couture-spacing-cathedral :is(.couture-page, main) > section,
body.couture-spacing-cathedral .couture-page > section { padding-top: clamp(120px, 11vw, 200px); padding-bottom: clamp(120px, 11vw, 200px); }
body.couture-spacing-cathedral h1 { margin-bottom: clamp(32px, 4vw, 56px); }
body.couture-spacing-tight h1 { margin-bottom: clamp(12px, 1.5vw, 20px); }

/* grid_density: 1up | 2up | 3up | 4up | masonry
   Affects shop / product grid columns. */
body.couture-grid-1up .couture-products,
body.couture-grid-1up .couture-journal-grid,
body.couture-grid-1up .ai-pdp-grid { grid-template-columns: 1fr !important; gap: clamp(40px, 5vw, 72px); }
body.couture-grid-2up .couture-products,
body.couture-grid-2up .couture-journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: clamp(32px, 4vw, 56px); }
body.couture-grid-3up .couture-products,
body.couture-grid-3up .couture-journal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(24px, 3vw, 40px); }
body.couture-grid-4up .couture-products,
body.couture-grid-4up .couture-journal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: clamp(16px, 2vw, 28px); }
body.couture-grid-masonry .couture-products { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; grid-auto-flow: dense; gap: clamp(20px, 2.5vw, 36px); }
@media (max-width: 720px) {
  body[class*="couture-grid-"] .couture-products,
  body[class*="couture-grid-"] .couture-journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.couture-grid-1up .couture-products,
  body.couture-grid-1up .couture-journal-grid { grid-template-columns: 1fr !important; }
}

/* navigation_density: menu-heavy | sparse | breadcrumbed-only
   Affects nav size + spacing of menu items. */
body.couture-navdensity-menu-heavy nav ul li { margin-right: 22px; }
body.couture-navdensity-menu-heavy nav a { font-size: 14px; padding: 8px 0; }
body.couture-navdensity-sparse nav ul li { margin-right: 40px; }
body.couture-navdensity-sparse nav a { font-size: 13px; letter-spacing: .04em; padding: 12px 0; }
body.couture-navdensity-breadcrumbed-only nav ul li { margin-right: 12px; }
body.couture-navdensity-breadcrumbed-only nav a { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; padding: 6px 0; opacity: .85; }
body.couture-navdensity-breadcrumbed-only nav ul li:not(:last-child)::after { content: " / "; color: var(--c-muted); margin: 0 6px; opacity: .7; }

/* headline_treatment: large-display | oversized-italic | condensed-shouted | wordmark-only | tag-with-number
   Affects h1 / h2 in hero + section heads. */
body.couture-headline-large-display .couture-hero h1,
body.couture-headline-large-display .couture-section-head h1 { font-size: clamp(48px, 8vw, 120px); letter-spacing: -.02em; line-height: 1; font-weight: 400; }
body.couture-headline-oversized-italic .couture-hero h1,
body.couture-headline-oversized-italic .couture-section-head h1 { font-style: italic; font-size: clamp(56px, 8.5vw, 132px); line-height: .98; }
body.couture-headline-condensed-shouted .couture-hero h1,
body.couture-headline-condensed-shouted .couture-section-head h1 { font-stretch: condensed; text-transform: uppercase; letter-spacing: -.01em; font-size: clamp(56px, 9vw, 144px); font-weight: 700; line-height: .92; }
body.couture-headline-wordmark-only .couture-hero h1 { font-size: clamp(40px, 5vw, 64px); font-weight: 300; letter-spacing: .04em; }
body.couture-headline-tag-with-number .couture-hero h1::before {
  content: "01 / "; font-family: var(--c-mono); font-size: .35em; vertical-align: middle; color: var(--c-accent); margin-right: .2em; letter-spacing: .12em; font-weight: 400;
}

/* accent_application: never | one-detail | consistent-throughout
   Affects how often --c-accent is used across the page. */
body.couture-accent-never :is(a, .cta, button, .num, .eyebrow):not(.couture-cart-empty .cce-cta) { color: inherit !important; background-color: var(--c-ink) !important; }
body.couture-accent-never .cta:hover,
body.couture-accent-never button:hover { opacity: .85; }
body.couture-accent-never :is(.num, .eyebrow) { color: var(--c-muted) !important; }
body.couture-accent-one-detail :is(.eyebrow, .num) { color: var(--c-accent); }
body.couture-accent-one-detail .cta:not(:hover) { background: var(--c-ink); color: var(--c-paper); }
/* V6.360 — operator R+ visual audit (luxevoo.com): drawer-panel links
   ("→ shop / → blog / → about / → faq / → contact / Close") were rendering
   ink-on-ink (invisible) because this body-level rule has higher
   specificity than `.couture-nav-drawer .drawer-panel a { color: var(--c-paper) }`.
   Same root cause for "Meet our story" CTA + "Accept all cookies" button.
   Exclude any anchor that's inside a known dark-bg surface so contrast
   inverts correctly. (Also re-checked: anchors INSIDE .ai-hero-* with
   white-on-white CTAs were AI-generated CTAs hardcoded as
   color: var(--c-paper); on var(--c-paper) bg — separate AI-validator
   work in V6.361. This rule fix lands the high-impact drawer + cookie
   wins immediately.) */
body.couture-accent-one-detail a:not(.cta):not([class*="cta"]):not(.drawer-panel a):not(.ccb-btn):not(.couture-nav-drawer .drawer-panel a):not(.couture-cta-dark a):not(.couture-footer-dark a) { color: var(--c-ink); }
/* Hard floor for known dark-bg surfaces so any global ink-color rule
   loses to the surface's own light-text intent. */
body .couture-nav-drawer .drawer-panel a,
body .couture-nav-drawer .drawer-panel a.drawer-shop-link,
body .couture-nav-drawer .drawer-panel a.drawer-close,
body .couture-cta-dark a:not(.cta-button),
/* V6.362 — fix V6.360 own bug: cookie banner inner has bg PAPER (white),
   so the link MUST be ink (dark), not paper (which gave white-on-white).
   Same for primary button — already had bg:ink + color:paper which is
   correct (dark button with white text on white panel). */
body #couture-cookie-banner .ccb-text a { color: var(--c-ink) !important; text-decoration: underline !important; text-underline-offset: 2px !important; }
body #couture-cookie-banner .ccb-text a:hover { color: var(--c-accent) !important; }
body #couture-cookie-banner .ccb-btn--primary { background: var(--c-ink) !important; color: var(--c-paper) !important; }
body #couture-cookie-banner .ccb-btn--secondary { background: transparent !important; color: var(--c-ink) !important; border: 1px solid var(--c-ink) !important; }
body.couture-accent-consistent-throughout :is(a, .num, .eyebrow) { color: var(--c-accent); }
body.couture-accent-consistent-throughout .cta { background: var(--c-accent); color: var(--c-paper); }
body.couture-accent-consistent-throughout h1 .num { color: var(--c-accent); }

/* ============================================================
 * V5.58 — Journal/blog index extra layouts (pillar / substack /
 * archive-table / polaroid-mosaic / monogram-list).
 * The original 3 (grid/list/magazine) stay as-is below.
 * ============================================================ */

/* pillar — NYT-feel hero pillar pieces + 2-col rest */
.couture-journal-pillar { display: grid; gap: clamp(40px, 5vw, 80px); }
.couture-journal-pillar .jr-pillar-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 4vw, 64px); }
.couture-journal-pillar .jr-pillar { display: grid; grid-template-rows: auto 1fr; gap: 16px; }
.couture-journal-pillar .jr-pillar-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.couture-journal-pillar .jr-pillar-kicker { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 8px; }
.couture-journal-pillar .jr-pillar-title { font-family: var(--c-display); font-size: clamp(24px, 2.5vw, 32px); line-height: 1.15; margin: 0 0 8px; }
.couture-journal-pillar .jr-pillar-title a { color: var(--c-ink); text-decoration: none; }
.couture-journal-pillar .jr-pillar-title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.couture-journal-pillar .jr-pillar-excerpt { color: var(--c-ink-soft); font-size: 16px; line-height: 1.55; margin: 0 0 12px; }
.couture-journal-pillar .jr-pillar-byline { font-family: var(--c-mono); font-size: 11px; letter-spacing: .08em; color: var(--c-muted); }
.couture-journal-pillar .jr-pillar-rest { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3vw, 40px); border-top: 1px solid var(--c-line); padding-top: 32px; }
.couture-journal-pillar .jr-pillar-row h3 { font-family: var(--c-display); font-size: 20px; line-height: 1.25; margin: 4px 0 8px; }
.couture-journal-pillar .jr-pillar-row h3 a { color: var(--c-ink); text-decoration: none; }
.couture-journal-pillar .jr-pillar-row p { font-size: 14px; color: var(--c-ink-soft); line-height: 1.5; margin: 0 0 8px; }
.couture-journal-pillar .jr-pillar-row .jr-pillar-row-kicker { font-family: var(--c-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); }
.couture-journal-pillar .jr-pillar-row .byline { font-family: var(--c-mono); font-size: 10px; color: var(--c-muted); letter-spacing: .08em; }
@media (max-width: 720px) {
  .couture-journal-pillar .jr-pillar-grid,
  .couture-journal-pillar .jr-pillar-rest { grid-template-columns: 1fr; }
}

/* substack — vertical title-list, no thumbs, byline+date */
.couture-journal-substack { display: grid; gap: 0; max-width: 720px; margin: 0 auto; }
.couture-journal-substack .jr-substack-row { display: grid; grid-template-columns: 100px 1fr; gap: 24px; padding: 24px 0; border-top: 1px solid var(--c-line); }
.couture-journal-substack .jr-substack-row:first-child { border-top: none; }
.couture-journal-substack .jr-substack-date { font-family: var(--c-mono); font-size: 12px; letter-spacing: .12em; color: var(--c-muted); padding-top: 6px; }
.couture-journal-substack .jr-substack-title { font-family: var(--c-display); font-size: clamp(20px, 2vw, 26px); line-height: 1.25; margin: 0 0 8px; }
.couture-journal-substack .jr-substack-title a { color: var(--c-ink); text-decoration: none; }
.couture-journal-substack .jr-substack-title a:hover { color: var(--c-accent); }
.couture-journal-substack .jr-substack-excerpt { color: var(--c-ink-soft); font-size: 15px; line-height: 1.55; margin: 0 0 8px; }
.couture-journal-substack .jr-substack-byline { font-family: var(--c-mono); font-size: 11px; color: var(--c-muted); letter-spacing: .08em; }
@media (max-width: 720px) {
  .couture-journal-substack .jr-substack-row { grid-template-columns: 1fr; gap: 4px; }
}

/* archive-table — index-table feel for editorial brands */
.couture-journal-archive { width: 100%; max-width: 1080px; margin: 0 auto; border-collapse: collapse; font-family: var(--c-mono); }
.couture-journal-archive thead th { text-align: left; padding: 12px 16px 12px 0; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); border-bottom: 1px solid var(--c-ink); }
.couture-journal-archive tbody .jr-arch-row { border-bottom: 1px solid var(--c-line); }
.couture-journal-archive tbody .jr-arch-row:hover { background: var(--c-paper-2); }
.couture-journal-archive .jr-arch-num { padding: 16px 16px 16px 0; font-size: 11px; color: var(--c-muted); width: 56px; }
.couture-journal-archive .jr-arch-date { padding: 16px 16px 16px 0; font-size: 11px; color: var(--c-muted); width: 100px; }
.couture-journal-archive .jr-arch-title { padding: 16px 16px 16px 0; font-family: var(--c-display); font-size: 18px; }
.couture-journal-archive .jr-arch-title a { color: var(--c-ink); text-decoration: none; }
.couture-journal-archive .jr-arch-title a:hover { color: var(--c-accent); text-decoration: underline; text-underline-offset: 3px; }
.couture-journal-archive .jr-arch-kicker { padding: 16px 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); }
@media (max-width: 720px) {
  .couture-journal-archive thead { display: none; }
  .couture-journal-archive tbody, .couture-journal-archive tr, .couture-journal-archive td { display: block; }
  .couture-journal-archive .jr-arch-num { width: auto; }
  .couture-journal-archive .jr-arch-row { padding: 16px 0; }
  .couture-journal-archive .jr-arch-num,
  .couture-journal-archive .jr-arch-date,
  .couture-journal-archive .jr-arch-kicker { padding: 4px 0; }
  .couture-journal-archive .jr-arch-title { padding: 4px 0 8px; font-size: 22px; }
}

/* polaroid-mosaic — uneven photo mosaic, craft feel */
.couture-journal-polaroid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(20px, 2.5vw, 36px); }
.couture-journal-polaroid .jr-poly { grid-column: span 4; }
.couture-journal-polaroid .jr-poly.jr-poly-md { grid-column: span 6; }
.couture-journal-polaroid .jr-poly.jr-poly-lg { grid-column: span 8; }
.couture-journal-polaroid .jr-poly-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.couture-journal-polaroid .jr-poly-img-empty { width: 100%; aspect-ratio: 4/3; background: var(--c-paper-2); }
/* V6.331 — monogram fallback for journal cards without a cover image.
   Operator handivor/jigzari R2 audit: jigzari /field-notes/ shipped
   bare empty `.jr-poly-img-empty` divs that read as "broken layout" to
   readers. Now: when no cover, render an <a class="jr-poly-img--monogram">
   with the article title's first letter as data-monogram. CSS draws a
   tinted tile + the letter in display font. Looks like an intentional
   editorial treatment (every NYT/FT section has these). */
.couture-journal-polaroid .jr-poly-img--monogram {
  display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--c-paper-2), var(--c-paper));
  border: 1px solid var(--c-line);
  text-decoration: none;
  color: var(--c-accent);
  position: relative;
  overflow: hidden;
}
.couture-journal-polaroid .jr-poly-img--monogram::before {
  content: attr(data-monogram);
  font-family: var(--c-display);
  font-size: clamp(56px, 8vw, 128px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
}
.couture-journal-polaroid .jr-poly-img--monogram::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 30%, transparent 50%, rgba(0,0,0,0.06));
  pointer-events: none;
}
.couture-journal-polaroid .jr-poly-cap { padding: 12px 0 0; }
.couture-journal-polaroid .jr-poly-cap h3 { font-family: var(--c-display); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.25; margin: 0 0 6px; }
.couture-journal-polaroid .jr-poly-cap h3 a { color: var(--c-ink); text-decoration: none; }
.couture-journal-polaroid .jr-poly-byline { font-family: var(--c-mono); font-size: 10px; letter-spacing: .12em; color: var(--c-muted); }
@media (max-width: 720px) {
  .couture-journal-polaroid { grid-template-columns: 1fr; gap: 28px; }
  .couture-journal-polaroid .jr-poly,
  .couture-journal-polaroid .jr-poly.jr-poly-md,
  .couture-journal-polaroid .jr-poly.jr-poly-lg { grid-column: span 1; }
}

/* monogram-list — tall numbered list, atelier/literary */
.couture-journal-monogram { max-width: 880px; margin: 0 auto; }
.couture-journal-monogram .jr-mono-row { display: grid; grid-template-columns: 80px 1fr; gap: 32px; padding: clamp(24px, 3vw, 40px) 0; border-top: 1px solid var(--c-line); }
.couture-journal-monogram .jr-mono-row:first-child { border-top: none; }
.couture-journal-monogram .jr-mono-num { font-family: var(--c-mono); font-size: clamp(28px, 3.5vw, 48px); line-height: 1; color: var(--c-accent); font-weight: 200; padding-top: 8px; }
.couture-journal-monogram .jr-mono-title { font-family: var(--c-display); font-size: clamp(28px, 3vw, 40px); line-height: 1.1; letter-spacing: -.01em; margin: 0 0 12px; }
.couture-journal-monogram .jr-mono-title a { color: var(--c-ink); text-decoration: none; }
.couture-journal-monogram .jr-mono-title a:hover { color: var(--c-accent); }
.couture-journal-monogram .jr-mono-excerpt { font-size: 16px; color: var(--c-ink-soft); line-height: 1.55; margin: 0 0 10px; }
.couture-journal-monogram .jr-mono-byline { font-family: var(--c-mono); font-size: 11px; color: var(--c-muted); letter-spacing: .08em; }

/* ============================================================
   V6.289-V6.290 — operator R28 night autopilot:
   6 NEW unique section renderers (recipe / step-photo / quote-grid
   / spec-sheet / mini-bios / value-pillars). Each lives in its own
   namespace so they can be combined per-archetype.
   ============================================================ */

/* --- recipe_card --------------------------------------------- */
.couture-recipe { padding: 0 var(--c-gutter, 32px); max-width: 980px; margin: 0 auto; }
.couture-recipe .rc-card { background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; overflow: hidden; box-shadow: 0 8px 28px -16px rgba(0,0,0,.10); }
.couture-recipe .rc-meta { display: flex; gap: 0; border-bottom: 1px solid var(--c-line); }
.couture-recipe .rc-meta-item { flex: 1; padding: 18px 24px; border-right: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 4px; }
.couture-recipe .rc-meta-item:last-child { border-right: 0; }
.couture-recipe .rc-meta-k { font-family: var(--c-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-accent); font-weight: 700; }
.couture-recipe .rc-meta-v { font-family: var(--c-display); font-weight: 600; font-size: 18px; color: var(--c-ink); }
.couture-recipe .rc-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 0; }
.couture-recipe .rc-col { padding: 28px 32px; }
.couture-recipe .rc-col + .rc-col { border-left: 1px solid var(--c-line); }
.couture-recipe .rc-col-h { font-family: var(--c-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 18px; }
.couture-recipe .rc-ingredients ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.couture-recipe .rc-ingredients li { display: grid; grid-template-columns: 80px 1fr; gap: 14px; align-items: baseline; padding-bottom: 8px; border-bottom: 1px dashed var(--c-line); }
.couture-recipe .rc-amt { font-family: var(--c-mono); font-weight: 700; font-size: 13px; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-recipe .rc-name { font-family: var(--c-body); font-size: 14px; color: var(--c-ink); }
.couture-recipe .rc-method ol { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; counter-reset: rc-step; }
.couture-recipe .rc-method li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; align-items: start; }
.couture-recipe .rc-step-no { font-family: var(--c-mono); font-weight: 800; font-size: 14px; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.couture-recipe .rc-step-body { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink); }
@media (max-width: 720px) { .couture-recipe .rc-grid { grid-template-columns: 1fr; } .couture-recipe .rc-col + .rc-col { border-left: 0; border-top: 1px solid var(--c-line); } }

/* --- step_photo_grid ----------------------------------------- */
.couture-spg { padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-spg .spg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.couture-spg .spg-step { display: flex; flex-direction: column; gap: 16px; }
.couture-spg .spg-photo { margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--c-paper-2); border-radius: 4px; }
.couture-spg .spg-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s;  }
.couture-spg .spg-photo:hover img { transform: scale(1.04); }
.couture-spg .spg-photo--text { display: grid; place-items: center; color: var(--c-accent); font-family: var(--c-display); font-weight: 700; font-size: 96px; opacity: .3; aspect-ratio: 4/5; }
.couture-spg .spg-step-tag { font-family: var(--c-mono); font-weight: 700; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-accent); }
.couture-spg .spg-meta h3 { font-family: var(--c-display); font-weight: 600; font-size: 20px; color: var(--c-ink); margin: 6px 0 8px; line-height: 1.2; }
.couture-spg .spg-meta p { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- quote_grid ---------------------------------------------- */
.couture-qg { padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-qg .qg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.couture-qg .qg-card { padding: 32px 28px 24px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; position: relative; transition: transform .15s, box-shadow .15s; }
.couture-qg .qg-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -16px rgba(0,0,0,.16); }
.couture-qg .qg-mark { position: absolute; top: 8px; left: 18px; font-family: var(--c-display); font-style: italic; font-weight: 700; font-size: 64px; line-height: 1; color: color-mix(in oklab, var(--c-accent) 35%, transparent); pointer-events: none; }
.couture-qg .qg-quote { font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: clamp(17px, 1.8vw, 22px); line-height: 1.4; color: var(--c-ink); margin: 24px 0 14px; padding: 0; border: 0; position: relative; z-index: 2; }
.couture-qg .qg-cite { font-family: var(--c-mono); font-style: normal; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }

/* --- spec_sheet ---------------------------------------------- */
.couture-spec { padding: 0 var(--c-gutter, 32px); max-width: 880px; margin: 0 auto; }
.couture-spec .spec-table { background: var(--c-paper); border: 1px solid var(--c-ink); }
.couture-spec .spec-table table { width: 100%; border-collapse: collapse; font-family: var(--c-mono); font-size: 13px; }
.couture-spec .spec-table tr { border-bottom: 1px solid var(--c-line); }
.couture-spec .spec-table tr:last-child { border-bottom: 0; }
.couture-spec .spec-table th { text-align: left; padding: 14px 18px; background: color-mix(in oklab, var(--c-ink) 4%, var(--c-paper)); width: 40%; font-weight: 700; color: var(--c-muted); letter-spacing: .08em; text-transform: uppercase; font-size: 11px; vertical-align: top; }
.couture-spec .spec-table td { padding: 14px 18px; color: var(--c-ink); font-weight: 500; vertical-align: top; }

/* --- mini_bios ----------------------------------------------- */
.couture-mb { padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-mb .mb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px; }
.couture-mb .mb-card { display: flex; flex-direction: column; gap: 12px; }
.couture-mb .mb-photo { margin: 0; aspect-ratio: 3/4; overflow: hidden; background: var(--c-paper-2); border-radius: 4px; }
.couture-mb .mb-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.couture-mb .mb-photo--mono { display: grid; place-items: center; font-family: var(--c-display); font-weight: 700; font-size: 80px; color: var(--c-accent); background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); }
.couture-mb .mb-name { font-family: var(--c-display); font-weight: 600; font-size: 18px; color: var(--c-ink); margin: 6px 0 0; line-height: 1.2; }
.couture-mb .mb-role { font-family: var(--c-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); margin: 0; font-weight: 700; }
.couture-mb .mb-bio { font-family: var(--c-body); font-size: 13px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 4px 0 0; }

/* --- value_pillars ------------------------------------------- */
.couture-vp { padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-vp .vp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.couture-vp .vp-card { padding: 32px 28px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; display: flex; flex-direction: column; gap: 14px; transition: transform .15s, box-shadow .15s; }
.couture-vp .vp-card:hover { transform: translateY(-3px); box-shadow: 0 18px 32px -16px rgba(0,0,0,.16); border-color: var(--c-accent); }
.couture-vp .vp-icon { width: 48px; height: 48px; display: grid; place-items: center; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-accent); border-radius: 12px; font-size: 22px; font-weight: 800; }
.couture-vp .vp-title { font-family: var(--c-display); font-weight: 700; font-size: 19px; color: var(--c-ink); margin: 4px 0 0; line-height: 1.25; }
.couture-vp .vp-body { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- comparison_table (V6.293) ------------------------------- */
.couture-cmp { padding: 0 var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; }
.couture-cmp .cmp-table { background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; overflow-x: auto; }
.couture-cmp .cmp-table table { width: 100%; border-collapse: collapse; font-family: var(--c-body); font-size: 14px; }
.couture-cmp .cmp-table thead { border-bottom: 2px solid var(--c-ink); }
.couture-cmp .cmp-table th { text-align: left; padding: 18px 20px; font-family: var(--c-body); font-weight: 700; font-size: 13px; color: var(--c-ink); }
.couture-cmp .cmp-table th.cmp-us { background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-ink); }
.couture-cmp .cmp-table tbody tr { border-bottom: 1px solid var(--c-line); }
.couture-cmp .cmp-table tbody tr:last-child { border-bottom: 0; }
.couture-cmp .cmp-table td { padding: 14px 20px; vertical-align: top; }
.couture-cmp .cmp-feature { font-weight: 600; color: var(--c-ink); }
.couture-cmp .cmp-table td.cmp-us { background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper)); }
.couture-cmp .cmp-yes { display: inline-block; width: 24px; height: 24px; border-radius: 50%; background: var(--c-accent); color: var(--c-paper); text-align: center; line-height: 24px; font-weight: 800; font-size: 14px; }
.couture-cmp .cmp-no { color: var(--c-muted); font-size: 18px; }

/* --- timeline_carousel (V6.293) ------------------------------ */
.couture-tcl .tcl-rail { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px var(--c-gutter, 32px) 24px; max-width: 100%; -webkit-overflow-scrolling: touch; }
.couture-tcl .tcl-rail::-webkit-scrollbar { height: 6px; }
.couture-tcl .tcl-rail::-webkit-scrollbar-thumb { background: var(--c-line); border-radius: 3px; }
.couture-tcl .tcl-card { flex: 0 0 320px; padding: 28px 26px; background: var(--c-paper); border: 1px solid var(--c-line); border-top: 4px solid var(--c-accent); border-radius: 8px; scroll-snap-align: start; display: flex; flex-direction: column; gap: 8px; }
.couture-tcl .tcl-year { font-family: var(--c-display); font-weight: 700; font-size: 36px; color: var(--c-accent); line-height: 1; font-variant-numeric: tabular-nums; }
.couture-tcl .tcl-title { font-family: var(--c-display); font-weight: 600; font-size: 19px; color: var(--c-ink); margin: 6px 0 4px; line-height: 1.2; }
.couture-tcl .tcl-body { font-family: var(--c-body); font-size: 13px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- inline_video_card (V6.293) ------------------------------ */
.couture-iv { padding: 0 var(--c-gutter, 32px); max-width: 980px; margin: 0 auto; }
.couture-iv .iv-card { background: var(--c-paper); border-radius: 12px; overflow: hidden; box-shadow: 0 18px 40px -16px rgba(0,0,0,.18); }
.couture-iv .iv-frame { aspect-ratio: 16/9; position: relative; background: #000; }
.couture-iv .iv-frame iframe, .couture-iv .iv-frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.couture-iv .iv-caption { padding: 14px 20px; font-family: var(--c-mono); font-size: 12px; letter-spacing: .04em; color: var(--c-muted); margin: 0; text-align: center; border-top: 1px solid var(--c-line); }

/* --- feature_strip (V6.293) ---------------------------------- */
.couture-fs { padding: 0 var(--c-gutter, 32px); max-width: 1280px; margin: 0 auto; }
.couture-fs .fs-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px; }
.couture-fs .fs-item { display: flex; flex-direction: column; gap: 10px; padding: 0 4px; }
.couture-fs .fs-icon { width: 36px; height: 36px; display: grid; place-items: center; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-accent); border-radius: 8px; font-size: 18px; font-weight: 800; }
.couture-fs .fs-title { font-family: var(--c-display); font-weight: 600; font-size: 17px; color: var(--c-ink); display: block; line-height: 1.2; }
.couture-fs .fs-body { font-family: var(--c-body); font-size: 13px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); display: block; }

/* --- testimonial_cards (V6.310 clean DTC) -------------------- */
.couture-tc { padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-tc .tc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.couture-tc .tc-card { padding: 28px 26px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; display: flex; flex-direction: column; gap: 14px; transition: transform .15s, box-shadow .15s; }
.couture-tc .tc-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -16px rgba(0,0,0,.10); }
.couture-tc .tc-stars { color: var(--c-accent); font-size: 16px; letter-spacing: 2px; line-height: 1; }
.couture-tc .tc-stars-empty { color: color-mix(in oklab, var(--c-ink) 15%, transparent); }
.couture-tc .tc-quote { font-family: var(--c-display); font-style: italic; font-weight: 400; font-size: 17px; line-height: 1.5; color: var(--c-ink); margin: 0; padding: 0; border: 0; }
.couture-tc .tc-author { font-family: var(--c-body); font-style: normal; font-weight: 600; font-size: 13px; color: var(--c-ink-soft, var(--c-muted)); }

/* --- trust_strip (V6.310 clean DTC) --------------------------- */
.couture-ts { padding: clamp(28px, 4vw, 48px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); border-radius: 12px; }
.couture-ts .ts-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 28px; }
.couture-ts .ts-item { display: flex; flex-direction: column; gap: 8px; align-items: center; text-align: center; }
.couture-ts .ts-icon { width: 36px; height: 36px; display: grid; place-items: center; background: var(--c-paper); color: var(--c-accent); border-radius: 50%; font-size: 16px; font-weight: 800; box-shadow: 0 2px 6px -2px rgba(0,0,0,.08); }
.couture-ts .ts-title { font-family: var(--c-body); font-weight: 700; font-size: 14px; color: var(--c-ink); display: block; }
.couture-ts .ts-body { font-family: var(--c-body); font-size: 12px; line-height: 1.45; color: var(--c-ink-soft, var(--c-muted)); display: block; max-width: 22ch; }

/* --- email_capture_clean (V6.310 clean DTC) ------------------ */
.couture-ec { padding: 0 var(--c-gutter, 32px); max-width: 980px; margin: 0 auto; }
.couture-ec .ec-card { padding: clamp(36px, 5vw, 56px); background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
.couture-ec .ec-text { display: flex; flex-direction: column; gap: 8px; }
.couture-ec .ec-headline { font-family: var(--c-display); font-weight: 600; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.2; color: var(--c-ink); margin: 0; letter-spacing: -.018em; }
.couture-ec .ec-sub { font-family: var(--c-body); font-size: 14px; line-height: 1.5; color: var(--c-ink-soft, var(--c-muted)); margin: 0; }
.couture-ec .ec-form { display: flex; align-items: center; background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink) 4%); border: 1px solid var(--c-line); border-radius: 999px; padding: 4px 4px 4px 18px; }
.couture-ec .ec-form input { flex: 1; padding: 10px 8px; background: transparent; border: 0; outline: none; font-family: var(--c-body); font-size: 14px; color: var(--c-ink); }
.couture-ec .ec-form button { padding: 10px 22px; background: var(--c-ink); color: var(--c-paper); border: 0; border-radius: 999px; font-family: var(--c-body); font-weight: 600; font-size: 13px; cursor: pointer; transition: background .15s; }
.couture-ec .ec-form button:hover { background: var(--c-accent); }
@media (max-width: 720px) { .couture-ec .ec-card { grid-template-columns: 1fr; } }

/* --- pricing_cards (V6.315 clean DTC/SaaS) ------------------- */
.couture-pc { padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-pc .pc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.couture-pc .pc-card { padding: 32px 28px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; display: flex; flex-direction: column; gap: 14px; position: relative; transition: transform .15s, box-shadow .15s; }
.couture-pc .pc-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -16px rgba(0,0,0,.10); }
.couture-pc .pc-card--featured { border: 2px solid var(--c-accent); background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); }
.couture-pc .pc-badge { position: absolute; top: -12px; right: 20px; padding: 4px 14px; background: var(--c-accent); color: var(--c-paper); font-family: var(--c-mono); font-weight: 700; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; border-radius: 999px; }
.couture-pc .pc-name { font-family: var(--c-display); font-weight: 700; font-size: 18px; color: var(--c-ink); margin: 0; letter-spacing: -.012em; }
.couture-pc .pc-price { display: flex; align-items: baseline; gap: 6px; margin: 4px 0 8px; }
.couture-pc .pc-amt { font-family: var(--c-display); font-weight: 700; font-size: 36px; color: var(--c-ink); letter-spacing: -.025em; line-height: 1; font-variant-numeric: tabular-nums; }
.couture-pc .pc-unit { font-family: var(--c-body); font-weight: 500; font-size: 13px; color: var(--c-ink-soft, var(--c-muted)); }
.couture-pc .pc-desc { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-muted)); margin: 0; }
.couture-pc .pc-features { list-style: none; padding: 0; margin: 8px 0; display: flex; flex-direction: column; gap: 8px; }
.couture-pc .pc-features li { font-family: var(--c-body); font-size: 14px; color: var(--c-ink); padding-left: 22px; position: relative; }
.couture-pc .pc-features li::before { content: "✓"; position: absolute; left: 0; color: var(--c-accent); font-weight: 700; }
.couture-pc .pc-cta { margin-top: 12px; padding: 12px 20px; background: var(--c-ink); color: var(--c-paper); border-radius: 6px; text-align: center; font-family: var(--c-body); font-weight: 600; font-size: 14px; text-decoration: none; transition: background .15s; }
.couture-pc .pc-cta:hover { background: var(--c-accent); }
.couture-pc .pc-card--featured .pc-cta { background: var(--c-accent); }
.couture-pc .pc-card--featured .pc-cta:hover { background: var(--c-ink); }

/* --- cta_banner (V6.315 clean DTC) --------------------------- */
.couture-cb { padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-cb .cb-band { padding: clamp(40px, 5vw, 72px) clamp(32px, 4vw, 56px); background: var(--c-ink); color: var(--c-paper); border-radius: 16px; display: grid; grid-template-columns: 1fr auto; gap: clamp(24px, 3vw, 48px); align-items: center; }
.couture-cb .cb-text { display: flex; flex-direction: column; gap: 8px; }
.couture-cb .cb-headline { font-family: var(--c-display); font-weight: 700; font-size: clamp(24px, 3vw, 36px); line-height: 1.2; color: var(--c-paper); margin: 0; letter-spacing: -.022em; }
.couture-cb .cb-sub { font-family: var(--c-body); font-size: 16px; line-height: 1.5; color: var(--c-paper); opacity: .85; margin: 0; }
.couture-cb .cb-cta { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; background: var(--c-accent); color: var(--c-paper); text-decoration: none; border-radius: 8px; font-family: var(--c-body); font-weight: 700; font-size: 15px; transition: transform .15s, background .15s; }
.couture-cb .cb-cta:hover { background: var(--c-paper); color: var(--c-ink); transform: translateY(-1px); }
@media (max-width: 720px) { .couture-cb .cb-band { grid-template-columns: 1fr; text-align: center; } }
/* V6.362 — operator iter 2: framed sub-variant inherited bg:var(--c-ink)
   from base .cb-band default. Inline ghost CTA was color:ink → invisible
   on inherited ink bg. Force-override the framed variant to light bg
   so any pre-existing rendered HTML self-corrects without rerender. */
.couture-cb .cb-band--framed { background: var(--c-paper) !important; color: var(--c-ink) !important; }
.couture-cb .cb-band--framed h2,
.couture-cb .cb-band--framed .cb-headline { color: var(--c-ink) !important; }
.couture-cb .cb-band--framed p,
.couture-cb .cb-band--framed .cb-sub { color: var(--c-ink) !important; opacity: .85; }
.couture-cb .cb-band--framed .cb-cta--ghost { color: var(--c-ink) !important; border-color: var(--c-ink) !important; background: transparent !important; }
.couture-cb .cb-band--framed .cb-cta--ghost:hover { background: var(--c-ink) !important; color: var(--c-paper) !important; }
/* V6.366 — operator iter 24 audit (vesprina): cb-cta computed color was
   var(--c-accent) on var(--c-accent) bg = invisible accent-on-accent
   despite the rule `.couture-cb .cb-cta { color: var(--c-paper); }`.
   Some other rule (likely AI-section scoped or theme bleed) was winning
   the cascade. Force explicit !important on the default cb-cta so the
   accent-button always has white text. */
.couture-cb .cb-cta:not(.cb-cta--ghost):not(.cb-cta--inverse) {
  color: var(--c-paper) !important;
  background: var(--c-accent) !important;
}
.couture-cb .cb-cta:not(.cb-cta--ghost):not(.cb-cta--inverse):hover {
  background: var(--c-ink) !important;
  color: var(--c-paper) !important;
}

/* --- feature_card_grid (V6.315 clean DTC/SaaS) --------------- */
.couture-fcg { padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-fcg .fcg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.couture-fcg .fcg-card { padding: 28px 26px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; display: flex; flex-direction: column; gap: 12px; transition: transform .15s, border-color .15s, box-shadow .15s; }
.couture-fcg .fcg-card:hover { transform: translateY(-3px); border-color: var(--c-accent); box-shadow: 0 14px 28px -16px rgba(0,0,0,.12); }
.couture-fcg .fcg-icon { width: 44px; height: 44px; display: grid; place-items: center; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-accent); border-radius: 10px; font-size: 20px; font-weight: 800; }
.couture-fcg .fcg-title { font-family: var(--c-display); font-weight: 700; font-size: 18px; color: var(--c-ink); margin: 4px 0 0; line-height: 1.25; letter-spacing: -.012em; }
.couture-fcg .fcg-body { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- logo_cloud (V6.319 clean SaaS) -------------------------- */
.couture-lc { padding: clamp(36px, 5vw, 64px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; text-align: center; }
.couture-lc .lc-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--c-muted, var(--c-ink-soft)); margin: 0 0 28px; }
.couture-lc .lc-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 36px 56px; }
.couture-lc .lc-item { font-family: var(--c-display); font-weight: 600; font-size: 22px; color: var(--c-ink-soft, var(--c-muted)); letter-spacing: -.012em; opacity: .65; transition: opacity .15s; }
.couture-lc .lc-item:hover { opacity: 1; }
@media (max-width: 720px) { .couture-lc .lc-row { gap: 18px 28px; } .couture-lc .lc-item { font-size: 18px; } }

/* --- case_study_card (V6.319 clean SaaS) --------------------- */
.couture-cs { padding: 0 var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; }
.couture-cs .cs-card { padding: clamp(40px, 5vw, 72px) clamp(36px, 4vw, 56px); background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)); border: 1px solid color-mix(in oklab, var(--c-accent) 20%, transparent); border-radius: 16px; }
.couture-cs .cs-eyebrow { font-family: var(--c-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 22px; font-weight: 700; display: inline-block; }
.couture-cs .cs-quote { font-family: var(--c-display); font-style: italic; font-weight: 500; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.35; color: var(--c-ink); margin: 0 0 18px; padding: 0; border: 0; max-width: 50ch; }
.couture-cs .cs-cite { font-family: var(--c-body); font-style: normal; font-weight: 600; font-size: 14px; color: var(--c-ink-soft, var(--c-muted)); }
.couture-cs .cs-cite span { font-weight: 400; }
.couture-cs .cs-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 24px; margin-top: 32px; padding-top: 28px; border-top: 1px solid color-mix(in oklab, var(--c-accent) 14%, transparent); }
.couture-cs .cs-metric { display: flex; flex-direction: column; gap: 4px; }
.couture-cs .cs-metric strong { font-family: var(--c-display); font-weight: 700; font-size: clamp(28px, 3.4vw, 40px); color: var(--c-accent); letter-spacing: -.022em; line-height: 1; font-variant-numeric: tabular-nums; }
.couture-cs .cs-metric span { font-family: var(--c-body); font-size: 13px; color: var(--c-ink-soft, var(--c-muted)); }
.couture-cs .cs-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; padding: 12px 22px; background: var(--c-ink); color: var(--c-paper); text-decoration: none; border-radius: 6px; font-family: var(--c-body); font-weight: 600; font-size: 14px; transition: background .15s; }
.couture-cs .cs-cta:hover { background: var(--c-accent); }

/* --- integration_grid (V6.319 clean SaaS) -------------------- */
.couture-ig { padding: 0 var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-ig .ig-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; }
.couture-ig .ig-cell { padding: 22px 16px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; display: flex; flex-direction: column; align-items: center; gap: 10px; transition: transform .15s, border-color .15s; }
.couture-ig .ig-cell:hover { transform: translateY(-2px); border-color: var(--c-accent); }
.couture-ig .ig-icon { width: 36px; height: 36px; display: grid; place-items: center; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-accent); border-radius: 8px; font-size: 16px; font-weight: 800; }
.couture-ig .ig-name { font-family: var(--c-body); font-weight: 600; font-size: 13px; color: var(--c-ink); text-align: center; }

/* --- split_cta (V6.323 clean conversion) --------------------- */
.couture-split-cta { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-split-cta .split-cta-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(40px,5vw,80px); align-items: center; padding: clamp(40px,5vw,72px); background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper)); border-radius: 16px; border: 1px solid color-mix(in oklab, var(--c-accent) 12%, transparent); }
.couture-split-cta .split-cta-left h2 { font-family: var(--c-display); font-size: clamp(32px, 4vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 16px; color: var(--c-ink); }
.couture-split-cta .split-cta-left p { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 28px; max-width: 50ch; }
.couture-split-cta .split-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.couture-split-cta .cta-btn-primary { background: var(--c-accent); color: var(--c-paper); padding: 14px 28px; border-radius: 8px; font-family: var(--c-body); font-weight: 600; font-size: 15px; text-decoration: none; }
.couture-split-cta .cta-btn-secondary { background: transparent; color: var(--c-ink); padding: 14px 4px; font-family: var(--c-body); font-weight: 600; font-size: 15px; text-decoration: none; }
.couture-split-cta .split-cta-right { display: grid; place-items: center; }
.couture-split-cta .split-cta-stat { text-align: center; padding: 32px; background: var(--c-paper); border-radius: 12px; border: 1px solid var(--c-line); min-width: 200px; }
.couture-split-cta .split-cta-stat-value { font-family: var(--c-display); font-size: clamp(48px, 6vw, 80px); font-weight: 700; color: var(--c-accent); line-height: 1; letter-spacing: -.02em; }
.couture-split-cta .split-cta-stat-label { font-family: var(--c-body); font-size: 13px; color: var(--c-ink-soft, var(--c-ink)); margin-top: 8px; letter-spacing: .02em; }
@media (max-width: 720px) { .couture-split-cta .split-cta-grid { grid-template-columns: 1fr; } }

/* --- feature_row (V6.323 clean conversion) ------------------- */
.couture-feature-row { padding: clamp(48px,6vw,96px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-feature-row .feature-row-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(20px, 2.5vw, 40px); }
.couture-feature-row .feature-row-item { padding: 28px 20px; text-align: center; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; }
.couture-feature-row .feature-row-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)); color: var(--c-accent); border-radius: 50%; font-size: 18px; font-weight: 800; margin-bottom: 14px; }
.couture-feature-row .feature-row-item h3 { font-family: var(--c-body); font-size: 17px; font-weight: 700; color: var(--c-ink); margin: 0 0 6px; letter-spacing: -.005em; }
.couture-feature-row .feature-row-item p { font-family: var(--c-body); font-size: 14px; line-height: 1.5; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- quote_banner (V6.323 clean conversion) ------------------ */
.couture-quote-banner { padding: clamp(80px,10vw,140px) var(--c-gutter, 32px); max-width: 980px; margin: 0 auto; text-align: center; }
.couture-quote-banner .quote-banner-mark { display: block; font-family: var(--c-display); font-size: clamp(80px, 10vw, 144px); line-height: 1; color: var(--c-accent); opacity: .35; margin-bottom: -20px; font-weight: 700; }
.couture-quote-banner .quote-banner-text { font-family: var(--c-display); font-size: clamp(24px, 3vw, 40px); line-height: 1.35; font-weight: 500; color: var(--c-ink); letter-spacing: -.015em; margin: 0 0 28px; padding: 0; border: 0; font-style: italic; }
.couture-quote-banner .quote-banner-attr { font-family: var(--c-body); font-size: 14px; color: var(--c-ink-soft, var(--c-ink)); letter-spacing: .04em; }
.couture-quote-banner .quote-banner-author { font-weight: 600; }
.couture-quote-banner .quote-banner-role { font-weight: 400; }

/* --- step_card_grid (V6.330 clean SaaS-template) ------------- */
.couture-step-grid { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-step-grid .step-grid-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(20px, 2.5vw, 40px); }
.couture-step-grid .step-grid-card { padding: 32px 24px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; transition: border-color .25s ease, transform .25s ease; }
.couture-step-grid .step-grid-card:hover { transform: translateY(-3px); border-color: var(--c-accent); }
.couture-step-grid .step-grid-num { font-family: var(--c-display); font-size: clamp(40px, 4vw, 56px); font-weight: 700; color: var(--c-accent); line-height: 1; margin-bottom: 16px; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.couture-step-grid .step-grid-card h3 { font-family: var(--c-body); font-size: 18px; font-weight: 700; color: var(--c-ink); margin: 0 0 8px; letter-spacing: -.005em; }
.couture-step-grid .step-grid-card p { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- mini_testimonial_strip (V6.330 clean SaaS-template) ----- */
.couture-mini-testimonial { padding: clamp(48px,6vw,96px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-mini-testimonial .mini-testimonial-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(24px, 3vw, 48px); }
.couture-mini-testimonial .mini-testimonial-cell { text-align: center; padding: 12px; }
.couture-mini-testimonial .mini-testimonial-stars { font-size: 18px; color: var(--c-accent); letter-spacing: 2px; margin-bottom: 12px; line-height: 1; }
.couture-mini-testimonial .mini-testimonial-quote { font-family: var(--c-display); font-size: clamp(16px, 1.4vw, 19px); line-height: 1.45; color: var(--c-ink); margin: 0 0 12px; font-weight: 500; font-style: italic; }
.couture-mini-testimonial .mini-testimonial-author { font-family: var(--c-body); font-size: 13px; color: var(--c-ink-soft, var(--c-ink)); letter-spacing: .04em; font-weight: 600; }

/* --- feature_split_alternating (V6.330 clean SaaS-template) -- */
.couture-feature-split { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-feature-split .feature-split-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 80px); align-items: center; padding: clamp(40px, 5vw, 80px) 0; border-bottom: 1px solid var(--c-line); }
.couture-feature-split .feature-split-row:last-child { border-bottom: 0; }
.couture-feature-split .feature-split-row--rev { direction: rtl; }
.couture-feature-split .feature-split-row--rev > * { direction: ltr; }
.couture-feature-split .feature-split-eyebrow { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 14px; }
.couture-feature-split .feature-split-text h3 { font-family: var(--c-display); font-size: clamp(28px, 3.5vw, 48px); font-weight: 700; line-height: 1.1; color: var(--c-ink); margin: 0 0 16px; letter-spacing: -.022em; }
.couture-feature-split .feature-split-text p { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 20px; }
.couture-feature-split .feature-split-bullets { list-style: none; padding: 0; margin: 0; }
.couture-feature-split .feature-split-bullets li { font-family: var(--c-body); font-size: 15px; line-height: 1.5; color: var(--c-ink); padding: 8px 0 8px 28px; position: relative; }
.couture-feature-split .feature-split-bullets li::before { content: "✓"; position: absolute; left: 0; top: 8px; color: var(--c-accent); font-weight: 700; font-size: 17px; }
.couture-feature-split .feature-split-visual { display: grid; place-items: center; min-height: 220px; background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)); border-radius: 16px; }
.couture-feature-split .feature-split-placeholder { font-family: var(--c-display); font-size: clamp(72px, 9vw, 144px); color: var(--c-accent); opacity: .5; line-height: 1; }
@media (max-width: 720px) { .couture-feature-split .feature-split-row { grid-template-columns: 1fr; direction: ltr; } }

/* --- announcement_bar (V6.333 clean conversion-band) --------- */
/* V6.384 — operator iter 36 audit (doughura: announce label invisible).
   Restore announce-bar to thin 12px padding-block + force readable
   contrast. !important wins over V6.380 vertical rhythm clamp. */
.couture-announce-bar { padding: 12px var(--c-gutter, 32px) !important; background: var(--c-ink) !important; color: var(--c-paper) !important; margin: 0 !important; max-width: none !important; width: 100%; }
section.couture-announce-bar.couture-section { padding-block: 12px !important; }
.couture-announce-bar .announce-bar-inner { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; }
.couture-announce-bar .announce-bar-text { font-family: var(--c-body); font-size: 13px; font-weight: 500; letter-spacing: .015em; color: var(--c-paper) !important; }
.couture-announce-bar .announce-bar-cta { font-family: var(--c-body); font-size: 13px; font-weight: 700; color: var(--c-paper) !important; text-decoration: underline; text-underline-offset: 3px; }
.couture-announce-bar .announce-bar-cta:hover { color: color-mix(in oklab, var(--c-paper) 80%, var(--c-accent)) !important; }

/* V6.384 — defensive AI-nav dropdown fix. Operator iter 36 (doughura):
   AI nav `<div class="dropdown-content">` rendered ALWAYS visible
   (under nav, awkward), only set `display:grid` on hover but never
   `display:none` default. Force hide-by-default on any element with
   class containing "dropdown-content" / "dropdown-menu" inside an AI
   nav scope. Show on parent :hover. */
[class*="ai-nav-"] .dropdown-content,
[class*="ai-nav-"] .dropdown-menu,
[class*="ai-nav-"] .submenu,
[class*="ai-nav-"] .mega-menu-panel,
[class*="ai-nav-"] [class*="dropdown"]:not(li):not(button):not(a) {
  display: none !important;
}
[class*="ai-nav-"] li:hover > .dropdown-content,
[class*="ai-nav-"] li:hover > .dropdown-menu,
[class*="ai-nav-"] li:hover > .submenu,
[class*="ai-nav-"] li:hover > .mega-menu-panel,
[class*="ai-nav-"] li:hover > [class*="dropdown"]:not(li):not(button):not(a),
[class*="ai-nav-"] li:focus-within > .dropdown-content,
[class*="ai-nav-"] li:focus-within > .dropdown-menu,
[class*="ai-nav-"] li:focus-within > .submenu,
[class*="ai-nav-"] li:focus-within > .mega-menu-panel {
  display: grid !important;
  position: absolute !important;
  top: 100% !important;
  left: 0;
  background-color: var(--c-paper, #fff) !important;
  border: 1px solid var(--c-line, #e5e5e5) !important;
  padding: 12px !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.18) !important;
  min-width: 180px;
  z-index: 200;
}

/* V6.384 — operator iter 36 (doughura "the catalog partial view cutoff"):
   couture-shelf section was getting WP's is-layout-constrained max-width
   AND V6.380 padding-block clamp, combining to clip the shelf grid on
   the right. Force the shelf section to full available width inside its
   page container. */
section.couture-shelf {
  max-width: 1240px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: calc(100% - 32px);
  box-sizing: border-box;
}
.couture-shelf .shelf-spotlight {
  width: 100%;
  box-sizing: border-box;
}

/* V6.384 — operator iter 36 (doughura "Categories: Pasta varieties +
   sauces missing images"): strip-tile--monogram tiles render only
   letter monograms when no category image. Operator wants real images.
   Defensive fallback: when the tile is the monogram letter style,
   apply a brand-accent gradient background so it at least reads as
   intentional design (not "missing image" placeholder). The category
   monogram tiles now look like polished category-cards. */
.couture-cat-strip .strip-tile--monogram {
  background: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 60%, var(--c-ink))) !important;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.couture-cat-strip .strip-tile--monogram::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(255,255,255,0.12) 0%, transparent 40%),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08) 0%, transparent 40%);
  pointer-events: none;
  z-index: 0;
}
.couture-cat-strip .strip-tile--monogram > * { position: relative; z-index: 1; }
.couture-cat-strip .strip-tile--monogram .strip-label {
  background: rgba(0, 0, 0, 0.4);
  padding: 6px 14px;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* --- icon_callout_grid (V6.333 clean conversion-band) -------- */
.couture-icon-callout { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-icon-callout .icon-callout-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(24px, 3vw, 48px); }
.couture-icon-callout .icon-callout-cell { padding: 8px; }
.couture-icon-callout .icon-callout-glyph { display: inline-grid; place-items: center; width: 40px; height: 40px; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-accent); border-radius: 8px; font-size: 18px; font-weight: 800; margin-bottom: 14px; }
.couture-icon-callout .icon-callout-cell h3 { font-family: var(--c-body); font-size: 16px; font-weight: 700; color: var(--c-ink); margin: 0 0 6px; letter-spacing: -.005em; }
.couture-icon-callout .icon-callout-cell p { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- two_column_cta (V6.333 clean conversion-band) ----------- */
.couture-two-col-cta { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-two-col-cta .two-col-cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 2.5vw, 40px); }
.couture-two-col-cta .two-col-cta-card { padding: clamp(36px, 4vw, 64px); background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 16px; transition: border-color .2s ease, transform .2s ease; }
.couture-two-col-cta .two-col-cta-card:hover { transform: translateY(-3px); border-color: var(--c-accent); }
.couture-two-col-cta .two-col-cta-card:nth-child(2) { background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)); }
.couture-two-col-cta .two-col-cta-eyebrow { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 14px; }
.couture-two-col-cta .two-col-cta-card h3 { font-family: var(--c-display); font-size: clamp(24px, 2.6vw, 36px); font-weight: 700; line-height: 1.15; color: var(--c-ink); margin: 0 0 14px; letter-spacing: -.022em; }
.couture-two-col-cta .two-col-cta-card p { font-family: var(--c-body); font-size: 15px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 24px; }
.couture-two-col-cta .two-col-cta-btn { font-family: var(--c-body); font-size: 14px; font-weight: 700; color: var(--c-accent); text-decoration: none; letter-spacing: .005em; }
.couture-two-col-cta .two-col-cta-btn:hover { color: var(--c-ink); }
@media (max-width: 720px) { .couture-two-col-cta .two-col-cta-grid { grid-template-columns: 1fr; } }

/* --- faq_two_col (V6.337 clean info-band) -------------------- */
.couture-faq-two-col { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-faq-two-col .faq-two-col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 2.5vw, 40px); }
.couture-faq-two-col .faq-two-col-item { padding: 24px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; }
.couture-faq-two-col .faq-two-col-q { font-family: var(--c-body); font-size: 17px; font-weight: 700; color: var(--c-ink); margin: 0 0 10px; line-height: 1.35; }
.couture-faq-two-col .faq-two-col-a { font-family: var(--c-body); font-size: 15px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
@media (max-width: 720px) { .couture-faq-two-col .faq-two-col-grid { grid-template-columns: 1fr; } }

/* --- contact_split (V6.337 clean info-band) ------------------ */
.couture-contact-split { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-contact-split .contact-split-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(40px, 5vw, 80px); }
.couture-contact-split .contact-split-left h2 { font-family: var(--c-display); font-size: clamp(32px, 4vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 14px; color: var(--c-ink); }
.couture-contact-split .contact-split-sub { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 28px; max-width: 50ch; }
.couture-contact-split .contact-split-info { list-style: none; padding: 0; margin: 0; }
.couture-contact-split .contact-split-info li { padding: 12px 0; border-top: 1px solid var(--c-line); display: flex; gap: 16px; }
.couture-contact-split .contact-split-info li:last-child { border-bottom: 1px solid var(--c-line); }
.couture-contact-split .contact-split-label { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--c-ink-soft, var(--c-ink)); width: 80px; flex-shrink: 0; padding-top: 2px; }
.couture-contact-split .contact-split-value { font-family: var(--c-body); font-size: 15px; color: var(--c-ink); font-weight: 500; }
.couture-contact-split .contact-split-form { padding: clamp(28px, 3vw, 40px); background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 16px; }
.couture-contact-split .contact-split-field { display: block; margin-bottom: 18px; }
.couture-contact-split .contact-split-field span { display: block; font-family: var(--c-body); font-size: 13px; font-weight: 600; color: var(--c-ink); margin-bottom: 6px; letter-spacing: .005em; }
.couture-contact-split .contact-split-field input,
.couture-contact-split .contact-split-field textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; font-family: var(--c-body); font-size: 14px; color: var(--c-ink); background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 8px; outline: 0; transition: border-color .2s ease; }
.couture-contact-split .contact-split-field input:focus,
.couture-contact-split .contact-split-field textarea:focus { border-color: var(--c-accent); }
.couture-contact-split .contact-split-btn { background: var(--c-accent); color: var(--c-paper); padding: 14px 28px; border-radius: 8px; font-family: var(--c-body); font-weight: 600; font-size: 15px; border: none; cursor: pointer; }
@media (max-width: 720px) { .couture-contact-split .contact-split-grid { grid-template-columns: 1fr; } }

/* --- brand_strip (V6.337 clean info-band) -------------------- */
.couture-brand-strip { padding: clamp(48px,6vw,96px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-brand-strip .brand-strip-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(20px, 2.5vw, 40px); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); padding: 36px 0; }
.couture-brand-strip .brand-strip-cell { padding: 0 8px; }
.couture-brand-strip .brand-strip-eyebrow { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 8px; }
.couture-brand-strip .brand-strip-claim { font-family: var(--c-display); font-size: clamp(18px, 1.8vw, 22px); font-weight: 600; line-height: 1.3; color: var(--c-ink); letter-spacing: -.012em; }

/* --- social_proof_logos (V6.341 clean social-proof) ---------- */
.couture-social-proof-logos { padding: clamp(40px,5vw,72px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-social-proof-logos .social-proof-logos-inner { text-align: center; }
.couture-social-proof-logos .social-proof-logos-caption { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--c-ink-soft, var(--c-ink)); margin-bottom: 24px; }
.couture-social-proof-logos .social-proof-logos-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(28px, 4vw, 64px); }
.couture-social-proof-logos .social-proof-logo { font-family: var(--c-body); font-size: clamp(14px, 1.2vw, 17px); font-weight: 700; letter-spacing: .14em; color: var(--c-ink-soft, var(--c-ink)); opacity: .65; transition: opacity .2s ease; }
.couture-social-proof-logos .social-proof-logo:hover { opacity: 1; }

/* --- sticky_cta_bar (V6.346 clean conversion band) ----------- */
.couture-sticky-cta { padding: clamp(56px,7vw,96px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-sticky-cta .sticky-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: clamp(24px, 3vw, 48px); flex-wrap: wrap; padding: clamp(36px, 4vw, 56px); background: var(--c-ink); color: var(--c-paper); border-radius: 18px; }
.couture-sticky-cta .sticky-cta-text { flex: 1 1 300px; }
.couture-sticky-cta .sticky-cta-text h2 { font-family: var(--c-display); font-size: clamp(24px, 3vw, 38px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; margin: 0 0 8px; color: var(--c-paper); }
.couture-sticky-cta .sticky-cta-text p { font-family: var(--c-body); font-size: clamp(14px, 1.3vw, 16px); line-height: 1.5; color: color-mix(in oklab, var(--c-paper) 80%, transparent); margin: 0; }
.couture-sticky-cta .sticky-cta-btn { background: var(--c-accent); color: var(--c-paper); padding: 14px 28px; border-radius: 8px; font-family: var(--c-body); font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
.couture-sticky-cta .sticky-cta-btn:hover { background: color-mix(in oklab, var(--c-accent) 88%, var(--c-paper)); }

/* --- value_prop_row (V6.346 clean conversion band) ----------- */
.couture-value-prop { padding: clamp(48px,6vw,96px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-value-prop .value-prop-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(24px, 3vw, 48px); text-align: center; }
.couture-value-prop .value-prop-cell { padding: 20px 12px; border-left: 1px solid var(--c-line); }
.couture-value-prop .value-prop-cell:first-child { border-left: 0; }
.couture-value-prop .value-prop-stat { font-family: var(--c-display); font-size: clamp(48px, 6vw, 80px); font-weight: 700; color: var(--c-accent); line-height: 1; letter-spacing: -.024em; margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.couture-value-prop .value-prop-label { font-family: var(--c-body); font-size: 14px; font-weight: 500; color: var(--c-ink-soft, var(--c-ink)); letter-spacing: .015em; }
@media (max-width: 720px) { .couture-value-prop .value-prop-cell { border-left: 0; border-top: 1px solid var(--c-line); padding-top: 24px; } .couture-value-prop .value-prop-cell:first-child { border-top: 0; padding-top: 0; } }

/* --- press_quote_bar (V6.346 clean conversion band) ---------- */
.couture-press-quote-bar { padding: clamp(48px,6vw,96px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-press-quote-bar .press-quote-bar-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(28px, 3vw, 48px); padding: 36px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.couture-press-quote-bar .press-quote-bar-cell { padding: 8px 4px; text-align: center; }
.couture-press-quote-bar .press-quote-bar-text { font-family: var(--c-display); font-size: clamp(17px, 1.6vw, 21px); line-height: 1.4; color: var(--c-ink); margin: 0 0 12px; padding: 0; border: 0; font-style: italic; font-weight: 500; }
.couture-press-quote-bar .press-quote-bar-source { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-ink-soft, var(--c-ink)); }

/* --- about_split (V6.349 clean about-section) --------------- */
.couture-about-split { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-about-split .about-split-grid { display: grid; grid-template-columns: 0.9fr 1.2fr; gap: clamp(40px, 5vw, 80px); align-items: center; }
.couture-about-split .about-split-portrait { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 16px; display: block; }
.couture-about-split .about-split-portrait--placeholder { background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); display: grid; place-items: center; font-family: var(--c-display); font-size: clamp(80px, 10vw, 128px); font-weight: 700; color: var(--c-accent); line-height: 1; }
.couture-about-split .about-split-eyebrow { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 14px; }
.couture-about-split .about-split-right h2 { font-family: var(--c-display); font-size: clamp(32px, 4vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.12; margin: 0 0 20px; color: var(--c-ink); max-width: 22ch; }
.couture-about-split .about-split-right p { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.65; color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 16px; max-width: 56ch; }
.couture-about-split .about-split-sig { font-family: var(--c-body); font-size: 14px; color: var(--c-ink); margin-top: 22px; font-style: italic; }
.couture-about-split .about-split-role { color: var(--c-ink-soft, var(--c-ink)); font-style: normal; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; margin-left: 4px; }
@media (max-width: 720px) { .couture-about-split .about-split-grid { grid-template-columns: 1fr; } }
/* V6.361 — single-column variant when no portrait or editorial image is
   available. Operator R+ visual audit (jigzari.com): old fallback rendered
   a giant first-letter dropcap ("T" for "The team") in a pink panel taking
   half the section. Now: hide the placeholder column entirely and render
   the text content centered + capped width, like a founder letter. */
.couture-about-split--no-portrait .about-split-grid--single { grid-template-columns: 1fr; max-width: 720px; margin: 0 auto; }
.couture-about-split--no-portrait .about-split-right--full { text-align: center; }
.couture-about-split--no-portrait .about-split-right--full h2 { max-width: 100%; }
.couture-about-split--no-portrait .about-split-right--full p { max-width: 60ch; margin-left: auto; margin-right: auto; }
.couture-about-split--no-portrait .about-split-eyebrow { text-align: center; }

/* --- locations_strip (V6.349 clean locations-section) ------- */
.couture-locations-strip { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-locations-strip .locations-strip-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(20px, 2.5vw, 40px); }
.couture-locations-strip .locations-strip-card { padding: 28px 24px; background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 12px; transition: border-color .2s ease; }
.couture-locations-strip .locations-strip-card:hover { border-color: var(--c-accent); }
.couture-locations-strip .locations-strip-city { font-family: var(--c-display); font-size: clamp(20px, 2vw, 26px); font-weight: 700; color: var(--c-ink); margin-bottom: 10px; letter-spacing: -.018em; }
.couture-locations-strip .locations-strip-address { font-family: var(--c-body); font-size: 14px; line-height: 1.5; color: var(--c-ink-soft, var(--c-ink)); margin-bottom: 8px; }
.couture-locations-strip .locations-strip-hours { font-family: var(--c-body); font-size: 13px; color: var(--c-accent); font-weight: 600; letter-spacing: .005em; }
.couture-locations-strip .locations-strip-phone { font-family: var(--c-body); font-size: 13px; color: var(--c-ink); margin-top: 6px; font-variant-numeric: tabular-nums; }

/* --- faq_hero_split (V6.356 clean info-section) ------------- */
.couture-faq-hero-split { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-faq-hero-split .faq-hero-split-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(40px, 5vw, 80px); align-items: start; }
.couture-faq-hero-split .faq-hero-split-left h2 { font-family: var(--c-display); font-size: clamp(32px, 4vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 16px; color: var(--c-ink); max-width: 22ch; }
.couture-faq-hero-split .faq-hero-split-left p { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; max-width: 38ch; }
.couture-faq-hero-split .faq-hero-split-list { list-style: none; padding: 0; margin: 0; }
.couture-faq-hero-split .faq-hero-split-item { padding: 22px 0; border-top: 1px solid var(--c-line); }
.couture-faq-hero-split .faq-hero-split-item:last-child { border-bottom: 1px solid var(--c-line); }
.couture-faq-hero-split .faq-hero-split-q { font-family: var(--c-body); font-size: 17px; font-weight: 700; color: var(--c-ink); margin: 0 0 8px; line-height: 1.35; }
.couture-faq-hero-split .faq-hero-split-a { font-family: var(--c-body); font-size: 15px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
@media (max-width: 720px) { .couture-faq-hero-split .faq-hero-split-grid { grid-template-columns: 1fr; } }

/* --- why_us_band (V6.356 clean why-section) ----------------- */
.couture-why-us { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-why-us .why-us-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(28px, 3vw, 48px); }
.couture-why-us .why-us-cell { padding: 8px 0; }
.couture-why-us .why-us-num { font-family: var(--c-body); font-size: 13px; font-weight: 700; letter-spacing: .08em; color: var(--c-accent); margin-bottom: 14px; font-variant-numeric: tabular-nums; }
.couture-why-us .why-us-cell h3 { font-family: var(--c-display); font-size: clamp(20px, 2vw, 26px); font-weight: 700; color: var(--c-ink); margin: 0 0 12px; letter-spacing: -.02em; line-height: 1.2; }
.couture-why-us .why-us-cell p { font-family: var(--c-body); font-size: 15px; line-height: 1.6; color: var(--c-ink-soft, var(--c-ink)); margin: 0; max-width: 38ch; }

/* --- plain_pullquote_band (V6.356 clean quiet pullquote) ---- */
.couture-plain-pullquote { padding: clamp(72px,9vw,128px) var(--c-gutter, 32px); max-width: 880px; margin: 0 auto; text-align: center; }
.couture-plain-pullquote .plain-pullquote-text { font-family: var(--c-display); font-size: clamp(24px, 2.8vw, 38px); line-height: 1.4; color: var(--c-ink); margin: 0; padding: 0; border: 0; font-style: italic; font-weight: 400; letter-spacing: -.014em; max-width: 26ch; margin: 0 auto; }
.couture-plain-pullquote .plain-pullquote-attr { font-family: var(--c-body); font-size: 13px; color: var(--c-ink-soft, var(--c-ink)); margin-top: 18px; letter-spacing: .04em; font-weight: 600; }

/* --- about_team_grid (V6.370 clean team-section) ------------ */
.couture-team-grid { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-team-grid .team-grid-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(28px, 3vw, 48px); }
.couture-team-grid .team-grid-cell { padding: 8px; }
.couture-team-grid .team-grid-portrait { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 12px; display: block; margin-bottom: 16px; }
.couture-team-grid .team-grid-portrait--placeholder { background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); display: grid; place-items: center; font-family: var(--c-display); font-size: clamp(72px, 8vw, 108px); font-weight: 700; color: var(--c-accent); line-height: 1; }
.couture-team-grid .team-grid-name { font-family: var(--c-body); font-size: 18px; font-weight: 700; color: var(--c-ink); margin: 0 0 4px; letter-spacing: -.005em; }
.couture-team-grid .team-grid-role { font-family: var(--c-body); font-size: 13px; font-weight: 600; color: var(--c-accent); margin-bottom: 10px; letter-spacing: .015em; }
.couture-team-grid .team-grid-bio { font-family: var(--c-body); font-size: 14px; line-height: 1.5; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }

/* --- ribbon_offer (V6.370 clean offer ribbon) --------------- */
.couture-ribbon-offer { padding: clamp(40px,5vw,72px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-ribbon-offer .ribbon-offer-band { display: flex; align-items: center; justify-content: space-between; gap: clamp(20px, 2.5vw, 40px); flex-wrap: wrap; padding: 22px clamp(24px, 3vw, 36px); background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)); border-radius: 999px; border: 1px solid color-mix(in oklab, var(--c-accent) 16%, transparent); }
.couture-ribbon-offer .ribbon-offer-text { display: flex; flex-direction: column; gap: 2px; }
.couture-ribbon-offer .ribbon-offer-head { font-family: var(--c-display); font-size: clamp(16px, 1.5vw, 19px); font-weight: 700; color: var(--c-ink); letter-spacing: -.014em; line-height: 1.25; }
.couture-ribbon-offer .ribbon-offer-terms { font-family: var(--c-body); font-size: 12px; color: var(--c-ink-soft, var(--c-ink)); letter-spacing: .005em; }
.couture-ribbon-offer .ribbon-offer-cta { font-family: var(--c-body); font-size: 14px; font-weight: 700; color: var(--c-accent); text-decoration: none; white-space: nowrap; padding: 10px 20px; border-radius: 999px; background: var(--c-paper); transition: background-color .2s ease; }
.couture-ribbon-offer .ribbon-offer-cta:hover { background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)); }

/* --- pricing_compare_table (V6.370 clean compare-table) ----- */
.couture-pricing-compare { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-pricing-compare .pricing-compare-table { width: 100%; border-collapse: collapse; font-family: var(--c-body); }
.couture-pricing-compare .pricing-compare-table thead th { padding: 24px 18px; vertical-align: bottom; border-bottom: 1px solid var(--c-line); text-align: left; }
.couture-pricing-compare .pricing-compare-tier-name { font-family: var(--c-display); font-size: clamp(18px, 1.8vw, 22px); font-weight: 700; color: var(--c-ink); margin-bottom: 6px; letter-spacing: -.014em; }
.couture-pricing-compare .pricing-compare-tier-price { font-family: var(--c-display); font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; color: var(--c-accent); letter-spacing: -.018em; font-variant-numeric: tabular-nums; }
.couture-pricing-compare .pricing-compare-table tbody td { padding: 16px 18px; border-bottom: 1px solid color-mix(in oklab, var(--c-ink) 6%, transparent); font-size: 14px; }
.couture-pricing-compare .pricing-compare-feature { font-weight: 600; color: var(--c-ink); }
.couture-pricing-compare .pricing-compare-cell { color: var(--c-ink-soft, var(--c-ink)); font-variant-numeric: tabular-nums; }
@media (max-width: 720px) {
  .couture-pricing-compare .pricing-compare-table { font-size: 13px; }
  .couture-pricing-compare .pricing-compare-table thead th,
  .couture-pricing-compare .pricing-compare-table tbody td { padding: 12px 8px; }
}

/* --- testimonial_video_card (V6.382 clean testimonial) ------ */
.couture-testimonial-video { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; }
.couture-testimonial-video .testimonial-video-card { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(28px, 3vw, 48px); align-items: center; padding: clamp(32px, 4vw, 56px); background: var(--c-paper); border: 1px solid var(--c-line); border-radius: 18px; }
.couture-testimonial-video .testimonial-video-thumb { aspect-ratio: 16/12; background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)); border-radius: 12px; display: grid; place-items: center; position: relative; }
.couture-testimonial-video .testimonial-video-play { font-size: 40px; color: var(--c-accent); opacity: .7; }
.couture-testimonial-video .testimonial-video-quote { font-family: var(--c-display); font-size: clamp(20px, 2.2vw, 28px); line-height: 1.4; color: var(--c-ink); margin: 0 0 24px; padding: 0; border: 0; font-weight: 500; letter-spacing: -.012em; }
.couture-testimonial-video .testimonial-video-attr { display: flex; flex-direction: column; gap: 4px; }
.couture-testimonial-video .testimonial-video-author { font-family: var(--c-body); font-size: 14px; font-weight: 700; color: var(--c-ink); }
.couture-testimonial-video .testimonial-video-role { font-family: var(--c-body); font-size: 13px; color: var(--c-ink-soft, var(--c-ink)); letter-spacing: .015em; }
@media (max-width: 720px) { .couture-testimonial-video .testimonial-video-card { grid-template-columns: 1fr; } }

/* --- split_image_text (V6.382 clean split-section) ---------- */
.couture-split-image-text { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-split-image-text .split-it-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 80px); align-items: center; }
.couture-split-image-text.reverse .split-it-grid { direction: rtl; }
.couture-split-image-text.reverse .split-it-grid > * { direction: ltr; }
.couture-split-image-text .split-it-image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 16px; display: block; }
.couture-split-image-text .split-it-placeholder { width: 100%; aspect-ratio: 4/5; background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)); border-radius: 16px; display: grid; place-items: center; font-family: var(--c-display); font-size: clamp(80px, 10vw, 144px); color: var(--c-accent); opacity: .5; }
.couture-split-image-text .split-it-eyebrow { font-family: var(--c-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 16px; }
.couture-split-image-text .split-it-text h2 { font-family: var(--c-display); font-size: clamp(32px, 4vw, 56px); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 18px; color: var(--c-ink); max-width: 22ch; }
.couture-split-image-text .split-it-text p { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.65; color: var(--c-ink-soft, var(--c-ink)); margin: 0 0 28px; max-width: 50ch; }
.couture-split-image-text .split-it-cta { font-family: var(--c-body); font-size: 14px; font-weight: 700; color: var(--c-accent); text-decoration: none; }
.couture-split-image-text .split-it-cta:hover { color: var(--c-ink); }
@media (max-width: 720px) {
  .couture-split-image-text .split-it-grid,
  .couture-split-image-text.reverse .split-it-grid { grid-template-columns: 1fr; direction: ltr; }
}

/* --- numbered_list_2col (V6.382 clean numbered-list) -------- */
.couture-numlist-2col { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-numlist-2col .numlist-2col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 3vw, 48px); }
.couture-numlist-2col .numlist-2col-item { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 16px 0; border-top: 1px solid var(--c-line); align-items: start; }
.couture-numlist-2col .numlist-2col-num { font-family: var(--c-display); font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; color: var(--c-accent); line-height: 1; padding-top: 4px; min-width: 48px; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.couture-numlist-2col .numlist-2col-body h3 { font-family: var(--c-body); font-size: 17px; font-weight: 700; color: var(--c-ink); margin: 0 0 6px; letter-spacing: -.005em; }
.couture-numlist-2col .numlist-2col-body p { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
@media (max-width: 720px) { .couture-numlist-2col .numlist-2col-grid { grid-template-columns: 1fr; } }

/* --- brand_promise_band (V6.382 clean brand-promise) -------- */
.couture-brand-promise { padding: clamp(80px,10vw,144px) var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; text-align: center; }
.couture-brand-promise .brand-promise-text { font-family: var(--c-display); font-size: clamp(32px, 4.5vw, 64px); line-height: 1.18; color: var(--c-ink); margin: 0; font-weight: 600; letter-spacing: -.022em; max-width: 22ch; margin: 0 auto; }
.couture-brand-promise .brand-promise-sub { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 24px auto 0; max-width: 48ch; }

/* --- full_width_image_band (V6.387 clean image-band) -------- */
.couture-fwi-band { padding: clamp(48px,6vw,96px) 0; max-width: none; }
.couture-fwi-band .fwi-band-frame { position: relative; width: 100%; aspect-ratio: 21/9; overflow: hidden; }
.couture-fwi-band .fwi-band-image { width: 100%; height: 100%; object-fit: cover; display: block; }
.couture-fwi-band .fwi-band-placeholder { width: 100%; height: 100%; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); display: grid; place-items: center; font-family: var(--c-display); font-size: clamp(80px, 12vw, 200px); color: var(--c-accent); opacity: .35; line-height: 1; }
.couture-fwi-band .fwi-band-caption { position: absolute; bottom: clamp(20px, 3vw, 40px); left: clamp(20px, 3vw, 48px); right: clamp(20px, 3vw, 48px); }
.couture-fwi-band .fwi-band-caption-text { font-family: var(--c-display); font-size: clamp(20px, 2.4vw, 32px); font-weight: 400; font-style: italic; color: var(--c-paper); margin: 0; line-height: 1.3; letter-spacing: -.012em; max-width: 36ch; mix-blend-mode: difference; }
.couture-fwi-band .fwi-band-caption-sub { font-family: var(--c-body); font-size: 13px; color: var(--c-paper); margin-top: 8px; letter-spacing: .04em; mix-blend-mode: difference; }

/* --- icon_features_4col (V6.387 clean 4-col features) ------- */
.couture-if4col { padding: clamp(56px,7vw,96px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-if4col .if4col-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 2.5vw, 36px); }
.couture-if4col .if4col-cell { padding: 18px 8px; text-align: center; }
.couture-if4col .if4col-glyph { display: inline-grid; place-items: center; width: 36px; height: 36px; background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); color: var(--c-accent); border-radius: 50%; font-size: 16px; font-weight: 800; margin-bottom: 12px; }
.couture-if4col .if4col-cell h3 { font-family: var(--c-body); font-size: 15px; font-weight: 700; color: var(--c-ink); margin: 0 0 4px; }
.couture-if4col .if4col-cell p { font-family: var(--c-body); font-size: 13px; line-height: 1.5; color: var(--c-ink-soft, var(--c-ink)); margin: 0; }
@media (max-width: 720px) { .couture-if4col .if4col-row { grid-template-columns: repeat(2, 1fr); } }

/* --- quote_split (V6.387 clean 2-col quote) ----------------- */
.couture-quote-split { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-quote-split .quote-split-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(40px, 5vw, 80px); align-items: start; }
.couture-quote-split .quote-split-quote { font-family: var(--c-display); font-size: clamp(26px, 3vw, 44px); line-height: 1.32; color: var(--c-ink); margin: 0; padding: 0; border: 0; font-weight: 500; letter-spacing: -.018em; font-style: italic; max-width: 24ch; }
.couture-quote-split .quote-split-attr { padding-top: 8px; }
.couture-quote-split .quote-split-author { font-family: var(--c-body); font-size: 16px; font-weight: 700; color: var(--c-ink); }
.couture-quote-split .quote-split-role { font-family: var(--c-body); font-size: 13px; font-weight: 600; color: var(--c-accent); margin-top: 4px; letter-spacing: .015em; }
.couture-quote-split .quote-split-context { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 16px 0 0; }
@media (max-width: 720px) { .couture-quote-split .quote-split-grid { grid-template-columns: 1fr; } }

/* --- cta_dark_band (V6.387 clean dark CTA band) ------------- */
.couture-cta-dark { padding: 0; margin: clamp(40px,5vw,72px) auto; max-width: 1180px; padding-left: var(--c-gutter, 32px); padding-right: var(--c-gutter, 32px); }
.couture-cta-dark .cta-dark-inner { background: var(--c-ink); color: var(--c-paper); padding: clamp(56px, 7vw, 96px) clamp(40px, 5vw, 80px); border-radius: 18px; text-align: center; }
.couture-cta-dark .cta-dark-headline { font-family: var(--c-display); font-size: clamp(36px, 4.6vw, 64px); font-weight: 700; letter-spacing: -.022em; line-height: 1.1; margin: 0 0 18px; color: var(--c-paper); max-width: 22ch; margin: 0 auto 18px; }
.couture-cta-dark .cta-dark-sub { font-family: var(--c-body); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; color: color-mix(in oklab, var(--c-paper) 80%, transparent); margin: 0 auto 36px; max-width: 50ch; }
.couture-cta-dark .cta-dark-btn { background: var(--c-accent); color: var(--c-paper); padding: 16px 32px; border-radius: 8px; font-family: var(--c-body); font-weight: 700; font-size: 15px; text-decoration: none; display: inline-block; }
.couture-cta-dark .cta-dark-btn:hover { background: color-mix(in oklab, var(--c-accent) 88%, var(--c-paper)); }

/* --- process_3step (V6.401 clean horizontal process) -------- */
.couture-process-3step { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-process-3step .process-3step-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(28px, 3vw, 48px); position: relative; }
.couture-process-3step .process-3step-item { padding: 18px 8px; }
.couture-process-3step .process-3step-num { font-family: var(--c-display); font-size: clamp(32px, 3.5vw, 48px); font-weight: 700; color: var(--c-accent); line-height: 1; margin-bottom: 16px; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.couture-process-3step .process-3step-title { font-family: var(--c-display); font-size: clamp(20px, 2vw, 26px); font-weight: 700; color: var(--c-ink); margin: 0 0 10px; letter-spacing: -.018em; line-height: 1.2; }
.couture-process-3step .process-3step-desc { font-family: var(--c-body); font-size: 14px; line-height: 1.55; color: var(--c-ink-soft, var(--c-ink)); margin: 0; max-width: 36ch; }

/* --- value_strip_horizontal (V6.401 clean value strip) ------ */
.couture-value-strip { padding: clamp(32px,4vw,56px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-value-strip .value-strip-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(24px, 3vw, 56px); padding: 22px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.couture-value-strip .value-strip-item { display: flex; align-items: center; gap: 10px; }
.couture-value-strip .value-strip-icon { color: var(--c-accent); font-size: 17px; font-weight: 800; }
.couture-value-strip .value-strip-label { font-family: var(--c-body); font-size: 13px; font-weight: 600; color: var(--c-ink); letter-spacing: .04em; text-transform: uppercase; }

/* --- mini_logo_strip (V6.407 dense social-proof) ------------ */
.couture-mini-logo-strip { padding: clamp(28px,4vw,52px) var(--c-gutter, 32px); max-width: 1180px; margin: 0 auto; }
.couture-mini-logo-strip .mini-logo-strip-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(20px, 3vw, 44px); padding: 16px 0; opacity: .55; }
.couture-mini-logo-strip .mini-logo-strip-item { font-family: var(--c-body); font-size: clamp(13px, 1.1vw, 15px); font-weight: 700; letter-spacing: .14em; color: var(--c-ink-soft, var(--c-ink)); }

/* --- vertical_timeline_band (V6.407 clean vertical timeline) - */
.couture-vertical-timeline { padding: clamp(64px,8vw,112px) var(--c-gutter, 32px); max-width: 1080px; margin: 0 auto; }
.couture-vertical-timeline .vertical-timeline-list { list-style: none; padding: 0; margin: 0; }
.couture-vertical-timeline .vertical-timeline-item { display: grid; grid-template-columns: 140px 1fr; gap: clamp(24px, 3vw, 48px); padding: 28px 0; border-top: 1px solid var(--c-line); position: relative; }
.couture-vertical-timeline .vertical-timeline-item:last-child { border-bottom: 1px solid var(--c-line); }
.couture-vertical-timeline .vertical-timeline-date { font-family: var(--c-display); font-size: clamp(20px, 2.2vw, 28px); font-weight: 700; color: var(--c-accent); letter-spacing: -.018em; line-height: 1.1; padding-top: 4px; font-variant-numeric: tabular-nums; }
.couture-vertical-timeline .vertical-timeline-body h3 { font-family: var(--c-display); font-size: clamp(20px, 2.2vw, 28px); font-weight: 700; color: var(--c-ink); margin: 0 0 8px; letter-spacing: -.018em; line-height: 1.2; }
.couture-vertical-timeline .vertical-timeline-body p { font-family: var(--c-body); font-size: 15px; line-height: 1.65; color: var(--c-ink-soft, var(--c-ink)); margin: 0; max-width: 60ch; }
@media (max-width: 720px) {
  .couture-vertical-timeline .vertical-timeline-item { grid-template-columns: 1fr; gap: 8px; }
  .couture-vertical-timeline .vertical-timeline-date { font-size: 18px; }
}

@media (max-width: 720px) {
  .couture-journal-monogram .jr-mono-row { grid-template-columns: 56px 1fr; gap: 16px; }
  .couture-journal-monogram .jr-mono-num { font-size: 28px; padding-top: 6px; }
}

/* ============================================================
   V6.257 — operator R27 night autopilot Round 24:
   Per-voice-register typography CSS layer. Body class is
   `couture-voice-<register>` (set by functions.php). Adjusts
   eyebrow/button/label typography to match brand voice without
   changing copy. Clean families bias toward subtle adjustments;
   designer voices apply more pronounced shifts.
   ============================================================ */

/* gentle-zen — wellness register: lowercase eyebrows, very light weight,
   relaxed letter-spacing, soft mantra feel. */
body.couture-voice-gentle-zen .eyebrow,
body.couture-voice-gentle-zen .couture-section-head .num,
body.couture-voice-gentle-zen .nav-cta-eyebrow {
  text-transform: lowercase !important;
  letter-spacing: .03em !important;
  font-weight: 300 !important;
}
body.couture-voice-gentle-zen .cta, body.couture-voice-gentle-zen .cta-btn {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* tech-bro-confident — Vercel/Linear marketing: bump button weight,
   tighter letter-spacing, no caps on body labels. */
body.couture-voice-tech-bro-confident .cta,
body.couture-voice-tech-bro-confident .cta-btn,
body.couture-voice-tech-bro-confident .wp-element-button,
body.couture-voice-tech-bro-confident button[type=submit] {
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
  text-transform: none !important;
}
body.couture-voice-tech-bro-confident .eyebrow {
  font-weight: 600;
  letter-spacing: .04em;
}

/* archivist-meticulous — catalog notation: monospace eyebrows + caps,
   chunky letter-spacing, period-ended captions. */
body.couture-voice-archivist-meticulous .eyebrow,
body.couture-voice-archivist-meticulous .couture-section-head .num,
body.couture-voice-archivist-meticulous .nav-cta-eyebrow {
  font-family: var(--c-mono) !important;
  text-transform: uppercase !important;
  letter-spacing: .22em !important;
  font-weight: 500;
}
body.couture-voice-archivist-meticulous .meta {
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: .04em;
}

/* mountaineer-grit — outdoor explorer: bold sans labels, wider tracking,
   uppercase action-verb buttons. */
body.couture-voice-mountaineer-grit .cta,
body.couture-voice-mountaineer-grit .cta-btn {
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body.couture-voice-mountaineer-grit .eyebrow {
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* archivist (older voice) — wall-text register: italic eyebrow, mono caption */
body.couture-voice-archivist .eyebrow {
  font-family: var(--c-display);
  font-style: italic;
  letter-spacing: .04em;
  text-transform: none;
}

/* devotional — reverential: thin h-weight, generous spacing */
body.couture-voice-devotional h1,
body.couture-voice-devotional h2 {
  font-weight: 300 !important;
}

/* punk — short sharp loud lowercase */
body.couture-voice-punk .eyebrow,
body.couture-voice-punk .nav-cta-eyebrow {
  text-transform: lowercase !important;
  font-weight: 800 !important;
  letter-spacing: -.005em !important;
}

/* ============================================================
   V6.251 — operator R27 night autopilot Round 21:
   Hero composition CSS layer for V6.236 new options.
   Per-comp CSS targets `body.couture-herocomp-<name>` so the
   underlying hero renderer keeps producing standard markup but
   the layout shifts visibly per AI's heroComposition pick.
   ============================================================ */

/* split-asymmetric — 70/30 balance instead of 50/50 (more editorial) */
body.couture-herocomp-split-asymmetric .couture-hero,
body.couture-herocomp-split-asymmetric .hero-biz-art {
  display: grid !important;
  grid-template-columns: 1.7fr 1fr !important;
  gap: clamp(36px, 5vw, 80px);
  align-items: center;
}
body.couture-herocomp-split-asymmetric .couture-hero img,
body.couture-herocomp-split-asymmetric .hero-biz-art img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}
body.couture-herocomp-split-asymmetric .couture-hero h1 {
  font-size: clamp(2.6rem, 6vw, 4.8rem) !important;
  letter-spacing: -.025em;
}
@media (max-width: 800px) {
  body.couture-herocomp-split-asymmetric .couture-hero,
  body.couture-herocomp-split-asymmetric .hero-biz-art {
    grid-template-columns: 1fr !important;
  }
}

/* product-feature-pair — hero text + 2 featured items beside */
body.couture-herocomp-product-feature-pair .couture-hero {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(36px, 5vw, 72px);
  align-items: end;
  padding-block: clamp(72px, 10vw, 128px);
}
body.couture-herocomp-product-feature-pair .couture-hero img:not(.brand-logo) {
  width: 100%;
  border-radius: 8px;
  filter: brightness(.96) saturate(1.05);
  box-shadow: 0 18px 40px -16px rgba(0,0,0,.18);
}
@media (max-width: 800px) {
  body.couture-herocomp-product-feature-pair .couture-hero {
    grid-template-columns: 1fr !important;
  }
}

/* video-loop — looping video bg behind centered text. We don't have a
   real <video> renderer (yet), so this fakes it with an animated
   gradient that simulates a video loop's color shift. */
body.couture-herocomp-video-loop .couture-hero {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding-block: clamp(120px, 16vw, 220px);
  background:
    linear-gradient(135deg,
      color-mix(in oklab, var(--c-accent) 28%, var(--c-ink)) 0%,
      color-mix(in oklab, var(--c-accent-2, var(--c-accent)) 24%, var(--c-ink)) 50%,
      color-mix(in oklab, var(--c-accent) 32%, var(--c-ink)) 100%);
  background-size: 200% 200%;
  color: var(--c-paper);
}
@media (prefers-reduced-motion: no-preference) {
  body.couture-herocomp-video-loop .couture-hero {
    animation: video-loop-shift 14s ease-in-out infinite;
  }
}
@keyframes video-loop-shift {
  0%, 100% { background-position: 0% 0%; }
  50%      { background-position: 100% 100%; }
}
body.couture-herocomp-video-loop .couture-hero h1,
body.couture-herocomp-video-loop .couture-hero p,
body.couture-herocomp-video-loop .couture-hero .eyebrow {
  color: var(--c-paper) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.35);
}
body.couture-herocomp-video-loop .couture-hero .cta-btn {
  background: var(--c-paper) !important;
  color: var(--c-ink) !important;
  border: none;
}

/* angled-photo — diagonal-cropped photo overlapping text (zine/editorial) */
body.couture-herocomp-angled-photo .couture-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 60vh;
  padding-block: 0;
  overflow: hidden;
}
body.couture-herocomp-angled-photo .couture-hero > *:not(img) {
  padding: clamp(48px, 7vw, 96px) clamp(32px, 5vw, 80px);
  align-self: center;
}
body.couture-herocomp-angled-photo .couture-hero img:not(.brand-logo) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: polygon(8% 0%, 100% 0%, 100% 100%, 0% 100%);
  -webkit-clip-path: polygon(8% 0%, 100% 0%, 100% 100%, 0% 100%);
  margin-left: -8%;
}
body.couture-herocomp-angled-photo .couture-hero h1 {
  font-size: clamp(2.6rem, 6vw, 4.6rem) !important;
  letter-spacing: -.025em;
  line-height: 1.05;
}
@media (max-width: 800px) {
  body.couture-herocomp-angled-photo .couture-hero {
    grid-template-columns: 1fr !important;
    min-height: auto;
  }
  body.couture-herocomp-angled-photo .couture-hero img:not(.brand-logo) {
    clip-path: none !important;
    -webkit-clip-path: none !important;
    margin-left: 0;
    aspect-ratio: 16 / 9;
  }
}

/* V6.386 — WC product gallery polish (outseta/openphone-tier PDP imagery) */
.tpl-clean-business .woocommerce div.product div.images,
.tpl-modern-saas    .woocommerce div.product div.images,
.tpl-retail-flat    .woocommerce div.product div.images {
  background: linear-gradient(135deg, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%, var(--c-paper) 100%);
  border-radius: 16px;
  padding: clamp(16px, 2vw, 28px);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.tpl-clean-business .woocommerce div.product div.images img,
.tpl-modern-saas    .woocommerce div.product div.images img,
.tpl-retail-flat    .woocommerce div.product div.images img {
  border-radius: 12px;
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.55) inset, 0 1px 2px rgba(0,0,0,0.04), 0 12px 32px -16px rgba(0,0,0,0.18);
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s cubic-bezier(.2,.7,.2,1);
}
.tpl-clean-business .woocommerce div.product div.images:hover img,
.tpl-modern-saas    .woocommerce div.product div.images:hover img,
.tpl-retail-flat    .woocommerce div.product div.images:hover img {
  transform: scale(1.015);
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.7) inset, 0 4px 8px rgba(0,0,0,0.05), 0 18px 44px -16px rgba(0,0,0,0.22);
}
.tpl-clean-business .woocommerce div.product .flex-control-thumbs,
.tpl-modern-saas    .woocommerce div.product .flex-control-thumbs,
.tpl-retail-flat    .woocommerce div.product .flex-control-thumbs {
  margin-top: 14px !important;
  gap: 10px !important;
}
.tpl-clean-business .woocommerce div.product .flex-control-thumbs li img,
.tpl-modern-saas    .woocommerce div.product .flex-control-thumbs li img,
.tpl-retail-flat    .woocommerce div.product .flex-control-thumbs li img {
  border-radius: 8px;
  opacity: 0.6;
  transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease;
  cursor: pointer;
}
.tpl-clean-business .woocommerce div.product .flex-control-thumbs li img:hover,
.tpl-modern-saas    .woocommerce div.product .flex-control-thumbs li img:hover,
.tpl-retail-flat    .woocommerce div.product .flex-control-thumbs li img:hover,
.tpl-clean-business .woocommerce div.product .flex-control-thumbs li img.flex-active,
.tpl-modern-saas    .woocommerce div.product .flex-control-thumbs li img.flex-active,
.tpl-retail-flat    .woocommerce div.product .flex-control-thumbs li img.flex-active {
  opacity: 1;
  transform: translateY(-1px);
  box-shadow: 0 0 0 2px var(--c-accent), 0 6px 16px -8px color-mix(in oklab, var(--c-accent) 60%, transparent);
}

/* V6.386 — Animated underline reveal for nav links (outseta-tier hover) */
.tpl-clean-business .couture-primary-nav a:not(.cta),
.tpl-modern-saas    .couture-primary-nav a:not(.cta),
.tpl-retail-flat    .couture-primary-nav a:not(.cta),
.tpl-clean-business [class*="ai-nav-"] nav a:not(.cta):not(.btn),
.tpl-modern-saas    [class*="ai-nav-"] nav a:not(.cta):not(.btn),
.tpl-retail-flat    [class*="ai-nav-"] nav a:not(.cta):not(.btn) {
  position: relative;
}
.tpl-clean-business .couture-primary-nav a:not(.cta)::after,
.tpl-modern-saas    .couture-primary-nav a:not(.cta)::after,
.tpl-retail-flat    .couture-primary-nav a:not(.cta)::after,
.tpl-clean-business [class*="ai-nav-"] nav a:not(.cta):not(.btn)::after,
.tpl-modern-saas    [class*="ai-nav-"] nav a:not(.cta):not(.btn)::after,
.tpl-retail-flat    [class*="ai-nav-"] nav a:not(.cta):not(.btn)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 0;
  height: 2px;
  background: var(--c-accent);
  transition: width .25s cubic-bezier(.2,.7,.2,1), left .25s cubic-bezier(.2,.7,.2,1);
}
.tpl-clean-business .couture-primary-nav a:not(.cta):hover::after,
.tpl-modern-saas    .couture-primary-nav a:not(.cta):hover::after,
.tpl-retail-flat    .couture-primary-nav a:not(.cta):hover::after,
.tpl-clean-business [class*="ai-nav-"] nav a:not(.cta):not(.btn):hover::after,
.tpl-modern-saas    [class*="ai-nav-"] nav a:not(.cta):not(.btn):hover::after,
.tpl-retail-flat    [class*="ai-nav-"] nav a:not(.cta):not(.btn):hover::after {
  width: 100%;
  left: 0;
}

/* V6.386 — Premium loading shimmer for image placeholders (skeleton state) */
@keyframes _couture-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
.couture-skeleton {
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%,
    color-mix(in oklab, var(--c-paper) 90%, var(--c-ink)) 50%,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 100%);
  background-size: 200% 100%;
  animation: _couture-shimmer 1.6s linear infinite;
  border-radius: 8px;
  min-height: 120px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-skeleton { animation: none; }
}

/* V6.386 — Refined header micro-spacing (outseta-tier breath) */
.tpl-clean-business .couture-primary-nav,
.tpl-modern-saas    .couture-primary-nav,
.tpl-retail-flat    .couture-primary-nav,
.tpl-clean-business [class*="ai-nav-"] > nav,
.tpl-modern-saas    [class*="ai-nav-"] > nav,
.tpl-retail-flat    [class*="ai-nav-"] > nav {
  padding-block: 14px !important;
  gap: clamp(20px, 2.4vw, 36px) !important;
}
.tpl-clean-business .couture-primary-nav .brand-mark,
.tpl-modern-saas    .couture-primary-nav .brand-mark,
.tpl-retail-flat    .couture-primary-nav .brand-mark {
  margin-right: clamp(24px, 3vw, 48px) !important;
}

/* V6.386 — Footer column micro-spacing for outseta-tier breath */
.tpl-clean-business .couture-footer .footer-cols,
.tpl-modern-saas    .couture-footer .footer-cols,
.tpl-retail-flat    .couture-footer .footer-cols {
  gap: clamp(32px, 5vw, 80px) !important;
}
.tpl-clean-business .couture-footer .footer-col h4,
.tpl-modern-saas    .couture-footer .footer-col h4,
.tpl-retail-flat    .couture-footer .footer-col h4 {
  margin-bottom: 16px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.386 — Card content fade-in stagger (.couture-card-grid > .card) */
.couture-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
}
.couture-card-grid > * {
  opacity: 0;
  transform: translateY(16px);
  animation: _couture-card-in .55s cubic-bezier(.2,.7,.2,1) forwards;
}
.couture-card-grid > *:nth-child(1) { animation-delay: .04s; }
.couture-card-grid > *:nth-child(2) { animation-delay: .12s; }
.couture-card-grid > *:nth-child(3) { animation-delay: .20s; }
.couture-card-grid > *:nth-child(4) { animation-delay: .28s; }
.couture-card-grid > *:nth-child(5) { animation-delay: .36s; }
.couture-card-grid > *:nth-child(6) { animation-delay: .44s; }
@keyframes _couture-card-in {
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-grid > * { animation: none; opacity: 1; transform: none; }
}

/* V6.386 — Outseta-tier hero meta strip (small social-proof under CTAs) */
.couture-hero-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 500 13px/1.4 var(--c-font-body);
  color: var(--c-ink-soft);
}
.couture-hero-meta .meta-avatars {
  display: flex;
  align-items: center;
}
.couture-hero-meta .meta-avatars > * {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  background: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  margin-left: -8px;
}
.couture-hero-meta .meta-avatars > *:first-child { margin-left: 0; }
.couture-hero-meta strong { color: var(--c-ink); font-weight: 600; }

/* V6.386 — Outseta-tier trust strip utility (universal 3-up bar). */
.couture-trust-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(20px, 2.5vw, 36px);
  padding: clamp(40px, 5vw, 64px) clamp(24px, 4vw, 64px);
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%, var(--c-paper) 100%);
  border-radius: 16px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-trust-strip .trust-item { display: flex; flex-direction: column; gap: 8px; }
.couture-trust-strip .trust-item .trust-icon {
  width: 40px; height: 40px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) 100%);
  color: var(--c-accent);
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
}
.couture-trust-strip .trust-item h4 { font: 600 15px/1.3 var(--c-display); letter-spacing: -0.012em; color: var(--c-ink); margin: 0; }
.couture-trust-strip .trust-item p { font: 400 14px/1.5 var(--c-body); color: var(--c-ink-soft); margin: 0; }

/* V6.386 — Outseta-tier feature-row (alternating left/right text-image pairs). */
.couture-feature-rows { display: flex; flex-direction: column; gap: clamp(60px, 8vw, 120px); }
.couture-feature-rows .feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 80px); align-items: center; }
.couture-feature-rows .feature-row:nth-child(even) .feature-text { order: 2; }
.couture-feature-rows .feature-row .feature-text .eyebrow { font: 600 12px/1.4 var(--c-mono); text-transform: uppercase; letter-spacing: 0.08em; color: var(--c-accent); margin-bottom: 14px; }
.couture-feature-rows .feature-row .feature-text h3 { font: 700 clamp(28px, 3.4vw, 44px)/1.1 var(--c-display); letter-spacing: -0.022em; margin: 0 0 18px; }
.couture-feature-rows .feature-row .feature-text p { font: 400 17px/1.6 var(--c-body); color: var(--c-ink-soft); margin: 0 0 24px; }
.couture-feature-rows .feature-row .feature-image {
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.5) inset, 0 1px 2px rgba(0,0,0,0.04), 0 16px 40px -16px rgba(0,0,0,0.22);
}
.couture-feature-rows .feature-row .feature-image img { width: 100%; height: auto; display: block; }
@media (max-width: 800px) {
  .couture-feature-rows .feature-row { grid-template-columns: 1fr; }
  .couture-feature-rows .feature-row:nth-child(even) .feature-text { order: 0; }
}

/* V6.386 — Floating CTA on scroll (sticky bottom-right) for clean families. */
.couture-floating-cta {
  position: fixed; bottom: clamp(20px, 4vw, 40px); right: clamp(20px, 4vw, 40px); z-index: 90;
  padding: 14px 24px;
  background: var(--c-accent); color: var(--c-paper);
  border-radius: 999px;
  font: 600 14px/1 var(--c-body); text-decoration: none;
  box-shadow: 0 4px 16px -4px color-mix(in oklab, var(--c-accent) 60%, transparent), 0 12px 32px -8px rgba(0,0,0,0.18);
  opacity: 0; transform: translateY(20px); pointer-events: none;
  transition: opacity .3s ease, transform .3s ease, box-shadow .3s ease;
}
.couture-floating-cta.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.couture-floating-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px -4px color-mix(in oklab, var(--c-accent) 70%, transparent), 0 16px 40px -8px rgba(0,0,0,0.22);
}
@media (prefers-reduced-motion: reduce) { .couture-floating-cta { transition: opacity .15s ease; } }

/* V6.386 — Outseta-tier marquee logo strip (auto-scrolling). */
.couture-marquee {
  overflow: hidden; padding: clamp(24px, 3vw, 40px) 0;
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.couture-marquee .marquee-track { display: flex; gap: clamp(40px, 5vw, 80px); animation: _couture-marquee 30s linear infinite; width: max-content; }
.couture-marquee .marquee-track > * { flex-shrink: 0; opacity: 0.55; filter: grayscale(1); transition: opacity .3s, filter .3s; }
.couture-marquee:hover .marquee-track { animation-play-state: paused; }
.couture-marquee .marquee-track > *:hover { opacity: 1; filter: grayscale(0); }
@keyframes _couture-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .couture-marquee .marquee-track { animation: none; flex-wrap: wrap; justify-content: center; }
}

/* V6.386 — Outseta-tier pricing table polish (3-col with featured highlight). */
.couture-pricing-table { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(20px, 2.5vw, 32px); margin: clamp(40px, 5vw, 64px) 0; }
.couture-pricing-table .pricing-tier {
  padding: clamp(28px, 4vw, 40px); border-radius: 16px;
  background: var(--c-paper); border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-pricing-table .pricing-tier:hover { transform: translateY(-4px); box-shadow: 0 16px 40px -16px rgba(0,0,0,0.18); }
.couture-pricing-table .pricing-tier.featured {
  border-color: var(--c-accent);
  background-image: linear-gradient(180deg, color-mix(in oklab, var(--c-accent) 5%, var(--c-paper)) 0%, var(--c-paper) 100%);
  transform: scale(1.04);
  box-shadow: 0 4px 8px rgba(0,0,0,0.04), 0 24px 56px -20px color-mix(in oklab, var(--c-accent) 35%, transparent);
}
.couture-pricing-table .pricing-tier.featured::before {
  content: "Most popular"; position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  padding: 5px 14px; background: var(--c-accent); color: var(--c-paper);
  font: 600 11px/1 var(--c-mono); text-transform: uppercase; letter-spacing: 0.08em;
  border-radius: 999px; white-space: nowrap;
}
.couture-pricing-table .pricing-tier h3 { font: 600 18px/1.3 var(--c-display); margin: 0 0 8px; }
.couture-pricing-table .pricing-tier .pricing-amount { font: 700 clamp(40px, 5vw, 56px)/1 var(--c-display); letter-spacing: -0.025em; color: var(--c-ink); margin: 16px 0; }
.couture-pricing-table .pricing-tier .pricing-amount small { font: 500 14px/1 var(--c-body); color: var(--c-ink-soft); margin-left: 4px; }
.couture-pricing-table .pricing-tier ul { list-style: none; padding: 0; margin: 24px 0; }
.couture-pricing-table .pricing-tier ul li { padding: 8px 0 8px 28px; position: relative; font: 400 15px/1.5 var(--c-body); color: var(--c-ink-soft); }
.couture-pricing-table .pricing-tier ul li::before { content: "✓"; position: absolute; left: 0; top: 8px; color: var(--c-accent); font-weight: 700; }

/* V6.386 — Outseta-tier in-page tab navigation (horizontal pill tabs). */
.couture-tab-nav {
  display: flex; gap: 2px; padding: 4px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  border-radius: 12px; margin-bottom: 32px;
  width: max-content; max-width: 100%; overflow-x: auto;
}
.couture-tab-nav button, .couture-tab-nav a {
  padding: 10px 18px; border: 0; background: transparent;
  font: 500 14px/1 var(--c-body); color: var(--c-ink-soft);
  border-radius: 8px; cursor: pointer;
  transition: background .2s, color .2s;
  text-decoration: none; white-space: nowrap;
}
.couture-tab-nav button:hover, .couture-tab-nav a:hover { color: var(--c-ink); }
.couture-tab-nav button.active,
.couture-tab-nav a.active,
.couture-tab-nav button[aria-selected="true"],
.couture-tab-nav a[aria-current="page"] {
  background: var(--c-paper); color: var(--c-ink); font-weight: 600;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 0 0 1px color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.386 — Outseta-tier "stat band" — full-width 3-col stat strip with
   accent-line top border + huge tabular-nums numerals. */
.couture-stat-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 64px);
  border-top: 2px solid var(--c-accent);
  margin: clamp(48px, 6vw, 96px) 0;
}
.couture-stat-band .stat-item { text-align: center; }
.couture-stat-band .stat-item .stat-number {
  font: 700 clamp(40px, 5vw, 72px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0 0 10px;
  background-image: linear-gradient(135deg, var(--c-ink) 0%, color-mix(in oklab, var(--c-ink) 70%, var(--c-accent)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.couture-stat-band .stat-item .stat-label {
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* V6.386 — Outseta-tier callout box utility (accent left border + heading + body). */
.couture-callout {
  padding: clamp(20px, 2.5vw, 28px) clamp(24px, 3vw, 36px);
  border-left: 4px solid var(--c-accent);
  background-image: linear-gradient(90deg, color-mix(in oklab, var(--c-accent) 5%, var(--c-paper)) 0%, var(--c-paper) 100%);
  border-radius: 0 12px 12px 0;
  margin: clamp(24px, 3vw, 40px) 0;
}
.couture-callout h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0 0 8px;
}
.couture-callout p {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-callout--info  { border-left-color: var(--c-accent); }
.couture-callout--warn  { border-left-color: #f59e0b; background-image: linear-gradient(90deg, color-mix(in oklab, #f59e0b 8%, var(--c-paper)) 0%, var(--c-paper) 100%); }
.couture-callout--note  { border-left-color: var(--c-ink-soft); background-image: linear-gradient(90deg, color-mix(in oklab, var(--c-ink) 4%, var(--c-paper)) 0%, var(--c-paper) 100%); }

/* V6.386 — Outseta-tier "checklist features" component — vertical stack
   of feature rows with checkmark + body. For PDPs / feature pages. */
.couture-checklist {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: clamp(20px, 2.5vw, 32px) 0;
  padding: 0;
  list-style: none;
}
.couture-checklist li {
  padding: 8px 0 8px 36px;
  position: relative;
  font: 400 16px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.couture-checklist li::after {
  content: "✓";
  position: absolute;
  left: 5px;
  top: 11px;
  width: 22px;
  height: 22px;
  font-size: 12px;
  color: var(--c-paper);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* V6.386 — operator iter 36/37 example-tier sub-variants. Each gives the
   site a distinct CHROME matching the operator's stated visual references. */

/* outseta-style: generous whitespace + accent badge eyebrow + premium cards */
.tpl-clean-business--outseta-style .couture-section { padding-block: clamp(80px, 10vw, 144px); }
.tpl-clean-business--outseta-style .couture-hero h1 {
  font-size: clamp(56px, 11vw, 144px) !important;
  letter-spacing: -0.035em !important;
  line-height: 0.92 !important;
  font-weight: 700 !important;
}
.tpl-clean-business--outseta-style .eyebrow {
  display: inline-block;
  padding: 6px 14px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: var(--c-accent);
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.tpl-clean-business--outseta-style [class*="section-head"] .eyebrow {
  display: inline-block;
  padding: 6px 14px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: var(--c-accent);
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* framer-style: mesh-gradient hero + 120px display h1 */
.tpl-clean-business--framer-style .couture-hero,
.tpl-modern-saas--framer-style .couture-hero {
  background-image:
    radial-gradient(ellipse 800px 400px at 20% 30%, color-mix(in oklab, var(--c-accent) 22%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse 600px 500px at 80% 70%, color-mix(in oklab, var(--c-accent) 16%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse 500px 300px at 50% 100%, color-mix(in oklab, var(--c-accent) 8%, transparent) 0%, transparent 60%);
  filter: saturate(1.2);
}
.tpl-clean-business--framer-style .couture-hero h1,
.tpl-modern-saas--framer-style .couture-hero h1 {
  font-size: clamp(64px, 12vw, 160px) !important;
  letter-spacing: -0.04em !important;
  line-height: 0.9 !important;
  font-weight: 800 !important;
}

/* openphone-style: clean card-grid + soft cyan accent */
.tpl-clean-business--openphone-style .couture-section .feature-grid,
.tpl-clean-business--openphone-style .couture-section .ai-pcard,
.tpl-clean-business--openphone-style .couture-products-grid {
  --c-accent: #06b6d4;
}
.tpl-clean-business--openphone-style .couture-hero h1 {
  font-size: clamp(48px, 7vw, 96px) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.0 !important;
  font-weight: 600 !important;
}

/* mobbin-style: full-bleed photo strips + bottom-aligned text overlays */
.tpl-clean-business--mobbin-style .couture-hero {
  position: relative;
  min-height: 80vh;
  padding-block: 0 !important;
}
.tpl-clean-business--mobbin-style .couture-hero > * {
  position: relative;
  z-index: 2;
  align-self: end;
  padding-bottom: clamp(40px, 6vw, 80px);
}
.tpl-clean-business--mobbin-style .couture-hero h1 {
  font-size: clamp(44px, 7vw, 96px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.022em !important;
}

/* talkbase-style: refined community-led + soft pastel + warm pink accent */
.tpl-clean-business--talkbase-style {
  --c-accent: #ec4899;
}
.tpl-clean-business--talkbase-style .couture-hero h1 {
  font-family: var(--c-display);
  font-size: clamp(48px, 8vw, 104px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

/* kaizenlabs-style: deep ink + restrained accent + masthead-style */
.tpl-clean-business--kaizenlabs-style .couture-hero h1 {
  font-size: clamp(56px, 10vw, 128px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-transform: none;
  line-height: 0.95 !important;
}
.tpl-clean-business--kaizenlabs-style .couture-section-head h2 {
  border-top: 2px solid var(--c-ink);
  padding-top: 24px;
}

/* outverse-style: dark/gradient + neon accent + futuristic mono */
.tpl-clean-business--outverse-style {
  --c-accent: #a78bfa;
}
.tpl-clean-business--outverse-style .couture-hero {
  background-image: linear-gradient(180deg, color-mix(in oklab, var(--c-ink) 80%, var(--c-accent)) 0%, var(--c-ink) 100%);
  color: var(--c-paper);
}
.tpl-clean-business--outverse-style .couture-hero h1 {
  color: var(--c-paper) !important;
  font-family: var(--c-mono);
  font-size: clamp(40px, 6vw, 80px) !important;
  letter-spacing: -0.02em !important;
}

/* burb-style: refined neighborhood + warm cream + delicate italic display */
.tpl-clean-business--burb-style,
.tpl-retail-flat--burb-style {
  --c-paper: #faf6f1;
}
.tpl-clean-business--burb-style .couture-hero h1,
.tpl-retail-flat--burb-style .couture-hero h1 {
  font-style: italic;
  font-weight: 400;
  font-size: clamp(56px, 10vw, 128px) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.0 !important;
}

/* V6.386 — Outseta-tier horizontal scroll-snap carousel utility.
   For lookbook strips, product showcases, related-items. */
.couture-snap-carousel {
  display: flex;
  gap: clamp(16px, 2vw, 28px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: clamp(16px, 4vw, 64px);
  padding: clamp(20px, 3vw, 32px) clamp(16px, 4vw, 64px);
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.couture-snap-carousel > * {
  flex-shrink: 0;
  scroll-snap-align: start;
  width: clamp(260px, 32vw, 360px);
}
.couture-snap-carousel::-webkit-scrollbar { height: 8px; }
.couture-snap-carousel::-webkit-scrollbar-track { background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink)); border-radius: 4px; }
.couture-snap-carousel::-webkit-scrollbar-thumb { background: color-mix(in oklab, var(--c-ink) 30%, transparent); border-radius: 4px; }

/* V6.386 — Pulse animation for primary CTAs (outseta-tier attention pull).
   Single subtle pulse cycle on page load — draws eye to primary action without
   being persistent/annoying. Respects prefers-reduced-motion. */
@keyframes _couture-cta-pulse {
  0%   { box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 50%, transparent); }
  70%  { box-shadow: 0 0 0 16px color-mix(in oklab, var(--c-accent) 0%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 0%, transparent); }
}
.couture-cta-pulse,
.couture-hero .cta:first-of-type {
  animation: _couture-cta-pulse 2.4s cubic-bezier(.2,.7,.2,1) 1.5s 2 both;
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-pulse, .couture-hero .cta:first-of-type { animation: none; }
}

/* V6.386 — Subtle bounce-in for stickers/badges (outseta-tier playfulness).
   Used on .sticker / .badge--new etc. */
@keyframes _couture-bounce-in {
  0%   { opacity: 0; transform: scale(0.7) rotate(var(--rot, 0deg)); }
  60%  { opacity: 1; transform: scale(1.08) rotate(var(--rot, 0deg)); }
  100% { transform: scale(1) rotate(var(--rot, 0deg)); }
}
.couture-hero .sticker,
.badge--new,
.couture-badge--bounce {
  animation: _couture-bounce-in .6s cubic-bezier(.34, 1.56, .64, 1) .3s both;
}
@media (prefers-reduced-motion: reduce) {
  .couture-hero .sticker, .badge--new, .couture-badge--bounce { animation: none; opacity: 1; }
}

/* V6.386 — Subtle parallax-feel for hero img backgrounds (outseta-tier motion).
   CSS-only via translateZ — adds depth without JS scroll listeners. */
.couture-hero img:not(.brand-logo):not([class*="icon"]) {
  will-change: transform;
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.couture-hero:hover img:not(.brand-logo):not([class*="icon"]) {
  transform: scale(1.02);
}

/* V6.386 — Outseta-tier "What's new" badge component — fixed-position
   bottom-left with subtle pulse animation. For new-feature announcements. */
.couture-whatsnew {
  position: fixed;
  bottom: clamp(20px, 4vw, 40px);
  left: clamp(20px, 4vw, 40px);
  z-index: 88;
  padding: 10px 16px 10px 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  border-radius: 12px;
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink);
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.08), 0 12px 28px -12px rgba(0,0,0,0.16);
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 320px;
  opacity: 0;
  transform: translateY(20px);
  animation: _couture-whatsnew-in .6s ease .8s forwards;
}
.couture-whatsnew::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 60%, transparent);
  animation: _couture-whatsnew-pulse 2s infinite;
  flex-shrink: 0;
}
@keyframes _couture-whatsnew-in {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes _couture-whatsnew-pulse {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 60%, transparent); }
  50%      { box-shadow: 0 0 0 6px color-mix(in oklab, var(--c-accent) 0%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-whatsnew { animation: none; opacity: 1; transform: none; }
  .couture-whatsnew::before { animation: none; }
}

/* V6.386 — Improved focus-visible polish (refines V6.386 #9 universal a11y).
   Subtle accent ring for keyboard users; invisible for mouse users. */
*:focus { outline: none; }
*:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
  border-radius: 4px;
  transition: outline-offset .1s ease;
}
button:focus-visible,
.cta:focus-visible,
a.cta-btn:focus-visible {
  outline-offset: 4px;
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 25%, transparent);
}

/* V6.386 — extend example-tier sub-variant chrome to modern-saas + retail-flat */
.tpl-modern-saas--outseta-style .couture-section,
.tpl-retail-flat--outseta-style .couture-section {
  padding-block: clamp(80px, 10vw, 144px);
}
.tpl-modern-saas--outseta-style .couture-hero h1,
.tpl-retail-flat--outseta-style .couture-hero h1 {
  font-size: clamp(56px, 11vw, 144px) !important;
  letter-spacing: -0.035em !important;
  line-height: 0.92 !important;
  font-weight: 700 !important;
}
.tpl-modern-saas--openphone-style,
.tpl-retail-flat--openphone-style {
  --c-accent: #06b6d4;
}
.tpl-modern-saas--openphone-style .couture-hero h1,
.tpl-retail-flat--openphone-style .couture-hero h1 {
  font-size: clamp(48px, 7vw, 96px) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.0 !important;
  font-weight: 600 !important;
}
.tpl-retail-flat--mobbin-style .couture-hero,
.tpl-modern-saas--mobbin-style .couture-hero {
  position: relative;
  min-height: 80vh;
  padding-block: 0 !important;
}
.tpl-retail-flat--mobbin-style .couture-hero > *,
.tpl-modern-saas--mobbin-style .couture-hero > * {
  position: relative;
  z-index: 2;
  align-self: end;
  padding-bottom: clamp(40px, 6vw, 80px);
}
.tpl-retail-flat--talkbase-style,
.tpl-modern-saas--talkbase-style {
  --c-accent: #ec4899;
}
.tpl-modern-saas--kaizenlabs-style .couture-hero h1 {
  font-size: clamp(56px, 10vw, 128px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 0.95 !important;
}
.tpl-modern-saas--outverse-style {
  --c-accent: #a78bfa;
}
.tpl-modern-saas--outverse-style .couture-hero {
  background-image: linear-gradient(180deg, color-mix(in oklab, var(--c-ink) 80%, var(--c-accent)) 0%, var(--c-ink) 100%);
  color: var(--c-paper);
}
.tpl-modern-saas--outverse-style .couture-hero h1 {
  color: var(--c-paper) !important;
  font-family: var(--c-mono);
}

/* V6.386 — Refined header micro-spacing for ALL families (extends V6.386
   #21 which was clean-only). All sites get balanced nav padding + gap. */
.couture-nav:not(.couture-nav-cottage):not([class*="ai-nav-"]) {
  padding-block: clamp(12px, 1.4vw, 16px);
}
.couture-nav .nav-link {
  padding-block: 6px;
}
/* Footer column micro-spacing for all families */
.couture-footer .footer-col h4,
.couture-footer .footer-col h5,
.couture-footer .footer-col-title {
  margin-bottom: clamp(12px, 1.5vw, 18px);
}

/* V6.386 — Outseta-tier scroll-driven section reveal (modern browsers).
   Sections fade-up as they enter viewport using scroll-timeline. Falls
   back to IntersectionObserver in V6.370. */
@supports (animation-timeline: view()) {
  [class*="ai-section-"]:not(:first-of-type),
  [class*="ai-hero-"] + section {
    animation: _couture-section-reveal linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 60%;
  }
  @keyframes _couture-section-reveal {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}
@media (prefers-reduced-motion: reduce) {
  @supports (animation-timeline: view()) {
    [class*="ai-section-"], [class*="ai-hero-"] + section { animation: none; opacity: 1; transform: none; }
  }
}

/* V6.386 — Sophisticated nav scroll-shrink (outseta/openphone signature).
   When user scrolls past 100px, nav shrinks via CSS counter-driven animation. */
@supports (animation-timeline: scroll(root)) {
  .couture-primary-nav.couture-nav--sticky,
  [class*="ai-nav-"][data-scroll-shrink] {
    animation: _couture-nav-shrink linear both;
    animation-timeline: scroll(root);
    animation-range: 0 200px;
  }
  @keyframes _couture-nav-shrink {
    from {
      padding-block: clamp(18px, 2vw, 24px);
      background: color-mix(in oklab, var(--c-paper) 100%, transparent);
      box-shadow: 0 0 0 0 transparent;
    }
    to {
      padding-block: clamp(10px, 1.2vw, 14px);
      background: color-mix(in oklab, var(--c-paper) 88%, transparent);
      backdrop-filter: blur(20px) saturate(1.4);
      -webkit-backdrop-filter: blur(20px) saturate(1.4);
      box-shadow: 0 1px 0 0 color-mix(in oklab, var(--c-line) 50%, transparent), 0 4px 16px -4px rgba(0,0,0,0.06);
    }
  }
}

/* V6.386 — Outseta-tier "FAQ disclosure" component — refined details/summary
   with smooth expand + accent chevron rotate. */
.couture-faq-list details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  padding: clamp(16px, 2vw, 24px) 0;
}
.couture-faq-list details summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font: 600 18px/1.4 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  padding: 4px 0;
}
.couture-faq-list details summary::-webkit-details-marker { display: none; }
.couture-faq-list details summary::after {
  content: "↓";
  font-family: var(--c-mono);
  font-size: 18px;
  color: var(--c-accent);
  transition: transform .3s cubic-bezier(.2,.7,.2,1);
  flex-shrink: 0;
}
.couture-faq-list details[open] summary::after {
  transform: rotate(180deg);
}
.couture-faq-list details .faq-answer {
  padding-top: 14px;
  font: 400 16px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 64ch;
}

/* V6.386 — Outseta-tier "badge stack" for product cards — multiple stacked
   pills in top-left/top-right corners ("New", "-20%", "Free shipping"). */
.couture-badge-stack {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  z-index: 3;
  pointer-events: none;
}
.couture-badge-stack .badge {
  padding: 4px 10px;
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  box-shadow: 0 2px 6px -2px rgba(0,0,0,0.08);
}
.couture-badge-stack .badge--accent {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-badge-stack .badge--sale {
  background: #ef4444;
  color: var(--c-paper);
  border-color: transparent;
}

/* V6.386 — Outseta-tier "comparison table" — 3-col feature comparison.
   For pricing/feature/plan comparisons. */
.couture-comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  background: var(--c-paper);
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-comparison-table thead th {
  padding: clamp(16px, 2vw, 24px);
  font: 600 14px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: left;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  color: var(--c-ink);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-comparison-table thead th.featured {
  background-image: linear-gradient(180deg, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)) 100%);
  color: var(--c-accent);
}
.couture-comparison-table tbody td {
  padding: 14px clamp(16px, 2vw, 24px);
  font: 400 15px/1.5 var(--c-body);
  color: var(--c-ink);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-comparison-table tbody tr:last-child td { border-bottom: 0; }
.couture-comparison-table tbody td.check::before {
  content: "✓";
  color: var(--c-accent);
  font-weight: 700;
  margin-right: 8px;
}
.couture-comparison-table tbody td.cross::before {
  content: "—";
  color: var(--c-ink-soft);
  opacity: 0.4;
  margin-right: 8px;
}
.couture-comparison-table tbody td.featured {
  background: color-mix(in oklab, var(--c-accent) 3%, var(--c-paper));
}

/* V6.386 — Outseta-tier "social proof bar" — counter strip with avatars + stats.
   For "10,000+ users • 4.9/5 stars • 50+ countries" social proof. */
.couture-social-proof-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(20px, 3vw, 48px);
  padding: clamp(20px, 3vw, 32px) clamp(24px, 4vw, 48px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 16px;
  margin: clamp(32px, 4vw, 48px) 0;
}
.couture-social-proof-bar .proof-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.couture-social-proof-bar .proof-item .proof-number {
  font: 700 clamp(24px, 3vw, 32px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-social-proof-bar .proof-item .proof-label {
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-social-proof-bar .proof-divider {
  width: 1px;
  height: 32px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.386 — Outseta-tier "image-text card" — featured product/feature with
   left-image-right-text inside a card. */
.couture-image-text-card {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(24px, 3vw, 40px);
  border-radius: 20px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  box-shadow: 0 1px 2px rgba(0,0,0,0.03), 0 12px 32px -16px rgba(0,0,0,0.16);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-image-text-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.05), 0 24px 48px -16px rgba(0,0,0,0.2);
}
.couture-image-text-card .card-image {
  border-radius: 12px;
  overflow: hidden;
}
.couture-image-text-card .card-image img {
  width: 100%;
  height: auto;
  display: block;
}
.couture-image-text-card .card-text .eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.couture-image-text-card .card-text h3 {
  font: 700 clamp(22px, 2.4vw, 32px)/1.2 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0 0 14px;
}
.couture-image-text-card .card-text p {
  font: 400 16px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
@media (max-width: 700px) {
  .couture-image-text-card { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "stat tile" — single big number card with eyebrow + sub. */
.couture-stat-tile {
  padding: clamp(28px, 3vw, 40px);
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%, var(--c-paper) 100%);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-stat-tile .stat-eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.couture-stat-tile .stat-big {
  font: 800 clamp(48px, 6vw, 88px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0 0 10px;
}
.couture-stat-tile .stat-body {
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "video card" — placeholder for video content with
   play-icon overlay + thumbnail. */
.couture-video-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-ink);
  aspect-ratio: 16 / 9;
  cursor: pointer;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-video-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease, opacity .35s ease;
}
.couture-video-card::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 24px rgba(0,0,0,0.32);
  z-index: 2;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1);
}
.couture-video-card::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: calc(50% + 4px);
  transform: translate(-50%, -50%);
  color: var(--c-ink);
  font-size: 24px;
  z-index: 3;
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1);
}
.couture-video-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px -16px rgba(0,0,0,0.32);
}
.couture-video-card:hover::before {
  transform: translate(-50%, -50%) scale(1.08);
}
.couture-video-card:hover img {
  transform: scale(1.04);
  opacity: 0.92;
}

/* V6.386 — Outseta-tier "process steps" — numbered timeline. */
.couture-process-steps {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 48px);
  counter-reset: process-step;
}
.couture-process-steps .step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(20px, 3vw, 32px);
  align-items: start;
  counter-increment: process-step;
  position: relative;
}
.couture-process-steps .step::before {
  content: counter(process-step, decimal-leading-zero);
  font: 700 clamp(24px, 3vw, 36px)/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
  min-width: 60px;
}
.couture-process-steps .step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 56px;
  bottom: -32px;
  width: 1px;
  background: linear-gradient(180deg, color-mix(in oklab, var(--c-accent) 50%, transparent) 0%, color-mix(in oklab, var(--c-line) 60%, transparent) 100%);
}
.couture-process-steps .step h3 {
  font: 700 clamp(20px, 2.4vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0 0 10px;
}
.couture-process-steps .step p {
  font: 400 16px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 56ch;
}

/* V6.386 — Outseta-tier "tag list" — keyword/category chips. */
.couture-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: clamp(16px, 2vw, 24px) 0;
  padding: 0;
  list-style: none;
}
.couture-tag-list li,
.couture-tag-list .tag {
  padding: 5px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: background .2s, color .2s, transform .2s;
}
.couture-tag-list .tag:hover,
.couture-tag-list a.tag:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  transform: translateY(-1px);
}
.couture-tag-list .tag--accent {
  background: color-mix(in oklab, var(--c-accent) 18%, var(--c-paper));
  color: var(--c-accent);
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
}

/* V6.386 — Outseta-tier "logo grid" — refined trust-by-logos with consistent
   sizing + grayscale + hover restore. */
.couture-logo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(40px, 5vw, 64px) 0;
}
.couture-logo-grid .logo-item {
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.55;
  filter: grayscale(1);
  transition: opacity .3s, filter .3s, transform .3s;
}
.couture-logo-grid .logo-item img,
.couture-logo-grid .logo-item svg {
  max-height: 100%;
  max-width: 100%;
}
.couture-logo-grid .logo-item:hover {
  opacity: 1;
  filter: grayscale(0);
  transform: translateY(-2px);
}

/* V6.386 — Outseta-tier "blockquote pull" — large editorial pullquote
   with attribution + accent left bar. */
.couture-pullquote {
  margin: clamp(40px, 5vw, 64px) 0;
  padding: clamp(32px, 4vw, 56px);
  border-left: 4px solid var(--c-accent);
  background-image: linear-gradient(90deg, color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)) 0%, var(--c-paper) 100%);
  border-radius: 0 12px 12px 0;
}
.couture-pullquote blockquote {
  font: 500 clamp(20px, 2.6vw, 32px)/1.35 var(--c-display);
  letter-spacing: -0.015em;
  color: var(--c-ink);
  margin: 0;
  position: relative;
}
.couture-pullquote blockquote::before {
  content: "❝";
  font: 700 clamp(48px, 6vw, 80px)/0.8 var(--c-display);
  color: var(--c-accent);
  opacity: 0.4;
  position: absolute;
  top: -8px;
  left: -32px;
}
.couture-pullquote cite {
  display: block;
  margin-top: 16px;
  font: 500 14px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  font-style: normal;
}
.couture-pullquote cite::before {
  content: "— ";
  color: var(--c-accent);
}

/* V6.386 — Outseta-tier "info-stat-row" — 4-up stat strip with icons + values. */
.couture-info-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(20px, 3vw, 40px);
  padding: clamp(40px, 5vw, 64px) 0;
}
.couture-info-stat-row .info-item {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.couture-info-stat-row .info-item .info-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: var(--c-accent);
  margin-bottom: 6px;
}
.couture-info-stat-row .info-item .info-value {
  font: 700 clamp(28px, 3.4vw, 40px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0;
}
.couture-info-stat-row .info-item .info-label {
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "alert/banner" — full-width info-bar with icon + close. */
.couture-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px clamp(20px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 24%, transparent);
  border-radius: 12px;
  margin: clamp(20px, 2.5vw, 32px) 0;
  font: 500 14px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-banner::before {
  content: "ⓘ";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}
.couture-banner a {
  color: var(--c-accent);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.couture-banner--warn {
  background: color-mix(in oklab, #f59e0b 8%, var(--c-paper));
  border-color: color-mix(in oklab, #f59e0b 24%, transparent);
}
.couture-banner--warn::before { background: #f59e0b; }
.couture-banner--success {
  background: color-mix(in oklab, #10b981 8%, var(--c-paper));
  border-color: color-mix(in oklab, #10b981 24%, transparent);
}
.couture-banner--success::before { background: #10b981; content: "✓"; }

/* V6.386 — Outseta-tier "media + caption" — for featured product photo with
   caption underneath (gallery cards). */
.couture-media-caption figure {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-media-caption figure:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px -16px rgba(0,0,0,0.2);
}
.couture-media-caption figure img {
  width: 100%;
  height: auto;
  display: block;
}
.couture-media-caption figcaption {
  padding: 16px 20px;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-media-caption figcaption .caption-meta {
  display: block;
  margin-top: 4px;
  font: 400 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.386 — Outseta-tier "spec list" — definition list with monospace value
   alignment. For product spec sheets / technical details. */
.couture-spec-list {
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-spec-list dl {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 0;
  padding: 0;
  margin: 0;
}
.couture-spec-list dl > div {
  display: contents;
}
.couture-spec-list dt,
.couture-spec-list dd {
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  margin: 0;
}
.couture-spec-list dt {
  font: 500 14px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-spec-list dd {
  font: 400 15px/1.4 var(--c-body);
  font-variant-numeric: tabular-nums;
  color: var(--c-ink);
}

/* V6.386 — Outseta-tier "card with offset image" — for landing pages with
   featured product shot offset to one side, text wrapping. */
.couture-offset-card {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0;
  align-items: stretch;
  border-radius: 20px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  box-shadow: 0 1px 2px rgba(0,0,0,0.03), 0 16px 40px -20px rgba(0,0,0,0.18);
}
.couture-offset-card .offset-content {
  padding: clamp(32px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.couture-offset-card .offset-content .eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-offset-card .offset-content h3 {
  font: 700 clamp(28px, 3.4vw, 42px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 16px;
}
.couture-offset-card .offset-content p {
  font: 400 16px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 50ch;
}
.couture-offset-card .offset-media {
  position: relative;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-offset-card .offset-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.couture-offset-card:hover .offset-media img {
  transform: scale(1.04);
}
@media (max-width: 700px) {
  .couture-offset-card { grid-template-columns: 1fr; }
  .couture-offset-card .offset-media { min-height: 280px; }
}

/* V6.386 — Outseta-tier "newsletter signup card" — premium newsletter signup
   with accent bg + inline input + button. */
.couture-newsletter-card {
  padding: clamp(32px, 4vw, 56px);
  border-radius: 20px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  text-align: center;
}
.couture-newsletter-card .eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.couture-newsletter-card h3 {
  font: 700 clamp(24px, 3vw, 36px)/1.2 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 12px;
}
.couture-newsletter-card p {
  font: 400 16px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 48ch;
  margin-inline: auto;
}
.couture-newsletter-card .nl-form {
  display: inline-flex;
  gap: 8px;
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
}
.couture-newsletter-card .nl-form input[type="email"] {
  flex: 1;
  padding: 14px 18px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 12px;
  background: var(--c-paper);
  font: 400 15px/1.4 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-newsletter-card .nl-form input[type="email"]:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 0;
  border-color: var(--c-accent);
}
.couture-newsletter-card .nl-form button {
  padding: 14px 24px;
  border: 0;
  border-radius: 12px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 600 15px/1 var(--c-body);
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}
.couture-newsletter-card .nl-form button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px -8px color-mix(in oklab, var(--c-accent) 60%, transparent);
}
@media (max-width: 500px) {
  .couture-newsletter-card .nl-form { flex-direction: column; }
}

/* V6.386 — Outseta-tier "before / after" comparison strip.
   For product feature comparisons or transformation shots. */
.couture-before-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 40px);
  margin: clamp(32px, 4vw, 56px) 0;
  align-items: stretch;
}
.couture-before-after .ba-side {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  min-height: 280px;
}
.couture-before-after .ba-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-before-after .ba-side::before {
  content: attr(data-label);
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 999px;
  z-index: 2;
}
.couture-before-after .ba-side--after::before {
  background: var(--c-accent);
}
@media (max-width: 600px) {
  .couture-before-after { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "accordion-list" (multi-item disclosure).
   Refined version of .couture-faq-list with subtle group polish. */
.couture-accordion {
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  overflow: hidden;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-accordion details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-accordion details:last-child { border-bottom: 0; }
.couture-accordion summary {
  cursor: pointer;
  list-style: none;
  padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 28px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font: 600 16px/1.4 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  transition: background .2s;
}
.couture-accordion summary::-webkit-details-marker { display: none; }
.couture-accordion summary:hover {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-accordion summary::after {
  content: "+";
  font-family: var(--c-mono);
  font-size: 24px;
  color: var(--c-accent);
  font-weight: 400;
  transition: transform .25s cubic-bezier(.2,.7,.2,1);
  flex-shrink: 0;
  line-height: 1;
}
.couture-accordion details[open] summary::after {
  transform: rotate(45deg);
}
.couture-accordion details[open] summary {
  background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper));
}
.couture-accordion .accordion-content {
  padding: 0 clamp(20px, 3vw, 28px) clamp(16px, 2vw, 22px);
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 64ch;
}

/* V6.386 — Outseta-tier "tooltip helper" — refined info-tooltip on hover.
   For inline help icons. */
.couture-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-ink) 12%, transparent);
  color: var(--c-ink-soft);
  font: 600 11px/1 var(--c-mono);
  cursor: help;
  vertical-align: middle;
  margin-left: 4px;
}
.couture-tooltip::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 12px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 400 12px/1.3 var(--c-body);
  letter-spacing: 0;
  text-transform: none;
  border-radius: 6px;
  white-space: nowrap;
  max-width: 280px;
  width: max-content;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 100;
}
.couture-tooltip:hover::after,
.couture-tooltip:focus-visible::after {
  opacity: 1;
}

/* V6.386 — Outseta-tier "step-progress indicator" — horizontal step counter
   for multi-step flows. */
.couture-step-progress {
  display: flex;
  align-items: center;
  gap: 0;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-step-progress .step-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.couture-step-progress .step-node .step-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: background .25s, border-color .25s, color .25s;
}
.couture-step-progress .step-node .step-label {
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-align: center;
}
.couture-step-progress .step-node.active .step-circle {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-step-progress .step-node.active .step-label {
  color: var(--c-ink);
  font-weight: 600;
}
.couture-step-progress .step-node.complete .step-circle {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-step-progress .step-node.complete .step-circle::after {
  content: "✓";
}
.couture-step-progress .step-node.complete .step-label {
  color: var(--c-ink);
}
.couture-step-progress .step-line {
  flex: 1;
  height: 2px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
  margin: 0 8px;
  margin-bottom: 24px;
  align-self: flex-start;
  margin-top: 15px;
}
.couture-step-progress .step-line.complete {
  background: var(--c-accent);
}

/* V6.386 — Outseta-tier "kbd" inline keyboard hints + "code" inline code. */
kbd,
.couture-kbd {
  display: inline-block;
  padding: 2px 8px;
  font: 500 12px/1.4 var(--c-mono);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom-width: 2px;
  border-radius: 4px;
  color: var(--c-ink);
  vertical-align: middle;
}
code,
.couture-code {
  display: inline-block;
  padding: 1px 6px;
  font: 400 13px/1.5 var(--c-mono);
  background: color-mix(in oklab, var(--c-paper) 94%, var(--c-ink));
  border-radius: 4px;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.386 — Outseta-tier "section divider with eyebrow label" — horizontal rule
   with centered text label. */
.couture-divider-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-divider-label::before,
.couture-divider-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-divider-label .divider-label-text {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  flex-shrink: 0;
}

/* V6.386 — Outseta-tier "highlighted text" inline emphasis with marker effect. */
.couture-highlight,
mark.couture-mark {
  background: linear-gradient(180deg, transparent 60%, color-mix(in oklab, var(--c-accent) 35%, transparent) 60%);
  padding: 0 4px;
  color: var(--c-ink);
}

/* V6.386 — Outseta-tier "in-progress bar" — for loading/processing states. */
.couture-progress-bar {
  width: 100%;
  height: 6px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}
.couture-progress-bar .progress-fill {
  height: 100%;
  background-image: linear-gradient(90deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)) 100%);
  border-radius: 999px;
  width: var(--progress, 0%);
  transition: width .6s cubic-bezier(.2,.7,.2,1);
}
.couture-progress-bar.indeterminate .progress-fill {
  width: 30%;
  animation: _couture-progress-loop 1.6s linear infinite;
}
@keyframes _couture-progress-loop {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(400%); }
}

/* V6.386 — Outseta-tier "key-value pair list" — for stats/quick-info displays. */
.couture-kv-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(24px, 3vw, 40px) 0;
}
.couture-kv-list .kv-item {
  padding: clamp(16px, 2vw, 24px);
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-kv-list .kv-item .kv-label {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin: 0 0 6px;
}
.couture-kv-list .kv-item .kv-value {
  font: 600 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}

/* V6.386 — Outseta-tier "team member card" — photo + name + role + bio. */
.couture-team-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: clamp(24px, 3vw, 32px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-team-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px -16px rgba(0,0,0,0.16);
}
.couture-team-card .team-photo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 16px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 100%);
  border: 2px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-team-card .team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-team-card .team-name {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0 0 4px;
}
.couture-team-card .team-role {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin: 0 0 12px;
}
.couture-team-card .team-bio {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 36ch;
}

/* V6.386 — Outseta-tier breadcrumb navigation — PDP/category orientation. */
.couture-breadcrumb,
nav.couture-breadcrumb,
ol.couture-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: clamp(16px, 2vw, 24px) 0;
  list-style: none;
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-breadcrumb li {
  display: flex;
  align-items: center;
  gap: 6px;
}
.couture-breadcrumb a {
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color .2s;
}
.couture-breadcrumb a:hover {
  color: var(--c-accent);
}
.couture-breadcrumb li:not(:last-child)::after {
  content: "/";
  color: color-mix(in oklab, var(--c-ink-soft) 50%, transparent);
  margin-left: 2px;
}
.couture-breadcrumb li:last-child {
  color: var(--c-ink);
  font-weight: 500;
}
.couture-breadcrumb li:last-child a {
  color: var(--c-ink);
  pointer-events: none;
}

/* V6.386 — Outseta-tier "stat counter" — animated count-up display.
   Combined with JS that sets --count-final, the CSS handles the smooth ramp. */
.couture-stat-counter {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-stat-counter .counter-value {
  font: 800 clamp(48px, 6vw, 88px)/1 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  background-image: linear-gradient(135deg, var(--c-ink) 0%, var(--c-accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.couture-stat-counter .counter-label {
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* V6.386 — Outseta-tier "card with icon strip" — feature listing with leading icon. */
.couture-icon-row-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 28px);
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  align-items: center;
}
.couture-icon-row-card .row-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--c-accent);
  flex-shrink: 0;
}
.couture-icon-row-card .row-text h4 {
  font: 600 15px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0 0 2px;
}
.couture-icon-row-card .row-text p {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "split CTA banner" — full-width 2-col with text-left
   button-right band. For end-of-page conversion bands. */
.couture-split-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  padding: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 56px);
  border-radius: 20px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-split-cta .split-text .eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.couture-split-cta .split-text h3 {
  font: 700 clamp(22px, 2.6vw, 32px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.couture-split-cta .split-text p {
  font: 400 15px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 56ch;
}
.couture-split-cta .split-button {
  padding: 14px 28px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 600 15px/1 var(--c-body);
  text-decoration: none;
  border-radius: 12px;
  white-space: nowrap;
  transition: transform .25s ease, box-shadow .25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-split-cta .split-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -8px color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-split-cta .split-button::after {
  content: "→";
  font-weight: 400;
  transition: transform .25s ease;
}
.couture-split-cta .split-button:hover::after {
  transform: translateX(2px);
}
@media (max-width: 700px) {
  .couture-split-cta { grid-template-columns: 1fr; gap: 24px; }
  .couture-split-cta .split-button { width: 100%; justify-content: center; }
}

/* V6.386 — Outseta-tier "blog post meta strip" — author + date + read-time. */
.couture-post-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(16px, 2vw, 24px);
  padding: clamp(16px, 2vw, 24px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin: clamp(20px, 2.5vw, 32px) 0;
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-post-meta .meta-author {
  display: flex;
  align-items: center;
  gap: 8px;
}
.couture-post-meta .meta-author .author-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 100%);
  flex-shrink: 0;
}
.couture-post-meta .meta-author strong {
  color: var(--c-ink);
  font-weight: 600;
}
.couture-post-meta .meta-separator {
  width: 1px;
  height: 14px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-post-meta time {
  font-variant-numeric: tabular-nums;
}

/* V6.386 — Outseta-tier "share buttons" inline strip. */
.couture-share-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: clamp(16px, 2vw, 24px) 0;
}
.couture-share-row .share-label {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-right: 4px;
}
.couture-share-row a.share-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  color: var(--c-ink);
  text-decoration: none;
  transition: background .2s, transform .2s, color .2s;
}
.couture-share-row a.share-btn:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  transform: translateY(-2px);
}

/* V6.386 — Outseta-tier "press logo strip" (similar to logo-grid but inline). */
.couture-press-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(24px, 3vw, 40px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-press-strip .press-label {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  flex-shrink: 0;
}
.couture-press-strip .press-item {
  height: 24px;
  display: inline-flex;
  align-items: center;
  opacity: 0.65;
  filter: grayscale(1);
  transition: opacity .25s, filter .25s, transform .25s;
}
.couture-press-strip .press-item img,
.couture-press-strip .press-item svg {
  max-height: 100%;
  max-width: 100%;
}
.couture-press-strip .press-item:hover {
  opacity: 1;
  filter: grayscale(0);
  transform: translateY(-1px);
}

/* V6.386 — Outseta-tier "fact card" — single sentence with accent quote mark. */
.couture-fact-card {
  position: relative;
  padding: clamp(32px, 4vw, 48px);
  padding-left: clamp(48px, 6vw, 72px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-fact-card::before {
  content: "";
  position: absolute;
  top: clamp(32px, 4vw, 48px);
  left: clamp(24px, 3vw, 32px);
  width: 4px;
  height: 32px;
  background: var(--c-accent);
  border-radius: 2px;
}
.couture-fact-card .fact-text {
  font: 500 clamp(17px, 1.8vw, 21px)/1.5 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-fact-card .fact-source {
  display: block;
  margin-top: 12px;
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.386 — Outseta-tier "small CTA card" — compact horizontal card with
   description + small button. */
.couture-mini-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-mini-cta .mini-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-mini-cta .mini-title {
  font-weight: 600;
}
.couture-mini-cta .mini-sub {
  font-size: 13px;
  color: var(--c-ink-soft);
}
.couture-mini-cta a.mini-btn {
  padding: 8px 16px;
  background: var(--c-ink);
  color: var(--c-paper);
  text-decoration: none;
  border-radius: 8px;
  font: 500 13px/1 var(--c-body);
  white-space: nowrap;
  transition: background .2s, transform .2s;
}
.couture-mini-cta a.mini-btn:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}

/* V6.386 — Outseta-tier "step-numbered checklist" — for onboarding flows. */
.couture-step-checklist {
  list-style: none;
  padding: 0;
  margin: clamp(20px, 2.5vw, 32px) 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  counter-reset: step-check;
}
.couture-step-checklist li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  counter-increment: step-check;
  transition: background .2s, border-color .2s;
}
.couture-step-checklist li::before {
  content: counter(step-check);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  flex-shrink: 0;
}
.couture-step-checklist li.complete {
  background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-step-checklist li.complete::before {
  content: "✓";
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-step-checklist li .step-title {
  font: 600 15px/1.4 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-step-checklist li .step-desc {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 4px 0 0;
}

/* V6.386 — Outseta-tier "credibility row" — multi-cert/badge inline strip. */
.couture-cred-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  padding: clamp(20px, 2.5vw, 28px) 0;
}
.couture-cred-row .cred-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 500 12px/1 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color .2s, background .2s;
}
.couture-cred-row .cred-badge:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper));
}
.couture-cred-row .cred-badge .cred-icon {
  width: 14px;
  height: 14px;
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* V6.386 — Outseta-tier "subscription tier comparison" — pricing-card variant
   with detailed feature toggle. */
.couture-tier-compare {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-tier-compare .tier-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 16px;
  padding: 14px clamp(16px, 2vw, 24px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  align-items: center;
}
.couture-tier-compare .tier-row:last-child { border-bottom: 0; }
.couture-tier-compare .tier-row--header {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  font: 600 13px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-tier-compare .tier-row--header .tier-col {
  text-align: center;
  color: var(--c-ink);
}
.couture-tier-compare .tier-row--header .tier-col.featured {
  color: var(--c-accent);
}
.couture-tier-compare .tier-row .feature-name {
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-tier-compare .tier-row .tier-col {
  text-align: center;
  font: 400 14px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-tier-compare .tier-row .tier-col.check::before {
  content: "✓";
  color: var(--c-accent);
  font-weight: 700;
}
.couture-tier-compare .tier-row .tier-col.cross::before {
  content: "—";
  color: var(--c-ink-soft);
  opacity: 0.35;
}
@media (max-width: 700px) {
  .couture-tier-compare .tier-row {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .couture-tier-compare .tier-row .tier-col:nth-child(3),
  .couture-tier-compare .tier-row .tier-col:nth-child(4) { display: none; }
}

/* V6.386 — Outseta-tier "image gallery grid" — uniform photo grid with hover. */
.couture-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(12px, 1.5vw, 20px);
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-gallery-grid .gallery-tile {
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  position: relative;
  cursor: zoom-in;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-gallery-grid .gallery-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.couture-gallery-grid .gallery-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px -16px rgba(0,0,0,0.25);
}
.couture-gallery-grid .gallery-tile:hover img {
  transform: scale(1.06);
}

/* V6.386 — Outseta-tier "page-back" sticky button — return-to-top button. */
.couture-back-top {
  position: fixed;
  bottom: clamp(20px, 4vw, 40px);
  left: clamp(20px, 4vw, 40px);
  z-index: 88;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  text-decoration: none;
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.08), 0 12px 28px -12px rgba(0,0,0,0.18);
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease, background .25s ease;
}
.couture-back-top.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.couture-back-top:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: transparent;
  transform: translateY(-2px);
}

/* V6.386 — Outseta-tier "step nav" — vertical sticky-sidebar table-of-contents. */
.couture-toc {
  position: sticky;
  top: clamp(80px, 10vw, 120px);
  padding: 16px 0;
  border-left: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-toc h4 {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin: 0 0 12px;
  padding-left: 16px;
}
.couture-toc ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-toc li {
  margin-bottom: 4px;
}
.couture-toc a {
  display: block;
  padding: 6px 16px;
  font: 400 14px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
  border-left: 2px solid transparent;
  margin-left: -2px;
  transition: color .2s, border-color .2s, background .2s;
}
.couture-toc a:hover {
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-toc a.active,
.couture-toc a[aria-current="true"] {
  color: var(--c-accent);
  border-color: var(--c-accent);
  font-weight: 600;
}

/* V6.386 — Outseta-tier "data table polish" — clean WC/data table styling. */
.couture-data-table,
table.couture-data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: clamp(20px, 2.5vw, 32px) 0;
  font: 400 14px/1.4 var(--c-body);
}
.couture-data-table thead th {
  padding: 14px 16px;
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: left;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  color: var(--c-ink);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-data-table tbody td {
  padding: 12px 16px;
  color: var(--c-ink);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-data-table tbody tr:last-child td { border-bottom: 0; }
.couture-data-table tbody tr:hover {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-data-table td.numeric { font-variant-numeric: tabular-nums; text-align: right; }

/* V6.386 — Outseta-tier "fab" floating action button (notion/figma signature). */
.couture-fab {
  position: fixed;
  bottom: clamp(24px, 4vw, 40px);
  right: clamp(24px, 4vw, 40px);
  z-index: 90;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px -8px rgba(0,0,0,0.32);
  transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s cubic-bezier(.2,.7,.2,1);
}
.couture-fab:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 12px 32px -8px rgba(0,0,0,0.4);
}
.couture-fab--accent {
  background: var(--c-accent);
}
.couture-fab[aria-pressed="true"] {
  transform: rotate(45deg);
}

/* V6.386 — Outseta-tier "review/testimonial card" — quote + 5-star + author. */
.couture-review-card {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-review-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px -16px rgba(0,0,0,0.16);
}
.couture-review-card .review-stars {
  font-size: 16px;
  color: #FFB400;
  letter-spacing: 3px;
  margin-bottom: 14px;
}
.couture-review-card .review-stars::before { content: "★ ★ ★ ★ ★"; }
.couture-review-card .review-quote {
  font: 500 17px/1.55 var(--c-body);
  color: var(--c-ink);
  margin: 0 0 18px;
}
.couture-review-card .review-author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.couture-review-card .review-author .author-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 35%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 100%);
}
.couture-review-card .review-author .author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-review-card .review-author .author-name {
  font: 600 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-review-card .review-author .author-role {
  font: 400 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.386 — Outseta-tier "card-flat" — simple flat card without shadow.
   For minimal designs where elevation is implied by border only. */
.couture-card-flat {
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: border-color .25s, transform .25s;
}
.couture-card-flat:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  transform: translateY(-2px);
}
.couture-card-flat h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 10px;
}
.couture-card-flat p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "color-coded section pill" — for status / category tags. */
.couture-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font: 600 12px/1.4 var(--c-mono);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.couture-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.couture-pill--default { color: var(--c-ink-soft); background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper)); }
.couture-pill--accent  { color: var(--c-accent); background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)); }
.couture-pill--success { color: #047857; background: color-mix(in oklab, #10b981 14%, var(--c-paper)); }
.couture-pill--warn    { color: #b45309; background: color-mix(in oklab, #f59e0b 16%, var(--c-paper)); }
.couture-pill--danger  { color: #b91c1c; background: color-mix(in oklab, #ef4444 14%, var(--c-paper)); }
.couture-pill--info    { color: #1e40af; background: color-mix(in oklab, #3b82f6 14%, var(--c-paper)); }

/* V6.386 — Outseta-tier "command-bar" — keyboard shortcut hint strip.
   For docs / power-user UI. */
.couture-cmd-bar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-ink) 88%, var(--c-paper));
  color: var(--c-paper);
  font: 500 13px/1.4 var(--c-body);
}
.couture-cmd-bar kbd,
.couture-cmd-bar .cmd-key {
  padding: 2px 6px;
  background: color-mix(in oklab, var(--c-paper) 12%, var(--c-ink));
  border-radius: 4px;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-paper);
  border-bottom-width: 1px;
}

/* V6.386 — Outseta-tier order confirmation polish — refines V4.5 WC chrome
   for /order-received/ thank-you page. */
body.woocommerce-order-received .wc-block-order-confirmation-summary,
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order-overview {
  padding: clamp(28px, 3.5vw, 48px);
  border-radius: 16px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 2%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  margin: clamp(24px, 3vw, 40px) 0;
  font: 500 16px/1.55 var(--c-body);
  color: var(--c-ink);
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font: 600 clamp(20px, 2.4vw, 28px)/1.3 var(--c-display);
  letter-spacing: -0.018em;
  text-align: center;
  position: relative;
  padding-top: 60px;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
  content: "✓";
  position: absolute;
  top: clamp(20px, 3vw, 32px);
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
}

/* V6.386 — Outseta-tier "card-elevated" — premium card variant with deeper shadow. */
.couture-card-elevated {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 20px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  box-shadow:
    0 1px 0 0 rgba(255,255,255,0.6) inset,
    0 1px 2px rgba(0,0,0,0.04),
    0 8px 16px -8px rgba(0,0,0,0.08),
    0 24px 48px -24px rgba(0,0,0,0.16);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-card-elevated:hover {
  transform: translateY(-4px);
  box-shadow:
    0 1px 0 0 rgba(255,255,255,0.7) inset,
    0 4px 8px rgba(0,0,0,0.06),
    0 16px 32px -8px rgba(0,0,0,0.12),
    0 32px 64px -24px rgba(0,0,0,0.22);
}

/* V6.386 — Outseta-tier "stack heading" — preceding eyebrow + h2 + sub. */
.couture-stack-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 clamp(32px, 4vw, 56px);
  max-width: 56ch;
}
.couture-stack-heading .stack-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
}
.couture-stack-heading .stack-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-stack-heading h2 {
  font: 700 clamp(28px, 4vw, 48px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  margin: 0;
}
.couture-stack-heading .stack-sub {
  font: 400 17px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 60ch;
}

/* V6.386 — Outseta-tier "search box" — refined input with leading icon. */
.couture-search-box {
  position: relative;
  display: flex;
  align-items: center;
}
.couture-search-box::before {
  content: "⌕";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: var(--c-ink-soft);
  pointer-events: none;
}
.couture-search-box input[type="search"],
.couture-search-box input[type="text"] {
  width: 100%;
  padding: 12px 16px 12px 44px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 999px;
  background: var(--c-paper);
  font: 400 15px/1.4 var(--c-body);
  color: var(--c-ink);
  transition: border-color .2s, box-shadow .2s;
}
.couture-search-box input[type="search"]::placeholder,
.couture-search-box input[type="text"]::placeholder {
  color: var(--c-ink-soft);
}
.couture-search-box input[type="search"]:focus-visible,
.couture-search-box input[type="text"]:focus-visible {
  outline: none;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 20%, transparent);
}

/* V6.386 — Outseta-tier "form field group" — label + input/textarea + help. */
.couture-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 16px;
}
.couture-form-group label {
  font: 600 13px/1.4 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-form-group label .required {
  color: #ef4444;
  margin-left: 4px;
}
.couture-form-group input[type="text"],
.couture-form-group input[type="email"],
.couture-form-group input[type="tel"],
.couture-form-group input[type="url"],
.couture-form-group input[type="number"],
.couture-form-group select,
.couture-form-group textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 10px;
  background: var(--c-paper);
  font: 400 15px/1.4 var(--c-body);
  color: var(--c-ink);
  transition: border-color .2s, box-shadow .2s;
}
.couture-form-group input:focus-visible,
.couture-form-group select:focus-visible,
.couture-form-group textarea:focus-visible {
  outline: none;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-form-group .form-help {
  font: 400 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-form-group .form-error {
  font: 500 12px/1.4 var(--c-body);
  color: #ef4444;
  margin: 0;
}

/* V6.386 — Outseta-tier "feature chip-grid" — 2-3 col compact feature listing. */
.couture-chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-chip-grid .chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-chip-grid .chip::before {
  content: "✓";
  width: 16px;
  height: 16px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  flex-shrink: 0;
}

/* V6.386 — Outseta-tier "section reveal animations" — distinct entrance for headers vs cards */
@keyframes _couture-slide-in-left {
  from { opacity: 0; transform: translateX(-20px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes _couture-slide-in-right {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes _couture-zoom-in {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}
.couture-reveal--slide-left.in,
.couture-section-head.couture-reveal.in [class*="num"] {
  animation: _couture-slide-in-left .55s cubic-bezier(.2,.7,.2,1) both;
}
.couture-reveal--slide-right.in {
  animation: _couture-slide-in-right .55s cubic-bezier(.2,.7,.2,1) both;
}
.couture-reveal--zoom.in {
  animation: _couture-zoom-in .55s cubic-bezier(.2,.7,.2,1) both;
}
@media (prefers-reduced-motion: reduce) {
  .couture-reveal--slide-left.in,
  .couture-reveal--slide-right.in,
  .couture-reveal--zoom.in,
  .couture-section-head.couture-reveal.in [class*="num"] {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* V6.386 — Outseta-tier "responsive hero copy" — better mobile sizing for clean families */
@media (max-width: 600px) {
  .tpl-clean-business .couture-hero h1,
  .tpl-modern-saas .couture-hero h1,
  .tpl-retail-flat .couture-hero h1 {
    font-size: clamp(36px, 9vw, 56px) !important;
    letter-spacing: -0.025em !important;
    line-height: 1.0 !important;
  }
  .tpl-clean-business .couture-hero .sub,
  .tpl-modern-saas .couture-hero .sub,
  .tpl-retail-flat .couture-hero .sub {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  .tpl-clean-business .couture-hero .cta,
  .tpl-modern-saas .couture-hero .cta,
  .tpl-retail-flat .couture-hero .cta {
    width: 100%;
    text-align: center;
  }
}

/* V6.386 — Outseta-tier "selection color" — branded text-selection highlight. */
::selection {
  background: color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: var(--c-ink);
}
::-moz-selection {
  background: color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: var(--c-ink);
}

/* V6.386 — Outseta-tier "scrollbar polish" — refined scrollbar styling. */
@supports selector(::-webkit-scrollbar) {
  ::-webkit-scrollbar { width: 10px; height: 10px; }
  ::-webkit-scrollbar-track {
    background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  }
  ::-webkit-scrollbar-thumb {
    background: color-mix(in oklab, var(--c-ink) 30%, transparent);
    border-radius: 999px;
    border: 2px solid color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  }
  ::-webkit-scrollbar-thumb:hover {
    background: color-mix(in oklab, var(--c-ink) 45%, transparent);
  }
}
* {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in oklab, var(--c-ink) 30%, transparent) color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}

/* V6.386 — Outseta-tier "image with caption frame" — refined PDP/gallery image. */
.couture-img-frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 12px 32px -16px rgba(0,0,0,0.18);
}
.couture-img-frame img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.couture-img-frame:hover img {
  transform: scale(1.03);
}
.couture-img-frame .frame-overlay {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.4) 100%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease;
}
.couture-img-frame:hover .frame-overlay {
  opacity: 1;
}
.couture-img-frame .frame-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 20px;
  color: var(--c-paper);
  font: 500 14px/1.4 var(--c-body);
  z-index: 2;
  transform: translateY(20px);
  opacity: 0;
  transition: transform .35s ease, opacity .35s ease;
}
.couture-img-frame:hover .frame-caption {
  opacity: 1;
  transform: translateY(0);
}

/* V6.386 — Outseta-tier "category pill bar" — horizontal scroll category nav. */
.couture-category-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 12px 4px;
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-category-pills::-webkit-scrollbar { display: none; }
.couture-category-pills .pill {
  flex-shrink: 0;
  padding: 8px 16px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 94%, var(--c-ink));
  border: 1px solid transparent;
  font: 500 13px/1 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, border-color .2s, color .2s;
}
.couture-category-pills .pill:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
}
.couture-category-pills .pill[aria-current="page"],
.couture-category-pills .pill.active {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.386 — Outseta-tier "anchor link" — hover underline expansion. */
.couture-body a:not([class]),
.couture-prose a:not([class]) {
  color: var(--c-accent);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  transition: background-size .3s cubic-bezier(.2,.7,.2,1);
  padding-bottom: 1px;
}
.couture-body a:not([class]):hover,
.couture-prose a:not([class]):hover {
  background-size: 100% 1px;
}

/* V6.386 — Outseta-tier "section reveal stagger via :nth-child" — automatic
   stagger for grids without JS. */
.couture-stagger-2 > * { animation-delay: 0s; }
.couture-stagger-2 > *:nth-child(2) { animation-delay: .1s; }
.couture-stagger-3 > *:nth-child(2) { animation-delay: .1s; }
.couture-stagger-3 > *:nth-child(3) { animation-delay: .2s; }
.couture-stagger-4 > *:nth-child(2) { animation-delay: .08s; }
.couture-stagger-4 > *:nth-child(3) { animation-delay: .16s; }
.couture-stagger-4 > *:nth-child(4) { animation-delay: .24s; }

/* V6.386 — Outseta-tier "icon bullet list" — refined list with accent bullets. */
.couture-bullet-list {
  list-style: none;
  padding: 0;
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-bullet-list li {
  position: relative;
  padding: 6px 0 6px 28px;
  font: 400 16px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-bullet-list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-bullet-list--arrow li::before {
  content: "→";
  width: auto;
  height: auto;
  background: transparent;
  color: var(--c-accent);
  font-family: var(--c-mono);
  font-size: 14px;
  top: 7px;
  left: 0;
  font-weight: 700;
}
.couture-bullet-list--check li::before {
  content: "✓";
  width: auto;
  height: auto;
  background: transparent;
  color: var(--c-accent);
  font-size: 14px;
  font-weight: 700;
  top: 7px;
  left: 4px;
}

/* V6.386 — Outseta-tier "code preview" — formatted code block. */
.couture-code-block,
pre.couture-code-block {
  padding: clamp(16px, 2vw, 20px);
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 90%, var(--c-ink));
  font: 400 13px/1.5 var(--c-mono);
  overflow-x: auto;
  margin: clamp(16px, 2vw, 24px) 0;
  border: 1px solid color-mix(in oklab, var(--c-ink) 70%, transparent);
}
.couture-code-block code {
  background: transparent;
  color: inherit;
  padding: 0;
  display: block;
}
.couture-code-block .comment { color: color-mix(in oklab, var(--c-paper) 50%, var(--c-ink)); }
.couture-code-block .keyword { color: color-mix(in oklab, var(--c-accent) 90%, var(--c-paper)); }
.couture-code-block .string { color: #FFB400; }

/* V6.386 — Outseta-tier "in-prose blockquote" — refined inline blockquote. */
.couture-prose blockquote,
blockquote.couture-blockquote {
  margin: clamp(24px, 3vw, 40px) 0;
  padding: clamp(20px, 2.5vw, 28px) clamp(24px, 3vw, 32px);
  border-left: 3px solid var(--c-accent);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 0 12px 12px 0;
  font: 500 17px/1.6 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-prose blockquote p:first-child::before,
blockquote.couture-blockquote p:first-child::before {
  content: "❝";
  color: var(--c-accent);
  opacity: 0.55;
  font-size: 24px;
  margin-right: 4px;
  vertical-align: middle;
}

/* V6.386 — Outseta-tier "highlight rule" — accent-tinted horizontal divider. */
hr.couture-hr-accent {
  border: 0;
  height: 3px;
  width: 60px;
  background-image: linear-gradient(90deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 50%, transparent) 100%);
  margin: clamp(28px, 3vw, 40px) 0;
  border-radius: 2px;
}
hr.couture-hr-accent--center {
  margin-inline: auto;
}
hr.couture-hr-accent--wide {
  width: 100%;
  height: 1px;
  background-image: linear-gradient(90deg, transparent 0%, color-mix(in oklab, var(--c-ink) 30%, transparent) 50%, transparent 100%);
}

/* V6.386 — Outseta-tier "in-page banner photo" — full-bleed photo with overlay. */
.couture-banner-photo {
  position: relative;
  width: 100%;
  min-height: 280px;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-ink);
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-banner-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-banner-photo .banner-overlay {
  position: relative;
  z-index: 2;
  padding: clamp(32px, 4vw, 56px);
  background-image: linear-gradient(135deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 100%);
  color: var(--c-paper);
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.couture-banner-photo .banner-overlay h2 {
  font: 700 clamp(28px, 3.6vw, 44px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-paper);
  margin: 0 0 14px;
  max-width: 28ch;
}
.couture-banner-photo .banner-overlay p {
  font: 400 17px/1.55 var(--c-body);
  color: rgba(255,255,255,0.85);
  margin: 0 0 24px;
  max-width: 50ch;
}
.couture-banner-photo .banner-overlay .cta {
  align-self: flex-start;
  padding: 12px 26px;
  background: var(--c-paper);
  color: var(--c-ink);
  border-radius: 12px;
  text-decoration: none;
  font: 600 14px/1 var(--c-body);
  transition: transform .25s, background .25s;
}
.couture-banner-photo .banner-overlay .cta:hover {
  transform: translateY(-2px);
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.386 — Outseta-tier "dark mode toggle hint" — pre-built toggle UI. */
.couture-theme-toggle {
  display: inline-flex;
  align-items: center;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-theme-toggle button {
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  border-radius: 50%;
  color: var(--c-ink-soft);
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, color .2s;
}
.couture-theme-toggle button:hover {
  color: var(--c-ink);
}
.couture-theme-toggle button[aria-pressed="true"] {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

/* V6.386 — Outseta-tier "stat-comparison" — before/after with arrow. */
.couture-stat-compare {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 32px);
  padding: clamp(24px, 3vw, 32px);
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-stat-compare .stat-side {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: center;
}
.couture-stat-compare .stat-side .stat-num {
  font: 700 clamp(28px, 3.6vw, 44px)/1 var(--c-display);
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
}
.couture-stat-compare .stat-side .stat-label {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-stat-compare .stat-side.before .stat-num {
  color: var(--c-ink-soft);
  opacity: 0.65;
  text-decoration: line-through;
}
.couture-stat-compare .stat-side.after .stat-num {
  background-image: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.couture-stat-compare .stat-arrow {
  font-size: 28px;
  color: var(--c-accent);
  flex-shrink: 0;
}

/* V6.386 — Outseta-tier "section gap utility" — explicit section spacing. */
.couture-section-gap-sm { margin-block: clamp(32px, 4vw, 56px); }
.couture-section-gap    { margin-block: clamp(56px, 7vw, 96px); }
.couture-section-gap-lg { margin-block: clamp(80px, 10vw, 144px); }
.couture-section-gap-xl { margin-block: clamp(96px, 12vw, 200px); }

/* V6.386 — Outseta-tier "dot-pattern background" — decorative bg pattern. */
.couture-dotted-bg {
  background-image: radial-gradient(color-mix(in oklab, var(--c-ink) 12%, transparent) 1px, transparent 1px);
  background-size: 24px 24px;
}
.couture-dotted-bg--accent {
  background-image: radial-gradient(color-mix(in oklab, var(--c-accent) 25%, transparent) 1px, transparent 1px);
  background-size: 24px 24px;
}

/* V6-386 — Outseta-tier "grid-pattern background" (Vercel signature). */
.couture-grid-bg {
  background-image:
    linear-gradient(to right, color-mix(in oklab, var(--c-ink) 6%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in oklab, var(--c-ink) 6%, transparent) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* V6.386 — Outseta-tier "vertical text label" — sideways text accent. */
.couture-vertical-label {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  padding: 16px 0;
}

/* V6.386 — Outseta-tier "section number marker" — large faded numeric. */
.couture-section-number {
  position: relative;
}
.couture-section-number::before {
  content: attr(data-num);
  position: absolute;
  top: -24px;
  left: -8px;
  font: 800 clamp(96px, 14vw, 240px)/1 var(--c-display);
  letter-spacing: -0.05em;
  color: color-mix(in oklab, var(--c-accent) 10%, transparent);
  pointer-events: none;
  z-index: 0;
  user-select: none;
}
.couture-section-number > * {
  position: relative;
  z-index: 1;
}

/* V6.386 — Outseta-tier "list with leading separator" — rule between items. */
.couture-divided-list {
  list-style: none;
  padding: 0;
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-divided-list li {
  padding: clamp(16px, 2vw, 24px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-divided-list li:last-child { border-bottom: 0; }
.couture-divided-list li h4 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink);
}
.couture-divided-list li p {
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 70ch;
}

/* V6.386 — Outseta-tier "diagonal divider" — angled section separator. */
.couture-diagonal-divider {
  position: relative;
  height: clamp(60px, 8vw, 100px);
  overflow: hidden;
  margin: 0 0 -1px;
}
.couture-diagonal-divider::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-paper);
  transform: skewY(-2deg);
  transform-origin: top left;
}
.couture-diagonal-divider--up::before {
  transform: skewY(2deg);
}
.couture-diagonal-divider--accent::before {
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) 0%, var(--c-paper) 100%);
}

/* V6.386 — Outseta-tier "card with corner accent" — featured card variant. */
.couture-corner-accent-card {
  position: relative;
  padding: clamp(28px, 3.5vw, 40px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  overflow: hidden;
}
.couture-corner-accent-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
  background-image: linear-gradient(225deg, color-mix(in oklab, var(--c-accent) 30%, transparent) 0%, transparent 70%);
  pointer-events: none;
}
.couture-corner-accent-card h3 {
  font: 700 clamp(20px, 2.4vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0 0 12px;
}
.couture-corner-accent-card p {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "click-to-copy" — code block with copy button. */
.couture-copyable {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 8px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 500 13px/1 var(--c-mono);
  color: var(--c-ink);
}
.couture-copyable button {
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
  color: var(--c-ink-soft);
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, color .2s;
}
.couture-copyable button:hover {
  background: color-mix(in oklab, var(--c-paper) 88%, var(--c-ink));
  color: var(--c-accent);
}
.couture-copyable button[aria-pressed="true"] {
  color: var(--c-accent);
}
.couture-copyable button[aria-pressed="true"]::before {
  content: "✓";
}
.couture-copyable button::before {
  content: "⧉";
}

/* V6.386 — Outseta-tier "skip link" — refined accessibility skip-to-main. */
.couture-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  padding: 10px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 14px/1 var(--c-body);
  text-decoration: none;
  border-radius: 0 0 8px 0;
}
.couture-skip-link:focus,
.couture-skip-link:focus-visible {
  left: 0;
  outline: 2px solid var(--c-accent);
  outline-offset: 0;
}

/* V6.386 — Outseta-tier "loading dots" — animated 3-dot loading indicator. */
.couture-loading-dots {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-loading-dots::before,
.couture-loading-dots::after,
.couture-loading-dots > span {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  animation: _couture-loading-dot 1.4s ease-in-out infinite both;
}
.couture-loading-dots::before { animation-delay: 0s; }
.couture-loading-dots > span { animation-delay: .2s; }
.couture-loading-dots::after { animation-delay: .4s; }
@keyframes _couture-loading-dot {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.5; }
  40%           { transform: scale(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-loading-dots::before,
  .couture-loading-dots::after,
  .couture-loading-dots > span {
    animation: none;
    opacity: 1;
  }
}

/* V6.386 — Outseta-tier "avatar-stack" — overlapping circular avatars. */
.couture-avatar-stack {
  display: inline-flex;
  align-items: center;
}
.couture-avatar-stack > * {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 35%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 100%);
  border: 2px solid var(--c-paper);
  margin-left: -10px;
  overflow: hidden;
}
.couture-avatar-stack > *:first-child { margin-left: 0; }
.couture-avatar-stack > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-avatar-stack--lg > * {
  width: 44px;
  height: 44px;
  margin-left: -14px;
}
.couture-avatar-stack--sm > * {
  width: 24px;
  height: 24px;
  margin-left: -8px;
}

/* V6.386 — Outseta-tier "form fieldset" — refined grouped form fields. */
fieldset.couture-fieldset,
.couture-fieldset {
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 12px;
  padding: clamp(20px, 2.5vw, 28px);
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-fieldset legend {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  padding: 0 8px;
  margin-left: -8px;
}

/* V6.386 — Outseta-tier "selector chip" — radio-pill style selection. */
.couture-selector {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
.couture-selector input[type="radio"],
.couture-selector input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.couture-selector label {
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 500 13px/1 var(--c-body);
  color: var(--c-ink);
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
}
.couture-selector label:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
}
.couture-selector input:checked + label {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-selector input:focus-visible + label {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* V6.386 — Outseta-tier "navlink with hover effect" — refined link interaction. */
.couture-nav-fancy-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 14px/1 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  padding: 4px 0;
  transition: color .2s;
}
.couture-nav-fancy-link::after {
  content: "→";
  font-size: 14px;
  color: var(--c-accent);
  transition: transform .25s cubic-bezier(.2,.7,.2,1);
  opacity: 0.7;
}
.couture-nav-fancy-link:hover {
  color: var(--c-accent);
}
.couture-nav-fancy-link:hover::after {
  transform: translateX(4px);
  opacity: 1;
}

/* V6.386 — Outseta-tier "image card with stat overlay" — image + stat number. */
.couture-stat-image-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--c-ink);
}
.couture-stat-image-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-stat-image-card .stat-overlay {
  position: absolute;
  inset: 0;
  padding: clamp(20px, 3vw, 32px);
  background-image: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.7) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--c-paper);
}
.couture-stat-image-card .stat-overlay .stat-num {
  font: 800 clamp(40px, 5vw, 64px)/1 var(--c-display);
  letter-spacing: -0.04em;
  margin: 0;
}
.couture-stat-image-card .stat-overlay .stat-label {
  font: 500 13px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.85;
  margin: 4px 0 0;
}

/* V6.386 — Outseta-tier "metric counter row" — flex 4-up with separators. */
.couture-metric-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(20px, 3vw, 40px);
  padding: clamp(28px, 3.5vw, 48px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-metric-row .metric {
  flex: 1;
  min-width: 140px;
  text-align: center;
}
.couture-metric-row .metric:not(:last-child) {
  border-right: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-metric-row .metric .metric-num {
  font: 700 clamp(32px, 4vw, 56px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0;
}
.couture-metric-row .metric .metric-label {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin: 6px 0 0;
}
@media (max-width: 600px) {
  .couture-metric-row .metric:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
    padding-bottom: 16px;
  }
}

/* V6.386 — Outseta-tier "tag with x-remove" — removable tag chips. */
.couture-tag-remove {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 4px 4px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  color: var(--c-accent);
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 2px;
}
.couture-tag-remove .remove-btn {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--c-accent);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  transition: background .2s;
}
.couture-tag-remove .remove-btn::before { content: "×"; }
.couture-tag-remove .remove-btn:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.386 — Outseta-tier "alert dismissable" — banner that can be closed. */
.couture-alert {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border-left: 3px solid var(--c-accent);
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-alert .alert-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.couture-alert .alert-icon::before { content: "i"; font-style: italic; }
.couture-alert .alert-body { flex: 1; }
.couture-alert .alert-close {
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  border-radius: 6px;
  color: var(--c-ink-soft);
  cursor: pointer;
  font-size: 16px;
  flex-shrink: 0;
  transition: background .2s, color .2s;
}
.couture-alert .alert-close::before { content: "×"; }
.couture-alert .alert-close:hover {
  background: color-mix(in oklab, var(--c-ink) 8%, transparent);
  color: var(--c-ink);
}
.couture-alert--warn {
  background: color-mix(in oklab, #f59e0b 10%, var(--c-paper));
  border-left-color: #f59e0b;
}
.couture-alert--warn .alert-icon { background: #f59e0b; }
.couture-alert--warn .alert-icon::before { content: "!"; }
.couture-alert--success {
  background: color-mix(in oklab, #10b981 10%, var(--c-paper));
  border-left-color: #10b981;
}
.couture-alert--success .alert-icon { background: #10b981; }
.couture-alert--success .alert-icon::before { content: "✓"; font-style: normal; }
.couture-alert--danger {
  background: color-mix(in oklab, #ef4444 10%, var(--c-paper));
  border-left-color: #ef4444;
}
.couture-alert--danger .alert-icon { background: #ef4444; }
.couture-alert--danger .alert-icon::before { content: "!"; }

/* V6.386 — Outseta-tier "image gallery with caption hover" — for portfolio. */
.couture-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(12px, 1.5vw, 20px);
  margin: clamp(24px, 3vw, 40px) 0;
}
.couture-portfolio-grid .portfolio-item {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--c-ink);
  cursor: zoom-in;
}
.couture-portfolio-grid .portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.couture-portfolio-grid .portfolio-item:hover img {
  transform: scale(1.06);
}
.couture-portfolio-grid .portfolio-item .portfolio-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 18px;
  background-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.78) 100%);
  color: var(--c-paper);
  transform: translateY(40%);
  opacity: 0;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
}
.couture-portfolio-grid .portfolio-item:hover .portfolio-info {
  transform: translateY(0);
  opacity: 1;
}
.couture-portfolio-grid .portfolio-item .portfolio-info h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 4px;
}
.couture-portfolio-grid .portfolio-item .portfolio-info span {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.85;
}

/* V6.386 — Outseta-tier "sticky-nav bar" — secondary horizontal nav. */
.couture-subnav {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 999px;
  position: sticky;
  top: clamp(72px, 8vw, 96px);
  z-index: 10;
  width: max-content;
  margin: 0 auto;
  overflow-x: auto;
  scrollbar-width: none;
}
.couture-subnav::-webkit-scrollbar { display: none; }
.couture-subnav a {
  padding: 8px 16px;
  border-radius: 999px;
  font: 500 13px/1 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, color .2s;
}
.couture-subnav a:hover {
  color: var(--c-ink);
}
.couture-subnav a[aria-current="true"],
.couture-subnav a.active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 0 0 1px color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.386 — Outseta-tier "stat block with sparkline" — number + trend visual. */
.couture-stat-block {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-stat-block .stat-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-stat-block .stat-info .stat-label {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-stat-block .stat-info .stat-value {
  font: 700 clamp(24px, 3vw, 36px)/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-block .stat-info .stat-delta {
  font: 600 12px/1.4 var(--c-mono);
  color: #10b981;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-stat-block .stat-info .stat-delta--down { color: #ef4444; }
.couture-stat-block .stat-info .stat-delta::before {
  content: "↑";
  font-size: 11px;
}
.couture-stat-block .stat-info .stat-delta--down::before { content: "↓"; }
.couture-stat-block .stat-spark {
  width: 80px;
  height: 32px;
  opacity: 0.7;
}

/* V6.386 — Outseta-tier "hero search bar" — large prominent search input. */
.couture-hero-search {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px;
  background: var(--c-paper);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 24px -8px rgba(0,0,0,0.12);
  max-width: 540px;
  margin: clamp(20px, 3vw, 32px) auto;
}
.couture-hero-search input {
  flex: 1;
  padding: 14px 22px;
  border: 0;
  background: transparent;
  font: 400 16px/1.4 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-hero-search input:focus { outline: none; }
.couture-hero-search input::placeholder {
  color: var(--c-ink-soft);
}
.couture-hero-search button {
  padding: 12px 24px;
  background: var(--c-accent);
  color: var(--c-paper);
  border: 0;
  border-radius: 999px;
  font: 600 14px/1 var(--c-body);
  cursor: pointer;
  transition: transform .25s, background .25s;
  flex-shrink: 0;
}
.couture-hero-search button:hover {
  transform: translateY(-1px);
  background: color-mix(in oklab, var(--c-accent) 85%, var(--c-ink));
}

/* V6.386 — Outseta-tier "list with icon + content row" — for FAQ-lite/features. */
.couture-icon-row-list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(24px, 3vw, 40px) 0;
  padding: 0;
  list-style: none;
}
.couture-icon-row-list > li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: clamp(16px, 2vw, 24px);
  align-items: start;
}
.couture-icon-row-list .row-icon-bg {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: var(--c-accent);
  flex-shrink: 0;
}
.couture-icon-row-list h3 {
  font: 600 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink);
}
.couture-icon-row-list p {
  font: 400 15px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 60ch;
}

/* V6.386 — Outseta-tier "feature gallery" — alternating image+text rows with stagger. */
.couture-feature-alt-rows {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 6vw, 96px);
  margin: clamp(40px, 5vw, 80px) 0;
}
.couture-feature-alt-rows > .alt-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}
.couture-feature-alt-rows > .alt-row:nth-child(even) > .alt-text { order: 2; }
.couture-feature-alt-rows > .alt-row .alt-image {
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  aspect-ratio: 4 / 3;
  box-shadow: 0 16px 40px -16px rgba(0,0,0,0.18);
}
.couture-feature-alt-rows > .alt-row .alt-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-feature-alt-rows > .alt-row .alt-text .alt-eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-feature-alt-rows > .alt-row .alt-text h3 {
  font: 700 clamp(24px, 3vw, 36px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 16px;
}
.couture-feature-alt-rows > .alt-row .alt-text p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 50ch;
}
@media (max-width: 800px) {
  .couture-feature-alt-rows > .alt-row { grid-template-columns: 1fr; }
  .couture-feature-alt-rows > .alt-row:nth-child(even) > .alt-text { order: 0; }
}

/* V6.386 — Outseta-tier "promo-banner with countdown" — limited-time offer band. */
.couture-promo-band {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 12px clamp(16px, 3vw, 32px);
  background: var(--c-ink);
  color: var(--c-paper);
  font: 500 14px/1.4 var(--c-body);
}
.couture-promo-band .promo-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-promo-band .promo-label::before {
  content: "★";
  color: var(--c-accent);
  font-size: 16px;
}
.couture-promo-band .promo-code {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: color-mix(in oklab, var(--c-paper) 12%, var(--c-ink));
  border-radius: 6px;
  font: 600 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-paper);
  border: 1px dashed color-mix(in oklab, var(--c-paper) 40%, transparent);
}
.couture-promo-band .promo-cta {
  color: var(--c-accent);
  text-decoration: none;
  font-weight: 600;
}
.couture-promo-band .promo-cta:hover { text-decoration: underline; }

/* V6.386 — Outseta-tier "stat label tile" — large numeric + caption combo. */
.couture-num-tile {
  padding: clamp(28px, 3.5vw, 40px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  text-align: center;
}
.couture-num-tile .num-big {
  font: 800 clamp(56px, 7vw, 96px)/1 var(--c-display);
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
  background-image: linear-gradient(135deg, var(--c-ink), color-mix(in oklab, var(--c-ink) 65%, var(--c-accent)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.couture-num-tile .num-suffix {
  display: inline;
  font: 500 24px/1 var(--c-body);
  -webkit-text-fill-color: var(--c-ink-soft);
  background: none;
  color: var(--c-ink-soft);
  margin-left: 4px;
}
.couture-num-tile .num-caption {
  font: 500 14px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 12px 0 0;
  max-width: 32ch;
  margin-inline: auto;
}

/* V6.386 — Outseta-tier "icon-button" — circular icon-only button. */
.couture-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  text-decoration: none;
  transition: background .2s, color .2s, transform .2s, border-color .2s;
}
.couture-icon-btn:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: transparent;
  transform: translateY(-1px);
}
.couture-icon-btn--ink {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-icon-btn--ink:hover {
  background: var(--c-accent);
}
.couture-icon-btn--lg { width: 56px; height: 56px; font-size: 22px; }
.couture-icon-btn--sm { width: 32px; height: 32px; font-size: 13px; }

/* V6.386 — Outseta-tier "sticky cta strip" — bottom-fixed conversion bar. */
.couture-sticky-cta-strip {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 80;
  padding: 14px clamp(16px, 3vw, 32px);
  background: var(--c-paper);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  box-shadow: 0 -4px 16px -4px rgba(0,0,0,0.08), 0 -12px 32px -12px rgba(0,0,0,0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transform: translateY(100%);
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.couture-sticky-cta-strip.visible {
  transform: translateY(0);
}
.couture-sticky-cta-strip .strip-text {
  flex: 1;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-sticky-cta-strip .strip-text strong {
  color: var(--c-accent);
  font-weight: 700;
}
.couture-sticky-cta-strip .strip-cta {
  padding: 10px 22px;
  background: var(--c-accent);
  color: var(--c-paper);
  border: 0;
  border-radius: 10px;
  font: 600 14px/1 var(--c-body);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: transform .25s;
}
.couture-sticky-cta-strip .strip-cta:hover {
  transform: translateY(-1px);
}
.couture-sticky-cta-strip .strip-close {
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  border-radius: 50%;
  color: var(--c-ink-soft);
  cursor: pointer;
  font-size: 16px;
  transition: background .2s;
}
.couture-sticky-cta-strip .strip-close::before { content: "×"; }
.couture-sticky-cta-strip .strip-close:hover {
  background: color-mix(in oklab, var(--c-ink) 8%, transparent);
}

/* V6.386 — Outseta-tier "definition list" — inline term/desc list. */
.couture-def-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px clamp(16px, 2vw, 32px);
  margin: clamp(16px, 2vw, 24px) 0;
  padding: 0;
}
.couture-def-list dt {
  font: 600 14px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  padding: 6px 0;
}
.couture-def-list dd {
  font: 400 15px/1.5 var(--c-body);
  color: var(--c-ink);
  margin: 0;
  padding: 6px 0;
}

/* V6.386 — Outseta-tier "vertical line callout" — accent vertical-bar marker. */
.couture-vline-callout {
  padding: 8px 0 8px 24px;
  border-left: 3px solid var(--c-accent);
  font: 500 17px/1.55 var(--c-body);
  color: var(--c-ink);
  margin: clamp(20px, 2.5vw, 32px) 0;
  max-width: 56ch;
}
.couture-vline-callout .vline-eyebrow {
  display: block;
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 6px;
}

/* V6.386 — Outseta-tier "feature badge grid" — 4-up icon+label compact grid. */
.couture-feature-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-feature-badges .badge-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: clamp(16px, 2vw, 20px);
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  text-align: center;
}
.couture-feature-badges .badge-tile .badge-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--c-accent);
}
.couture-feature-badges .badge-tile .badge-label {
  font: 600 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
}

/* V6.386 — Outseta-tier "blog hero" — featured article header. */
.couture-blog-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
  padding: clamp(32px, 4vw, 56px) 0;
}
.couture-blog-hero .blog-hero-image {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}
.couture-blog-hero .blog-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-blog-hero .blog-hero-text .blog-eyebrow {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-blog-hero .blog-hero-text h1 {
  font: 700 clamp(28px, 3.6vw, 44px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 16px;
  max-width: 22ch;
}
.couture-blog-hero .blog-hero-text .blog-lede {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 20px;
  max-width: 48ch;
}
.couture-blog-hero .blog-hero-text .blog-meta {
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-blog-hero .blog-hero-text .blog-meta time {
  font-variant-numeric: tabular-nums;
}
@media (max-width: 800px) {
  .couture-blog-hero { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "spaced number list" — numbered with generous spacing. */
.couture-num-list {
  list-style: none;
  padding: 0;
  margin: clamp(24px, 3vw, 40px) 0;
  counter-reset: nlist;
}
.couture-num-list li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: clamp(16px, 2vw, 24px);
  padding: clamp(16px, 2vw, 24px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  counter-increment: nlist;
}
.couture-num-list li:last-child { border-bottom: 0; }
.couture-num-list li::before {
  content: counter(nlist, decimal-leading-zero);
  font: 700 clamp(28px, 3vw, 40px)/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-num-list li h3 {
  font: 600 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 6px;
}
.couture-num-list li p {
  font: 400 15px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 62ch;
}

/* V6.386 — Outseta-tier "stat-emphasis sentence" — inline highlighted stat. */
.couture-stat-sentence {
  font: 500 clamp(20px, 2.4vw, 28px)/1.5 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: clamp(24px, 3vw, 40px) 0;
  max-width: 50ch;
}
.couture-stat-sentence .stat-emphasis {
  background-image: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
}

/* V6.386 — Outseta-tier "two-row footer" — primary + utility legal row. */
.couture-footer-2row {
  display: flex;
  flex-direction: column;
  padding: clamp(40px, 5vw, 64px) clamp(20px, 4vw, 64px) 0;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-footer-2row .footer-primary {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: clamp(28px, 4vw, 56px);
  padding-bottom: clamp(28px, 4vw, 48px);
}
.couture-footer-2row .footer-brand-col h4 {
  font: 700 clamp(24px, 2.6vw, 32px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 12px;
}
.couture-footer-2row .footer-brand-col p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 16px;
  max-width: 40ch;
}
.couture-footer-2row .footer-col h5 {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin: 0 0 14px;
}
.couture-footer-2row .footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-footer-2row .footer-col li {
  margin-bottom: 8px;
}
.couture-footer-2row .footer-col a {
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  transition: color .2s;
}
.couture-footer-2row .footer-col a:hover { color: var(--c-accent); }
.couture-footer-2row .footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: clamp(20px, 3vw, 28px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  font: 400 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-footer-2row .footer-legal nav {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 20px);
}
.couture-footer-2row .footer-legal nav a {
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-footer-2row .footer-legal nav a:hover { color: var(--c-ink); }
@media (max-width: 700px) {
  .couture-footer-2row .footer-primary { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "card link with hover lift" — clickable card. */
.couture-link-card,
a.couture-link-card {
  display: block;
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  text-decoration: none;
  color: inherit;
  transition: transform .25s cubic-bezier(.2,.7,.2,1), border-color .25s, box-shadow .25s;
}
.couture-link-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  box-shadow: 0 12px 32px -16px rgba(0,0,0,0.16);
}
.couture-link-card h3 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 8px;
  color: var(--c-ink);
}
.couture-link-card p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-link-card::after {
  content: "→";
  display: inline-block;
  margin-top: 12px;
  color: var(--c-accent);
  font: 500 14px/1 var(--c-mono);
  transition: transform .25s;
}
.couture-link-card:hover::after {
  transform: translateX(4px);
}

/* V6.386 — Outseta-tier "stack item with image + text" — vertical content + image. */
.couture-stack-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: transform .25s, box-shadow .25s;
}
.couture-stack-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px -16px rgba(0,0,0,0.18);
}
.couture-stack-item .stack-img {
  aspect-ratio: 16 / 10;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  overflow: hidden;
}
.couture-stack-item .stack-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.couture-stack-item:hover .stack-img img { transform: scale(1.04); }
.couture-stack-item .stack-body {
  padding: clamp(20px, 2.5vw, 28px);
}
.couture-stack-item .stack-body .stack-eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-stack-item .stack-body h3 {
  font: 600 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 10px;
  color: var(--c-ink);
}
.couture-stack-item .stack-body p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "horizontal scroll cards" — touch-friendly card row. */
.couture-hscroll-cards {
  display: flex;
  gap: clamp(16px, 2vw, 24px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: clamp(16px, 4vw, 64px);
  padding: clamp(20px, 3vw, 32px) clamp(16px, 4vw, 64px);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.couture-hscroll-cards::-webkit-scrollbar { display: none; }
.couture-hscroll-cards > * {
  flex-shrink: 0;
  scroll-snap-align: start;
  width: clamp(240px, 30vw, 320px);
}
.couture-hscroll-cards .hscroll-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(16px, 2vw, 22px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-hscroll-cards .hscroll-card h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--c-ink);
}
.couture-hscroll-cards .hscroll-card p {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "media-with-text section" — full-width image left + content right. */
.couture-media-text {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: clamp(48px, 6vw, 96px) 0;
  border-radius: 20px;
  overflow: hidden;
  background: var(--c-paper);
  min-height: 480px;
}
.couture-media-text .mt-media {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  min-height: 320px;
  overflow: hidden;
}
.couture-media-text .mt-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-media-text .mt-content {
  padding: clamp(32px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.couture-media-text .mt-content .mt-eyebrow {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-media-text .mt-content h2 {
  font: 700 clamp(28px, 3.6vw, 44px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 18px;
}
.couture-media-text .mt-content p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 50ch;
}
.couture-media-text--reverse .mt-media { order: 2; }
@media (max-width: 800px) {
  .couture-media-text { grid-template-columns: 1fr; }
  .couture-media-text--reverse .mt-media { order: 0; }
}

/* V6.386 — Outseta-tier "byline + tags row" — author info + topic tags. */
.couture-byline-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  padding: clamp(14px, 2vw, 20px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-byline-row .byline-author {
  display: flex;
  align-items: center;
  gap: 10px;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-byline-row .byline-author .author-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 100%);
  flex-shrink: 0;
  overflow: hidden;
}
.couture-byline-row .byline-author .author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-byline-row .byline-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-left: auto;
}
.couture-byline-row .byline-tags a,
.couture-byline-row .byline-tags span {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 5px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  color: var(--c-ink);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.couture-byline-row .byline-tags a:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.386 — Outseta-tier "spacer utility" — vertical-rhythm spacers. */
.couture-spacer-xs { height: 8px; }
.couture-spacer-sm { height: 16px; }
.couture-spacer    { height: 32px; }
.couture-spacer-md { height: 48px; }
.couture-spacer-lg { height: 64px; }
.couture-spacer-xl { height: 96px; }
.couture-spacer-xxl{ height: 128px; }

/* V6.386 — Outseta-tier "centered limited-width content wrapper". */
.couture-prose-wrap {
  max-width: 70ch;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 32px);
}
.couture-prose-wrap--narrow { max-width: 56ch; }
.couture-prose-wrap--wide   { max-width: 92ch; }
.couture-prose-wrap--full   { max-width: 1280px; }

/* V6.386 — Outseta-tier "section title + see-all link" — section header w/ action. */
.couture-section-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 0 clamp(20px, 2.5vw, 32px);
}
.couture-section-title-row h2 {
  font: 700 clamp(24px, 3vw, 36px)/1.2 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0;
  color: var(--c-ink);
}
.couture-section-title-row a.see-all {
  font: 500 14px/1 var(--c-body);
  color: var(--c-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .25s;
}
.couture-section-title-row a.see-all::after {
  content: "→";
  transition: transform .25s;
}
.couture-section-title-row a.see-all:hover {
  gap: 10px;
}
.couture-section-title-row a.see-all:hover::after {
  transform: translateX(2px);
}

/* V6.386 — Outseta-tier "tweet card" — social-style quote card with avatar. */
.couture-tweet-card {
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-tweet-card .tweet-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.couture-tweet-card .tweet-author .tweet-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 100%);
}
.couture-tweet-card .tweet-author .tweet-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-tweet-card .tweet-author .tweet-name {
  font: 600 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-tweet-card .tweet-author .tweet-handle {
  font: 400 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-tweet-card .tweet-body {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink);
  margin: 0 0 12px;
}
.couture-tweet-card .tweet-time {
  font: 400 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}

/* V6.386 — Outseta-tier "metric panel" — large 1-up dashboard-style panel. */
.couture-metric-panel {
  padding: clamp(32px, 4vw, 48px);
  border-radius: 20px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%, var(--c-paper) 100%);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-metric-panel .panel-label {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-metric-panel .panel-value {
  font: 800 clamp(56px, 7vw, 96px)/1 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0 0 12px;
}
.couture-metric-panel .panel-sub {
  font: 400 16px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 56ch;
}

/* V6.386 — Outseta-tier "side-by-side compare" — pricing/feature 2-up. */
.couture-2col-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3vw, 40px);
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-2col-compare > * {
  padding: clamp(28px, 3.5vw, 40px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-2col-compare .featured {
  border-color: var(--c-accent);
  background-image: linear-gradient(180deg, color-mix(in oklab, var(--c-accent) 5%, var(--c-paper)) 0%, var(--c-paper) 100%);
  position: relative;
}
.couture-2col-compare .featured::before {
  content: "Recommended";
  position: absolute;
  top: -12px;
  left: 24px;
  padding: 4px 12px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 999px;
}
@media (max-width: 700px) {
  .couture-2col-compare { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "trust-icon row" — small icons + labels for trust signals. */
.couture-trust-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3vw, 40px);
  padding: clamp(20px, 3vw, 32px) 0;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-trust-icons .trust-pair {
  display: flex;
  align-items: center;
  gap: 8px;
}
.couture-trust-icons .trust-pair .trust-glyph {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
  font-size: 14px;
}
.couture-trust-icons .trust-pair .trust-label {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}

/* V6.386 — Outseta-tier "image-carousel container" — multi-image cycle. */
.couture-image-carousel {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-image-carousel .carousel-track {
  display: flex;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.couture-image-carousel .carousel-slide {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 16 / 9;
}
.couture-image-carousel .carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-image-carousel .carousel-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
}
.couture-image-carousel .carousel-dots button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,0.5);
  cursor: pointer;
  transition: background .2s, width .25s;
  padding: 0;
}
.couture-image-carousel .carousel-dots button[aria-current="true"] {
  background: var(--c-paper);
  width: 20px;
  border-radius: 999px;
}

/* V6.386 — Outseta-tier "split content row" — text-left text-right (no image). */
.couture-split-text {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-split-text .split-label {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
}
.couture-split-text .split-body h2 {
  font: 700 clamp(28px, 3.6vw, 44px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 16px;
}
.couture-split-text .split-body p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 16px;
  max-width: 60ch;
}
@media (max-width: 700px) {
  .couture-split-text { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "card-with-tag overlay" — product card with corner tag. */
.couture-tag-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: transform .25s, box-shadow .25s;
}
.couture-tag-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px -16px rgba(0,0,0,0.18);
}
.couture-tag-card .tag-img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-tag-card .tag-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.couture-tag-card:hover .tag-img img { transform: scale(1.05); }
.couture-tag-card .tag-corner {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  z-index: 2;
}
.couture-tag-card .tag-corner--accent { background: var(--c-accent); }
.couture-tag-card .tag-corner--paper { background: var(--c-paper); color: var(--c-ink); border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent); }
.couture-tag-card .tag-body { padding: clamp(16px, 2vw, 22px); }
.couture-tag-card .tag-body h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}
.couture-tag-card .tag-body p {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "centered eyebrow heading" — quick section topper. */
.couture-eyebrow-heading {
  text-align: center;
  margin: 0 0 clamp(28px, 4vw, 48px);
}
.couture-eyebrow-heading .eh-eyebrow {
  display: inline-block;
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-eyebrow-heading .eh-eyebrow::before,
.couture-eyebrow-heading .eh-eyebrow::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 1px;
  background: var(--c-accent);
  vertical-align: middle;
  margin: 0 12px;
}
.couture-eyebrow-heading h2 {
  font: 700 clamp(28px, 4vw, 48px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0;
  max-width: 22ch;
  margin-inline: auto;
}
.couture-eyebrow-heading p {
  font: 400 17px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 12px auto 0;
  max-width: 56ch;
}

/* V6.386 — Outseta-tier "milestone timeline-card" — single timeline card. */
.couture-milestone-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(16px, 2vw, 24px);
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-milestone-card .milestone-date {
  font: 700 clamp(20px, 2.4vw, 28px)/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
  min-width: 80px;
}
.couture-milestone-card .milestone-body h4 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}
.couture-milestone-card .milestone-body p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 56ch;
}

/* V6.386 — Outseta-tier "split hero with two-text-halves" — no image. */
.couture-text-hero {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
  padding: clamp(64px, 8vw, 128px) 0 clamp(40px, 5vw, 64px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-text-hero h1 {
  font: 700 clamp(48px, 7vw, 96px)/0.98 var(--c-display);
  letter-spacing: -0.035em;
  margin: 0;
  max-width: 16ch;
}
.couture-text-hero .text-hero-sub p {
  font: 400 18px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 44ch;
}
.couture-text-hero .text-hero-meta {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
@media (max-width: 800px) {
  .couture-text-hero { grid-template-columns: 1fr; align-items: start; gap: 24px; }
}

/* V6.386 — Outseta-tier "centered narrow CTA card" — premium centered CTA. */
.couture-cta-centered {
  text-align: center;
  padding: clamp(40px, 5vw, 64px) clamp(24px, 4vw, 64px);
  border-radius: 24px;
  background-image: radial-gradient(ellipse 600px 400px at 50% 0%, color-mix(in oklab, var(--c-accent) 12%, transparent) 0%, transparent 70%);
  background-color: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin: clamp(40px, 5vw, 64px) auto;
  max-width: 720px;
}
.couture-cta-centered .cta-eyebrow {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-cta-centered h2 {
  font: 700 clamp(28px, 3.6vw, 44px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 14px;
  max-width: 22ch;
  margin-inline: auto;
}
.couture-cta-centered p {
  font: 400 17px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 auto 24px;
  max-width: 44ch;
}
.couture-cta-centered .cta-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.couture-cta-centered .cta-primary {
  padding: 14px 28px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 12px;
  text-decoration: none;
  font: 600 15px/1 var(--c-body);
}
.couture-cta-centered .cta-secondary {
  padding: 14px 28px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  border-radius: 12px;
  text-decoration: none;
  font: 600 15px/1 var(--c-body);
}

/* V6.386 — Outseta-tier "image with text overlay band" — for hero variants. */
.couture-image-band {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  min-height: 360px;
  background: var(--c-ink);
}
.couture-image-band img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-image-band .band-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  padding: clamp(28px, 4vw, 48px);
  background-image: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.7) 100%);
  color: var(--c-paper);
}
.couture-image-band .band-overlay h2 {
  font: 700 clamp(28px, 4vw, 48px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--c-paper);
  max-width: 18ch;
}

/* V6.386 — Outseta-tier "info-box with side icon" — quick-info notice. */
.couture-info-box {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  padding: clamp(14px, 2vw, 18px) clamp(16px, 2vw, 22px);
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  margin: clamp(16px, 2vw, 24px) 0;
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink);
  align-items: start;
}
.couture-info-box .ib-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  flex-shrink: 0;
}
.couture-info-box .ib-icon::before { content: "i"; font-style: italic; }
.couture-info-box strong {
  font-weight: 700;
  display: inline;
}

/* V6.386 — Outseta-tier "ranked list with rank-circle" — top 5 list. */
.couture-rank-list {
  list-style: none;
  padding: 0;
  margin: clamp(20px, 2.5vw, 32px) 0;
  counter-reset: rank;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-rank-list li {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  counter-increment: rank;
  transition: background .2s, transform .2s;
}
.couture-rank-list li:hover {
  background: var(--c-paper);
  transform: translateX(4px);
}
.couture-rank-list li::before {
  content: counter(rank);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-rank-list li:nth-child(1)::before { background: linear-gradient(135deg, #FFB400, #FF8800); color: var(--c-paper); }
.couture-rank-list li:nth-child(2)::before { background: linear-gradient(135deg, #B8B8B8, #808080); color: var(--c-paper); }
.couture-rank-list li:nth-child(3)::before { background: linear-gradient(135deg, #CD7F32, #8B4513); color: var(--c-paper); }
.couture-rank-list li .rank-title {
  font: 600 15px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
}
.couture-rank-list li .rank-meta {
  font: 500 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.386 — Outseta-tier "polished section-divider with text" — refined hr+label. */
.couture-divider-text {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-divider-text::before,
.couture-divider-text::after {
  content: "";
  flex: 1;
  height: 1px;
  background-image: linear-gradient(90deg, transparent 0%, color-mix(in oklab, var(--c-line) 60%, transparent) 50%, transparent 100%);
}
.couture-divider-text .dt-text {
  font: 500 14px/1.4 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink-soft);
  flex-shrink: 0;
  font-style: italic;
}

/* V6.386 — Outseta-tier "feature carousel-row" — 3-up tile preview cards. */
.couture-feature-preview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-feature-preview .preview-card {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.couture-feature-preview .preview-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  box-shadow: 0 16px 40px -16px rgba(0,0,0,0.16);
}
.couture-feature-preview .preview-card .preview-icon-bg {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 16%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: var(--c-accent);
}
.couture-feature-preview .preview-card h3 {
  font: 600 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0;
}
.couture-feature-preview .preview-card p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-feature-preview .preview-card a.preview-link {
  margin-top: auto;
  padding-top: 12px;
  color: var(--c-accent);
  font: 500 13px/1 var(--c-body);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-feature-preview .preview-card a.preview-link::after {
  content: "→";
  transition: transform .25s;
}
.couture-feature-preview .preview-card a.preview-link:hover::after {
  transform: translateX(3px);
}

/* V6.386 — Outseta-tier "trustcrest" — small certification logos cluster. */
.couture-trustcrest {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: clamp(16px, 2.5vw, 24px) 0;
  margin: clamp(16px, 2.5vw, 24px) 0;
}
.couture-trustcrest .crest-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-trustcrest .crest-item .crest-mark {
  width: 14px;
  height: 14px;
  color: var(--c-accent);
}

/* V6.386 — Outseta-tier "highlight box with side accent" — refined callout. */
.couture-highlight-box {
  display: grid;
  grid-template-columns: 6px 1fr;
  gap: 0;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper));
  margin: clamp(20px, 2.5vw, 32px) 0;
  overflow: hidden;
}
.couture-highlight-box::before {
  content: "";
  background-image: linear-gradient(180deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)) 100%);
}
.couture-highlight-box .hl-body {
  padding: clamp(20px, 2.5vw, 28px);
}
.couture-highlight-box .hl-body h4 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
  color: var(--c-ink);
}
.couture-highlight-box .hl-body p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink);
  margin: 0;
}

/* V6.386 — Outseta-tier "feature tag-row" — features list as inline pills. */
.couture-feature-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-feature-pills .fp-pill {
  padding: 8px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 94%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-feature-pills .fp-pill::before {
  content: "✓";
  width: 14px;
  height: 14px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
}

/* V6.386 — Outseta-tier "stat-strip-3 with dividers" — clean inline 3-up. */
.couture-stat-strip-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding: clamp(28px, 3.5vw, 48px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-stat-strip-3 .strip-cell {
  text-align: center;
  padding: 0 clamp(12px, 2vw, 20px);
}
.couture-stat-strip-3 .strip-cell:not(:first-child) {
  border-left: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-stat-strip-3 .strip-cell .strip-num {
  font: 700 clamp(32px, 4vw, 56px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0;
}
.couture-stat-strip-3 .strip-cell .strip-cap {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin: 8px 0 0;
}
@media (max-width: 600px) {
  .couture-stat-strip-3 { grid-template-columns: 1fr; }
  .couture-stat-strip-3 .strip-cell:not(:first-child) {
    border-left: 0;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
    padding-top: 20px;
    margin-top: 20px;
  }
}

/* V6.386 — Outseta-tier "fade-in on viewport" — IntersectionObserver-paired class. */
.couture-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1);
}
.couture-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .couture-fade-in { opacity: 1; transform: none; transition: none; }
}

/* V6.386 — Outseta-tier "modal/dialog chrome" — centered modal styling. */
.couture-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 4vw, 32px);
  background: rgba(0,0,0,0.55);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.couture-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.couture-modal .modal-card {
  width: 100%;
  max-width: 560px;
  max-height: 85vh;
  overflow-y: auto;
  padding: clamp(28px, 4vw, 48px);
  border-radius: 20px;
  background: var(--c-paper);
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.5) inset, 0 24px 64px -24px rgba(0,0,0,0.32);
  transform: translateY(20px) scale(0.96);
  transition: transform .25s cubic-bezier(.2,.7,.2,1);
}
.couture-modal.is-open .modal-card {
  transform: translateY(0) scale(1);
}
.couture-modal .modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  color: var(--c-ink-soft);
  font-size: 18px;
  transition: background .2s;
}
.couture-modal .modal-close::before { content: "×"; }
.couture-modal .modal-close:hover {
  background: color-mix(in oklab, var(--c-ink) 8%, transparent);
}
.couture-modal h3 {
  font: 700 clamp(22px, 2.6vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  margin: 0 0 12px;
}

/* V6.386 — Outseta-tier "snackbar" — bottom-right toast notification. */
.couture-snackbar {
  position: fixed;
  bottom: clamp(16px, 3vw, 24px);
  right: clamp(16px, 3vw, 24px);
  z-index: 95;
  padding: 14px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  box-shadow: 0 12px 32px -12px rgba(0,0,0,0.4);
  font: 500 14px/1.4 var(--c-body);
  max-width: 360px;
  transform: translateY(20px);
  opacity: 0;
  pointer-events: none;
  transition: transform .25s cubic-bezier(.2,.7,.2,1), opacity .25s ease;
}
.couture-snackbar.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.couture-snackbar--success { background: #10b981; }
.couture-snackbar--error { background: #ef4444; }

/* V6.386 — Outseta-tier "kbd-shortcut block" — multi-key combo display. */
.couture-shortcut {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-shortcut .sk {
  padding: 3px 7px;
  background: color-mix(in oklab, var(--c-paper) 90%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom-width: 2px;
  border-radius: 4px;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink);
}
.couture-shortcut .sk-sep {
  color: var(--c-ink-soft);
  font-size: 10px;
}

/* V6.386 — Outseta-tier "tabbed content area" — tab nav + panel container. */
.couture-tabbed {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.couture-tabbed .tabbed-nav {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin-bottom: 24px;
  overflow-x: auto;
  scrollbar-width: none;
}
.couture-tabbed .tabbed-nav::-webkit-scrollbar { display: none; }
.couture-tabbed .tabbed-nav button,
.couture-tabbed .tabbed-nav a {
  padding: 12px 18px;
  border: 0;
  background: transparent;
  font: 500 14px/1 var(--c-body);
  color: var(--c-ink-soft);
  cursor: pointer;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.couture-tabbed .tabbed-nav button:hover,
.couture-tabbed .tabbed-nav a:hover {
  color: var(--c-ink);
}
.couture-tabbed .tabbed-nav button[aria-selected="true"],
.couture-tabbed .tabbed-nav a[aria-current="true"],
.couture-tabbed .tabbed-nav button.active,
.couture-tabbed .tabbed-nav a.active {
  color: var(--c-accent);
  border-bottom-color: var(--c-accent);
  font-weight: 600;
}
.couture-tabbed .tabbed-panel {
  padding: clamp(16px, 2vw, 24px) 0;
}
.couture-tabbed .tabbed-panel[hidden],
.couture-tabbed .tabbed-panel.hidden {
  display: none;
}

/* V6.386 — Outseta-tier "icon-pill list" — accent icon + label inline list. */
.couture-icon-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: clamp(16px, 2vw, 24px) 0;
  padding: 0;
  list-style: none;
}
.couture-icon-pill-list li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  font: 500 13px/1 var(--c-body);
  color: var(--c-ink);
}
.couture-icon-pill-list li .pill-icon {
  width: 14px;
  height: 14px;
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* V6.386 — Outseta-tier "panel with background image" — content with bg photo. */
.couture-bg-panel {
  position: relative;
  padding: clamp(40px, 5vw, 80px) clamp(28px, 4vw, 64px);
  border-radius: 20px;
  overflow: hidden;
  background: var(--c-ink);
  color: var(--c-paper);
  isolation: isolate;
  min-height: 320px;
}
.couture-bg-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--bg-image, none);
  background-size: cover;
  background-position: center;
  opacity: 0.4;
  z-index: -1;
}
.couture-bg-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(135deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 100%);
  z-index: -1;
}
.couture-bg-panel h2 {
  font: 700 clamp(28px, 4vw, 48px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-paper);
  margin: 0 0 16px;
  max-width: 22ch;
}
.couture-bg-panel p {
  font: 400 17px/1.6 var(--c-body);
  color: rgba(255,255,255,0.85);
  max-width: 50ch;
  margin: 0;
}

/* V6.386 — Outseta-tier "step ribbon" — visual workflow with arrows. */
.couture-step-ribbon {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  padding: clamp(20px, 2.5vw, 32px) 0;
  margin: clamp(24px, 3vw, 40px) 0;
}
.couture-step-ribbon .step-block {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 200px;
  gap: 12px;
  padding: 16px;
  background: var(--c-paper);
  border-radius: 10px;
  position: relative;
}
.couture-step-ribbon .step-block:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--c-accent);
  font-size: 20px;
  z-index: 2;
}
.couture-step-ribbon .step-block .step-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  flex-shrink: 0;
}
.couture-step-ribbon .step-block .step-content h4 {
  font: 600 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  margin: 0 0 2px;
  color: var(--c-ink);
}
.couture-step-ribbon .step-block .step-content p {
  font: 400 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
@media (max-width: 700px) {
  .couture-step-ribbon { flex-direction: column; align-items: stretch; gap: 12px; }
  .couture-step-ribbon .step-block:not(:last-child)::after {
    content: "↓";
    right: 50%;
    top: auto;
    bottom: -16px;
    transform: translateX(50%);
  }
}

/* V6.386 — Outseta-tier "case study card" — full image + overlay text. */
.couture-case-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16 / 11;
  background: var(--c-ink);
  cursor: pointer;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s cubic-bezier(.2,.7,.2,1);
}
.couture-case-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 48px -20px rgba(0,0,0,0.25);
}
.couture-case-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.couture-case-card:hover img { transform: scale(1.05); }
.couture-case-card .case-overlay {
  position: absolute;
  inset: 0;
  padding: clamp(20px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-image: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.7) 100%);
  color: var(--c-paper);
}
.couture-case-card .case-overlay .case-tag {
  align-self: flex-start;
  padding: 4px 12px;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-case-card .case-overlay .case-title {
  font: 700 clamp(20px, 2.5vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0;
  color: var(--c-paper);
  max-width: 22ch;
}

/* V6.386 — Outseta-tier "glass card" — frosted-glass blur card. */
.couture-glass-card {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 16px;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--c-paper);
}
.couture-glass-card h4 {
  font: 600 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
  color: var(--c-paper);
}
.couture-glass-card p {
  font: 400 14px/1.5 var(--c-body);
  color: rgba(255,255,255,0.85);
  margin: 0;
}

/* V6.386 — Outseta-tier "split-callout banner" — h2 + cta on accent bg. */
.couture-callout-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(32px, 4vw, 56px);
  border-radius: 20px;
  background-image: linear-gradient(135deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)) 100%);
  color: var(--c-paper);
  margin: clamp(40px, 5vw, 64px) 0;
  flex-wrap: wrap;
}
.couture-callout-banner .cb-text h2 {
  font: 700 clamp(24px, 3vw, 36px)/1.2 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 8px;
  color: var(--c-paper);
}
.couture-callout-banner .cb-text p {
  font: 400 16px/1.55 var(--c-body);
  color: rgba(255,255,255,0.9);
  margin: 0;
  max-width: 56ch;
}
.couture-callout-banner .cb-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.couture-callout-banner .cb-primary {
  padding: 14px 28px;
  background: var(--c-paper);
  color: var(--c-ink);
  border-radius: 10px;
  font: 600 14px/1 var(--c-body);
  text-decoration: none;
  transition: transform .25s;
}
.couture-callout-banner .cb-primary:hover { transform: translateY(-2px); }
.couture-callout-banner .cb-secondary {
  padding: 14px 28px;
  border: 1px solid rgba(255,255,255,0.4);
  color: var(--c-paper);
  border-radius: 10px;
  font: 600 14px/1 var(--c-body);
  text-decoration: none;
}

/* V6.386 — Outseta-tier "ratio scale grid" — variable-ratio image grid. */
.couture-ratio-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: clamp(12px, 1.5vw, 20px);
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-ratio-grid > * {
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  min-height: 200px;
}
.couture-ratio-grid > *:first-child {
  grid-row: 1 / 3;
}
.couture-ratio-grid > * img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.couture-ratio-grid > *:hover img { transform: scale(1.04); }
@media (max-width: 700px) {
  .couture-ratio-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .couture-ratio-grid > *:first-child {
    grid-row: auto;
    grid-column: 1 / 3;
  }
}

/* V6.386 — Outseta-tier "centered logo grid (footer cousin)" — for press strips. */
.couture-centered-logo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(28px, 4vw, 48px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 16px;
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-centered-logo-row .clr-label {
  width: 100%;
  text-align: center;
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-bottom: clamp(16px, 2vw, 24px);
}
.couture-centered-logo-row .clr-item {
  height: 28px;
  display: inline-flex;
  align-items: center;
  opacity: 0.6;
  filter: grayscale(1);
  transition: opacity .25s, filter .25s, transform .25s;
}
.couture-centered-logo-row .clr-item:hover {
  opacity: 1;
  filter: grayscale(0);
  transform: translateY(-1px);
}

/* V6.386 — Outseta-tier "FAQ list with accent column" — accent left + content right. */
.couture-faq-cols {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr;
  gap: clamp(28px, 4vw, 56px);
  margin: clamp(32px, 4vw, 56px) 0;
  align-items: start;
}
.couture-faq-cols .faq-left .faq-eyebrow {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-faq-cols .faq-left h2 {
  font: 700 clamp(24px, 3vw, 36px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 12px;
}
.couture-faq-cols .faq-left p {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-faq-cols .faq-right details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  padding: clamp(14px, 2vw, 18px) 0;
}
.couture-faq-cols .faq-right summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font: 600 16px/1.4 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.01em;
}
.couture-faq-cols .faq-right summary::-webkit-details-marker { display: none; }
.couture-faq-cols .faq-right summary::after {
  content: "+";
  color: var(--c-accent);
  font: 500 22px/1 var(--c-mono);
  transition: transform .25s;
}
.couture-faq-cols .faq-right details[open] summary::after {
  transform: rotate(45deg);
}
.couture-faq-cols .faq-right details > div {
  padding-top: 10px;
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 64ch;
}
@media (max-width: 800px) {
  .couture-faq-cols { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "callout-tile" — single-fact tile with icon. */
.couture-callout-tile {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  align-items: center;
}
.couture-callout-tile .ct-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background-image: linear-gradient(135deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)) 100%);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.couture-callout-tile h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 4px;
}
.couture-callout-tile p {
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "split-feature 50/50" — content + visual side-by-side. */
.couture-split-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
  padding: clamp(48px, 6vw, 96px) 0;
}
.couture-split-feature .sf-content .sf-eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 16px;
}
.couture-split-feature .sf-content h2 {
  font: 700 clamp(28px, 4vw, 48px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 18px;
}
.couture-split-feature .sf-content p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 50ch;
}
.couture-split-feature .sf-visual {
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  aspect-ratio: 1;
}
.couture-split-feature .sf-visual img,
.couture-split-feature .sf-visual video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 800px) {
  .couture-split-feature { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "h2 with side accent rule" — minimal section header. */
.couture-h2-rule {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  margin: 0 0 clamp(24px, 3vw, 40px);
}
.couture-h2-rule::before {
  content: "";
  width: 32px;
  height: 3px;
  background-image: linear-gradient(90deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 30%, transparent));
  border-radius: 2px;
}
.couture-h2-rule h2 {
  font: 700 clamp(24px, 3vw, 36px)/1.2 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0;
}

/* V6.386 — Outseta-tier "ribbon-corner card" — corner ribbon decoration. */
.couture-ribbon-corner-card {
  position: relative;
  padding: clamp(24px, 3vw, 36px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  overflow: hidden;
}
.couture-ribbon-corner-card .ribbon-corner {
  position: absolute;
  top: 14px;
  right: -28px;
  padding: 4px 36px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transform: rotate(45deg);
  box-shadow: 0 2px 4px rgba(0,0,0,0.12);
}
.couture-ribbon-corner-card h4 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
}
.couture-ribbon-corner-card p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "outlined button" — refined ghost button variant. */
.couture-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border: 1.5px solid color-mix(in oklab, var(--c-ink) 70%, transparent);
  border-radius: 10px;
  background: transparent;
  color: var(--c-ink);
  font: 600 14px/1 var(--c-body);
  text-decoration: none;
  cursor: pointer;
  transition: background .25s, color .25s, border-color .25s, transform .25s;
}
.couture-btn-outline:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-btn-outline--accent {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.couture-btn-outline--accent:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
}
.couture-btn-outline--paper {
  border-color: rgba(255,255,255,0.4);
  color: var(--c-paper);
}
.couture-btn-outline--paper:hover {
  background: var(--c-paper);
  color: var(--c-ink);
  border-color: var(--c-paper);
}

/* V6.386 — Outseta-tier "promoted card with avatar" — author-promoted-feature. */
.couture-promoted-card {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  position: relative;
}
.couture-promoted-card .promoted-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-promoted-card .promoted-author .pa-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 35%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 100%);
}
.couture-promoted-card .promoted-author .pa-info {
  display: flex;
  flex-direction: column;
}
.couture-promoted-card .promoted-author .pa-name {
  font: 600 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-promoted-card .promoted-author .pa-role {
  font: 400 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-promoted-card .promoted-body h3 {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
}
.couture-promoted-card .promoted-body p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "callout-row with arrows" — animated arrow indicators. */
.couture-arrow-callout {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-left: 4px solid var(--c-accent);
  margin: clamp(20px, 2.5vw, 32px) 0;
  text-decoration: none;
  color: var(--c-ink);
  transition: transform .25s, background .25s;
}
.couture-arrow-callout:hover {
  transform: translateX(4px);
  background: var(--c-paper);
}
.couture-arrow-callout .ac-content {
  flex: 1;
}
.couture-arrow-callout .ac-content h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 4px;
}
.couture-arrow-callout .ac-content p {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-arrow-callout::after {
  content: "→";
  font-size: 20px;
  color: var(--c-accent);
  transition: transform .25s;
}
.couture-arrow-callout:hover::after {
  transform: translateX(4px);
}

/* V6.386 — Outseta-tier "drawer panel" — slide-in from right. */
.couture-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(420px, 100vw);
  z-index: 150;
  background: var(--c-paper);
  box-shadow: -8px 0 24px -8px rgba(0,0,0,0.12), -24px 0 64px -16px rgba(0,0,0,0.16);
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
  display: flex;
  flex-direction: column;
}
.couture-drawer.is-open {
  transform: translateX(0);
}
.couture-drawer .drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 28px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-drawer .drawer-header h3 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0;
}
.couture-drawer .drawer-close {
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  color: var(--c-ink-soft);
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}
.couture-drawer .drawer-close::before { content: "×"; }
.couture-drawer .drawer-close:hover {
  background: color-mix(in oklab, var(--c-ink) 8%, transparent);
}
.couture-drawer .drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: clamp(20px, 3vw, 28px);
}
.couture-drawer .drawer-footer {
  padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 28px);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.386 — Outseta-tier "popover" — anchored info popover. */
.couture-popover {
  position: absolute;
  z-index: 110;
  padding: 14px 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 10px;
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.08), 0 16px 32px -16px rgba(0,0,0,0.18);
  min-width: 200px;
  max-width: 320px;
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity .15s, transform .15s;
}
.couture-popover.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.couture-popover::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 16px;
  width: 12px;
  height: 12px;
  background: var(--c-paper);
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transform: rotate(45deg);
}
.couture-popover .pop-title {
  font: 600 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0 0 6px;
}
.couture-popover .pop-body {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "value chip" — distinguished value-prop pill. */
.couture-value-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  margin: 4px;
}
.couture-value-chip .vc-num {
  font: 700 14px/1 var(--c-display);
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}

/* V6.386 — Outseta-tier "section pair" — 2-col evenly-aligned content. */
.couture-section-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  padding: clamp(48px, 6vw, 96px) 0;
}
.couture-section-pair > * h3 {
  font: 700 clamp(22px, 2.6vw, 32px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  margin: 0 0 14px;
}
.couture-section-pair > * p {
  font: 400 16px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 16px;
  max-width: 50ch;
}
@media (max-width: 800px) {
  .couture-section-pair { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "press card" — featured-press-mention block. */
.couture-press-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: center;
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-press-card .press-logo {
  width: 100px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  filter: grayscale(1);
}
.couture-press-card .press-logo img {
  max-width: 100%;
  max-height: 100%;
}
.couture-press-card .press-quote {
  font: 500 16px/1.5 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
  font-style: italic;
}
.couture-press-card .press-attribution {
  font: 400 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 6px;
  font-style: normal;
}

/* V6.386 — Outseta-tier "tabbed-cards" — cards with active state. */
.couture-tabbed-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin: clamp(24px, 3vw, 40px) 0;
}
.couture-tabbed-cards .tc-card {
  padding: clamp(16px, 2vw, 22px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  cursor: pointer;
  transition: background .25s, border-color .25s, transform .25s;
  text-decoration: none;
  color: var(--c-ink);
}
.couture-tabbed-cards .tc-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  transform: translateY(-2px);
}
.couture-tabbed-cards .tc-card.is-active,
.couture-tabbed-cards .tc-card[aria-current="true"] {
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border-color: var(--c-accent);
}
.couture-tabbed-cards .tc-card h4 {
  font: 600 15px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}
.couture-tabbed-cards .tc-card p {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "ico-text inline" — inline icon + text label. */
.couture-ico-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-ico-text .ico {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
}
.couture-ico-text--mono {
  font-family: var(--c-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* V6.386 — Outseta-tier "container with vertical gutter" — vertically padded layout. */
.couture-vp-section {
  padding-block: clamp(64px, 8vw, 128px);
}
.couture-vp-section--lg {
  padding-block: clamp(96px, 12vw, 200px);
}
.couture-vp-section--sm {
  padding-block: clamp(40px, 5vw, 72px);
}

/* V6.386 — Outseta-tier "outlined small CTA" — refined small action button. */
.couture-btn-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-body);
  text-decoration: none;
  cursor: pointer;
  border: 0;
  transition: transform .2s, background .2s;
}
.couture-btn-sm:hover {
  transform: translateY(-1px);
  background: var(--c-accent);
}
.couture-btn-sm--ghost {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-btn-sm--ghost:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}

/* V6.386 — Outseta-tier "split-section gallery" — 4 small photos in a row. */
.couture-mini-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-mini-gallery > * {
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  transition: transform .25s;
}
.couture-mini-gallery > *:hover { transform: scale(1.03); }
.couture-mini-gallery > * img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 600px) {
  .couture-mini-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* V6.386 — Outseta-tier "info-tab card" — single tab-styled info card. */
.couture-info-tab-card {
  position: relative;
  padding: clamp(28px, 4vw, 40px);
  padding-top: clamp(40px, 5vw, 56px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-info-tab-card .info-tab {
  position: absolute;
  top: 0;
  left: 24px;
  transform: translateY(-50%);
  padding: 6px 14px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.couture-info-tab-card h3 {
  font: 700 clamp(20px, 2.4vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0 0 12px;
}
.couture-info-tab-card p {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "review-summary strip" — 5-star + count + sample. */
.couture-review-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: center;
  padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 28px);
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-review-summary .rs-rating {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.couture-review-summary .rs-rating .rs-num {
  font: 700 clamp(28px, 3vw, 36px)/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
}
.couture-review-summary .rs-rating .rs-stars {
  color: #FFB400;
  font-size: 14px;
  letter-spacing: 2px;
}
.couture-review-summary .rs-rating .rs-stars::before { content: "★ ★ ★ ★ ★"; }
.couture-review-summary .rs-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-review-summary .rs-body strong {
  color: var(--c-ink);
  font-weight: 700;
}
.couture-review-summary .rs-body .rs-count {
  display: block;
  margin-top: 4px;
  font: 500 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* V6.386 — Outseta-tier "carrier shipping bar" — shipping carriers strip. */
.couture-shipping-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2vw, 28px);
  padding: clamp(16px, 2vw, 24px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 12px;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-shipping-bar .ship-label {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-shipping-bar .ship-carrier {
  height: 20px;
  display: inline-flex;
  align-items: center;
  opacity: 0.6;
  filter: grayscale(1);
  font: 500 12px/1 var(--c-mono);
  color: var(--c-ink);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* V6.386 — Outseta-tier "title-with-meta" — h1 + tag + date inline meta. */
.couture-title-meta {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-title-meta .tm-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font: 500 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-title-meta .tm-meta .tm-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--c-ink-soft);
}
.couture-title-meta h1 {
  font: 700 clamp(32px, 5vw, 72px)/1.05 var(--c-display);
  letter-spacing: -0.03em;
  margin: 0;
  max-width: 22ch;
}

/* V6.386 — Outseta-tier "tag-cloud" — keyword cloud with varied sizes. */
.couture-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: clamp(20px, 2.5vw, 32px) 0;
  padding: 0;
  list-style: none;
}
.couture-tag-cloud li a {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 94%, var(--c-ink));
  color: var(--c-ink);
  font: 500 13px/1.3 var(--c-body);
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.couture-tag-cloud li a:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  transform: translateY(-1px);
}
.couture-tag-cloud li.size-2 a { font-size: 15px; padding: 6px 14px; }
.couture-tag-cloud li.size-3 a { font-size: 17px; padding: 7px 16px; font-weight: 600; }
.couture-tag-cloud li.size-4 a { font-size: 19px; padding: 8px 18px; font-weight: 600; }

/* V6.386 — Outseta-tier "card with vertical accent strip" — single-side bar emphasis. */
.couture-vstrip-card {
  display: grid;
  grid-template-columns: 4px 1fr;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-vstrip-card .vstrip-bar {
  background-image: linear-gradient(180deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)) 100%);
}
.couture-vstrip-card .vstrip-body {
  padding: clamp(20px, 2.5vw, 28px);
}
.couture-vstrip-card .vstrip-body .vs-eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-vstrip-card .vstrip-body h4 {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
  color: var(--c-ink);
}
.couture-vstrip-card .vstrip-body p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "section corner-tag" — corner-anchored eyebrow. */
.couture-corner-tag-section {
  position: relative;
  padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 64px);
}
.couture-corner-tag-section .corner-tag {
  position: absolute;
  top: 20px;
  left: 20px;
  padding: 5px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  color: var(--c-accent);
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* V6.386 — Outseta-tier "subscription-trial card" — premium signup-promotional card. */
.couture-trial-card {
  padding: clamp(36px, 4.5vw, 56px);
  border-radius: 24px;
  background-image: radial-gradient(circle at 30% 0%, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, transparent 50%),
                    linear-gradient(135deg, var(--c-paper) 0%, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.couture-trial-card .trial-eyebrow {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 16px;
}
.couture-trial-card h2 {
  font: 700 clamp(32px, 4.2vw, 56px)/1.1 var(--c-display);
  letter-spacing: -0.03em;
  margin: 0 0 16px;
  max-width: 18ch;
  margin-inline: auto;
}
.couture-trial-card p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 auto 28px;
  max-width: 44ch;
}
.couture-trial-card .trial-form {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: var(--c-paper);
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.08), 0 12px 32px -12px rgba(0,0,0,0.16);
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
}
.couture-trial-card .trial-form input {
  flex: 1;
  padding: 12px 18px;
  border: 0;
  background: transparent;
  font: 400 15px/1.4 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-trial-card .trial-form input:focus { outline: none; }
.couture-trial-card .trial-form button {
  padding: 12px 24px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  border-radius: 999px;
  font: 600 14px/1 var(--c-body);
  cursor: pointer;
  transition: transform .25s, background .25s;
  flex-shrink: 0;
}
.couture-trial-card .trial-form button:hover {
  transform: translateY(-1px);
  background: var(--c-accent);
}
.couture-trial-card .trial-meta {
  font: 400 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 14px;
}

/* V6.386 — 🎯 250 MILESTONE: Outseta-tier "ribbon-banner section header" — full-bleed accent ribbon. */
.couture-ribbon-banner {
  width: 100%;
  padding: clamp(20px, 3vw, 32px) clamp(24px, 4vw, 64px);
  background-image: linear-gradient(90deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)) 100%);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.couture-ribbon-banner h2 {
  font: 700 clamp(20px, 2.5vw, 30px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--c-paper);
}
.couture-ribbon-banner p {
  font: 400 14px/1.5 var(--c-body);
  color: rgba(255,255,255,0.9);
  margin: 0;
  max-width: 60ch;
}
.couture-ribbon-banner .rb-cta {
  padding: 10px 22px;
  background: var(--c-paper);
  color: var(--c-ink);
  border-radius: 999px;
  text-decoration: none;
  font: 600 13px/1 var(--c-body);
  white-space: nowrap;
  transition: transform .25s;
}
.couture-ribbon-banner .rb-cta:hover { transform: translateY(-1px); }

/* V6.386 — Outseta-tier "stacked badge stack" — vertical pill list. */
.couture-stack-badges {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-stack-badges .sb-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  align-self: flex-start;
}
.couture-stack-badges .sb-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
}

/* V6.386 — Outseta-tier "section accent decoration" — subtle floating shape. */
.couture-decor-blob {
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background-image: radial-gradient(circle, color-mix(in oklab, var(--c-accent) 25%, transparent) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  filter: blur(40px);
}
.couture-decor-blob--tl { top: -80px; left: -80px; }
.couture-decor-blob--tr { top: -80px; right: -80px; }
.couture-decor-blob--bl { bottom: -80px; left: -80px; }
.couture-decor-blob--br { bottom: -80px; right: -80px; }

/* V6.386 — Outseta-tier "side-by-side image-text panels" — alternating duo. */
.couture-duo-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-duo-panel .duo-img {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.couture-duo-panel .duo-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-duo-panel .duo-content {
  padding: clamp(24px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.couture-duo-panel .duo-content h4 {
  font: 700 clamp(20px, 2.4vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0 0 12px;
}
.couture-duo-panel .duo-content p {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-duo-panel--reverse .duo-img { order: 2; }
@media (max-width: 700px) {
  .couture-duo-panel { grid-template-columns: 1fr; }
  .couture-duo-panel--reverse .duo-img { order: 0; }
}

/* V6.386 — Outseta-tier "side-tab strip" — vertical tab strip. */
.couture-side-tabs {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 12px;
  margin: clamp(16px, 2vw, 24px) 0;
  width: max-content;
  max-width: 100%;
}
.couture-side-tabs a,
.couture-side-tabs button {
  padding: 10px 16px;
  border: 0;
  background: transparent;
  font: 500 14px/1 var(--c-body);
  color: var(--c-ink-soft);
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s, color .2s;
  text-align: left;
  white-space: nowrap;
}
.couture-side-tabs a:hover,
.couture-side-tabs button:hover { color: var(--c-ink); }
.couture-side-tabs a[aria-current="true"],
.couture-side-tabs button.active {
  background: var(--c-paper);
  color: var(--c-ink);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

/* V6.386 — Outseta-tier "metric-tile-row" — 3-up metric tiles. */
.couture-metric-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-metric-tiles .mt-tile {
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-metric-tiles .mt-tile .mt-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
  font-size: 18px;
  margin-bottom: 12px;
}
.couture-metric-tiles .mt-tile .mt-num {
  font: 700 clamp(28px, 3vw, 36px)/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0 0 4px;
}
.couture-metric-tiles .mt-tile .mt-label {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.386 — Outseta-tier "before/after slider" — interactive comparison. */
.couture-ba-slider {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--c-ink);
  cursor: ew-resize;
}
.couture-ba-slider .ba-before,
.couture-ba-slider .ba-after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.couture-ba-slider .ba-after {
  clip-path: inset(0 var(--slide-pct, 50%) 0 0);
}
.couture-ba-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-ba-slider .ba-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(100% - var(--slide-pct, 50%));
  width: 3px;
  background: var(--c-paper);
  box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
  z-index: 3;
  transform: translateX(-50%);
}
.couture-ba-slider .ba-handle::before {
  content: "⇄";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-paper);
  color: var(--c-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}
.couture-ba-slider .ba-label-before,
.couture-ba-slider .ba-label-after {
  position: absolute;
  top: 16px;
  padding: 4px 10px;
  background: rgba(0,0,0,0.55);
  color: var(--c-paper);
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  z-index: 4;
}
.couture-ba-slider .ba-label-before { left: 16px; }
.couture-ba-slider .ba-label-after  { right: 16px; }

/* V6.386 — Outseta-tier "footer with image lockup" — featured footer chrome. */
.couture-footer-image {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  padding: clamp(48px, 6vw, 96px) clamp(20px, 4vw, 64px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  align-items: center;
}
.couture-footer-image .fi-text h2 {
  font: 700 clamp(28px, 3.6vw, 48px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 18px;
  max-width: 20ch;
}
.couture-footer-image .fi-text p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 50ch;
}
.couture-footer-image .fi-image {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 1;
}
.couture-footer-image .fi-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 800px) {
  .couture-footer-image { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "minimal section header" — small caps + accent ink. */
.couture-minimal-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 0 clamp(24px, 3vw, 40px);
}
.couture-minimal-header .mh-eyebrow {
  font: 600 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
}
.couture-minimal-header h3 {
  font: 600 clamp(22px, 2.6vw, 32px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  margin: 0;
}

/* V6.386 — Outseta-tier "framed quote" — boxed pull-quote with shadow. */
.couture-framed-quote {
  position: relative;
  padding: clamp(36px, 4.5vw, 56px) clamp(28px, 4vw, 48px);
  border-radius: 20px;
  background: var(--c-paper);
  box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 16px 40px -20px rgba(0,0,0,0.18);
  margin: clamp(40px, 5vw, 64px) 0;
  text-align: center;
}
.couture-framed-quote::before {
  content: "❝";
  font: 700 96px/0.7 var(--c-display);
  color: var(--c-accent);
  opacity: 0.2;
  display: block;
  margin-bottom: -28px;
}
.couture-framed-quote blockquote {
  font: 500 clamp(20px, 2.5vw, 28px)/1.45 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0 0 24px;
  max-width: 56ch;
  margin-inline: auto;
}
.couture-framed-quote cite {
  font-style: normal;
  font: 500 13px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-framed-quote cite::before {
  content: "— ";
  color: var(--c-accent);
}

/* V6.386 — Outseta-tier "subtotal-row" — line-item with right-aligned value. */
.couture-sub-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 400 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-sub-row:last-child { border-bottom: 0; }
.couture-sub-row .sr-label { color: var(--c-ink-soft); }
.couture-sub-row .sr-value {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.couture-sub-row--total {
  padding-top: 14px;
  margin-top: 4px;
  border-top: 2px solid var(--c-ink);
  border-bottom: 0;
}
.couture-sub-row--total .sr-label {
  color: var(--c-ink);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 12px;
  font-family: var(--c-mono);
}
.couture-sub-row--total .sr-value {
  font: 700 clamp(20px, 2.4vw, 28px)/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
}

/* V6.386 — Outseta-tier "page hero with breadcrumb" — for inner-page top. */
.couture-page-hero {
  padding: clamp(40px, 5vw, 80px) 0 clamp(32px, 4vw, 56px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin-bottom: clamp(32px, 4vw, 56px);
}
.couture-page-hero .ph-breadcrumb {
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 14px;
}
.couture-page-hero .ph-breadcrumb a {
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-page-hero .ph-breadcrumb a:hover { color: var(--c-accent); }
.couture-page-hero .ph-breadcrumb .ph-sep { margin: 0 6px; opacity: 0.5; }
.couture-page-hero h1 {
  font: 700 clamp(32px, 5vw, 72px)/1.05 var(--c-display);
  letter-spacing: -0.03em;
  margin: 0 0 12px;
  max-width: 22ch;
}
.couture-page-hero .ph-lede {
  font: 400 18px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 50ch;
}

/* V6.386 — Outseta-tier "press-feature lockup" — 2-col logo+quote layout. */
.couture-press-lockup {
  display: grid;
  grid-template-columns: minmax(120px, 200px) 1fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  padding: clamp(24px, 3vw, 40px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-press-lockup:last-child { border-bottom: 0; }
.couture-press-lockup .pl-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  opacity: 0.7;
  filter: grayscale(1);
}
.couture-press-lockup .pl-quote {
  font: 500 clamp(17px, 2vw, 22px)/1.45 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-press-lockup .pl-quote .pl-attr {
  display: block;
  margin-top: 8px;
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.386 — Outseta-tier "side-icon callout" — text with right-side icon. */
.couture-side-icon-callout {
  display: grid;
  grid-template-columns: 1fr 80px;
  gap: 20px;
  align-items: center;
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 14px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%, var(--c-paper) 100%);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-side-icon-callout .sic-content h4 {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink);
}
.couture-side-icon-callout .sic-content p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-side-icon-callout .sic-icon {
  width: 80px;
  height: 80px;
  border-radius: 18px;
  background-image: linear-gradient(135deg, var(--c-accent) 0%, color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)) 100%);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
}

/* V6.386 — Outseta-tier "fancy footer credits" — "with ❤️ by ..." row. */
.couture-fancy-credits {
  text-align: center;
  padding: clamp(20px, 3vw, 32px) 0;
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-fancy-credits .fc-mark {
  color: var(--c-accent);
  font-weight: 600;
}
.couture-fancy-credits .fc-brand {
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 4px;
}

/* V6.386 — Outseta-tier "page-section header with leading kicker" — refined h2 + kicker. */
.couture-kicker-header {
  margin: 0 0 clamp(28px, 4vw, 48px);
}
.couture-kicker-header .kicker {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  color: var(--c-accent);
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}
.couture-kicker-header h2 {
  font: 700 clamp(28px, 4vw, 56px)/1.1 var(--c-display);
  letter-spacing: -0.03em;
  margin: 0 0 12px;
  max-width: 22ch;
}
.couture-kicker-header p {
  font: 400 17px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 50ch;
}

/* V6.386 — Outseta-tier "horizontal step-bar" — workflow indicator with progress fill. */
.couture-progress-steps {
  display: flex;
  align-items: center;
  gap: 0;
  margin: clamp(24px, 3vw, 40px) 0;
}
.couture-progress-steps .ps-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  position: relative;
}
.couture-progress-steps .ps-node .ps-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: background .25s, border-color .25s, color .25s;
}
.couture-progress-steps .ps-node .ps-label {
  margin-top: 10px;
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-align: center;
  max-width: 100px;
}
.couture-progress-steps .ps-node.ps-active .ps-circle {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-progress-steps .ps-node.ps-active .ps-label {
  color: var(--c-ink);
  font-weight: 600;
}
.couture-progress-steps .ps-node.ps-done .ps-circle {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-progress-steps .ps-node.ps-done .ps-circle::before { content: "✓"; }
.couture-progress-steps .ps-bar {
  flex: 1;
  height: 2px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
  margin: 0 6px;
  margin-bottom: 30px;
  align-self: flex-start;
  margin-top: 17px;
  position: relative;
  overflow: hidden;
}
.couture-progress-steps .ps-bar.ps-bar-done {
  background: var(--c-accent);
}

/* V6.386 — Outseta-tier "card list with icon-prefix" — h4 + p row with leading icon-circle. */
.couture-icon-prefix-list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 32px);
  padding: 0;
  list-style: none;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-icon-prefix-list > li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
}
.couture-icon-prefix-list .ipl-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--c-accent);
}
.couture-icon-prefix-list h4 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 4px;
  color: var(--c-ink);
}
.couture-icon-prefix-list p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "subtle card grid" — minimal grid with hover-bg. */
.couture-subtle-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-subtle-grid > * {
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 12px;
  background: transparent;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: background .25s, border-color .25s;
}
.couture-subtle-grid > *:hover {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-subtle-grid h4 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
}
.couture-subtle-grid p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "rich list" — table-like list with primary/secondary cols. */
.couture-rich-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-rich-list li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  padding: clamp(14px, 2vw, 18px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  align-items: center;
}
.couture-rich-list li:last-child { border-bottom: 0; }
.couture-rich-list li .rl-primary {
  font: 500 15px/1.4 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-rich-list li .rl-primary .rl-sub {
  display: block;
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-rich-list li .rl-value {
  font: 600 14px/1 var(--c-mono);
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

/* V6.386 — Outseta-tier "centered cluster" — centered content with max-width. */
.couture-center-cluster {
  text-align: center;
  max-width: 56ch;
  margin-inline: auto;
  padding: clamp(40px, 5vw, 64px) clamp(20px, 4vw, 32px);
}
.couture-center-cluster .cc-eyebrow {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-center-cluster h2 {
  font: 700 clamp(28px, 4vw, 48px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 16px;
}
.couture-center-cluster p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
}
.couture-center-cluster .cc-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 12px;
  font: 600 14px/1 var(--c-body);
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
}
.couture-center-cluster .cc-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -8px color-mix(in oklab, var(--c-accent) 50%, transparent);
}

/* V6.386 — Outseta-tier "split-list-pair" — 2-col matching feature lists. */
.couture-split-lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 56px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-split-lists .sl-col h4 {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 14px;
}
.couture-split-lists .sl-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-split-lists .sl-col li {
  padding: 6px 0 6px 24px;
  position: relative;
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-split-lists .sl-col li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 7px;
  color: var(--c-accent);
  font-weight: 700;
}
.couture-split-lists .sl-col--minus li::before {
  content: "−";
  color: var(--c-ink-soft);
}
@media (max-width: 700px) {
  .couture-split-lists { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "service-list" — services with side-by-side cards. */
.couture-service-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-service-list .service-item {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.couture-service-list .service-item:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
  box-shadow: 0 16px 32px -16px rgba(0,0,0,0.16);
}
.couture-service-list .service-item .si-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--c-accent);
}
.couture-service-list .service-item h3 {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0;
}
.couture-service-list .service-item p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-service-list .service-item .si-price {
  font: 700 clamp(18px, 2vw, 22px)/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-accent);
  margin-top: auto;
  padding-top: 8px;
}

/* V6.386 — Outseta-tier "minimal product card" — clean PDP-tier product card. */
.couture-product-card-min {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  transition: transform .25s;
}
.couture-product-card-min:hover { transform: translateY(-2px); }
.couture-product-card-min .pcm-image {
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-product-card-min .pcm-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.couture-product-card-min:hover .pcm-image img { transform: scale(1.05); }
.couture-product-card-min .pcm-name {
  font: 500 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-product-card-min .pcm-price {
  font: 600 14px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  color: var(--c-ink);
}
.couture-product-card-min .pcm-was {
  text-decoration: line-through;
  color: var(--c-ink-soft);
  margin-right: 6px;
  opacity: 0.7;
}

/* V6.386 — Outseta-tier "in-block CTA" — inline CTA section break. */
.couture-inline-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: clamp(20px, 2.5vw, 28px) clamp(24px, 3vw, 32px);
  border-radius: 12px;
  background-image: linear-gradient(90deg, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 4%, var(--c-paper)) 100%);
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-inline-cta .ic-text {
  font: 500 15px/1.45 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
}
.couture-inline-cta .ic-cta {
  padding: 10px 20px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 999px;
  text-decoration: none;
  font: 600 13px/1 var(--c-body);
  white-space: nowrap;
  transition: transform .25s;
}
.couture-inline-cta .ic-cta:hover { transform: translateY(-1px); }

/* V6.386 — Outseta-tier "centered logos with arrows" — features comparison flow. */
.couture-flow-arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3vw, 40px);
  margin: clamp(28px, 4vw, 48px) 0;
  flex-wrap: wrap;
}
.couture-flow-arrows .fa-step {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: var(--c-accent);
  position: relative;
}
.couture-flow-arrows .fa-step:not(:last-of-type)::after {
  content: "→";
  position: absolute;
  right: -28px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--c-ink-soft);
  font-size: 20px;
}

/* V6.386 — Outseta-tier "spec-table" — wide product spec table. */
.couture-spec-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-spec-table tr {
  display: grid;
  grid-template-columns: minmax(140px, 200px) 1fr;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-spec-table tr:last-child { border-bottom: 0; }
.couture-spec-table th {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  text-align: left;
  padding-top: 2px;
}
.couture-spec-table td {
  font: 400 15px/1.5 var(--c-body);
  color: var(--c-ink);
}

/* V6.386 — Outseta-tier "page foot signoff" — final-band brand signature. */
.couture-page-signoff {
  text-align: center;
  padding: clamp(40px, 5vw, 64px) clamp(20px, 4vw, 32px);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin-top: clamp(48px, 6vw, 96px);
}
.couture-page-signoff .ps-eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-page-signoff h2 {
  font: 700 clamp(28px, 4vw, 48px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 14px;
  max-width: 28ch;
  margin-inline: auto;
}
.couture-page-signoff p {
  font: 400 17px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 24px;
  max-width: 50ch;
  margin-inline: auto;
}
.couture-page-signoff .ps-author {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 500 13px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-page-signoff .ps-author .ps-line {
  width: 40px;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
}

/* V6.386 — Outseta-tier "split-card duo" — 2 cards inline w/ left-image. */
.couture-card-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-card-duo > * {
  padding: clamp(24px, 3vw, 32px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-duo > * .cd-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
  font-size: 20px;
}
.couture-card-duo > * h4 {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0;
}
.couture-card-duo > * p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
@media (max-width: 700px) {
  .couture-card-duo { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "value emphasis row" — large-number + label inline. */
.couture-value-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 12px 0;
}
.couture-value-row .vr-num {
  font: 700 clamp(40px, 5vw, 64px)/1 var(--c-display);
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
  background-image: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.couture-value-row .vr-label {
  font: 500 16px/1.4 var(--c-body);
  color: var(--c-ink);
}

/* V6.386 — Outseta-tier "step-numbered hover-cards" — interactive step grid. */
.couture-step-hover {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(16px, 2vw, 24px);
  counter-reset: shc;
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-step-hover > * {
  position: relative;
  padding: clamp(24px, 3vw, 32px);
  padding-top: clamp(44px, 5vw, 56px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  counter-increment: shc;
  transition: transform .25s, border-color .25s, box-shadow .25s;
}
.couture-step-hover > *:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
  box-shadow: 0 16px 32px -16px rgba(0,0,0,0.16);
}
.couture-step-hover > *::before {
  content: counter(shc, decimal-leading-zero);
  position: absolute;
  top: 18px;
  left: 24px;
  font: 700 18px/1 var(--c-mono);
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-step-hover > * h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
}
.couture-step-hover > * p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "side-by-side comparison-card" — outline+filled card. */
.couture-compare-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(28px, 4vw, 48px) 0;
  align-items: stretch;
}
.couture-compare-cards .cc-card {
  padding: clamp(28px, 3.5vw, 40px);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-compare-cards .cc-card--outline {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-compare-cards .cc-card--filled {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-compare-cards .cc-card h3 {
  font: 700 22px/1.2 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0;
}
.couture-compare-cards .cc-card--filled h3 { color: var(--c-paper); }
.couture-compare-cards .cc-card p {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-compare-cards .cc-card--filled p { color: rgba(255,255,255,0.85); }
.couture-compare-cards .cc-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-compare-cards .cc-card li {
  padding-left: 24px;
  position: relative;
  font: 400 14px/1.5 var(--c-body);
}
.couture-compare-cards .cc-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-weight: 700;
}
.couture-compare-cards .cc-card--filled li::before { color: var(--c-accent); }
@media (max-width: 700px) {
  .couture-compare-cards { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "footer-cta inline" — pre-footer conversion strip. */
.couture-footer-cta {
  text-align: center;
  padding: clamp(48px, 6vw, 96px) clamp(24px, 4vw, 64px);
  background-image: radial-gradient(ellipse 800px 300px at 50% 0%, color-mix(in oklab, var(--c-accent) 12%, transparent) 0%, transparent 70%);
}
.couture-footer-cta h2 {
  font: 700 clamp(32px, 4.5vw, 64px)/1.05 var(--c-display);
  letter-spacing: -0.035em;
  margin: 0 0 16px;
  max-width: 18ch;
  margin-inline: auto;
}
.couture-footer-cta p {
  font: 400 18px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 auto 28px;
  max-width: 48ch;
}
.couture-footer-cta .fc-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.couture-footer-cta .fc-primary {
  padding: 14px 28px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 12px;
  text-decoration: none;
  font: 600 15px/1 var(--c-body);
  transition: transform .25s, box-shadow .25s;
}
.couture-footer-cta .fc-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -8px color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-footer-cta .fc-secondary {
  padding: 14px 28px;
  color: var(--c-ink);
  border-radius: 12px;
  text-decoration: none;
  font: 600 15px/1 var(--c-body);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.386 — Outseta-tier "nav-link-pill" — for top-level highlighted nav links. */
.couture-nav-pill {
  padding: 6px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  color: var(--c-accent);
  font: 600 13px/1 var(--c-body);
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.couture-nav-pill:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  transform: translateY(-1px);
}

/* V6.386 — Outseta-tier "inline-link-with-arrow" — body text with → suffix. */
.couture-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-accent);
  text-decoration: none;
  font-weight: 500;
  transition: gap .2s;
}
.couture-link-arrow::after {
  content: "→";
  transition: transform .2s;
}
.couture-link-arrow:hover { gap: 10px; }
.couture-link-arrow:hover::after { transform: translateX(2px); }

/* V6.386 — Outseta-tier "marquee-band" — silent slow-scroll text strip. */
.couture-marquee-band {
  display: flex;
  overflow: hidden;
  padding: clamp(16px, 2vw, 24px) 0;
  background: var(--c-ink);
  color: var(--c-paper);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-marquee-band .mb-track {
  display: inline-flex;
  align-items: center;
  gap: clamp(40px, 5vw, 80px);
  white-space: nowrap;
  animation: _mb-scroll 30s linear infinite;
  width: max-content;
  font: 600 18px/1 var(--c-display);
  letter-spacing: -0.018em;
}
.couture-marquee-band .mb-track .mb-sep {
  color: var(--c-accent);
}
@keyframes _mb-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-marquee-band .mb-track { animation: none; }
}

/* V6.386 — Outseta-tier "small-print legal" — refined small-text legal block. */
.couture-fine-print {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  margin: clamp(20px, 2.5vw, 32px) 0;
  font: 400 12px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-fine-print h5 {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  margin: 0 0 10px;
}
.couture-fine-print a {
  color: var(--c-accent);
  text-decoration: none;
}
.couture-fine-print a:hover { text-decoration: underline; }

/* V6.386 — Outseta-tier "image-anchor card" — large img + h4 + p inline. */
.couture-anchor-card {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: clamp(20px, 2.5vw, 32px);
  align-items: center;
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-anchor-card .ac-image {
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-anchor-card .ac-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-anchor-card .ac-content h4 {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
}
.couture-anchor-card .ac-content p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
@media (max-width: 600px) {
  .couture-anchor-card { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "two-up press-quote ring" — premium dual press testimonials. */
.couture-press-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-press-duo .pd-card {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-press-duo .pd-logo {
  height: 28px;
  opacity: 0.7;
  filter: grayscale(1);
}
.couture-press-duo .pd-card .pd-quote {
  font: 500 17px/1.5 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
  font-style: italic;
}
.couture-press-duo .pd-card .pd-attr {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (max-width: 700px) {
  .couture-press-duo { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "centered single-CTA strip" — minimal centered CTA band. */
.couture-center-cta {
  text-align: center;
  padding: clamp(40px, 5vw, 72px) clamp(20px, 4vw, 32px);
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-center-cta h3 {
  font: 700 clamp(24px, 3vw, 40px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  margin: 0 0 18px;
  max-width: 26ch;
  margin-inline: auto;
}
.couture-center-cta .cc-btn {
  display: inline-block;
  padding: 14px 28px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 12px;
  text-decoration: none;
  font: 600 14px/1 var(--c-body);
  transition: transform .25s, box-shadow .25s;
}
.couture-center-cta .cc-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -8px color-mix(in oklab, var(--c-accent) 50%, transparent);
}

/* V6.386 — Outseta-tier "icon row strip" — 5+ small icons horizontal. */
.couture-icon-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 3vw, 40px);
  padding: clamp(20px, 2.5vw, 32px) 0;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-icon-strip .is-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 80px;
}
.couture-icon-strip .is-item .is-icon {
  width: 28px;
  height: 28px;
  color: var(--c-accent);
  font-size: 22px;
}
.couture-icon-strip .is-item .is-label {
  font: 500 12px/1.3 var(--c-body);
  color: var(--c-ink-soft);
  text-align: center;
}

/* V6.386 — Outseta-tier "vertical timeline" — left-anchored milestone line. */
.couture-vtimeline {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 48px) 0;
  position: relative;
}
.couture-vtimeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 18px;
  width: 2px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-vtimeline li {
  position: relative;
  padding-left: 56px;
  padding-bottom: clamp(28px, 4vw, 48px);
}
.couture-vtimeline li:last-child { padding-bottom: 0; }
.couture-vtimeline li::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-accent);
  border: 2px solid var(--c-paper);
  box-shadow: 0 0 0 2px var(--c-accent);
}
.couture-vtimeline li .vt-date {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 6px;
}
.couture-vtimeline li h4 {
  font: 600 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
  color: var(--c-ink);
}
.couture-vtimeline li p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 60ch;
}

/* V6.386 — Outseta-tier "cta with image preview" — text + screenshot thumbnail. */
.couture-cta-preview {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
  padding: clamp(40px, 5vw, 64px) clamp(28px, 4vw, 48px);
  border-radius: 20px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%, var(--c-paper) 100%);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-cta-preview .cp-text h2 {
  font: 700 clamp(24px, 3vw, 36px)/1.2 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 14px;
}
.couture-cta-preview .cp-text p {
  font: 400 16px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 20px;
  max-width: 44ch;
}
.couture-cta-preview .cp-text .cp-btn {
  display: inline-block;
  padding: 12px 24px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 10px;
  text-decoration: none;
  font: 600 14px/1 var(--c-body);
}
.couture-cta-preview .cp-image {
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  aspect-ratio: 4 / 3;
  box-shadow: 0 16px 40px -16px rgba(0,0,0,0.2);
}
.couture-cta-preview .cp-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 800px) {
  .couture-cta-preview { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "ribbon-banner stack" — multi-row alternating ribbons. */
.couture-ribbon-stack {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  margin: clamp(24px, 3vw, 40px) 0;
}
.couture-ribbon-stack .rs-band {
  padding: clamp(20px, 2.5vw, 28px) clamp(24px, 3vw, 36px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.couture-ribbon-stack .rs-band:nth-child(odd) {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-ribbon-stack .rs-band:nth-child(even) {
  background: var(--c-paper);
}
.couture-ribbon-stack .rs-band h4 {
  font: 600 16px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0;
}
.couture-ribbon-stack .rs-band .rs-meta {
  font: 500 13px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent);
}

/* V6.386 — Outseta-tier "compact card row" — small 4-up cards. */
.couture-compact-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: clamp(20px, 2.5vw, 32px) 0;
}
.couture-compact-row > * {
  padding: 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  text-align: center;
}
.couture-compact-row > * .cr-num {
  font: 700 24px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
  margin: 0;
}
.couture-compact-row > * .cr-label {
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 4px;
}

/* V6.386 — Outseta-tier "image-led hero text" — large image + center text. */
.couture-image-led-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(24px, 3vw, 40px);
  padding: clamp(48px, 6vw, 80px) clamp(20px, 4vw, 32px);
}
.couture-image-led-hero .ilh-image {
  width: 100%;
  max-width: 720px;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  aspect-ratio: 16 / 9;
  box-shadow: 0 16px 40px -16px rgba(0,0,0,0.2);
}
.couture-image-led-hero .ilh-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-image-led-hero h1 {
  font: 700 clamp(36px, 5vw, 72px)/1.05 var(--c-display);
  letter-spacing: -0.035em;
  margin: 0;
  max-width: 22ch;
}
.couture-image-led-hero p {
  font: 400 18px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 50ch;
}

/* V6.386 — Outseta-tier "centered split header" — main+sub headlines centered. */
.couture-centered-split {
  text-align: center;
  margin: 0 0 clamp(32px, 4vw, 56px);
  max-width: 56ch;
  margin-inline: auto;
}
.couture-centered-split h2 {
  font: 700 clamp(32px, 4.5vw, 64px)/1.05 var(--c-display);
  letter-spacing: -0.035em;
  margin: 0 0 14px;
}
.couture-centered-split h2 em {
  font-style: italic;
  color: var(--c-accent);
  font-weight: 600;
}
.couture-centered-split p {
  font: 400 18px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "side-spec card" — image left + spec stack right. */
.couture-side-spec {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-side-spec .ss-image {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-side-spec .ss-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-side-spec .ss-content h3 {
  font: 700 clamp(24px, 3vw, 36px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 16px;
}
.couture-side-spec .ss-content dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 10px clamp(16px, 2vw, 24px);
  margin: 0;
}
.couture-side-spec .ss-content dt {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-side-spec .ss-content dd {
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink);
  margin: 0;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 800px) {
  .couture-side-spec { grid-template-columns: 1fr; }
}

/* V6.386 — Outseta-tier "feature triplet" — 3-card row with refined hierarchy. */
.couture-feature-triplet {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-feature-triplet > * {
  padding: clamp(24px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-feature-triplet > * .ft-marker {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-feature-triplet > * h4 {
  font: 700 19px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  margin: 0;
}
.couture-feature-triplet > * p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
@media (max-width: 800px) {
  .couture-feature-triplet { grid-template-columns: 1fr; }
}

/* V6.386 — 🎯 300 MILESTONE: Outseta-tier "centered hero with cta + meta" — premium centered hero. */
.couture-hero-center-cta {
  text-align: center;
  padding: clamp(80px, 10vw, 160px) clamp(24px, 4vw, 64px);
}
.couture-hero-center-cta .hcc-eyebrow {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 25%, transparent);
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 24px;
}
.couture-hero-center-cta h1 {
  font: 800 clamp(48px, 8vw, 128px)/0.96 var(--c-display);
  letter-spacing: -0.04em;
  margin: 0 auto 20px;
  max-width: 18ch;
}
.couture-hero-center-cta p {
  font: 400 clamp(17px, 1.6vw, 21px)/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 auto 32px;
  max-width: 50ch;
}
.couture-hero-center-cta .hcc-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-bottom: 28px;
}
.couture-hero-center-cta .hcc-primary {
  padding: 16px 32px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 12px;
  text-decoration: none;
  font: 600 15px/1 var(--c-body);
  transition: transform .25s, box-shadow .25s;
}
.couture-hero-center-cta .hcc-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -8px color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-hero-center-cta .hcc-secondary {
  padding: 16px 32px;
  color: var(--c-ink);
  border-radius: 12px;
  text-decoration: none;
  font: 600 15px/1 var(--c-body);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-hero-center-cta .hcc-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-hero-center-cta .hcc-meta .hcc-stars {
  color: #FFB400;
  letter-spacing: 1px;
}
.couture-hero-center-cta .hcc-meta .hcc-stars::before { content: "★ ★ ★ ★ ★"; }

/* V6.386 — Outseta-tier "key-feature row" — 2-col matching key + feature. */
.couture-key-feature {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr;
  gap: clamp(20px, 3vw, 40px);
  padding: clamp(20px, 2.5vw, 32px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-key-feature:last-child { border-bottom: 0; }
.couture-key-feature .kf-key {
  font: 600 13px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  padding-top: 2px;
}
.couture-key-feature .kf-content h4 {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 6px;
}
.couture-key-feature .kf-content p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 56ch;
}

/* V6.386 — Outseta-tier "centered single h2 band" — minimal accent break. */
.couture-h2-band {
  text-align: center;
  padding: clamp(48px, 6vw, 96px) clamp(20px, 4vw, 32px);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin: clamp(48px, 6vw, 96px) 0;
}
.couture-h2-band h2 {
  font: 700 clamp(32px, 5vw, 80px)/1.05 var(--c-display);
  letter-spacing: -0.035em;
  margin: 0;
  max-width: 20ch;
  margin-inline: auto;
}

/* V6.386 — Outseta-tier "right-sidebar card" — for two-column layouts. */
.couture-with-sidebar {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-with-sidebar .ws-main {
  min-width: 0;
}
.couture-with-sidebar .ws-aside {
  position: sticky;
  top: clamp(80px, 10vw, 120px);
  padding: clamp(20px, 2.5vw, 28px);
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-with-sidebar .ws-aside h4 {
  font: 600 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  margin: 0 0 12px;
}
.couture-with-sidebar .ws-aside ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-with-sidebar .ws-aside li {
  padding: 6px 0;
}
.couture-with-sidebar .ws-aside a {
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-with-sidebar .ws-aside a:hover { color: var(--c-accent); }
@media (max-width: 900px) {
  .couture-with-sidebar { grid-template-columns: 1fr; }
  .couture-with-sidebar .ws-aside { position: static; }
}

/* V6.386 — Outseta-tier "blog-card row" — 3-up blog preview cards. */
.couture-blog-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  margin: clamp(28px, 4vw, 48px) 0;
}
.couture-blog-cards .bc-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none;
  color: inherit;
  transition: transform .25s;
}
.couture-blog-cards .bc-card:hover { transform: translateY(-3px); }
.couture-blog-cards .bc-card .bc-image {
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-blog-cards .bc-card .bc-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.couture-blog-cards .bc-card:hover .bc-image img { transform: scale(1.04); }
.couture-blog-cards .bc-card .bc-cat {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
}
.couture-blog-cards .bc-card h3 {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0;
  color: var(--c-ink);
}
.couture-blog-cards .bc-card .bc-meta {
  font: 400 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.386 — Outseta-tier "stat-grid 4-up large" — 4 prominent stat tiles. */
.couture-stat-grid-4 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  padding: clamp(40px, 5vw, 64px) 0;
}
.couture-stat-grid-4 > * {
  padding: clamp(24px, 3vw, 32px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  text-align: left;
}
.couture-stat-grid-4 > * .sg-eyebrow {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-stat-grid-4 > * .sg-value {
  font: 700 clamp(36px, 4.5vw, 56px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin: 0 0 8px;
}
.couture-stat-grid-4 > * .sg-caption {
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "section break with quote" — italic quote band between sections. */
.couture-quote-break {
  text-align: center;
  padding: clamp(48px, 6vw, 96px) clamp(20px, 4vw, 32px);
  max-width: 64ch;
  margin: clamp(40px, 5vw, 80px) auto;
  position: relative;
}
.couture-quote-break::before {
  content: "❝";
  display: block;
  font: 700 64px/0.8 var(--c-display);
  color: var(--c-accent);
  opacity: 0.25;
  margin-bottom: -12px;
}
.couture-quote-break blockquote {
  font: 500 clamp(22px, 2.6vw, 32px)/1.4 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin: 0 0 18px;
  font-style: italic;
}
.couture-quote-break cite {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  font-style: normal;
}

/* V6.386 — Outseta-tier "feature-quad" — 4-quadrant feature panel. */
.couture-feature-quad {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: clamp(32px, 4vw, 56px) 0;
}
.couture-feature-quad > * {
  padding: clamp(28px, 3.5vw, 40px);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-feature-quad > *:nth-child(2n) { border-right: 0; }
.couture-feature-quad > *:nth-last-child(-n+2) { border-bottom: 0; }
.couture-feature-quad > * .fq-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 16%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
  margin-bottom: 14px;
  font-size: 18px;
}
.couture-feature-quad > * h4 {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 6px;
}
.couture-feature-quad > * p {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
@media (max-width: 700px) {
  .couture-feature-quad { grid-template-columns: 1fr; }
  .couture-feature-quad > * { border-right: 0 !important; }
}

/* V6.386 — Outseta-tier "thread reply" — comment/discussion reply card. */
.couture-thread-reply {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  padding: clamp(16px, 2vw, 20px);
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  margin: 12px 0;
}
.couture-thread-reply .tr-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)) 0%, color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)) 100%);
}
.couture-thread-reply .tr-content .tr-meta {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}
.couture-thread-reply .tr-content .tr-name {
  font: 600 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-thread-reply .tr-content .tr-time {
  font: 400 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-thread-reply .tr-content .tr-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink);
  margin: 0;
}
.couture-thread-reply--indent { margin-left: clamp(24px, 4vw, 48px); }

/* V6.386 — Outseta-tier "centered heading + cta" — minimal section header. */
.couture-h-cta {
  text-align: center;
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-h-cta h3 {
  font: 700 clamp(24px, 3vw, 36px)/1.2 var(--c-display);
  letter-spacing: -0.022em;
  margin: 0 0 16px;
}
.couture-h-cta .hc-btn {
  display: inline-block;
  padding: 12px 24px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 10px;
  font: 600 14px/1 var(--c-body);
  text-decoration: none;
}
.couture-h-cta .hc-btn:hover { transform: translateY(-1px); }

/* V6.386 — Outseta-tier "list-with-images" — pictorial list. */
.couture-list-img {
  list-style: none;
  padding: 0;
  margin: clamp(24px, 3vw, 40px) 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-list-img li {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 16px;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-list-img li .li-img {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-list-img li .li-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-list-img li h4 {
  font: 600 15px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  margin: 0 0 4px;
}
.couture-list-img li p {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.386 — Outseta-tier "centered review" — single testimonial with author. */
.couture-centered-review {
  text-align: center;
  padding: clamp(40px, 5vw, 80px) clamp(20px, 4vw, 32px);
  max-width: 720px;
  margin: clamp(40px, 5vw, 64px) auto;
}
.couture-centered-review .cr-stars {
  font-size: 18px;
  color: #FFB400;
  letter-spacing: 4px;
  margin-bottom: 24px;
}
.couture-centered-review .cr-stars::before { content: "★ ★ ★ ★ ★"; }
.couture-centered-review blockquote {
  font: 500 clamp(20px, 2.6vw, 30px)/1.4 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin: 0 0 28px;
}
.couture-centered-review .cr-author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.couture-centered-review .cr-name {
  font: 600 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-centered-review .cr-role {
  font: 400 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* V6.386 — Outseta-tier "feature inline-list" — comma-separated inline features. */
.couture-inline-list {
  font: 400 14px/1.7 var(--c-body);
  color: var(--c-ink-soft);
  margin: clamp(12px, 1.5vw, 18px) 0;
}
.couture-inline-list .il-tag {
  display: inline;
  color: var(--c-ink);
  font-weight: 500;
}
.couture-inline-list .il-tag::after {
  content: " · ";
  color: var(--c-accent);
  font-weight: 400;
  margin: 0 4px;
}
.couture-inline-list .il-tag:last-child::after { content: ""; }

/* V6.386 — Outseta-tier "step-summary card" — process-step preview. */
.couture-step-summary {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-step-summary .ss-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  flex-shrink: 0;
}
.couture-step-summary .ss-title {
  font: 600 14px/1.4 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
}
.couture-step-summary .ss-time {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.387 #1 — .couture-anchor-jump — sticky on-page section nav row
   Outseta/Linear-tier: horizontal scrollable bar above long content that links to
   sub-sections via anchor hash; the active link gets accent bar underline. */
.couture-anchor-jump {
  position: sticky;
  top: 76px;
  z-index: 6;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-block: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  padding: 10px clamp(20px, 4vw, 48px);
  margin-block: clamp(32px, 6vw, 56px) clamp(24px, 4vw, 40px);
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.couture-anchor-jump .aj-row {
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 36px);
  white-space: nowrap;
}
.couture-anchor-jump .aj-link {
  font: 600 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  text-decoration: none;
  padding: 6px 0;
  border-bottom: 2px solid transparent;
  transition: color .18s, border-color .18s;
}
.couture-anchor-jump .aj-link:hover {
  color: var(--c-ink);
}
.couture-anchor-jump .aj-link[aria-current="true"],
.couture-anchor-jump .aj-link.is-active {
  color: var(--c-accent);
  border-bottom-color: var(--c-accent);
}

/* V6.387 #2 — .couture-key-fact — emphasized "callout" inline-fact card
   Mobbin/Burb-tier in-article callout. Single big number/label pairing
   with accent vertical bar on left. */
.couture-key-fact {
  display: grid;
  grid-template-columns: 4px auto 1fr;
  gap: 0 clamp(14px, 2.4vw, 22px);
  align-items: center;
  padding: clamp(20px, 3vw, 28px) clamp(18px, 3vw, 26px);
  margin-block: clamp(28px, 4vw, 40px);
  background: color-mix(in oklab, var(--c-paper) 98%, var(--c-ink));
  border-radius: 14px;
}
.couture-key-fact::before {
  content: "";
  grid-column: 1;
  align-self: stretch;
  background: var(--c-accent);
  border-radius: 4px;
}
.couture-key-fact .kf-num {
  grid-column: 2;
  font: 800 clamp(38px, 5vw, 56px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-key-fact .kf-body {
  grid-column: 3;
  font: 500 15px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 640px) {
  .couture-key-fact {
    grid-template-columns: 4px 1fr;
    row-gap: 14px;
  }
  .couture-key-fact .kf-num { grid-column: 2; }
  .couture-key-fact .kf-body { grid-column: 2; }
}

/* V6.387 #3 — .couture-link-card — premium hover-state article link card
   Talkbase/Outverse-tier: title + body + accent arrow that translates right on hover. */
.couture-link-card {
  position: relative;
  display: block;
  padding: clamp(22px, 3vw, 30px) clamp(20px, 3vw, 28px);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 16px;
  background: var(--c-paper);
  text-decoration: none;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.couture-link-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
  box-shadow: 0 18px 50px -22px color-mix(in oklab, var(--c-accent) 20%, transparent);
  transform: translateY(-2px);
}
.couture-link-card .lc-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.couture-link-card .lc-title {
  font: 700 clamp(20px, 2.4vw, 26px)/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-link-card .lc-body {
  font: 500 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 16px;
}
.couture-link-card .lc-arrow {
  font: 600 14px/1 var(--c-display);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .22s;
}
.couture-link-card:hover .lc-arrow {
  gap: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-card,
  .couture-link-card .lc-arrow {
    transition: none;
  }
  .couture-link-card:hover {
    transform: none;
  }
}

/* V6.387 #4 — .couture-status-pill — small inline status indicator
   Outseta/Linear-tier: 10px dot + label. Variants for active/pending/done/warn.
   Mimics "● Online" pill seen on premium SaaS dashboards. */
.couture-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px 5px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-status-pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-ink-soft);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-ink-soft) 14%, transparent);
}
.couture-status-pill--active::before {
  background: #2ea043;
  box-shadow: 0 0 0 3px color-mix(in oklab, #2ea043 22%, transparent);
}
.couture-status-pill--active { color: #2ea043; }
.couture-status-pill--pending::before {
  background: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 22%, transparent);
}
.couture-status-pill--pending { color: var(--c-accent); }
.couture-status-pill--warn::before {
  background: #d97706;
  box-shadow: 0 0 0 3px color-mix(in oklab, #d97706 22%, transparent);
}
.couture-status-pill--warn { color: #d97706; }

/* V6.387 #5 — .couture-pricing-row — single horizontal pricing line
   Mobbin/Talkbase-tier: plan name + features inline + price right-aligned.
   Alternative to V6.386 #40 3-col block pricing — for compact comparison rows. */
.couture-pricing-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) 2fr auto;
  align-items: center;
  gap: clamp(16px, 3vw, 32px);
  padding: clamp(20px, 3vw, 26px) clamp(18px, 3vw, 24px);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  background: var(--c-paper);
  transition: border-color .2s, box-shadow .2s;
}
.couture-pricing-row + .couture-pricing-row {
  margin-top: 14px;
}
.couture-pricing-row:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  box-shadow: 0 12px 36px -20px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-pricing-row .pr-plan {
  font: 700 19px/1.2 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-pricing-row .pr-feats {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-pricing-row .pr-price {
  font: 800 clamp(24px, 3vw, 32px)/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-pricing-row .pr-price .pr-period {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-left: 6px;
}
@media (max-width: 700px) {
  .couture-pricing-row {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .couture-pricing-row .pr-price { text-align: left; }
}

/* V6.387 #6 — .couture-cta-band — full-bleed accent CTA band w/ headline + button
   Framer/Burb-tier closing CTA. Accent gradient bg + display headline + ghost button.
   Use after main sections to drive conversion. */
.couture-cta-band {
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 92%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)));
  color: var(--c-paper);
  padding: clamp(56px, 9vw, 96px) clamp(24px, 5vw, 64px);
  text-align: center;
  border-radius: 22px;
  margin-block: clamp(48px, 7vw, 80px);
  position: relative;
  overflow: hidden;
}
.couture-cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%,
    color-mix(in oklab, var(--c-paper) 28%, transparent),
    transparent 55%);
  pointer-events: none;
}
.couture-cta-band > * { position: relative; }
.couture-cta-band .cb-eyebrow {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-paper) 84%, transparent);
  margin-bottom: 18px;
}
.couture-cta-band .cb-head {
  font: 800 clamp(34px, 6vw, 60px)/1.05 var(--c-display);
  letter-spacing: -0.028em;
  max-width: 18ch;
  margin: 0 auto 18px;
}
.couture-cta-band .cb-sub {
  font: 500 clamp(15px, 2vw, 18px)/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
  max-width: 52ch;
  margin: 0 auto 32px;
}
.couture-cta-band .cb-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 30px;
  background: var(--c-paper);
  color: var(--c-ink);
  border-radius: 12px;
  font: 700 15px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.couture-cta-band .cb-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px -16px color-mix(in oklab, var(--c-ink) 35%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-band .cb-btn { transition: none; }
  .couture-cta-band .cb-btn:hover { transform: none; }
}

/* V6.387 #7 — .couture-toc — sidebar table-of-contents nav (long-form pages)
   Outverse/Talkbase docs-tier: sticky vertical TOC w/ accent indicator bar that
   slides to active item. Pairs with .couture-anchor-jump for mobile fallback. */
.couture-toc {
  position: sticky;
  top: 96px;
  align-self: start;
  padding: 18px 0 18px 20px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  list-style: none;
  margin: 0;
}
.couture-toc .toc-item {
  position: relative;
  padding-block: 6px;
}
.couture-toc .toc-link {
  display: block;
  font: 500 13px/1.5 var(--c-body);
  letter-spacing: -0.002em;
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color .18s;
}
.couture-toc .toc-link:hover {
  color: var(--c-ink);
}
.couture-toc .toc-link[aria-current="true"],
.couture-toc .toc-link.is-active {
  color: var(--c-accent);
  font-weight: 600;
}
.couture-toc .toc-link[aria-current="true"]::before,
.couture-toc .toc-link.is-active::before {
  content: "";
  position: absolute;
  left: -21px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: var(--c-accent);
  border-radius: 2px;
}
.couture-toc .toc-item--nested {
  padding-left: 18px;
}
.couture-toc .toc-item--nested .toc-link {
  font-size: 12.5px;
  color: color-mix(in oklab, var(--c-ink-soft) 80%, transparent);
}

/* V6.387 #8 — .couture-tabset — content tabs with sliding accent underline
   Framer/Outseta-tier: tab buttons row + content panels. Active tab gets accent
   color + 2px underline. Inactive panels are display:none (require minimal JS). */
.couture-tabset {
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-tabset .ts-tabs {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 36px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin-bottom: clamp(28px, 4vw, 40px);
  overflow-x: auto;
  scrollbar-width: thin;
}
.couture-tabset .ts-tab {
  font: 600 14px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  padding: 16px 0;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  transition: color .18s;
}
.couture-tabset .ts-tab:hover {
  color: var(--c-ink);
}
.couture-tabset .ts-tab[aria-selected="true"],
.couture-tabset .ts-tab.is-active {
  color: var(--c-accent);
}
.couture-tabset .ts-tab[aria-selected="true"]::after,
.couture-tabset .ts-tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--c-accent);
  border-radius: 2px;
}
.couture-tabset .ts-panel {
  display: none;
}
.couture-tabset .ts-panel[aria-hidden="false"],
.couture-tabset .ts-panel.is-active {
  display: block;
}

/* V6.387 #9 — .couture-spotlight-card — single hero feature spotlight card
   Burb/Outverse-tier landing: image-left + content-right 1fr+1fr split.
   Eyebrow + 42px headline + body + dual CTA. Premium feature highlight. */
.couture-spotlight-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  padding: clamp(36px, 5vw, 56px);
  background: color-mix(in oklab, var(--c-paper) 98%, var(--c-ink));
  border-radius: 20px;
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  margin-block: clamp(40px, 6vw, 64px);
}
.couture-spotlight-card .sc-media {
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-spotlight-card .sc-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-spotlight-card .sc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-spotlight-card .sc-head {
  font: 800 clamp(28px, 4vw, 42px)/1.1 var(--c-display);
  letter-spacing: -0.026em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-spotlight-card .sc-body {
  font: 500 16px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 24px;
}
.couture-spotlight-card .sc-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.couture-spotlight-card.sc--reverse {
  grid-template-areas: "content media";
}
.couture-spotlight-card.sc--reverse .sc-media { grid-area: media; }
.couture-spotlight-card.sc--reverse .sc-content { grid-area: content; }
@media (max-width: 720px) {
  .couture-spotlight-card,
  .couture-spotlight-card.sc--reverse {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
}

/* V6.387 #10 — .couture-feature-grid-icon — icon-grid feature row
   Kaizenlabs/Talkbase-tier: 3-col grid of icon + title + 2-line body cells.
   Distinct from V6.387 #9 spotlight-card (single feature) and V6.386 #36 triplet
   (text-only): this one is icon-led with bg-tint cells. */
.couture-feature-grid-icon {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(20px, 3vw, 32px);
  margin-block: clamp(40px, 6vw, 64px);
}
.couture-feature-grid-icon .fgi-cell {
  padding: clamp(24px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-paper) 97%, var(--c-ink));
  border-radius: 16px;
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-feature-grid-icon .fgi-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 90%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 22px/1 var(--c-display);
  margin-bottom: 18px;
}
.couture-feature-grid-icon .fgi-title {
  font: 700 19px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 10px;
}
.couture-feature-grid-icon .fgi-body {
  font: 500 14.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #11 — .couture-kpi-row — compact KPI horizontal row
   Outseta/Linear-dashboard-tier: 4-up grid of label + value + delta-pill.
   Used for trust/metrics strip. Distinct from V6.386 #47 stat-band (full-bleed). */
.couture-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0;
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 16px;
  background: var(--c-paper);
  margin-block: clamp(32px, 5vw, 48px);
  overflow: hidden;
}
.couture-kpi-row .kpi-cell {
  padding: clamp(20px, 3vw, 28px) clamp(18px, 3vw, 24px);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-kpi-row .kpi-cell:last-child {
  border-right: 0;
}
.couture-kpi-row .kpi-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  margin-bottom: 12px;
}
.couture-kpi-row .kpi-value {
  font: 800 clamp(26px, 3.4vw, 36px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin-bottom: 10px;
}
.couture-kpi-row .kpi-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #2ea043;
}
.couture-kpi-row .kpi-delta.kpi-delta--down {
  background: color-mix(in oklab, #d97706 16%, transparent);
  color: #d97706;
}
@media (max-width: 700px) {
  .couture-kpi-row .kpi-cell {
    border-right: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  }
  .couture-kpi-row .kpi-cell:last-child { border-bottom: 0; }
}

/* V6.387 #12 — .couture-quote-card — large pull-quote with attribution
   Mobbin/Burb-tier editorial pull-quote. Oversized italic display quote +
   accent vertical bar + cite line. For testimonial moments inside narrative. */
.couture-quote-card {
  position: relative;
  padding: clamp(28px, 4vw, 40px) clamp(28px, 4vw, 40px) clamp(28px, 4vw, 40px) clamp(40px, 6vw, 56px);
  margin-block: clamp(36px, 5vw, 56px);
  background: color-mix(in oklab, var(--c-paper) 98%, var(--c-ink));
  border-radius: 18px;
}
.couture-quote-card::before {
  content: "";
  position: absolute;
  left: clamp(20px, 3vw, 28px);
  top: clamp(28px, 4vw, 36px);
  bottom: clamp(28px, 4vw, 36px);
  width: 3px;
  border-radius: 3px;
  background: var(--c-accent);
}
.couture-quote-card .qc-quote {
  font: 500 clamp(20px, 2.6vw, 28px)/1.45 var(--c-display);
  font-style: italic;
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 18px;
}
.couture-quote-card .qc-cite {
  display: flex;
  align-items: center;
  gap: 12px;
  font: 600 13px/1.3 var(--c-body);
  color: var(--c-ink);
}
.couture-quote-card .qc-cite .qc-role {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  padding-left: 12px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.387 #13 — .couture-feature-numbered — 3-up numbered feature row
   Openphone/Talkbase-tier: each cell has accent display-num + title + body.
   Distinct from V6.387 #10 icon-grid: this one is number-led, no icons. */
.couture-feature-numbered {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(28px, 4vw, 48px);
  margin-block: clamp(40px, 6vw, 64px);
}
.couture-feature-numbered .fn-cell {
  position: relative;
  padding-left: 24px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
}
.couture-feature-numbered .fn-num {
  font: 800 clamp(40px, 4.5vw, 52px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
  margin-bottom: 16px;
}
.couture-feature-numbered .fn-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 10px;
}
.couture-feature-numbered .fn-body {
  font: 500 14.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #14 — .couture-faq — outseta-tier disclosure-driven FAQ
   Uses <details>/<summary>. Accent chevron rotates on open. Borders separate items.
   Replaces JS-driven accordions with native HTML. */
.couture-faq {
  margin-block: clamp(36px, 5vw, 56px);
  max-width: 800px;
  margin-inline: auto;
}
.couture-faq .faq-item {
  border-top: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
}
.couture-faq .faq-item:last-child {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
}
.couture-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 4px;
  font: 700 17px/1.4 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  cursor: pointer;
  list-style: none;
}
.couture-faq summary::-webkit-details-marker { display: none; }
.couture-faq summary::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 500 18px/1 var(--c-display);
  color: var(--c-accent);
  transition: transform .22s, background .22s;
  flex-shrink: 0;
}
.couture-faq details[open] summary::after {
  transform: rotate(45deg);
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
}
.couture-faq .faq-body {
  padding: 0 4px 24px;
  font: 500 15px/1.65 var(--c-body);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-faq summary::after { transition: none; }
}

/* V6.387 #15 — .couture-newsletter — premium newsletter inline-row signup
   Outseta/Kaizenlabs-tier: input + button inline with rounded pill outer
   (paper bg, 1px hairline border). Replaces utility newsletter look. */
.couture-newsletter {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 999px;
  padding: 4px 4px 4px 20px;
  max-width: 460px;
  margin-block: clamp(24px, 4vw, 36px);
  transition: border-color .22s, box-shadow .22s;
}
.couture-newsletter:focus-within {
  border-color: color-mix(in oklab, var(--c-accent) 60%, var(--c-line));
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-newsletter .nl-input {
  flex: 1;
  border: 0;
  background: transparent;
  font: 500 14.5px/1 var(--c-body);
  color: var(--c-ink);
  padding: 0;
  min-width: 0;
}
.couture-newsletter .nl-input::placeholder {
  color: var(--c-ink-soft);
}
.couture-newsletter .nl-input:focus { outline: 0; }
.couture-newsletter .nl-btn {
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  border-radius: 999px;
  padding: 10px 22px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: background .22s;
}
.couture-newsletter .nl-btn:hover {
  background: var(--c-accent);
}
@media (max-width: 520px) {
  .couture-newsletter {
    flex-direction: column;
    border-radius: 14px;
    padding: 10px;
  }
  .couture-newsletter .nl-input {
    padding: 10px 12px;
  }
  .couture-newsletter .nl-btn {
    border-radius: 10px;
    padding: 12px 22px;
  }
}

/* V6.387 #16 — .couture-author-byline — premium article byline row
   Mobbin/Talkbase editorial: 32px avatar circle + name + date + read-time pill.
   For journal/blog posts. */
.couture-author-byline {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-block: clamp(20px, 3vw, 28px);
  padding: 12px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-author-byline .ab-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 90%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)));
  flex-shrink: 0;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-display);
  color: var(--c-paper);
}
.couture-author-byline .ab-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-author-byline .ab-name {
  font: 600 14px/1.3 var(--c-body);
  color: var(--c-ink);
}
.couture-author-byline .ab-meta {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 3px;
}
.couture-author-byline .ab-time {
  margin-left: auto;
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  padding: 5px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}

/* V6.387 #17 — .couture-bracket-list — branded list w/ accent corner brackets
   Outverse/Burb-tier: <ul> w/ each <li> wrapped in faint hairline + accent ⌐
   bracket prefix. For "What's included" or "What you get" sections. */
.couture-bracket-list {
  list-style: none;
  margin: clamp(28px, 4vw, 40px) 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.couture-bracket-list li {
  position: relative;
  padding: 16px 18px 16px 38px;
  font: 500 15px/1.5 var(--c-body);
  color: var(--c-ink);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 10px;
}
.couture-bracket-list li::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-left: 2px solid var(--c-accent);
  border-top: 2px solid var(--c-accent);
  transform: translateY(-50%);
}
.couture-bracket-list li strong {
  font-weight: 700;
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

/* V6.387 #18 — .couture-grid-bg — subtle dotted-grid background section
   Linear/Framer-tier hero/section bg: subtle radial-dot pattern with
   fade-out mask edges. For hero sections to add visual texture without
   distracting from content. */
.couture-grid-bg {
  position: relative;
  isolation: isolate;
  padding: clamp(64px, 9vw, 112px) clamp(24px, 5vw, 64px);
  overflow: hidden;
}
.couture-grid-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    color-mix(in oklab, var(--c-ink) 12%, transparent) 1px,
    transparent 1px
  );
  background-size: 24px 24px;
  background-position: 0 0;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
  z-index: -1;
}
.couture-grid-bg > * {
  position: relative;
  z-index: 1;
}

/* V6.387 #19 — .couture-timeline-vertical — Vertical-axis timeline w/ accent dots
   Burb/Outverse-tier story page: items stack vertically with a single accent
   line on the left and pulsing dots at each milestone. Distinct from V6.386
   timeline (horizontal-card row). */
.couture-timeline-vertical {
  position: relative;
  list-style: none;
  margin: clamp(36px, 5vw, 56px) 0;
  padding: 0 0 0 36px;
}
.couture-timeline-vertical::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 2px;
}
.couture-timeline-vertical .tlv-item {
  position: relative;
  padding-block: 14px;
  padding-bottom: clamp(28px, 4vw, 40px);
}
.couture-timeline-vertical .tlv-item:last-child {
  padding-bottom: 0;
}
.couture-timeline-vertical .tlv-item::before {
  content: "";
  position: absolute;
  left: -30px;
  top: 22px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 20%, transparent);
}
.couture-timeline-vertical .tlv-date {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-timeline-vertical .tlv-title {
  font: 700 19px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-timeline-vertical .tlv-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}

/* V6.387 #20 — .couture-team-card — premium team-member card
   Outseta/Kaizenlabs-tier about page: square portrait + name + role + bio + socials.
   Distinct from generic about-grid: this one has hover-state with bio that
   slides up from below. */
.couture-team-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  transition: border-color .22s, box-shadow .22s;
}
.couture-team-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 35%, var(--c-line));
  box-shadow: 0 24px 60px -28px color-mix(in oklab, var(--c-accent) 22%, transparent);
}
.couture-team-card .tc-media {
  aspect-ratio: 1;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
  overflow: hidden;
}
.couture-team-card .tc-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-team-card:hover .tc-media img {
  transform: scale(1.04);
}
.couture-team-card .tc-meta {
  padding: 22px 20px 24px;
}
.couture-team-card .tc-name {
  font: 700 18px/1.25 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-team-card .tc-role {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-bottom: 12px;
}
.couture-team-card .tc-bio {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-team-card,
  .couture-team-card .tc-media img {
    transition: none;
  }
  .couture-team-card:hover .tc-media img {
    transform: none;
  }
}

/* V6.387 #21 — .couture-callout — color-mode-aware callout box (info/tip/warn)
   Outseta/Mobbin docs-tier: 4 variants (info/tip/warn/note) with icon emoji and
   tinted bg. For inline content callouts. */
.couture-callout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  padding: 18px 22px;
  border-radius: 12px;
  margin-block: clamp(24px, 3vw, 32px);
  border-left: 4px solid var(--callout-accent, var(--c-accent));
  background: color-mix(in oklab, var(--callout-accent, var(--c-accent)) 8%, var(--c-paper));
  --callout-accent: var(--c-accent);
}
.couture-callout::before {
  content: var(--callout-glyph, "ⓘ");
  font: 600 18px/1.4 var(--c-display);
  color: var(--callout-accent, var(--c-accent));
}
.couture-callout--info { --callout-accent: #3b82f6; --callout-glyph: "ⓘ"; }
.couture-callout--tip  { --callout-accent: #2ea043; --callout-glyph: "✓"; }
.couture-callout--warn { --callout-accent: #d97706; --callout-glyph: "!"; }
.couture-callout--note { --callout-accent: var(--c-ink); --callout-glyph: "✎"; }
.couture-callout .co-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-callout .co-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #22 — .couture-mini-stat — small inline stat pair
   Outseta/Framer-tier: 32px tabular value + 11px uppercase label stacked.
   For nav-bar trust signals or inline social proof. */
.couture-mini-stat {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 60px;
}
.couture-mini-stat + .couture-mini-stat {
  margin-left: clamp(20px, 3vw, 36px);
  padding-left: clamp(20px, 3vw, 36px);
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-mini-stat .ms-value {
  font: 800 clamp(22px, 2.4vw, 28px)/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-stat .ms-label {
  font: 600 11px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.387 #23 — .couture-blockquote-rule — minimalist rule-line blockquote
   Outverse/Kaizenlabs-tier: 1px hairline rule above + display quote + author.
   Distinct from V6.387 #12 quote-card (bg + bar) — this is paper-bg minimal. */
.couture-blockquote-rule {
  position: relative;
  margin-block: clamp(36px, 5vw, 56px);
  padding-top: 28px;
  padding-left: 0;
  max-width: 720px;
}
.couture-blockquote-rule::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 64px;
  height: 1px;
  background: var(--c-accent);
}
.couture-blockquote-rule .br-text {
  font: 500 clamp(22px, 3vw, 32px)/1.4 var(--c-display);
  font-style: italic;
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 18px;
}
.couture-blockquote-rule .br-cite {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.387 #24 — .couture-step-detail — long-form step card (numbered process)
   Talkbase/Burb-tier service-page: huge accent num on left + content stack
   (eyebrow + title + body + bullet list) on right. Each step gets distinct
   horizontal-rule terminator. */
.couture-step-detail {
  display: grid;
  grid-template-columns: clamp(80px, 12vw, 120px) 1fr;
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(28px, 4vw, 40px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-step-detail:last-of-type {
  border-bottom: 0;
}
.couture-step-detail .sd-num {
  font: 800 clamp(60px, 8vw, 96px)/0.9 var(--c-display);
  letter-spacing: -0.04em;
  color: color-mix(in oklab, var(--c-accent) 60%, var(--c-line));
  font-variant-numeric: tabular-nums;
}
.couture-step-detail .sd-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-step-detail .sd-title {
  font: 700 clamp(22px, 2.6vw, 30px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-step-detail .sd-body {
  font: 500 16px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 16px;
  max-width: 60ch;
}
.couture-step-detail .sd-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.couture-step-detail .sd-list li {
  position: relative;
  padding-left: 22px;
  font: 500 14.5px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-step-detail .sd-list li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--c-accent);
  font-weight: 700;
}
@media (max-width: 720px) {
  .couture-step-detail {
    grid-template-columns: 1fr;
  }
  .couture-step-detail .sd-num {
    font-size: clamp(48px, 12vw, 72px);
  }
}

/* V6.387 #25 — .couture-meta-pill — small mono badge with optional accent dot
   Outseta/Framer-tier: 4-9px padding x 11px uppercase mono. Use for category,
   tag, vintage, year, region labels on cards. */
.couture-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 6px;
  font: 600 11px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-meta-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-meta-pill--bare::before { display: none; }
.couture-meta-pill--solid {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}

/* V6.387 #26 — .couture-hero-tagline — long-form below-headline tagline strip
   Burb/Outverse-tier: 60ch max-width centered tagline below H1 — 19px serif/body
   that bridges H1 + CTA without "subheading" tag bloat. */
.couture-hero-tagline {
  font: 500 clamp(17px, 2vw, 20px)/1.55 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  max-width: 56ch;
  margin: 0 auto clamp(24px, 4vw, 36px);
  text-align: inherit;
}
.couture-hero-tagline strong {
  color: var(--c-ink);
  font-weight: 600;
}
.couture-hero-tagline em {
  font-style: italic;
  color: var(--c-ink);
  background: linear-gradient(180deg, transparent 65%,
    color-mix(in oklab, var(--c-accent) 28%, transparent) 65%);
  padding: 0 2px;
}

/* V6.387 #27 — .couture-badge-row — horizontal badge row (trust / press)
   Outseta/Mobbin-tier: "As featured in: [logo] [logo] [logo]" or "Trusted by:".
   Compact 24-32px greyscale icons + accent on hover. */
.couture-badge-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(16px, 3vw, 28px);
  padding: clamp(20px, 3vw, 28px) 0;
  margin-block: clamp(28px, 4vw, 40px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-badge-row .br-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-right: 6px;
}
.couture-badge-row .br-logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(20px, 3vw, 36px);
}
.couture-badge-row .br-logo {
  height: 28px;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.55;
  transition: filter .22s, opacity .22s;
}
.couture-badge-row .br-logo:hover {
  filter: grayscale(0);
  opacity: 1;
}
.couture-badge-row .br-logo--text {
  font: 600 15px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-badge-row .br-logo--text:hover {
  color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-badge-row .br-logo { transition: none; }
}

/* V6.387 #28 — .couture-product-meta-row — premium PDP meta strip
   Outseta/Burb-tier PDP: SKU + availability + shipping inline row above
   add-to-cart. Each item separated by hairline pipe. Tabular-nums for SKU. */
.couture-product-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  padding: 12px 0;
  margin-block: clamp(16px, 2vw, 22px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-product-meta-row .pmr-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 clamp(14px, 2vw, 22px);
  font: 500 12px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-product-meta-row .pmr-item:first-child { padding-left: 0; }
.couture-product-meta-row .pmr-item:last-child { border-right: 0; padding-right: 0; }
.couture-product-meta-row .pmr-item strong {
  font-weight: 700;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-product-meta-row .pmr-item--in-stock strong { color: #2ea043; }
.couture-product-meta-row .pmr-item--low strong { color: #d97706; }

/* V6.387 #29 — .couture-toolbar — secondary nav/toolbar (filters, sort, view)
   Outseta/Mobbin shop-archive-tier: row of filter-pills + sort-select + view-toggle.
   Sticky on scroll, paper bg with hairline border. */
.couture-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 18px);
  padding: 14px clamp(16px, 3vw, 24px);
  background: color-mix(in oklab, var(--c-paper) 98%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 12px;
  margin-block: clamp(20px, 3vw, 32px);
  position: sticky;
  top: 84px;
  z-index: 5;
}
.couture-toolbar .tb-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  padding-right: 8px;
}
.couture-toolbar .tb-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  font: 600 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s, background .18s;
}
.couture-toolbar .tb-pill:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
}
.couture-toolbar .tb-pill[aria-pressed="true"],
.couture-toolbar .tb-pill.is-active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-toolbar .tb-spacer { flex: 1; }
.couture-toolbar .tb-sort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
}

/* V6.387 #30 — .couture-comparison-table — premium price/feature comparison table
   Outseta/Talkbase pricing: HTML table with sticky-top header row, accent
   highlight on featured column, hover-row-tint. */
.couture-comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-block: clamp(36px, 5vw, 56px);
  font: 500 14.5px/1.45 var(--c-body);
}
.couture-comparison-table thead th {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  text-align: left;
  padding: 18px 16px;
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  background: var(--c-paper);
  position: sticky;
  top: 76px;
  z-index: 4;
}
.couture-comparison-table thead th.featured {
  color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border-radius: 12px 12px 0 0;
}
.couture-comparison-table tbody td {
  padding: 14px 16px;
  color: var(--c-ink-soft);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-comparison-table tbody td:first-child {
  font-weight: 600;
  color: var(--c-ink);
}
.couture-comparison-table tbody td.featured {
  background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper));
}
.couture-comparison-table tbody tr:hover td {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-comparison-table tbody tr:hover td.featured {
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
}
.couture-comparison-table .ct-check { color: #2ea043; font-weight: 700; }
.couture-comparison-table .ct-x { color: var(--c-ink-soft); opacity: 0.4; }
@media (max-width: 720px) {
  .couture-comparison-table {
    font-size: 13px;
  }
  .couture-comparison-table thead th,
  .couture-comparison-table tbody td {
    padding: 12px 10px;
  }
}

/* V6.387 #31 — .couture-press-bar — premium press-mention strip (publication names)
   Burb/Outverse-tier: "AS SEEN IN — Vogue · Architectural Digest · NYT"
   ALL-CAPS · separator. Distinct from V6.387 #27 logo-led: this is text-only. */
.couture-press-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(14px, 2.5vw, 22px);
  padding: clamp(18px, 3vw, 24px) clamp(16px, 3vw, 32px);
  margin-block: clamp(24px, 4vw, 36px);
}
.couture-press-bar .pb-label {
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-ink-soft);
}
.couture-press-bar .pb-list {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 18px);
}
.couture-press-bar .pb-name {
  font: 600 13px/1.4 var(--c-display);
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--c-ink);
}
.couture-press-bar .pb-name + .pb-name::before {
  content: "·";
  color: var(--c-ink-soft);
  margin-right: clamp(12px, 2vw, 18px);
  opacity: 0.6;
}

/* V6.387 #32 — .couture-checklist — refined checklist with accent ✓ box
   Outseta/Talkbase-tier: large 22px accent checkbox container + body. Used for
   "What's included" lists in pricing/feature sections. Distinct from V6.387 #17
   bracket-list (corner-bracket prefix). */
.couture-checklist {
  list-style: none;
  padding: 0;
  margin: clamp(24px, 4vw, 36px) 0;
  display: grid;
  gap: 14px;
}
.couture-checklist li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 14px;
  align-items: start;
  padding: 4px 0;
  font: 500 15px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-checklist li::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: var(--c-accent);
  font: 700 13px/1 var(--c-display);
  margin-top: 1px;
}
.couture-checklist--lg li {
  font-size: 17px;
}
.couture-checklist--lg li::before {
  width: 26px;
  height: 26px;
  font-size: 15px;
}

/* V6.387 #33 — .couture-quote-mark-card — testimonial w/ giant accent " mark
   Talkbase/Burb editorial: huge 100px accent " quotation mark in corner
   + body + cite. Distinct alternative to V6.387 #12 quote-card / #23
   blockquote-rule / #310 centered-review. */
.couture-quote-mark-card {
  position: relative;
  padding: clamp(56px, 8vw, 80px) clamp(28px, 4vw, 40px) clamp(28px, 4vw, 40px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 18px;
  margin-block: clamp(32px, 5vw, 48px);
  overflow: hidden;
}
.couture-quote-mark-card::before {
  content: "“";
  position: absolute;
  left: clamp(20px, 3vw, 32px);
  top: clamp(-20px, -2vw, -16px);
  font: 900 clamp(96px, 14vw, 160px)/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 36%, transparent);
  pointer-events: none;
}
.couture-quote-mark-card .qm-text {
  position: relative;
  font: 500 clamp(18px, 2.2vw, 22px)/1.55 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin-bottom: 24px;
  max-width: 60ch;
}
.couture-quote-mark-card .qm-cite {
  display: flex;
  align-items: center;
  gap: 14px;
}
.couture-quote-mark-card .qm-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-quote-mark-card .qm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-quote-mark-card .qm-name {
  font: 700 14px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.01em;
}
.couture-quote-mark-card .qm-role {
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.387 #34 — .couture-2col-feature-list — 2-col feature list (alternative to grid)
   Outseta/Talkbase-tier: dense 2-column feature bullets w/ icon + headline + body.
   For "Everything you need" sections. Distinct from V6.387 #10 icon-grid (cells)
   and V6.387 #32 checklist (single-col). */
.couture-2col-feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(24px, 4vw, 36px) clamp(28px, 4vw, 48px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-2col-feature-list .cfl-item {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 16px;
  align-items: start;
}
.couture-2col-feature-list .cfl-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-2col-feature-list .cfl-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-2col-feature-list .cfl-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #35 — .couture-image-frame — premium image frame w/ caption + accent corner
   Outverse/Mobbin editorial: rounded image + mono caption below + small accent
   corner-bracket "image #". For long-form pages and journal articles. */
.couture-image-frame {
  margin-block: clamp(36px, 5vw, 56px);
  position: relative;
}
.couture-image-frame .if-media {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  position: relative;
}
.couture-image-frame .if-media::after {
  content: attr(data-frame-num);
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 4px 10px;
  background: color-mix(in oklab, var(--c-ink) 90%, transparent);
  color: var(--c-paper);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: 4px;
  border-left: 2px solid var(--c-accent);
}
.couture-image-frame .if-media img {
  width: 100%;
  height: auto;
  display: block;
}
.couture-image-frame .if-caption {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 12px 0 0;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-image-frame .if-caption::before {
  content: "↳";
  color: var(--c-accent);
  font-weight: 700;
  flex-shrink: 0;
}
.couture-image-frame .if-caption strong {
  color: var(--c-ink);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: var(--c-mono);
}

/* V6.387 #36 — .couture-sect-intro — eyebrow + headline + lede 3-line intro
   Outseta/Framer-tier standard section opener. Centers/aligns based on
   .couture-sect-intro--center modifier. Use at top of every section. */
.couture-sect-intro {
  margin-block: 0 clamp(32px, 5vw, 56px);
  max-width: 720px;
}
.couture-sect-intro--center {
  margin-inline: auto;
  text-align: center;
}
.couture-sect-intro .si-eyebrow {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-sect-intro--center .si-eyebrow {
  justify-content: center;
}
.couture-sect-intro .si-eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--c-accent);
}
.couture-sect-intro .si-head {
  font: 700 clamp(32px, 5vw, 48px)/1.1 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
  margin-bottom: 16px;
  max-width: 22ch;
}
.couture-sect-intro--center .si-head {
  margin-inline: auto;
}
.couture-sect-intro .si-lede {
  font: 500 clamp(16px, 2vw, 18px)/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
}
.couture-sect-intro--center .si-lede {
  margin-inline: auto;
}

/* V6.387 #37 — .couture-grid-2-1 — asymmetric 2:1 split grid
   Outseta/Mobbin-tier: wider-left + narrower-right (or .--reverse for opposite).
   For "hero + sidebar fact" or "main copy + meta" pairings. */
.couture-grid-2-1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-grid-2-1.--reverse {
  grid-template-columns: 1fr 2fr;
}
@media (max-width: 760px) {
  .couture-grid-2-1,
  .couture-grid-2-1.--reverse {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #38 — .couture-mark-list — accent ★ ordered emphasis list
   Burb/Talkbase-tier: alternative to checklist with star-mark instead of check.
   Used for "Highlights" or "What makes this special" lists. */
.couture-mark-list {
  list-style: none;
  padding: 0;
  margin: clamp(24px, 4vw, 36px) 0;
  display: grid;
  gap: 12px;
}
.couture-mark-list li {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 14px;
  font: 500 15px/1.55 var(--c-body);
  color: var(--c-ink);
  align-items: start;
}
.couture-mark-list li::before {
  content: "★";
  color: var(--c-accent);
  font: 700 15px/1.4 var(--c-display);
}

/* V6.387 #39 — .couture-fine-print — premium legal/fine-print block
   Outseta/Mobbin-tier footer: 12px mono uppercase muted fine print with
   hairline rule above. For copyright lines, return policy snippets, etc. */
.couture-fine-print {
  margin-block: clamp(24px, 4vw, 36px) 0;
  padding-top: clamp(16px, 2vw, 22px);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  font: 500 11.5px/1.6 var(--c-mono);
  letter-spacing: 0.04em;
  color: var(--c-ink-soft);
}
.couture-fine-print a {
  color: var(--c-ink-soft);
  text-decoration: underline;
  text-decoration-color: color-mix(in oklab, var(--c-line) 70%, transparent);
  text-underline-offset: 3px;
  transition: color .18s, text-decoration-color .18s;
}
.couture-fine-print a:hover {
  color: var(--c-ink);
  text-decoration-color: var(--c-accent);
}
.couture-fine-print p + p {
  margin-top: 8px;
}

/* V6.387 #40 — .couture-nav-cta-pair — refined nav-trailing dual CTA
   Outseta/Burb-tier nav-right: muted secondary link + accent solid primary button.
   Replaces generic single CTA in header. */
.couture-nav-cta-pair {
  display: inline-flex;
  align-items: center;
  gap: clamp(12px, 2vw, 18px);
}
.couture-nav-cta-pair .ncp-secondary {
  font: 600 13.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  text-decoration: none;
  padding: 8px 4px;
  transition: color .18s;
}
.couture-nav-cta-pair .ncp-secondary:hover {
  color: var(--c-ink);
}
.couture-nav-cta-pair .ncp-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  font: 700 13.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .18s, transform .18s;
}
.couture-nav-cta-pair .ncp-primary:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}
.couture-nav-cta-pair .ncp-primary::after {
  content: "→";
  font-weight: 500;
  transition: transform .18s;
}
.couture-nav-cta-pair .ncp-primary:hover::after {
  transform: translateX(3px);
}
@media (max-width: 640px) {
  .couture-nav-cta-pair .ncp-secondary { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-nav-cta-pair .ncp-primary,
  .couture-nav-cta-pair .ncp-primary::after { transition: none; }
  .couture-nav-cta-pair .ncp-primary:hover { transform: none; }
  .couture-nav-cta-pair .ncp-primary:hover::after { transform: none; }
}

/* V6.387 #41 — .couture-divider-text — text-overlay horizontal divider
   Outseta/Mobbin-tier: hairline rule with centered "— OR —" / "— AND —" /
   inline label split. For breaking content into named blocks. */
.couture-divider-text {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.5vw, 20px);
  margin-block: clamp(32px, 5vw, 48px);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
}
.couture-divider-text::before,
.couture-divider-text::after {
  content: "";
  flex: 1;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.387 #42 — .couture-product-swatch — premium color/variant swatch picker
   Outseta/Burb-tier PDP: 4-up swatch row + active accent ring. JS-free state
   via `[aria-checked]` or `.is-active`. For color/material variants. */
.couture-product-swatch {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-block: clamp(14px, 2vw, 20px);
}
.couture-product-swatch .ps-item {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--swatch-color, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  cursor: pointer;
  transition: transform .18s;
}
.couture-product-swatch .ps-item:hover {
  transform: scale(1.06);
}
.couture-product-swatch .ps-item[aria-checked="true"],
.couture-product-swatch .ps-item.is-active {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 24%, transparent);
}
.couture-product-swatch .ps-item .ps-label {
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  white-space: nowrap;
  opacity: 0;
  transition: opacity .18s;
  pointer-events: none;
}
.couture-product-swatch .ps-item:hover .ps-label,
.couture-product-swatch .ps-item[aria-checked="true"] .ps-label,
.couture-product-swatch .ps-item.is-active .ps-label {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .couture-product-swatch .ps-item { transition: none; }
  .couture-product-swatch .ps-item:hover { transform: none; }
}

/* V6.387 #43 — .couture-banner-strip — slim full-width announcement strip
   Outseta/Burb-tier ABOVE main nav: 38px ink-bg paper-text strip with link/CTA.
   For "Free shipping over $100" / "Spring '26 lookbook live →" announcements. */
.couture-banner-strip {
  background: var(--c-ink);
  color: var(--c-paper);
  padding: 10px clamp(16px, 3vw, 32px);
  text-align: center;
  font: 500 13px/1.4 var(--c-body);
  letter-spacing: -0.002em;
}
.couture-banner-strip a {
  color: var(--c-paper);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--c-paper) 50%, transparent);
  margin-left: 4px;
  transition: border-color .18s;
}
.couture-banner-strip a:hover {
  border-bottom-color: var(--c-accent);
}
.couture-banner-strip strong {
  font-weight: 700;
  color: var(--c-accent);
  margin-right: 6px;
}
.couture-banner-strip--accent {
  background: var(--c-accent);
}
.couture-banner-strip--accent strong {
  color: var(--c-paper);
}
.couture-banner-strip--accent a {
  border-bottom-color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}

/* V6.387 #44 — .couture-img-deck — staggered overlapping image deck
   Burb/Outverse-tier hero/about: 3 images at slight rotation overlap.
   For "behind the scenes" / "team gallery" / craft-showcase moments. */
.couture-img-deck {
  position: relative;
  height: clamp(280px, 36vw, 480px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-img-deck .id-card {
  position: absolute;
  width: 56%;
  aspect-ratio: 4/5;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 50px -22px color-mix(in oklab, var(--c-ink) 40%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-img-deck .id-card:nth-child(1) {
  left: 0;
  top: 0;
  transform: rotate(-3deg);
  z-index: 1;
}
.couture-img-deck .id-card:nth-child(2) {
  left: 30%;
  top: 6%;
  transform: rotate(1deg);
  z-index: 2;
}
.couture-img-deck .id-card:nth-child(3) {
  right: 0;
  top: 12%;
  transform: rotate(4deg);
  z-index: 3;
}
.couture-img-deck .id-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 720px) {
  .couture-img-deck {
    height: clamp(360px, 80vw, 520px);
  }
  .couture-img-deck .id-card {
    width: 72%;
  }
}

/* V6.387 #45 — .couture-hover-shadow-stack — premium card shadow layering
   Outseta-tier card hover state: 1px ink hairline + 4-layer cascading
   accent-tinted shadow on hover. Add `.couture-hover-shadow-stack` to any
   card class to give it premium "rise" effect. */
.couture-hover-shadow-stack {
  transition: transform .25s, box-shadow .25s;
  will-change: transform, box-shadow;
}
.couture-hover-shadow-stack:hover {
  transform: translateY(-4px);
  box-shadow:
    0 1px 0 color-mix(in oklab, var(--c-ink) 8%, transparent),
    0 6px 16px -6px color-mix(in oklab, var(--c-ink) 10%, transparent),
    0 16px 36px -12px color-mix(in oklab, var(--c-accent) 18%, transparent),
    0 32px 60px -24px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-hover-shadow-stack { transition: none; }
  .couture-hover-shadow-stack:hover { transform: none; }
}

/* V6.387 #46 — .couture-ribbon — diagonal corner ribbon for cards
   Outseta/Burb-tier product card: 30deg diagonal ribbon banner anchored at
   top-right with accent bg. For "NEW", "SALE", "PICK" labels. */
.couture-ribbon-host {
  position: relative;
  overflow: hidden;
}
.couture-ribbon {
  position: absolute;
  top: 14px;
  right: -34px;
  transform: rotate(34deg);
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 4px 36px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-accent) 40%, transparent);
  pointer-events: none;
  z-index: 3;
}
.couture-ribbon--ink {
  background: var(--c-ink);
}
.couture-ribbon--gold {
  background: #FFB400;
  color: #2A1E04;
}

/* V6.387 #47 — .couture-pricing-tier — full pricing-tier card with feature list
   Outseta/Burb pricing-table-tier: name + price + period + features list +
   primary CTA. `.--featured` modifier highlights with accent border + scale-up
   + "Recommended" floating pill. */
.couture-pricing-tier {
  position: relative;
  padding: clamp(28px, 4vw, 38px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 28px);
  transition: border-color .22s, transform .22s, box-shadow .22s;
}
.couture-pricing-tier:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
}
.couture-pricing-tier.--featured {
  border-color: var(--c-accent);
  box-shadow: 0 30px 60px -28px color-mix(in oklab, var(--c-accent) 28%, transparent);
  transform: translateY(-6px);
  background: color-mix(in oklab, var(--c-accent) 3%, var(--c-paper));
}
.couture-pricing-tier.--featured::before {
  content: "Recommended";
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 5px 14px;
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.couture-pricing-tier .pt-name {
  font: 700 18px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-pricing-tier .pt-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.couture-pricing-tier .pt-price {
  font: 800 clamp(40px, 5vw, 56px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-pricing-tier .pt-period {
  font: 500 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-pricing-tier .pt-tagline {
  font: 500 14.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-pricing-tier .pt-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
  flex: 1;
}
.couture-pricing-tier .pt-features li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 12px;
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-pricing-tier .pt-features li::before {
  content: "✓";
  color: var(--c-accent);
  font: 700 13px/1.4 var(--c-display);
}
.couture-pricing-tier .pt-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 22px;
  border-radius: 12px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.couture-pricing-tier .pt-cta:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}
.couture-pricing-tier.--featured .pt-cta {
  background: var(--c-accent);
}
.couture-pricing-tier.--featured .pt-cta:hover {
  background: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-pricing-tier,
  .couture-pricing-tier .pt-cta { transition: none; }
  .couture-pricing-tier.--featured { transform: none; }
}

/* V6.387 #48 — .couture-cta-row — inline title + arrow CTA link
   Mobbin/Burb-tier subtle link: just text + 28px circle arrow w/ accent border.
   For "Read more about X →" call-outs that need to be more visible than plain links. */
.couture-cta-row {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 700 15px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  text-decoration: none;
  padding: 6px 0;
  transition: color .18s;
}
.couture-cta-row:hover {
  color: var(--c-accent);
}
.couture-cta-row::after {
  content: "→";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  font: 600 13px/1 var(--c-display);
  transition: transform .22s, background .22s, color .22s;
}
.couture-cta-row:hover::after {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-row, .couture-cta-row::after { transition: none; }
  .couture-cta-row:hover::after { transform: none; }
}

/* V6.387 #49 — .couture-icon-grid-4 — 4-column small icon grid (capabilities)
   Talkbase/Outverse-tier: dense 4-col grid for "Capabilities" / "What we do"
   strips. Smaller cells than V6.387 #10 feature-grid-icon. */
.couture-icon-grid-4 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(20px, 3vw, 28px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-icon-grid-4 .ig4-cell {
  padding: 0;
}
.couture-icon-grid-4 .ig4-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-icon-grid-4 .ig4-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-icon-grid-4 .ig4-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #50 — .couture-event-row — premium event/showcase row
   Burb/Outverse-tier event listing: date-block on left + title + body + venue
   + cta on right. Border-bottom between rows. */
.couture-event-row {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
  padding: clamp(20px, 3vw, 28px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-event-row:last-child {
  border-bottom: 0;
}
.couture-event-row .er-date {
  text-align: center;
  padding: 10px 0;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 10px;
}
.couture-event-row .er-month {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 6px;
}
.couture-event-row .er-day {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-event-row .er-title {
  font: 700 19px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-event-row .er-body {
  font: 500 14px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-event-row .er-venue {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 6px;
}
.couture-event-row .er-cta {
  font: 700 13px/1 var(--c-display);
  color: var(--c-accent);
  text-decoration: none;
  white-space: nowrap;
}
.couture-event-row .er-cta::after { content: " →"; }
.couture-event-row .er-cta:hover { color: var(--c-ink); }
@media (max-width: 720px) {
  .couture-event-row {
    grid-template-columns: 70px 1fr;
  }
  .couture-event-row .er-cta {
    grid-column: 1 / -1;
    text-align: right;
  }
}

/* V6.387 #51 — .couture-process-bar — horizontal step-progress with accent fill
   Outseta/Kaizenlabs-tier: 4-step progress bar with completed steps in accent +
   pending in muted. For onboarding / "Where you are" indicators. */
.couture-process-bar {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 8px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-process-bar .pb-step {
  position: relative;
  padding: 12px 0 0;
  text-align: center;
}
.couture-process-bar .pb-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 2px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-process-bar .pb-step.is-done::before,
.couture-process-bar .pb-step.is-active::before {
  background: var(--c-accent);
}
.couture-process-bar .pb-step.is-active::before {
  background: linear-gradient(90deg,
    var(--c-accent) 50%,
    color-mix(in oklab, var(--c-line) 70%, transparent) 50%);
}
.couture-process-bar .pb-step-num {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  margin-bottom: 4px;
}
.couture-process-bar .pb-step.is-active .pb-step-num,
.couture-process-bar .pb-step.is-done .pb-step-num {
  color: var(--c-accent);
}
.couture-process-bar .pb-step-label {
  font: 600 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

/* V6.387 #52 — .couture-tile-mosaic — irregular mosaic tile grid (3+1+2)
   Mobbin/Burb editorial: featured tile (2x2) + 3 small tiles around it.
   For "shop the look" or "collection highlights" sections. */
.couture-tile-mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, minmax(180px, auto));
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-tile-mosaic .tm-tile {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-tile-mosaic .tm-tile:nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}
.couture-tile-mosaic .tm-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-tile-mosaic .tm-tile:hover img {
  transform: scale(1.04);
}
.couture-tile-mosaic .tm-caption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 5px 11px;
  background: color-mix(in oklab, var(--c-ink) 84%, transparent);
  color: var(--c-paper);
  border-radius: 6px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  pointer-events: none;
}
@media (max-width: 720px) {
  .couture-tile-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .couture-tile-mosaic .tm-tile:nth-child(1) {
    grid-column: 1 / -1;
    grid-row: auto;
    aspect-ratio: 16/9;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-tile-mosaic .tm-tile img { transition: none; }
  .couture-tile-mosaic .tm-tile:hover img { transform: none; }
}

/* V6.387 #53 — .couture-side-stat — vertical-stack stat block (label + big-num)
   Outseta/Kaizenlabs-tier: smaller vertical stat for sidebar or inline use.
   Distinct from V6.387 #22 mini-stat (inline-horizontal): this is taller-stack. */
.couture-side-stat {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 0;
}
.couture-side-stat + .couture-side-stat {
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-side-stat .ss-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-side-stat .ss-big {
  font: 800 clamp(32px, 4vw, 44px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-side-stat .ss-note {
  font: 500 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #54 — .couture-detail-row — key-value horizontal row (specs)
   Burb/Mobbin PDP-tier: label-left + value-right divided by dotted hairline.
   For "Specifications" / "Details" lists on PDPs. */
.couture-detail-row {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 24px;
  padding: 14px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-detail-row:last-child {
  border-bottom: 0;
}
.couture-detail-row .dr-label {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-detail-row .dr-value {
  font: 500 14.5px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-detail-row .dr-value strong {
  font-weight: 700;
}
.couture-detail-row.--inline {
  border-bottom: 0;
  padding: 4px 0;
}

/* V6.387 #55 — .couture-floating-card — premium floating card w/ outline + shadow
   Outseta-tier: card that "floats" above content with crisp 1px outline + 8-layer
   composite shadow. Use for hero-overlap, intro-overlap, etc. */
.couture-floating-card {
  position: relative;
  padding: clamp(28px, 4vw, 40px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 18px;
  box-shadow:
    0 1px 2px color-mix(in oklab, var(--c-ink) 6%, transparent),
    0 4px 8px -4px color-mix(in oklab, var(--c-ink) 8%, transparent),
    0 16px 32px -12px color-mix(in oklab, var(--c-ink) 12%, transparent),
    0 32px 60px -30px color-mix(in oklab, var(--c-ink) 24%, transparent);
}
.couture-floating-card.--accent {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  box-shadow:
    0 1px 2px color-mix(in oklab, var(--c-accent) 8%, transparent),
    0 4px 8px -4px color-mix(in oklab, var(--c-accent) 10%, transparent),
    0 16px 32px -12px color-mix(in oklab, var(--c-accent) 14%, transparent),
    0 32px 60px -30px color-mix(in oklab, var(--c-accent) 26%, transparent);
}

/* V6.387 #56 — .couture-tag-grid — refined tag cloud / category grid
   Burb/Mobbin-tier: 8-12 pill tags wrapped tight w/ accent on hover. For
   "Browse by category" or "Topics" surfaces. */
.couture-tag-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: clamp(24px, 4vw, 36px);
}
.couture-tag-grid .tg-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 999px;
  font: 600 12.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color .18s, background .18s, color .18s;
}
.couture-tag-grid .tg-tag:hover {
  border-color: color-mix(in oklab, var(--c-accent) 55%, var(--c-line));
  color: var(--c-accent);
}
.couture-tag-grid .tg-tag .tg-count {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  opacity: 0.8;
}
.couture-tag-grid .tg-tag.is-active {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: var(--c-paper);
}
.couture-tag-grid .tg-tag.is-active .tg-count {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}

/* V6.387 #57 — .couture-press-quote — bold press attribution w/ accent border
   Outseta/Mobbin-tier: big italic quote + bold publication name. For press-page
   prominent quotes. Distinct from V6.387 #12/23/33 testimonial variants. */
.couture-press-quote {
  position: relative;
  padding: clamp(24px, 4vw, 36px) 0 clamp(24px, 4vw, 36px) clamp(28px, 5vw, 48px);
  border-left: 4px solid var(--c-accent);
  margin-block: clamp(28px, 4vw, 40px);
  max-width: 720px;
}
.couture-press-quote .pq-text {
  font: 500 clamp(22px, 3vw, 30px)/1.4 var(--c-display);
  font-style: italic;
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin-bottom: 18px;
}
.couture-press-quote .pq-source {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-press-quote .pq-source::before {
  content: "—";
  color: var(--c-ink-soft);
}

/* V6.387 #58 — .couture-staff-pick — small editorial "staff pick" badge
   Burb/Mobbin-tier: 32px circle accent badge with "Pick" / star + body strap.
   For product cards, journal posts, or service highlights. */
.couture-staff-pick {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px 6px 6px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, var(--c-line));
  border-radius: 999px;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-staff-pick::before {
  content: "★";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 11px/1 var(--c-display);
}
.couture-staff-pick.--ink {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-staff-pick.--ink::before {
  background: var(--c-accent);
}

/* V6.387 #59 — .couture-marquee — premium auto-scrolling marquee strip
   Outseta/Framer-tier: horizontal scrolling logo strip / "trusted by" row.
   Pure-CSS @keyframes infinite. Respects prefers-reduced-motion. */
.couture-marquee {
  overflow: hidden;
  margin-block: clamp(24px, 4vw, 36px);
  padding-block: 18px;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  mask-image: linear-gradient(90deg,
    transparent 0,
    #000 8%,
    #000 92%,
    transparent 100%);
  -webkit-mask-image: linear-gradient(90deg,
    transparent 0,
    #000 8%,
    #000 92%,
    transparent 100%);
}
.couture-marquee .mq-track {
  display: inline-flex;
  align-items: center;
  gap: clamp(36px, 5vw, 64px);
  animation: _couture-marquee 30s linear infinite;
  white-space: nowrap;
}
.couture-marquee .mq-item {
  font: 700 18px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink-soft);
  text-transform: uppercase;
  transition: color .2s;
}
.couture-marquee .mq-item:hover {
  color: var(--c-ink);
}
.couture-marquee .mq-item--accent { color: var(--c-accent); }
@keyframes _couture-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-marquee .mq-track { animation: none; }
}

/* V6.387 #60 — .couture-mega-num — page-level oversized accent number
   Burb/Outverse-tier: 200px+ outline-style number for "01 / 04" page markers
   or section dividers. SVG-stroke-style display via -webkit-text-stroke. */
.couture-mega-num {
  font: 900 clamp(140px, 22vw, 280px)/0.85 var(--c-display);
  letter-spacing: -0.045em;
  color: transparent;
  -webkit-text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 50%, transparent);
  text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 50%, transparent);
  font-variant-numeric: tabular-nums;
  display: block;
  margin-block: 0 clamp(-20px, -2vw, -16px);
  pointer-events: none;
  user-select: none;
}
.couture-mega-num--solid {
  -webkit-text-stroke: 0;
  text-stroke: 0;
  color: color-mix(in oklab, var(--c-accent) 12%, transparent);
}
.couture-mega-num--ink {
  -webkit-text-stroke: 1.5px color-mix(in oklab, var(--c-ink) 30%, transparent);
  text-stroke: 1.5px color-mix(in oklab, var(--c-ink) 30%, transparent);
}

/* V6.387 #61 — .couture-shop-card-min — minimalist shop product card
   Mobbin/Burb-tier: 1:1 image + 14px title + accent price. No card outline,
   just image + meta. Distinct from V6.386 #2 shelf-card (with hover-lift bg). */
.couture-shop-card-min {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.couture-shop-card-min .scm-img {
  aspect-ratio: 1;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 14px;
}
.couture-shop-card-min .scm-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.couture-shop-card-min:hover .scm-img img {
  transform: scale(1.04);
}
.couture-shop-card-min .scm-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}
.couture-shop-card-min .scm-title {
  font: 600 14.5px/1.35 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-shop-card-min .scm-price {
  font: 700 14.5px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.couture-shop-card-min .scm-eyebrow {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-bottom: 6px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-shop-card-min .scm-img img { transition: none; }
  .couture-shop-card-min:hover .scm-img img { transform: none; }
}

/* V6.387 #62 — .couture-cta-fullwidth — full-bleed minimalist CTA section
   Talkbase/Openphone-tier: massive centered headline + accent button on
   paper/ink-tinted bg. Distinct from V6.387 #6 cta-band (accent gradient): this
   is muted-tone alternative. */
.couture-cta-fullwidth {
  padding: clamp(80px, 12vw, 140px) clamp(24px, 5vw, 64px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  text-align: center;
  margin-block: clamp(48px, 7vw, 80px);
  border-radius: 24px;
}
.couture-cta-fullwidth .cf-eyebrow {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
  margin-bottom: 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-cta-fullwidth .cf-eyebrow::before,
.couture-cta-fullwidth .cf-eyebrow::after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--c-accent);
}
.couture-cta-fullwidth .cf-head {
  font: 800 clamp(40px, 7vw, 80px)/1.05 var(--c-display);
  letter-spacing: -0.035em;
  color: var(--c-ink);
  margin: 0 auto 22px;
  max-width: 20ch;
}
.couture-cta-fullwidth .cf-sub {
  font: 500 clamp(16px, 2vw, 19px)/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 auto 36px;
  max-width: 56ch;
}
.couture-cta-fullwidth .cf-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 12px;
  font: 700 15px/1 var(--c-display);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: background .22s, transform .22s;
}
.couture-cta-fullwidth .cf-btn:hover {
  background: var(--c-accent);
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-fullwidth .cf-btn { transition: none; }
  .couture-cta-fullwidth .cf-btn:hover { transform: none; }
}

/* V6.387 #63 — .couture-rating-stars — 5-star rating display w/ accent fill
   Outseta/Burb-tier: 5 stars (filled accent + muted) + numeric value + count.
   For PDP review summary + journal review headers. */
.couture-rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-block: clamp(8px, 1.5vw, 14px);
}
.couture-rating-stars .rs-row {
  display: inline-flex;
  gap: 2px;
  letter-spacing: 0.5px;
  font: 600 16px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-rating-stars .rs-row::before {
  content: "★★★★★";
}
.couture-rating-stars .rs-row .rs-fill {
  position: absolute;
  color: #FFB400;
  overflow: hidden;
  white-space: nowrap;
}
.couture-rating-stars .rs-stars {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.couture-rating-stars .rs-stars::before,
.couture-rating-stars .rs-stars::after {
  font: 600 16px/1 var(--c-display);
  letter-spacing: 1px;
}
.couture-rating-stars .rs-stars::before {
  content: "★★★★★";
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-rating-stars .rs-stars::after {
  content: "★★★★★";
  color: #FFB400;
  position: absolute;
  left: 0;
  top: 0;
  width: calc(var(--rating, 5) / 5 * 100%);
  overflow: hidden;
  white-space: nowrap;
}
.couture-rating-stars .rs-value {
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-rating-stars .rs-count {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.387 #64 — .couture-shipping-tile — premium shipping info tile (3-up)
   Outseta/Burb-tier checkout: 3-col grid of shipping/returns/warranty cards
   with icon + heading + 2-line body. For "Why buy from us" trust strip near
   checkout or footer. */
.couture-shipping-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(20px, 3vw, 28px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-shipping-tile {
  padding: clamp(22px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-shipping-tile .st-icon {
  width: 44px;
  height: 44px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-shipping-tile .st-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-shipping-tile .st-body {
  font: 500 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #65 — .couture-newsletter-block — premium full-width newsletter section
   Outseta/Mobbin-tier: ink-bg dark-mode-style section with headline + form +
   privacy note. Distinct from V6.387 #15 newsletter (compact inline pill). */
.couture-newsletter-block {
  background: var(--c-ink);
  color: var(--c-paper);
  padding: clamp(56px, 8vw, 96px) clamp(24px, 5vw, 64px);
  border-radius: 22px;
  margin-block: clamp(56px, 8vw, 96px);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.couture-newsletter-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 25% 60%,
    color-mix(in oklab, var(--c-accent) 22%, transparent),
    transparent 60%);
  pointer-events: none;
}
.couture-newsletter-block > * { position: relative; }
.couture-newsletter-block .nb-eyebrow {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
  margin-bottom: 18px;
}
.couture-newsletter-block .nb-head {
  font: 800 clamp(32px, 5vw, 56px)/1.1 var(--c-display);
  letter-spacing: -0.03em;
  margin: 0 auto 18px;
  max-width: 20ch;
}
.couture-newsletter-block .nb-sub {
  font: 500 clamp(15px, 2vw, 18px)/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
  margin: 0 auto 32px;
  max-width: 56ch;
}
.couture-newsletter-block .nb-form {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  background: color-mix(in oklab, var(--c-paper) 8%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-paper) 24%, transparent);
  border-radius: 999px;
  padding: 4px 4px 4px 22px;
  max-width: 480px;
  width: 100%;
}
.couture-newsletter-block .nb-input {
  flex: 1;
  background: transparent;
  border: 0;
  color: var(--c-paper);
  font: 500 14.5px/1 var(--c-body);
  min-width: 0;
}
.couture-newsletter-block .nb-input::placeholder {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-newsletter-block .nb-input:focus { outline: 0; }
.couture-newsletter-block .nb-btn {
  background: var(--c-accent);
  color: var(--c-paper);
  border: 0;
  border-radius: 999px;
  padding: 10px 22px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  cursor: pointer;
}
.couture-newsletter-block .nb-fineprint {
  font: 500 11px/1.5 var(--c-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
  margin-top: 24px;
}

/* V6.387 #66 — .couture-side-by-side — refined 2-col image+caption pair
   Burb/Mobbin editorial: pair of media cards side-by-side w/ matched caption
   below each. For "before/after" or "two looks" comparisons. */
.couture-side-by-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 32px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-side-by-side .sbs-cell .sbs-media {
  aspect-ratio: 4/5;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  margin-bottom: 14px;
}
.couture-side-by-side .sbs-cell .sbs-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-side-by-side .sbs-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 6px;
}
.couture-side-by-side .sbs-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-side-by-side .sbs-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 640px) {
  .couture-side-by-side {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #67 — .couture-bento-row — bento-grid 5-tile mixed-size layout
   Mobbin/Burb editorial: large left tile + 2x2 grid right. For "explore the
   collection" or "what's inside" overview blocks. */
.couture-bento-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  margin-block: clamp(36px, 5vw, 56px);
  min-height: 420px;
}
.couture-bento-row .bn-tile {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  display: flex;
  align-items: flex-end;
  padding: 18px;
  text-decoration: none;
  color: var(--c-paper);
  transition: transform .25s;
}
.couture-bento-row .bn-tile:hover {
  transform: translateY(-2px);
}
.couture-bento-row .bn-tile:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
}
.couture-bento-row .bn-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.couture-bento-row .bn-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 50%,
    color-mix(in oklab, var(--c-ink) 80%, transparent) 100%);
  z-index: 1;
}
.couture-bento-row .bn-label {
  position: relative;
  z-index: 2;
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.01em;
}
.couture-bento-row .bn-tile:nth-child(1) .bn-label {
  font-size: 18px;
}
@media (max-width: 720px) {
  .couture-bento-row {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    min-height: 0;
  }
  .couture-bento-row .bn-tile {
    aspect-ratio: 1;
  }
  .couture-bento-row .bn-tile:nth-child(1) {
    grid-column: 1 / -1;
    aspect-ratio: 16/9;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-bento-row .bn-tile { transition: none; }
  .couture-bento-row .bn-tile:hover { transform: none; }
}

/* V6.387 #68 — .couture-changelog — changelog/release-notes timeline
   Outseta/Talkbase docs-tier: vertical changelog with date + version-pill +
   bulleted body. For /changelog or /updates pages. */
.couture-changelog {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 40px);
  max-width: 720px;
  margin: clamp(36px, 5vw, 56px) auto;
}
.couture-changelog .cl-entry {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: clamp(16px, 3vw, 32px);
  padding-bottom: clamp(28px, 4vw, 40px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-changelog .cl-entry:last-child {
  border-bottom: 0;
}
.couture-changelog .cl-meta .cl-date {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-bottom: 8px;
}
.couture-changelog .cl-meta .cl-version {
  display: inline-block;
  padding: 4px 10px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  border-radius: 6px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.couture-changelog .cl-title {
  font: 700 20px/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.couture-changelog .cl-body {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.couture-changelog .cl-body li {
  position: relative;
  padding-left: 18px;
  font: 500 14.5px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-changelog .cl-body li::before {
  content: "+";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--c-accent);
  font-weight: 700;
}
.couture-changelog .cl-body li.cl-fixed::before { content: "→"; }
.couture-changelog .cl-body li.cl-removed::before { content: "−"; color: #d97706; }
@media (max-width: 640px) {
  .couture-changelog .cl-entry {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #69 — .couture-app-tile — app-store-style download/CTA tile
   Outseta/Burb-tier: 56px icon + heading + body + 2-CTA row. For "Download
   the iOS / Android apps" or "Available on" sections. */
.couture-app-tile {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: start;
  padding: clamp(20px, 3vw, 26px);
  background: color-mix(in oklab, var(--c-paper) 98%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
}
.couture-app-tile .at-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 90%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 24px/1 var(--c-display);
}
.couture-app-tile .at-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-app-tile .at-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 14px;
}
.couture-app-tile .at-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.couture-app-tile .at-ctas a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 8px;
  font: 700 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s;
}
.couture-app-tile .at-ctas a:hover {
  background: var(--c-accent);
}

/* V6.387 #70 — .couture-pager — premium pagination row
   Outseta/Burb-tier blog/shop archive: prev / 1·2·3·…·N / next pagination.
   Active page gets accent fill + paper text. */
.couture-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-pager a, .couture-pager .pg-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  background: var(--c-paper);
  color: var(--c-ink);
  text-decoration: none;
  font: 600 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  transition: border-color .18s, background .18s, color .18s;
}
.couture-pager a:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
  color: var(--c-accent);
}
.couture-pager .pg-current {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
  cursor: default;
}
.couture-pager .pg-prev::before { content: "← "; }
.couture-pager .pg-next::after { content: " →"; }
.couture-pager .pg-ellipsis {
  color: var(--c-ink-soft);
  padding: 0 4px;
  font: 600 13px/1 var(--c-display);
}

/* V6.387 #71 — .couture-tag-chip — small tag chip (clickable filter)
   Burb/Mobbin shop archive: smaller variant of #56 tag-grid for inline use.
   Has × close button option for "applied filter" UI. */
.couture-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 999px;
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color .18s, color .18s;
}
.couture-tag-chip:hover {
  border-color: color-mix(in oklab, var(--c-accent) 55%, var(--c-line));
  color: var(--c-accent);
}
.couture-tag-chip .tc-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  color: var(--c-paper);
  font: 700 9px/1 var(--c-display);
  cursor: pointer;
  transition: background .18s;
}
.couture-tag-chip .tc-close:hover {
  background: var(--c-accent);
}
.couture-tag-chip.--accent {
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 36%, transparent);
  color: var(--c-accent);
}

/* V6.387 #72 — .couture-back-to-top — floating back-to-top button (post-scroll)
   Outseta/Mobbin-tier: 44px circle accent button bottom-right that scrolls
   smoothly to top. Hidden initially, fades in past scroll threshold (no JS
   in CSS — needs scroll-driven via animation-timeline or .is-visible class). */
.couture-back-to-top {
  position: fixed;
  bottom: clamp(20px, 3vw, 32px);
  right: clamp(20px, 3vw, 32px);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display);
  text-decoration: none;
  box-shadow: 0 12px 32px -10px color-mix(in oklab, var(--c-ink) 30%, transparent);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .25s, transform .25s, background .2s;
  z-index: 50;
}
.couture-back-to-top.is-visible,
.couture-back-to-top:target {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.couture-back-to-top:hover {
  background: var(--c-accent);
}
@supports (animation-timeline: scroll(root)) {
  .couture-back-to-top {
    animation: _couture-show-btt linear forwards;
    animation-timeline: scroll(root);
    animation-range: 800px 1200px;
  }
}
@keyframes _couture-show-btt {
  0% { opacity: 0; pointer-events: none; transform: translateY(8px); }
  100% { opacity: 1; pointer-events: auto; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-back-to-top { transition: opacity .15s; animation: none; }
}

/* V6.387 #73 — .couture-error-state — premium error / empty-state block
   Outseta/Mobbin-tier: centered icon + headline + body + CTA. For 404, empty
   cart, no-search-results, no-orders surfaces. */
.couture-error-state {
  text-align: center;
  padding: clamp(64px, 9vw, 96px) clamp(24px, 5vw, 48px);
  max-width: 560px;
  margin: 0 auto;
}
.couture-error-state .es-glyph {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 32px/1 var(--c-display);
  margin-bottom: 24px;
}
.couture-error-state .es-head {
  font: 800 clamp(28px, 4vw, 36px)/1.15 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-error-state .es-body {
  font: 500 16px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 28px;
}
.couture-error-state .es-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  text-decoration: none;
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.005em;
  transition: background .2s;
}
.couture-error-state .es-cta:hover {
  background: var(--c-accent);
}

/* V6.387 #74 — .couture-trail-crumbs — premium breadcrumb trail
   Outseta/Burb-tier: home > category > subcategory > current breadcrumb row
   with refined separator + accent on hover + current item bolded. */
.couture-trail-crumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: clamp(18px, 2vw, 24px);
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-trail-crumbs a {
  color: inherit;
  text-decoration: none;
  transition: color .18s;
}
.couture-trail-crumbs a:hover {
  color: var(--c-accent);
}
.couture-trail-crumbs > * + *::before {
  content: "/";
  margin-right: 8px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-block;
}
.couture-trail-crumbs .tc-current {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.387 #75 — .couture-loyalty-card — premium loyalty/membership card
   Outseta/Burb-tier accounts: gradient bg + tier badge + benefits list.
   For "Member benefits" or "Your status" surfaces. */
.couture-loyalty-card {
  position: relative;
  padding: clamp(28px, 4vw, 36px);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-ink) 95%, var(--c-paper)),
    color-mix(in oklab, var(--c-ink) 80%, var(--c-accent)));
  color: var(--c-paper);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px -28px color-mix(in oklab, var(--c-ink) 40%, transparent);
}
.couture-loyalty-card::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -20%;
  width: 60%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,
    color-mix(in oklab, var(--c-accent) 50%, transparent),
    transparent 70%);
  pointer-events: none;
}
.couture-loyalty-card > * { position: relative; }
.couture-loyalty-card .lc-tier {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  background: color-mix(in oklab, var(--c-paper) 14%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-paper) 24%, transparent);
  border-radius: 999px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-paper);
  margin-bottom: 22px;
}
.couture-loyalty-card .lc-tier::before {
  content: "★";
  color: var(--c-accent);
}
.couture-loyalty-card .lc-name {
  font: 800 clamp(28px, 4vw, 38px)/1.05 var(--c-display);
  letter-spacing: -0.025em;
  margin-bottom: 8px;
}
.couture-loyalty-card .lc-greeting {
  font: 500 14px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  margin-bottom: 28px;
}
.couture-loyalty-card .lc-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: grid;
  gap: 8px;
}
.couture-loyalty-card .lc-benefits li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  font: 500 14px/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 90%, transparent);
}
.couture-loyalty-card .lc-benefits li::before {
  content: "✓";
  color: var(--c-accent);
  font: 700 12px/1.55 var(--c-display);
}
.couture-loyalty-card .lc-points {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid color-mix(in oklab, var(--c-paper) 18%, transparent);
}
.couture-loyalty-card .lc-points .lc-pt-num {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-paper);
  font-variant-numeric: tabular-nums;
}
.couture-loyalty-card .lc-points .lc-pt-label {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}

/* V6.387 #76 — .couture-mini-toolbar — slim utility toolbar (sort+view-toggle)
   Outseta/Mobbin shop archive mini variant: smaller than V6.387 #29 toolbar,
   for inline use above grid-only with sort + view-toggle (grid/list). */
.couture-mini-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(12px, 2vw, 18px);
  padding: 10px 0;
  margin-block: clamp(16px, 2vw, 22px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-mini-toolbar .mt-meta {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-mini-toolbar .mt-meta strong {
  color: var(--c-ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-mini-toolbar .mt-actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.couture-mini-toolbar .mt-sort {
  font: 600 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 6px 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-mini-toolbar .mt-sort::after {
  content: "▾";
  color: var(--c-ink-soft);
  font-size: 10px;
}
.couture-mini-toolbar .mt-view {
  display: inline-flex;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 8px;
  overflow: hidden;
}
.couture-mini-toolbar .mt-view button {
  width: 32px;
  height: 32px;
  background: transparent;
  border: 0;
  font: 700 13px/1 var(--c-display);
  color: var(--c-ink-soft);
  cursor: pointer;
  transition: background .18s, color .18s;
}
.couture-mini-toolbar .mt-view button[aria-pressed="true"],
.couture-mini-toolbar .mt-view button.is-active {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-mini-toolbar .mt-view button + button {
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.387 #77 — .couture-cookie-banner — premium cookie consent bottom strip
   Outseta/Mobbin GDPR: floating bottom-anchored card with title + body +
   accept/customize CTAs. */
.couture-cookie-banner {
  position: fixed;
  left: clamp(16px, 3vw, 32px);
  right: clamp(16px, 3vw, 32px);
  bottom: clamp(16px, 3vw, 32px);
  z-index: 60;
  background: var(--c-ink);
  color: var(--c-paper);
  padding: clamp(20px, 3vw, 28px) clamp(22px, 3vw, 32px);
  border-radius: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
  box-shadow: 0 32px 60px -28px color-mix(in oklab, var(--c-ink) 40%, transparent);
  max-width: 880px;
  margin: 0 auto;
}
.couture-cookie-banner .cb-text {
  font: 500 13.5px/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 90%, transparent);
}
.couture-cookie-banner .cb-text strong {
  color: var(--c-paper);
  font-weight: 700;
  margin-right: 6px;
}
.couture-cookie-banner .cb-text a {
  color: var(--c-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.couture-cookie-banner .cb-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.couture-cookie-banner .cb-actions button,
.couture-cookie-banner .cb-actions a {
  padding: 10px 18px;
  border-radius: 8px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  cursor: pointer;
  border: 0;
  text-decoration: none;
  transition: background .2s;
}
.couture-cookie-banner .cb-actions .cb-customize {
  background: transparent;
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-paper) 24%, transparent);
}
.couture-cookie-banner .cb-actions .cb-customize:hover {
  background: color-mix(in oklab, var(--c-paper) 8%, transparent);
}
.couture-cookie-banner .cb-actions .cb-accept {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-cookie-banner .cb-actions .cb-accept:hover {
  background: color-mix(in oklab, var(--c-accent) 80%, var(--c-paper));
}
@media (max-width: 640px) {
  .couture-cookie-banner {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #78 — .couture-feature-flag-pill — small feature-flag/build-version pill
   Outseta/Mobbin internal: monospace "v6.387 · BUILD 1234" pill in footer/admin.
   For environment / build markers. */
.couture-feature-flag-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: color-mix(in oklab, var(--c-ink) 8%, var(--c-paper));
  border: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 4px;
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-feature-flag-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2ea043;
}
.couture-feature-flag-pill.--staging::before { background: #d97706; }
.couture-feature-flag-pill.--canary::before { background: var(--c-accent); }

/* V6.387 #79 — .couture-stat-bar — horizontal stat bar (single)
   Outseta/Burb-tier: single inline pill with label + tabular value + delta.
   Smaller than V6.387 #11 kpi-row (4-up grid) — for 1-line stat callout. */
.couture-stat-bar {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 12px;
  margin-block: clamp(14px, 2vw, 20px);
}
.couture-stat-bar .sb-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-stat-bar .sb-value {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-bar .sb-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font: 600 11px/1 var(--c-mono);
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #2ea043;
}
.couture-stat-bar .sb-delta.--down {
  background: color-mix(in oklab, #d97706 16%, transparent);
  color: #d97706;
}

/* V6.387 #80 — .couture-grid-3-overlap — 3-card grid w/ negative margin overlap
   Burb/Mobbin editorial: 3 cards in row, middle card lifted up via
   negative top margin for "stacked" effect. Distinctive. */
.couture-grid-3-overlap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 28px);
  align-items: start;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-grid-3-overlap > * {
  padding: clamp(24px, 3vw, 32px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 16px;
  box-shadow: 0 14px 40px -20px color-mix(in oklab, var(--c-ink) 12%, transparent);
}
.couture-grid-3-overlap > *:nth-child(2) {
  margin-top: clamp(-32px, -4vw, -20px);
  border-color: color-mix(in oklab, var(--c-accent) 30%, var(--c-line));
  box-shadow: 0 24px 56px -22px color-mix(in oklab, var(--c-accent) 24%, transparent);
}
@media (max-width: 720px) {
  .couture-grid-3-overlap {
    grid-template-columns: 1fr;
  }
  .couture-grid-3-overlap > *:nth-child(2) {
    margin-top: 0;
  }
}

/* V6.387 #81 — .couture-input-group — premium input + leading icon group
   Outseta/Mobbin form-tier: 14px leading icon prefix + transparent input
   inside 12px-radius card. Focus ring on container. */
.couture-input-group {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 12px;
  transition: border-color .18s, box-shadow .18s;
}
.couture-input-group:focus-within {
  border-color: color-mix(in oklab, var(--c-accent) 60%, var(--c-line));
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-input-group .ig-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-display);
  color: var(--c-ink-soft);
}
.couture-input-group .ig-input {
  background: transparent;
  border: 0;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-input-group .ig-input:focus { outline: 0; }
.couture-input-group .ig-input::placeholder {
  color: var(--c-ink-soft);
}
.couture-input-group .ig-helper {
  grid-column: 2;
  font: 500 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}
.couture-input-group.--error {
  border-color: #d97706;
}
.couture-input-group.--error .ig-helper {
  color: #d97706;
}

/* V6.387 #82 — .couture-cart-line-item — premium cart line item
   Outseta/Burb checkout: thumbnail + title + variant + qty stepper + price.
   For mini-cart drawer and full cart page. */
.couture-cart-line-item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-cart-line-item:last-child {
  border-bottom: 0;
}
.couture-cart-line-item .cli-img {
  width: 72px;
  aspect-ratio: 1;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  overflow: hidden;
}
.couture-cart-line-item .cli-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-cart-line-item .cli-meta .cli-title {
  font: 600 14px/1.3 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-cart-line-item .cli-meta .cli-variant {
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-bottom: 10px;
}
.couture-cart-line-item .cli-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 8px;
  overflow: hidden;
}
.couture-cart-line-item .cli-qty button {
  width: 28px;
  height: 28px;
  background: transparent;
  border: 0;
  font: 700 14px/1 var(--c-display);
  color: var(--c-ink);
  cursor: pointer;
  transition: background .18s;
}
.couture-cart-line-item .cli-qty button:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-cart-line-item .cli-qty input {
  width: 36px;
  text-align: center;
  border: 0;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 600 13px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  height: 28px;
}
.couture-cart-line-item .cli-qty input:focus { outline: 0; background: color-mix(in oklab, var(--c-accent) 8%, transparent); }
.couture-cart-line-item .cli-price {
  text-align: right;
}
.couture-cart-line-item .cli-price .cli-amount {
  font: 700 15px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-cart-line-item .cli-price .cli-remove {
  display: inline-block;
  margin-top: 8px;
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  border: 0;
  background: transparent;
}
.couture-cart-line-item .cli-price .cli-remove:hover {
  color: #d97706;
}

/* V6.387 #83 — .couture-promo-strip — slim promo/discount info strip
   Outseta/Burb-tier checkout: accent-tinted strip with 🎁 + headline + applied
   code pill. For "10% applied!" feedback or "Free shipping unlocked" alerts. */
.couture-promo-strip {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 34%, transparent);
  border-radius: 10px;
  margin-block: clamp(14px, 2vw, 20px);
  font: 600 13px/1.4 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-promo-strip::before {
  content: "🎁";
  font-size: 18px;
  flex-shrink: 0;
}
.couture-promo-strip .ps-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: var(--c-paper);
  border: 1px dashed color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
  border-radius: 4px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-left: auto;
}

/* V6.387 #84 — .couture-collection-card — premium category/collection card
   Mobbin/Burb shop-tier: vertical aspect-ratio card with background image +
   gradient overlay + bottom-anchored title + count. For "Shop by collection" or
   category landing tiles. */
.couture-collection-card {
  position: relative;
  display: block;
  aspect-ratio: 4/5;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: var(--c-paper);
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-collection-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.couture-collection-card:hover img {
  transform: scale(1.05);
}
.couture-collection-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 40%,
    color-mix(in oklab, var(--c-ink) 80%, transparent) 100%);
  pointer-events: none;
}
.couture-collection-card .cc-meta {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 2;
}
.couture-collection-card .cc-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  margin-bottom: 8px;
}
.couture-collection-card .cc-title {
  font: 800 clamp(22px, 3vw, 30px)/1.1 var(--c-display);
  letter-spacing: -0.022em;
  margin-bottom: 8px;
}
.couture-collection-card .cc-count {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-collection-card .cc-count::after {
  content: " →";
  margin-left: 8px;
  color: var(--c-accent);
  font-weight: 700;
  font-family: var(--c-display);
  transition: margin-left .22s;
}
.couture-collection-card:hover .cc-count::after {
  margin-left: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-collection-card img,
  .couture-collection-card .cc-count::after { transition: none; }
  .couture-collection-card:hover img { transform: none; }
  .couture-collection-card:hover .cc-count::after { margin-left: 8px; }
}

/* V6.387 #85 — .couture-order-summary — premium order summary card
   Outseta/Burb checkout: line-items + subtotal + shipping + tax + total
   stacked vertically with hairline separators + accent total. */
.couture-order-summary {
  padding: clamp(22px, 3vw, 28px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.couture-order-summary .os-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-order-summary .os-row .os-label {
  color: var(--c-ink-soft);
}
.couture-order-summary .os-row .os-amount {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.couture-order-summary .os-divider {
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: 6px 0;
}
.couture-order-summary .os-row.--total {
  padding-top: 14px;
  font: 700 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-order-summary .os-row.--total .os-label {
  color: var(--c-ink);
}
.couture-order-summary .os-row.--total .os-amount {
  font: 800 22px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-order-summary .os-row.--saved {
  color: #2ea043;
}
.couture-order-summary .os-row.--saved .os-label {
  color: #2ea043;
}

/* V6.387 #86 — .couture-trust-mini-row — small trust-signal inline row (security)
   Outseta/Burb checkout: 3-up inline row of "🔒 Secure" / "🚚 Fast" / "↩ Easy"
   trust badges near checkout button. Smaller than V6.387 #64 shipping-tile. */
.couture-trust-mini-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(14px, 2.5vw, 24px);
  margin-block: clamp(18px, 2vw, 24px);
  padding: 14px 18px;
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  border-radius: 10px;
}
.couture-trust-mini-row .tmr-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-trust-mini-row .tmr-item::before {
  content: attr(data-glyph);
  font-size: 16px;
  line-height: 1;
}
.couture-trust-mini-row .tmr-item strong {
  font-weight: 700;
  color: var(--c-ink);
  margin-right: 2px;
}

/* V6.387 #87 — .couture-color-token — visual color token w/ name + hex
   Outseta/Mobbin design-system page: swatch + name + hex value column.
   For brand palette / docs / color-system explainer. */
.couture-color-token {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  align-items: center;
  padding: 8px 0;
}
.couture-color-token .ct-swatch {
  width: 80px;
  aspect-ratio: 4/3;
  background: var(--swatch, var(--c-accent));
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c-paper) 24%, transparent);
}
.couture-color-token .ct-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-color-token .ct-hex {
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-color-token-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(14px, 2vw, 20px);
  margin-block: clamp(24px, 4vw, 36px);
}

/* V6.387 #88 — .couture-toast — refined transient notification toast
   Outseta/Mobbin-tier: bottom-fixed slide-in toast with icon + message +
   close. Stack-friendly (multiple toasts) + auto-fade animation. */
.couture-toast {
  position: fixed;
  left: 50%;
  bottom: clamp(20px, 3vw, 32px);
  transform: translateX(-50%);
  z-index: 70;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 12px;
  font: 500 13.5px/1.4 var(--c-body);
  box-shadow: 0 24px 60px -28px color-mix(in oklab, var(--c-ink) 40%, transparent);
  min-width: 280px;
  max-width: min(420px, calc(100vw - 32px));
  animation: _couture-toast-in .3s ease;
}
.couture-toast .ct-glyph {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-display);
  flex-shrink: 0;
}
.couture-toast .ct-close {
  background: transparent;
  border: 0;
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
  font: 700 16px/1 var(--c-display);
  cursor: pointer;
  padding: 2px;
  transition: color .18s;
}
.couture-toast .ct-close:hover {
  color: var(--c-paper);
}
.couture-toast.--success .ct-glyph { background: #2ea043; }
.couture-toast.--warn .ct-glyph { background: #d97706; }
.couture-toast.--error .ct-glyph { background: #c84a4a; }
@keyframes _couture-toast-in {
  from { opacity: 0; transform: translate(-50%, 12px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-toast { animation: none; }
}

/* V6.387 #89 — .couture-skip-link — accessible "skip to content" link
   Outseta/Burb-tier a11y: visually hidden until focused, jumps to main content.
   Required for AA accessibility on every page. */
.couture-skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100;
  padding: 12px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 8px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transform: translateY(-200%);
  transition: transform .22s;
}
.couture-skip-link:focus {
  transform: translateY(0);
  outline: 3px solid var(--c-accent);
  outline-offset: 2px;
}

/* V6.387 #90 — .couture-coverline — premium magazine-style coverline strip
   Burb/Outverse editorial: 3-up horizontal coverline strip (mag-cover style)
   with accent bullets between items. For "Features / Stories / Profiles"
   landing strips. */
.couture-coverline {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(14px, 2.5vw, 22px);
  padding: clamp(18px, 3vw, 24px) clamp(16px, 3vw, 28px);
  margin-block: clamp(28px, 4vw, 40px);
  background: var(--c-paper);
  border-block: 2px solid var(--c-ink);
}
.couture-coverline .cl-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  text-decoration: none;
  white-space: nowrap;
  text-transform: uppercase;
}
.couture-coverline .cl-item::before {
  content: "✦";
  color: var(--c-accent);
  font-size: 12px;
  font-weight: 400;
}
.couture-coverline .cl-item:first-child::before {
  display: none;
}
.couture-coverline .cl-item:hover {
  color: var(--c-accent);
}
.couture-coverline .cl-num {
  font: 500 11px/1 var(--c-mono);
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-right: 4px;
}

/* V6.387 #91 — .couture-hero-split-stacked — stacked-text hero variant
   Outseta/Talkbase-tier: H1 broken into 3 lines, each line indented progressively
   for "stair-step" visual. Massive display. */
.couture-hero-split-stacked {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin-block: clamp(40px, 6vw, 64px);
}
.couture-hero-split-stacked .hss-line {
  font: 800 clamp(48px, 9vw, 120px)/0.95 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-ink);
}
.couture-hero-split-stacked .hss-line:nth-child(2) {
  padding-left: clamp(40px, 8vw, 96px);
}
.couture-hero-split-stacked .hss-line:nth-child(3) {
  padding-left: clamp(80px, 16vw, 192px);
}
.couture-hero-split-stacked .hss-line .hss-accent {
  color: var(--c-accent);
  font-style: italic;
}
.couture-hero-split-stacked .hss-sub {
  margin-top: clamp(28px, 4vw, 40px);
  max-width: 52ch;
  font: 500 clamp(16px, 2vw, 19px)/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #92 — .couture-step-circle — large numbered step circle with body
   Outseta/Talkbase-tier process: 64px ink circle with paper number + title +
   body line. For "Get started in 3 steps" sections. Stacks horizontally with
   line-connectors. */
.couture-step-circles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(28px, 4vw, 40px);
  margin-block: clamp(36px, 5vw, 56px);
  counter-reset: stepc;
  position: relative;
}
.couture-step-circle {
  position: relative;
  padding-top: 0;
}
.couture-step-circle .sct-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 24px/1 var(--c-display);
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
}
.couture-step-circle .sct-circle::after {
  content: "";
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  width: calc(100vw / 4);
  max-width: 200px;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-step-circle:last-child .sct-circle::after {
  display: none;
}
@media (max-width: 720px) {
  .couture-step-circle .sct-circle::after {
    display: none;
  }
}
.couture-step-circle .sct-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-step-circle .sct-body {
  font: 500 14.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #93 — .couture-vertical-rule-section — left/right side accent rule
   Outverse/Mobbin-tier text section: thin vertical accent rule on left edge with
   subtle gradient fade. For premium long-form copy emphasis. */
.couture-vertical-rule-section {
  position: relative;
  padding: clamp(28px, 4vw, 40px) 0 clamp(28px, 4vw, 40px) clamp(28px, 4vw, 44px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-vertical-rule-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: clamp(20px, 3vw, 32px);
  bottom: clamp(20px, 3vw, 32px);
  width: 2px;
  background: linear-gradient(180deg,
    var(--c-accent),
    color-mix(in oklab, var(--c-accent) 20%, transparent));
  border-radius: 2px;
}
.couture-vertical-rule-section .vrs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-vertical-rule-section .vrs-head {
  font: 700 clamp(24px, 3vw, 32px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-vertical-rule-section .vrs-body {
  font: 500 16px/1.65 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}
.couture-vertical-rule-section .vrs-body p + p {
  margin-top: 16px;
}

/* V6.387 #94 — .couture-photo-strip — premium 4-up photo strip (lookbook)
   Burb/Outverse-tier lookbook: 4-up horizontal strip of portrait photos with
   captions below. Different aspect-ratio than V6.387 #44 img-deck (overlap)
   and V6.387 #52 tile-mosaic (mixed sizes). */
.couture-photo-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(12px, 2vw, 18px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-photo-strip .ps-cell {
  display: flex;
  flex-direction: column;
}
.couture-photo-strip .ps-img {
  aspect-ratio: 3/4;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 12px;
}
.couture-photo-strip .ps-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-photo-strip .ps-caption {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-photo-strip .ps-caption strong {
  display: block;
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-transform: none;
  margin-bottom: 4px;
}
@media (max-width: 720px) {
  .couture-photo-strip {
    grid-template-columns: 1fr 1fr;
  }
}

/* V6.387 #95 — .couture-large-stat-trio — 3-up massive stat callouts
   Outseta/Talkbase impact-tier: 3 oversized 96px+ stat numbers with caption
   under each. For "1M+ users / $50M raised / 50 countries" hero strips. */
.couture-large-stat-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4vw, 48px);
  padding: clamp(40px, 6vw, 64px) 0;
  margin-block: clamp(36px, 5vw, 56px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-large-stat-trio .lst-cell {
  text-align: center;
}
.couture-large-stat-trio .lst-num {
  font: 800 clamp(60px, 9vw, 112px)/0.9 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin-bottom: 12px;
}
.couture-large-stat-trio .lst-num .lst-accent {
  color: var(--c-accent);
}
.couture-large-stat-trio .lst-label {
  font: 600 13px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-large-stat-trio {
    grid-template-columns: 1fr;
    gap: clamp(28px, 4vw, 36px);
  }
}

/* V6.387 #96 — .couture-dual-feature — 2-up large feature row (left+right)
   Outseta/Talkbase-tier: 2 large feature blocks side-by-side w/ accent icon +
   title + body each. Larger than V6.387 #34 2col-feature-list cells. */
.couture-dual-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  margin-block: clamp(36px, 5vw, 56px);
  align-items: start;
}
.couture-dual-feature .df-cell {
  padding: clamp(28px, 4vw, 36px);
  background: color-mix(in oklab, var(--c-paper) 98%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-dual-feature .df-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 95%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 75%, var(--c-ink)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 24px/1 var(--c-display);
}
.couture-dual-feature .df-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-dual-feature .df-title {
  font: 700 clamp(20px, 2.4vw, 26px)/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
}
.couture-dual-feature .df-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-dual-feature .df-link {
  margin-top: auto;
  font: 700 13px/1 var(--c-display);
  color: var(--c-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-top: 8px;
}
.couture-dual-feature .df-link::after {
  content: "→";
  transition: transform .22s;
}
.couture-dual-feature .df-link:hover::after {
  transform: translateX(4px);
}
@media (max-width: 760px) {
  .couture-dual-feature {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-dual-feature .df-link::after { transition: none; }
  .couture-dual-feature .df-link:hover::after { transform: none; }
}

/* V6.387 #97 — .couture-text-rotator — premium hero text-rotator
   Outseta/Talkbase-tier: rotating accent word inside H1 cycles via @keyframes.
   "We help [designers / founders / makers] ship faster." */
.couture-text-rotator {
  display: inline-block;
  position: relative;
  vertical-align: bottom;
  color: var(--c-accent);
  overflow: hidden;
  height: 1.2em;
}
.couture-text-rotator .tr-word {
  display: block;
  animation: _couture-rotate-word 8s linear infinite;
}
.couture-text-rotator .tr-word > span {
  display: block;
  line-height: 1.2;
}
@keyframes _couture-rotate-word {
  0%, 25% { transform: translateY(0); }
  33%, 58% { transform: translateY(-1.2em); }
  66%, 91% { transform: translateY(-2.4em); }
  100% { transform: translateY(-3.6em); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-text-rotator .tr-word { animation: none; }
}

/* V6.387 #98 — .couture-counter — accent-fill animated counter row
   Outseta/Mobbin-tier: stat row that counts up on scroll via @starting-style
   + scroll-driven animation. Fallback to static. */
.couture-counter {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font: 800 clamp(40px, 5vw, 56px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-counter .ct-num {
  color: var(--c-accent);
}
.couture-counter .ct-suffix {
  font: 700 clamp(20px, 2.4vw, 26px)/1 var(--c-display);
  color: var(--c-ink-soft);
  letter-spacing: -0.012em;
}
.couture-counter + .couture-counter-label {
  margin-top: 6px;
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.387 #99 — .couture-feature-spotlight-stacked — alternating-side feature spotlight
   Burb/Outverse-tier: vertical column of feature blocks each with image on
   alternating side. For "Why we built this" or "Detail 1, 2, 3" sequences. */
.couture-feature-spotlight-stacked {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 7vw, 80px);
  margin-block: clamp(48px, 7vw, 80px);
}
.couture-feature-spotlight-stacked .fss-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}
.couture-feature-spotlight-stacked .fss-row:nth-child(even) {
  grid-template-areas: "content media";
}
.couture-feature-spotlight-stacked .fss-row:nth-child(even) .fss-media { grid-area: media; }
.couture-feature-spotlight-stacked .fss-row:nth-child(even) .fss-content { grid-area: content; }
.couture-feature-spotlight-stacked .fss-media {
  aspect-ratio: 4/3;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-feature-spotlight-stacked .fss-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-feature-spotlight-stacked .fss-num {
  font: 800 14px/1 var(--c-mono);
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.couture-feature-spotlight-stacked .fss-num::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--c-accent);
}
.couture-feature-spotlight-stacked .fss-title {
  font: 800 clamp(28px, 4vw, 42px)/1.1 var(--c-display);
  letter-spacing: -0.028em;
  color: var(--c-ink);
  margin-bottom: 18px;
}
.couture-feature-spotlight-stacked .fss-body {
  font: 500 16px/1.65 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
}
.couture-feature-spotlight-stacked .fss-list {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  gap: 10px;
}
.couture-feature-spotlight-stacked .fss-list li {
  position: relative;
  padding-left: 22px;
  font: 500 14.5px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-feature-spotlight-stacked .fss-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-weight: 700;
}
@media (max-width: 760px) {
  .couture-feature-spotlight-stacked .fss-row,
  .couture-feature-spotlight-stacked .fss-row:nth-child(even) {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
  .couture-feature-spotlight-stacked .fss-row:nth-child(even) .fss-media,
  .couture-feature-spotlight-stacked .fss-row:nth-child(even) .fss-content {
    grid-area: auto;
  }
}

/* V6.387 #103 — .couture-mini-faq — compact 2-col FAQ grid (auto-fit)
   Outseta/Mobbin docs-tier: 2-col grid of question/answer pairs without
   accordion. For "Quick answers" sections. Distinct from V6.387 #14 .couture-faq
   (native disclosure). */
.couture-mini-faq {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(28px, 4vw, 40px) clamp(28px, 4vw, 48px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-mini-faq .mf-q {
  font: 700 16px/1.35 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 10px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.couture-mini-faq .mf-q::before {
  content: "?";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: var(--c-accent);
  font: 800 13px/1 var(--c-display);
  flex-shrink: 0;
}
.couture-mini-faq .mf-a {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #104 — .couture-step-vertical — vertical numbered process list (slim)
   Outseta/Talkbase-tier: vertical step list with 28px accent num + body line.
   Slimmer than V6.387 #24 step-detail (which has eyebrow + bullets) and
   #92 step-circle (which has connector lines). For minimal process surfaces. */
.couture-step-vertical {
  list-style: none;
  padding: 0;
  margin: clamp(24px, 4vw, 36px) 0;
  display: grid;
  gap: 18px;
  counter-reset: stepv;
}
.couture-step-vertical li {
  counter-increment: stepv;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-step-vertical li:last-child {
  border-bottom: 0;
}
.couture-step-vertical li::before {
  content: counter(stepv, decimal-leading-zero);
  font: 700 16px/1.2 var(--c-mono);
  color: var(--c-accent);
  letter-spacing: 0.04em;
}
.couture-step-vertical li .sv-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-step-vertical li .sv-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #105 — .couture-sticky-rail — sticky right-side rail (TOC + CTA combo)
   Outverse/Talkbase long-form-tier: sticky rail in long-form page (right side)
   combining TOC + secondary CTA + share buttons. */
.couture-sticky-rail {
  position: sticky;
  top: 96px;
  align-self: start;
  padding: 22px 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-size: 13px;
}
.couture-sticky-rail .sr-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-sticky-rail .sr-section + .sr-section {
  padding-top: 16px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-sticky-rail .sr-label {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-bottom: 4px;
}
.couture-sticky-rail .sr-toc {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-sticky-rail .sr-toc a {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-sticky-rail .sr-toc a:hover { color: var(--c-ink); }
.couture-sticky-rail .sr-toc a.is-active {
  color: var(--c-accent);
  font-weight: 600;
}
.couture-sticky-rail .sr-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 14px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 8px;
  font: 700 12.5px/1 var(--c-display);
  text-decoration: none;
  transition: background .2s;
}
.couture-sticky-rail .sr-cta:hover {
  background: var(--c-accent);
}
.couture-sticky-rail .sr-share {
  display: flex;
  gap: 6px;
}
.couture-sticky-rail .sr-share a {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-display);
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: border-color .18s, color .18s;
}
.couture-sticky-rail .sr-share a:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}

/* V6.387 #106 — .couture-img-placeholder — refined empty-image fallback box
   Outseta/Mobbin a11y: when a product has no image URL, render a tasteful
   placeholder with brand-mono "no image" SVG + initial. Better than broken
   `<img>` with empty src. */
.couture-img-placeholder {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-paper) 92%, var(--c-ink)),
    color-mix(in oklab, var(--c-paper) 96%, var(--c-accent)));
  color: color-mix(in oklab, var(--c-ink-soft) 60%, transparent);
  font: 600 32px/1 var(--c-display);
  letter-spacing: -0.025em;
  border-radius: inherit;
  overflow: hidden;
}
.couture-img-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    color-mix(in oklab, var(--c-ink) 6%, transparent) 1px,
    transparent 1.5px);
  background-size: 16px 16px;
  pointer-events: none;
}
.couture-img-placeholder > span {
  position: relative;
  z-index: 1;
}
.couture-img-placeholder.--sm { font-size: 20px; }
.couture-img-placeholder.--lg { font-size: 48px; }

/* V6.387 #107 — .couture-band-meta — slim "kicker" line above headings
   Outseta/Burb-tier: 1-line muted mono kicker with optional accent badge at
   start. For "Issue 04 / Spring '26 / 12 features" multi-segment kickers. */
.couture-band-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-band-meta .bm-segment {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.couture-band-meta .bm-segment + .bm-segment::before {
  content: "/";
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-band-meta .bm-badge {
  padding: 3px 9px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 4px;
  font: 700 10.5px/1 var(--c-mono);
  letter-spacing: 0.08em;
}

/* V6.387 #108 — .couture-card-link — minimal card-link wrapper (whole-card click)
   Outseta/Burb pattern: anchor-wrapped card with hover lift + accent border.
   Strips default text-decoration and inherits color. Stretches via ::after. */
.couture-card-link {
  position: relative;
  display: block;
  color: inherit;
  text-decoration: none;
  isolation: isolate;
  transition: transform .22s;
}
.couture-card-link:hover {
  transform: translateY(-2px);
}
.couture-card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.couture-card-link > * {
  position: relative;
  z-index: 0;
}
.couture-card-link .ccl-content {
  position: relative;
  z-index: 2;
}
.couture-card-link .ccl-content a,
.couture-card-link .ccl-content button {
  position: relative;
  z-index: 3;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-link { transition: none; }
  .couture-card-link:hover { transform: none; }
}

/* V6.387 #111 — .couture-callout-numbered — accent-num + body callout block
   Outseta/Mobbin docs-tier: large 36px outline-stroke accent number on left
   + headline + body. For "Why X / Why Y / Why Z" stacked-emphasis blocks. */
.couture-callout-numbered {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  padding: clamp(20px, 3vw, 28px) 0;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-callout-numbered + .couture-callout-numbered {
  border-top: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-callout-numbered .cn-num {
  font: 800 clamp(36px, 4vw, 48px)/1 var(--c-display);
  letter-spacing: -0.03em;
  color: transparent;
  -webkit-text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 60%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-callout-numbered .cn-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-callout-numbered .cn-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}

/* V6.387 #112 — .couture-card-row-3 — uniform 3-card row (auto-fit)
   Outseta/Burb-tier: 3-up uniform card grid with fluid auto-fit. Distinct
   from V6.387 #80 grid-3-overlap (with middle-card lift). For straight 3-up
   feature/blog/team rows. */
.couture-card-row-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(20px, 3vw, 32px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-card-row-3 .cr3-card {
  padding: clamp(24px, 3vw, 32px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color .2s, box-shadow .2s;
}
.couture-card-row-3 .cr3-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 35%, var(--c-line));
  box-shadow: 0 16px 40px -22px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-card-row-3 .cr3-card .cr3-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-card-row-3 .cr3-card .cr3-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-card-row-3 .cr3-card .cr3-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #113 — .couture-text-pull — large pull-text mid-article emphasis
   Burb/Outverse editorial-tier: 36px+ pull-quote-style text mid-article that
   floats LEFT or RIGHT (with .--right modifier) and wraps body around it.
   For long-form articles. */
.couture-text-pull {
  float: left;
  width: clamp(200px, 32vw, 320px);
  margin: 6px clamp(20px, 3vw, 28px) clamp(16px, 2vw, 22px) 0;
  padding: clamp(18px, 2vw, 24px) 0;
  border-block: 2px solid var(--c-accent);
  font: 600 clamp(22px, 2.6vw, 30px)/1.3 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-style: italic;
}
.couture-text-pull.--right {
  float: right;
  margin: 6px 0 clamp(16px, 2vw, 22px) clamp(20px, 3vw, 28px);
}
@media (max-width: 640px) {
  .couture-text-pull,
  .couture-text-pull.--right {
    float: none;
    width: 100%;
    margin: clamp(20px, 3vw, 28px) 0;
  }
}

/* V6.387 #114 — .couture-link-list — refined list of internal/external link rows
   Outseta/Mobbin-tier: vertical list where each row is title + body + arrow,
   with auto-hairline between rows. For sitemap, "Related reading", quick links. */
.couture-link-list {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 40px) 0;
  display: flex;
  flex-direction: column;
}
.couture-link-list li {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-link-list li:last-child {
  border-bottom: 0;
}
.couture-link-list .ll-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: clamp(16px, 2vw, 22px) 0;
  text-decoration: none;
  color: inherit;
  transition: color .18s;
}
.couture-link-list .ll-row:hover {
  color: var(--c-accent);
}
.couture-link-list .ll-row .ll-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-link-list .ll-row .ll-title {
  font: 700 16px/1.35 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-link-list .ll-row:hover .ll-title {
  color: var(--c-accent);
}
.couture-link-list .ll-row .ll-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-link-list .ll-row::after {
  content: "→";
  color: var(--c-ink-soft);
  font: 600 16px/1 var(--c-display);
  transition: color .18s, transform .22s;
}
.couture-link-list .ll-row:hover::after {
  color: var(--c-accent);
  transform: translateX(4px);
}
.couture-link-list .ll-row.--external::after {
  content: "↗";
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-list .ll-row,
  .couture-link-list .ll-row::after { transition: none; }
  .couture-link-list .ll-row:hover::after { transform: none; }
}

/* V6.387 #115 — .couture-share-cluster — premium social/share button cluster
   Outseta/Mobbin article-tier: 32px round share buttons w/ accent border on
   hover + tooltip platform label. For article share rows. */
.couture-share-cluster {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-share-cluster .sc-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-right: 6px;
}
.couture-share-cluster .sc-btn {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  background: var(--c-paper);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-display);
  text-decoration: none;
  transition: border-color .18s, background .18s, color .18s, transform .18s;
}
.couture-share-cluster .sc-btn:hover {
  border-color: var(--c-accent);
  background: var(--c-accent);
  color: var(--c-paper);
  transform: translateY(-2px);
}
.couture-share-cluster .sc-btn[data-tooltip]::before {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 6px;
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s;
}
.couture-share-cluster .sc-btn[data-tooltip]:hover::before {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .couture-share-cluster .sc-btn { transition: none; }
  .couture-share-cluster .sc-btn:hover { transform: none; }
}

/* V6.387 #116 — .couture-info-strip — slim 2-col label/value info strip
   Outseta/Burb-tier compact bio: list of label/value pairs in 2-col grid
   for "Based in / Founded / Team size / Industry" sidecar info. */
.couture-info-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(12px, 2vw, 18px) clamp(20px, 3vw, 32px);
  margin-block: clamp(20px, 3vw, 28px);
  padding: clamp(20px, 3vw, 24px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 12px;
}
.couture-info-strip .is-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-info-strip .is-label {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-info-strip .is-value {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
@media (max-width: 480px) {
  .couture-info-strip {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #117 — .couture-bullet-row — bullet item with eyebrow + body
   Outseta/Talkbase-tier: bullet list item with optional eyebrow above + body
   below + leading accent ● dot. For prose-prominent itemizations. */
.couture-bullet-row {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 14px;
  align-items: start;
  padding: 12px 0;
}
.couture-bullet-row + .couture-bullet-row {
  border-top: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-bullet-row::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-accent);
  margin-top: 6px;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-bullet-row .br-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 4px;
}
.couture-bullet-row .br-title {
  font: 700 15.5px/1.35 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-bullet-row .br-body {
  font: 500 14px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #118 — .couture-card-overlay — image-card with bottom gradient + meta
   Burb/Mobbin editorial: card-with-image-bg + bottom-anchored title + meta
   over gradient overlay. Distinct from V6.387 #84 collection-card: smaller +
   2-line title focus, designed for grids of 8+ items not 4-up landing. */
.couture-card-overlay {
  position: relative;
  display: block;
  aspect-ratio: 3/4;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  text-decoration: none;
  color: var(--c-paper);
  transition: transform .25s;
}
.couture-card-overlay:hover {
  transform: translateY(-3px);
}
.couture-card-overlay img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-card-overlay:hover img {
  transform: scale(1.06);
}
.couture-card-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 35%,
    color-mix(in oklab, var(--c-ink) 88%, transparent) 100%);
  pointer-events: none;
}
.couture-card-overlay .co-meta {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 1;
}
.couture-card-overlay .co-eyebrow {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  margin-bottom: 6px;
}
.couture-card-overlay .co-title {
  font: 700 16px/1.25 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-paper);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-overlay,
  .couture-card-overlay img { transition: none; }
  .couture-card-overlay:hover { transform: none; }
  .couture-card-overlay:hover img { transform: none; }
}

/* V6.387 #119 — .couture-divider-icon — center-icon ornament between sections
   Burb/Outverse editorial: ◆ or ✦ accent ornament centered between hairline rules.
   Distinct from V6.386 #16 couture-divider (single ◆): this is for slim section
   transitions with breathing room. */
.couture-divider-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2.5vw, 22px);
  margin-block: clamp(48px, 7vw, 80px);
}
.couture-divider-icon::before,
.couture-divider-icon::after {
  content: "";
  flex: 0 1 clamp(60px, 12vw, 140px);
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-divider-icon .di-glyph {
  font: 400 18px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-divider-icon.--lg .di-glyph {
  font-size: 24px;
}
.couture-divider-icon.--ink .di-glyph {
  color: var(--c-ink);
}

/* V6.387 #120 — .couture-mega-headline — page-scale display headline + lede
   Outseta/Talkbase-tier page header: 144px display headline (clamp) + 21px
   lede subhead. For "about" / category landing / docs pages. */
.couture-mega-headline {
  margin-block: clamp(36px, 5vw, 56px) clamp(48px, 7vw, 80px);
  max-width: 1080px;
}
.couture-mega-headline .mh-eyebrow {
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
}
.couture-mega-headline .mh-eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background: var(--c-accent);
}
.couture-mega-headline .mh-head {
  font: 800 clamp(48px, 10vw, 144px)/0.95 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-ink);
  margin-bottom: 28px;
}
.couture-mega-headline .mh-head em {
  font-style: italic;
  color: var(--c-accent);
  font-weight: 400;
}
.couture-mega-headline .mh-lede {
  font: 500 clamp(17px, 2.4vw, 22px)/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
}
.couture-mega-headline .mh-lede strong {
  color: var(--c-ink);
  font-weight: 600;
}

/* V6.387 #121 — .couture-grid-overlap-2 — 2-card row w/ overlap connector
   Burb/Outverse-tier landing: 2 cards positioned so right card overlaps left
   by 8% via translateX. Visual emphasis on adjacency / pairing. */
.couture-grid-overlap-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-block: clamp(36px, 5vw, 56px);
  align-items: center;
}
.couture-grid-overlap-2 > * {
  padding: clamp(28px, 4vw, 40px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 18px;
}
.couture-grid-overlap-2 > *:first-child {
  position: relative;
  z-index: 1;
}
.couture-grid-overlap-2 > *:last-child {
  margin-left: -8%;
  margin-top: clamp(24px, 4vw, 40px);
  position: relative;
  z-index: 2;
  background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 30%, var(--c-line));
  box-shadow: 0 24px 50px -22px color-mix(in oklab, var(--c-accent) 22%, transparent);
}
@media (max-width: 720px) {
  .couture-grid-overlap-2 {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .couture-grid-overlap-2 > *:last-child {
    margin-left: 0;
    margin-top: 0;
  }
}

/* V6.387 #122 — .couture-card-stat-pair — paired stat-card row (label+value+sub)
   Outseta/Linear-tier dashboard pair: 2 cards each with label + 40px num + sub-note.
   Used near hero for inline social-proof. Distinct from #11 kpi-row (4-up tabbed)
   and V6.387 #79 stat-bar (single pill). */
.couture-card-stat-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-card-stat-pair .csp-card {
  padding: clamp(22px, 3vw, 28px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-stat-pair .csp-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-card-stat-pair .csp-num {
  font: 800 clamp(32px, 4vw, 44px)/1 var(--c-display);
  letter-spacing: -0.028em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-stat-pair .csp-num .csp-accent {
  color: var(--c-accent);
}
.couture-card-stat-pair .csp-sub {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 480px) {
  .couture-card-stat-pair {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #123 — .couture-tab-set-vertical — vertical-tab nav (left rail)
   Outseta/Talkbase docs-tier: vertical tab list with 4px accent left-border
   on active tab. For settings-style left-rail navigation. */
.couture-tab-set-vertical {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
}
.couture-tab-set-vertical li {
  position: relative;
  padding: 10px 16px;
  font: 600 13.5px/1.4 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  cursor: pointer;
  transition: color .18s, background .18s;
}
.couture-tab-set-vertical li:hover {
  color: var(--c-ink);
}
.couture-tab-set-vertical li[aria-selected="true"],
.couture-tab-set-vertical li.is-active {
  color: var(--c-accent);
  font-weight: 700;
}
.couture-tab-set-vertical li[aria-selected="true"]::before,
.couture-tab-set-vertical li.is-active::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--c-accent);
}
.couture-tab-set-vertical li .tsv-count {
  font: 500 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-left: 8px;
}

/* V6.387 #124 — .couture-feature-stat — feature card with embedded stat
   Outseta/Talkbase-tier: feature card with 56px tabular stat in upper-right
   corner + title + body. Distinct from #122 card-stat-pair (just stats) +
   #34 2col-feature-list (icon-led). */
.couture-feature-stat {
  position: relative;
  padding: clamp(28px, 4vw, 36px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 16px;
}
.couture-feature-stat .fs-stat {
  position: absolute;
  top: clamp(20px, 3vw, 28px);
  right: clamp(20px, 3vw, 28px);
  font: 800 clamp(40px, 5vw, 56px)/0.9 var(--c-display);
  letter-spacing: -0.035em;
  color: color-mix(in oklab, var(--c-accent) 30%, transparent);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
.couture-feature-stat .fs-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-feature-stat .fs-title {
  font: 700 20px/1.3 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin-bottom: 12px;
  max-width: calc(100% - 80px);
}
.couture-feature-stat .fs-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
}

/* V6.387 #125 — .couture-photo-grid-2 — 2-up gallery photo pair (parallax-feel)
   Burb/Outverse editorial: 2 photos with one slightly larger + offset to
   suggest parallax. For "the look / the moment" 2-pic grids. */
.couture-photo-grid-2 {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(14px, 2vw, 20px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-photo-grid-2 .pg2-cell {
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  aspect-ratio: 4/5;
  position: relative;
}
.couture-photo-grid-2 .pg2-cell:nth-child(1) {
  align-self: end;
  margin-bottom: clamp(20px, 3vw, 32px);
}
.couture-photo-grid-2 .pg2-cell:nth-child(2) {
  align-self: start;
  margin-top: clamp(20px, 3vw, 32px);
  aspect-ratio: 3/4;
}
.couture-photo-grid-2 .pg2-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-photo-grid-2 .pg2-cell:hover img {
  transform: scale(1.04);
}
@media (max-width: 720px) {
  .couture-photo-grid-2 {
    grid-template-columns: 1fr;
  }
  .couture-photo-grid-2 .pg2-cell:nth-child(1),
  .couture-photo-grid-2 .pg2-cell:nth-child(2) {
    margin: 0;
    align-self: auto;
    aspect-ratio: 4/5;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-photo-grid-2 .pg2-cell img { transition: none; }
  .couture-photo-grid-2 .pg2-cell:hover img { transform: none; }
}

/* V6.387 #126 — .couture-link-tile — premium image+caption tile with hover-CTA
   Burb/Mobbin nav-tier: 2-up image tiles with bottom-anchored caption +
   accent CTA pill that fades in on hover. For "explore by category" mega-menu. */
.couture-link-tile {
  position: relative;
  display: block;
  aspect-ratio: 16/10;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  text-decoration: none;
  color: var(--c-paper);
}
.couture-link-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-link-tile:hover img {
  transform: scale(1.04);
}
.couture-link-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-ink) 14%, transparent) 0%,
    color-mix(in oklab, var(--c-ink) 78%, transparent) 100%);
  pointer-events: none;
}
.couture-link-tile .lt-content {
  position: absolute;
  left: clamp(18px, 3vw, 24px);
  right: clamp(18px, 3vw, 24px);
  bottom: clamp(18px, 3vw, 24px);
  z-index: 1;
}
.couture-link-tile .lt-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  margin-bottom: 8px;
}
.couture-link-tile .lt-title {
  font: 800 clamp(22px, 3vw, 30px)/1.1 var(--c-display);
  letter-spacing: -0.022em;
  margin-bottom: 14px;
}
.couture-link-tile .lt-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--c-paper);
  color: var(--c-ink);
  border-radius: 999px;
  font: 700 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .22s, transform .22s;
}
.couture-link-tile:hover .lt-cta {
  opacity: 1;
  transform: translateY(0);
}
.couture-link-tile .lt-cta::after {
  content: "→";
  font-weight: 500;
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-tile img,
  .couture-link-tile .lt-cta { transition: none; }
  .couture-link-tile:hover img { transform: none; }
  .couture-link-tile:hover .lt-cta { transform: none; opacity: 1; }
}

/* V6.387 #127 — .couture-trust-belt — slim full-width trust strip
   Outseta/Talkbase-tier: full-width strip with rotating value props (3-up).
   Distinct from V6.386 #47 stat-band (with 4-up numbers): this is text-led. */
.couture-trust-belt {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(20px, 3vw, 36px);
  padding: clamp(28px, 4vw, 36px) clamp(20px, 3vw, 32px);
  margin-block: clamp(28px, 4vw, 40px);
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 14px;
}
.couture-trust-belt .tb-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-trust-belt .tb-item .tb-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-trust-belt .tb-item .tb-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-paper);
}
.couture-trust-belt .tb-item .tb-body {
  font: 500 13px/1.5 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}

/* V6.387 #128 — .couture-list-headed — list with section-header + items
   Outseta/Mobbin docs-tier: section-header line (eyebrow + count) + list of
   plain rows with hairlines between. For "Settings" / "Configuration" sections. */
.couture-list-headed {
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-list-headed .lh-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 0 0 12px;
  margin-bottom: 4px;
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-list-headed .lh-head .lh-title {
  font: 700 14px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink);
}
.couture-list-headed .lh-head .lh-count {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-list-headed .lh-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-list-headed .lh-list li {
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-list-headed .lh-list li:last-child {
  border-bottom: 0;
}
.couture-list-headed .lh-list li .lh-meta {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.387 #129 — .couture-spec-grid — 2-col specs grid (specifications block)
   Outseta/Burb-tier PDP specs: 2-col grid where each cell has label + value
   stacked. Distinct from V6.387 #54 detail-row (single key-value row): this is
   compact stacked grid for many specs. */
.couture-spec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(18px, 2.5vw, 24px) clamp(28px, 4vw, 40px);
  margin-block: clamp(28px, 4vw, 40px);
  padding: clamp(24px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 14px;
}
.couture-spec-grid .sg-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-spec-grid .sg-cell .sg-label {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-spec-grid .sg-cell .sg-value {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-spec-grid .sg-cell .sg-value em {
  color: var(--c-accent);
  font-style: normal;
}

/* V6.387 #130 — .couture-overlay-card-cta — overlay card centered over hero img
   Burb/Outverse-tier hero alternative: full-bleed image bg + centered card
   overlay with headline + CTA. For "step into" landing moments. */
.couture-overlay-card-cta {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(360px, 50vh, 520px);
  border-radius: 18px;
  overflow: hidden;
  margin-block: clamp(40px, 6vw, 64px);
  background: color-mix(in oklab, var(--c-line) 30%, var(--c-paper));
}
.couture-overlay-card-cta > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.couture-overlay-card-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-ink) 40%, transparent),
    color-mix(in oklab, var(--c-ink) 60%, transparent));
  z-index: 1;
}
.couture-overlay-card-cta .occ-card {
  position: relative;
  z-index: 2;
  padding: clamp(28px, 4vw, 40px);
  background: var(--c-paper);
  border-radius: 16px;
  text-align: center;
  max-width: clamp(320px, 56vw, 560px);
  box-shadow: 0 32px 64px -28px color-mix(in oklab, var(--c-ink) 40%, transparent);
}
.couture-overlay-card-cta .occ-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-overlay-card-cta .occ-head {
  font: 800 clamp(26px, 4vw, 38px)/1.15 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-overlay-card-cta .occ-body {
  font: 500 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 24px;
}
.couture-overlay-card-cta .occ-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  font: 700 14px/1 var(--c-display);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: background .2s, transform .2s;
}
.couture-overlay-card-cta .occ-btn:hover {
  background: var(--c-accent);
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-overlay-card-cta .occ-btn { transition: none; }
  .couture-overlay-card-cta .occ-btn:hover { transform: none; }
}

/* V6.387 #131 — .couture-aside — page-side aside floated content
   Burb/Outverse editorial: 2-col page layout with main content + right-side
   sticky aside containing related/meta content. */
.couture-aside-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: clamp(36px, 5vw, 64px);
  align-items: start;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-aside-layout .al-main {
  min-width: 0;
}
.couture-aside-layout .al-aside {
  position: sticky;
  top: 96px;
  align-self: start;
}
.couture-aside-layout .al-aside .al-section {
  padding: clamp(20px, 3vw, 24px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 12px;
  margin-bottom: 16px;
}
.couture-aside-layout .al-aside .al-section .al-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.couture-aside-layout .al-aside .al-section .al-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-aside-layout .al-aside .al-section .al-body {
  font: 500 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 900px) {
  .couture-aside-layout {
    grid-template-columns: 1fr;
  }
  .couture-aside-layout .al-aside {
    position: static;
  }
}

/* V6.387 #132 — .couture-quote-strip — 3-up testimonial strip (compact)
   Outseta/Burb-tier social proof: 3-up grid of compact testimonials with
   stars + quote + cite. Distinct from V6.387 #12/23/33/57/310 (single quote).
   Small horizontal strip. */
.couture-quote-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(20px, 3vw, 28px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-quote-strip .qs-card {
  padding: clamp(22px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-quote-strip .qs-stars {
  font: 600 14px/1 var(--c-display);
  color: #FFB400;
  letter-spacing: 1px;
}
.couture-quote-strip .qs-stars::before {
  content: "★★★★★";
}
.couture-quote-strip .qs-text {
  font: 500 14.5px/1.55 var(--c-body);
  color: var(--c-ink);
  flex: 1;
}
.couture-quote-strip .qs-cite {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-quote-strip .qs-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  flex-shrink: 0;
  overflow: hidden;
}
.couture-quote-strip .qs-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-quote-strip .qs-name {
  font: 700 13px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-quote-strip .qs-role {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.387 #133 — .couture-pricing-toggle — monthly/annual price toggle switch
   Outseta/Talkbase-tier pricing UI: pill-shape toggle that switches between
   monthly/annual pricing. JS-free with CSS-var swap or radio-input pattern. */
.couture-pricing-toggle {
  display: inline-flex;
  align-items: center;
  padding: 4px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-pricing-toggle .pt-option {
  position: relative;
  padding: 8px 18px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: color .18s, background .18s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-pricing-toggle .pt-option:hover {
  color: var(--c-ink);
}
.couture-pricing-toggle .pt-option[aria-pressed="true"],
.couture-pricing-toggle .pt-option.is-active {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-pricing-toggle .pt-option .pt-savings {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  padding: 3px 7px;
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-radius: 999px;
}
.couture-pricing-toggle .pt-option[aria-pressed="true"] .pt-savings,
.couture-pricing-toggle .pt-option.is-active .pt-savings {
  background: color-mix(in oklab, var(--c-paper) 18%, var(--c-ink));
  color: var(--c-accent);
}

/* V6.387 #134 — .couture-progress-radial — circular progress / percent indicator
   Outseta/Linear-tier dashboard: SVG-fallback CSS conic-gradient radial
   progress bar with center-anchored numeric value + label. */
.couture-progress-radial {
  width: clamp(80px, 10vw, 120px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(
    var(--c-accent) calc(var(--progress, 0) * 1%),
    color-mix(in oklab, var(--c-line) 50%, transparent) 0
  );
  display: grid;
  place-items: center;
  position: relative;
  margin-block: clamp(16px, 2vw, 22px);
}
.couture-progress-radial::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-progress-radial .pr-center {
  position: relative;
  z-index: 1;
  text-align: center;
}
.couture-progress-radial .pr-value {
  font: 800 clamp(20px, 2.4vw, 28px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin-bottom: 2px;
}
.couture-progress-radial .pr-label {
  font: 600 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.387 #135 — .couture-mega-row — full-width emphasized service/feature row
   Outseta/Talkbase-tier: very wide row with eyebrow + massive headline + body
   on the left + 2-up content blocks on the right. */
.couture-mega-row {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(36px, 5vw, 64px);
  margin-block: clamp(56px, 8vw, 96px);
  align-items: start;
}
.couture-mega-row .mr-left {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.couture-mega-row .mr-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
}
.couture-mega-row .mr-head {
  font: 800 clamp(36px, 5vw, 56px)/1.05 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
}
.couture-mega-row .mr-body {
  font: 500 16px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 50ch;
}
.couture-mega-row .mr-right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 28px);
}
.couture-mega-row .mr-right .mr-block {
  padding: clamp(22px, 3vw, 28px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 14px;
}
.couture-mega-row .mr-right .mr-block-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-mega-row .mr-right .mr-block-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-mega-row .mr-right .mr-block-body {
  font: 500 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 900px) {
  .couture-mega-row,
  .couture-mega-row .mr-right {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #136 — .couture-feature-rich-card — premium card w/ icon+badge+ribbon
   Outseta/Talkbase-tier: feature card with icon + title + body + corner badge
   + bottom-meta row. Most "loaded" card variant. */
.couture-feature-rich-card {
  position: relative;
  padding: clamp(24px, 3vw, 32px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.couture-feature-rich-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  box-shadow: 0 20px 50px -22px color-mix(in oklab, var(--c-accent) 18%, transparent);
  transform: translateY(-3px);
}
.couture-feature-rich-card .frc-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 4px 10px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.couture-feature-rich-card .frc-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 90%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 var(--c-display);
}
.couture-feature-rich-card .frc-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  padding-right: 80px;
}
.couture-feature-rich-card .frc-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  flex: 1;
}
.couture-feature-rich-card .frc-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-feature-rich-card .frc-meta strong {
  color: var(--c-accent);
  font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
  .couture-feature-rich-card { transition: none; }
  .couture-feature-rich-card:hover { transform: none; }
}

/* V6.387 #137 — .couture-numbered-step-bg — large bg-num step section
   Burb/Outverse editorial: process step section with massive accent number as
   bg watermark + content stacked above. */
.couture-numbered-step-bg {
  position: relative;
  padding: clamp(44px, 6vw, 72px) clamp(20px, 3vw, 32px);
  margin-block: clamp(36px, 5vw, 56px);
  overflow: hidden;
  isolation: isolate;
}
.couture-numbered-step-bg::before {
  content: attr(data-step);
  position: absolute;
  right: -12px;
  top: -32px;
  font: 900 clamp(180px, 28vw, 380px)/0.85 var(--c-display);
  letter-spacing: -0.05em;
  color: transparent;
  -webkit-text-stroke: 2px color-mix(in oklab, var(--c-accent) 20%, transparent);
  text-stroke: 2px color-mix(in oklab, var(--c-accent) 20%, transparent);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  z-index: -1;
}
.couture-numbered-step-bg .ns-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
  margin-bottom: 18px;
}
.couture-numbered-step-bg .ns-head {
  font: 800 clamp(28px, 4vw, 42px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  margin-bottom: 18px;
  max-width: 32ch;
}
.couture-numbered-step-bg .ns-body {
  font: 500 16px/1.65 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}

/* V6.387 #138 — .couture-status-banner — slim system-status banner (uptime)
   Outseta/Mobbin-tier docs/dashboard: top-anchored slim bar with status dot
   + "All systems operational" + last-checked time. */
.couture-status-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 18px;
  background: color-mix(in oklab, #2ea043 8%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #2ea043 30%, transparent);
  border-radius: 10px;
  margin-block: clamp(16px, 2vw, 24px);
  font: 500 13px/1.4 var(--c-body);
}
.couture-status-banner .sb-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-ink);
}
.couture-status-banner .sb-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2ea043;
  box-shadow: 0 0 0 3px color-mix(in oklab, #2ea043 22%, transparent);
}
.couture-status-banner .sb-status strong {
  font-weight: 700;
}
.couture-status-banner .sb-time {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-status-banner.--degraded {
  background: color-mix(in oklab, #d97706 8%, var(--c-paper));
  border-color: color-mix(in oklab, #d97706 30%, transparent);
}
.couture-status-banner.--degraded .sb-status::before {
  background: #d97706;
  box-shadow: 0 0 0 3px color-mix(in oklab, #d97706 22%, transparent);
}
.couture-status-banner.--down {
  background: color-mix(in oklab, #c84a4a 8%, var(--c-paper));
  border-color: color-mix(in oklab, #c84a4a 30%, transparent);
}
.couture-status-banner.--down .sb-status::before {
  background: #c84a4a;
  box-shadow: 0 0 0 3px color-mix(in oklab, #c84a4a 22%, transparent);
}

/* V6.387 #139 — .couture-tabs-pill — pill-shape tab nav (in-card)
   Outseta/Mobbin-tier compact: pill-shape tab buttons inside a pill container
   bg. Distinct from V6.387 #8 tabset (underline-style) and #123 tab-set-vertical
   (left-rail). For sub-section switchers within a card. */
.couture-tabs-pill {
  display: inline-flex;
  padding: 4px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  margin-block: clamp(16px, 2vw, 22px);
  gap: 2px;
}
.couture-tabs-pill .tp-tab {
  padding: 7px 14px;
  font: 600 12.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: color .18s, background .18s;
}
.couture-tabs-pill .tp-tab:hover {
  color: var(--c-ink);
}
.couture-tabs-pill .tp-tab[aria-pressed="true"],
.couture-tabs-pill .tp-tab.is-active {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.387 #140 — .couture-card-with-arrow — card with persistent right-arrow indicator
   Outseta/Burb-tier nav card: card with always-visible right-anchored circle arrow
   + accent on hover. For "discover X" / "browse Y" link cards in nav menus or
   homepage sections. */
.couture-card-with-arrow {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: clamp(20px, 3vw, 26px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.couture-card-with-arrow:hover {
  border-color: var(--c-accent);
  box-shadow: 0 14px 36px -18px color-mix(in oklab, var(--c-accent) 22%, transparent);
  transform: translateX(2px);
}
.couture-card-with-arrow .cwa-text .cwa-eyebrow {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-card-with-arrow .cwa-text .cwa-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-with-arrow .cwa-text .cwa-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-card-with-arrow .cwa-arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 14px/1 var(--c-display);
  color: var(--c-ink-soft);
  flex-shrink: 0;
  transition: border-color .18s, background .18s, color .18s;
}
.couture-card-with-arrow:hover .cwa-arrow {
  border-color: var(--c-accent);
  background: var(--c-accent);
  color: var(--c-paper);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-with-arrow,
  .couture-card-with-arrow .cwa-arrow { transition: none; }
  .couture-card-with-arrow:hover { transform: none; }
}

/* V6.387 #141 — .couture-search-bar — premium pill search w/ icon
   Outseta/Mobbin-tier nav: pill-shape search bar w/ leading magnifier icon +
   keyboard shortcut hint pill on right (⌘K). For docs / blog search. */
.couture-search-bar {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px 10px 18px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  max-width: 560px;
  transition: border-color .18s, box-shadow .18s;
}
.couture-search-bar:focus-within {
  border-color: color-mix(in oklab, var(--c-accent) 60%, var(--c-line));
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 14%, transparent);
}
.couture-search-bar .sb-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-display);
  color: var(--c-ink-soft);
}
.couture-search-bar .sb-icon::before {
  content: "⌕";
}
.couture-search-bar .sb-input {
  background: transparent;
  border: 0;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-search-bar .sb-input:focus {
  outline: 0;
}
.couture-search-bar .sb-input::placeholder {
  color: var(--c-ink-soft);
}
.couture-search-bar .sb-shortcut {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 4px 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 6px;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.387 #142 — .couture-skeleton-card — loading skeleton card placeholder
   Outseta/Mobbin-tier loading state: animated shimmer-line skeleton for card
   layouts. Distinct from V6.386 #20 .couture-skeleton (single rect). */
.couture-skeleton-card {
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-skeleton-card .sk-bar {
  height: 14px;
  border-radius: 6px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-line) 24%, var(--c-paper)),
    color-mix(in oklab, var(--c-line) 48%, var(--c-paper)),
    color-mix(in oklab, var(--c-line) 24%, var(--c-paper)));
  background-size: 200% 100%;
  animation: _couture-skel 1.6s linear infinite;
}
.couture-skeleton-card .sk-bar.--head {
  height: 20px;
  width: 70%;
}
.couture-skeleton-card .sk-bar.--short { width: 40%; }
.couture-skeleton-card .sk-bar.--med { width: 60%; }
.couture-skeleton-card .sk-bar.--full { width: 100%; }
.couture-skeleton-card .sk-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 40%, var(--c-paper));
  animation: _couture-skel 1.6s linear infinite;
  background-size: 200% 100%;
}
@keyframes _couture-skel {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-skeleton-card .sk-bar,
  .couture-skeleton-card .sk-circle { animation: none; }
}

/* V6.387 #143 — .couture-meta-bar — slim 3-segment meta bar (article-meta)
   Burb/Outverse editorial: article-meta bar w/ author + date + read-time
   inline w/ subtle separators. Distinct from V6.387 #16 author-byline (boxed). */
.couture-meta-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-block: clamp(14px, 2vw, 20px);
  font: 500 12.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-meta-bar .mb-segment {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-meta-bar .mb-segment + .mb-segment::before {
  content: "·";
  color: color-mix(in oklab, var(--c-line) 80%, transparent);
  margin-right: 6px;
}
.couture-meta-bar .mb-segment strong {
  color: var(--c-ink);
  font-weight: 700;
}
.couture-meta-bar .mb-segment .mb-glyph {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--c-accent);
}

/* V6.387 #144 — .couture-pill-link — pill-shape inline link/CTA mini button
   Outseta/Burb-tier inline CTA: small 32px-tall pill button suitable for
   inline placement next to text. Smaller than V6.387 #6/40/62 ctas. */
.couture-pill-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 36%, transparent);
  border-radius: 999px;
  font: 700 12px/1 var(--c-display);
  color: var(--c-accent);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: background .18s, border-color .18s;
}
.couture-pill-link:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
}
.couture-pill-link.--ink {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-pill-link.--ink:hover {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.couture-pill-link.--ghost {
  background: transparent;
  border-color: color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
}
.couture-pill-link.--ghost:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
  background: transparent;
}

/* V6.387 #145 — .couture-stat-cluster — vertical stat cluster (4-up)
   Outseta/Talkbase-tier sidebar: 4-up vertical stack of small stats with
   left accent vertical bar. For "by the numbers" sidebar in long-form. */
.couture-stat-cluster {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 0 18px;
  border-left: 2px solid color-mix(in oklab, var(--c-accent) 50%, transparent);
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-stat-cluster .sc-stat {
  padding: 14px 0;
}
.couture-stat-cluster .sc-stat + .sc-stat {
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-stat-cluster .sc-stat .sc-num {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.couture-stat-cluster .sc-stat .sc-num em {
  color: var(--c-accent);
  font-style: normal;
}
.couture-stat-cluster .sc-stat .sc-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.387 #146 — .couture-feature-row-flat — minimalist flat feature row (no card)
   Outseta/Talkbase-tier: 3-up icon+title+body row WITHOUT card outline (just
   icon + text on bare bg). For "What's included" lists when card-tone is too heavy. */
.couture-feature-row-flat {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(28px, 4vw, 48px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-feature-row-flat .frf-cell {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-feature-row-flat .frf-icon {
  font: 700 24px/1 var(--c-display);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  width: 32px;
  height: 32px;
  justify-content: center;
}
.couture-feature-row-flat .frf-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-feature-row-flat .frf-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-feature-row-flat .frf-link {
  margin-top: 4px;
  font: 700 13px/1 var(--c-display);
  color: var(--c-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-feature-row-flat .frf-link::after {
  content: "→";
  transition: transform .22s;
}
.couture-feature-row-flat .frf-link:hover::after {
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-feature-row-flat .frf-link::after { transition: none; }
  .couture-feature-row-flat .frf-link:hover::after { transform: none; }
}

/* V6.387 #147 — .couture-pill-cluster — wrap of small pill chips (filter row)
   Outseta/Mobbin shop archive: wrapped chip cluster of refinement pills. Each
   chip can be `.--active` (ink) and have optional `.pc-x` × close button.
   Distinct from V6.387 #71 tag-chip (single chip): this is the wrapped collection. */
.couture-pill-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: clamp(16px, 2vw, 22px);
}
.couture-pill-cluster .pc-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  font: 600 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s, background .18s, color .18s;
}
.couture-pill-cluster .pc-pill:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
  color: var(--c-accent);
}
.couture-pill-cluster .pc-pill.--active,
.couture-pill-cluster .pc-pill[aria-pressed="true"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-pill-cluster .pc-pill .pc-x {
  width: 12px;
  height: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 10px/1 var(--c-display);
  opacity: 0.6;
}
.couture-pill-cluster .pc-pill:hover .pc-x { opacity: 1; }

/* V6.387 #148 — .couture-checkout-progress — slim checkout step progress
   Outseta/Burb-tier checkout: 4-step progress bar with active step accent + done
   steps muted-accent. Distinct from V6.387 #51 process-bar (full-width 4-up).
   This one is centered + connected by hairlines + smaller for top-of-checkout use. */
.couture-checkout-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-checkout-progress .cp-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-checkout-progress .cp-step .cp-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 700 11px/1 var(--c-display);
  color: var(--c-ink-soft);
}
.couture-checkout-progress .cp-step.--done .cp-num {
  background: color-mix(in oklab, var(--c-accent) 20%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  color: var(--c-accent);
}
.couture-checkout-progress .cp-step.--active .cp-num {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-checkout-progress .cp-step.--active,
.couture-checkout-progress .cp-step.--done {
  color: var(--c-accent);
}
.couture-checkout-progress .cp-divider {
  width: clamp(20px, 4vw, 40px);
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-checkout-progress .cp-divider.--done {
  background: var(--c-accent);
}

/* V6.387 #149 — .couture-list-checkered — alternating-row striped list
   Outseta/Mobbin docs-tier reference table: list with alternating row tints
   for readability on long lists. */
.couture-list-checkered {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 40px) 0;
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  border-radius: 10px;
  overflow: hidden;
}
.couture-list-checkered li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 12px 18px;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-list-checkered li:last-child {
  border-bottom: 0;
}
.couture-list-checkered li:nth-child(even) {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-list-checkered li .lc-meta {
  font: 500 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-list-checkered li strong {
  font-weight: 700;
  color: var(--c-ink);
}

/* V6.387 #150 — .couture-card-comparison — premium 2-up comparison cards
   Outseta/Mobbin-tier "vs" comparison: 2 side-by-side cards w/ accent vs
   ghost-bg differentiation. Used for "before/after" service comparisons or
   product-tier comparisons where 1 is preferred. */
.couture-card-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
  position: relative;
}
.couture-card-comparison::before {
  content: "VS";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-mono);
  letter-spacing: 0.1em;
  box-shadow: 0 8px 24px -10px color-mix(in oklab, var(--c-ink) 40%, transparent);
}
.couture-card-comparison .cc-card {
  padding: clamp(28px, 4vw, 36px);
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-card-comparison .cc-card.--preferred {
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 35%, transparent);
}
.couture-card-comparison .cc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-bottom: 14px;
}
.couture-card-comparison .--preferred .cc-eyebrow {
  color: var(--c-accent);
}
.couture-card-comparison .cc-title {
  font: 800 22px/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 18px;
}
.couture-card-comparison .cc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.couture-card-comparison .cc-list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-card-comparison .cc-list li::before {
  content: "✗";
  color: var(--c-ink-soft);
  font-weight: 700;
}
.couture-card-comparison .--preferred .cc-list li::before {
  content: "✓";
  color: var(--c-accent);
}
@media (max-width: 720px) {
  .couture-card-comparison {
    grid-template-columns: 1fr;
  }
  .couture-card-comparison::before {
    top: calc(50% - 8px);
  }
}

/* V6.387 #151 — .couture-link-icon-row — text link w/ leading icon row
   Outseta/Mobbin-tier: row of icon+text mini-link items. For "Get help"
   sticky support widget items or footer "Quick links". */
.couture-link-icon-row {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-link-icon-row .lir-link {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  text-decoration: none;
  color: inherit;
  transition: color .18s;
}
.couture-link-icon-row .lir-link:last-child {
  border-bottom: 0;
}
.couture-link-icon-row .lir-link:hover {
  color: var(--c-accent);
}
.couture-link-icon-row .lir-link .lir-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-link-icon-row .lir-link .lir-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-link-icon-row .lir-link .lir-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-link-icon-row .lir-link:hover .lir-title {
  color: var(--c-accent);
}
.couture-link-icon-row .lir-link .lir-sub {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-link-icon-row .lir-link::after {
  content: "→";
  font: 600 14px/1 var(--c-display);
  color: var(--c-ink-soft);
  transition: transform .22s, color .18s;
}
.couture-link-icon-row .lir-link:hover::after {
  transform: translateX(3px);
  color: var(--c-accent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-icon-row .lir-link,
  .couture-link-icon-row .lir-link::after { transition: none; }
  .couture-link-icon-row .lir-link:hover::after { transform: none; }
}

/* V6.387 #152 — .couture-pre-block — premium <pre>/code block with toolbar
   Outseta/Mobbin docs-tier: code block with language label + copy button
   in upper-right corner + horizontal scroll for long lines. */
.couture-pre-block {
  position: relative;
  margin-block: clamp(24px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 92%, transparent);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-pre-block .pb-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  background: color-mix(in oklab, var(--c-paper) 8%, var(--c-ink));
  border-bottom: 1px solid color-mix(in oklab, var(--c-paper) 12%, transparent);
}
.couture-pre-block .pb-toolbar .pb-lang {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-pre-block .pb-toolbar .pb-copy {
  background: transparent;
  border: 0;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background .15s, color .15s;
}
.couture-pre-block .pb-toolbar .pb-copy:hover {
  background: color-mix(in oklab, var(--c-paper) 10%, transparent);
  color: var(--c-paper);
}
.couture-pre-block pre {
  margin: 0;
  padding: 18px 20px;
  overflow-x: auto;
  font: 400 13.5px/1.55 var(--c-mono);
  white-space: pre;
}
.couture-pre-block pre code {
  background: transparent;
  font-family: inherit;
  color: inherit;
}

/* V6.387 #153 — .couture-rule-band — 2px ink rule with centered eyebrow
   Burb/Outverse editorial: 2px ink rule with single accent-tinted eyebrow
   pill centered. Premium section divider. Distinct from V6.387 #41 / #119. */
.couture-rule-band {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block: clamp(56px, 8vw, 96px);
  position: relative;
  height: 2px;
}
.couture-rule-band::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  background: var(--c-ink);
}
.couture-rule-band .rb-eyebrow {
  position: relative;
  background: var(--c-paper);
  padding: 0 clamp(20px, 3vw, 32px);
  font: 800 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-accent);
}

/* V6.387 #154 — .couture-snippet-block — boxed code/example snippet with caption
   Outseta/Mobbin docs: code snippet with caption above + paper-tinted bg.
   Smaller / lighter than V6.387 #152 pre-block (full toolbar). */
.couture-snippet-block {
  margin-block: clamp(20px, 3vw, 28px);
  padding: 16px 18px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-left: 3px solid var(--c-accent);
  border-radius: 6px;
  font: 500 13px/1.55 var(--c-mono);
  color: var(--c-ink);
  white-space: pre-wrap;
}
.couture-snippet-block .sb-caption {
  display: block;
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 10px;
  font-family: var(--c-mono);
}

/* V6.387 #155 — .couture-feature-list-numbered — numbered ordered feature list
   Outseta/Burb-tier: numbered ordered list with large accent decimal-leading-zero
   counter + body. Distinct from V6.387 #14 mark-list (★) and #117 bullet-row
   (eyebrow+title+body). */
.couture-feature-list-numbered {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 40px) 0;
  display: grid;
  gap: 16px;
  counter-reset: fln;
}
.couture-feature-list-numbered li {
  counter-increment: fln;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 18px;
  align-items: baseline;
  padding: 8px 0;
}
.couture-feature-list-numbered li::before {
  content: counter(fln, decimal-leading-zero);
  font: 800 18px/1 var(--c-mono);
  letter-spacing: 0.04em;
  color: var(--c-accent);
}
.couture-feature-list-numbered li .fln-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-feature-list-numbered li .fln-body {
  font: 500 14px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.387 #156 — .couture-icon-bullet — minimal icon-bullet inline list (rendered as ul)
   Outseta/Mobbin-tier inline list: each li gets a 14px accent ◆/●/✓ glyph
   prefix (selectable via class). For mid-prose itemizations. */
.couture-icon-bullet {
  list-style: none;
  padding: 0;
  margin: clamp(20px, 3vw, 28px) 0;
  display: grid;
  gap: 8px;
}
.couture-icon-bullet li {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 12px;
  font: 500 14.5px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-icon-bullet li::before {
  content: "◆";
  color: var(--c-accent);
  font: 600 11px/1.55 var(--c-display);
}
.couture-icon-bullet.--dot li::before { content: "●"; font-size: 9px; }
.couture-icon-bullet.--check li::before { content: "✓"; font-weight: 700; }
.couture-icon-bullet.--arrow li::before { content: "→"; font-weight: 700; }
.couture-icon-bullet.--star li::before { content: "★"; }
.couture-icon-bullet.--ink li::before { color: var(--c-ink); }

/* V6.387 #157 — .couture-banner-pill — small banner-style pill for in-page status
   Outseta/Burb-tier in-page banner: pill-shape banner with leading icon + body
   + optional close button. For "Pro tip:" / "Heads up:" / "Note:" inline alerts. */
.couture-banner-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 12px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 36%, transparent);
  border-radius: 999px;
  font: 600 13px/1.4 var(--c-body);
  color: var(--c-ink);
  margin-block: clamp(14px, 2vw, 20px);
}
.couture-banner-pill::before {
  content: "💡";
  font-size: 16px;
  flex-shrink: 0;
}
.couture-banner-pill strong {
  font-weight: 700;
  color: var(--c-accent);
  margin-right: 4px;
}
.couture-banner-pill.--info {
  background: color-mix(in oklab, #3b82f6 10%, var(--c-paper));
  border-color: color-mix(in oklab, #3b82f6 30%, transparent);
}
.couture-banner-pill.--info::before { content: "ⓘ"; color: #3b82f6; }
.couture-banner-pill.--info strong { color: #3b82f6; }
.couture-banner-pill.--warn {
  background: color-mix(in oklab, #d97706 10%, var(--c-paper));
  border-color: color-mix(in oklab, #d97706 30%, transparent);
}
.couture-banner-pill.--warn::before { content: "⚠"; color: #d97706; }
.couture-banner-pill.--warn strong { color: #d97706; }

/* V6.387 #158 — .couture-spec-callout — emphasized 1-spec value display
   Burb/Outverse PDP-tier: large emphasized value + label box for "the headline
   spec" (e.g. "100% Cotton" / "Made in Italy"). */
.couture-spec-callout {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 12px;
  margin-block: clamp(16px, 2vw, 24px);
  text-align: center;
}
.couture-spec-callout .sc-value {
  font: 800 clamp(28px, 3.5vw, 38px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
}
.couture-spec-callout .sc-value em {
  color: var(--c-accent);
  font-style: normal;
}
.couture-spec-callout .sc-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}

/* V6.387 #159 — .couture-hero-card-overlay — hero with overlaid bg-image card
   Burb/Outverse landing-tier: hero layout with featured-product image card
   overlapping a colored background. For lookbook-style hero moments. */
.couture-hero-card-overlay {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  padding: clamp(56px, 8vw, 96px) clamp(24px, 5vw, 64px);
  margin-block: clamp(40px, 6vw, 64px);
  border-radius: 20px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
}
.couture-hero-card-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    circle at 30% 40%,
    color-mix(in oklab, var(--c-accent) 22%, transparent),
    transparent 60%);
  pointer-events: none;
}
.couture-hero-card-overlay > * { position: relative; z-index: 1; }
.couture-hero-card-overlay .hco-text {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.couture-hero-card-overlay .hco-eyebrow {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
}
.couture-hero-card-overlay .hco-head {
  font: 800 clamp(36px, 5vw, 68px)/1.05 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
}
.couture-hero-card-overlay .hco-body {
  font: 500 clamp(15px, 2vw, 18px)/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 50ch;
}
.couture-hero-card-overlay .hco-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.couture-hero-card-overlay .hco-card {
  aspect-ratio: 3/4;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  box-shadow: 0 32px 64px -24px color-mix(in oklab, var(--c-ink) 28%, transparent);
}
.couture-hero-card-overlay .hco-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 760px) {
  .couture-hero-card-overlay {
    grid-template-columns: 1fr;
  }
}

/* V6.387 #160 — .couture-sect-aside — small left-anchored aside chip
   Burb/Outverse editorial: small chip-shape aside that floats next to text
   with extra info. Pairs well with #131 aside-layout. */
.couture-sect-aside {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px 10px 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-left: 3px solid var(--c-accent);
  border-radius: 8px;
  margin-block: clamp(14px, 2vw, 20px);
  font: 500 13.5px/1.4 var(--c-body);
  color: var(--c-ink);
  max-width: 480px;
}
.couture-sect-aside::before {
  content: "✎";
  font: 700 16px/1 var(--c-display);
  color: var(--c-accent);
  flex-shrink: 0;
}
.couture-sect-aside strong {
  color: var(--c-accent);
  margin-right: 4px;
  font-weight: 700;
}

/* V6.387 #161 — .couture-link-row-inline — inline horizontal link row (footer chip)
   Outseta/Mobbin-tier: horizontal row of "Privacy / Terms / Contact" mini-links
   with separators. For footer signoff or article-meta secondary nav. */
.couture-link-row-inline {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin-block: clamp(12px, 2vw, 20px);
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-link-row-inline a {
  color: inherit;
  text-decoration: none;
  padding: 4px 10px;
  border-radius: 4px;
  transition: color .18s, background .18s;
}
.couture-link-row-inline a:hover {
  color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 8%, transparent);
}
.couture-link-row-inline a + a::before {
  content: "·";
  margin-right: 10px;
  margin-left: -10px;
  color: color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #1 — .couture-quote-pull-card — large display quote card w/ author photo
   Mobbin/Burb editorial: 40px italic display quote + 56px circular author
   photo + name/role/company. Bigger than V6.387 #132 quote-strip cards
   (which are 14.5px), this is for "feature testimonial" moments. */
.couture-quote-pull-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(24px, 4vw, 36px);
  padding: clamp(32px, 5vw, 48px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 20px;
  margin-block: clamp(40px, 6vw, 64px);
  align-items: start;
}
.couture-quote-pull-card .qpc-photo {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  flex-shrink: 0;
}
.couture-quote-pull-card .qpc-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-quote-pull-card .qpc-text {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.couture-quote-pull-card .qpc-quote {
  font: 500 clamp(22px, 3vw, 32px)/1.35 var(--c-display);
  font-style: italic;
  letter-spacing: -0.018em;
  color: var(--c-ink);
}
.couture-quote-pull-card .qpc-quote::before {
  content: """;
  color: var(--c-accent);
  font-weight: 800;
  margin-right: 4px;
}
.couture-quote-pull-card .qpc-cite {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-quote-pull-card .qpc-name {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-quote-pull-card .qpc-role {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-quote-pull-card .qpc-role strong {
  color: var(--c-accent);
  font-weight: 700;
}
@media (max-width: 640px) {
  .couture-quote-pull-card {
    grid-template-columns: 1fr;
  }
  .couture-quote-pull-card .qpc-photo {
    width: 64px;
    height: 64px;
  }
}

/* V6.388 #2 — .couture-link-thumb — link row with leading thumbnail image
   Burb/Mobbin editorial: vertical list of clickable rows w/ leading 64px
   thumbnail + title + eyebrow + → arrow. For "related articles" / "shop the look". */
.couture-link-thumb {
  list-style: none;
  padding: 0;
  margin: clamp(24px, 4vw, 36px) 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-link-thumb .lt-row {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: border-color .18s, background .18s, transform .2s;
}
.couture-link-thumb .lt-row:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
  background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper));
  transform: translateX(2px);
}
.couture-link-thumb .lt-row .lt-thumb {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-link-thumb .lt-row .lt-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-link-thumb .lt-row .lt-eyebrow {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 4px;
}
.couture-link-thumb .lt-row .lt-title {
  font: 700 14.5px/1.35 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-link-thumb .lt-row::after {
  content: "→";
  font: 600 16px/1 var(--c-display);
  color: var(--c-ink-soft);
  transition: color .18s, transform .22s;
}
.couture-link-thumb .lt-row:hover::after {
  color: var(--c-accent);
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-thumb .lt-row,
  .couture-link-thumb .lt-row::after { transition: none; }
  .couture-link-thumb .lt-row:hover { transform: none; }
  .couture-link-thumb .lt-row:hover::after { transform: none; }
}

/* V6.388 #3 — .couture-banner-promo — slim accent-bg promo banner w/ countdown
   Outseta/Burb shop-tier: full-width accent-bg promo banner with headline +
   inline countdown timer + CTA. For "Sale ends in 2d 4h 30m" announcements. */
.couture-banner-promo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(14px, 3vw, 28px);
  padding: clamp(14px, 2vw, 18px) clamp(20px, 4vw, 40px);
  background: var(--c-accent);
  color: var(--c-paper);
  text-align: center;
}
.couture-banner-promo .bp-eyebrow {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-paper);
}
.couture-banner-promo .bp-text {
  font: 600 14px/1.4 var(--c-body);
  color: var(--c-paper);
}
.couture-banner-promo .bp-text strong {
  font-weight: 800;
}
.couture-banner-promo .bp-countdown {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: color-mix(in oklab, var(--c-paper) 14%, transparent);
  border-radius: 6px;
  font: 700 12.5px/1 var(--c-mono);
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
}
.couture-banner-promo .bp-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 6px;
  font: 700 13px/1 var(--c-display);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: background .2s;
}
.couture-banner-promo .bp-cta:hover {
  background: var(--c-paper);
  color: var(--c-accent);
}

/* V6.388 #4 — .couture-hover-reveal-card — card w/ hover-revealed extra content
   Outseta/Talkbase-tier: card whose extra content (CTA + body) slides up from
   below on hover. For "discover more" / "learn more" content cards. */
.couture-hover-reveal-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/5;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  text-decoration: none;
  color: var(--c-paper);
}
.couture-hover-reveal-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-hover-reveal-card:hover img {
  transform: scale(1.04);
}
.couture-hover-reveal-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 40%,
    color-mix(in oklab, var(--c-ink) 85%, transparent) 100%);
  pointer-events: none;
}
.couture-hover-reveal-card .hrc-content {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 1;
}
.couture-hover-reveal-card .hrc-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  margin-bottom: 6px;
}
.couture-hover-reveal-card .hrc-title {
  font: 700 19px/1.25 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-paper);
  margin-bottom: 0;
  transition: margin-bottom .3s;
}
.couture-hover-reveal-card .hrc-extra {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, margin-top .35s;
  margin-top: 0;
}
.couture-hover-reveal-card:hover .hrc-extra {
  max-height: 180px;
  margin-top: 10px;
}
.couture-hover-reveal-card .hrc-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
  margin-bottom: 14px;
}
.couture-hover-reveal-card .hrc-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 700 12px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-hover-reveal-card .hrc-cta::after {
  content: "→";
}
@media (prefers-reduced-motion: reduce) {
  .couture-hover-reveal-card img,
  .couture-hover-reveal-card .hrc-extra { transition: none; }
  .couture-hover-reveal-card:hover img { transform: none; }
  .couture-hover-reveal-card:hover .hrc-extra { max-height: 180px; }
}

/* V6.388 #5 — .couture-stack-cards — overlapping vertical stack of mini-cards
   Burb/Outverse-tier: 3 mini-cards in a "fanned" overlap (slight rotation +
   negative top margin between cards). For "compare 3 options" stylized
   visual. Distinct from V6.387 #80 grid-3-overlap (horizontal). */
.couture-stack-cards {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-block: clamp(36px, 5vw, 56px);
  isolation: isolate;
}
.couture-stack-cards .sc-card {
  width: clamp(240px, 60%, 480px);
  padding: clamp(20px, 3vw, 26px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
  box-shadow: 0 18px 40px -22px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-stack-cards .sc-card:nth-child(1) {
  transform: rotate(-2deg);
  z-index: 1;
}
.couture-stack-cards .sc-card:nth-child(2) {
  transform: rotate(1deg);
  margin-top: -32px;
  z-index: 2;
  background: color-mix(in oklab, var(--c-accent) 5%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 30%, var(--c-line));
}
.couture-stack-cards .sc-card:nth-child(3) {
  transform: rotate(-1deg);
  margin-top: -32px;
  z-index: 3;
}
.couture-stack-cards .sc-card .sc-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.couture-stack-cards .sc-card .sc-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}

/* V6.388 #6 — .couture-page-rail — 1-col right-anchored sticky rail (TOC only)
   Outverse/Talkbase docs: minimal sticky rail with TOC only (no other sections).
   Smaller / simpler than V6.387 #105 sticky-rail (TOC + CTA + share). */
.couture-page-rail {
  position: sticky;
  top: 96px;
  align-self: start;
  padding: 0 0 0 18px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  font-size: 13px;
}
.couture-page-rail .pr-title {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-bottom: 14px;
}
.couture-page-rail .pr-toc {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-page-rail .pr-toc a {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color .18s;
}
.couture-page-rail .pr-toc a:hover { color: var(--c-ink); }
.couture-page-rail .pr-toc a.is-active {
  color: var(--c-accent);
  font-weight: 600;
}
.couture-page-rail .pr-toc li.--nested {
  padding-left: 16px;
}
.couture-page-rail .pr-toc li.--nested a {
  font-size: 12.5px;
  color: color-mix(in oklab, var(--c-ink-soft) 80%, transparent);
}

/* V6.388 #7 — .couture-form-card — premium contact form card chrome
   Outseta/Mobbin form-tier: clean form card w/ heading, error/success state
   styling, polished input styles. Distinct from V6.387 #81 input-group (single
   field): this is the full form chrome. */
.couture-form-card {
  padding: clamp(28px, 4vw, 40px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 16px;
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-form-card .fc-head {
  margin-bottom: clamp(24px, 3vw, 32px);
}
.couture-form-card .fc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-form-card .fc-title {
  font: 800 clamp(22px, 2.6vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-form-card .fc-sub {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-form-card .fc-fields {
  display: grid;
  gap: 16px;
}
.couture-form-card .fc-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-form-card .fc-label {
  font: 600 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-form-card .fc-label .fc-required {
  color: #d97706;
  margin-left: 2px;
}
.couture-form-card .fc-input,
.couture-form-card .fc-textarea {
  padding: 12px 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 10px;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
  transition: border-color .18s, box-shadow .18s;
}
.couture-form-card .fc-input:focus,
.couture-form-card .fc-textarea:focus {
  outline: 0;
  border-color: color-mix(in oklab, var(--c-accent) 60%, var(--c-line));
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 14%, transparent);
}
.couture-form-card .fc-textarea {
  resize: vertical;
  min-height: 100px;
}
.couture-form-card .fc-helper {
  font: 500 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-form-card .fc-field.--error .fc-input,
.couture-form-card .fc-field.--error .fc-textarea {
  border-color: #d97706;
}
.couture-form-card .fc-field.--error .fc-helper {
  color: #d97706;
}
.couture-form-card .fc-submit {
  margin-top: 8px;
  padding: 14px 26px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  border-radius: 10px;
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.005em;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.couture-form-card .fc-submit:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}

/* V6.388 #8 — .couture-recipe-card — premium "recipe steps" card
   Burb/Outverse story-tier: numbered ingredient row + step-by-step instruction
   list with timing badges. For "How we make it" service or content sections. */
.couture-recipe-card {
  padding: clamp(28px, 4vw, 36px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  border-radius: 18px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-recipe-card .rc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-recipe-card .rc-title {
  font: 800 clamp(22px, 2.8vw, 30px)/1.2 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  margin-bottom: 18px;
}
.couture-recipe-card .rc-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  margin-bottom: 24px;
}
.couture-recipe-card .rc-meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-recipe-card .rc-meta-item strong {
  color: var(--c-ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-recipe-card .rc-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 18px;
  counter-reset: rcstep;
}
.couture-recipe-card .rc-steps li {
  counter-increment: rcstep;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  align-items: start;
}
.couture-recipe-card .rc-steps li::before {
  content: counter(rcstep);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
  font-variant-numeric: tabular-nums;
}
.couture-recipe-card .rc-steps li .rc-text {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink);
  padding-top: 8px;
}

/* V6.388 #9 — .couture-step-trio-bg — 3-step process row w/ accent connector bg
   Outseta/Talkbase-tier: 3-up step row connected by an accent line that runs
   across all 3 step nodes. Visual flow indicator. */
.couture-step-trio-bg {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 2vw, 22px);
  margin-block: clamp(40px, 6vw, 64px);
  isolation: isolate;
}
.couture-step-trio-bg::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 12%;
  right: 12%;
  height: 2px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-line) 40%, transparent),
    var(--c-accent),
    color-mix(in oklab, var(--c-line) 40%, transparent));
  z-index: -1;
}
.couture-step-trio-bg .stb-step {
  text-align: center;
  padding: 0 clamp(8px, 1.5vw, 14px);
}
.couture-step-trio-bg .stb-step .stb-num {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 17px/1 var(--c-display);
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-step-trio-bg .stb-step .stb-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-step-trio-bg .stb-step .stb-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-step-trio-bg {
    grid-template-columns: 1fr;
    gap: clamp(20px, 4vw, 32px);
  }
  .couture-step-trio-bg::before { display: none; }
}

/* V6.388 #10 — .couture-feed-row — minimalist activity-feed row
   Outseta/Mobbin docs/dashboard tier: vertical activity-feed with leading
   timestamp + body + actor pill. For "What's new" / "Recent activity" stripes. */
.couture-feed-row {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 40px) 0;
  display: flex;
  flex-direction: column;
}
.couture-feed-row li {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-feed-row li:last-child { border-bottom: 0; }
.couture-feed-row .fr-time {
  font: 600 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-feed-row .fr-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-feed-row .fr-body strong {
  font-weight: 700;
  color: var(--c-ink);
}
.couture-feed-row .fr-body .fr-actor {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: var(--c-accent);
  border-radius: 4px;
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-right: 4px;
}

/* V6.388 #11 — .couture-floating-toc — collapsible floating TOC widget
   Outverse/Talkbase-tier: bottom-right floating widget with collapsed pill ("On
   this page") that expands to full TOC on click. For mobile-friendly TOC. */
.couture-floating-toc {
  position: fixed;
  right: clamp(20px, 3vw, 28px);
  bottom: clamp(20px, 3vw, 28px);
  z-index: 50;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  box-shadow: 0 18px 50px -22px color-mix(in oklab, var(--c-ink) 28%, transparent);
  max-width: 320px;
  overflow: hidden;
}
.couture-floating-toc summary {
  padding: 12px 16px 12px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink);
  cursor: pointer;
  list-style: none;
}
.couture-floating-toc summary::-webkit-details-marker { display: none; }
.couture-floating-toc summary::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 22%, transparent);
}
.couture-floating-toc summary::after {
  content: "+";
  margin-left: auto;
  font: 600 18px/1 var(--c-display);
  color: var(--c-ink-soft);
  transition: transform .2s;
}
.couture-floating-toc[open] summary::after {
  transform: rotate(45deg);
}
.couture-floating-toc .ftoc-list {
  list-style: none;
  padding: 8px 18px 16px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-floating-toc .ftoc-list a {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-floating-toc .ftoc-list a:hover {
  color: var(--c-ink);
}
.couture-floating-toc .ftoc-list a.is-active {
  color: var(--c-accent);
  font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {
  .couture-floating-toc summary::after { transition: none; }
}

/* V6.388 #12 — .couture-card-with-image-bg — card whose bg IS the image (no padding)
   Burb/Outverse-tier landing: square/portrait card where the image is the
   bg-with-content-overlay (no separate text section). For minimal portfolio
   tile cards. Distinct from V6.387 #84 collection-card (4/5 ratio). */
.couture-card-with-image-bg {
  position: relative;
  display: block;
  aspect-ratio: 1;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  text-decoration: none;
  color: var(--c-paper);
  isolation: isolate;
}
.couture-card-with-image-bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  transition: transform .35s ease;
}
.couture-card-with-image-bg:hover img {
  transform: scale(1.04);
}
.couture-card-with-image-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in oklab, var(--c-ink) 40%, transparent);
  z-index: -1;
  opacity: 0;
  transition: opacity .25s;
}
.couture-card-with-image-bg:hover::after {
  opacity: 1;
}
.couture-card-with-image-bg .cwib-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(20px, 3vw, 28px);
  opacity: 0;
  transition: opacity .25s;
}
.couture-card-with-image-bg:hover .cwib-content {
  opacity: 1;
}
.couture-card-with-image-bg .cwib-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-card-with-image-bg .cwib-title {
  font: 800 clamp(20px, 2.6vw, 26px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-paper);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-with-image-bg img,
  .couture-card-with-image-bg::after,
  .couture-card-with-image-bg .cwib-content { transition: none; }
  .couture-card-with-image-bg:hover img { transform: none; }
}

/* V6.388 #13 — .couture-mega-cta — full-bleed accent gradient hero CTA section
   Burb/Outverse landing-tier: full-bleed accent gradient bg with massive 96px
   headline + body + dual CTA. Distinct from V6.387 #6 cta-band (smaller +
   text-only) and #62 cta-fullwidth (muted bg). Most maximal CTA variant. */
.couture-mega-cta {
  position: relative;
  padding: clamp(80px, 12vw, 144px) clamp(24px, 5vw, 64px);
  margin-block: clamp(56px, 8vw, 96px);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 95%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 70%, var(--c-ink)));
  color: var(--c-paper);
  border-radius: 28px;
  text-align: center;
  overflow: hidden;
}
.couture-mega-cta::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -20%;
  width: 60%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,
    color-mix(in oklab, var(--c-paper) 24%, transparent),
    transparent 60%);
  pointer-events: none;
}
.couture-mega-cta::after {
  content: "";
  position: absolute;
  bottom: -50%;
  right: -20%;
  width: 60%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,
    color-mix(in oklab, var(--c-ink) 30%, transparent),
    transparent 60%);
  pointer-events: none;
}
.couture-mega-cta > * { position: relative; }
.couture-mega-cta .mc-eyebrow {
  font: 800 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-paper) 88%, transparent);
  margin-bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.couture-mega-cta .mc-eyebrow::before,
.couture-mega-cta .mc-eyebrow::after {
  content: "";
  width: 28px;
  height: 1px;
  background: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-mega-cta .mc-head {
  font: 800 clamp(36px, 8vw, 96px)/1.05 var(--c-display);
  letter-spacing: -0.04em;
  margin: 0 auto 24px;
  max-width: 22ch;
}
.couture-mega-cta .mc-sub {
  font: 500 clamp(16px, 2.4vw, 22px)/1.5 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
  margin: 0 auto 40px;
  max-width: 56ch;
}
.couture-mega-cta .mc-ctas {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
.couture-mega-cta .mc-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: var(--c-paper);
  color: var(--c-ink);
  border-radius: 12px;
  font: 700 15px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: transform .22s, box-shadow .22s;
}
.couture-mega-cta .mc-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px -16px color-mix(in oklab, var(--c-ink) 35%, transparent);
}
.couture-mega-cta .mc-btn.--ghost {
  background: transparent;
  color: var(--c-paper);
  border: 1.5px solid color-mix(in oklab, var(--c-paper) 50%, transparent);
}
.couture-mega-cta .mc-btn.--ghost:hover {
  background: color-mix(in oklab, var(--c-paper) 10%, transparent);
  border-color: var(--c-paper);
}
@media (prefers-reduced-motion: reduce) {
  .couture-mega-cta .mc-btn { transition: none; }
  .couture-mega-cta .mc-btn:hover { transform: none; }
}

/* V6.388 #14 — .couture-stat-callout-row — single horizontal stat callout w/ icon
   Outseta/Mobbin: 1-line stat callout with leading 36px accent icon container +
   massive 36px num + label. For inline body emphasis ("44% faster onboarding"). */
.couture-stat-callout-row {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  border-radius: 14px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-stat-callout-row .scr-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display);
  flex-shrink: 0;
}
.couture-stat-callout-row .scr-num {
  font: 800 36px/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-callout-row .scr-num em {
  color: var(--c-accent);
  font-style: normal;
}
.couture-stat-callout-row .scr-label {
  font: 600 13px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

/* V6.388 #15 — .couture-feature-bento-3-up — bento-style 3-tile feature row
   Outseta/Talkbase-tier: 3-up tiles where each has different fill style
   (accent / ink / paper) for visual differentiation. */
.couture-feature-bento-3-up {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 2vw, 20px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-feature-bento-3-up .fb3-tile {
  padding: clamp(24px, 3vw, 32px);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: clamp(220px, 28vw, 280px);
}
.couture-feature-bento-3-up .fb3-tile:nth-child(1) {
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: var(--c-ink);
}
.couture-feature-bento-3-up .fb3-tile:nth-child(2) {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-feature-bento-3-up .fb3-tile:nth-child(3) {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  color: var(--c-ink);
}
.couture-feature-bento-3-up .fb3-tile .fb3-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-feature-bento-3-up .fb3-tile:nth-child(2) .fb3-eyebrow {
  color: var(--c-accent);
}
.couture-feature-bento-3-up .fb3-tile .fb3-title {
  font: 700 20px/1.25 var(--c-display);
  letter-spacing: -0.018em;
}
.couture-feature-bento-3-up .fb3-tile .fb3-body {
  font: 500 14.5px/1.6 var(--c-body);
  margin-top: auto;
}
.couture-feature-bento-3-up .fb3-tile:nth-child(1) .fb3-body { color: color-mix(in oklab, var(--c-ink) 80%, transparent); }
.couture-feature-bento-3-up .fb3-tile:nth-child(2) .fb3-body { color: color-mix(in oklab, var(--c-paper) 80%, transparent); }
.couture-feature-bento-3-up .fb3-tile:nth-child(3) .fb3-body { color: var(--c-ink-soft); }
@media (max-width: 760px) {
  .couture-feature-bento-3-up {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #16 — .couture-text-callout-large — large pull-text mid-section emphasis
   Burb/Outverse editorial-tier: max-width centered 56px italic display pull-text
   for "the punchline" mid-content emphasis. Larger than V6.387 #113 text-pull
   (which floats). This is centered + max-width + ornamental. */
.couture-text-callout-large {
  text-align: center;
  max-width: 26ch;
  margin: clamp(48px, 7vw, 80px) auto;
  position: relative;
  padding: clamp(36px, 5vw, 56px) 0;
}
.couture-text-callout-large::before,
.couture-text-callout-large::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 2px;
  background: var(--c-accent);
  border-radius: 2px;
}
.couture-text-callout-large::before { top: 0; }
.couture-text-callout-large::after { bottom: 0; }
.couture-text-callout-large .tcl-text {
  font: 500 clamp(28px, 5vw, 56px)/1.2 var(--c-display);
  font-style: italic;
  letter-spacing: -0.025em;
  color: var(--c-ink);
}
.couture-text-callout-large .tcl-text em {
  font-style: italic;
  color: var(--c-accent);
}
.couture-text-callout-large .tcl-cite {
  display: block;
  margin-top: 28px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}

/* V6.388 #17 — .couture-link-grid — premium link grid (multi-col list)
   Outseta/Mobbin footer: multi-column grid of categorized link lists. For
   footer link megamenu / sitemap. */
.couture-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(28px, 4vw, 48px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-link-grid .lg-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-link-grid .lg-col .lg-title {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-link-grid .lg-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-link-grid .lg-col a {
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color .18s;
}
.couture-link-grid .lg-col a:hover {
  color: var(--c-accent);
}
.couture-link-grid .lg-col .lg-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  border-radius: 4px;
  font: 700 9px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  vertical-align: top;
}

/* V6.388 #18 — .couture-image-pair-asym — asymmetric image pair (large + small)
   Burb/Outverse editorial: large left image (60%) + small right image (40%) with
   different aspect ratios. For "the look" / "two perspectives" content. */
.couture-image-pair-asym {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(14px, 2vw, 22px);
  margin-block: clamp(36px, 5vw, 56px);
  align-items: stretch;
}
.couture-image-pair-asym .ipa-cell {
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  position: relative;
}
.couture-image-pair-asym .ipa-cell:nth-child(1) {
  aspect-ratio: 4/5;
}
.couture-image-pair-asym .ipa-cell:nth-child(2) {
  aspect-ratio: 1/1;
  align-self: end;
}
.couture-image-pair-asym .ipa-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-image-pair-asym .ipa-cell:hover img {
  transform: scale(1.04);
}
.couture-image-pair-asym .ipa-caption {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 5px 11px;
  background: color-mix(in oklab, var(--c-ink) 80%, transparent);
  color: var(--c-paper);
  border-radius: 4px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  pointer-events: none;
}
@media (max-width: 700px) {
  .couture-image-pair-asym {
    grid-template-columns: 1fr;
  }
  .couture-image-pair-asym .ipa-cell:nth-child(2) {
    aspect-ratio: 4/5;
    align-self: stretch;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-image-pair-asym .ipa-cell img { transition: none; }
  .couture-image-pair-asym .ipa-cell:hover img { transform: none; }
}

/* V6.388 #19 — .couture-cta-strip-inline — slim inline CTA strip
   Outseta/Burb-tier: slim accent-tinted strip with headline + button. For
   in-content "Ready to start?" sub-CTAs that don't warrant full-bleed treatment. */
.couture-cta-strip-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  padding: clamp(20px, 3vw, 28px) clamp(22px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 32%, transparent);
  border-radius: 14px;
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-cta-strip-inline .csi-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-cta-strip-inline .csi-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-cta-strip-inline .csi-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-cta-strip-inline .csi-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s, transform .2s;
  flex-shrink: 0;
}
.couture-cta-strip-inline .csi-btn:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}
.couture-cta-strip-inline .csi-btn::after {
  content: "→";
  font-weight: 500;
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-strip-inline .csi-btn { transition: none; }
  .couture-cta-strip-inline .csi-btn:hover { transform: none; }
}

/* V6.388 #20 — .couture-faq-rich — premium FAQ accordion w/ category labels
   Outseta/Mobbin docs-tier: enhanced FAQ list with category eyebrows above
   grouped sections + native disclosure accordion. Distinct from V6.387 #14 .couture-faq
   (single flat list) and V6.387 #103 mini-faq (grid no accordion). */
.couture-faq-rich {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 40px);
  margin-block: clamp(36px, 5vw, 56px);
  max-width: 800px;
  margin-inline: auto;
}
.couture-faq-rich .fr-section {
  display: flex;
  flex-direction: column;
}
.couture-faq-rich .fr-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--c-accent);
}
.couture-faq-rich .fr-item {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-faq-rich summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 4px;
  font: 700 16px/1.4 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  cursor: pointer;
  list-style: none;
}
.couture-faq-rich summary::-webkit-details-marker { display: none; }
.couture-faq-rich summary::after {
  content: "+";
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 500 18px/1 var(--c-display);
  color: var(--c-accent);
  transition: transform .22s, background .22s;
  flex-shrink: 0;
}
.couture-faq-rich details[open] summary::after {
  transform: rotate(45deg);
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
}
.couture-faq-rich .fr-body {
  padding: 0 4px 22px;
  font: 500 14.5px/1.65 var(--c-body);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-faq-rich summary::after { transition: none; }
}

/* V6.388 #21 — .couture-checklist-card — checklist inside polished card chrome
   Outseta/Talkbase-tier: contained ✓ list inside a paper card with eyebrow
   header. For "What you get" / "Included with" sections. */
.couture-checklist-card {
  padding: clamp(24px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 16px;
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-checklist-card .cc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-checklist-card .cc-title {
  font: 700 19px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 18px;
}
.couture-checklist-card .cc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.couture-checklist-card .cc-list li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: start;
  font: 500 15px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-checklist-card .cc-list li::before {
  content: "✓";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-display);
  margin-top: 1px;
}
.couture-checklist-card .cc-list li strong {
  font-weight: 700;
  color: var(--c-ink);
}

/* V6.388 #22 — .couture-callout-image — image+text callout block (50/50 inline)
   Burb/Outverse editorial: side-by-side 50/50 image + text callout block,
   medium-size for mid-article emphasis. Smaller than V6.387 #9 spotlight-card
   (full feature) — for inline article asides. */
.couture-callout-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
  padding: clamp(20px, 3vw, 28px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 14px;
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-callout-image .ci-media {
  aspect-ratio: 4/3;
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-callout-image .ci-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-callout-image .ci-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-callout-image .ci-title {
  font: 700 20px/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.couture-callout-image .ci-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-callout-image.--reverse {
  grid-template-areas: "content media";
}
.couture-callout-image.--reverse .ci-media { grid-area: media; }
.couture-callout-image.--reverse .ci-content { grid-area: content; }
@media (max-width: 700px) {
  .couture-callout-image,
  .couture-callout-image.--reverse {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
}

/* V6.388 #23 — .couture-step-row-flat — flat numbered horizontal step row
   Outseta/Talkbase-tier: 4-up horizontal step row WITHOUT card chrome (just
   accent num + title + body). Lightest step variant. Distinct from V6.387 #51
   process-bar (with bar) + #92 step-circle (with connectors) + #104 step-vertical. */
.couture-step-row-flat {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(28px, 4vw, 40px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-step-row-flat .srf-cell {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-step-row-flat .srf-num {
  font: 800 32px/1 var(--c-mono);
  letter-spacing: 0.04em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-step-row-flat .srf-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-step-row-flat .srf-body {
  font: 500 14px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #24 — .couture-grid-mason — masonry-style 2-col card grid (mixed heights)
   Burb/Mobbin editorial: 2-col masonry layout via column-count for cards of
   varying heights. For "explore" / "browse" varied content. */
.couture-grid-mason {
  column-count: 2;
  column-gap: clamp(16px, 2vw, 24px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-grid-mason > * {
  break-inside: avoid;
  margin-bottom: clamp(16px, 2vw, 24px);
  display: flex;
  flex-direction: column;
}
@media (max-width: 720px) {
  .couture-grid-mason {
    column-count: 1;
  }
}
.couture-grid-mason .gm-card {
  padding: clamp(18px, 2.5vw, 24px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 12px;
}
.couture-grid-mason .gm-card .gm-eyebrow {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-grid-mason .gm-card .gm-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-grid-mason .gm-card .gm-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-grid-mason .gm-card.--tall {
  /* Naturally taller via more content — keep design honest */
}

/* V6.388 #25 — .couture-pulse-dot — animated pulsing accent dot
   Outseta/Mobbin-tier "live" indicator: pulsing accent dot + label combo. For
   "LIVE" / "Online now" / "5 watching" status indicators. */
.couture-pulse-dot {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink);
}
.couture-pulse-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  position: relative;
  box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 60%, transparent);
  animation: _couture-pulse 1.6s ease-in-out infinite;
}
@keyframes _couture-pulse {
  0%   { box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 60%, transparent); }
  70%  { box-shadow: 0 0 0 8px color-mix(in oklab, var(--c-accent) 0%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 0%, transparent); }
}
.couture-pulse-dot.--green::before {
  background: #2ea043;
  box-shadow: 0 0 0 0 color-mix(in oklab, #2ea043 60%, transparent);
  animation-name: _couture-pulse-green;
}
@keyframes _couture-pulse-green {
  0%   { box-shadow: 0 0 0 0 color-mix(in oklab, #2ea043 60%, transparent); }
  70%  { box-shadow: 0 0 0 8px color-mix(in oklab, #2ea043 0%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in oklab, #2ea043 0%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-pulse-dot::before { animation: none; }
}

/* V6.388 #26 — .couture-trust-row — slim trust-signal text row
   Outseta/Mobbin nav-trust: inline horizontal row of small text trust signals
   with leading icon. For "★ 4.9 · 5,800+ reviews · 2-yr warranty" trust row. */
.couture-trust-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin-block: clamp(8px, 1.5vw, 14px);
  font: 600 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-trust-row .tr-segment {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  white-space: nowrap;
}
.couture-trust-row .tr-segment + .tr-segment {
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-trust-row .tr-segment:first-child { padding-left: 0; }
.couture-trust-row .tr-segment .tr-glyph {
  color: var(--c-accent);
  font-size: 14px;
}
.couture-trust-row .tr-segment .tr-stars {
  color: #FFB400;
  font-size: 13px;
  letter-spacing: 1px;
}
.couture-trust-row .tr-segment .tr-num {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--c-ink);
}
.couture-trust-row .tr-segment .tr-label {
  color: var(--c-ink-soft);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-family: var(--c-mono);
}

/* V6.388 #27 — .couture-sect-band — full-bleed colored section band
   Outseta/Talkbase-tier full-bleed accent or ink band container that spans
   viewport width and contains constrained content inside. For "different bg
   color" section breaks within an otherwise-paper page. */
.couture-sect-band {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(64px, 9vw, 112px) clamp(24px, 5vw, 64px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-sect-band > * {
  max-width: 1200px;
  margin-inline: auto;
}
.couture-sect-band.--accent {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
}
.couture-sect-band.--ink {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-sect-band.--ink h2,
.couture-sect-band.--ink h3,
.couture-sect-band.--ink p {
  color: inherit;
}
.couture-sect-band.--gradient {
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)),
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)));
}
.couture-sect-band.--gradient-ink {
  background: linear-gradient(135deg,
    var(--c-ink),
    color-mix(in oklab, var(--c-ink) 70%, var(--c-accent)));
  color: var(--c-paper);
}

/* V6.388 #28 — .couture-checkout-shell — full checkout 2-col layout shell
   Outseta/Burb-tier: 2-col checkout shell with form on left + sticky order
   summary on right. For full checkout page chrome. */
.couture-checkout-shell {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-checkout-shell .cs-form {
  min-width: 0;
}
.couture-checkout-shell .cs-summary {
  position: sticky;
  top: 96px;
  align-self: start;
}
@media (max-width: 900px) {
  .couture-checkout-shell {
    grid-template-columns: 1fr;
  }
  .couture-checkout-shell .cs-summary {
    position: static;
  }
}

/* V6.388 #29 — .couture-form-section — sub-section within a form (grouped fields)
   Outseta/Mobbin form: title + grouped fields container. Use within a parent
   `.couture-form-card` for sub-sections (e.g. "Shipping" / "Payment" / "Review"). */
.couture-form-section {
  margin-block: clamp(20px, 3vw, 28px);
  padding-bottom: clamp(20px, 3vw, 28px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-form-section:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.couture-form-section .fs-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.couture-form-section .fs-title .fs-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}
.couture-form-section .fs-sub {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 16px;
}
.couture-form-section .fs-fields {
  display: grid;
  gap: 14px;
}
.couture-form-section .fs-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 520px) {
  .couture-form-section .fs-row-2 {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #30 — .couture-icon-card-grid-4 — 4-up icon-led card grid (denser feature row)
   Outseta/Talkbase-tier: 4-col grid with smaller icon cards (smaller than #34/#10).
   For "core capabilities" hero strip when 4 features fit. */
.couture-icon-card-grid-4 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-block: clamp(32px, 5vw, 48px);
}
.couture-icon-card-grid-4 .icg-card {
  padding: clamp(18px, 2.5vw, 22px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 12px;
  transition: border-color .2s, transform .2s;
}
.couture-icon-card-grid-4 .icg-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  transform: translateY(-2px);
}
.couture-icon-card-grid-4 .icg-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
  margin-bottom: 12px;
}
.couture-icon-card-grid-4 .icg-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-icon-card-grid-4 .icg-body {
  font: 500 12.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-icon-card-grid-4 .icg-card { transition: none; }
  .couture-icon-card-grid-4 .icg-card:hover { transform: none; }
}

/* V6.388 #31 — .couture-image-quote-overlay — image w/ overlaid quote callout
   Burb/Outverse editorial: full-bleed image with floating quote card overlapping
   bottom-left. For "in conversation with X" hero moments. */
.couture-image-quote-overlay {
  position: relative;
  margin-block: clamp(40px, 6vw, 64px);
}
.couture-image-quote-overlay .iqo-img {
  aspect-ratio: 16/9;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-image-quote-overlay .iqo-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-image-quote-overlay .iqo-card {
  position: absolute;
  left: clamp(20px, 4vw, 56px);
  bottom: clamp(-32px, -4vw, -20px);
  max-width: clamp(280px, 50vw, 480px);
  padding: clamp(22px, 3vw, 28px);
  background: var(--c-paper);
  border-radius: 14px;
  box-shadow: 0 28px 60px -28px color-mix(in oklab, var(--c-ink) 40%, transparent);
}
.couture-image-quote-overlay .iqo-quote {
  font: 500 clamp(16px, 2vw, 20px)/1.45 var(--c-display);
  font-style: italic;
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-image-quote-overlay .iqo-quote::before {
  content: "❝";
  color: var(--c-accent);
  margin-right: 4px;
}
.couture-image-quote-overlay .iqo-cite {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
@media (max-width: 640px) {
  .couture-image-quote-overlay .iqo-card {
    position: relative;
    left: 0;
    bottom: 0;
    margin-top: -20px;
    margin-inline: 16px;
  }
}

/* V6.388 #32 — .couture-feature-tab-group — feature tabs w/ image-content swap
   Outseta/Talkbase-tier interactive feature tour: tab buttons left + image-card
   right that swaps based on active tab. ARIA-driven via [aria-selected]. */
.couture-feature-tab-group {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(28px, 4vw, 48px);
  margin-block: clamp(40px, 6vw, 64px);
  align-items: start;
}
.couture-feature-tab-group .ftg-tabs {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-feature-tab-group .ftg-tab {
  text-align: left;
  background: transparent;
  border: 0;
  border-left: 3px solid transparent;
  padding: 16px 16px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  border-radius: 0 10px 10px 0;
}
.couture-feature-tab-group .ftg-tab:hover {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-feature-tab-group .ftg-tab[aria-selected="true"],
.couture-feature-tab-group .ftg-tab.is-active {
  border-left-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
}
.couture-feature-tab-group .ftg-tab .ftg-tab-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-feature-tab-group .ftg-tab[aria-selected="true"] .ftg-tab-title,
.couture-feature-tab-group .ftg-tab.is-active .ftg-tab-title {
  color: var(--c-accent);
}
.couture-feature-tab-group .ftg-tab .ftg-tab-body {
  font: 500 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-feature-tab-group .ftg-panels {
  position: relative;
}
.couture-feature-tab-group .ftg-panel {
  display: none;
  aspect-ratio: 4/3;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-feature-tab-group .ftg-panel[aria-hidden="false"],
.couture-feature-tab-group .ftg-panel.is-active {
  display: block;
}
.couture-feature-tab-group .ftg-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 760px) {
  .couture-feature-tab-group {
    grid-template-columns: 1fr;
  }
  .couture-feature-tab-group .ftg-tabs {
    flex-direction: row;
    overflow-x: auto;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  }
  .couture-feature-tab-group .ftg-tab {
    border-left: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    flex-shrink: 0;
  }
  .couture-feature-tab-group .ftg-tab[aria-selected="true"],
  .couture-feature-tab-group .ftg-tab.is-active {
    border-left-color: transparent;
    border-bottom-color: var(--c-accent);
  }
}

/* V6.388 #33 — .couture-icon-list-large — large icon-led horizontal list
   Outseta/Talkbase-tier: 2-up vertical-stack rows w/ 56px gradient icon
   container + title + body + meta. For "Why we're different" sections. */
.couture-icon-list-large {
  list-style: none;
  padding: 0;
  margin: clamp(36px, 5vw, 56px) 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: clamp(28px, 4vw, 40px) clamp(36px, 5vw, 56px);
}
.couture-icon-list-large li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: start;
}
.couture-icon-list-large .ill-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 95%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 75%, var(--c-ink)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 24px/1 var(--c-display);
  flex-shrink: 0;
}
.couture-icon-list-large .ill-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-icon-list-large .ill-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-icon-list-large .ill-meta {
  margin-top: 10px;
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
}

/* V6.388 #34 — .couture-section-num-mark — large outline-stroke section number marker
   Burb/Outverse-tier: large outlined accent number used as a section heading
   prefix or marker. Distinct from V6.387 #60 mega-num (full bg watermark) +
   #137 numbered-step-bg (data-step). This is inline as a heading prefix. */
.couture-section-num-mark {
  display: flex;
  align-items: baseline;
  gap: clamp(20px, 3vw, 32px);
  margin-block: clamp(40px, 6vw, 64px) clamp(28px, 4vw, 40px);
}
.couture-section-num-mark .snm-num {
  font: 900 clamp(80px, 11vw, 144px)/0.85 var(--c-display);
  letter-spacing: -0.045em;
  color: transparent;
  -webkit-text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 50%, transparent);
  text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 50%, transparent);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.couture-section-num-mark .snm-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-section-num-mark .snm-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
}
.couture-section-num-mark .snm-head {
  font: 800 clamp(28px, 4vw, 44px)/1.1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
}
.couture-section-num-mark .snm-sub {
  font: 500 16px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
}

/* V6.388 #35 — .couture-product-grid-min — minimalist 4-up product grid (no chrome)
   Mobbin/Burb shop-archive minimalist: 4-up product grid w/ minimal styling
   (image + title + price). Even tighter than V6.387 #61 shop-card-min. */
.couture-product-grid-min {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(14px, 2vw, 24px) clamp(20px, 3vw, 32px);
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-product-grid-min .pgm-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.couture-product-grid-min .pgm-img {
  aspect-ratio: 4/5;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
}
.couture-product-grid-min .pgm-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-product-grid-min .pgm-card:hover .pgm-img img {
  transform: scale(1.04);
}
.couture-product-grid-min .pgm-title {
  font: 600 13px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-product-grid-min .pgm-price {
  font: 700 13px/1 var(--c-display);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: reduce) {
  .couture-product-grid-min .pgm-img img { transition: none; }
  .couture-product-grid-min .pgm-card:hover .pgm-img img { transform: none; }
}

/* V6.388 #36 — .couture-card-vertical-img — vertical card with image at top + content
   Outseta/Burb-tier: standard vertical card w/ aspect-ratio image at top + meta
   below. Padding inside card. Distinct from V6.387 #112 card-row-3 (no image) and
   #84 collection-card (overlay style). For "team / blog post / case study" cards. */
.couture-card-vertical-img {
  display: flex;
  flex-direction: column;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.couture-card-vertical-img:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  box-shadow: 0 18px 40px -22px color-mix(in oklab, var(--c-accent) 18%, transparent);
  transform: translateY(-3px);
}
.couture-card-vertical-img .cvi-img {
  aspect-ratio: 16/10;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  overflow: hidden;
}
.couture-card-vertical-img .cvi-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-card-vertical-img:hover .cvi-img img {
  transform: scale(1.04);
}
.couture-card-vertical-img .cvi-meta {
  padding: clamp(20px, 3vw, 24px);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-vertical-img .cvi-eyebrow {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-card-vertical-img .cvi-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-card-vertical-img .cvi-body {
  font: 500 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-card-vertical-img .cvi-foot {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-vertical-img,
  .couture-card-vertical-img .cvi-img img { transition: none; }
  .couture-card-vertical-img:hover { transform: none; }
  .couture-card-vertical-img:hover .cvi-img img { transform: none; }
}

/* V6.388 #37 — .couture-blockquote-card — premium boxed blockquote w/ source
   Burb/Outverse editorial: full quote card w/ accent ❝ mark in corner +
   30px italic body + cite + source-cite line. Distinct from V6.387 #12
   quote-card (single-line quote) and V6.388 #1 quote-pull-card (with author
   photo). For "from a longer interview" inline pull-quotes. */
.couture-blockquote-card {
  position: relative;
  padding: clamp(36px, 5vw, 48px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 18px;
  margin-block: clamp(36px, 5vw, 56px);
  overflow: hidden;
}
.couture-blockquote-card::before {
  content: "❝";
  position: absolute;
  right: clamp(20px, 3vw, 28px);
  top: clamp(-12px, -1vw, -8px);
  font: 900 clamp(80px, 12vw, 140px)/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 22%, transparent);
  pointer-events: none;
}
.couture-blockquote-card .bc-text {
  position: relative;
  font: 500 clamp(20px, 2.6vw, 28px)/1.4 var(--c-display);
  font-style: italic;
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin-bottom: 28px;
  max-width: 60ch;
}
.couture-blockquote-card .bc-cite {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 12px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-blockquote-card .bc-cite .bc-source {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  padding-left: 12px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #38 — .couture-process-flow-arrows — flowing process diagram (chevron arrows)
   Outseta/Talkbase-tier: horizontal flow of 3-4 steps connected by chevron
   arrows. Distinct from V6.387 #51 process-bar (full-width bar) + #92 step-circle
   (line connectors): this uses ▶ chevrons between steps. */
.couture-process-flow-arrows {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: clamp(12px, 2vw, 18px);
  align-items: center;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-process-flow-arrows .pfa-step {
  padding: clamp(20px, 3vw, 26px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-process-flow-arrows .pfa-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-process-flow-arrows .pfa-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-process-flow-arrows .pfa-body {
  font: 500 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-process-flow-arrows .pfa-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 22px/1 var(--c-display);
  color: var(--c-accent);
  opacity: 0.7;
}
.couture-process-flow-arrows .pfa-arrow::before {
  content: "▶";
}
@media (max-width: 760px) {
  .couture-process-flow-arrows {
    grid-template-columns: 1fr;
  }
  .couture-process-flow-arrows .pfa-arrow {
    transform: rotate(90deg);
  }
}

/* V6.388 #39 — .couture-stat-cell-3up — vertical 3-up stat cells (centered)
   Outseta/Talkbase-tier: 3-up centered stat cells with massive 80px tabular
   number on top + label below. Smaller than V6.387 #95 large-stat-trio (112px)
   for inline use within sections. */
.couture-stat-cell-3up {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(28px, 4vw, 40px);
  margin-block: clamp(28px, 4vw, 40px);
  padding: clamp(24px, 4vw, 32px) 0;
}
.couture-stat-cell-3up .scl-cell {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-stat-cell-3up .scl-num {
  font: 800 clamp(48px, 6vw, 80px)/0.95 var(--c-display);
  letter-spacing: -0.035em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-cell-3up .scl-num em {
  color: var(--c-accent);
  font-style: normal;
}
.couture-stat-cell-3up .scl-label {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-stat-cell-3up .scl-sub {
  font: 500 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 4px;
  max-width: 28ch;
  margin-inline: auto;
}

/* V6.388 #40 — .couture-link-button-row — refined dual-CTA button row
   Outseta/Burb-tier hero: 2-CTA inline row with primary (ink) + secondary
   (ghost) buttons. Standard hero CTA combo. */
.couture-link-button-row {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-link-button-row .lbr-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 26px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 12px;
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.couture-link-button-row .lbr-primary:hover {
  background: var(--c-accent);
  transform: translateY(-2px);
}
.couture-link-button-row .lbr-primary::after {
  content: "→";
  font-weight: 500;
  transition: transform .2s;
}
.couture-link-button-row .lbr-primary:hover::after {
  transform: translateX(3px);
}
.couture-link-button-row .lbr-secondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 14px 22px;
  background: transparent;
  color: var(--c-ink);
  border-radius: 12px;
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  border: 1.5px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: border-color .18s, color .18s;
}
.couture-link-button-row .lbr-secondary:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.couture-link-button-row .lbr-tertiary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 14px 8px;
  background: transparent;
  color: var(--c-ink-soft);
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: color .18s;
}
.couture-link-button-row .lbr-tertiary:hover {
  color: var(--c-accent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-button-row .lbr-primary,
  .couture-link-button-row .lbr-primary::after { transition: none; }
  .couture-link-button-row .lbr-primary:hover { transform: none; }
  .couture-link-button-row .lbr-primary:hover::after { transform: none; }
}

/* V6.388 #41 — .couture-card-image-thumb-row — premium thumbnail-image card row
   Burb/Outverse-tier: card with multi-image thumbnail row at top + content below.
   For "case study with screenshots" / "gallery preview" cards. */
.couture-card-image-thumb-row {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.couture-card-image-thumb-row .citr-imgs {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 4px;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  aspect-ratio: 16/9;
}
.couture-card-image-thumb-row .citr-imgs .citr-img {
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-card-image-thumb-row .citr-imgs .citr-img:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
}
.couture-card-image-thumb-row .citr-imgs .citr-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-card-image-thumb-row .citr-meta {
  padding: clamp(20px, 3vw, 24px);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-image-thumb-row .citr-eyebrow {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-card-image-thumb-row .citr-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-card-image-thumb-row .citr-body {
  font: 500 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #42 — .couture-list-divided — list with mid-row dotted divider segments
   Outseta/Mobbin-tier docs: list rows where each row has a left + right segment
   joined by dotted middle filler (think table-of-contents with leader dots). */
.couture-list-divided {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 40px) 0;
}
.couture-list-divided li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-list-divided li:last-child {
  border-bottom: 0;
}
.couture-list-divided li .ld-label {
  font: 600 14.5px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-list-divided li .ld-dots {
  border-bottom: 1px dotted color-mix(in oklab, var(--c-line) 80%, transparent);
  height: 1em;
  align-self: end;
  margin: 0 4px 4px;
}
.couture-list-divided li .ld-value {
  font: 700 14px/1.4 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-list-divided li .ld-value em {
  color: var(--c-accent);
  font-style: normal;
}

/* V6.388 #43 — .couture-pill-stack — vertical pill stack (filter facets)
   Outseta/Mobbin shop archive: vertical stack of filter facet pills with
   counts. Distinct from V6.387 #71 tag-chip (single) and V6.387 #147
   pill-cluster (wrapped row). This is vertically stacked + has counts. */
.couture-pill-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-block: clamp(16px, 2vw, 24px);
}
.couture-pill-stack .ps-pill {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 8px 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  font: 600 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s, background .18s;
}
.couture-pill-stack .ps-pill:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
}
.couture-pill-stack .ps-pill[aria-pressed="true"],
.couture-pill-stack .ps-pill.--active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-pill-stack .ps-pill .ps-count {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-pill-stack .ps-pill[aria-pressed="true"] .ps-count,
.couture-pill-stack .ps-pill.--active .ps-count {
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}

/* V6.388 #44 — .couture-card-tilt-stack — tilted overlapping image stack
   Burb/Outverse-tier hero / lookbook: 3 product-image cards in a tilted
   stack ("polaroid" feel). Distinct from V6.387 #44 img-deck (3 photos in
   horizontal layout): this is single-column tilted stack. */
.couture-card-tilt-stack {
  position: relative;
  width: clamp(220px, 36vw, 360px);
  aspect-ratio: 3/4;
  margin: clamp(40px, 6vw, 64px) auto;
  isolation: isolate;
}
.couture-card-tilt-stack > * {
  position: absolute;
  inset: 0;
  background: var(--c-paper);
  border: 8px solid var(--c-paper);
  border-radius: 6px;
  box-shadow: 0 18px 40px -22px color-mix(in oklab, var(--c-ink) 32%, transparent);
  overflow: hidden;
}
.couture-card-tilt-stack > *:nth-child(1) {
  transform: rotate(-6deg) translate(-12%, 4%);
  z-index: 1;
}
.couture-card-tilt-stack > *:nth-child(2) {
  transform: rotate(2deg);
  z-index: 2;
}
.couture-card-tilt-stack > *:nth-child(3) {
  transform: rotate(8deg) translate(12%, -4%);
  z-index: 3;
}
.couture-card-tilt-stack > * img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* V6.388 #45 — .couture-keyboard-shortcut — refined kbd-style key combo display
   Outseta/Linear-tier docs: keyboard shortcut display with raised keys.
   For "Press ⌘K to search" / shortcut docs. */
.couture-keyboard-shortcut {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-keyboard-shortcut .ks-key {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  padding: 3px 8px;
  background: linear-gradient(180deg,
    var(--c-paper),
    color-mix(in oklab, var(--c-paper) 92%, var(--c-ink)));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom-width: 2px;
  border-radius: 5px;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-keyboard-shortcut .ks-plus {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin: 0 1px;
}
.couture-keyboard-shortcut .ks-label {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-left: 6px;
}

/* V6.388 #46 — .couture-feature-half-image — split feature with photo on one side
   Outseta/Burb-tier: 50/50 image+content feature block w/ accent eyebrow + 28px
   title + body + ✓ list. Distinct from V6.387 #9 spotlight-card (similar shape
   but standalone, this one chains for vertical narrative). */
.couture-feature-half-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  padding: clamp(36px, 5vw, 56px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-feature-half-image:last-of-type {
  border-bottom: 0;
}
.couture-feature-half-image .fhi-media {
  aspect-ratio: 4/3;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-feature-half-image .fhi-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-feature-half-image .fhi-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-feature-half-image .fhi-title {
  font: 800 clamp(22px, 3vw, 32px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-feature-half-image .fhi-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}
.couture-feature-half-image .fhi-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.couture-feature-half-image .fhi-list li {
  position: relative;
  padding-left: 22px;
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-feature-half-image .fhi-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-weight: 700;
}
.couture-feature-half-image.--reverse {
  grid-template-areas: "content media";
}
.couture-feature-half-image.--reverse .fhi-media { grid-area: media; }
.couture-feature-half-image.--reverse .fhi-content { grid-area: content; }
@media (max-width: 760px) {
  .couture-feature-half-image,
  .couture-feature-half-image.--reverse {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
}

/* V6.388 #47 — .couture-callout-quote-line — 1-line accent-rule quote callout
   Burb/Outverse-tier short-form pull: small 1-line quote callout with accent
   border-left + cite. For inline mid-prose quote rather than full block. */
.couture-callout-quote-line {
  padding: 14px 18px;
  margin-block: clamp(20px, 3vw, 28px);
  border-left: 4px solid var(--c-accent);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 0 8px 8px 0;
}
.couture-callout-quote-line .cql-text {
  font: 500 17px/1.5 var(--c-body);
  font-style: italic;
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-callout-quote-line .cql-cite {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
}

/* V6.388 #48 — .couture-figure-spread — landscape figure with caption row
   Burb/Outverse editorial: large landscape image with figcaption + figure-num
   + alt-credit row below. For "the catalogue" / "field notes" content with
   detailed image meta. */
.couture-figure-spread {
  margin-block: clamp(40px, 6vw, 64px);
}
.couture-figure-spread .fs-img {
  aspect-ratio: 16/9;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  margin-bottom: 16px;
}
.couture-figure-spread .fs-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-figure-spread .fs-caption-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: baseline;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-figure-spread .fs-num {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-figure-spread .fs-caption {
  font: 500 14px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-figure-spread .fs-credit {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (max-width: 640px) {
  .couture-figure-spread .fs-caption-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* V6.388 #49 — .couture-team-card-min — minimalist team card (photo + name + role)
   Outseta/Mobbin-tier compact team grid: small 1:1 photo + name + role only.
   Distinct from V6.387 #20 team-card (with bio + hover scale): this is denser. */
.couture-team-card-min {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
}
.couture-team-card-min .tcm-photo {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  margin-bottom: 14px;
  transition: transform .25s, box-shadow .25s;
}
.couture-team-card-min:hover .tcm-photo {
  transform: scale(1.04);
  box-shadow: 0 16px 36px -18px color-mix(in oklab, var(--c-accent) 32%, transparent);
}
.couture-team-card-min .tcm-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-team-card-min .tcm-name {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-team-card-min .tcm-role {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-team-card-min .tcm-photo { transition: none; }
  .couture-team-card-min:hover .tcm-photo { transform: none; }
}

/* V6.388 #50 — .couture-stat-tile-grid-2x2 — 2×2 grid of stat tiles
   Outseta/Linear dashboard-tier: 2×2 grid of stat tiles with KPI value + label
   + change percentage. Distinct from V6.387 #11 kpi-row (4-up horizontal): this
   is a 2×2 quadrant for dashboard-style stat panels. */
.couture-stat-tile-grid-2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-stat-tile-grid-2x2 .stg-tile {
  padding: clamp(20px, 3vw, 26px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-stat-tile-grid-2x2 .stg-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-stat-tile-grid-2x2 .stg-value {
  font: 800 32px/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-tile-grid-2x2 .stg-foot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-stat-tile-grid-2x2 .stg-delta {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  font: 700 11px/1 var(--c-mono);
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
}
.couture-stat-tile-grid-2x2 .stg-delta.--down {
  background: color-mix(in oklab, #d97706 14%, transparent);
  color: #d97706;
}
@media (max-width: 480px) {
  .couture-stat-tile-grid-2x2 {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #51 — .couture-cite-card — small citation/source card
   Outseta/Mobbin docs-tier: tiny inline citation/source card with title + URL +
   accent indicator. For "Sources" / "References" inline lists. */
.couture-cite-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 12px 14px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 8px;
  margin-block: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color .18s;
}
.couture-cite-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
}
.couture-cite-card .cc-num {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent);
  align-self: start;
  padding-top: 2px;
}
.couture-cite-card .cc-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-cite-card .cc-title {
  font: 600 13.5px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-cite-card .cc-url {
  font: 500 11.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  word-break: break-all;
}

/* V6.388 #52 — .couture-banner-stack — vertically stacked banner block (testimonial+cta)
   Burb/Outverse-tier landing: vertical stack of "Trusted by — testimonial — CTA"
   for max-conversion landing sections. */
.couture-banner-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(20px, 3vw, 28px);
  padding: clamp(56px, 9vw, 96px) clamp(24px, 5vw, 64px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 22px;
  margin-block: clamp(48px, 7vw, 80px);
}
.couture-banner-stack .bs-trust {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
}
.couture-banner-stack .bs-trust strong {
  color: var(--c-ink);
  font-weight: 800;
}
.couture-banner-stack .bs-quote {
  font: 500 clamp(20px, 2.6vw, 28px)/1.4 var(--c-display);
  font-style: italic;
  letter-spacing: -0.018em;
  color: var(--c-ink);
  max-width: 50ch;
}
.couture-banner-stack .bs-cite {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
}
.couture-banner-stack .bs-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  overflow: hidden;
}
.couture-banner-stack .bs-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-banner-stack .bs-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-banner-stack .bs-role {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-banner-stack .bs-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  margin-top: 6px;
  transition: background .2s, transform .2s;
}
.couture-banner-stack .bs-btn:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-banner-stack .bs-btn { transition: none; }
  .couture-banner-stack .bs-btn:hover { transform: none; }
}

/* V6.388 #53 — .couture-icon-row-flat — minimal flat icon-only row
   Outseta/Mobbin trust strip: 4-up row of plain SVG-style icons (no card chrome
   no labels). For "We integrate with…" / "Made for…" minimal logo strips. */
.couture-icon-row-flat {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(24px, 4vw, 36px) 0;
  margin-block: clamp(28px, 4vw, 40px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-icon-row-flat .irf-icon {
  width: clamp(28px, 4vw, 36px);
  height: clamp(28px, 4vw, 36px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 20px/1 var(--c-display);
  color: var(--c-ink-soft);
  opacity: 0.65;
  transition: opacity .18s, color .18s;
}
.couture-icon-row-flat .irf-icon:hover {
  opacity: 1;
  color: var(--c-ink);
}
.couture-icon-row-flat .irf-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  margin-right: clamp(20px, 3vw, 32px);
}

/* V6.388 #54 — .couture-card-mini-stat — single mini-stat in a tight card
   Outseta/Talkbase-tier inline-card: single stat with leading 32px accent num
   + body description. Smallest stat-card variant. */
.couture-card-mini-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 12px;
  margin-block: 10px;
}
.couture-card-mini-stat .cms-num {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-card-mini-stat .cms-text .cms-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-card-mini-stat .cms-text .cms-body {
  font: 500 12.5px/1.45 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.388 #55 — .couture-toggle-switch — premium toggle switch (settings)
   Outseta/Linear-tier settings: 32px-wide pill toggle that slides on/off via
   `[aria-checked]`. JS-free transition. */
.couture-toggle-switch {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.couture-toggle-switch .ts-rail {
  position: relative;
  width: 36px;
  height: 20px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 999px;
  transition: background .2s;
  flex-shrink: 0;
}
.couture-toggle-switch .ts-rail::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--c-paper);
  box-shadow: 0 2px 4px color-mix(in oklab, var(--c-ink) 14%, transparent);
  transition: left .2s;
}
.couture-toggle-switch[aria-checked="true"] .ts-rail,
.couture-toggle-switch.--on .ts-rail {
  background: var(--c-accent);
}
.couture-toggle-switch[aria-checked="true"] .ts-rail::before,
.couture-toggle-switch.--on .ts-rail::before {
  left: 18px;
}
.couture-toggle-switch .ts-label {
  font: 600 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-toggle-switch .ts-helper {
  font: 500 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-toggle-switch .ts-rail,
  .couture-toggle-switch .ts-rail::before { transition: none; }
}

/* V6.388 #56 — .couture-radio-card — radio-button card (premium choice picker)
   Outseta/Burb-tier checkout: card-shape radio button with title + description
   + accent left-border on selected state. For "shipping method" / "plan" picker. */
.couture-radio-card {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 12px;
  margin-block: 8px;
  cursor: pointer;
  transition: border-color .18s, background .18s;
}
.couture-radio-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
}
.couture-radio-card[aria-checked="true"],
.couture-radio-card.--checked {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
}
.couture-radio-card .rc-circle {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  transition: border-color .18s;
}
.couture-radio-card[aria-checked="true"] .rc-circle,
.couture-radio-card.--checked .rc-circle {
  border-color: var(--c-accent);
}
.couture-radio-card[aria-checked="true"] .rc-circle::after,
.couture-radio-card.--checked .rc-circle::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-radio-card .rc-text .rc-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-radio-card .rc-text .rc-body {
  font: 500 12.5px/1.45 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-radio-card .rc-aux {
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

/* V6.388 #57 — .couture-icon-grid-asym — asymmetric icon grid w/ varied sizes
   Outseta/Talkbase-tier landing: 5-tile asymmetric icon grid (1 large feature
   + 4 small adjacent). Bento-feel without product images. */
.couture-icon-grid-asym {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
  min-height: 360px;
}
.couture-icon-grid-asym > * {
  padding: clamp(22px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: flex-end;
}
.couture-icon-grid-asym > *:nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-icon-grid-asym .iga-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
}
.couture-icon-grid-asym > *:nth-child(1) .iga-icon {
  width: 56px;
  height: 56px;
  font-size: 24px;
}
.couture-icon-grid-asym .iga-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-icon-grid-asym > *:nth-child(1) .iga-title {
  font-size: 24px;
}
.couture-icon-grid-asym .iga-body {
  font: 500 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-icon-grid-asym {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    min-height: 0;
  }
  .couture-icon-grid-asym > *:nth-child(1) {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* V6.388 #58 — .couture-figure-spread-cap-side — figure w/ side-anchored caption
   Burb/Outverse editorial: large 3:2 image with caption + meta anchored on the
   side (not below). Distinct from V6.387 #35 image-frame and #48 figure-spread:
   this has caption laterally NEXT TO the image. */
.couture-figure-spread-cap-side {
  display: grid;
  grid-template-columns: 2.4fr 1fr;
  gap: clamp(20px, 3vw, 32px);
  margin-block: clamp(40px, 6vw, 64px);
  align-items: end;
}
.couture-figure-spread-cap-side .fscs-img {
  aspect-ratio: 3/2;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-figure-spread-cap-side .fscs-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-figure-spread-cap-side .fscs-cap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: clamp(8px, 1.5vw, 14px);
}
.couture-figure-spread-cap-side .fscs-num {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-figure-spread-cap-side .fscs-text {
  font: 500 14px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-figure-spread-cap-side .fscs-credit {
  font: 500 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  padding-top: 8px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
@media (max-width: 720px) {
  .couture-figure-spread-cap-side {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #59 — .couture-glyph-grid-3 — 3-up icon-only display (no labels)
   Outseta/Burb-tier minimal: 3-up large 64px decorative icon row (no titles, no
   bodies). For "the symbols" / "the seal" / decorative emphasis. */
.couture-glyph-grid-3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(40px, 6vw, 80px);
  padding: clamp(28px, 4vw, 40px) 0;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-glyph-grid-3 .gg-glyph {
  width: clamp(48px, 7vw, 72px);
  height: clamp(48px, 7vw, 72px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 36px/1 var(--c-display);
  color: var(--c-accent);
  opacity: 0.85;
  transition: opacity .22s, transform .22s;
}
.couture-glyph-grid-3 .gg-glyph:hover {
  opacity: 1;
  transform: scale(1.05);
}
.couture-glyph-grid-3 .gg-glyph.--ink { color: var(--c-ink); }
@media (prefers-reduced-motion: reduce) {
  .couture-glyph-grid-3 .gg-glyph { transition: none; }
  .couture-glyph-grid-3 .gg-glyph:hover { transform: none; }
}

/* V6.388 #60 — .couture-card-list-flat — vertical card-list w/ no chrome
   Outseta/Mobbin-tier minimalist content listing: vertical stack of "card"-like
   rows w/ NO border/bg (just spacing + hairline between). For "Recent updates"
   / "Latest activity" minimal lists. */
.couture-card-list-flat {
  list-style: none;
  padding: 0;
  margin: clamp(24px, 4vw, 36px) 0;
  display: flex;
  flex-direction: column;
}
.couture-card-list-flat li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: baseline;
  padding: clamp(16px, 2vw, 22px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-card-list-flat li:last-child {
  border-bottom: 0;
}
.couture-card-list-flat .clf-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-card-list-flat .clf-eyebrow {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-card-list-flat .clf-title {
  font: 700 16px/1.35 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-card-list-flat a.clf-row {
  text-decoration: none;
  color: inherit;
}
.couture-card-list-flat a.clf-row:hover .clf-title {
  color: var(--c-accent);
}
.couture-card-list-flat .clf-meta {
  font: 500 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  white-space: nowrap;
}

/* V6.388 #61 — .couture-comparison-row — single horizontal compare row (us vs them)
   Outseta/Talkbase-tier: single row with our value (accent ✓) vs their value
   (✗) for "us vs them" feature comparisons. Lighter than V6.387 #150 card-comparison
   (full VS card) and #30 comparison-table (full table). */
.couture-comparison-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-comparison-row:first-child {
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-block: 18px;
}
.couture-comparison-row:first-child .cr-feature {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-comparison-row:first-child .cr-us,
.couture-comparison-row:first-child .cr-them {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-align: center;
}
.couture-comparison-row:first-child .cr-us { color: var(--c-accent); }
.couture-comparison-row:first-child .cr-them { color: var(--c-ink-soft); }
.couture-comparison-row .cr-feature {
  font: 600 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-comparison-row .cr-us,
.couture-comparison-row .cr-them {
  text-align: center;
  font: 700 16px/1 var(--c-display);
}
.couture-comparison-row .cr-us {
  color: var(--c-accent);
}
.couture-comparison-row .cr-them {
  color: var(--c-ink-soft);
  opacity: 0.6;
}

/* V6.388 #62 — .couture-tile-fact — single fact tile with massive number
   Burb/Outverse-tier: single fact tile with massive 96px number + label + body
   in paper-tinted card. For inline emphasis "1 in 4 customers..." */
.couture-tile-fact {
  padding: clamp(28px, 4vw, 40px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 18px;
  margin-block: clamp(28px, 4vw, 40px);
  text-align: center;
  max-width: 480px;
  margin-inline: auto;
}
.couture-tile-fact .tf-num {
  font: 800 clamp(56px, 8vw, 96px)/0.95 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
  margin-bottom: 12px;
}
.couture-tile-fact .tf-label {
  font: 700 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-tile-fact .tf-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #63 — .couture-side-photo-quote — large side-photo + quote layout
   Burb/Outverse-tier: 50/50 layout with portrait image left + large italic
   quote + author cite right. For "in conversation with" feature spread. */
.couture-side-photo-quote {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(36px, 5vw, 56px);
  align-items: center;
  padding: clamp(36px, 5vw, 56px) 0;
  margin-block: clamp(40px, 6vw, 64px);
}
.couture-side-photo-quote .spq-photo {
  aspect-ratio: 4/5;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-side-photo-quote .spq-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-side-photo-quote .spq-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
  margin-bottom: 22px;
}
.couture-side-photo-quote .spq-quote {
  font: 500 clamp(22px, 3.2vw, 36px)/1.35 var(--c-display);
  font-style: italic;
  letter-spacing: -0.022em;
  color: var(--c-ink);
  margin-bottom: 24px;
}
.couture-side-photo-quote .spq-quote::before {
  content: "❝";
  color: var(--c-accent);
  margin-right: 6px;
}
.couture-side-photo-quote .spq-cite-name {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-side-photo-quote .spq-cite-role {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-side-photo-quote.--reverse {
  grid-template-areas: "content photo";
}
.couture-side-photo-quote.--reverse .spq-photo { grid-area: photo; }
.couture-side-photo-quote.--reverse .spq-content { grid-area: content; }
@media (max-width: 760px) {
  .couture-side-photo-quote,
  .couture-side-photo-quote.--reverse {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
}

/* V6.388 #64 — .couture-loyalty-tier-row — 4-tier loyalty membership benefit row
   Outseta/Burb-tier accounts: 4-up tier comparison row (Bronze/Silver/Gold/Platinum)
   showing benefits per tier. Active tier highlighted accent. */
.couture-loyalty-tier-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-loyalty-tier-row .ltr-tier {
  padding: clamp(20px, 3vw, 26px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: center;
}
.couture-loyalty-tier-row .ltr-tier.--active {
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border-color: var(--c-accent);
  box-shadow: 0 14px 32px -18px color-mix(in oklab, var(--c-accent) 24%, transparent);
}
.couture-loyalty-tier-row .ltr-tier .ltr-name {
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink);
}
.couture-loyalty-tier-row .ltr-tier.--active .ltr-name {
  color: var(--c-accent);
}
.couture-loyalty-tier-row .ltr-tier .ltr-threshold {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-loyalty-tier-row .ltr-tier .ltr-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 6px;
  text-align: left;
}
.couture-loyalty-tier-row .ltr-tier .ltr-list li {
  font: 500 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  padding-left: 16px;
  position: relative;
}
.couture-loyalty-tier-row .ltr-tier .ltr-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-weight: 700;
}
@media (max-width: 760px) {
  .couture-loyalty-tier-row {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .couture-loyalty-tier-row {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #65 — .couture-side-text-icon — small inline text + leading icon row
   Outseta/Mobbin: tiny inline text row with leading 18px accent icon. For trust
   markers like "🔒 SSL secure" / "✓ Verified". Smaller than #57 trust-row. */
.couture-side-text-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-block: 4px;
  font: 600 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-side-text-icon::before {
  content: attr(data-glyph);
  font-size: 14px;
  color: var(--c-accent);
}
.couture-side-text-icon strong {
  font-weight: 700;
}
.couture-side-text-icon + .couture-side-text-icon {
  margin-left: 14px;
}

/* V6.388 #66 — .couture-card-vertical-num — vertical card with large prefix number
   Outseta/Talkbase-tier feature card variant: vertical card with large 56px
   accent prefix number on top + title + body. Distinct from V6.388 #36
   card-vertical-img (image-led): this is number-led for ordered features. */
.couture-card-vertical-num {
  padding: clamp(28px, 4vw, 36px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color .22s, transform .22s, box-shadow .22s;
}
.couture-card-vertical-num:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -22px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-card-vertical-num .cvn-num {
  font: 800 clamp(40px, 5vw, 56px)/1 var(--c-display);
  letter-spacing: -0.035em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.couture-card-vertical-num .cvn-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-card-vertical-num .cvn-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-vertical-num { transition: none; }
  .couture-card-vertical-num:hover { transform: none; }
}

/* V6.388 #67 — .couture-step-grid-3 — 3-up step grid with vertical bar accent
   Outseta/Talkbase-tier: 3-up step grid where each step has a vertical accent
   bar on left + num + body. Distinct from V6.387 #51 process-bar (horizontal
   bar) + #92 step-circle (with connectors): this is grid layout w/ side-bar. */
.couture-step-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 28px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-step-grid-3 .sg-step {
  position: relative;
  padding: clamp(20px, 3vw, 26px) clamp(20px, 3vw, 26px) clamp(20px, 3vw, 26px) clamp(28px, 4vw, 32px);
}
.couture-step-grid-3 .sg-step::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: var(--c-accent);
  border-radius: 3px;
}
.couture-step-grid-3 .sg-num {
  font: 800 14px/1 var(--c-mono);
  color: var(--c-accent);
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}
.couture-step-grid-3 .sg-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-step-grid-3 .sg-body {
  font: 500 14px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 760px) {
  .couture-step-grid-3 {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #68 — .couture-row-divider — slim section divider with accent bullet
   Burb/Outverse-tier: slim hairline rule with center accent bullet • mark.
   Lighter than V6.387 #16 couture-divider (◆) and #119 divider-icon. */
.couture-row-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-block: clamp(48px, 7vw, 80px);
}
.couture-row-divider::before,
.couture-row-divider::after {
  content: "";
  flex: 0 1 clamp(80px, 14vw, 160px);
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-row-divider .rd-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 16%, transparent);
}

/* V6.388 #69 — .couture-product-row-line — single horizontal product line item
   Mobbin/Burb shop archive: line-style product item (image + name + price) for
   list view of products (vs. grid view). For shop list-mode rendering. */
.couture-product-row-line {
  display: grid;
  grid-template-columns: 80px 1fr auto auto;
  gap: 18px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  text-decoration: none;
  color: inherit;
  transition: background .18s;
}
.couture-product-row-line:hover {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-product-row-line .prl-img {
  width: 80px;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-product-row-line .prl-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-product-row-line .prl-meta .prl-title {
  font: 600 15px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-product-row-line .prl-meta .prl-eyebrow {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-product-row-line .prl-price {
  font: 700 15px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-product-row-line .prl-price .prl-was {
  display: block;
  font: 500 12px/1 var(--c-mono);
  text-decoration: line-through;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-product-row-line .prl-cta {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 8px;
  font: 700 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .18s;
}
.couture-product-row-line .prl-cta:hover {
  background: var(--c-accent);
}
@media (max-width: 640px) {
  .couture-product-row-line {
    grid-template-columns: 64px 1fr auto;
  }
  .couture-product-row-line .prl-cta {
    grid-column: 1 / -1;
    text-align: center;
    justify-content: center;
  }
}

/* V6.388 #70 — .couture-pill-arrow — small accent-arrow pill for inline flagging
   Outseta/Mobbin-tier: small arrow pill with leading dot + body for "What's
   new" / "Just shipped" / "Upcoming" flag. */
.couture-pill-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px 5px 8px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  border-radius: 999px;
  font: 700 12px/1.4 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-accent);
  text-decoration: none;
  margin-block: clamp(8px, 1.5vw, 14px);
  transition: background .18s, color .18s;
}
.couture-pill-arrow:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-pill-arrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
  flex-shrink: 0;
}
.couture-pill-arrow:hover::before {
  background: var(--c-paper);
}
.couture-pill-arrow::after {
  content: "→";
  font: 600 14px/1 var(--c-display);
  transition: transform .22s;
}
.couture-pill-arrow:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-pill-arrow,
  .couture-pill-arrow::after { transition: none; }
  .couture-pill-arrow:hover::after { transform: none; }
}

/* V6.388 #71 — .couture-callout-box-shadow — premium boxed callout w/ floating shadow
   Outseta/Mobbin-tier: boxed callout with crisp paper bg + 4-layer composite
   shadow that makes it appear "floating" above content. For premium emphasis
   blocks within long-form. */
.couture-callout-box-shadow {
  padding: clamp(28px, 4vw, 36px);
  background: var(--c-paper);
  border-radius: 16px;
  margin-block: clamp(36px, 5vw, 56px);
  box-shadow:
    0 1px 0 color-mix(in oklab, var(--c-ink) 6%, transparent),
    0 8px 24px -8px color-mix(in oklab, var(--c-ink) 8%, transparent),
    0 24px 48px -20px color-mix(in oklab, var(--c-ink) 12%, transparent),
    0 48px 80px -40px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.couture-callout-box-shadow .cbs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-callout-box-shadow .cbs-eyebrow::before {
  content: "";
  width: 18px;
  height: 1px;
  background: var(--c-accent);
}
.couture-callout-box-shadow .cbs-title {
  font: 800 clamp(22px, 2.6vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-callout-box-shadow .cbs-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #72 — .couture-img-grid-mosaic-4 — 4-up irregular image grid
   Burb/Outverse editorial: 4-up image mosaic with varied aspect ratios in a
   2×2 grid. For "the campaign" / "scenes" image set. */
.couture-img-grid-mosaic-4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
  min-height: 480px;
}
.couture-img-grid-mosaic-4 .igm-cell {
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  position: relative;
}
.couture-img-grid-mosaic-4 .igm-cell:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}
.couture-img-grid-mosaic-4 .igm-cell:nth-child(2) {
  grid-column: 2;
  grid-row: 1 / 3;
}
.couture-img-grid-mosaic-4 .igm-cell:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}
.couture-img-grid-mosaic-4 .igm-cell:nth-child(4) {
  grid-column: 1 / -1;
  grid-row: auto;
  display: none;
}
.couture-img-grid-mosaic-4 .igm-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-img-grid-mosaic-4 .igm-cell:hover img {
  transform: scale(1.04);
}
@media (max-width: 720px) {
  .couture-img-grid-mosaic-4 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: 0;
  }
  .couture-img-grid-mosaic-4 .igm-cell:nth-child(1),
  .couture-img-grid-mosaic-4 .igm-cell:nth-child(2),
  .couture-img-grid-mosaic-4 .igm-cell:nth-child(3) {
    grid-column: 1;
    grid-row: auto;
    aspect-ratio: 4/3;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-img-grid-mosaic-4 .igm-cell img { transition: none; }
  .couture-img-grid-mosaic-4 .igm-cell:hover img { transform: none; }
}

/* V6.388 #73 — .couture-tag-meta-row — single horizontal tag+meta row
   Outseta/Mobbin article-tier: inline row of category-tag pills + meta info
   (date / read-time / author). For article-meta header lines. */
.couture-tag-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-block: clamp(14px, 2vw, 20px);
}
.couture-tag-meta-row .tmr-tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  border-radius: 4px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: background .18s, color .18s;
}
.couture-tag-meta-row .tmr-tag:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-tag-meta-row .tmr-meta {
  font: 500 12.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-tag-meta-row .tmr-meta + .tmr-meta::before {
  content: "·";
  margin-right: 8px;
  color: color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #74 — .couture-card-icon-flat-row — flat icon-led horizontal card row
   Outseta/Talkbase: 4-up flat row of icon + title + body cards (no card chrome
   no shadow, just spacing). Lighter than V6.387 #146 feature-row-flat. */
.couture-card-icon-flat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(20px, 3vw, 32px);
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-card-icon-flat-row .cif-cell {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 14px;
  align-items: start;
}
.couture-card-icon-flat-row .cif-icon {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
  color: var(--c-accent);
  flex-shrink: 0;
}
.couture-card-icon-flat-row .cif-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-icon-flat-row .cif-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #75 — .couture-quote-row-mini — small inline 1-line quote row
   Burb/Outverse-tier: tiny 1-line quote + author inline w/ accent ❝ mark.
   Smallest quote variant. For inline mid-prose quote-asides. */
.couture-quote-row-mini {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 0;
  margin-block: clamp(14px, 2vw, 20px);
}
.couture-quote-row-mini .qrm-quote {
  font: 500 15px/1.5 var(--c-body);
  font-style: italic;
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-quote-row-mini .qrm-quote::before {
  content: "❝";
  color: var(--c-accent);
  margin-right: 4px;
  font-style: normal;
  font-weight: 700;
}
.couture-quote-row-mini .qrm-cite {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  white-space: nowrap;
}
.couture-quote-row-mini .qrm-cite::before {
  content: "—";
  margin-right: 6px;
  color: var(--c-ink-soft);
}

/* V6.388 #76 — .couture-feature-band-2 — 2-up feature band w/ alternating ink-tone
   Outseta/Talkbase-tier landing: 2-up feature band where left card is ink-bg
   and right card is paper-bg for visual differentiation. Each card has eyebrow
   + 26px title + body. */
.couture-feature-band-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-feature-band-2 > * {
  padding: clamp(28px, 4vw, 40px);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-feature-band-2 > *:nth-child(1) {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-feature-band-2 > *:nth-child(2) {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-feature-band-2 .fb2-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-feature-band-2 .fb2-title {
  font: 800 clamp(22px, 2.6vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
}
.couture-feature-band-2 > *:nth-child(2) .fb2-title {
  color: var(--c-ink);
}
.couture-feature-band-2 .fb2-body {
  font: 500 14.5px/1.6 var(--c-body);
  margin-top: auto;
}
.couture-feature-band-2 > *:nth-child(1) .fb2-body {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-feature-band-2 > *:nth-child(2) .fb2-body {
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-feature-band-2 {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #77 — .couture-pill-row-large — large pill/badge inline row
   Outseta/Mobbin-tier hero: 4-up large 36px pill row above headline ("Stripe
   Verified" / "SOC2" / "GDPR" / "ISO27001"). For trust pills above hero
   headlines. Larger than V6.387 #56 tag-grid (which is 8-12 small chips). */
.couture-pill-row-large {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-pill-row-large .prl-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 999px;
  font: 700 12.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-pill-row-large .prl-pill .prl-glyph {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--c-accent);
}
.couture-pill-row-large .prl-pill.--accent {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 36%, transparent);
  color: var(--c-accent);
}

/* V6.388 #78 — .couture-side-tab-group — vertical side-tab nav (settings page)
   Outseta/Mobbin-tier settings: vertical tab nav with section labels +
   counts + active accent indicator. Distinct from V6.387 #123 tab-set-vertical:
   this is for full settings-page nav with grouped sections + count badges. */
.couture-side-tab-group {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 28px);
  padding: clamp(16px, 2vw, 22px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 14px;
}
.couture-side-tab-group .stg-section .stg-section-title {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  margin-bottom: 10px;
  padding-left: 12px;
}
.couture-side-tab-group .stg-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-side-tab-group .stg-tab {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font: 600 13.5px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  border-radius: 6px;
  transition: background .18s, color .18s;
}
.couture-side-tab-group .stg-tab:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-side-tab-group .stg-tab[aria-current="page"],
.couture-side-tab-group .stg-tab.is-active {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-side-tab-group .stg-tab .stg-count {
  font: 600 11px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  color: var(--c-ink-soft);
}
.couture-side-tab-group .stg-tab[aria-current="page"] .stg-count,
.couture-side-tab-group .stg-tab.is-active .stg-count {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}

/* V6.388 #79 — .couture-callout-glass — frosted-glass effect callout (modern UI)
   Outseta/Linear-tier modern UI: backdrop-filter blur callout with semi-transparent
   accent-tinted bg. For "modern" / "Apple-style" surface treatments. */
.couture-callout-glass {
  padding: clamp(24px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-accent) 8%, color-mix(in oklab, var(--c-paper) 80%, transparent));
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid color-mix(in oklab, var(--c-paper) 50%, transparent);
  border-radius: 16px;
  margin-block: clamp(28px, 4vw, 40px);
  box-shadow: 0 16px 40px -22px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-callout-glass .cg-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.couture-callout-glass .cg-title {
  font: 800 clamp(20px, 2.4vw, 26px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.couture-callout-glass .cg-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink);
}
.couture-callout-glass.--ink {
  background: color-mix(in oklab, var(--c-ink) 80%, transparent);
  color: var(--c-paper);
}
.couture-callout-glass.--ink .cg-title { color: var(--c-paper); }
.couture-callout-glass.--ink .cg-body { color: color-mix(in oklab, var(--c-paper) 88%, transparent); }

/* V6.388 #80 — .couture-image-with-anchor — image w/ overlapping anchor card
   Burb/Outverse-tier: image w/ floating anchor-link card overlapping bottom-right
   that says "View product →". Different from V6.388 #31 image-quote-overlay
   (which is a quote callout) — this is a CTA anchor. */
.couture-image-with-anchor {
  position: relative;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-image-with-anchor .iwa-img {
  aspect-ratio: 4/3;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
}
.couture-image-with-anchor .iwa-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-image-with-anchor .iwa-card {
  position: absolute;
  right: clamp(20px, 4vw, 36px);
  bottom: clamp(-20px, -3vw, -16px);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 22px;
  background: var(--c-paper);
  border-radius: 999px;
  box-shadow: 0 18px 40px -20px color-mix(in oklab, var(--c-ink) 32%, transparent);
  font: 700 13px/1 var(--c-display);
  color: var(--c-ink);
  text-decoration: none;
  transition: transform .22s, box-shadow .22s;
}
.couture-image-with-anchor .iwa-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 50px -20px color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-image-with-anchor .iwa-card::after {
  content: "→";
  color: var(--c-accent);
  font-weight: 800;
  transition: transform .22s;
}
.couture-image-with-anchor .iwa-card:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-image-with-anchor .iwa-card,
  .couture-image-with-anchor .iwa-card::after { transition: none; }
  .couture-image-with-anchor .iwa-card:hover { transform: none; }
  .couture-image-with-anchor .iwa-card:hover::after { transform: none; }
}

/* V6.388 #81 — .couture-stat-headline-pair — stat + headline pair (vertical-stack)
   Outseta/Talkbase-tier: vertical-stack stat (huge accent num) + headline + sub
   inline arrangement. For "1M+ users — built by makers" emphasis-pair section. */
.couture-stat-headline-pair {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(28px, 4vw, 40px);
  align-items: center;
  padding: clamp(36px, 5vw, 56px) 0;
  margin-block: clamp(40px, 6vw, 64px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-stat-headline-pair .shp-stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.couture-stat-headline-pair .shp-num {
  font: 800 clamp(56px, 8vw, 96px)/0.95 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-accent);
  font-variant-numeric: tabular-nums;
}
.couture-stat-headline-pair .shp-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-stat-headline-pair .shp-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-stat-headline-pair .shp-head {
  font: 800 clamp(22px, 3vw, 32px)/1.15 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
}
.couture-stat-headline-pair .shp-sub {
  font: 500 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
}
@media (max-width: 720px) {
  .couture-stat-headline-pair {
    grid-template-columns: 1fr;
    gap: clamp(20px, 4vw, 28px);
  }
}

/* V6.388 #82 — .couture-card-action-bar — card with bottom action-bar (split actions)
   Outseta/Burb-tier dashboard: card with content + bottom horizontal action-bar
   that has primary + secondary actions. For "save" / "review" / settings cards. */
.couture-card-action-bar {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
  overflow: hidden;
}
.couture-card-action-bar .cab-content {
  padding: clamp(22px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-action-bar .cab-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
.couture-card-action-bar .cab-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-card-action-bar .cab-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-card-action-bar .cab-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 22px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-top: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-card-action-bar .cab-aux {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-card-action-bar .cab-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 8px;
  font: 700 12.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s;
}
.couture-card-action-bar .cab-cta:hover {
  background: var(--c-accent);
}

/* V6.388 #83 — .couture-team-grid-min — minimalist 4-up team-photo grid
   Outseta/Mobbin compact team page: 4-up photo grid w/ tiny name + role under
   each. Smaller cells than V6.387 #20 team-card and V6.388 #49 team-card-min. */
.couture-team-grid-min {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: clamp(20px, 3vw, 28px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-team-grid-min .tgm-cell {
  text-align: center;
  text-decoration: none;
  color: inherit;
}
.couture-team-grid-min .tgm-photo {
  aspect-ratio: 1;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 70%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 50%, var(--c-ink)));
  margin-bottom: 12px;
  transition: transform .25s;
}
.couture-team-grid-min .tgm-cell:hover .tgm-photo {
  transform: scale(1.03);
}
.couture-team-grid-min .tgm-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-team-grid-min .tgm-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-team-grid-min .tgm-role {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-team-grid-min .tgm-photo { transition: none; }
  .couture-team-grid-min .tgm-cell:hover .tgm-photo { transform: none; }
}

/* V6.388 #84 — .couture-row-num-marker — single numbered text row w/ marker
   Outseta/Talkbase-tier compact row: 36px accent num circle + headline + body.
   Variant of V6.387 #92 step-circle as a single ROW (not grid). */
.couture-row-num-marker {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  align-items: start;
  padding: 12px 0;
  margin-block: 8px;
}
.couture-row-num-marker .rnm-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.couture-row-num-marker .rnm-text .rnm-title {
  font: 700 16px/1.35 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-row-num-marker .rnm-text .rnm-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-row-num-marker.--ink .rnm-num {
  background: var(--c-ink);
}

/* V6.388 #85 — .couture-color-swatch-row — horizontal color swatch row (PDP variants)
   Outseta/Burb-tier PDP: small inline color swatch row w/ swatch + name (when
   hovered). Distinct from V6.387 #42 product-swatch (round + larger). This is
   compact rectangular for tighter inline placement. */
.couture-color-swatch-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: clamp(12px, 2vw, 18px);
}
.couture-color-swatch-row .csr-swatch {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background: var(--swatch, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  cursor: pointer;
  transition: transform .18s, border-color .18s;
}
.couture-color-swatch-row .csr-swatch:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
}
.couture-color-swatch-row .csr-swatch[aria-checked="true"],
.couture-color-swatch-row .csr-swatch.--active {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 2px var(--c-paper), 0 0 0 4px var(--c-accent);
}
.couture-color-swatch-row .csr-swatch::after {
  content: attr(data-name);
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s;
}
.couture-color-swatch-row .csr-swatch:hover::after {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .couture-color-swatch-row .csr-swatch { transition: none; }
  .couture-color-swatch-row .csr-swatch:hover { transform: none; }
}

/* V6.388 #86 — .couture-callout-line-rule — full-width line w/ inline title + body
   Outseta/Mobbin-tier mid-section title: full-width hairline + centered title
   pill + sub. Distinct from V6.387 #41 divider-text (just text) — this has
   2-line text (title + sub) bridging the rule. */
.couture-callout-line-rule {
  position: relative;
  text-align: center;
  margin-block: clamp(48px, 7vw, 80px);
  padding-top: 32px;
}
.couture-callout-line-rule::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-callout-line-rule .clr-title {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-accent);
  display: inline-block;
  padding: 0 16px;
  background: var(--c-paper);
  position: relative;
  margin-top: -38px;
  margin-bottom: 14px;
}
.couture-callout-line-rule .clr-sub {
  font: 500 14.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
  margin: 0 auto;
}

/* V6.388 #87 — .couture-grid-side-feature — 1-large-feature + 4-small grid
   Outseta/Talkbase-tier landing: bento variant w/ 1 large feature card on the
   left + 4 smaller feature cards stacked on the right. Distinct from V6.388
   #15 feature-bento-3-up (3-tile) and V6.388 #57 icon-grid-asym (5-tile bento). */
.couture-grid-side-feature {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
  min-height: 480px;
}
.couture-grid-side-feature .gsf-feature {
  padding: clamp(36px, 5vw, 48px);
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 16px;
}
.couture-grid-side-feature .gsf-side {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  gap: 14px;
}
.couture-grid-side-feature .gsf-side .gsf-cell {
  padding: clamp(14px, 2vw, 20px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
}
.couture-grid-side-feature .gsf-feature .gsf-eyebrow,
.couture-grid-side-feature .gsf-side .gsf-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-grid-side-feature .gsf-feature .gsf-title {
  font: 800 clamp(24px, 3vw, 34px)/1.15 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
}
.couture-grid-side-feature .gsf-side .gsf-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-grid-side-feature .gsf-feature .gsf-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink);
}
.couture-grid-side-feature .gsf-side .gsf-body {
  font: 500 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-grid-side-feature {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: 0;
  }
  .couture-grid-side-feature .gsf-side {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
  }
}

/* V6.388 #88 — .couture-link-with-arrow-glyph — link with leading +/- glyph
   Outseta/Mobbin-tier: link row with leading +/- glyph (toggleable + on click).
   For "show more" / "expand details" toggleable list rows. */
.couture-link-with-arrow-glyph {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-link-with-arrow-glyph:last-child {
  border-bottom: 0;
}
.couture-link-with-arrow-glyph .lwag-glyph {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 14px/1 var(--c-display);
  color: var(--c-accent);
  transition: transform .22s, background .22s;
}
.couture-link-with-arrow-glyph:hover .lwag-glyph,
.couture-link-with-arrow-glyph[aria-expanded="true"] .lwag-glyph {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
}
.couture-link-with-arrow-glyph[aria-expanded="true"] .lwag-glyph {
  transform: rotate(45deg);
}
.couture-link-with-arrow-glyph .lwag-text {
  font: 600 14.5px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-link-with-arrow-glyph:hover .lwag-text {
  color: var(--c-accent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-with-arrow-glyph .lwag-glyph { transition: none; }
}

/* V6.388 #89 — .couture-tabset-content — full content panel inside a tab
   Outseta/Talkbase-tier: panel content for tab switchers — has padding + heading
   + body. Pairs w/ V6.387 #8 tabset for full tab+panel implementations. */
.couture-tabset-content {
  padding: clamp(20px, 3vw, 28px) 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.couture-tabset-content .tc-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-tabset-content .tc-title {
  font: 800 clamp(22px, 2.6vw, 30px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-tabset-content .tc-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}
.couture-tabset-content .tc-list {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: grid;
  gap: 10px;
}
.couture-tabset-content .tc-list li {
  position: relative;
  padding-left: 22px;
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-tabset-content .tc-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-weight: 700;
}

/* V6.388 #90 — .couture-card-data-grid — data-grid table (admin/dashboard)
   Outseta/Linear-tier dashboard: clean data-grid table w/ alternating row tint
   + bordered cells + hover-row accent + sortable column headers. */
.couture-card-data-grid {
  width: 100%;
  border-collapse: collapse;
  font: 500 13.5px/1.45 var(--c-body);
  margin-block: clamp(24px, 4vw, 36px);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 12px;
  overflow: hidden;
}
.couture-card-data-grid thead th {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  text-align: left;
  padding: 12px 14px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  cursor: pointer;
  user-select: none;
  transition: color .18s;
}
.couture-card-data-grid thead th:hover {
  color: var(--c-accent);
}
.couture-card-data-grid thead th[aria-sort="ascending"]::after { content: " ↑"; color: var(--c-accent); }
.couture-card-data-grid thead th[aria-sort="descending"]::after { content: " ↓"; color: var(--c-accent); }
.couture-card-data-grid tbody td {
  padding: 11px 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-data-grid tbody tr:nth-child(even) td {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-card-data-grid tbody tr:hover td {
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
}
.couture-card-data-grid tbody tr:last-child td {
  border-bottom: 0;
}
.couture-card-data-grid .cdg-pill {
  display: inline-block;
  padding: 2px 8px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
  border-radius: 4px;
  font: 700 10.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-data-grid .cdg-pill.--warn {
  background: color-mix(in oklab, #d97706 14%, transparent);
  color: #d97706;
}
.couture-card-data-grid .cdg-pill.--neutral {
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink-soft);
}

/* V6.388 #91 — .couture-link-banner-line — slim line w/ leading icon + body + cta
   Outseta/Mobbin-tier: slim 1-line announcement w/ accent leading icon + inline
   text + arrow CTA at end. For "🎉 Just shipped: V2 — see what's new →". */
.couture-link-banner-line {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  transition: background .18s;
}
.couture-link-banner-line:hover {
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
}
.couture-link-banner-line .lbl-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--c-accent);
  font-size: 16px;
  flex-shrink: 0;
}
.couture-link-banner-line .lbl-text strong {
  font-weight: 700;
  color: var(--c-accent);
  margin-right: 4px;
}
.couture-link-banner-line .lbl-cta {
  font: 700 12px/1 var(--c-display);
  color: var(--c-accent);
  letter-spacing: -0.005em;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.couture-link-banner-line .lbl-cta::after {
  content: "→";
  transition: transform .22s;
}
.couture-link-banner-line:hover .lbl-cta::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-banner-line .lbl-cta::after { transition: none; }
  .couture-link-banner-line:hover .lbl-cta::after { transform: none; }
}

/* V6.388 #92 — .couture-card-author-meta — premium author/byline meta card
   Burb/Mobbin editorial: small author meta card w/ avatar + name + bio + meta
   row at bottom. For end-of-article author bio. */
.couture-card-author-meta {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  padding: clamp(22px, 3vw, 28px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  margin-block: clamp(28px, 4vw, 40px);
  align-items: center;
}
.couture-card-author-meta .cam-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-card-author-meta .cam-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-card-author-meta .cam-eyebrow {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 6px;
}
.couture-card-author-meta .cam-name {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-author-meta .cam-bio {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 8px;
}
.couture-card-author-meta .cam-meta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 500 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-card-author-meta .cam-meta a {
  color: var(--c-accent);
  text-decoration: none;
}
.couture-card-author-meta .cam-meta a:hover {
  color: var(--c-ink);
}

/* V6.388 #93 — .couture-icon-callout-list — vertical list of icon + accent text rows
   Outseta/Mobbin-tier: vertical list where each row has 24px accent-tinted
   square icon + bold accent text. For "Did you know?" / "Pro tip" tip lists. */
.couture-icon-callout-list {
  list-style: none;
  padding: 0;
  margin: clamp(20px, 3vw, 28px) 0;
  display: grid;
  gap: 10px;
}
.couture-icon-callout-list li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border-left: 3px solid var(--c-accent);
  border-radius: 0 8px 8px 0;
}
.couture-icon-callout-list .icl-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-display);
  flex-shrink: 0;
}
.couture-icon-callout-list .icl-text {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
}
.couture-icon-callout-list .icl-text strong {
  font-weight: 700;
  color: var(--c-accent);
  margin-right: 4px;
}

/* V6.388 #94 — .couture-card-quick-link — quick-link card row (small explore tiles)
   Outseta/Burb-tier nav: small horizontal "explore" cards w/ icon + title + sub
   in compact 3-up row. For "popular" / "explore by use case" mini-grids. */
.couture-card-quick-link-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-card-quick-link {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  padding: 14px 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  align-items: center;
  transition: border-color .18s, transform .2s;
}
.couture-card-quick-link:hover {
  border-color: var(--c-accent);
  transform: translateX(2px);
}
.couture-card-quick-link .cql-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
}
.couture-card-quick-link .cql-text .cql-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-quick-link .cql-text .cql-sub {
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-quick-link { transition: none; }
  .couture-card-quick-link:hover { transform: none; }
}

/* V6.388 #95 — .couture-meta-pair-row — slim 2-meta inline pair row
   Outseta/Mobbin-tier: 2-up inline pair row w/ left mono label + right value.
   Multiple stacked. For dense profile/account meta. */
.couture-meta-pair-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px 24px;
  padding: 12px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-meta-pair-row:last-of-type {
  border-bottom: 0;
}
.couture-meta-pair-row .mpr-label {
  font: 600 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-meta-pair-row .mpr-value {
  font: 600 14px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-meta-pair-row .mpr-value a {
  color: var(--c-accent);
  text-decoration: none;
}
.couture-meta-pair-row .mpr-value a:hover {
  text-decoration: underline;
}
.couture-meta-pair-row .mpr-pill {
  display: inline-block;
  padding: 2px 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  border-radius: 4px;
  font: 700 10.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-left: 6px;
}

/* V6.388 #96 — .couture-grid-feature-grid-2x2 — 2×2 feature grid (medium scale)
   Outseta/Talkbase-tier: 2×2 medium feature grid w/ icon + title + body. Distinct
   from V6.388 #50 stat-tile-grid-2x2 (stats only): this has icon-led features. */
.couture-grid-feature-2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-grid-feature-2x2 .gf2-cell {
  padding: clamp(22px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color .22s, transform .22s;
}
.couture-grid-feature-2x2 .gf2-cell:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  transform: translateY(-2px);
}
.couture-grid-feature-2x2 .gf2-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display);
}
.couture-grid-feature-2x2 .gf2-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-grid-feature-2x2 .gf2-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 600px) {
  .couture-grid-feature-2x2 {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-feature-2x2 .gf2-cell { transition: none; }
  .couture-grid-feature-2x2 .gf2-cell:hover { transform: none; }
}

/* V6.388 #97 — .couture-pill-stack-row — horizontal pill row w/ filter-chip variants
   Outseta/Mobbin-tier shop archive: horizontal scrollable filter pill row
   (mobile-friendly). Distinct from V6.388 #43 pill-stack (vertical) and V6.387
   #147 pill-cluster (wrapped). This is single-line scrollable. */
.couture-pill-stack-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-block: clamp(16px, 2vw, 22px);
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
}
.couture-pill-stack-row .psr-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 999px;
  font: 600 12.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color .18s, background .18s;
}
.couture-pill-stack-row .psr-pill:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
}
.couture-pill-stack-row .psr-pill[aria-pressed="true"],
.couture-pill-stack-row .psr-pill.--active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-pill-stack-row .psr-pill .psr-count {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-pill-stack-row .psr-pill[aria-pressed="true"] .psr-count,
.couture-pill-stack-row .psr-pill.--active .psr-count {
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}

/* V6.388 #98 — .couture-card-feature-3up-overlap — 3-up feature row w/ middle overlap
   Outseta/Talkbase-tier: 3-up feature row where middle card overlaps top by
   8px (extends above row). Visual emphasis on middle "recommended" feature. */
.couture-card-feature-3up-overlap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
  align-items: start;
}
.couture-card-feature-3up-overlap .cfo-card {
  padding: clamp(24px, 3vw, 32px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color .22s;
}
.couture-card-feature-3up-overlap .cfo-card:nth-child(2) {
  margin-top: -16px;
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border-color: var(--c-accent);
  box-shadow: 0 22px 50px -22px color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-card-feature-3up-overlap .cfo-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-card-feature-3up-overlap .cfo-card:nth-child(2) .cfo-eyebrow {
  color: var(--c-accent);
}
.couture-card-feature-3up-overlap .cfo-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-card-feature-3up-overlap .cfo-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 760px) {
  .couture-card-feature-3up-overlap {
    grid-template-columns: 1fr;
  }
  .couture-card-feature-3up-overlap .cfo-card:nth-child(2) {
    margin-top: 0;
  }
}

/* V6.388 #99 — .couture-banner-strip-mini — slim mini-banner strip (slim version)
   Outseta/Burb-tier: very slim 32px-tall mini-banner strip (alt to V6.387 #43
   banner-strip which is 38px). For "ships today if ordered by 3pm" inline notes. */
.couture-banner-strip-mini {
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  color: var(--c-ink);
  padding: 8px clamp(14px, 3vw, 24px);
  text-align: center;
  font: 600 12.5px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  border-radius: 6px;
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  margin-block: clamp(12px, 2vw, 18px);
}
.couture-banner-strip-mini strong {
  font-weight: 800;
  color: var(--c-accent);
}
.couture-banner-strip-mini::before {
  content: attr(data-glyph);
  margin-right: 8px;
  color: var(--c-accent);
  font-size: 14px;
}
.couture-banner-strip-mini.--info {
  background: color-mix(in oklab, #3b82f6 10%, var(--c-paper));
  border-color: color-mix(in oklab, #3b82f6 30%, transparent);
}
.couture-banner-strip-mini.--info strong { color: #3b82f6; }
.couture-banner-strip-mini.--info::before { color: #3b82f6; }
.couture-banner-strip-mini.--warn {
  background: color-mix(in oklab, #d97706 10%, var(--c-paper));
  border-color: color-mix(in oklab, #d97706 30%, transparent);
}
.couture-banner-strip-mini.--warn strong { color: #d97706; }
.couture-banner-strip-mini.--warn::before { color: #d97706; }

/* V6.388 #100 — .couture-card-quote-stat — quote card w/ stat overlay
   Burb/Outverse-tier social proof: testimonial card with prominent stat
   value overlaid (e.g. "3x faster" overlay on quote card). */
.couture-card-quote-stat {
  position: relative;
  padding: clamp(36px, 5vw, 48px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 18px;
  margin-block: clamp(36px, 5vw, 56px);
  overflow: hidden;
}
.couture-card-quote-stat .cqs-stat {
  position: absolute;
  top: clamp(20px, 3vw, 28px);
  right: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  pointer-events: none;
}
.couture-card-quote-stat .cqs-num {
  font: 800 clamp(40px, 6vw, 72px)/0.95 var(--c-display);
  letter-spacing: -0.04em;
  color: color-mix(in oklab, var(--c-accent) 28%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-card-quote-stat .cqs-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-top: 4px;
}
.couture-card-quote-stat .cqs-quote {
  font: 500 clamp(18px, 2.4vw, 24px)/1.45 var(--c-display);
  font-style: italic;
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 22px;
  max-width: 60ch;
}
.couture-card-quote-stat .cqs-quote::before {
  content: "❝";
  color: var(--c-accent);
  margin-right: 4px;
  font-style: normal;
  font-weight: 700;
}
.couture-card-quote-stat .cqs-cite {
  display: flex;
  align-items: center;
  gap: 12px;
}
.couture-card-quote-stat .cqs-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  overflow: hidden;
}
.couture-card-quote-stat .cqs-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-card-quote-stat .cqs-name {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-card-quote-stat .cqs-role {
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.388 #101 — .couture-feature-stack-vertical — vertical-stack feature list
   Outseta/Talkbase-tier: vertical stack of icon + content rows w/ accent left
   border bar that runs the full height. For "the timeline" / "phases" sections. */
.couture-feature-stack-vertical {
  position: relative;
  padding-left: 56px;
  margin-block: clamp(36px, 5vw, 56px);
  list-style: none;
}
.couture-feature-stack-vertical::before {
  content: "";
  position: absolute;
  left: 23px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg,
    var(--c-accent),
    color-mix(in oklab, var(--c-accent) 30%, transparent));
  border-radius: 2px;
}
.couture-feature-stack-vertical .fsv-item {
  position: relative;
  padding-bottom: clamp(28px, 4vw, 40px);
}
.couture-feature-stack-vertical .fsv-item:last-child {
  padding-bottom: 0;
}
.couture-feature-stack-vertical .fsv-item::before {
  content: "";
  position: absolute;
  left: -45px;
  top: 8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 3px solid var(--c-accent);
  box-shadow: 0 0 0 4px var(--c-paper);
}
.couture-feature-stack-vertical .fsv-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.couture-feature-stack-vertical .fsv-title {
  font: 700 19px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-feature-stack-vertical .fsv-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}

/* V6.388 #102 — .couture-spec-pair-grid — 2-col specs grid (key+value)
   Outseta/Burb PDP-tier: simple key+value 2-col specs grid (denser than V6.387
   #54 detail-row + V6.387 #129 spec-grid). Plain text inline format for compact
   dense specs. */
.couture-spec-pair-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 18px;
  margin-block: clamp(20px, 3vw, 28px);
  font: 500 13.5px/1.5 var(--c-body);
}
.couture-spec-pair-grid dt {
  font: 600 11px/1.5 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  align-self: center;
}
.couture-spec-pair-grid dd {
  margin: 0;
  font-weight: 600;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  align-self: center;
}
.couture-spec-pair-grid dd em {
  color: var(--c-accent);
  font-style: normal;
}

/* V6.388 #103 — .couture-card-bg-pattern — card with subtle background-pattern accent
   Outseta/Linear-tier modern: card with subtle SVG-like background pattern (dots/grid)
   in accent color. For "modern dashboard" / "tooling" emphasis cards. */
.couture-card-bg-pattern {
  position: relative;
  padding: clamp(28px, 4vw, 40px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 16px;
  margin-block: clamp(28px, 4vw, 40px);
  overflow: hidden;
  isolation: isolate;
}
.couture-card-bg-pattern::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    color-mix(in oklab, var(--c-accent) 14%, transparent) 1px,
    transparent 1.5px);
  background-size: 18px 18px;
  background-position: 0 0;
  mask-image: radial-gradient(ellipse at top right, #000 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at top right, #000 30%, transparent 75%);
  z-index: -1;
}
.couture-card-bg-pattern.--grid::before {
  background-image:
    linear-gradient(to right, color-mix(in oklab, var(--c-accent) 12%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in oklab, var(--c-accent) 12%, transparent) 1px, transparent 1px);
  background-size: 24px 24px;
}
.couture-card-bg-pattern .cbp-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-card-bg-pattern .cbp-title {
  font: 800 clamp(22px, 2.6vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-card-bg-pattern .cbp-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}

/* V6.388 #104 — .couture-row-double-stat — 2-stat horizontal row (compare a vs b)
   Outseta/Talkbase-tier: 2-stat horizontal row showing 2 numbers side-by-side
   with arrow between (e.g. "$12k → $42k"). For "before/after" inline emphasis. */
.couture-row-double-stat {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 16px 22px;
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  border-radius: 14px;
  margin-block: clamp(18px, 3vw, 24px);
}
.couture-row-double-stat .rds-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-row-double-stat .rds-num {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-row-double-stat .rds-stat:last-child .rds-num {
  color: var(--c-accent);
}
.couture-row-double-stat .rds-label {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-row-double-stat .rds-arrow {
  font: 700 22px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-row-double-stat .rds-arrow::before {
  content: "→";
}

/* V6.388 #105 — .couture-card-pricing-mini — compact pricing card (small variant)
   Outseta/Burb-tier compact pricing: smaller pricing card variant with name +
   price + 3-feature ✓ list + ink CTA. Smaller than V6.387 #47 pricing-tier. */
.couture-card-pricing-mini {
  padding: clamp(24px, 3vw, 30px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-card-pricing-mini .cpm-name {
  font: 700 14px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-card-pricing-mini .cpm-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.couture-card-pricing-mini .cpm-amount {
  font: 800 clamp(32px, 4vw, 44px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-pricing-mini .cpm-period {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-pricing-mini .cpm-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.couture-card-pricing-mini .cpm-features li {
  position: relative;
  padding-left: 20px;
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-card-pricing-mini .cpm-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--c-accent);
  font-weight: 700;
}
.couture-card-pricing-mini .cpm-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s;
}
.couture-card-pricing-mini .cpm-cta:hover {
  background: var(--c-accent);
}
.couture-card-pricing-mini.--featured {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 4%, var(--c-paper));
}
.couture-card-pricing-mini.--featured .cpm-name { color: var(--c-accent); }
.couture-card-pricing-mini.--featured .cpm-cta { background: var(--c-accent); }
.couture-card-pricing-mini.--featured .cpm-cta:hover { background: var(--c-ink); }

/* V6.388 #106 — .couture-mega-divider — full-bleed massive section divider
   Burb/Outverse-tier: massive full-bleed accent gradient divider with overlay
   word ("INTERLUDE" / "SHIFT"). For dramatic mid-page transitions in long-form
   editorial. Distinct from V6.387 #16/#41/#119 dividers and V6.388 #68 row-divider. */
.couture-mega-divider {
  position: relative;
  height: clamp(120px, 18vw, 180px);
  margin-block: clamp(56px, 9vw, 96px);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)),
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)));
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.couture-mega-divider::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    color-mix(in oklab, var(--c-ink) 8%, transparent) 1px,
    transparent 1.5px);
  background-size: 24px 24px;
  pointer-events: none;
}
.couture-mega-divider .md-word {
  position: relative;
  font: 800 clamp(36px, 6vw, 72px)/1 var(--c-display);
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 50%, transparent);
  text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 50%, transparent);
  text-transform: uppercase;
}

/* V6.388 #107 — .couture-card-quote-card-2 — 2-card side-by-side quote pair
   Burb/Outverse-tier: 2-card horizontal quote pair w/ author + role per card.
   For "voices from both sides" or "expert + customer" comparison testimonials. */
.couture-card-quote-card-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-card-quote-card-2 .cqc-card {
  padding: clamp(24px, 3vw, 32px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-card-quote-card-2 .cqc-card:nth-child(2) {
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-card-quote-card-2 .cqc-quote {
  font: 500 16px/1.5 var(--c-body);
  font-style: italic;
  letter-spacing: -0.005em;
  color: var(--c-ink);
  flex: 1;
}
.couture-card-quote-card-2 .cqc-card:nth-child(2) .cqc-quote {
  color: var(--c-paper);
}
.couture-card-quote-card-2 .cqc-quote::before {
  content: "❝";
  color: var(--c-accent);
  font-style: normal;
  font-weight: 700;
  margin-right: 4px;
}
.couture-card-quote-card-2 .cqc-cite {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-card-quote-card-2 .cqc-card:nth-child(2) .cqc-cite {
  border-top-color: color-mix(in oklab, var(--c-paper) 14%, transparent);
}
.couture-card-quote-card-2 .cqc-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  overflow: hidden;
}
.couture-card-quote-card-2 .cqc-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-card-quote-card-2 .cqc-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
}
.couture-card-quote-card-2 .cqc-role {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-quote-card-2 .cqc-card:nth-child(2) .cqc-role {
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}
@media (max-width: 720px) {
  .couture-card-quote-card-2 {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #108 — .couture-feature-icon-strip — slim 4-up icon strip (lightweight features)
   Outseta/Mobbin-tier: 4-up slim icon + label strip without bodies. For the
   "trusted partners" or "compatible with" lightweight feature strip. */
.couture-feature-icon-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: clamp(20px, 3vw, 32px);
  padding: clamp(24px, 4vw, 32px) 0;
  margin-block: clamp(28px, 4vw, 40px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-feature-icon-strip .fis-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}
.couture-feature-icon-strip .fis-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-feature-icon-strip .fis-label {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}

/* V6.388 #109 — .couture-side-toolbar — slim left-side action toolbar
   Outseta/Mobbin-tier docs: vertical left-anchored toolbar with action buttons
   (share, like, bookmark). Sticky scroll-following. */
.couture-side-toolbar {
  position: sticky;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  box-shadow: 0 14px 32px -16px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-side-toolbar .stb-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
  color: var(--c-ink-soft);
  cursor: pointer;
  transition: background .18s, color .18s;
  text-decoration: none;
}
.couture-side-toolbar .stb-btn:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  color: var(--c-ink);
}
.couture-side-toolbar .stb-btn[aria-pressed="true"],
.couture-side-toolbar .stb-btn.--active {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-side-toolbar .stb-btn .stb-count {
  position: absolute;
  bottom: -16px;
  font: 600 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #110 — .couture-pricing-band-row — premium horizontal pricing 3-up band
   Outseta/Burb-tier landing pricing: 3-up horizontal pricing band w/ left card
   accent-tinted, middle card white-bg w/ accent border (recommended), right
   card paper. Equal-height rows. */
.couture-pricing-band-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  margin-block: clamp(36px, 5vw, 56px);
  align-items: stretch;
}
.couture-pricing-band-row .pbr-card {
  padding: clamp(28px, 4vw, 36px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-pricing-band-row .pbr-card.--accent {
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 36%, transparent);
}
.couture-pricing-band-row .pbr-card.--featured {
  background: var(--c-paper);
  border: 2px solid var(--c-accent);
  box-shadow: 0 24px 56px -22px color-mix(in oklab, var(--c-accent) 28%, transparent);
  position: relative;
}
.couture-pricing-band-row .pbr-card.--featured::before {
  content: "Recommended";
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 4px 12px;
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.couture-pricing-band-row .pbr-name {
  font: 700 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-pricing-band-row .pbr-price {
  font: 800 clamp(40px, 5vw, 56px)/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-pricing-band-row .pbr-period {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-left: 4px;
}
.couture-pricing-band-row .pbr-tag {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-pricing-band-row .pbr-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  border-radius: 10px;
  font: 700 13.5px/1 var(--c-display);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: background .2s;
}
.couture-pricing-band-row .pbr-card.--featured .pbr-cta {
  background: var(--c-accent);
}
.couture-pricing-band-row .pbr-cta:hover {
  background: var(--c-accent);
}
@media (max-width: 760px) {
  .couture-pricing-band-row {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #111 — .couture-row-process-vertical — 3-step vertical process w/ rule
   Burb/Outverse-tier: vertical 3-step process where each step is a row
   connected by accent vertical rule. Distinct from V6.388 #38 process-flow-arrows
   (horizontal w/ chevrons). */
.couture-row-process-vertical {
  position: relative;
  list-style: none;
  padding: 0 0 0 36px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-row-process-vertical::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 14px;
  bottom: 14px;
  width: 2px;
  background: var(--c-accent);
  opacity: 0.3;
}
.couture-row-process-vertical .rpv-item {
  position: relative;
  padding-bottom: clamp(22px, 3vw, 32px);
}
.couture-row-process-vertical .rpv-item:last-child {
  padding-bottom: 0;
}
.couture-row-process-vertical .rpv-item::before {
  content: "";
  position: absolute;
  left: -30px;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 4px var(--c-paper), 0 0 0 5px var(--c-accent);
}
.couture-row-process-vertical .rpv-num {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 6px;
}
.couture-row-process-vertical .rpv-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-row-process-vertical .rpv-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}

/* V6.388 #112 — .couture-section-rule-eyebrow — section-opener w/ accent rule + eyebrow
   Outseta/Talkbase-tier: section opener pattern w/ left accent rule + accent
   eyebrow + 36px headline + sub. Slimmer than V6.387 #36 sect-intro. */
.couture-section-rule-eyebrow {
  margin-block: clamp(48px, 7vw, 80px) clamp(28px, 4vw, 40px);
  padding-left: clamp(20px, 3vw, 28px);
  border-left: 3px solid var(--c-accent);
}
.couture-section-rule-eyebrow .sre-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-section-rule-eyebrow .sre-head {
  font: 800 clamp(26px, 3.6vw, 40px)/1.15 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
  margin-bottom: 12px;
  max-width: 24ch;
}
.couture-section-rule-eyebrow .sre-sub {
  font: 500 clamp(15px, 1.8vw, 17px)/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 56ch;
}

/* V6.388 #113 — .couture-card-clipboard — code/snippet copy-clipboard card
   Outseta/Mobbin docs/dev: code-snippet card w/ leading copy button + monospace
   block + label. Smaller/inline alternative to V6.387 #152 pre-block. */
.couture-card-clipboard {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 90%, transparent);
  border-radius: 8px;
  margin-block: clamp(12px, 2vw, 18px);
}
.couture-card-clipboard .ccl-text {
  font: 500 13px/1.4 var(--c-mono);
  word-break: break-all;
}
.couture-card-clipboard .ccl-text .ccl-prefix {
  color: var(--c-accent);
  margin-right: 4px;
}
.couture-card-clipboard .ccl-copy {
  background: color-mix(in oklab, var(--c-paper) 14%, transparent);
  border: 0;
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
  padding: 6px 12px;
  border-radius: 6px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.couture-card-clipboard .ccl-copy:hover {
  background: color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: var(--c-paper);
}
.couture-card-clipboard.--paper {
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-clipboard.--paper .ccl-copy {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.388 #114 — .couture-banner-meta-row — meta-banner row (3-segment under hero)
   Outseta/Burb-tier: 3-segment meta bar under hero (scope · audience · timeline).
   Distinct from V6.387 #143 meta-bar (article-meta) — this is for project/case-study
   intro meta. */
.couture-banner-meta-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 2vw, 20px);
  margin-block: clamp(28px, 4vw, 40px);
  padding: clamp(18px, 3vw, 24px) clamp(20px, 3vw, 28px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 12px;
}
.couture-banner-meta-row .bmr-segment .bmr-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  margin-bottom: 6px;
}
.couture-banner-meta-row .bmr-segment .bmr-value {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-banner-meta-row .bmr-segment .bmr-value em {
  color: var(--c-accent);
  font-style: normal;
}
.couture-banner-meta-row .bmr-segment + .bmr-segment {
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  padding-left: clamp(14px, 2vw, 20px);
}
@media (max-width: 640px) {
  .couture-banner-meta-row {
    grid-template-columns: 1fr;
  }
  .couture-banner-meta-row .bmr-segment + .bmr-segment {
    border-left: 0;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
    padding-left: 0;
    padding-top: clamp(14px, 2vw, 18px);
  }
}

/* V6.388 #115 — .couture-card-image-stat — image card w/ stat overlay corner
   Burb/Outverse-tier: 4:3 image card with 96px tabular accent stat in upper-left
   corner overlaid + bottom-anchored title + body. For "case study" preview cards. */
.couture-card-image-stat {
  position: relative;
  display: block;
  aspect-ratio: 4/3;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  text-decoration: none;
  color: var(--c-paper);
}
.couture-card-image-stat img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-card-image-stat:hover img {
  transform: scale(1.04);
}
.couture-card-image-stat::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-ink) 30%, transparent),
    color-mix(in oklab, var(--c-ink) 70%, transparent));
  pointer-events: none;
}
.couture-card-image-stat .cis-stat {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 1;
  font: 800 clamp(40px, 6vw, 72px)/0.95 var(--c-display);
  letter-spacing: -0.04em;
  color: var(--c-paper);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
.couture-card-image-stat .cis-stat em {
  color: var(--c-accent);
  font-style: normal;
}
.couture-card-image-stat .cis-meta {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 1;
}
.couture-card-image-stat .cis-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  margin-bottom: 6px;
}
.couture-card-image-stat .cis-title {
  font: 800 18px/1.25 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-paper);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-image-stat img { transition: none; }
  .couture-card-image-stat:hover img { transform: none; }
}

/* V6.388 #116 — .couture-row-byline-meta — slim 2-line byline + meta row
   Burb/Mobbin editorial article-meta: 2-line meta row w/ 28px circular avatar
   + name on top + accent date/read-time/topic mono row below. Distinct from
   V6.387 #16 author-byline (boxed) + #143 meta-bar (single-line) + #74 tag-meta-row
   (tag-pills). */
.couture-row-byline-meta {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: center;
  margin-block: clamp(14px, 2vw, 20px);
}
.couture-row-byline-meta .rbm-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)));
  overflow: hidden;
}
.couture-row-byline-meta .rbm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-row-byline-meta .rbm-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-row-byline-meta .rbm-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-row-byline-meta .rbm-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  font: 500 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-row-byline-meta .rbm-meta > * + *::before {
  content: "·";
  margin: 0 6px;
  color: color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #117 — .couture-card-feature-image — large 2-col feature card w/ image
   Outseta/Talkbase landing-tier: large feature card with 3:2 image left + text
   right + accent eyebrow + 30px title + body + ✓-list. Distinct from V6.388 #46
   feature-half-image (chained for vertical narrative) — this is standalone. */
.couture-card-feature-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 18px;
  overflow: hidden;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-card-feature-image .cfi-img {
  aspect-ratio: 3/2;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  overflow: hidden;
}
.couture-card-feature-image .cfi-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-card-feature-image .cfi-meta {
  padding: clamp(28px, 4vw, 40px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.couture-card-feature-image .cfi-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-card-feature-image .cfi-title {
  font: 800 clamp(22px, 2.8vw, 30px)/1.2 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
}
.couture-card-feature-image .cfi-body {
  font: 500 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-card-feature-image .cfi-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.couture-card-feature-image .cfi-list li {
  position: relative;
  padding-left: 22px;
  font: 500 14px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-card-feature-image .cfi-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-weight: 700;
}
.couture-card-feature-image.--reverse {
  grid-template-areas: "meta img";
}
.couture-card-feature-image.--reverse .cfi-img { grid-area: img; }
.couture-card-feature-image.--reverse .cfi-meta { grid-area: meta; }
@media (max-width: 760px) {
  .couture-card-feature-image,
  .couture-card-feature-image.--reverse {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
}

/* V6.388 #118 — .couture-stat-meta-strip — slim 4-up tabular stat strip
   Outseta/Mobbin-tier: 4-up slim stat strip with tabular-num value + label.
   Smaller than V6.387 #11 kpi-row + #95 large-stat-trio. Inline use under headlines. */
.couture-stat-meta-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: clamp(20px, 3vw, 32px);
  padding: clamp(16px, 2vw, 22px) 0;
  margin-block: clamp(20px, 3vw, 28px);
  border-block: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-stat-meta-strip .sms-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-stat-meta-strip .sms-num {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-meta-strip .sms-num em {
  color: var(--c-accent);
  font-style: normal;
}
.couture-stat-meta-strip .sms-label {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #119 — .couture-card-icon-bg — feature card with subtle bg-icon watermark
   Outseta/Talkbase-tier: feature card with massive 200px outline-stroke icon as
   bg watermark in upper-right + content in foreground. */
.couture-card-icon-bg {
  position: relative;
  padding: clamp(28px, 4vw, 36px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 16px;
  margin-block: clamp(20px, 3vw, 28px);
  overflow: hidden;
  isolation: isolate;
}
.couture-card-icon-bg::before {
  content: attr(data-icon);
  position: absolute;
  right: -28px;
  top: -32px;
  font: 800 clamp(140px, 18vw, 220px)/1 var(--c-display);
  color: transparent;
  -webkit-text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 20%, transparent);
  text-stroke: 1.5px color-mix(in oklab, var(--c-accent) 20%, transparent);
  pointer-events: none;
  z-index: -1;
}
.couture-card-icon-bg .cib-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  margin-bottom: 14px;
}
.couture-card-icon-bg .cib-title {
  font: 700 22px/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-card-icon-bg .cib-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}

/* V6.388 #120 — .couture-side-search — sidebar-style search w/ filters dropdown
   Outseta/Mobbin-tier: sidebar search container w/ pill input + filter dropdown
   pill below. For sidebar-anchored search forms. */
.couture-side-search {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 12px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-side-search .ss-input-row {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  transition: border-color .18s, box-shadow .18s;
}
.couture-side-search .ss-input-row:focus-within {
  border-color: color-mix(in oklab, var(--c-accent) 60%, var(--c-line));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 14%, transparent);
}
.couture-side-search .ss-icon {
  font: 700 14px/1 var(--c-display);
  color: var(--c-ink-soft);
}
.couture-side-search .ss-icon::before { content: "⌕"; }
.couture-side-search .ss-input {
  background: transparent;
  border: 0;
  font: 500 13.5px/1 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-side-search .ss-input:focus { outline: 0; }
.couture-side-search .ss-filters {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.couture-side-search .ss-filter {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  cursor: pointer;
  transition: border-color .18s, color .18s;
}
.couture-side-search .ss-filter:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, var(--c-line));
  color: var(--c-accent);
}
.couture-side-search .ss-filter[aria-pressed="true"],
.couture-side-search .ss-filter.--active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}

/* V6.388 #121 — .couture-grid-3-col-stack — 3-col stacked content grid (auto-fit)
   Outseta/Talkbase-tier: 3-col auto-fit grid w/ optional accent stripe at top
   per cell. For "service tiers" / "use cases" comparison rows. */
.couture-grid-3-col-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-grid-3-col-stack .gcs-cell {
  position: relative;
  padding: clamp(24px, 3vw, 32px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}
.couture-grid-3-col-stack .gcs-cell::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--c-accent);
  opacity: 0;
  transition: opacity .22s;
}
.couture-grid-3-col-stack .gcs-cell:hover::before,
.couture-grid-3-col-stack .gcs-cell.--featured::before {
  opacity: 1;
}
.couture-grid-3-col-stack .gcs-cell.--featured {
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-grid-3-col-stack .gcs-eyebrow {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-grid-3-col-stack .gcs-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-grid-3-col-stack .gcs-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #122 — .couture-stack-bullet-large — large bullet feature stack
   Outseta/Talkbase-tier: vertical stack of feature rows with 48px accent square
   bullet + title + body. Bigger than V6.387 #117 bullet-row (10px dot). */
.couture-stack-bullet-large {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 40px) 0;
  display: grid;
  gap: clamp(20px, 3vw, 28px);
}
.couture-stack-bullet-large li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  align-items: start;
}
.couture-stack-bullet-large li::before {
  content: "";
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  position: relative;
}
.couture-stack-bullet-large li::after {
  content: attr(data-glyph);
  position: absolute;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 22px/1 var(--c-display);
  color: var(--c-accent);
  pointer-events: none;
  transform: translateX(-66px);
  margin-top: -48px;
}
.couture-stack-bullet-large .sbl-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-stack-bullet-large .sbl-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 60ch;
}

/* V6.388 #123 — .couture-row-spec-line — premium spec-line row (inline label/value)
   Outseta/Burb PDP: 1-line spec entry where label + value share a line w/ dotted
   leader between. Smaller than V6.388 #102 spec-pair-grid (2-col stacked grid). */
.couture-row-spec-line {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-row-spec-line:last-child {
  border-bottom: 0;
}
.couture-row-spec-line .rsl-label {
  font: 600 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  flex-shrink: 0;
}
.couture-row-spec-line .rsl-leader {
  flex: 1;
  border-bottom: 1px dotted color-mix(in oklab, var(--c-line) 70%, transparent);
  height: 1em;
  align-self: end;
  margin-bottom: 4px;
}
.couture-row-spec-line .rsl-value {
  font: 700 14px/1.4 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.couture-row-spec-line .rsl-value em {
  color: var(--c-accent);
  font-style: normal;
}

/* V6.388 #124 — .couture-card-event — premium event/showcase card
   Burb/Outverse-tier event listing card: image + date overlay + title + body
   + venue + CTA. Distinct from V6.387 #50 event-row (linear w/o image): this
   is full card w/ image + overlay date. */
.couture-card-event {
  display: flex;
  flex-direction: column;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color .22s, transform .22s;
}
.couture-card-event:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  transform: translateY(-3px);
}
.couture-card-event .ce-img {
  position: relative;
  aspect-ratio: 16/9;
  background: color-mix(in oklab, var(--c-line) 24%, var(--c-paper));
  overflow: hidden;
}
.couture-card-event .ce-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-card-event .ce-date {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--c-paper);
  padding: 8px 12px;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-ink) 24%, transparent);
}
.couture-card-event .ce-month {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  margin-bottom: 2px;
}
.couture-card-event .ce-day {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.025em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-event .ce-meta {
  padding: clamp(20px, 3vw, 26px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-event .ce-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-card-event .ce-body {
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-card-event .ce-venue {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}
.couture-card-event .ce-cta {
  margin-top: 6px;
  font: 700 13px/1 var(--c-display);
  color: var(--c-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-event .ce-cta::after {
  content: "→";
  transition: transform .22s;
}
.couture-card-event:hover .ce-cta::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-event,
  .couture-card-event .ce-cta::after { transition: none; }
  .couture-card-event:hover { transform: none; }
  .couture-card-event:hover .ce-cta::after { transform: none; }
}

/* V6.388 #125 — .couture-callout-corner-tag — corner-anchored tag pill on a card
   Outseta/Mobbin-tier: card variant where a corner accent tag pill (top-left
   or top-right) overlays the corner of a card. Use to flag "NEW" / "PRO" /
   "BETA" without taking inline space. */
.couture-callout-corner-tag {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  margin-block: clamp(20px, 3vw, 28px);
}
.couture-callout-corner-tag .cct-tag {
  position: absolute;
  top: -10px;
  right: 18px;
  padding: 4px 10px;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.couture-callout-corner-tag .cct-tag.--ink {
  background: var(--c-ink);
}
.couture-callout-corner-tag .cct-tag.--gold {
  background: #FFB400;
  color: #2A1E04;
}
.couture-callout-corner-tag .cct-tag.--top-left {
  right: auto;
  left: 18px;
}
.couture-callout-corner-tag .cct-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-callout-corner-tag .cct-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-callout-corner-tag .cct-body {
  font: 500 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #126 — .couture-pricing-row-billed — pricing summary row (line-item billing)
   Outseta/Burb checkout: simple horizontal pricing summary row (label + amount).
   For "Subtotal" / "Tax" / "Discount" / "Total" billing rows. Lighter than
   V6.387 #85 order-summary (full card chrome). */
.couture-pricing-row-billed {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 0;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-pricing-row-billed:last-of-type {
  border-bottom: 0;
}
.couture-pricing-row-billed .prb-label {
  flex: 1;
}
.couture-pricing-row-billed .prb-amount {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--c-ink);
}
.couture-pricing-row-billed.--total {
  padding-top: 14px;
  border-top: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 0;
  font: 700 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-pricing-row-billed.--total .prb-amount {
  font: 800 22px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-pricing-row-billed.--saved {
  color: #2ea043;
}
.couture-pricing-row-billed.--saved .prb-amount {
  color: #2ea043;
}

/* V6.388 #127 — .couture-card-bordered-tab — bordered tab card (account/profile)
   Outseta/Mobbin-tier account: profile/account section card w/ heading + meta
   row + content + bordered tab nav at top. For "Account → Profile / Security
   / Notifications" tab content. */
.couture-card-bordered-tab {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 14px;
  overflow: hidden;
  margin-block: clamp(28px, 4vw, 40px);
}
.couture-card-bordered-tab .cbt-tabs {
  display: flex;
  align-items: center;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  overflow-x: auto;
  scrollbar-width: thin;
}
.couture-card-bordered-tab .cbt-tab {
  padding: 14px 20px;
  font: 600 13px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  transition: color .18s;
}
.couture-card-bordered-tab .cbt-tab:hover {
  color: var(--c-ink);
}
.couture-card-bordered-tab .cbt-tab[aria-selected="true"],
.couture-card-bordered-tab .cbt-tab.--active {
  color: var(--c-accent);
  background: var(--c-paper);
}
.couture-card-bordered-tab .cbt-tab[aria-selected="true"]::after,
.couture-card-bordered-tab .cbt-tab.--active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 2px;
  background: var(--c-accent);
}
.couture-card-bordered-tab .cbt-content {
  padding: clamp(24px, 3vw, 32px);
}

/* V6.388 #128 — .couture-row-icon-action-pair — row w/ icon + body + actions
   Outseta/Mobbin-tier dashboard: list row w/ leading icon + body + right-anchored
   action buttons (edit/delete/etc). For settings list rows. */
.couture-row-icon-action-pair {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-row-icon-action-pair:last-child {
  border-bottom: 0;
}
.couture-row-icon-action-pair .riap-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
}
.couture-row-icon-action-pair .riap-text .riap-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-row-icon-action-pair .riap-text .riap-body {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-row-icon-action-pair .riap-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-row-icon-action-pair .riap-action {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-display);
  cursor: pointer;
  transition: border-color .18s, color .18s;
}
.couture-row-icon-action-pair .riap-action:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.couture-row-icon-action-pair .riap-action.--danger:hover {
  border-color: #c84a4a;
  color: #c84a4a;
}

/* V6.388 #129 — .couture-card-photo-byline — premium photo card w/ bottom-byline
   Burb/Outverse-tier: 4:5 portrait card w/ name + role overlay anchored at bottom.
   For author/team grid cards w/ image-led design. */
.couture-card-photo-byline {
  position: relative;
  display: block;
  aspect-ratio: 4/5;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 70%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 50%, var(--c-ink)));
  text-decoration: none;
  color: var(--c-paper);
}
.couture-card-photo-byline img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.couture-card-photo-byline:hover img {
  transform: scale(1.04);
}
.couture-card-photo-byline::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 50%,
    color-mix(in oklab, var(--c-ink) 80%, transparent) 100%);
  pointer-events: none;
}
.couture-card-photo-byline .cpb-meta {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1;
}
.couture-card-photo-byline .cpb-name {
  font: 800 18px/1.2 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-paper);
  margin-bottom: 4px;
}
.couture-card-photo-byline .cpb-role {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-byline img { transition: none; }
  .couture-card-photo-byline:hover img { transform: none; }
}

/* V6.388 #130 — .couture-row-link-bordered — link rows w/ border + arrow icon
   Outseta/Mobbin-tier docs: bordered link rows w/ leading hash + title + body
   + arrow icon. For "doc index" / "guide chapter" lists. */
.couture-row-link-bordered {
  list-style: none;
  padding: 0;
  margin: clamp(28px, 4vw, 40px) 0;
  display: grid;
  gap: 8px;
}
.couture-row-link-bordered li a {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color .18s, transform .2s;
}
.couture-row-link-bordered li a:hover {
  border-color: var(--c-accent);
  transform: translateX(2px);
}
.couture-row-link-bordered li .rlb-prefix {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border-radius: 4px;
  flex-shrink: 0;
}
.couture-row-link-bordered li .rlb-text .rlb-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 3px;
}
.couture-row-link-bordered li .rlb-text .rlb-body {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-row-link-bordered li a::after {
  content: "→";
  color: var(--c-ink-soft);
  font: 700 16px/1 var(--c-display);
  flex-shrink: 0;
  transition: transform .22s, color .18s;
}
.couture-row-link-bordered li a:hover::after {
  color: var(--c-accent);
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-row-link-bordered li a,
  .couture-row-link-bordered li a::after { transition: none; }
  .couture-row-link-bordered li a:hover { transform: none; }
  .couture-row-link-bordered li a:hover::after { transform: none; }
}

/* V6.388 #131 — .couture-card-icon-pair — 2-col card w/ icon-list + content
   Outseta/Talkbase landing-tier: 2-col card where left has 4 icon-led mini-rows
   + right has content. For "what's included" landing card. */
.couture-card-icon-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  padding: clamp(28px, 4vw, 36px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border-radius: 18px;
  margin-block: clamp(36px, 5vw, 56px);
}
.couture-card-icon-pair .cip-icons {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-icon-pair .cip-icons .cip-row {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: center;
}
.couture-card-icon-pair .cip-icons .cip-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-card-icon-pair .cip-icons .cip-label {
  font: 600 14px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-card-icon-pair .cip-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-self: center;
}
.couture-card-icon-pair .cip-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent);
}
.couture-card-icon-pair .cip-title {
  font: 800 clamp(22px, 2.6vw, 28px)/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-icon-pair .cip-body {
  font: 500 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}
@media (max-width: 760px) {
  .couture-card-icon-pair {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #132 — .couture-tile-color-swatch — premium color tile (palette display)
   Outseta/Mobbin docs/branding: large color swatch tile w/ hex value displayed
   below + name. For "Brand colors" / "Palette" docs. Distinct from V6.387 #87
   color-token (small list-style): this is large square tile. */
.couture-tile-color-swatch {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.couture-tile-color-swatch .tcs-swatch {
  aspect-ratio: 1;
  background: var(--swatch, var(--c-accent));
  border-radius: 14px;
  margin-bottom: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c-paper) 16%, transparent);
}
.couture-tile-color-swatch .tcs-name {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-tile-color-swatch .tcs-hex {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-tile-color-swatch .tcs-vars {
  font: 500 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-tile-color-swatch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: clamp(16px, 2vw, 22px);
  margin-block: clamp(28px, 4vw, 40px);
}

/* V6.388 #133 — .couture-card-feature-mini — small icon+title+body feature card
   Outseta/Talkbase-tier compact: small feature card w/ 32px icon + 14px title +
   12.5px body. Smaller than V6.387 #34/#10/#49 (auto-fit denser cells). */
.couture-card-feature-mini {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(18px, 2.5vw, 22px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 45%, transparent);
  border-radius: 12px;
  transition: border-color .22s, transform .22s;
}
.couture-card-feature-mini:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, var(--c-line));
  transform: translateY(-2px);
}
.couture-card-feature-mini .cfm-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
}
.couture-card-feature-mini .cfm-title {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-card-feature-mini .cfm-body {
  font: 500 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-mini { transition: none; }
  .couture-card-feature-mini:hover { transform: none; }
}

/* V6.388 #134 — .couture-banner-strip-icon — slim banner strip w/ leading icon + text
   Outseta/Burb-tier nav: slim banner strip with leading 16px accent icon + text +
   inline → arrow CTA at end. Inline-rounded radius for in-content placement. */
.couture-banner-strip-icon {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  border-radius: 999px;
  font: 600 13px/1.4 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  transition: background .18s;
  margin-block: clamp(12px, 2vw, 18px);
}
.couture-banner-strip-icon:hover {
  background: color-mix(in oklab, var(--c-accent) 18%, var(--c-paper));
}
.couture-banner-strip-icon .bsi-icon {
  font: 700 16px/1 var(--c-display);
  color: var(--c-accent);
}
.couture-banner-strip-icon .bsi-text strong {
  font-weight: 700;
  color: var(--c-accent);
}
.couture-banner-strip-icon .bsi-cta {
  margin-left: auto;
  font: 700 12px/1 var(--c-display);
  color: var(--c-accent);
  letter-spacing: -0.005em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.couture-banner-strip-icon .bsi-cta::after {
  content: "→";
  transition: transform .22s;
}
.couture-banner-strip-icon:hover .bsi-cta::after {
  transform: translateX(3px);
}

/* V6.388 #135 — .couture-stat-table-row — table-style stat row (label : value : delta)
   Outseta/Mobbin-tier dashboard: table-style 3-col stat row w/ label + value + delta.
   Tabular layout for "monthly stats" dashboard sections. */
.couture-stat-table-row {
  display: grid;
  grid-template-columns: 1.5fr 1fr auto;
  gap: 18px;
  align-items: baseline;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-stat-table-row:first-child {
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-block: 16px;
}
.couture-stat-table-row:first-child .str-label,
.couture-stat-table-row:first-child .str-value,
.couture-stat-table-row:first-child .str-delta-col {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-stat-table-row:last-child {
  border-bottom: 0;
}
.couture-stat-table-row .str-label {
  font: 600 14px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-stat-table-row .str-value {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-stat-table-row .str-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 4px;
  font: 700 11px/1 var(--c-mono);
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
}
.couture-stat-table-row .str-delta.--down {
  background: color-mix(in oklab, #d97706 14%, transparent);
  color: #d97706;
}
.couture-stat-table-row .str-delta.--neutral {
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink-soft);
}



/* V6.388 #136 — Pricing tier row (Stripe/Linear-style horizontal plan card) */
.couture-pricing-tier-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(200px, 2fr) auto;
  gap: 24px;
  align-items: center;
  padding: 22px 24px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 85%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 38%, transparent);
  transition: border-color 0.2s ease, transform 0.2s ease;
}
@media (max-width: 720px) {
  .couture-pricing-tier-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.couture-pricing-tier-row:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-pricing-tier-row:hover { transform: translateY(-1px); }
}
.couture-pricing-tier-row .ptr-name {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-pricing-tier-row .ptr-name small {
  display: block;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 4px;
  letter-spacing: 0;
}
.couture-pricing-tier-row .ptr-desc {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-pricing-tier-row .ptr-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-variant-numeric: tabular-nums;
}
.couture-pricing-tier-row .ptr-amount {
  font: 800 26px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-pricing-tier-row .ptr-period {
  font: 500 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #137 — Sidebar mini-toc (anchor jumplinks for long-form pages) */
.couture-sidebar-mini-toc {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  font: 500 13px/1.5 var(--c-body);
}
.couture-sidebar-mini-toc .smt-label {
  font: 700 10px/1 var(--c-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-ink-soft);
  margin-bottom: 10px;
  padding-left: 12px;
}
.couture-sidebar-mini-toc a {
  display: block;
  padding: 6px 12px;
  margin-left: -1px;
  border-left: 2px solid transparent;
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.couture-sidebar-mini-toc a:hover {
  color: var(--c-ink);
  border-left-color: color-mix(in oklab, var(--c-accent) 45%, transparent);
}
.couture-sidebar-mini-toc a.--active {
  color: var(--c-ink);
  border-left-color: var(--c-accent);
  font-weight: 600;
}

/* V6.388 #138 — Spec list row (specs/data attributes for product detail pages) */
.couture-spec-list-row {
  display: grid;
  grid-template-columns: minmax(120px, 200px) 1fr;
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-spec-list-row:last-child {
  border-bottom: 0;
}
.couture-spec-list-row .slr-key {
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-spec-list-row .slr-val {
  font: 500 14px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-spec-list-row .slr-val em {
  font-style: normal;
  color: var(--c-ink-soft);
  font-size: 13px;
  display: block;
  margin-top: 3px;
}

/* V6.388 #139 — Inline filter chip group (faceted browse / search refinements) */
.couture-filter-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 4px 0;
}
.couture-filter-chip-group .fcg-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-right: 4px;
}
.couture-filter-chip-group .fcg-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  font: 500 12.5px/1 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-filter-chip-group .fcg-chip:hover {
  border-color: color-mix(in oklab, var(--c-accent) 55%, transparent);
}
.couture-filter-chip-group .fcg-chip.--active {
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 60%, transparent);
  color: var(--c-ink);
}
.couture-filter-chip-group .fcg-chip .fcg-x {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 2px;
}

/* V6.388 #140 — Comparison column (side-by-side product/plan compare) */
.couture-compare-column {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 20px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
}
.couture-compare-column.--featured {
  border-color: color-mix(in oklab, var(--c-accent) 55%, transparent);
  box-shadow: 0 18px 38px -22px color-mix(in oklab, var(--c-accent) 32%, transparent);
}
.couture-compare-column .ccol-flag {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-compare-column .ccol-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-compare-column .ccol-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.couture-compare-column .ccol-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font: 400 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-compare-column .ccol-list li::before {
  content: "✓";
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: var(--c-accent);
  font: 700 10px/1 var(--c-mono);
  margin-top: 2px;
}
.couture-compare-column .ccol-list li.--off {
  color: color-mix(in oklab, var(--c-ink-soft) 60%, transparent);
}
.couture-compare-column .ccol-list li.--off::before {
  content: "—";
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink-soft);
}

/* V6.388 #141 — Inline metric pill cluster (KPI strip in headers) */
.couture-metric-pill-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 6px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-metric-pill-cluster .mpc-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 8px;
  background: var(--c-paper);
  font-variant-numeric: tabular-nums;
}
.couture-metric-pill-cluster .mpc-pill .mpc-num {
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-metric-pill-cluster .mpc-pill .mpc-key {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-metric-pill-cluster .mpc-divider {
  width: 1px;
  height: 14px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}

/* V6.388 #142 — Inline tag list w/ accent leading dot (article meta / collection chips) */
.couture-tag-dot-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  align-items: center;
  font: 500 12.5px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}
.couture-tag-dot-list a,
.couture-tag-dot-list .tdl-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-ink-soft);
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.15s ease;
}
.couture-tag-dot-list a:hover {
  color: var(--c-ink);
}
.couture-tag-dot-list a::before,
.couture-tag-dot-list .tdl-item::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 65%, transparent);
}
.couture-tag-dot-list a:first-child::before,
.couture-tag-dot-list .tdl-item:first-child::before {
  background: var(--c-accent);
}

/* V6.388 #143 — Profile mini-card (author / team-member compact) */
.couture-profile-mini-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-profile-mini-card .pmc-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  letter-spacing: -0.01em;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-profile-mini-card .pmc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-profile-mini-card .pmc-name {
  font: 600 13.5px/1.25 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.couture-profile-mini-card .pmc-role {
  font: 500 11.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* V6.388 #144 — Anchor section divider (numbered horizontal section break) */
.couture-anchor-section-divider {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  margin: 56px 0 28px;
}
.couture-anchor-section-divider .asd-num {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  padding: 6px 10px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
}
.couture-anchor-section-divider .asd-line {
  height: 1px;
  background: linear-gradient(to right,
    color-mix(in oklab, var(--c-line) 50%, transparent),
    color-mix(in oklab, var(--c-line) 10%, transparent));
}
.couture-anchor-section-divider .asd-back {
  font: 500 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.15s ease;
}
.couture-anchor-section-divider .asd-back:hover {
  color: var(--c-ink);
}
.couture-anchor-section-divider .asd-back::before {
  content: "↑";
  font-size: 12px;
}

/* V6.388 #145 — Quote-mark accent block (testimonial w/ huge leading mark) */
.couture-quote-mark-accent {
  position: relative;
  padding: 32px 28px 24px 56px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-quote-mark-accent::before {
  content: "\201C";
  position: absolute;
  top: 4px;
  left: 18px;
  font: 700 64px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  font-feature-settings: "ss01";
}
.couture-quote-mark-accent .qma-body {
  font: 400 17px/1.55 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  margin: 0 0 18px;
}
.couture-quote-mark-accent .qma-cite {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-quote-mark-accent .qma-cite-name {
  font: 700 13px/1.3 var(--c-display);
  color: var(--c-ink);
}
.couture-quote-mark-accent .qma-cite-meta {
  font: 500 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-quote-mark-accent .qma-cite-meta::before {
  content: "·";
  margin: 0 6px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #146 — Numbered list with circular badges (process / steps) */
.couture-numbered-circle-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  counter-reset: ncl-counter;
}
.couture-numbered-circle-list > li {
  position: relative;
  padding: 4px 0 4px 50px;
  counter-increment: ncl-counter;
  font: 400 14.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-numbered-circle-list > li::before {
  content: counter(ncl-counter, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-numbered-circle-list > li strong {
  display: block;
  font: 700 14.5px/1.35 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  margin-bottom: 4px;
}

/* V6.388 #147 — Side-by-side image + caption (editorial split) */
.couture-image-caption-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
}
@media (max-width: 720px) {
  .couture-image-caption-split {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
.couture-image-caption-split .ics-frame {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-image-caption-split .ics-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-image-caption-split .ics-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 65%,
    color-mix(in oklab, var(--c-ink) 18%, transparent));
  pointer-events: none;
}
.couture-image-caption-split .ics-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-image-caption-split .ics-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 72%, var(--c-ink));
}
.couture-image-caption-split .ics-title {
  font: 700 22px/1.25 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.016em;
  margin: 0;
}
.couture-image-caption-split .ics-body {
  font: 400 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #148 — Inline status dot row (online/away/offline indicator) */
.couture-status-dot-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px 5px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink);
  letter-spacing: 0.04em;
}
.couture-status-dot-row .sdr-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2ea043;
  position: relative;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-status-dot-row .sdr-dot::after {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    background: inherit;
    opacity: 0.3;
    animation: couture-sdr-pulse 2s ease-out infinite;
  }
}
@keyframes couture-sdr-pulse {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(2.4); opacity: 0; }
}
.couture-status-dot-row .sdr-dot.--away { background: #d97706; }
.couture-status-dot-row .sdr-dot.--offline { background: var(--c-ink-soft); }
.couture-status-dot-row .sdr-dot.--busy { background: #c92a2a; }

/* V6.388 #149 — Marquee carousel of logos (silent infinite scroll) */
.couture-logo-marquee {
  position: relative;
  overflow: hidden;
  padding: 28px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  mask-image: linear-gradient(to right,
    transparent,
    #000 8%,
    #000 92%,
    transparent);
}
.couture-logo-marquee .lmq-track {
  display: flex;
  gap: 56px;
  align-items: center;
  width: max-content;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-logo-marquee .lmq-track {
    animation: couture-lmq-scroll 40s linear infinite;
  }
}
@keyframes couture-lmq-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.couture-logo-marquee .lmq-item {
  flex: 0 0 auto;
  font: 700 18px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  text-transform: uppercase;
  opacity: 0.85;
  transition: opacity 0.15s ease, color 0.15s ease;
}
.couture-logo-marquee .lmq-item:hover {
  opacity: 1;
  color: var(--c-ink);
}

/* V6.388 #150 — Inline ratings star strip */
.couture-rating-star-strip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}
.couture-rating-star-strip .rss-stars {
  display: inline-flex;
  gap: 2px;
  color: #f59e0b;
}
.couture-rating-star-strip .rss-stars span {
  font-size: 14px;
  line-height: 1;
}
.couture-rating-star-strip .rss-stars span.--off {
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-rating-star-strip .rss-num {
  font-weight: 700;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-rating-star-strip .rss-divider {
  color: color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.388 #151 — Glass-blur callout (frosted Apple-tier panel) */
.couture-glass-callout {
  position: relative;
  padding: 24px 26px;
  border-radius: 18px;
  background: color-mix(in oklab, var(--c-paper) 60%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow:
    0 1px 0 color-mix(in oklab, white 14%, transparent) inset,
    0 18px 40px -22px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-glass-callout::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right,
    transparent,
    color-mix(in oklab, white 35%, transparent),
    transparent);
  border-radius: 18px 18px 0 0;
}
.couture-glass-callout .gco-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0 0 6px;
}
.couture-glass-callout .gco-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #152 — Stepper progress dots (multi-step form indicator) */
.couture-stepper-dots {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
}
.couture-stepper-dots .stp-step {
  display: flex;
  align-items: center;
  gap: 8px;
}
.couture-stepper-dots .stp-step:not(:last-child)::after {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 45%, transparent);
}
.couture-stepper-dots .stp-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  color: var(--c-ink-soft);
  transition: all 0.18s ease;
}
.couture-stepper-dots .stp-step.--done .stp-num {
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-stepper-dots .stp-step.--active .stp-num {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 20%, transparent);
}
.couture-stepper-dots .stp-label {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-stepper-dots .stp-step.--active .stp-label {
  color: var(--c-ink);
}

/* V6.388 #153 — Footer column with heading (sitemap-style footer block) */
.couture-footer-column-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-footer-column-block .fcb-heading {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-footer-column-block ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.couture-footer-column-block ul a {
  font: 500 13.5px/1.4 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  text-decoration: none;
  transition: color 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-footer-column-block ul a:hover {
  color: var(--c-ink);
}
.couture-footer-column-block ul a .fcb-tag {
  font: 700 9px/1 var(--c-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px 5px;
  border-radius: 3px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}

/* V6.388 #154 — FAQ accordion item (collapsible Q&A row) */
.couture-faq-accordion-item {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-faq-accordion-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 4px;
  cursor: pointer;
  list-style: none;
  font: 600 15.5px/1.4 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  transition: color 0.15s ease;
}
.couture-faq-accordion-item summary::-webkit-details-marker {
  display: none;
}
.couture-faq-accordion-item summary:hover {
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}
.couture-faq-accordion-item summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 18px/1 var(--c-mono);
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  transition: transform 0.2s ease, background 0.2s ease;
}
.couture-faq-accordion-item[open] summary::after {
  content: "−";
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-faq-accordion-item .faq-body {
  padding: 0 4px 22px;
  font: 400 14.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 64ch;
}

/* V6-388 #155 — Notification toast strip (system message inline) */
.couture-notify-toast {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  border-left: 3px solid var(--c-accent);
  box-shadow: 0 12px 28px -18px color-mix(in oklab, var(--c-ink) 25%, transparent);
}
.couture-notify-toast .nty-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-display);
}
.couture-notify-toast .nty-msg {
  font: 500 13.5px/1.45 var(--c-body);
  color: var(--c-ink);
}
.couture-notify-toast .nty-msg strong {
  font-weight: 700;
  margin-right: 6px;
}
.couture-notify-toast .nty-x {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-notify-toast .nty-x:hover {
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
  color: var(--c-ink);
}
.couture-notify-toast.--success { border-left-color: #2ea043; }
.couture-notify-toast.--success .nty-icon {
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #2ea043;
}
.couture-notify-toast.--warn { border-left-color: #d97706; }
.couture-notify-toast.--warn .nty-icon {
  background: color-mix(in oklab, #d97706 16%, transparent);
  color: #d97706;
}
.couture-notify-toast.--err { border-left-color: #c92a2a; }
.couture-notify-toast.--err .nty-icon {
  background: color-mix(in oklab, #c92a2a 16%, transparent);
  color: #c92a2a;
}

/* V6.388 #156 — Avatar stack (overlapping circular avatars with count) */
.couture-avatar-stack {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.couture-avatar-stack .avs-pile {
  display: inline-flex;
  isolation: isolate;
}
.couture-avatar-stack .avs-pile > * {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 28%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
  margin-left: -8px;
  position: relative;
  transition: transform 0.18s ease;
}
.couture-avatar-stack .avs-pile > *:first-child {
  margin-left: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-avatar-stack .avs-pile > *:hover {
    transform: translateY(-2px);
    z-index: 2;
  }
}
.couture-avatar-stack .avs-meta {
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-avatar-stack .avs-meta strong {
  color: var(--c-ink);
  font-weight: 700;
  margin-right: 4px;
}

/* V6.388 #157 — Tab strip with underline indicator */
.couture-tab-strip-underline {
  display: flex;
  align-items: center;
  gap: 4px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow-x: auto;
  scrollbar-width: none;
}
.couture-tab-strip-underline::-webkit-scrollbar { display: none; }
.couture-tab-strip-underline .tsu-tab {
  position: relative;
  padding: 12px 16px;
  font: 600 13.5px/1 var(--c-display);
  letter-spacing: -0.006em;
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s ease;
}
.couture-tab-strip-underline .tsu-tab::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 12px;
  right: 12px;
  height: 2px;
  background: var(--c-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.2s ease;
  border-radius: 2px 2px 0 0;
}
.couture-tab-strip-underline .tsu-tab:hover {
  color: var(--c-ink);
}
.couture-tab-strip-underline .tsu-tab.--active {
  color: var(--c-ink);
}
.couture-tab-strip-underline .tsu-tab.--active::after {
  transform: scaleX(1);
}
.couture-tab-strip-underline .tsu-tab .tsu-count {
  display: inline-block;
  margin-left: 5px;
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 700 10px/1.2 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #158 — Inline diff snippet (added/removed token highlights) */
.couture-inline-diff {
  font: 500 13px/1.55 var(--c-mono);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-radius: 8px;
  padding: 14px 16px;
  overflow-x: auto;
  color: var(--c-ink);
  white-space: pre;
}
.couture-inline-diff .id-add {
  background: color-mix(in oklab, #2ea043 20%, transparent);
  color: color-mix(in oklab, #2ea043 92%, var(--c-ink));
  padding: 1px 4px;
  border-radius: 3px;
  text-decoration: none;
}
.couture-inline-diff .id-rm {
  background: color-mix(in oklab, #c92a2a 18%, transparent);
  color: color-mix(in oklab, #c92a2a 92%, var(--c-ink));
  padding: 1px 4px;
  border-radius: 3px;
  text-decoration: line-through;
}
.couture-inline-diff .id-line {
  display: block;
  padding-left: 22px;
  position: relative;
}
.couture-inline-diff .id-line.--add::before {
  content: "+";
  position: absolute;
  left: 4px;
  color: #2ea043;
  font-weight: 700;
}
.couture-inline-diff .id-line.--rm::before {
  content: "−";
  position: absolute;
  left: 4px;
  color: #c92a2a;
  font-weight: 700;
}

/* V6.388 #159 — Sticker chip (decorative pill with shadow) */
.couture-sticker-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px 6px 8px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  font: 600 12.5px/1 var(--c-body);
  color: var(--c-ink);
  letter-spacing: 0.005em;
  box-shadow:
    0 1px 0 color-mix(in oklab, white 35%, transparent) inset,
    0 4px 10px -4px color-mix(in oklab, var(--c-ink) 18%, transparent);
  transition: transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-sticker-chip:hover {
    transform: translateY(-1px) rotate(-0.5deg);
  }
}
.couture-sticker-chip .stk-emoji {
  font-size: 14px;
  line-height: 1;
}
.couture-sticker-chip.--accent {
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
}
.couture-sticker-chip.--ink {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}

/* V6.388 #160 — Editorial blockquote (large-scale magazine pull-quote) */
.couture-editorial-pullquote {
  position: relative;
  margin: 36px 0;
  padding: 24px 0 24px 36px;
  border-left: 3px solid var(--c-accent);
  font: 400 22px/1.4 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
}
@media (min-width: 720px) {
  .couture-editorial-pullquote {
    font-size: 26px;
    padding: 28px 0 28px 44px;
  }
}
.couture-editorial-pullquote::first-letter {
  font-weight: 700;
}
.couture-editorial-pullquote .epq-cite {
  display: block;
  margin-top: 18px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  letter-spacing: 0.14em;
}
.couture-editorial-pullquote .epq-cite::before {
  content: "—";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}

/* V6.388 #161 — Calendar event block (date + body row, schedule-style) */
.couture-calendar-event-row {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  transition: transform 0.18s ease, border-color 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-calendar-event-row:hover {
    transform: translateX(2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-calendar-event-row .cer-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  text-align: center;
}
.couture-calendar-event-row .cer-day {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-calendar-event-row .cer-mon {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  margin-top: 4px;
}
.couture-calendar-event-row .cer-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-calendar-event-row .cer-title {
  font: 700 14.5px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
}
.couture-calendar-event-row .cer-sub {
  font: 500 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-calendar-event-row .cer-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
}
.couture-calendar-event-row .cer-cta:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}

/* V6.388 #162 — Mini progress bar (linear bar w/ label + percent) */
.couture-mini-progress-bar {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-mini-progress-bar .mpb-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font: 600 12px/1.2 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.couture-mini-progress-bar .mpb-pct {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-progress-bar .mpb-track {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-mini-progress-bar .mpb-fill {
  position: absolute;
  inset-block: 0;
  left: 0;
  border-radius: inherit;
  background: linear-gradient(to right,
    color-mix(in oklab, var(--c-accent) 70%, transparent),
    var(--c-accent));
  transition: width 0.4s ease;
}
.couture-mini-progress-bar .mpb-fill.--warn {
  background: linear-gradient(to right, #d97706 0%, #f59e0b 100%);
}
.couture-mini-progress-bar .mpb-fill.--ok {
  background: linear-gradient(to right, #2ea043 0%, #16a34a 100%);
}

/* V6.388 #163 — Empty state placeholder (illustration + copy + CTA) */
.couture-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 40px 24px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px dashed color-mix(in oklab, var(--c-line) 45%, transparent);
}
.couture-empty-state .est-glyph {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 26px/1 var(--c-display);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 24%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-empty-state .est-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 6px 0 0;
}
.couture-empty-state .est-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 38ch;
  margin: 0;
}
.couture-empty-state .est-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  margin-top: 6px;
  border-radius: 8px;
  font: 600 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-paper);
  background: var(--c-accent);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-empty-state .est-cta:hover { transform: translateY(-1px); }

/* V6.388 #164 — Copy-pastable code block w/ language tag */
.couture-code-block-tagged {
  position: relative;
  padding: 36px 16px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 95%, var(--c-ink));
  font: 500 13px/1.55 var(--c-mono);
  overflow-x: auto;
}
.couture-code-block-tagged::before {
  content: attr(data-lang);
  position: absolute;
  top: 9px;
  left: 14px;
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-code-block-tagged .cbt-copy {
  position: absolute;
  top: 6px;
  right: 8px;
  padding: 4px 8px;
  border-radius: 5px;
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  background: color-mix(in oklab, var(--c-paper) 8%, transparent);
  border: 0;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-code-block-tagged .cbt-copy:hover {
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
  color: var(--c-paper);
}
.couture-code-block-tagged code {
  background: none;
  color: inherit;
  font: inherit;
  padding: 0;
}

/* V6.388 #165 — Subscribe inline form (email + button compact) */
.couture-subscribe-inline {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: 4px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  max-width: 440px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.couture-subscribe-inline:focus-within {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-subscribe-inline input[type=email] {
  flex: 1;
  padding: 10px 14px;
  border: 0;
  background: transparent;
  font: 500 14px/1.3 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-subscribe-inline input[type=email]:focus {
  outline: none;
}
.couture-subscribe-inline input[type=email]::placeholder {
  color: color-mix(in oklab, var(--c-ink-soft) 80%, transparent);
}
.couture-subscribe-inline button {
  padding: 10px 18px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 0;
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-subscribe-inline button:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}

/* V6.388 #166 — Pricing comparison table (full grid w/ feature checks) */
.couture-pricing-compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font: 500 13.5px/1.45 var(--c-body);
  color: var(--c-ink);
}
.couture-pricing-compare-table thead th {
  padding: 16px 12px;
  text-align: left;
  font: 700 12px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-pricing-compare-table thead th:not(:first-child) {
  text-align: center;
}
.couture-pricing-compare-table thead th .pct-tier {
  font: 700 14px/1.2 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  margin-bottom: 4px;
  display: block;
  text-transform: none;
}
.couture-pricing-compare-table tbody td {
  padding: 13px 12px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-pricing-compare-table tbody tr:last-child td {
  border-bottom: 0;
}
.couture-pricing-compare-table tbody td:not(:first-child) {
  text-align: center;
}
.couture-pricing-compare-table .pct-yes {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  font: 700 11px/1 var(--c-mono);
}
.couture-pricing-compare-table .pct-no {
  color: color-mix(in oklab, var(--c-line) 80%, transparent);
  font-size: 16px;
}
.couture-pricing-compare-table .pct-cat {
  font: 700 11px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  background: color-mix(in oklab, var(--c-bg) 50%, var(--c-paper));
}

/* V6.388 #167 — Image hover overlay (caption appears on hover) */
.couture-image-hover-overlay {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  isolation: isolate;
  aspect-ratio: 4 / 3;
  background: color-mix(in oklab, var(--c-ink) 92%, var(--c-paper));
}
.couture-image-hover-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-image-hover-overlay:hover img {
    transform: scale(1.06);
  }
}
.couture-image-hover-overlay .iho-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px 20px;
  background: linear-gradient(180deg,
    transparent 50%,
    color-mix(in oklab, black 78%, transparent));
  color: white;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.couture-image-hover-overlay:hover .iho-overlay,
.couture-image-hover-overlay:focus-within .iho-overlay {
  opacity: 1;
}
.couture-image-hover-overlay .iho-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 65%, white);
  margin-bottom: 6px;
}
.couture-image-hover-overlay .iho-title {
  font: 700 18px/1.25 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0;
}

/* V6.388 #168 — Inline pill-style metric trend (delta sparkline aside) */
.couture-metric-trend-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-metric-trend-pill .mtp-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-metric-trend-pill .mtp-key {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-metric-trend-pill .mtp-spark {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  height: 16px;
}
.couture-metric-trend-pill .mtp-spark span {
  display: inline-block;
  width: 3px;
  background: color-mix(in oklab, var(--c-accent) 60%, transparent);
  border-radius: 2px;
}
.couture-metric-trend-pill .mtp-spark span:nth-child(1) { height: 30%; }
.couture-metric-trend-pill .mtp-spark span:nth-child(2) { height: 50%; }
.couture-metric-trend-pill .mtp-spark span:nth-child(3) { height: 40%; }
.couture-metric-trend-pill .mtp-spark span:nth-child(4) { height: 70%; }
.couture-metric-trend-pill .mtp-spark span:nth-child(5) { height: 65%; }
.couture-metric-trend-pill .mtp-spark span:nth-child(6) {
  height: 100%;
  background: var(--c-accent);
}
.couture-metric-trend-pill.--down .mtp-spark span { background: color-mix(in oklab, #c92a2a 60%, transparent); }
.couture-metric-trend-pill.--down .mtp-spark span:nth-child(6) { background: #c92a2a; }

/* V6.388 #169 — Annotated link list (URL preview rows) */
.couture-link-preview-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-link-preview-list .lpl-row {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
  transition: background 0.15s ease;
}
.couture-link-preview-list .lpl-row:last-child { border-bottom: 0; }
.couture-link-preview-list .lpl-row:hover {
  background: color-mix(in oklab, var(--c-bg) 50%, var(--c-paper));
}
.couture-link-preview-list .lpl-fav {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-link-preview-list .lpl-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-link-preview-list .lpl-title {
  font: 600 14px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-link-preview-list .lpl-url {
  font: 500 11.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: lowercase;
  letter-spacing: 0;
}
.couture-link-preview-list .lpl-arrow {
  font: 600 16px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.18s ease, color 0.18s ease;
}
.couture-link-preview-list .lpl-row:hover .lpl-arrow {
  transform: translateX(3px);
  color: var(--c-accent);
}

/* V6.388 #170 — Loading skeleton row (animated shimmer placeholder) */
.couture-skeleton-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 0;
}
.couture-skeleton-row .skr-line {
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-line) 28%, transparent) 0%,
    color-mix(in oklab, var(--c-line) 50%, transparent) 50%,
    color-mix(in oklab, var(--c-line) 28%, transparent) 100%);
  background-size: 200% 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-skeleton-row .skr-line {
    animation: couture-skr-shimmer 1.4s ease-in-out infinite;
  }
}
@keyframes couture-skr-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
.couture-skeleton-row .skr-line.--w70 { width: 70%; }
.couture-skeleton-row .skr-line.--w50 { width: 50%; }
.couture-skeleton-row .skr-line.--w90 { width: 90%; }
.couture-skeleton-row .skr-line.--lg { height: 18px; border-radius: 8px; }
.couture-skeleton-row .skr-line.--sm { height: 10px; }

/* V6.388 #171 — Floating action button (fab) */
.couture-fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 22px/1 var(--c-display);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 18px 28px -12px color-mix(in oklab, var(--c-accent) 50%, transparent),
    0 4px 10px -4px color-mix(in oklab, var(--c-ink) 28%, transparent);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  z-index: 50;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-fab:hover {
    transform: translateY(-2px) scale(1.04);
    box-shadow:
      0 24px 36px -14px color-mix(in oklab, var(--c-accent) 60%, transparent),
      0 6px 12px -4px color-mix(in oklab, var(--c-ink) 32%, transparent);
  }
  .couture-fab:active { transform: scale(0.96); }
}
.couture-fab.--bottom-left {
  right: auto;
  left: 24px;
}
.couture-fab.--with-label {
  width: auto;
  height: auto;
  padding: 12px 20px 12px 16px;
  border-radius: 999px;
  font: 600 14px/1 var(--c-display);
  letter-spacing: -0.006em;
  gap: 8px;
}

/* V6.388 #172 — Vertical timeline w/ icons (history / case study journey) */
.couture-vertical-timeline {
  position: relative;
  padding-left: 36px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.couture-vertical-timeline::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 13px;
  width: 1px;
  background: linear-gradient(to bottom,
    color-mix(in oklab, var(--c-line) 60%, transparent),
    color-mix(in oklab, var(--c-line) 20%, transparent));
}
.couture-vertical-timeline .vtl-step {
  position: relative;
}
.couture-vertical-timeline .vtl-step::before {
  content: "";
  position: absolute;
  top: 4px;
  left: -36px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-accent) 50%, transparent);
  box-shadow: 0 0 0 4px var(--c-paper);
}
.couture-vertical-timeline .vtl-step.--done::before {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.couture-vertical-timeline .vtl-when {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  margin-bottom: 6px;
}
.couture-vertical-timeline .vtl-title {
  font: 700 16px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.012em;
  margin: 0 0 6px;
}
.couture-vertical-timeline .vtl-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #173 — KPI tile (large stat w/ accent icon) */
.couture-kpi-tile {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 22px 26px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-kpi-tile::after {
  content: "";
  position: absolute;
  top: -30%;
  right: -20%;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle at center,
    color-mix(in oklab, var(--c-accent) 18%, transparent) 0%,
    transparent 70%);
  pointer-events: none;
}
.couture-kpi-tile .kpt-glyph {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display);
}
.couture-kpi-tile .kpt-key {
  position: relative;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-kpi-tile .kpt-num {
  position: relative;
  font: 800 32px/1 var(--c-display);
  letter-spacing: -0.026em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-kpi-tile .kpt-num small {
  font: 600 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
  letter-spacing: 0.02em;
}
.couture-kpi-tile .kpt-foot {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  font: 500 12px/1.3 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-kpi-tile .kpt-foot strong {
  color: #2ea043;
  font-weight: 700;
}
.couture-kpi-tile .kpt-foot strong.--down { color: #c92a2a; }

/* V6.388 #174 — Inline micro-search bar */
.couture-micro-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-micro-search:focus-within {
  border-color: var(--c-accent);
  background: var(--c-paper);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-micro-search .ms-icon {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  flex: 0 0 auto;
}
.couture-micro-search input {
  flex: 1;
  border: 0;
  background: transparent;
  font: inherit;
  color: var(--c-ink);
  min-width: 0;
}
.couture-micro-search input:focus { outline: none; }
.couture-micro-search input::placeholder {
  color: color-mix(in oklab, var(--c-ink-soft) 80%, transparent);
}
.couture-micro-search .ms-kbd {
  font: 600 10px/1 var(--c-mono);
  padding: 3px 6px;
  border-radius: 4px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  color: var(--c-ink-soft);
  letter-spacing: 0.06em;
}

/* V6.388 #175 — Hero scroll cue (animated arrow inviting scroll) */
.couture-hero-scroll-cue {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px 4px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-hero-scroll-cue .hsc-line {
  width: 1px;
  height: 36px;
  background: linear-gradient(to bottom,
    color-mix(in oklab, var(--c-line) 70%, transparent),
    transparent);
  position: relative;
  overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-hero-scroll-cue .hsc-line::after {
    content: "";
    position: absolute;
    top: -12px;
    left: 0;
    width: 100%;
    height: 12px;
    background: var(--c-accent);
    animation: couture-hsc-drop 1.6s ease-in-out infinite;
  }
}
@keyframes couture-hsc-drop {
  0% { transform: translateY(0); opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { transform: translateY(60px); opacity: 0; }
}
.couture-hero-scroll-cue:hover {
  color: var(--c-ink);
}

/* V6.388 #176 — Topbar utility row (admin / dashboard upper meta strip) */
.couture-topbar-utility {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 16px;
  border-radius: 0 0 12px 12px;
  background: color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 88%, var(--c-ink));
  font: 500 12px/1.2 var(--c-mono);
  letter-spacing: 0.04em;
}
.couture-topbar-utility .tbu-left,
.couture-topbar-utility .tbu-right {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.couture-topbar-utility .tbu-bullet {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-topbar-utility .tbu-bullet::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-topbar-utility a {
  color: inherit;
  text-decoration: none;
  opacity: 0.86;
  transition: opacity 0.15s ease;
}
.couture-topbar-utility a:hover { opacity: 1; }
.couture-topbar-utility .tbu-divider {
  width: 1px;
  height: 12px;
  background: color-mix(in oklab, var(--c-paper) 30%, transparent);
}

/* V6.388 #177 — Card pixel-art frame (retro 1px crisp border w/ corner pixels) */
.couture-card-pixel-frame {
  position: relative;
  padding: 22px 22px 22px 22px;
  background: var(--c-paper);
  border: 1px solid var(--c-ink);
  box-shadow:
    4px 4px 0 0 color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-pixel-frame:hover {
    transform: translate(-2px, -2px);
    box-shadow:
      6px 6px 0 0 color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  }
}
.couture-card-pixel-frame .cpf-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
}
.couture-card-pixel-frame .cpf-corner {
  position: absolute;
  width: 5px;
  height: 5px;
  background: var(--c-ink);
}
.couture-card-pixel-frame .cpf-corner.--tl { top: -3px; left: -3px; }
.couture-card-pixel-frame .cpf-corner.--tr { top: -3px; right: -3px; }
.couture-card-pixel-frame .cpf-corner.--bl { bottom: -3px; left: -3px; }
.couture-card-pixel-frame .cpf-corner.--br { bottom: -3px; right: -3px; }

/* V6.388 #178 — Sticky CTA bar (bottom-fixed conversion ribbon) */
.couture-sticky-cta-bar {
  position: sticky;
  bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px;
  margin: 18px auto;
  max-width: 880px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  box-shadow:
    0 24px 40px -18px color-mix(in oklab, var(--c-ink) 28%, transparent),
    0 6px 14px -8px color-mix(in oklab, var(--c-ink) 18%, transparent);
  z-index: 30;
}
.couture-sticky-cta-bar .scb-msg {
  font: 600 14px/1.35 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  flex: 1;
}
.couture-sticky-cta-bar .scb-msg small {
  display: block;
  font: 500 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 2px;
}
.couture-sticky-cta-bar .scb-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: 10px;
  font: 600 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: var(--c-accent);
  color: var(--c-paper);
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease;
}
.couture-sticky-cta-bar .scb-cta:hover { transform: translateY(-1px); }
@media (max-width: 580px) {
  .couture-sticky-cta-bar {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .couture-sticky-cta-bar .scb-cta { justify-content: center; }
}

/* V6.388 #179 — Inline KBD shortcut row */
.couture-kbd-shortcut-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 12.5px/1.3 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-kbd-shortcut-row .ksr-keys {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-kbd-shortcut-row .ksr-keys kbd,
.couture-kbd-shortcut-row .ksr-keys .ksr-k {
  font: 600 11px/1 var(--c-mono);
  letter-spacing: 0.04em;
  padding: 4px 7px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom-width: 2px;
  color: var(--c-ink);
  min-width: 22px;
  text-align: center;
}
.couture-kbd-shortcut-row .ksr-plus {
  font: 600 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-ink-soft) 80%, transparent);
}
.couture-kbd-shortcut-row .ksr-label {
  margin-left: 4px;
}

/* V6.388 #180 — Inline divider w/ centered label (decorative section break) */
.couture-divider-labeled {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 28px 0;
}
.couture-divider-labeled::before,
.couture-divider-labeled::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(to right,
    transparent,
    color-mix(in oklab, var(--c-line) 50%, transparent),
    transparent);
}
.couture-divider-labeled .dvl-text {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--c-ink-soft);
  white-space: nowrap;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-divider-labeled.--accent .dvl-text {
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent) 10%, transparent);
}

/* V6.388 #181 — Mobile menu drawer (slide-out side panel) */
.couture-mobile-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: min(86vw, 340px);
  background: var(--c-paper);
  border-left: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  box-shadow: -16px 0 36px -16px color-mix(in oklab, var(--c-ink) 40%, transparent);
  padding: 24px 22px;
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.couture-mobile-drawer.--open { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .couture-mobile-drawer { transition: none; }
}
.couture-mobile-drawer .mdr-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-mobile-drawer .mdr-brand {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-mobile-drawer .mdr-x {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 0;
  font: 600 16px/1 var(--c-mono);
  color: var(--c-ink);
  cursor: pointer;
}
.couture-mobile-drawer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-mobile-drawer ul a {
  display: block;
  padding: 12px 14px;
  border-radius: 10px;
  font: 600 15px/1.3 var(--c-display);
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: -0.008em;
  transition: background 0.15s ease;
}
.couture-mobile-drawer ul a:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-mobile-drawer .mdr-foot {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 500 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* V6.388 #182 — Inline icon-text bullet group (feature row hash list) */
.couture-icon-bullet-group {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  align-items: center;
}
.couture-icon-bullet-group .ibg-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 13.5px/1.3 var(--c-body);
  color: var(--c-ink);
}
.couture-icon-bullet-group .ibg-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
}

/* V6.388 #183 — Footer big CTA panel (final-section call-to-action) */
.couture-footer-cta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 36px 32px;
  border-radius: 22px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 22%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 6%, var(--c-paper)));
  border: 1px solid color-mix(in oklab, var(--c-accent) 32%, transparent);
}
@media (max-width: 720px) {
  .couture-footer-cta-panel {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 26px 22px;
  }
}
.couture-footer-cta-panel .fcp-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  margin-bottom: 10px;
}
.couture-footer-cta-panel .fcp-title {
  font: 800 clamp(22px, 3vw, 30px) / 1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin: 0 0 8px;
}
.couture-footer-cta-panel .fcp-body {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 56ch;
}
.couture-footer-cta-panel .fcp-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 12px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 14px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease, background 0.15s ease;
}
.couture-footer-cta-panel .fcp-cta:hover {
  transform: translateY(-1px);
  background: color-mix(in oklab, var(--c-accent) 40%, var(--c-ink));
}

/* V6.388 #184 — Inline media metadata strip (date / read-time / author) */
.couture-media-meta-strip {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  font: 500 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.couture-media-meta-strip .mms-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-media-meta-strip .mms-item + .mms-item::before {
  content: "·";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-media-meta-strip strong {
  color: var(--c-ink);
  font-weight: 700;
}
.couture-media-meta-strip .mms-icon {
  font: 700 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}

/* V6.388 #185 — Hero corner badge (small "new" / "v2" tag overlay) */
.couture-hero-corner-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 6px 10px;
  border-radius: 4px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 800 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  box-shadow: 0 6px 14px -6px color-mix(in oklab, var(--c-accent) 60%, transparent);
  transform: rotate(2deg);
  transform-origin: top right;
}
.couture-hero-corner-badge.--ribbon {
  border-radius: 0;
  padding: 8px 18px;
  font-size: 11px;
  letter-spacing: 0.2em;
  transform: none;
  clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%);
  padding-right: 26px;
}
.couture-hero-corner-badge.--top-left {
  right: auto;
  left: 18px;
  transform: rotate(-2deg);
  transform-origin: top left;
}

/* V6.388 #186 — Color swatch row (palette chips with hex labels) */
.couture-color-swatch-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: stretch;
}
.couture-color-swatch-row .csr-swatch {
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  width: 110px;
  background: var(--c-paper);
  box-shadow: 0 6px 16px -10px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-color-swatch-row .csr-color {
  height: 70px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-color-swatch-row .csr-meta {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-color-swatch-row .csr-name {
  font: 600 11.5px/1.2 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.006em;
}
.couture-color-swatch-row .csr-hex {
  font: 600 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* V6.388 #187 — Card with corner-cut clip (chamfered geometric shape) */
.couture-card-corner-cut {
  position: relative;
  padding: 22px 24px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  clip-path: polygon(
    0 0,
    calc(100% - 18px) 0,
    100% 18px,
    100% 100%,
    18px 100%,
    0 calc(100% - 18px)
  );
  font: 500 14px/1.55 var(--c-body);
  color: var(--c-ink);
  transition: transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-corner-cut:hover { transform: translateY(-2px); }
}
.couture-card-corner-cut::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 18px;
  height: 18px;
  background: linear-gradient(225deg,
    color-mix(in oklab, var(--c-accent) 40%, transparent) 0%,
    color-mix(in oklab, var(--c-accent) 16%, transparent) 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.couture-card-corner-cut .ccc-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  margin: 0 0 8px;
  color: var(--c-ink);
}

/* V6.388 #188 — Inline tag-with-count (filter tag w/ result number) */
.couture-tag-with-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px 5px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 500 12.5px/1 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color 0.15s ease;
}
.couture-tag-with-count:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-tag-with-count .twc-name {
  letter-spacing: -0.005em;
}
.couture-tag-with-count .twc-num {
  font: 700 10.5px/1 var(--c-mono);
  padding: 3px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
}

/* V6.388 #189 — Section header w/ inline meta (h2 + meta-aside row) */
.couture-section-head-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-section-head-meta .shm-h {
  font: 700 clamp(20px, 2.4vw, 26px) / 1.2 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin: 0;
}
.couture-section-head-meta .shm-h::before {
  content: attr(data-marker);
  display: inline-block;
  margin-right: 12px;
  font: 700 12px/1 var(--c-mono);
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  vertical-align: 0.18em;
}
.couture-section-head-meta .shm-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-section-head-meta .shm-meta a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 70%, transparent);
  padding-bottom: 1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.couture-section-head-meta .shm-meta a:hover {
  color: var(--c-ink);
  border-color: var(--c-accent);
}

/* V6.388 #190 — Inline data table (compact admin-style table) */
.couture-data-table-compact {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-data-table-compact thead th {
  padding: 10px 12px;
  text-align: left;
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-data-table-compact thead th:first-child { border-top-left-radius: 8px; }
.couture-data-table-compact thead th:last-child { border-top-right-radius: 8px; }
.couture-data-table-compact tbody td {
  padding: 11px 12px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-data-table-compact tbody tr:hover td {
  background: color-mix(in oklab, var(--c-bg) 50%, var(--c-paper));
}
.couture-data-table-compact tbody tr:last-child td {
  border-bottom: 0;
}
.couture-data-table-compact td.--num,
.couture-data-table-compact th.--num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-family: var(--c-mono);
}
.couture-data-table-compact .dtc-tag {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  font: 700 10px/1 var(--c-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.couture-data-table-compact .dtc-tag.--ok {
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #2ea043;
}
.couture-data-table-compact .dtc-tag.--warn {
  background: color-mix(in oklab, #d97706 16%, transparent);
  color: #d97706;
}
.couture-data-table-compact .dtc-tag.--err {
  background: color-mix(in oklab, #c92a2a 16%, transparent);
  color: #c92a2a;
}

/* V6.388 #191 — Card flip-on-hover (front + back surfaces) */
.couture-card-flip {
  position: relative;
  perspective: 1200px;
  width: 100%;
  aspect-ratio: 4 / 3;
}
.couture-card-flip .cfp-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-flip:hover .cfp-inner,
  .couture-card-flip:focus-within .cfp-inner {
    transform: rotateY(180deg);
  }
}
.couture-card-flip .cfp-face {
  position: absolute;
  inset: 0;
  border-radius: 14px;
  padding: 22px;
  backface-visibility: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.couture-card-flip .cfp-back {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  transform: rotateY(180deg);
}
.couture-card-flip .cfp-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-card-flip .cfp-body {
  font: 400 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #192 — Inline tag-with-cross (removable filter tag) */
.couture-tag-removable {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 4px 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-accent) 32%, transparent);
  font: 600 12px/1 var(--c-body);
  color: var(--c-ink);
  letter-spacing: 0.005em;
}
.couture-tag-removable .trm-x {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 11px/1 var(--c-mono);
  background: color-mix(in oklab, var(--c-accent) 22%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  border: 0;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-tag-removable .trm-x:hover {
  background: color-mix(in oklab, var(--c-accent) 60%, transparent);
  color: var(--c-paper);
}

/* V6.388 #193 — Inline citation footnote */
.couture-citation-footnote {
  display: inline-block;
  vertical-align: super;
  font: 700 10px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  text-decoration: none;
  padding: 1px 4px;
  border-radius: 3px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  margin-left: 2px;
  letter-spacing: 0.04em;
  transition: background 0.15s ease;
}
.couture-citation-footnote:hover {
  background: color-mix(in oklab, var(--c-accent) 22%, transparent);
}
.couture-citation-footnote::before { content: "["; }
.couture-citation-footnote::after { content: "]"; }

/* V6.388 #194 — Banner promotional alert (top-of-page seasonal sale) */
.couture-banner-promo-alert {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 11px 22px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-accent) 18%, var(--c-ink)),
    color-mix(in oklab, var(--c-accent) 35%, var(--c-ink)));
  color: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  font: 600 13px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.couture-banner-promo-alert::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(45deg,
      transparent 0,
      transparent 18px,
      color-mix(in oklab, white 4%, transparent) 18px,
      color-mix(in oklab, white 4%, transparent) 36px);
  pointer-events: none;
}
.couture-banner-promo-alert .bpa-msg {
  position: relative;
}
.couture-banner-promo-alert .bpa-msg strong {
  font-weight: 800;
  margin-right: 6px;
}
.couture-banner-promo-alert .bpa-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 5px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background: var(--c-paper);
  color: var(--c-ink);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-banner-promo-alert .bpa-cta:hover { transform: translateY(-1px); }
.couture-banner-promo-alert .bpa-x {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font: 700 14px/1 var(--c-mono);
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
  opacity: 0.7;
}
.couture-banner-promo-alert .bpa-x:hover { opacity: 1; }

/* V6.388 #195 — Inline tooltip pill (hover info text capsule) */
.couture-tooltip-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 600 11.5px/1 var(--c-mono);
  color: var(--c-ink-soft);
  cursor: help;
  letter-spacing: 0.03em;
}
.couture-tooltip-pill::before {
  content: "?";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 9px/1 var(--c-mono);
}
.couture-tooltip-pill[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  padding: 6px 10px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  color: var(--c-paper);
  font: 500 11px/1.4 var(--c-body);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  text-transform: none;
  letter-spacing: 0.005em;
  transition: opacity 0.15s ease, transform 0.15s ease;
  z-index: 10;
}
.couture-tooltip-pill[data-tip]:hover::after,
.couture-tooltip-pill[data-tip]:focus::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* V6.388 #196 — Inline metric grid (4-up KPI strip) */
.couture-metric-grid-quad {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1px;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-metric-grid-quad .mgq-cell {
  padding: 18px 18px;
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-metric-grid-quad .mgq-key {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-metric-grid-quad .mgq-num {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-metric-grid-quad .mgq-foot {
  font: 500 11.5px/1.3 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-metric-grid-quad .mgq-foot strong { color: #2ea043; font-weight: 700; }
.couture-metric-grid-quad .mgq-foot strong.--down { color: #c92a2a; }

/* V6.388 #197 — Pinned highlight card (note saved by user) */
.couture-pinned-highlight {
  position: relative;
  padding: 20px 22px 22px;
  border-radius: 12px;
  background: color-mix(in oklab, #fef3c7 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #fbbf24 50%, transparent);
  font: 400 14px/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 92%, #92400e);
  box-shadow: 0 14px 28px -16px color-mix(in oklab, #fbbf24 50%, transparent);
}
.couture-pinned-highlight::before {
  content: "📌";
  position: absolute;
  top: -10px;
  left: 18px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, #fbbf24 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
}
.couture-pinned-highlight .pnh-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, #fbbf24 40%, transparent);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, #92400e 75%, var(--c-ink));
}

/* V6.388 #198 — Inline keyboard navigation hint */
.couture-keyboard-nav-hint {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 500 11.5px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}
.couture-keyboard-nav-hint .knh-arrow {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.couture-keyboard-nav-hint .knh-arrow .knh-k {
  font: 700 10px/1 var(--c-mono);
  padding: 3px 5px;
  border-radius: 4px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  color: var(--c-ink);
  min-width: 18px;
  text-align: center;
}
.couture-keyboard-nav-hint .knh-divider {
  width: 1px;
  height: 12px;
  background: color-mix(in oklab, var(--c-line) 40%, transparent);
}

/* V6.388 #199 — Inline shoutout chip (mention / tag with avatar dot) */
.couture-shoutout-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 11px 4px 5px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  font: 600 12.5px/1 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-shoutout-chip:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  transform: translateY(-1px);
}
.couture-shoutout-chip .soc-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 32%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 9px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
}
.couture-shoutout-chip .soc-handle {
  font-family: var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #200 — Anchor section card (numbered jump-target panel) */
.couture-anchor-section-card {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  padding: 28px 28px 28px 24px;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  position: relative;
}
@media (max-width: 720px) {
  .couture-anchor-section-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.couture-anchor-section-card .asc-num {
  font: 800 56px/1 var(--c-display);
  letter-spacing: -0.04em;
  color: color-mix(in oklab, var(--c-accent) 38%, transparent);
  font-feature-settings: "ss01";
}
@media (max-width: 720px) {
  .couture-anchor-section-card .asc-num {
    font-size: 36px;
  }
}
.couture-anchor-section-card .asc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  margin-bottom: 8px;
}
.couture-anchor-section-card .asc-title {
  font: 700 22px/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin: 0 0 10px;
}
.couture-anchor-section-card .asc-body {
  font: 400 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 16px;
  max-width: 56ch;
}
.couture-anchor-section-card .asc-foot {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color 0.15s ease;
}
.couture-anchor-section-card .asc-foot:hover {
  color: var(--c-accent);
}
.couture-anchor-section-card .asc-foot::after {
  content: "→";
  transition: transform 0.18s ease;
}
.couture-anchor-section-card .asc-foot:hover::after {
  transform: translateX(3px);
}

/* V6.388 #201 — Inline expandable detail (read-more text reveal) */
.couture-expandable-detail {
  display: block;
}
.couture-expandable-detail summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  list-style: none;
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  border-bottom: 1px dashed color-mix(in oklab, var(--c-accent) 50%, transparent);
  padding-bottom: 2px;
  transition: color 0.15s ease;
}
.couture-expandable-detail summary::-webkit-details-marker {
  display: none;
}
.couture-expandable-detail summary::after {
  content: "+";
  font-size: 14px;
  font-weight: 700;
  transition: transform 0.18s ease;
}
.couture-expandable-detail[open] summary::after {
  transform: rotate(45deg);
}
.couture-expandable-detail .exd-body {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border-left: 3px solid var(--c-accent);
  font: 400 13.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #202 — Sidebar resource link group (left-rail with grouped links) */
.couture-sidebar-resource-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 14px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-sidebar-resource-group .srg-heading {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-ink-soft);
  padding: 4px 10px 10px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-sidebar-resource-group a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font: 500 13.5px/1.4 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-sidebar-resource-group a:hover {
  background: var(--c-paper);
  color: var(--c-accent);
}
.couture-sidebar-resource-group a .srg-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 10px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-sidebar-resource-group a.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  font-weight: 700;
}
.couture-sidebar-resource-group a.--active .srg-icon {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.388 #203 — Inline cookie consent strip */
.couture-cookie-strip {
  position: fixed;
  bottom: 16px;
  left: 16px;
  right: 16px;
  max-width: 540px;
  margin: 0 auto;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 88%, var(--c-ink));
  display: flex;
  align-items: center;
  gap: 18px;
  box-shadow:
    0 22px 36px -16px color-mix(in oklab, var(--c-ink) 50%, transparent);
  font: 500 12.5px/1.4 var(--c-body);
  z-index: 70;
}
.couture-cookie-strip .ckp-msg {
  flex: 1;
}
.couture-cookie-strip .ckp-msg a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.couture-cookie-strip .ckp-actions {
  display: inline-flex;
  gap: 8px;
}
.couture-cookie-strip button {
  padding: 7px 14px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  border: 1px solid color-mix(in oklab, var(--c-paper) 22%, transparent);
  background: transparent;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-cookie-strip button:hover {
  background: color-mix(in oklab, var(--c-paper) 14%, transparent);
}
.couture-cookie-strip button.--accept {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}

/* V6.388 #204 — Mini badge dot (notification count overlay) */
.couture-badge-dot-overlay {
  position: relative;
  display: inline-block;
}
.couture-badge-dot-overlay .bdo-count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 10px/18px var(--c-mono);
  text-align: center;
  border: 2px solid var(--c-paper);
  box-shadow: 0 4px 8px -2px color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-badge-dot-overlay .bdo-count.--alert {
  background: #c92a2a;
}
.couture-badge-dot-overlay .bdo-count.--ok {
  background: #2ea043;
}
.couture-badge-dot-overlay .bdo-count.--dot-only {
  min-width: 0;
  width: 10px;
  height: 10px;
  padding: 0;
  font-size: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-badge-dot-overlay .bdo-count.--pulse::after {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    background: inherit;
    opacity: 0.5;
    animation: couture-bdo-pulse 1.6s ease-out infinite;
  }
}
@keyframes couture-bdo-pulse {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(2); opacity: 0; }
}

/* V6.388 #205 — Inline tab pill group (alt segmented control) */
.couture-tab-pill-group {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-tab-pill-group button,
.couture-tab-pill-group a {
  padding: 7px 16px;
  border-radius: 999px;
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-tab-pill-group button:hover,
.couture-tab-pill-group a:hover {
  color: var(--c-ink);
}
.couture-tab-pill-group .--active,
.couture-tab-pill-group [aria-selected="true"] {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 4px 10px -4px color-mix(in oklab, var(--c-ink) 20%, transparent);
}

/* V6.388 #206 — Newsletter signup card (centered email collect block) */
.couture-newsletter-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  padding: 36px 28px;
  border-radius: 22px;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  box-shadow: 0 24px 50px -28px color-mix(in oklab, var(--c-ink) 28%, transparent);
}
.couture-newsletter-card .nlc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-newsletter-card .nlc-title {
  font: 800 clamp(22px, 3vw, 30px) / 1.2 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  margin: 0;
}
.couture-newsletter-card .nlc-body {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 50ch;
}
.couture-newsletter-card .nlc-form {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 420px;
  margin-top: 8px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  padding: 4px;
}
.couture-newsletter-card .nlc-form input {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 10px 14px;
  font: 500 14px/1.3 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-newsletter-card .nlc-form input:focus { outline: none; }
.couture-newsletter-card .nlc-form button {
  padding: 10px 20px;
  border-radius: 9px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 0;
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-newsletter-card .nlc-form button:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}
.couture-newsletter-card .nlc-fineprint {
  font: 500 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 4px;
}

/* V6.388 #207 — Inline byline meta (author + date row, news-byline) */
.couture-byline-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-byline-meta .blm-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  flex: 0 0 auto;
}
.couture-byline-meta .blm-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-byline-meta .blm-name {
  font: 700 13px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.006em;
}
.couture-byline-meta .blm-date {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-byline-meta .blm-foot {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-byline-meta .blm-foot::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-accent);
}

/* V6.388 #208 — Inline metric callout (boldface metric + caption) */
.couture-metric-callout-inline {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 18px;
  border-left: 3px solid var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 6%, transparent);
}
.couture-metric-callout-inline .mci-num {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-metric-callout-inline .mci-num small {
  font: 600 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
  letter-spacing: 0.04em;
}
.couture-metric-callout-inline .mci-cap {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  max-width: 22ch;
}

/* V6.388 #209 — Service tile w/ overlap icon */
.couture-service-tile-overlap {
  position: relative;
  padding: 36px 24px 24px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  margin-top: 24px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-service-tile-overlap:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 36px -20px color-mix(in oklab, var(--c-ink) 30%, transparent);
  }
}
.couture-service-tile-overlap .sto-icon {
  position: absolute;
  top: -22px;
  left: 22px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 80%, var(--c-ink)),
    color-mix(in oklab, var(--c-accent) 50%, var(--c-paper)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display);
  border: 2px solid var(--c-paper);
  box-shadow: 0 8px 18px -8px color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-service-tile-overlap .sto-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0 0 8px;
}
.couture-service-tile-overlap .sto-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 14px;
}
.couture-service-tile-overlap .sto-foot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color 0.15s ease;
}
.couture-service-tile-overlap .sto-foot:hover { color: var(--c-accent); }
.couture-service-tile-overlap .sto-foot::after {
  content: "→";
  transition: transform 0.18s ease;
}
.couture-service-tile-overlap .sto-foot:hover::after { transform: translateX(2px); }

/* V6.388 #210 — Inline cite block (small caption-style attribution) */
.couture-cite-block-inline {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 4px 0;
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-cite-block-inline::before {
  content: "—";
  font-weight: 700;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}
.couture-cite-block-inline strong {
  font-weight: 700;
  color: var(--c-ink);
}
.couture-cite-block-inline a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 70%, transparent);
  padding-bottom: 1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.couture-cite-block-inline a:hover {
  color: var(--c-ink);
  border-color: var(--c-accent);
}

/* V6.388 #211 — Inline meta-icon row (small icons + text labels) */
.couture-meta-icon-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 16px;
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-meta-icon-row .mir-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  letter-spacing: -0.005em;
}
.couture-meta-icon-row .mir-item .mir-icon {
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 9px/1 var(--c-mono);
}
.couture-meta-icon-row .mir-item strong {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #212 — Card with image-on-top (classic editorial card) */
.couture-card-image-top {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-image-top:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 38px -22px color-mix(in oklab, var(--c-ink) 26%, transparent);
  }
}
.couture-card-image-top .cit-frame {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  position: relative;
}
.couture-card-image-top .cit-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-image-top:hover .cit-frame img {
    transform: scale(1.05);
  }
}
.couture-card-image-top .cit-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 4px 9px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-card-image-top .cit-meta {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-image-top .cit-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-card-image-top .cit-body {
  font: 400 13.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-card-image-top .cit-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
  font: 500 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #213 — Inline tally counter (big numeric + small label) */
.couture-tally-counter {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-tally-counter .tcn-num {
  font: 800 24px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-tally-counter .tcn-label {
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-tally-counter.--accent {
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 35%, transparent);
}
.couture-tally-counter.--accent .tcn-num {
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
}

/* V6.388 #214 — Inline notification thread (chat-style updates list) */
.couture-notification-thread {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 0;
}
.couture-notification-thread .nth-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: flex-start;
  position: relative;
  padding-bottom: 12px;
}
.couture-notification-thread .nth-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 36px;
  left: 13px;
  bottom: -4px;
  width: 1px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-notification-thread .nth-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  position: relative;
  z-index: 1;
  border: 2px solid var(--c-paper);
}
.couture-notification-thread .nth-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-notification-thread .nth-msg {
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-notification-thread .nth-msg strong {
  font-weight: 700;
}
.couture-notification-thread .nth-when {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-notification-thread .nth-item.--success .nth-icon {
  background: color-mix(in oklab, #2ea043 18%, transparent);
  color: #2ea043;
}
.couture-notification-thread .nth-item.--err .nth-icon {
  background: color-mix(in oklab, #c92a2a 18%, transparent);
  color: #c92a2a;
}

/* V6.388 #215 — Inline highlight strip (selected text emphasis) */
.couture-highlight-strip {
  display: inline;
  background: linear-gradient(180deg,
    transparent 60%,
    color-mix(in oklab, var(--c-accent) 32%, transparent) 60%);
  padding: 0 2px;
  font-weight: inherit;
  color: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.couture-highlight-strip.--solid {
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  border-radius: 3px;
  padding: 1px 4px;
}
.couture-highlight-strip.--strikethrough {
  background: linear-gradient(180deg,
    transparent calc(50% - 0.5px),
    color-mix(in oklab, var(--c-accent) 80%, var(--c-ink)) calc(50% - 0.5px),
    color-mix(in oklab, var(--c-accent) 80%, var(--c-ink)) calc(50% + 0.5px),
    transparent calc(50% + 0.5px));
  padding: 0 2px;
  color: var(--c-ink-soft);
}

/* V6.388 #216 — Tabbed code panel (multi-language code switcher) */
.couture-tabbed-code-panel {
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
}
.couture-tabbed-code-panel .tcp-tabs {
  display: flex;
  align-items: stretch;
  background: color-mix(in oklab, var(--c-ink) 92%, var(--c-paper));
  border-bottom: 1px solid color-mix(in oklab, var(--c-paper) 8%, transparent);
}
.couture-tabbed-code-panel .tcp-tab {
  padding: 10px 14px;
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-paper) 50%, transparent);
  background: transparent;
  border: 0;
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease;
}
.couture-tabbed-code-panel .tcp-tab:hover {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-tabbed-code-panel .tcp-tab.--active {
  color: var(--c-paper);
}
.couture-tabbed-code-panel .tcp-tab.--active::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 12px;
  right: 12px;
  height: 2px;
  background: var(--c-accent);
  border-radius: 2px 2px 0 0;
}
.couture-tabbed-code-panel pre {
  margin: 0;
  padding: 18px 20px;
  overflow-x: auto;
  font: 500 13px/1.55 var(--c-mono);
  color: color-mix(in oklab, var(--c-paper) 90%, transparent);
  background: transparent;
}
.couture-tabbed-code-panel pre .tcp-comment {
  color: color-mix(in oklab, var(--c-paper) 45%, transparent);
  font-style: italic;
}
.couture-tabbed-code-panel pre .tcp-keyword {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-paper));
  font-weight: 600;
}
.couture-tabbed-code-panel pre .tcp-str {
  color: #f9c46b;
}

/* V6.388 #217 — Inline before/after slider (visual comparison) */
.couture-before-after-slider {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  aspect-ratio: 16 / 10;
}
.couture-before-after-slider .bas-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-before-after-slider .bas-img.--after {
  clip-path: inset(0 0 0 50%);
}
.couture-before-after-slider .bas-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: var(--c-paper);
  transform: translateX(-50%);
  pointer-events: none;
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--c-ink) 30%, transparent);
}
.couture-before-after-slider .bas-handle::after {
  content: "⇔";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  box-shadow: 0 6px 14px -4px color-mix(in oklab, var(--c-ink) 30%, transparent);
}
.couture-before-after-slider .bas-label {
  position: absolute;
  bottom: 12px;
  padding: 4px 10px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-ink) 80%, transparent);
  color: var(--c-paper);
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  backdrop-filter: blur(4px);
}
.couture-before-after-slider .bas-label.--before { left: 12px; }
.couture-before-after-slider .bas-label.--after { right: 12px; }

/* V6.388 #218 — Inline option-card list (radio-style selectable cards) */
.couture-option-card {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-option-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-option-card .opc-radio {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  background: var(--c-paper);
  transition: border-color 0.15s ease;
}
.couture-option-card.--selected {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
}
.couture-option-card.--selected .opc-radio {
  border-color: var(--c-accent);
}
.couture-option-card.--selected .opc-radio::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-option-card .opc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-option-card .opc-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-option-card .opc-sub {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-option-card .opc-aside {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #219 — Inline media file row (file w/ size + download) */
.couture-media-file-row {
  display: grid;
  grid-template-columns: 36px 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-media-file-row .mfr-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.couture-media-file-row .mfr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-media-file-row .mfr-name {
  font: 600 13.5px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.006em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-media-file-row .mfr-sub {
  font: 500 11.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-media-file-row .mfr-size {
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-media-file-row .mfr-dl {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.couture-media-file-row .mfr-dl:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}

/* V6.388 #220 — Inline brand mark stamp (logo-style decorative seal) */
.couture-brand-mark-stamp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1.5px solid var(--c-ink);
  background: var(--c-paper);
  font: 900 13px/1 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  text-transform: uppercase;
  position: relative;
  isolation: isolate;
}
.couture-brand-mark-stamp::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px dashed color-mix(in oklab, var(--c-ink) 35%, transparent);
  pointer-events: none;
}
.couture-brand-mark-stamp::after {
  content: attr(data-circle);
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  font: 700 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-ink-soft);
  white-space: nowrap;
}
.couture-brand-mark-stamp.--accent {
  border-color: var(--c-accent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-brand-mark-stamp.--accent::before {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}

/* V6.388 #221 — Inline collection grid header */
.couture-collection-grid-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: end;
  padding-bottom: 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  margin-bottom: 24px;
}
.couture-collection-grid-head .cgh-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-collection-grid-head .cgh-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-collection-grid-head .cgh-title {
  font: 800 clamp(20px, 2.6vw, 28px) / 1.18 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin: 0;
}
.couture-collection-grid-head .cgh-count {
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-collection-grid-head .cgh-count strong {
  color: var(--c-ink);
  font-weight: 700;
}
@media (max-width: 580px) {
  .couture-collection-grid-head {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .couture-collection-grid-head .cgh-count {
    align-self: flex-start;
  }
}

/* V6.388 #222 — Quote-card with rotated background mark */
.couture-quote-bg-mark {
  position: relative;
  padding: 36px 36px 28px;
  border-radius: 18px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
  isolation: isolate;
}
.couture-quote-bg-mark::before {
  content: "\201C";
  position: absolute;
  top: -28px;
  right: -8px;
  font: 800 220px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 12%, transparent);
  z-index: 0;
  pointer-events: none;
  transform: rotate(8deg);
}
.couture-quote-bg-mark .qbm-body {
  position: relative;
  font: 500 19px/1.45 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0 0 20px;
  z-index: 1;
}
.couture-quote-bg-mark .qbm-cite {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  z-index: 1;
}
.couture-quote-bg-mark .qbm-cite-name {
  font: 700 13px/1.3 var(--c-display);
  color: var(--c-ink);
}
.couture-quote-bg-mark .qbm-cite-role {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #223 — Inline status callout (alert-style with icon + body) */
.couture-status-callout {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border-left: 3px solid var(--c-accent);
}
.couture-status-callout .stc-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
  margin-top: 1px;
}
.couture-status-callout .stc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-status-callout .stc-title {
  font: 700 13.5px/1.4 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-status-callout .stc-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-status-callout.--success {
  border-left-color: #2ea043;
}
.couture-status-callout.--success .stc-icon {
  background: color-mix(in oklab, #2ea043 18%, transparent);
  color: #2ea043;
}
.couture-status-callout.--warn { border-left-color: #d97706; }
.couture-status-callout.--warn .stc-icon {
  background: color-mix(in oklab, #d97706 18%, transparent);
  color: #d97706;
}
.couture-status-callout.--err { border-left-color: #c92a2a; }
.couture-status-callout.--err .stc-icon {
  background: color-mix(in oklab, #c92a2a 18%, transparent);
  color: #c92a2a;
}

/* V6.388 #224 — Inline label-value definition list */
.couture-definition-row {
  display: grid;
  grid-template-columns: minmax(120px, 30%) 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-definition-row:last-child {
  border-bottom: 0;
}
.couture-definition-row .dfr-key {
  font: 700 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  padding-top: 2px;
}
.couture-definition-row .dfr-val {
  font: 400 14.5px/1.55 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-definition-row .dfr-val small {
  display: block;
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 4px;
}
@media (max-width: 580px) {
  .couture-definition-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* V6.388 #225 — Inline rich preview link (link unfurl preview card) */
.couture-link-rich-preview {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 14px;
  padding: 12px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-link-rich-preview:hover {
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
    transform: translateY(-1px);
  }
}
.couture-link-rich-preview .lrp-thumb {
  width: 84px;
  height: 60px;
  border-radius: 7px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
}
.couture-link-rich-preview .lrp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-link-rich-preview .lrp-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.couture-link-rich-preview .lrp-title {
  font: 700 13.5px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-link-rich-preview .lrp-desc {
  font: 400 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-link-rich-preview .lrp-domain {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: lowercase;
  letter-spacing: 0;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  margin-top: 2px;
}

/* V6.388 #226 — Inline reaction bar (emoji thumb-tap row) */
.couture-reaction-bar {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-reaction-bar .rcb-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 999px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink);
  letter-spacing: 0.04em;
  transition: background 0.15s ease;
}
.couture-reaction-bar .rcb-btn:hover {
  background: var(--c-paper);
}
.couture-reaction-bar .rcb-btn .rcb-emoji {
  font-size: 14px;
  line-height: 1;
}
.couture-reaction-bar .rcb-btn .rcb-num {
  font-variant-numeric: tabular-nums;
  color: var(--c-ink-soft);
  font-weight: 700;
}
.couture-reaction-bar .rcb-btn.--mine {
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-reaction-bar .rcb-btn.--mine .rcb-num {
  color: inherit;
}
.couture-reaction-bar .rcb-add {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  background: transparent;
  color: var(--c-ink-soft);
  font: 700 13px/1 var(--c-mono);
  cursor: pointer;
}
.couture-reaction-bar .rcb-add:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}

/* V6.388 #227 — Inline filter accordion (collapsible filter group) */
.couture-filter-accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-filter-accordion details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-filter-accordion details:last-child { border-bottom: 0; }
.couture-filter-accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink);
  cursor: pointer;
  list-style: none;
}
.couture-filter-accordion summary::-webkit-details-marker { display: none; }
.couture-filter-accordion summary .fac-num {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-filter-accordion summary::after {
  content: "+";
  font-size: 16px;
  color: var(--c-ink-soft);
  margin-left: 12px;
  transition: transform 0.18s ease;
}
.couture-filter-accordion details[open] summary::after {
  transform: rotate(45deg);
  color: var(--c-accent);
}
.couture-filter-accordion .fac-body {
  padding: 6px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-filter-accordion .fac-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  padding: 4px 0;
  cursor: pointer;
}
.couture-filter-accordion .fac-row .fac-c {
  color: var(--c-ink-soft);
  font: 600 11px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #228 — Inline progress steps (numbered tracker, horizontal) */
.couture-progress-steps {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  align-items: start;
  gap: 0;
  position: relative;
  padding-block: 14px;
}
.couture-progress-steps::before {
  content: "";
  position: absolute;
  top: 27px;
  left: 12%;
  right: 12%;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-progress-steps .pgs-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 0 6px;
  position: relative;
  z-index: 1;
}
.couture-progress-steps .pgs-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 1.5px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-progress-steps .pgs-step.--done .pgs-num {
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 60%, transparent);
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
}
.couture-progress-steps .pgs-step.--active .pgs-num {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-progress-steps .pgs-label {
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  max-width: 12ch;
}
.couture-progress-steps .pgs-step.--active .pgs-label,
.couture-progress-steps .pgs-step.--done .pgs-label {
  color: var(--c-ink);
}

/* V6.388 #229 — Inline marquee tickertape (single line scrolling text) */
.couture-marquee-tape {
  position: relative;
  overflow: hidden;
  padding: 8px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
}
.couture-marquee-tape .mqt-track {
  display: flex;
  align-items: center;
  gap: 36px;
  width: max-content;
  white-space: nowrap;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-marquee-tape .mqt-track {
    animation: couture-mqt-slide 28s linear infinite;
  }
}
@keyframes couture-mqt-slide {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.couture-marquee-tape .mqt-item {
  font: 600 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink);
}
.couture-marquee-tape .mqt-item::after {
  content: "✦";
  margin-left: 36px;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-size: 11px;
  opacity: 0.65;
}

/* V6.388 #230 — Inline circular progress ring */
.couture-circular-progress {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.couture-circular-progress .ccp-ring {
  --pct: 65;
  --size: 56px;
  --stroke: 6px;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background:
    conic-gradient(
      var(--c-accent) calc(var(--pct) * 1%),
      color-mix(in oklab, var(--c-line) 30%, transparent) 0
    );
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.couture-circular-progress .ccp-ring::before {
  content: "";
  position: absolute;
  inset: var(--stroke);
  background: var(--c-paper);
  border-radius: 50%;
}
.couture-circular-progress .ccp-num {
  position: relative;
  font: 800 14px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-circular-progress .ccp-num small {
  font: 600 9px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 1px;
}
.couture-circular-progress .ccp-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-circular-progress .ccp-label {
  font: 700 12px/1.3 var(--c-display);
  letter-spacing: -0.006em;
  color: var(--c-ink);
}
.couture-circular-progress .ccp-sub {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #231 — Inline filter bar (search + dropdown + button row) */
.couture-filter-bar {
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 6px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-filter-bar .ffb-search {
  flex: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-filter-bar .ffb-search:focus-within {
  border-color: var(--c-accent);
}
.couture-filter-bar .ffb-search input {
  flex: 1;
  border: 0;
  background: transparent;
  font: 500 13px/1 var(--c-body);
  color: var(--c-ink);
  padding: 8px 0;
  min-width: 0;
}
.couture-filter-bar .ffb-search input:focus { outline: none; }
.couture-filter-bar select {
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-radius: 8px;
  padding: 8px 12px;
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  background: var(--c-paper);
  cursor: pointer;
}
.couture-filter-bar button {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.couture-filter-bar button:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}
@media (max-width: 580px) {
  .couture-filter-bar {
    flex-direction: column;
  }
  .couture-filter-bar select,
  .couture-filter-bar button {
    align-self: stretch;
  }
}

/* V6.388 #232 — Inline pricing toggle (monthly/annual switch with discount badge) */
.couture-pricing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-pricing-toggle button {
  padding: 8px 16px;
  border-radius: 999px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.15s ease, background 0.15s ease;
}
.couture-pricing-toggle button:hover {
  color: var(--c-ink);
}
.couture-pricing-toggle button.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-pricing-toggle button .pgt-tag {
  font: 700 9px/1 var(--c-mono);
  padding: 3px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  letter-spacing: 0.08em;
}

/* V6.388 #233 — Inline mini-stat row (label + delta arrow + number, finance-style) */
.couture-mini-stat-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-mini-stat-row .msr-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.couture-mini-stat-row .msr-label {
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-mini-stat-row .msr-num {
  font: 800 17px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-stat-row .msr-delta {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font: 700 12px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  padding: 4px 8px;
  border-radius: 5px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
}
.couture-mini-stat-row .msr-delta::before {
  content: "▲";
  font-size: 9px;
}
.couture-mini-stat-row .msr-delta.--down {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #c92a2a;
}
.couture-mini-stat-row .msr-delta.--down::before {
  content: "▼";
}
.couture-mini-stat-row .msr-delta.--neutral {
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink-soft);
}
.couture-mini-stat-row .msr-delta.--neutral::before {
  content: "—";
}

/* V6.388 #234 — Inline breadcrumb dropdown (path with collapsed middle) */
.couture-breadcrumb-collapsed {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 12.5px/1 var(--c-mono);
  letter-spacing: 0.04em;
  color: var(--c-ink-soft);
}
.couture-breadcrumb-collapsed a {
  color: inherit;
  text-decoration: none;
  padding: 4px 6px;
  border-radius: 5px;
  transition: color 0.15s ease, background 0.15s ease;
}
.couture-breadcrumb-collapsed a:hover {
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-breadcrumb-collapsed .bcc-dots {
  width: 28px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  cursor: pointer;
}
.couture-breadcrumb-collapsed .bcc-dots:hover {
  background: var(--c-paper);
  color: var(--c-ink);
}
.couture-breadcrumb-collapsed .bcc-sep {
  color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-breadcrumb-collapsed .bcc-current {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #235 — Inline brand strip (logo cluster row, partner brands) */
.couture-brand-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 36px 56px;
  padding: 32px 24px;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-brand-strip .bst-item {
  font: 700 17px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  filter: grayscale(0.4);
  transition: color 0.18s ease, filter 0.18s ease, opacity 0.18s ease;
  opacity: 0.85;
}
.couture-brand-strip .bst-item:hover {
  color: var(--c-ink);
  filter: grayscale(0);
  opacity: 1;
}
.couture-brand-strip .bst-mark {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-ink) 80%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-display);
  flex: 0 0 auto;
}

/* V6.388 #236 — Inline data-cell visualization (mini bar in table row) */
.couture-data-cell-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  font-variant-numeric: tabular-nums;
}
.couture-data-cell-bar .dcb-track {
  flex: 1;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
  min-width: 60px;
}
.couture-data-cell-bar .dcb-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(to right,
    color-mix(in oklab, var(--c-accent) 70%, transparent),
    var(--c-accent));
  transition: width 0.4s ease;
}
.couture-data-cell-bar .dcb-num {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink);
  letter-spacing: 0.04em;
  min-width: 38px;
  text-align: right;
}
.couture-data-cell-bar.--warn .dcb-fill {
  background: linear-gradient(to right, #d97706, #f59e0b);
}
.couture-data-cell-bar.--danger .dcb-fill {
  background: linear-gradient(to right, #c92a2a, #ef4444);
}

/* V6.388 #237 — Inline checkbox card (standalone form-style checkbox) */
.couture-checkbox-card {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-checkbox-card:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-checkbox-card .ckc-box {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 1.5px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
  color: transparent;
  transition: all 0.15s ease;
}
.couture-checkbox-card.--checked {
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border-color: var(--c-accent);
}
.couture-checkbox-card.--checked .ckc-box {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-checkbox-card.--checked .ckc-box::before {
  content: "✓";
}
.couture-checkbox-card .ckc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-checkbox-card .ckc-title {
  font: 600 13.5px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.006em;
}
.couture-checkbox-card .ckc-sub {
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #238 — Inline countdown clock (event timer with day/hour/min) */
.couture-countdown-clock {
  display: inline-flex;
  align-items: stretch;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-countdown-clock .cdc-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 4px 8px;
  border-radius: 7px;
  background: var(--c-paper);
  min-width: 44px;
}
.couture-countdown-clock .cdc-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-countdown-clock .cdc-key {
  font: 600 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-countdown-clock .cdc-sep {
  align-self: center;
  font: 800 18px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #239 — Inline outline button group (linked grouped buttons) */
.couture-outline-button-group {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  border-radius: 10px;
  overflow: hidden;
  background: var(--c-paper);
}
.couture-outline-button-group button,
.couture-outline-button-group a {
  padding: 9px 14px;
  background: transparent;
  border: 0;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease;
}
.couture-outline-button-group button:last-child,
.couture-outline-button-group a:last-child {
  border-right: 0;
}
.couture-outline-button-group button:hover,
.couture-outline-button-group a:hover {
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
}
.couture-outline-button-group .--active,
.couture-outline-button-group [aria-pressed="true"] {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #240 — Inline page-fold ribbon (corner banner trick) */
.couture-fold-ribbon {
  position: absolute;
  top: 0;
  right: 0;
  width: 110px;
  height: 110px;
  pointer-events: none;
  overflow: hidden;
}
.couture-fold-ribbon::before {
  content: attr(data-text);
  position: absolute;
  top: 26px;
  right: -28px;
  width: 160px;
  padding: 4px 0;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 800 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  text-align: center;
  transform: rotate(45deg);
  box-shadow: 0 6px 14px -6px color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-fold-ribbon.--ink::before {
  background: var(--c-ink);
}
.couture-fold-ribbon.--top-left {
  right: auto;
  left: 0;
}
.couture-fold-ribbon.--top-left::before {
  right: auto;
  left: -28px;
  transform: rotate(-45deg);
}

/* V6.388 #241 — Inline mini gallery thumb-grid (small image gallery) */
.couture-mini-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 6px;
  padding: 4px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
}
.couture-mini-gallery .mgl-thumb {
  aspect-ratio: 1 / 1;
  border-radius: 6px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  position: relative;
  cursor: pointer;
  transition: transform 0.18s ease;
}
.couture-mini-gallery .mgl-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-mini-gallery .mgl-thumb:hover {
    transform: scale(1.04);
    z-index: 1;
  }
}
.couture-mini-gallery .mgl-thumb.--active {
  outline: 2px solid var(--c-accent);
  outline-offset: -2px;
}
.couture-mini-gallery .mgl-thumb .mgl-num {
  position: absolute;
  bottom: 2px;
  right: 4px;
  font: 700 9px/1 var(--c-mono);
  color: var(--c-paper);
  background: color-mix(in oklab, var(--c-ink) 70%, transparent);
  padding: 2px 4px;
  border-radius: 3px;
  letter-spacing: 0.06em;
  backdrop-filter: blur(4px);
}

/* V6.388 #242 — Inline pricing detail card (single-tier emphasis) */
.couture-pricing-detail-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px 26px 26px;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  position: relative;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-pricing-detail-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-pricing-detail-card.--featured {
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)),
    var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 60%, transparent);
  box-shadow: 0 26px 50px -28px color-mix(in oklab, var(--c-accent) 40%, transparent);
}
.couture-pricing-detail-card .pdc-flag {
  position: absolute;
  top: -10px;
  right: 22px;
  padding: 5px 10px;
  border-radius: 4px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 800 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
}
.couture-pricing-detail-card .pdc-name {
  font: 700 14px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-pricing-detail-card .pdc-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-variant-numeric: tabular-nums;
}
.couture-pricing-detail-card .pdc-amount {
  font: 800 38px/1 var(--c-display);
  letter-spacing: -0.026em;
  color: var(--c-ink);
}
.couture-pricing-detail-card .pdc-period {
  font: 600 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-pricing-detail-card .pdc-desc {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-pricing-detail-card .pdc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-pricing-detail-card .pdc-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font: 400 13.5px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-pricing-detail-card .pdc-list li::before {
  content: "✓";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  margin-top: 1px;
}
.couture-pricing-detail-card .pdc-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease;
}
.couture-pricing-detail-card .pdc-cta:hover {
  transform: translateY(-1px);
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}
.couture-pricing-detail-card.--featured .pdc-cta {
  background: var(--c-accent);
}

/* V6.388 #243 — Inline icon-action grid (six-up small action buttons) */
.couture-icon-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 8px;
  padding: 8px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-icon-action-grid .iag-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 6px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-icon-action-grid .iag-btn:hover {
    transform: translateY(-1px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-icon-action-grid .iag-icon {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-display);
}
.couture-icon-action-grid .iag-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-align: center;
}

/* V6.388 #244 — Inline ribbon-style section header */
.couture-ribbon-header {
  position: relative;
  display: inline-block;
  padding: 10px 22px 10px 18px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 800 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 18px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%);
}
.couture-ribbon-header.--ink { background: var(--c-ink); }
.couture-ribbon-header.--outline {
  background: transparent;
  color: var(--c-ink);
  border: 1.5px solid var(--c-ink);
  border-right: 0;
  clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%);
}
.couture-ribbon-header::after {
  content: attr(data-after);
  display: inline-block;
  margin-left: 8px;
  font-weight: 500;
  letter-spacing: 0.06em;
  opacity: 0.75;
}

/* V6.388 #245 — Inline image with caption frame (stacked photo card) */
.couture-image-caption-frame {
  display: inline-block;
  padding: 12px 12px 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  box-shadow:
    0 16px 28px -16px color-mix(in oklab, var(--c-ink) 24%, transparent),
    0 0 0 1px color-mix(in oklab, white 20%, transparent) inset;
  transform: rotate(-1.2deg);
  transition: transform 0.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-image-caption-frame:hover {
    transform: rotate(0deg) scale(1.02);
  }
}
.couture-image-caption-frame .icf-photo {
  display: block;
  width: 240px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
}
.couture-image-caption-frame .icf-cap {
  margin-top: 12px;
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  text-align: center;
}
.couture-image-caption-frame .icf-cap strong {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #246 — Inline order summary row (cart line item) */
.couture-order-line-row {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-order-line-row:last-child { border-bottom: 0; }
.couture-order-line-row .olr-thumb {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-display);
  color: var(--c-ink-soft);
}
.couture-order-line-row .olr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-order-line-row .olr-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.couture-order-line-row .olr-name {
  font: 600 14px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
}
.couture-order-line-row .olr-sub {
  font: 500 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-order-line-row .olr-qty {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
  font: 500 12px/1.3 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-order-line-row .olr-qty strong {
  color: var(--c-ink);
  font: 700 12px/1 var(--c-mono);
  padding: 3px 7px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-order-line-row .olr-price {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-order-line-row .olr-price small {
  display: block;
  font: 500 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 2px;
  letter-spacing: 0.04em;
}

/* V6.388 #247 — Inline timezone clock cluster (multi-region time display) */
.couture-timezone-cluster {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  padding: 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
}
.couture-timezone-cluster .tzc-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-paper) 6%, transparent);
}
.couture-timezone-cluster .tzc-city {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-timezone-cluster .tzc-time {
  font: 800 19px/1 var(--c-display);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-timezone-cluster .tzc-time small {
  font: 600 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-paper) 50%, transparent);
  margin-left: 4px;
}
.couture-timezone-cluster .tzc-cell.--home {
  background: color-mix(in oklab, var(--c-accent) 35%, transparent);
}
.couture-timezone-cluster .tzc-cell.--home .tzc-city {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}

/* V6.388 #248 — Inline media-info caption (alt-text + photo credit) */
.couture-media-info-caption {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border-left: 2px solid color-mix(in oklab, var(--c-accent) 60%, transparent);
  font: 500 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-media-info-caption .mic-text {
  color: var(--c-ink);
}
.couture-media-info-caption .mic-credit {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-media-info-caption .mic-credit::before {
  content: "📸";
  margin-right: 5px;
  font-size: 11px;
}

/* V6.388 #249 — Inline color picker swatch (color choice + label) */
.couture-color-picker-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-color-picker-row .cpr-label {
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-color-picker-row .cpr-swatches {
  display: inline-flex;
  gap: 6px;
}
.couture-color-picker-row .cpr-swatch {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-paper) 70%, transparent);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--c-line) 50%, transparent);
  cursor: pointer;
  transition: transform 0.15s ease;
  position: relative;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-color-picker-row .cpr-swatch:hover {
    transform: scale(1.1);
  }
}
.couture-color-picker-row .cpr-swatch.--active {
  box-shadow: 0 0 0 2px var(--c-accent);
}
.couture-color-picker-row .cpr-swatch.--active::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-paper);
  text-shadow: 0 1px 2px color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-color-picker-row .cpr-hex {
  margin-left: auto;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* V6.388 #250 — Inline timezone-aware mini-clock (single bordered cell) */
.couture-clock-mini-cell {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  background: var(--c-paper);
  min-width: 76px;
}
.couture-clock-mini-cell .cmc-time {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-clock-mini-cell .cmc-meta {
  display: flex;
  align-items: center;
  gap: 4px;
  font: 600 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-clock-mini-cell .cmc-meta::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2ea043;
}
.couture-clock-mini-cell.--off .cmc-meta::before {
  background: var(--c-ink-soft);
}

/* V6.388 #251 — Inline tags wrapper limit (max-3 visible + count overflow) */
.couture-tags-collapsed {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.couture-tags-collapsed .tcd-tag {
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink);
  letter-spacing: 0.04em;
  text-decoration: none;
}
.couture-tags-collapsed .tcd-tag:nth-of-type(n+4) {
  display: none;
}
.couture-tags-collapsed .tcd-more {
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  font: 700 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  cursor: pointer;
  letter-spacing: 0.06em;
}
.couture-tags-collapsed.--expanded .tcd-tag {
  display: inline-block;
}
.couture-tags-collapsed.--expanded .tcd-more {
  display: none;
}

/* V6.388 #252 — Inline scroll snap row (horizontal scroll w/ snap dots) */
.couture-snap-scroll-row {
  position: relative;
  padding-bottom: 24px;
}
.couture-snap-scroll-row .ssr-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 4px 12px;
  scroll-padding-inline: 4px;
}
.couture-snap-scroll-row .ssr-track::-webkit-scrollbar { display: none; }
.couture-snap-scroll-row .ssr-card {
  flex: 0 0 240px;
  scroll-snap-align: start;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-snap-scroll-row .ssr-card .ssr-key {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-snap-scroll-row .ssr-card .ssr-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-snap-scroll-row .ssr-card .ssr-body {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-snap-scroll-row .ssr-dots {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  gap: 6px;
}
.couture-snap-scroll-row .ssr-dots .ssr-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: background 0.18s ease, transform 0.18s ease;
}
.couture-snap-scroll-row .ssr-dots .ssr-dot.--active {
  background: var(--c-accent);
  transform: scale(1.15);
}

/* V6.388 #253 — Inline alert callout w/ dismiss */
.couture-alert-callout {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 12px;
  padding: 13px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 10%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
  align-items: center;
}
.couture-alert-callout .alc-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 22%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-mono);
}
.couture-alert-callout .alc-msg {
  font: 500 13px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-alert-callout .alc-msg strong {
  font-weight: 700;
  margin-right: 4px;
}
.couture-alert-callout .alc-dismiss {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  color: var(--c-ink-soft);
  font: 700 14px/1 var(--c-mono);
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-alert-callout .alc-dismiss:hover {
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink);
}
.couture-alert-callout.--info {
  background: color-mix(in oklab, #2563eb 10%, var(--c-paper));
  border-color: color-mix(in oklab, #2563eb 30%, transparent);
}
.couture-alert-callout.--info .alc-icon {
  background: color-mix(in oklab, #2563eb 18%, transparent);
  color: #2563eb;
}

/* V6.388 #254 — Inline split-panel CTA (left text + right form) */
.couture-split-panel-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  padding: 38px 36px;
  border-radius: 22px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 28px 56px -32px color-mix(in oklab, var(--c-ink) 28%, transparent);
}
@media (max-width: 720px) {
  .couture-split-panel-cta {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 28px 24px;
  }
}
.couture-split-panel-cta .spc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  margin-bottom: 10px;
}
.couture-split-panel-cta .spc-title {
  font: 800 clamp(22px, 3vw, 32px) / 1.18 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  margin: 0 0 12px;
}
.couture-split-panel-cta .spc-body {
  font: 400 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 14px;
  max-width: 42ch;
}
.couture-split-panel-cta .spc-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-split-panel-cta .spc-meta::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2ea043;
}
.couture-split-panel-cta .spc-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-split-panel-cta .spc-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-split-panel-cta .spc-field label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-split-panel-cta .spc-field input,
.couture-split-panel-cta .spc-field select {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  background: var(--c-paper);
  font: 500 13.5px/1.3 var(--c-body);
  color: var(--c-ink);
}
.couture-split-panel-cta .spc-field input:focus,
.couture-split-panel-cta .spc-field select:focus {
  outline: 0;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-split-panel-cta .spc-submit {
  padding: 12px;
  border-radius: 9px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-split-panel-cta .spc-submit:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}

/* V6.388 #255 — Inline subscribe stat row (X subscribers + recent count) */
.couture-subscribe-stat {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-subscribe-stat .ssn-num {
  font: 800 17px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-subscribe-stat .ssn-text {
  font: 600 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-subscribe-stat .ssn-recent {
  font: 700 10.5px/1 var(--c-mono);
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
  letter-spacing: 0.08em;
}
.couture-subscribe-stat .ssn-recent::before {
  content: "+";
  margin-right: 1px;
}

/* V6.388 #256 — Inline footer mini-bar (legal + locale switcher) */
.couture-footer-mini-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 18px 22px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 500 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-footer-mini-bar .fmb-legal {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.couture-footer-mini-bar a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
.couture-footer-mini-bar a:hover {
  color: var(--c-ink);
}
.couture-footer-mini-bar .fmb-locale {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 5px;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  cursor: pointer;
}
.couture-footer-mini-bar .fmb-locale::before {
  content: "🌐";
  font-size: 11px;
  filter: grayscale(0.5);
}

/* V6.388 #257 — Inline two-tone CTA (split background button) */
.couture-cta-two-tone {
  display: inline-flex;
  align-items: stretch;
  border-radius: 999px;
  overflow: hidden;
  text-decoration: none;
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: 0 12px 24px -10px color-mix(in oklab, var(--c-accent) 40%, transparent);
  transition: transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-cta-two-tone:hover { transform: translateY(-1px); }
}
.couture-cta-two-tone .ctt-main {
  padding: 12px 20px;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-cta-two-tone .ctt-aside {
  padding: 12px 16px;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.couture-cta-two-tone .ctt-aside::before {
  content: "→";
  margin-right: 6px;
  font-weight: 600;
}

/* V6.388 #258 — Inline calendar mini-card (single date highlight) */
.couture-calendar-mini-card {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  box-shadow: 0 8px 16px -10px color-mix(in oklab, var(--c-ink) 24%, transparent);
}
.couture-calendar-mini-card .cmm-month {
  width: 100%;
  padding: 4px 0;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 800 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  text-align: center;
}
.couture-calendar-mini-card .cmm-day {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  padding: 8px 0 4px;
}
.couture-calendar-mini-card .cmm-dow {
  font: 700 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  padding-bottom: 8px;
}
.couture-calendar-mini-card.--ink .cmm-month {
  background: var(--c-ink);
}

/* V6.388 #259 — Inline marquee with vertical bars (mid-page slim divider tape) */
.couture-bars-marquee {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 22px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 90%, var(--c-ink));
  overflow: hidden;
}
.couture-bars-marquee .bmq-bars {
  display: inline-flex;
  align-items: flex-end;
  gap: 3px;
  height: 18px;
}
.couture-bars-marquee .bmq-bars span {
  display: inline-block;
  width: 3px;
  background: color-mix(in oklab, var(--c-accent) 80%, transparent);
  border-radius: 1px;
}
.couture-bars-marquee .bmq-bars span:nth-child(1) { height: 35%; }
.couture-bars-marquee .bmq-bars span:nth-child(2) { height: 70%; }
.couture-bars-marquee .bmq-bars span:nth-child(3) { height: 100%; }
.couture-bars-marquee .bmq-bars span:nth-child(4) { height: 60%; }
.couture-bars-marquee .bmq-bars span:nth-child(5) { height: 80%; }
.couture-bars-marquee .bmq-bars span:nth-child(6) { height: 40%; }
@media (prefers-reduced-motion: no-preference) {
  .couture-bars-marquee .bmq-bars span {
    animation: couture-bmq-pulse 1.4s ease-in-out infinite;
  }
  .couture-bars-marquee .bmq-bars span:nth-child(2) { animation-delay: 0.1s; }
  .couture-bars-marquee .bmq-bars span:nth-child(3) { animation-delay: 0.2s; }
  .couture-bars-marquee .bmq-bars span:nth-child(4) { animation-delay: 0.3s; }
  .couture-bars-marquee .bmq-bars span:nth-child(5) { animation-delay: 0.4s; }
  .couture-bars-marquee .bmq-bars span:nth-child(6) { animation-delay: 0.5s; }
}
@keyframes couture-bmq-pulse {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.45); transform-origin: bottom; }
}
.couture-bars-marquee .bmq-msg {
  font: 700 12.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.couture-bars-marquee .bmq-cta {
  margin-left: auto;
  padding: 6px 12px;
  border-radius: 6px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
}

/* V6.388 #260 — Inline tag-with-image card (small image + label combined chip) */
.couture-tag-image-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px 4px 4px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 12.5px/1 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-tag-image-chip:hover {
    transform: translateY(-1px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-tag-image-chip .tic-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 9px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-tag-image-chip .tic-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* V6.388 #261 — Inline subscribe success state (after-form check w/ message) */
.couture-subscribe-success {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, #2ea043 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #2ea043 32%, transparent);
  align-items: center;
}
.couture-subscribe-success .ssc-check {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #2ea043;
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-mono);
  position: relative;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-subscribe-success .ssc-check::after {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: inherit;
    background: inherit;
    opacity: 0.3;
    animation: couture-ssc-pulse 1.6s ease-out infinite;
  }
}
@keyframes couture-ssc-pulse {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(1.7); opacity: 0; }
}
.couture-subscribe-success .ssc-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.couture-subscribe-success .ssc-title {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
}
.couture-subscribe-success .ssc-sub {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #262 — Inline contact card (vCard-style with 3 ways to reach) */
.couture-contact-vcard {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-contact-vcard .cvc-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 36%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 19px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  letter-spacing: -0.014em;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-contact-vcard .cvc-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-contact-vcard .cvc-name {
  font: 700 16px/1.25 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-contact-vcard .cvc-role {
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-contact-vcard .cvc-channels {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-contact-vcard .cvc-ch {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 11.5px/1 var(--c-mono);
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: border-color 0.15s ease;
}
.couture-contact-vcard .cvc-ch:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.couture-contact-vcard .cvc-ch::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 70%, transparent);
}

/* V6.388 #263 — Inline alert banner (centered single-line at top of section) */
.couture-alert-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 9px 18px;
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  color: var(--c-ink);
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-block: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-alert-banner::before {
  content: "★";
  color: var(--c-accent);
}
.couture-alert-banner a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-alert-banner.--info {
  background: color-mix(in oklab, #2563eb 12%, var(--c-paper));
  border-color: color-mix(in oklab, #2563eb 28%, transparent);
}
.couture-alert-banner.--info::before { color: #2563eb; }
.couture-alert-banner.--warn {
  background: color-mix(in oklab, #d97706 12%, var(--c-paper));
  border-color: color-mix(in oklab, #d97706 28%, transparent);
}
.couture-alert-banner.--warn::before { content: "⚠"; color: #d97706; }

/* V6.388 #264 — Inline copy-to-clipboard pill */
.couture-copy-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 6px 5px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink);
  letter-spacing: 0.04em;
}
.couture-copy-pill .cpp-text {
  font-family: inherit;
  letter-spacing: inherit;
  max-width: 28ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.couture-copy-pill .cpp-btn {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 0;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 700 11px/1 var(--c-mono);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-copy-pill .cpp-btn:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-copy-pill .cpp-btn::after {
  content: "⧉";
}
.couture-copy-pill.--copied .cpp-btn::after {
  content: "✓";
}
.couture-copy-pill.--copied .cpp-btn {
  background: #2ea043;
  color: var(--c-paper);
}

/* V6.388 #265 — Inline gallery lightbox cell (zoomable thumb with caption) */
.couture-gallery-lightbox-cell {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  cursor: zoom-in;
  aspect-ratio: 4 / 5;
}
.couture-gallery-lightbox-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-gallery-lightbox-cell:hover img {
    transform: scale(1.04);
  }
}
.couture-gallery-lightbox-cell .glc-info {
  position: absolute;
  inset: auto 0 0 0;
  padding: 14px 16px 12px;
  background: linear-gradient(180deg, transparent, color-mix(in oklab, black 80%, transparent));
  color: white;
  display: flex;
  flex-direction: column;
  gap: 2px;
  transform: translateY(20%);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.couture-gallery-lightbox-cell:hover .glc-info,
.couture-gallery-lightbox-cell:focus-within .glc-info {
  opacity: 1;
  transform: translateY(0);
}
.couture-gallery-lightbox-cell .glc-title {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
}
.couture-gallery-lightbox-cell .glc-meta {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, white 80%, transparent);
}
.couture-gallery-lightbox-cell .glc-zoom {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: color-mix(in oklab, white 90%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.2s ease, transform 0.2s ease;
  backdrop-filter: blur(4px);
}
.couture-gallery-lightbox-cell:hover .glc-zoom,
.couture-gallery-lightbox-cell:focus-within .glc-zoom {
  opacity: 1;
  transform: scale(1);
}

/* V6.388 #266 — Inline brand quote logo (logo + quote + 3-line cite) */
.couture-brand-quote-logo {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 26px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-brand-quote-logo .bql-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 800 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  text-transform: uppercase;
}
.couture-brand-quote-logo .bql-logo .bql-mark {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-ink) 80%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}
.couture-brand-quote-logo .bql-body {
  font: 500 16px/1.5 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0;
}
.couture-brand-quote-logo .bql-cite {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-brand-quote-logo .bql-cite-name {
  font: 700 13px/1.3 var(--c-display);
  color: var(--c-ink);
}
.couture-brand-quote-logo .bql-cite-role {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-brand-quote-logo .bql-cite-meta {
  font: 500 11px/1.4 var(--c-mono);
  color: color-mix(in oklab, var(--c-ink-soft) 80%, transparent);
  letter-spacing: 0.04em;
}

/* V6.388 #267 — Inline countdown bar (deadline progress with label) */
.couture-deadline-bar {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-deadline-bar .ddb-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-deadline-bar .ddb-when {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-deadline-bar .ddb-track {
  position: relative;
  height: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-deadline-bar .ddb-fill {
  position: absolute;
  inset-block: 0;
  left: 0;
  border-radius: inherit;
  background: linear-gradient(to right,
    color-mix(in oklab, #2ea043 70%, transparent),
    #2ea043);
  transition: width 0.5s ease;
}
.couture-deadline-bar.--soon .ddb-fill {
  background: linear-gradient(to right, #d97706, #f59e0b);
}
.couture-deadline-bar.--late .ddb-fill {
  background: linear-gradient(to right, #c92a2a, #ef4444);
}
.couture-deadline-bar .ddb-foot {
  font: 500 11px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #268 — Inline pricing comparison label-toggle */
.couture-pricing-currency-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-pricing-currency-toggle button {
  padding: 4px 9px;
  border-radius: 4px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.06em;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-pricing-currency-toggle button:hover {
  color: var(--c-ink);
}
.couture-pricing-currency-toggle button.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 2px 4px -1px color-mix(in oklab, var(--c-ink) 18%, transparent);
}

/* V6.388 #269 — Inline mood swatch (artwork color preview tile) */
.couture-mood-swatch {
  display: inline-flex;
  flex-direction: column;
  width: 90px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  background: var(--c-paper);
  text-decoration: none;
  transition: transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-mood-swatch:hover {
    transform: translateY(-2px);
  }
}
.couture-mood-swatch .msw-stripes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  height: 64px;
}
.couture-mood-swatch .msw-stripes span {
  display: block;
  height: 100%;
}
.couture-mood-swatch .msw-meta {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-mood-swatch .msw-name {
  font: 700 11px/1.2 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-mood-swatch .msw-cue {
  font: 600 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}

/* V6.388 #270 — Inline featured author quote (large outlined card) */
.couture-featured-author-quote {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 22px;
  align-items: center;
  padding: 28px 28px 28px 24px;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  position: relative;
}
@media (max-width: 580px) {
  .couture-featured-author-quote {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.couture-featured-author-quote .faq-avatar {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 36%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 26px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  letter-spacing: -0.014em;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  flex: 0 0 auto;
}
.couture-featured-author-quote .faq-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-featured-author-quote .faq-quote {
  font: 500 18px/1.45 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
  position: relative;
  padding-left: 16px;
  border-left: 2px solid color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-featured-author-quote .faq-cite {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-featured-author-quote .faq-cite small {
  font-weight: 500;
  color: var(--c-ink-soft);
  letter-spacing: 0.06em;
}

/* V6.388 #271 — Inline product hero card (large product card with halo) */
.couture-product-hero-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: stretch;
  padding: 28px 28px;
  border-radius: 22px;
  background: linear-gradient(160deg,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  position: relative;
  overflow: hidden;
}
@media (max-width: 720px) {
  .couture-product-hero-card {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
.couture-product-hero-card::after {
  content: "";
  position: absolute;
  top: -40%;
  right: -20%;
  width: 50%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: radial-gradient(circle at center,
    color-mix(in oklab, var(--c-accent) 26%, transparent) 0%,
    transparent 65%);
  pointer-events: none;
}
.couture-product-hero-card .phc-text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
}
.couture-product-hero-card .phc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-product-hero-card .phc-title {
  font: 800 clamp(22px, 3vw, 30px) / 1.18 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin: 0;
}
.couture-product-hero-card .phc-body {
  font: 400 14.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 6px;
  max-width: 38ch;
}
.couture-product-hero-card .phc-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.couture-product-hero-card .phc-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-product-hero-card .phc-cta:hover { transform: translateY(-1px); }
.couture-product-hero-card .phc-link {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-product-hero-card .phc-link:hover { color: var(--c-ink); }
.couture-product-hero-card .phc-photo {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-product-hero-card .phc-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* V6.388 #272 — Inline mini-stack icon row (3 icons + small label cluster) */
.couture-mini-stack-icons {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-mini-stack-icons .msi-row {
  display: inline-flex;
  align-items: center;
}
.couture-mini-stack-icons .msi-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 9px/1 var(--c-display);
  margin-left: -6px;
}
.couture-mini-stack-icons .msi-icon:first-child { margin-left: 0; }
.couture-mini-stack-icons .msi-text {
  font: 600 12px/1.3 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-mini-stack-icons .msi-text strong {
  font-weight: 700;
}

/* V6.388 #273 — Inline section subtitle eyebrow (small label above big H2) */
.couture-sect-subtitle-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
  margin-bottom: 14px;
}
.couture-sect-subtitle-eyebrow::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-sect-subtitle-eyebrow.--ink {
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  border-color: var(--c-ink);
  color: var(--c-paper);
}
.couture-sect-subtitle-eyebrow.--ink::before {
  background: var(--c-paper);
}

/* V6.388 #274 — Inline shipping ETA card (delivery date + status row) */
.couture-shipping-eta-card {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-shipping-eta-card .sec-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, #2563eb 14%, transparent);
  color: #2563eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-shipping-eta-card .sec-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-shipping-eta-card .sec-when {
  font: 700 13.5px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
}
.couture-shipping-eta-card .sec-sub {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-shipping-eta-card .sec-tag {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
  white-space: nowrap;
}
.couture-shipping-eta-card.--late .sec-tag {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #c92a2a;
}

/* V6.388 #275 — Inline review summary header (rating + count + summary breakdown) */
.couture-review-summary-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: center;
  padding: 22px 26px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
@media (max-width: 580px) {
  .couture-review-summary-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
.couture-review-summary-head .rsh-num {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  padding-right: 28px;
}
@media (max-width: 580px) {
  .couture-review-summary-head .rsh-num {
    border-right: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
    padding-right: 0;
    padding-bottom: 14px;
  }
}
.couture-review-summary-head .rsh-big {
  font: 800 38px/1 var(--c-display);
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-review-summary-head .rsh-stars {
  display: inline-flex;
  gap: 2px;
  color: #f59e0b;
  font-size: 14px;
}
.couture-review-summary-head .rsh-count {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-review-summary-head .rsh-bars {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-review-summary-head .rsh-row {
  display: grid;
  grid-template-columns: 16px 1fr 36px;
  gap: 10px;
  align-items: center;
  font: 600 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-review-summary-head .rsh-row .rsh-track {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-review-summary-head .rsh-row .rsh-fill {
  height: 100%;
  background: linear-gradient(to right,
    color-mix(in oklab, #f59e0b 70%, transparent),
    #f59e0b);
  border-radius: inherit;
}
.couture-review-summary-head .rsh-row .rsh-pct {
  text-align: right;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #276 — Inline footer-credit caption (small "made by..." line) */
.couture-footer-credit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 0;
  font: 500 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-footer-credit .ftc-mark {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 9px/1 var(--c-display);
}
.couture-footer-credit a {
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
  font-weight: 700;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.couture-footer-credit a:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
}

/* V6.388 #277 — Inline floating chat widget (corner messenger preview) */
.couture-chat-widget-corner {
  position: fixed;
  bottom: 18px;
  right: 18px;
  width: 320px;
  max-width: calc(100vw - 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 22px 50px -22px color-mix(in oklab, var(--c-ink) 40%, transparent);
  z-index: 50;
  overflow: hidden;
}
.couture-chat-widget-corner .cwc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: linear-gradient(135deg, var(--c-ink), color-mix(in oklab, var(--c-accent) 35%, var(--c-ink)));
  color: var(--c-paper);
}
.couture-chat-widget-corner .cwc-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
}
.couture-chat-widget-corner .cwc-title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2ea043;
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--c-paper) 25%, transparent);
}
.couture-chat-widget-corner .cwc-x {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  color: inherit;
  font: 700 14px/1 var(--c-mono);
  cursor: pointer;
}
.couture-chat-widget-corner .cwc-body {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink);
}
.couture-chat-widget-corner .cwc-msg {
  padding: 10px 12px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  max-width: 80%;
}
.couture-chat-widget-corner .cwc-msg.--mine {
  align-self: flex-end;
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-chat-widget-corner .cwc-input {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px 10px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-chat-widget-corner .cwc-input input {
  flex: 1;
  border: 0;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border-radius: 8px;
  padding: 8px 12px;
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-chat-widget-corner .cwc-input input:focus { outline: none; }
.couture-chat-widget-corner .cwc-input button {
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
}

/* V6.388 #278 — Inline trust badge cluster (security badges row) */
.couture-trust-badge-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-trust-badge-cluster .tbc-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-trust-badge-cluster .tbc-icon {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #2ea043;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}
.couture-trust-badge-cluster .tbc-divider {
  width: 1px;
  height: 18px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}

/* V6.388 #279 — Inline CTA card with side-photo (visual pitch + button) */
.couture-cta-side-photo {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 22px;
  align-items: center;
  padding: 22px 22px 22px 0;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
@media (max-width: 580px) {
  .couture-cta-side-photo {
    grid-template-columns: 1fr;
    padding: 0 0 22px;
  }
}
.couture-cta-side-photo .csp-photo {
  width: 100%;
  height: 100%;
  min-height: 160px;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-cta-side-photo .csp-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-cta-side-photo .csp-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 4px;
}
@media (max-width: 580px) {
  .couture-cta-side-photo .csp-text {
    padding: 0 22px;
  }
}
.couture-cta-side-photo .csp-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-cta-side-photo .csp-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-cta-side-photo .csp-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 6px;
}
.couture-cta-side-photo .csp-btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-cta-side-photo .csp-btn:hover { transform: translateY(-1px); }

/* V6.388 #280 — Inline product spec table-of-3 (3-column compact spec board) */
.couture-spec-3col-board {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}
@media (max-width: 580px) {
  .couture-spec-3col-board { grid-template-columns: 1fr; }
}
.couture-spec-3col-board .s3b-cell {
  padding: 16px 18px;
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-spec-3col-board .s3b-key {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-spec-3col-board .s3b-val {
  font: 700 17px/1.25 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-spec-3col-board .s3b-foot {
  font: 500 11.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #281 — Inline timeline arrow row (horizontal step arrows) */
.couture-timeline-arrow-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  flex-wrap: wrap;
}
.couture-timeline-arrow-row .tar-step {
  flex: 1 1 0;
  min-width: 140px;
  position: relative;
  padding: 12px 22px 12px 26px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-right: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
}
.couture-timeline-arrow-row .tar-step:first-child {
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
  padding-left: 18px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-timeline-arrow-row .tar-step:last-child {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-timeline-arrow-row .tar-step.--done {
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 35%, transparent);
}
.couture-timeline-arrow-row .tar-step.--active {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-timeline-arrow-row .tar-num {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
}
.couture-timeline-arrow-row .tar-step.--active .tar-num {
  color: color-mix(in oklab, var(--c-paper) 78%, transparent);
}
.couture-timeline-arrow-row .tar-step.--done .tar-num {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-timeline-arrow-row .tar-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-timeline-arrow-row .tar-step.--active .tar-name { color: var(--c-paper); }

/* V6.388 #282 — Inline pricing add-on row (modular extra you can toggle) */
.couture-addon-row {
  display: grid;
  grid-template-columns: 22px 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-addon-row:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-addon-row .adr-check {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 1.5px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: transparent;
}
.couture-addon-row.--on .adr-check {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-addon-row.--on .adr-check::before {
  content: "✓";
}
.couture-addon-row .adr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-addon-row .adr-name {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-addon-row .adr-desc {
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-addon-row .adr-price {
  font: 800 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-addon-row .adr-period {
  font: 600 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* V6.388 #283 — Inline donation card (charity-style donate widget) */
.couture-donate-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-donate-card .ddc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-donate-card .ddc-title {
  font: 700 18px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-donate-card .ddc-amounts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.couture-donate-card .ddc-amount {
  padding: 10px 6px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  background: var(--c-paper);
  font: 700 13px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  color: var(--c-ink);
  cursor: pointer;
  text-align: center;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-donate-card .ddc-amount:hover {
  border-color: color-mix(in oklab, var(--c-accent) 55%, transparent);
}
.couture-donate-card .ddc-amount.--active {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-donate-card .ddc-input {
  display: flex;
  align-items: stretch;
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  border-radius: 8px;
  background: var(--c-paper);
  overflow: hidden;
}
.couture-donate-card .ddc-input span {
  padding: 10px 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
}
.couture-donate-card .ddc-input input {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 10px 12px;
  font: 600 14px/1 var(--c-body);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  min-width: 0;
}
.couture-donate-card .ddc-input input:focus { outline: none; }
.couture-donate-card .ddc-cta {
  padding: 12px 18px;
  border-radius: 9px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 0;
  cursor: pointer;
}

/* V6.388 #284 — Inline timeline event row (chronological log entry) */
.couture-timeline-event-row {
  display: grid;
  grid-template-columns: 80px 12px 1fr;
  gap: 14px;
  align-items: flex-start;
  padding: 12px 0;
}
.couture-timeline-event-row .ter-when {
  font: 700 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-align: right;
  font-variant-numeric: tabular-nums;
  padding-top: 6px;
}
.couture-timeline-event-row .ter-marker {
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-accent) 50%, transparent);
  margin-top: 6px;
}
.couture-timeline-event-row .ter-marker::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 100%;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-timeline-event-row:last-child .ter-marker::before { display: none; }
.couture-timeline-event-row.--done .ter-marker {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.couture-timeline-event-row .ter-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 6px;
}
.couture-timeline-event-row .ter-title {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-timeline-event-row .ter-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #285 — Inline percentage tile (single big % stat in tile) */
.couture-percentage-tile {
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 22px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 18%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  min-width: 140px;
}
.couture-percentage-tile .pct-num {
  font: 800 38px/1 var(--c-display);
  letter-spacing: -0.028em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-percentage-tile .pct-num small {
  font: 700 16px/1 var(--c-display);
  color: var(--c-accent);
  margin-left: 2px;
  letter-spacing: 0;
}
.couture-percentage-tile .pct-label {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  max-width: 18ch;
}

/* V6.388 #286 — Inline event-list condensed (calendar agenda compact) */
.couture-event-list-condensed {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-event-list-condensed .elc-row {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-event-list-condensed .elc-row:last-child { border-bottom: 0; }
.couture-event-list-condensed .elc-row:hover {
  background: color-mix(in oklab, var(--c-bg) 50%, var(--c-paper));
}
.couture-event-list-condensed .elc-when {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.couture-event-list-condensed .elc-when small {
  display: block;
  font: 600 9.5px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-event-list-condensed .elc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-event-list-condensed .elc-name {
  font: 600 13.5px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.006em;
}
.couture-event-list-condensed .elc-loc {
  font: 500 11.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-event-list-condensed .elc-tag {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  white-space: nowrap;
}

/* V6.388 #287 — Inline mini-poll widget (3-option vote bars) */
.couture-mini-poll {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 20px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-mini-poll .mpl-q {
  font: 700 14px/1.4 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-mini-poll .mpl-opts {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-mini-poll .mpl-opt {
  position: relative;
  padding: 9px 12px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 600 13px/1.3 var(--c-body);
  color: var(--c-ink);
  cursor: pointer;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 0;
}
.couture-mini-poll .mpl-opt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--pct, 0%);
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  transition: width 0.4s ease;
  z-index: -1;
}
.couture-mini-poll .mpl-opt.--mine {
  border-color: var(--c-accent);
}
.couture-mini-poll .mpl-opt .mpl-pct {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-mini-poll .mpl-foot {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #288 — Inline upload dropzone (drag-and-drop placeholder) */
.couture-upload-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 24px;
  border: 2px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-upload-dropzone:hover,
.couture-upload-dropzone.--drag {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
}
.couture-upload-dropzone .udz-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display);
}
.couture-upload-dropzone .udz-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-upload-dropzone .udz-body {
  font: 500 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 32ch;
}
.couture-upload-dropzone .udz-cta {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}

/* V6.388 #289 — Inline order summary card (cart subtotal + breakdown rows) */
.couture-order-summary-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-order-summary-card .osc-head {
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-order-summary-card .osc-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font: 500 13.5px/1.4 var(--c-body);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-order-summary-card .osc-row .osc-l {
  color: var(--c-ink-soft);
  font: 500 13px/1.3 var(--c-body);
}
.couture-order-summary-card .osc-row.--disc .osc-r {
  color: #2ea043;
  font-weight: 700;
}
.couture-order-summary-card .osc-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 10px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-order-summary-card .osc-total .osc-r {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.018em;
  font-variant-numeric: tabular-nums;
}
.couture-order-summary-card .osc-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  margin-top: 4px;
  transition: background 0.15s ease;
}
.couture-order-summary-card .osc-cta:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}
.couture-order-summary-card .osc-fineprint {
  font: 500 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
}

/* V6.388 #290 — Inline cart-empty state (illustrative) */
.couture-cart-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 48px 24px;
  text-align: center;
}
.couture-cart-empty-state .ces-glyph {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 28px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border: 2px dashed color-mix(in oklab, var(--c-accent) 40%, transparent);
}
.couture-cart-empty-state .ces-title {
  font: 800 20px/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin: 4px 0 0;
}
.couture-cart-empty-state .ces-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 36ch;
}
.couture-cart-empty-state .ces-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  margin-top: 4px;
}

/* V6.388 #291 — Inline review card (single user review block w/ stars) */
.couture-review-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 20px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-review-card .rvc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.couture-review-card .rvc-author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.couture-review-card .rvc-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-review-card .rvc-name {
  font: 700 13px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.006em;
}
.couture-review-card .rvc-when {
  font: 500 11px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.couture-review-card .rvc-stars {
  display: inline-flex;
  gap: 2px;
  color: #f59e0b;
  font-size: 12px;
}
.couture-review-card .rvc-title {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0;
}
.couture-review-card .rvc-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-review-card .rvc-helpful {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-review-card .rvc-helpful::before {
  content: "👍";
  font-size: 11px;
  filter: grayscale(0.4);
}

/* V6.388 #292 — Inline keymap legend (key→action 2-col list) */
.couture-keymap-legend {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
  padding: 18px 22px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
@media (max-width: 580px) {
  .couture-keymap-legend { grid-template-columns: 1fr; }
}
.couture-keymap-legend .kml-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-keymap-legend .kml-action {
  font-weight: 600;
}
.couture-keymap-legend .kml-keys {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.couture-keymap-legend .kml-keys .kml-k {
  font: 700 10.5px/1 var(--c-mono);
  letter-spacing: 0.05em;
  padding: 4px 7px;
  border-radius: 5px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 38%, transparent);
  border-bottom-width: 2px;
  color: var(--c-ink);
  min-width: 22px;
  text-align: center;
}
.couture-keymap-legend .kml-keys .kml-plus {
  font: 700 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-ink-soft) 70%, transparent);
}

/* V6.388 #293 — Inline price markdown chip (was-now style) */
.couture-price-markdown {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-variant-numeric: tabular-nums;
}
.couture-price-markdown .pmd-was {
  font: 600 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-decoration: line-through;
  text-decoration-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-price-markdown .pmd-now {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
}
.couture-price-markdown .pmd-tag {
  display: inline-flex;
  align-items: center;
  font: 800 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, #c92a2a 16%, transparent);
  color: #c92a2a;
}
.couture-price-markdown .pmd-tag::before {
  content: "−";
  margin-right: 1px;
  font-weight: 800;
}

/* V6.388 #294 — Inline gallery filmstrip (single-row scrollable thumbs) */
.couture-filmstrip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: thin;
  padding: 8px 4px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.couture-filmstrip::-webkit-scrollbar { height: 6px; }
.couture-filmstrip::-webkit-scrollbar-track {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-filmstrip::-webkit-scrollbar-thumb {
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 999px;
}
.couture-filmstrip .fmstr-thumb {
  flex: 0 0 auto;
  width: 120px;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  border: 2px solid transparent;
  scroll-snap-align: start;
  cursor: pointer;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-filmstrip .fmstr-thumb:hover {
    transform: translateY(-2px);
  }
}
.couture-filmstrip .fmstr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-filmstrip .fmstr-thumb.--active {
  border-color: var(--c-accent);
}

/* V6.388 #295 — Inline category nav row (top-level horizontal nav) */
.couture-category-nav-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  padding: 6px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-category-nav-row a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-category-nav-row a:hover {
  background: var(--c-paper);
  color: var(--c-accent);
}
.couture-category-nav-row a.--active {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-category-nav-row a .cnr-tag {
  font: 700 9.5px/1 var(--c-mono);
  padding: 2px 5px;
  border-radius: 3px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  letter-spacing: 0.06em;
}
.couture-category-nav-row a.--active .cnr-tag {
  background: color-mix(in oklab, var(--c-paper) 22%, transparent);
  color: var(--c-paper);
}

/* V6.388 #296 — Inline mini-form input row (label + input + helper) */
.couture-mini-form-input {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-mini-form-input label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-mini-form-input input,
.couture-mini-form-input textarea,
.couture-mini-form-input select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  background: var(--c-paper);
  font: 500 13.5px/1.4 var(--c-body);
  color: var(--c-ink);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.couture-mini-form-input input:focus,
.couture-mini-form-input textarea:focus,
.couture-mini-form-input select:focus {
  outline: 0;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-mini-form-input .mfi-helper {
  font: 500 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}
.couture-mini-form-input.--err input,
.couture-mini-form-input.--err textarea {
  border-color: #c92a2a;
  box-shadow: 0 0 0 3px color-mix(in oklab, #c92a2a 16%, transparent);
}
.couture-mini-form-input.--err .mfi-helper {
  color: #c92a2a;
}

/* V6.388 #297 — Inline ad-style sponsor card (clearly-marked promo block) */
.couture-sponsor-card {
  position: relative;
  padding: 18px 20px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-sponsor-card .spc-tag {
  position: absolute;
  top: -8px;
  left: 14px;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--c-paper);
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
}
.couture-sponsor-card .spc-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.couture-sponsor-card .spc-mark {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-display);
}
.couture-sponsor-card .spc-name {
  font: 700 14px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
}
.couture-sponsor-card .spc-body {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 10px;
}
.couture-sponsor-card .spc-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.couture-sponsor-card .spc-cta:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
}

/* V6.388 #298 — Inline mini-stat with comparison row (current vs previous) */
.couture-mini-stat-vs {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-mini-stat-vs .msv-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.couture-mini-stat-vs .msv-key {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-mini-stat-vs .msv-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.couture-mini-stat-vs .msv-now {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-stat-vs .msv-was {
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}
.couture-mini-stat-vs .msv-was::before {
  content: "vs ";
  margin-right: 2px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 10px;
  color: color-mix(in oklab, var(--c-ink-soft) 70%, transparent);
}
.couture-mini-stat-vs .msv-spark {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  height: 22px;
}
.couture-mini-stat-vs .msv-spark span {
  display: inline-block;
  width: 4px;
  background: color-mix(in oklab, var(--c-accent) 60%, transparent);
  border-radius: 1px;
}
.couture-mini-stat-vs .msv-spark span:nth-child(1) { height: 30%; }
.couture-mini-stat-vs .msv-spark span:nth-child(2) { height: 60%; }
.couture-mini-stat-vs .msv-spark span:nth-child(3) { height: 45%; }
.couture-mini-stat-vs .msv-spark span:nth-child(4) { height: 75%; }
.couture-mini-stat-vs .msv-spark span:nth-child(5) { height: 100%; background: var(--c-accent); }

/* V6.388 #299 — Inline page-progress bar (top-of-page reading progress) */
.couture-page-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 80;
  pointer-events: none;
  background: transparent;
}
.couture-page-progress .ppg-fill {
  height: 100%;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-accent) 60%, transparent),
    var(--c-accent));
  width: 0;
  transition: width 0.1s linear;
  box-shadow: 0 0 6px color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-page-progress.--bottom {
  top: auto;
  bottom: 0;
}

/* V6.388 #300 — Inline section divider w/ ornament (decorative center motif) */
.couture-divider-ornament {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 36px 0;
  color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-divider-ornament::before,
.couture-divider-ornament::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(to right,
    transparent,
    color-mix(in oklab, var(--c-line) 50%, transparent),
    transparent);
}
.couture-divider-ornament .dvo-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  font: 800 14px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-divider-ornament.--ink .dvo-glyph {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-divider-ornament.--minimal .dvo-glyph {
  width: 8px;
  height: 8px;
  background: color-mix(in oklab, var(--c-accent) 60%, transparent);
  border: 0;
}

/* V6.388 #301 — Inline brand-kit color system (palette + type sample) */
.couture-brandkit-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: 24px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
@media (max-width: 580px) {
  .couture-brandkit-block { grid-template-columns: 1fr; }
}
.couture-brandkit-block .bkb-name {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
  margin-bottom: 12px;
  display: block;
}
.couture-brandkit-block .bkb-colors {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.couture-brandkit-block .bkb-color {
  height: 56px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-brandkit-block .bkb-color::after {
  content: attr(data-hex);
  position: absolute;
  bottom: 4px;
  left: 4px;
  right: 4px;
  font: 600 9px/1 var(--c-mono);
  letter-spacing: 0.06em;
  color: var(--c-paper);
  text-transform: uppercase;
  background: color-mix(in oklab, black 50%, transparent);
  padding: 2px 4px;
  border-radius: 3px;
  text-align: center;
}
.couture-brandkit-block .bkb-typo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  padding-left: 18px;
}
@media (max-width: 580px) {
  .couture-brandkit-block .bkb-typo {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
    padding-top: 14px;
  }
}
.couture-brandkit-block .bkb-display {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
}
.couture-brandkit-block .bkb-body {
  font: 400 14px/1.45 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-brandkit-block .bkb-mono {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}

/* V6.388 #302 — Inline social proof row (X using + faces) */
.couture-social-proof-row {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px 10px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-social-proof-row .spr-pile {
  display: inline-flex;
  isolation: isolate;
}
.couture-social-proof-row .spr-pile > * {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 28%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-display);
  margin-left: -8px;
}
.couture-social-proof-row .spr-pile > *:first-child { margin-left: 0; }
.couture-social-proof-row .spr-text {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-social-proof-row .spr-text strong {
  font-weight: 700;
}
.couture-social-proof-row .spr-text small {
  display: block;
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 2px;
}

/* V6.388 #303 — Inline featured-quote with portrait (large testimonial) */
.couture-portrait-quote {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 24px;
  align-items: center;
  padding: 22px 26px;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
@media (max-width: 580px) {
  .couture-portrait-quote {
    grid-template-columns: 1fr;
    text-align: center;
  }
}
.couture-portrait-quote .ptq-photo {
  width: 120px;
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
@media (max-width: 580px) {
  .couture-portrait-quote .ptq-photo {
    margin: 0 auto;
    width: 96px;
  }
}
.couture-portrait-quote .ptq-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-portrait-quote .ptq-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-portrait-quote .ptq-quote {
  font: 500 17px/1.5 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-portrait-quote .ptq-cite {
  font: 700 12.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-portrait-quote .ptq-cite small {
  display: block;
  font-weight: 500;
  color: var(--c-ink-soft);
  margin-top: 3px;
  letter-spacing: 0.06em;
}

/* V6.388 #304 — Inline social-link cluster (icon-only round buttons) */
.couture-social-link-cluster {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-social-link-cluster a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink);
  text-decoration: none;
  font: 700 14px/1 var(--c-mono);
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-social-link-cluster a:hover {
    transform: translateY(-2px);
    background: var(--c-ink);
    color: var(--c-paper);
  }
}
.couture-social-link-cluster.--accent a:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-social-link-cluster.--ghost a {
  background: transparent;
  border: 0;
}
.couture-social-link-cluster.--ghost a:hover {
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
}

/* V6.388 #305 — Inline service price line (service + duration + price) */
.couture-service-price-line {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 18px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-service-price-line:last-child { border-bottom: 0; }
.couture-service-price-line .spl-name {
  font: 600 14.5px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
}
.couture-service-price-line .spl-name small {
  display: block;
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 3px;
}
.couture-service-price-line .spl-dur {
  font: 600 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-service-price-line .spl-price {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-service-price-line .spl-price small {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
  margin-left: 3px;
}

/* V6.388 #306 — Inline split-pricing slabs (intro vs full price emphasis) */
.couture-split-pricing-slab {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 18px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
@media (max-width: 580px) {
  .couture-split-pricing-slab { grid-template-columns: 1fr; }
}
.couture-split-pricing-slab .sps-cell {
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-split-pricing-slab .sps-cell.--featured {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)),
    var(--c-paper));
}
.couture-split-pricing-slab .sps-key {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-split-pricing-slab .sps-cell.--featured .sps-key {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-split-pricing-slab .sps-amt {
  font: 800 26px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-split-pricing-slab .sps-amt small {
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
}
.couture-split-pricing-slab .sps-foot {
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #307 — Inline icon-grid services bento (3x2 services tile grid) */
.couture-services-bento-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 720px) {
  .couture-services-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .couture-services-bento-grid {
    grid-template-columns: 1fr;
  }
}
.couture-services-bento-grid .sbg-cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-services-bento-grid .sbg-cell:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-services-bento-grid .sbg-cell.--featured {
  grid-column: span 2;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)),
    var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
}
@media (max-width: 480px) {
  .couture-services-bento-grid .sbg-cell.--featured { grid-column: span 1; }
}
.couture-services-bento-grid .sbg-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-services-bento-grid .sbg-title {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
}
.couture-services-bento-grid .sbg-body {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #308 — Inline footer-mini-feed (latest 3 posts list compact) */
.couture-footer-mini-feed {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-footer-mini-feed .fmf-item {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 12px;
  align-items: center;
  padding: 8px 0;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-footer-mini-feed .fmf-item:last-child { border-bottom: 0; }
.couture-footer-mini-feed .fmf-thumb {
  width: 50px;
  height: 50px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-soft);
  font: 700 11px/1 var(--c-mono);
}
.couture-footer-mini-feed .fmf-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-footer-mini-feed .fmf-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-footer-mini-feed .fmf-when {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-footer-mini-feed .fmf-title {
  font: 600 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* V6.388 #309 — Inline outline-cta link (text+arrow with underline grow) */
.couture-outline-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 700 14px/1 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  text-decoration: none;
  position: relative;
  padding: 4px 0;
}
.couture-outline-cta-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1.5px;
  background: var(--c-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
.couture-outline-cta-link:hover::after {
  transform: scaleX(1);
}
.couture-outline-cta-link .ocl-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  transition: transform 0.18s ease;
}
.couture-outline-cta-link:hover .ocl-arrow {
  transform: translateX(3px);
}
.couture-outline-cta-link.--ink .ocl-arrow {
  background: var(--c-ink);
}

/* V6.388 #310 — Inline awards row (medal/star icons + label list) */
.couture-awards-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-awards-row .awd-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-awards-row .awd-medal {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-awards-row .awd-medal.--silver {
  background: linear-gradient(135deg, #cbd5e1, #94a3b8);
}
.couture-awards-row .awd-medal.--bronze {
  background: linear-gradient(135deg, #d6a682, #b86b3a);
}
.couture-awards-row .awd-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-awards-row .awd-name {
  font: 700 12.5px/1.25 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.006em;
}
.couture-awards-row .awd-when {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #311 — Inline before-section step header (large numbered marker) */
.couture-before-step-header {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 26px 0 18px;
}
.couture-before-step-header .bsh-num {
  font: 800 38px/1 var(--c-display);
  letter-spacing: -0.034em;
  color: color-mix(in oklab, var(--c-accent) 32%, transparent);
  font-feature-settings: "ss01";
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}
.couture-before-step-header .bsh-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-before-step-header .bsh-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-before-step-header .bsh-title {
  font: 700 22px/1.2 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin: 0;
}

/* V6.388 #312 — Inline tooltip arrow (popup with caret) */
.couture-popover-arrow {
  position: absolute;
  z-index: 30;
  padding: 12px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  color: var(--c-paper);
  font: 500 12.5px/1.5 var(--c-body);
  max-width: 240px;
  box-shadow: 0 12px 24px -10px color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-popover-arrow strong {
  font-weight: 700;
}
.couture-popover-arrow::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: inherit;
  transform: rotate(45deg);
}
.couture-popover-arrow.--top::after {
  bottom: -5px;
  left: 50%;
  margin-left: -6px;
}
.couture-popover-arrow.--bottom::after {
  top: -5px;
  left: 50%;
  margin-left: -6px;
}
.couture-popover-arrow.--left::after {
  right: -5px;
  top: 50%;
  margin-top: -6px;
}
.couture-popover-arrow.--right::after {
  left: -5px;
  top: 50%;
  margin-top: -6px;
}
.couture-popover-arrow .pva-key {
  display: block;
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-paper) 65%, transparent);
  margin-bottom: 4px;
}

/* V6.388 #313 — Inline announcement box (small headline + description + CTA) */
.couture-announcement-box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-left: 4px solid var(--c-accent);
}
.couture-announcement-box .anb-emoji {
  font-size: 28px;
  line-height: 1;
  flex: 0 0 auto;
}
.couture-announcement-box .anb-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.couture-announcement-box .anb-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
}
.couture-announcement-box .anb-body {
  font: 400 13px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-announcement-box .anb-cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 9px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease;
}
.couture-announcement-box .anb-cta:hover { transform: translateY(-1px); }
@media (max-width: 580px) {
  .couture-announcement-box {
    flex-direction: column;
    align-items: flex-start;
  }
  .couture-announcement-box .anb-cta { align-self: stretch; justify-content: center; }
}

/* V6.388 #314 — Inline blockquote with thin border (sidebar quote) */
.couture-thin-border-quote {
  margin: 18px 0;
  padding: 0 0 0 18px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 400 15px/1.6 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink-soft);
  font-style: italic;
}
.couture-thin-border-quote::first-letter {
  font-size: 1.2em;
  font-weight: 600;
  color: var(--c-ink);
}
.couture-thin-border-quote .tbq-cite {
  display: block;
  margin-top: 10px;
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink);
  font-style: normal;
}
.couture-thin-border-quote .tbq-cite::before {
  content: "—";
  margin-right: 5px;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}

/* V6.388 #315 — Inline article reading time pill (small meta indicator) */
.couture-reading-time-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-reading-time-pill::before {
  content: "📖";
  font-size: 11px;
  filter: grayscale(0.4);
}
.couture-reading-time-pill strong {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-reading-time-pill.--accent {
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 28%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #316 — Inline drop-zone-lite (small file uploader compact) */
.couture-dropzone-lite {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-dropzone-lite:hover {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
}
.couture-dropzone-lite .dzl-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-dropzone-lite .dzl-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-dropzone-lite .dzl-title {
  font: 600 13px/1.3 var(--c-display);
  letter-spacing: -0.006em;
  color: var(--c-ink);
}
.couture-dropzone-lite .dzl-sub {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-dropzone-lite .dzl-cta {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
}

/* V6.388 #317 — Inline mini info-callout w/ ribbon (highlight strip alt) */
.couture-mini-info-ribbon {
  display: inline-flex;
  align-items: stretch;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-mini-info-ribbon .mir-tag {
  padding: 6px 10px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 800 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  display: inline-flex;
  align-items: center;
}
.couture-mini-info-ribbon .mir-msg {
  padding: 6px 12px;
  background: var(--c-paper);
  font: 600 12px/1.3 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
  display: inline-flex;
  align-items: center;
}
.couture-mini-info-ribbon.--ink .mir-tag {
  background: var(--c-ink);
}

/* V6.388 #318 — Inline highlight panel callout (single-line emphasis stripe) */
.couture-highlight-panel {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 10px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-accent) 16%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-highlight-panel .hpn-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--c-accent) 24%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-highlight-panel .hpn-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-highlight-panel .hpn-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-highlight-panel .hpn-sub {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-highlight-panel .hpn-link {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.couture-highlight-panel .hpn-link::after {
  content: "→";
  transition: transform 0.18s ease;
}
.couture-highlight-panel .hpn-link:hover::after {
  transform: translateX(3px);
}

/* V6.388 #319 — Inline blog index card (date + title + tags) */
.couture-blog-index-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 16px 20px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  text-decoration: none;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-blog-index-card:hover {
    transform: translateX(2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-blog-index-card .bic-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.couture-blog-index-card .bic-when {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-blog-index-card .bic-title {
  font: 700 17px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-blog-index-card .bic-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.couture-blog-index-card .bic-tags span {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-blog-index-card .bic-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.couture-blog-index-card:hover .bic-arrow {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
  transform: translateX(2px);
}

/* V6.388 #320 — Inline mini chart legend (color dot + label list) */
.couture-chart-legend-mini {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 8px 0;
}
.couture-chart-legend-mini .clm-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-chart-legend-mini .clm-dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: var(--c-accent);
  flex: 0 0 auto;
}
.couture-chart-legend-mini .clm-num {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
  margin-left: 3px;
}

/* V6.388 #321 — Inline panel with dotted border (loose / WIP container) */
.couture-dotted-panel {
  padding: 18px 22px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 76%, var(--c-paper));
  border: 1.5px dotted color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-dotted-panel .dpl-tag {
  display: inline-block;
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  padding: 4px 10px;
  border-radius: 4px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  margin-bottom: 10px;
}
.couture-dotted-panel .dpl-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-dotted-panel .dpl-body strong {
  color: var(--c-ink);
  font-weight: 700;
}
.couture-dotted-panel.--accent {
  border-color: color-mix(in oklab, var(--c-accent) 55%, transparent);
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
}

/* V6.388 #322 — Inline mini banner alert (warning notice w/ icon) */
.couture-mini-alert {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, #d97706 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #d97706 28%, transparent);
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-mini-alert::before {
  content: "⚠";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, #d97706 22%, transparent);
  color: #d97706;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-mini-alert strong {
  font-weight: 700;
  margin-right: 4px;
}
.couture-mini-alert.--info {
  background: color-mix(in oklab, #2563eb 10%, var(--c-paper));
  border-color: color-mix(in oklab, #2563eb 26%, transparent);
}
.couture-mini-alert.--info::before {
  content: "i";
  background: color-mix(in oklab, #2563eb 22%, transparent);
  color: #2563eb;
}
.couture-mini-alert.--success {
  background: color-mix(in oklab, #2ea043 10%, var(--c-paper));
  border-color: color-mix(in oklab, #2ea043 26%, transparent);
}
.couture-mini-alert.--success::before {
  content: "✓";
  background: color-mix(in oklab, #2ea043 22%, transparent);
  color: #2ea043;
}
.couture-mini-alert.--err {
  background: color-mix(in oklab, #c92a2a 10%, var(--c-paper));
  border-color: color-mix(in oklab, #c92a2a 26%, transparent);
}
.couture-mini-alert.--err::before {
  content: "✕";
  background: color-mix(in oklab, #c92a2a 22%, transparent);
  color: #c92a2a;
}

/* V6.388 #323 — Inline event ticket card (date column + body) */
.couture-event-ticket {
  display: grid;
  grid-template-columns: 80px 1px 1fr;
  gap: 18px;
  padding: 18px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  position: relative;
  align-items: center;
  overflow: hidden;
}
.couture-event-ticket::before,
.couture-event-ticket::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--c-bg);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  left: calc(80px + 18px - 7px);
  top: -7px;
}
.couture-event-ticket::after {
  top: auto;
  bottom: -7px;
}
.couture-event-ticket .ekt-when {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}
.couture-event-ticket .ekt-day {
  font: 800 30px/1 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
}
.couture-event-ticket .ekt-mon {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-event-ticket .ekt-divider {
  height: 100%;
  background-image: repeating-linear-gradient(
    to bottom,
    color-mix(in oklab, var(--c-line) 50%, transparent) 0 4px,
    transparent 4px 8px
  );
  width: 1px;
}
.couture-event-ticket .ekt-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-event-ticket .ekt-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
}
.couture-event-ticket .ekt-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-event-ticket .ekt-loc {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #324 — Inline currency switcher select (dropdown w/ flag emoji) */
.couture-currency-switcher {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.couture-currency-switcher:hover {
  border-color: var(--c-accent);
}
.couture-currency-switcher .ccs-flag {
  font-size: 14px;
  line-height: 1;
}
.couture-currency-switcher .ccs-code {
  font-variant-numeric: tabular-nums;
}
.couture-currency-switcher::after {
  content: "▾";
  margin-left: 2px;
  color: var(--c-ink-soft);
  font-size: 9px;
}

/* V6.388 #325 — Inline footer wide-stack column (4-col footer with logo top) */
.couture-footer-wide {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 32px;
  padding: 36px 28px 24px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
@media (max-width: 720px) {
  .couture-footer-wide {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}
.couture-footer-wide .fwd-brand {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (max-width: 720px) {
  .couture-footer-wide .fwd-brand { grid-column: span 2; }
}
.couture-footer-wide .fwd-mark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-footer-wide .fwd-mark::before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: var(--c-ink);
  flex: 0 0 auto;
}
.couture-footer-wide .fwd-tag {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 36ch;
}
.couture-footer-wide .fwd-col h4 {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  margin: 0 0 12px;
}
.couture-footer-wide .fwd-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-footer-wide .fwd-col a {
  font: 500 13.5px/1.4 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 78%, transparent);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: color 0.15s ease;
}
.couture-footer-wide .fwd-col a:hover {
  color: var(--c-accent);
}

/* V6.388 #326 — Inline color theme picker dot row */
.couture-theme-dot-picker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px 6px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-theme-dot-picker .tdp-label {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-theme-dot-picker .tdp-dots {
  display: inline-flex;
  gap: 5px;
}
.couture-theme-dot-picker .tdp-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--c-line) 50%, transparent);
  cursor: pointer;
  transition: transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-theme-dot-picker .tdp-dot:hover { transform: scale(1.18); }
}
.couture-theme-dot-picker .tdp-dot.--active {
  box-shadow: 0 0 0 2px var(--c-accent);
}

/* V6.388 #327 — Inline form-success microbar (small confirmation strip) */
.couture-form-success-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, #2ea043 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #2ea043 28%, transparent);
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, #166534 80%, var(--c-ink));
}
.couture-form-success-strip::before {
  content: "✓";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #2ea043;
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}

/* V6.388 #328 — Inline help-tip card (left-icon + body + dismiss) */
.couture-help-tip-card {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, #2563eb 10%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, #2563eb 28%, transparent);
}
.couture-help-tip-card .htc-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, #2563eb 22%, transparent);
  color: #2563eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
}
.couture-help-tip-card .htc-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-help-tip-card .htc-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-help-tip-card .htc-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-help-tip-card .htc-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
}
.couture-help-tip-card .htc-link {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #2563eb;
  text-decoration: none;
}
.couture-help-tip-card .htc-x {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  cursor: pointer;
}
.couture-help-tip-card .htc-x:hover {
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
}

/* V6.388 #329 — Inline review filter chip group (sort + filter pillrow) */
.couture-review-filter-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
}
.couture-review-filter-chips .rfc-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  margin-right: 6px;
}
.couture-review-filter-chips .rfc-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink);
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-review-filter-chips .rfc-chip:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-review-filter-chips .rfc-chip.--active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-review-filter-chips .rfc-chip .rfc-num {
  font: 700 10px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-ink-soft) 70%, transparent);
}
.couture-review-filter-chips .rfc-chip.--active .rfc-num {
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}

/* V6.388 #330 — Inline mini-rating breakdown bar (per-star bars compact) */
.couture-rating-breakdown-row {
  display: grid;
  grid-template-columns: 22px 1fr 32px;
  gap: 10px;
  align-items: center;
  font: 600 11.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  padding: 4px 0;
}
.couture-rating-breakdown-row .rbr-star {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #f59e0b;
}
.couture-rating-breakdown-row .rbr-star::after {
  content: "★";
  font-size: 11px;
}
.couture-rating-breakdown-row .rbr-star span {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-rating-breakdown-row .rbr-track {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-rating-breakdown-row .rbr-fill {
  height: 100%;
  background: linear-gradient(to right,
    color-mix(in oklab, #f59e0b 60%, transparent),
    #f59e0b);
}
.couture-rating-breakdown-row .rbr-pct {
  text-align: right;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #331 — Inline brand identity tile (logo + name + lockup compact) */
.couture-brand-identity-tile {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-brand-identity-tile .bit-mark {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--c-ink), color-mix(in oklab, var(--c-accent) 35%, var(--c-ink)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.014em;
  flex: 0 0 auto;
}
.couture-brand-identity-tile .bit-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-brand-identity-tile .bit-name {
  font: 800 15px/1.25 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-brand-identity-tile .bit-tag {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.388 #332 — Inline mini-product comparison row (2-up tiny cards) */
.couture-mini-compare-pair {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 76%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-mini-compare-pair .mcp-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  text-align: center;
}
.couture-mini-compare-pair .mcp-name {
  font: 700 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-mini-compare-pair .mcp-num {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-compare-pair .mcp-cell.--winner {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
}
.couture-mini-compare-pair .mcp-vs {
  font: 800 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}

/* V6.388 #333 — Inline action-link grid (3-col mini quick-actions) */
.couture-action-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}
.couture-action-link-grid a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 600 13px/1.3 var(--c-display);
  letter-spacing: -0.006em;
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-action-link-grid a:hover {
    transform: translateX(2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-action-link-grid a .alg-icon {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-action-link-grid a .alg-arrow {
  margin-left: auto;
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.18s ease, color 0.18s ease;
}
.couture-action-link-grid a:hover .alg-arrow {
  color: var(--c-accent);
  transform: translateX(2px);
}

/* V6.388 #334 — Inline mini receipt block (purchase confirmation) */
.couture-receipt-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 22px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-receipt-block .rcb-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 8px;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-receipt-block .rcb-num {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink);
}
.couture-receipt-block .rcb-when {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-receipt-block .rcb-line {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-receipt-block .rcb-line .rcb-qty {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
}
.couture-receipt-block .rcb-line .rcb-amt {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
}
.couture-receipt-block .rcb-tot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 35%, transparent);
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-receipt-block .rcb-tot .rcb-amt {
  font: 800 20px/1 var(--c-display);
}

/* V6.388 #335 — Inline category-tile with image (visual-rich category card) */
.couture-category-image-tile {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  text-decoration: none;
  aspect-ratio: 4 / 3;
  isolation: isolate;
}
.couture-category-image-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-category-image-tile:hover img {
    transform: scale(1.05);
  }
}
.couture-category-image-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 50%,
    color-mix(in oklab, black 75%, transparent));
  pointer-events: none;
}
.couture-category-image-tile .cit-label {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  z-index: 1;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-category-image-tile .cit-name {
  font: 800 18px/1.2 var(--c-display);
  letter-spacing: -0.014em;
}
.couture-category-image-tile .cit-count {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, white 80%, transparent);
}

/* V6.388 #336 — Inline icon-pair feature list (small feature row 2-up) */
.couture-icon-pair-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.couture-icon-pair-list .ipl-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-icon-pair-list .ipl-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-icon-pair-list .ipl-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-icon-pair-list .ipl-name {
  font: 600 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-icon-pair-list .ipl-sub {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #337 — Inline post-it note (sticky-style annotation) */
.couture-postit-note {
  display: inline-block;
  padding: 16px 18px;
  background: #fef3c7;
  color: #78350f;
  font: 500 14px/1.5 var(--c-body);
  letter-spacing: -0.005em;
  border-radius: 2px 2px 14px 2px;
  box-shadow:
    0 1px 0 color-mix(in oklab, white 50%, transparent) inset,
    2px 4px 8px -3px color-mix(in oklab, #92400e 35%, transparent),
    8px 14px 22px -10px color-mix(in oklab, #92400e 30%, transparent);
  transform: rotate(-1.5deg);
  max-width: 280px;
  position: relative;
  transition: transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-postit-note:hover {
    transform: rotate(0deg) scale(1.03);
  }
}
.couture-postit-note::before {
  content: "📌";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%) rotate(-12deg);
  font-size: 18px;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}
.couture-postit-note .ppn-foot {
  display: block;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed color-mix(in oklab, #92400e 30%, transparent);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, #92400e 70%, var(--c-ink));
}
.couture-postit-note.--green {
  background: #d1fae5;
  color: #064e3b;
}
.couture-postit-note.--blue {
  background: #dbeafe;
  color: #1e3a8a;
}
.couture-postit-note.--pink {
  background: #fce7f3;
  color: #831843;
}

/* V6.388 #338 — Inline quote-with-rating (review snippet w/ stars + cite) */
.couture-quote-with-rating {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-quote-with-rating .qwr-stars {
  display: inline-flex;
  gap: 2px;
  color: #f59e0b;
  font-size: 13px;
}
.couture-quote-with-rating .qwr-body {
  font: 500 14px/1.5 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.008em;
  margin: 0;
}
.couture-quote-with-rating .qwr-cite {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-quote-with-rating .qwr-cite-name {
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-quote-with-rating .qwr-cite-when {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* V6.388 #339 — Inline guide-step pill (instructional flow capsule) */
.couture-guide-step-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px 10px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-guide-step-pill .gsp-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-mono);
}
.couture-guide-step-pill .gsp-text {
  font: 600 13.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-guide-step-pill .gsp-text small {
  display: block;
  font: 500 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-guide-step-pill.--active {
  background: var(--c-ink);
  border-color: var(--c-ink);
}
.couture-guide-step-pill.--active .gsp-num {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-guide-step-pill.--active .gsp-text {
  color: var(--c-paper);
}
.couture-guide-step-pill.--active .gsp-text small {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}

/* V6.388 #340 — Inline product variant chip group (size/color selector) */
.couture-variant-chip-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 4px 0;
}
.couture-variant-chip-group .vcg-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-variant-chip-group .vcg-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.couture-variant-chip-group .vcg-chip {
  min-width: 38px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-ink);
  cursor: pointer;
  text-align: center;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-variant-chip-group .vcg-chip:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-variant-chip-group .vcg-chip.--active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-variant-chip-group .vcg-chip.--out {
  opacity: 0.5;
  text-decoration: line-through;
  cursor: not-allowed;
}

/* V6.388 #341 — Inline pricing FAQ item (Q+A combined block) */
.couture-pricing-faq-item {
  padding: 16px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-pricing-faq-item:last-child { border-bottom: 0; }
.couture-pricing-faq-item .pfi-q {
  font: 700 14px/1.4 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0 0 6px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.couture-pricing-faq-item .pfi-q::before {
  content: "Q.";
  flex: 0 0 auto;
  font: 800 12px/1.4 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  letter-spacing: 0.04em;
}
.couture-pricing-faq-item .pfi-a {
  font: 400 13.5px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  padding-left: 22px;
  position: relative;
  max-width: 64ch;
}
.couture-pricing-faq-item .pfi-a::before {
  content: "A.";
  position: absolute;
  left: 0;
  top: 0;
  font: 800 12px/1.6 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}

/* V6.388 #342 — Inline CTA-text-strip (between sections, full-width prompt) */
.couture-cta-text-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  padding: 26px 28px;
  border-radius: 16px;
  background: var(--c-ink);
  color: var(--c-paper);
  position: relative;
  overflow: hidden;
}
.couture-cta-text-strip::after {
  content: "";
  position: absolute;
  top: -50%;
  right: -10%;
  width: 35%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: radial-gradient(circle at center,
    color-mix(in oklab, var(--c-accent) 32%, transparent) 0%,
    transparent 65%);
  pointer-events: none;
}
.couture-cta-text-strip .cts-text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 240px;
}
.couture-cta-text-strip .cts-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 65%, white);
}
.couture-cta-text-strip .cts-title {
  font: 800 22px/1.2 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-paper);
  margin: 0;
}
.couture-cta-text-strip .cts-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 10px;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease, background 0.15s ease;
}
.couture-cta-text-strip .cts-cta:hover {
  transform: translateY(-2px);
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.388 #343 — Inline mini countdown timer (live tick numerics) */
.couture-countdown-tick {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-ink) 96%, var(--c-paper));
  color: var(--c-paper);
  font-variant-numeric: tabular-nums;
}
.couture-countdown-tick .cdt-num {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
}
.couture-countdown-tick .cdt-key {
  font: 700 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-countdown-tick .cdt-sep {
  color: color-mix(in oklab, var(--c-paper) 40%, transparent);
  font: 700 14px/1 var(--c-display);
}

/* V6.388 #344 — Inline category-stack chip (vertical category list compact) */
.couture-category-stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-category-stack a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 7px;
  font: 600 12.5px/1.3 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-category-stack a:hover {
  background: var(--c-paper);
  color: var(--c-accent);
}
.couture-category-stack a.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  font-weight: 700;
}
.couture-category-stack a .cks-num {
  font: 700 10.5px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
  padding: 3px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-category-stack a.--active .cks-num {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.388 #345 — Inline article footer share row (big label + share icons) */
.couture-article-share-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 22px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-article-share-row .ash-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-article-share-row .ash-label {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
}
.couture-article-share-row .ash-title {
  font: 700 16px/1.25 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-article-share-row .ash-icons {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-article-share-row .ash-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-mono);
  color: var(--c-ink);
  text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.couture-article-share-row .ash-btn:hover {
  transform: translateY(-2px);
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #346 — Inline mini cookie-style toast (corner notice) */
.couture-corner-toast {
  position: fixed;
  bottom: 18px;
  left: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow:
    0 22px 40px -22px color-mix(in oklab, var(--c-ink) 35%, transparent),
    0 4px 12px -4px color-mix(in oklab, var(--c-ink) 18%, transparent);
  max-width: 360px;
  z-index: 50;
  animation: couture-cnt-slide 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@keyframes couture-cnt-slide {
  from { transform: translateX(-20px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
.couture-corner-toast .cnt-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-corner-toast .cnt-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.couture-corner-toast .cnt-title {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-corner-toast .cnt-body {
  font: 500 11.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-corner-toast .cnt-x {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  cursor: pointer;
  flex: 0 0 auto;
}
.couture-corner-toast .cnt-x:hover {
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
}

/* V6.388 #347 — Inline mini-product chip (smallest possible product card) */
.couture-product-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px 4px 4px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 600 12px/1 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-product-chip:hover {
    transform: translateY(-1px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-product-chip .pdc-thumb {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  overflow: hidden;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-product-chip .pdc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-product-chip .pdc-price {
  font: 700 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-variant-numeric: tabular-nums;
  margin-left: 2px;
}

/* V6.388 #348 — Inline event-recap card (after-event summary block) */
.couture-event-recap-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 16px;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-bg) 72%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-event-recap-card .erc-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  padding: 4px 10px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
}
.couture-event-recap-card .erc-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-ink-soft);
}
.couture-event-recap-card .erc-title {
  font: 800 22px/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin: 0;
}
.couture-event-recap-card .erc-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-event-recap-card .erc-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.couture-event-recap-card .erc-meta span::before {
  content: "·";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-event-recap-card .erc-meta span:first-child::before { content: ""; margin: 0; }
.couture-event-recap-card .erc-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-event-recap-card .erc-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-event-recap-card .erc-stat .erc-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-event-recap-card .erc-stat .erc-key {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #349 — Inline price-table compact (header + 4 rows tight grid) */
.couture-price-table-tight {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-price-table-tight thead th {
  padding: 11px 14px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  text-align: left;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-price-table-tight thead th:not(:first-child) { text-align: right; }
.couture-price-table-tight tbody td {
  padding: 10px 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-price-table-tight tbody tr:last-child td { border-bottom: 0; }
.couture-price-table-tight tbody td:not(:first-child) {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-family: var(--c-mono);
  font-weight: 700;
}
.couture-price-table-tight tbody tr.--featured {
  background: color-mix(in oklab, var(--c-accent) 8%, transparent);
}
.couture-price-table-tight tbody tr.--featured td:first-child {
  font-weight: 700;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #350 — Inline glass-tile (frosted with hover lift) */
.couture-glass-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 22px 24px;
  border-radius: 18px;
  background: color-mix(in oklab, var(--c-paper) 60%, transparent);
  border: 1px solid color-mix(in oklab, white 12%, color-mix(in oklab, var(--c-line) 35%, transparent));
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  box-shadow:
    0 1px 0 color-mix(in oklab, white 18%, transparent) inset,
    0 16px 32px -22px color-mix(in oklab, var(--c-ink) 22%, transparent);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-glass-tile:hover {
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 color-mix(in oklab, white 22%, transparent) inset,
      0 24px 40px -24px color-mix(in oklab, var(--c-ink) 28%, transparent);
  }
}
.couture-glass-tile .glt-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--c-accent), color-mix(in oklab, var(--c-accent) 75%, var(--c-ink)));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
  box-shadow: 0 6px 14px -6px color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-glass-tile .glt-title {
  font: 800 17px/1.25 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-glass-tile .glt-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #351 — Inline mini search result row (search-page list item) */
.couture-search-result-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-search-result-row:last-child { border-bottom: 0; }
.couture-search-result-row .ssr-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  text-decoration: none;
}
.couture-search-result-row .ssr-title:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--c-accent);
}
.couture-search-result-row .ssr-url {
  font: 600 11.5px/1 var(--c-mono);
  text-transform: lowercase;
  letter-spacing: 0;
  color: var(--c-ink-soft);
}
.couture-search-result-row .ssr-snippet {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-search-result-row .ssr-snippet em {
  font-style: normal;
  background: color-mix(in oklab, #f59e0b 30%, transparent);
  padding: 0 2px;
  border-radius: 2px;
  color: var(--c-ink);
}
.couture-search-result-row .ssr-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-search-result-row .ssr-meta::before {
  content: "·";
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-search-result-row .ssr-meta:first-of-type::before { content: ""; }

/* V6.388 #352 — Inline mini-event hours card (week-hours table) */
.couture-hours-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 18px 20px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-hours-card .hrc-head {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  margin-bottom: 6px;
}
.couture-hours-card .hrc-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 6px 0;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-hours-card .hrc-row .hrc-day {
  text-transform: uppercase;
  font: 600 12px/1 var(--c-mono);
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-hours-card .hrc-row.--today {
  font-weight: 700;
}
.couture-hours-card .hrc-row.--today .hrc-day {
  color: var(--c-accent);
}
.couture-hours-card .hrc-row.--today::after {
  content: "● Open";
  position: relative;
  margin-left: 8px;
  font: 700 10px/1 var(--c-mono);
  color: #2ea043;
  letter-spacing: 0.08em;
}
.couture-hours-card .hrc-row .hrc-time {
  font: 700 12.5px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}
.couture-hours-card .hrc-row.--closed .hrc-time {
  color: var(--c-ink-soft);
  font-style: italic;
  font-weight: 500;
}

/* V6.388 #353 — Inline floating contact card (right-side card pinned) */
.couture-contact-floating {
  position: sticky;
  top: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px 20px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 14px 32px -16px color-mix(in oklab, var(--c-ink) 24%, transparent);
}
.couture-contact-floating .ctf-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-contact-floating .ctf-name {
  font: 800 17px/1.25 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-contact-floating .ctf-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-contact-floating .ctf-row::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-contact-floating .ctf-row.--phone::before { content: "☎"; }
.couture-contact-floating .ctf-row.--mail::before { content: "✉"; }
.couture-contact-floating .ctf-row.--web::before { content: "⌘"; }
.couture-contact-floating .ctf-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 6px;
  padding: 11px 18px;
  border-radius: 9px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.couture-contact-floating .ctf-cta:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}

/* V6.388 #354 — Inline service-summary thin row (one-line svc summary) */
.couture-service-summary-line {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-service-summary-line .ssl-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  flex: 0 0 auto;
}
.couture-service-summary-line .ssl-name {
  font: 600 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  flex: 1;
}
.couture-service-summary-line .ssl-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}
.couture-service-summary-line .ssl-action {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
}
.couture-service-summary-line .ssl-action:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
}

/* V6.388 #355 — Inline mini-cart popup (preview cart from icon click) */
.couture-mini-cart-popup {
  display: flex;
  flex-direction: column;
  width: 320px;
  max-width: 92vw;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 18px 36px -16px color-mix(in oklab, var(--c-ink) 30%, transparent);
  overflow: hidden;
}
.couture-mini-cart-popup .mcp-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-mini-cart-popup .mcp-head strong {
  font: 700 13px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.couture-mini-cart-popup .mcp-count {
  font: 700 11px/1 var(--c-mono);
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
}
.couture-mini-cart-popup .mcp-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 280px;
  overflow-y: auto;
}
.couture-mini-cart-popup .mcp-item {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 16%, transparent);
}
.couture-mini-cart-popup .mcp-item:last-child { border-bottom: 0; }
.couture-mini-cart-popup .mcp-thumb {
  width: 44px;
  height: 44px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-mini-cart-popup .mcp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-mini-cart-popup .mcp-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-mini-cart-popup .mcp-meta .mcp-name {
  font: 600 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-mini-cart-popup .mcp-meta .mcp-qty {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-mini-cart-popup .mcp-price {
  font: 700 12.5px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
}
.couture-mini-cart-popup .mcp-foot {
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-mini-cart-popup .mcp-tot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font: 700 14px/1 var(--c-display);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-cart-popup .mcp-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 9px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: background 0.15s ease;
}
.couture-mini-cart-popup .mcp-cta:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}

/* V6.388 #356 — Inline mini-stat trio (3-up labels + numbers tight) */
.couture-mini-stat-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-mini-stat-trio .mst-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px;
  background: color-mix(in oklab, var(--c-bg) 72%, var(--c-paper));
  text-align: center;
}
.couture-mini-stat-trio .mst-num {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-stat-trio .mst-key {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}

/* V6.388 #357 — Inline mini-pill cluster (compact selectable pills row) */
.couture-mini-pill-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-mini-pill-cluster .mpc-pill {
  padding: 5px 10px;
  border-radius: 999px;
  background: transparent;
  border: 0;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}
.couture-mini-pill-cluster .mpc-pill:hover {
  color: var(--c-ink);
}
.couture-mini-pill-cluster .mpc-pill.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 2px 6px -2px color-mix(in oklab, var(--c-ink) 22%, transparent);
}

/* V6.388 #358 — Inline lazy-load placeholder (image skeleton w/ shimmer) */
.couture-img-placeholder {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(105deg,
    color-mix(in oklab, var(--c-line) 30%, transparent) 0%,
    color-mix(in oklab, var(--c-line) 50%, transparent) 50%,
    color-mix(in oklab, var(--c-line) 30%, transparent) 100%);
  background-size: 220% 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-img-placeholder {
    animation: couture-imp-shimmer 1.6s ease-in-out infinite;
  }
}
@keyframes couture-imp-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
.couture-img-placeholder::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 60%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.388 #359 — Inline pricing currency multi-display (4-currency price strip) */
.couture-price-multi-currency {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  padding: 8px 12px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-price-multi-currency .pmc-row {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.couture-price-multi-currency .pmc-row .pmc-cur {
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-price-multi-currency .pmc-row .pmc-amt {
  font: 700 13px/1 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-price-multi-currency .pmc-row.--main .pmc-amt {
  font-size: 16px;
  font-weight: 800;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-price-multi-currency .pmc-row.--main .pmc-cur {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}

/* V6.388 #360 — Inline mini wizard nav (top wizard breadcrumb-progress) */
.couture-wizard-nav-mini {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-wizard-nav-mini .wnm-step {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  white-space: nowrap;
}
.couture-wizard-nav-mini .wnm-num {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 10px/1 var(--c-mono);
}
.couture-wizard-nav-mini .wnm-step.--done .wnm-num {
  background: #2ea043;
  color: var(--c-paper);
}
.couture-wizard-nav-mini .wnm-step.--done .wnm-num::before {
  content: "✓";
}
.couture-wizard-nav-mini .wnm-step.--done {
  color: var(--c-ink);
}
.couture-wizard-nav-mini .wnm-step.--active {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-wizard-nav-mini .wnm-step.--active .wnm-num {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-wizard-nav-mini .wnm-arrow {
  margin: 0 2px;
  font: 700 11px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.388 #361 — Inline mini progress wheel (small ring + label) */
.couture-progress-wheel-mini {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.couture-progress-wheel-mini .pwm-ring {
  --pct: 70;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background:
    conic-gradient(
      var(--c-accent) calc(var(--pct) * 1%),
      color-mix(in oklab, var(--c-line) 28%, transparent) 0
    );
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.couture-progress-wheel-mini .pwm-ring::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-progress-wheel-mini .pwm-num {
  position: relative;
  font: 800 11px/1 var(--c-display);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-progress-wheel-mini .pwm-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-progress-wheel-mini .pwm-label {
  font: 700 11.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-progress-wheel-mini .pwm-sub {
  font: 500 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #362 — Inline list-checkbox row (todo / checklist row) */
.couture-checklist-row {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 9px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 76%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 24%, transparent);
}
.couture-checklist-row .clr-box {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 1.5px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: transparent;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.couture-checklist-row.--done .clr-box {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-checklist-row.--done .clr-box::before { content: "✓"; }
.couture-checklist-row .clr-text {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-checklist-row.--done .clr-text {
  color: var(--c-ink-soft);
  text-decoration: line-through;
  text-decoration-color: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-checklist-row .clr-tag {
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 3px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #363 — Inline scroll-to-top button (round corner-pinned) */
.couture-scroll-top-btn {
  position: fixed;
  bottom: 22px;
  right: 22px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  cursor: pointer;
  font: 800 16px/1 var(--c-mono);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 24px -10px color-mix(in oklab, var(--c-ink) 35%, transparent);
  transition: transform 0.2s ease, opacity 0.2s ease;
  opacity: 0;
  pointer-events: none;
  z-index: 40;
}
.couture-scroll-top-btn.--visible {
  opacity: 1;
  pointer-events: auto;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-scroll-top-btn:hover {
    transform: translateY(-3px);
  }
}
.couture-scroll-top-btn::before {
  content: "↑";
}
.couture-scroll-top-btn.--accent {
  background: var(--c-accent);
}

/* V6.388 #364 — Inline pricing add-bundle row (suggest add-on combo) */
.couture-add-bundle-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 12px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-add-bundle-row .abr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-add-bundle-row .abr-tag {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-add-bundle-row .abr-msg {
  font: 600 14px/1.4 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-add-bundle-row .abr-msg strong {
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  font-weight: 800;
}
.couture-add-bundle-row .abr-cta {
  padding: 9px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.couture-add-bundle-row .abr-cta:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}

/* V6.388 #365 — Inline brand name lockup w/ tagline */
.couture-brand-lockup {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 0;
}
.couture-brand-lockup .blu-name {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
}
.couture-brand-lockup .blu-name::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-brand-lockup .blu-tag {
  font: 600 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  padding-left: 24px;
}
.couture-brand-lockup .blu-tag::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 1px;
  background: color-mix(in oklab, var(--c-accent) 70%, transparent);
  vertical-align: middle;
  margin-right: 6px;
  margin-left: -22px;
}

/* V6.388 #366 — Inline mini progress dots (3-step minimal indicator) */
.couture-progress-dots-mini {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-progress-dots-mini .pdm-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-progress-dots-mini .pdm-dot.--done {
  background: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}
.couture-progress-dots-mini .pdm-dot.--active {
  background: var(--c-accent);
  width: 22px;
  border-radius: 999px;
}
.couture-progress-dots-mini .pdm-label {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  margin-left: 4px;
}
.couture-progress-dots-mini .pdm-label strong {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #367 — Inline mini-stat dual (twin metrics side by side) */
.couture-mini-stat-dual {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 14px;
  align-items: center;
  padding: 12px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-mini-stat-dual .msd-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-mini-stat-dual .msd-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-mini-stat-dual .msd-key {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-mini-stat-dual .msd-divider {
  height: 28px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}

/* V6.388 #368 — Inline plan-tier-card (large pricing tier 4-up) */
.couture-plan-tier-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 22px;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  position: relative;
}
.couture-plan-tier-card .ptc-name {
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-plan-tier-card .ptc-price {
  display: flex;
  align-items: baseline;
  gap: 5px;
  font-variant-numeric: tabular-nums;
}
.couture-plan-tier-card .ptc-amt {
  font: 800 32px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
}
.couture-plan-tier-card .ptc-period {
  font: 600 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}
.couture-plan-tier-card .ptc-summary {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  min-height: 3em;
}
.couture-plan-tier-card .ptc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.couture-plan-tier-card .ptc-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font: 500 13px/1.45 var(--c-body);
  color: var(--c-ink);
}
.couture-plan-tier-card .ptc-list li::before {
  content: "·";
  flex: 0 0 auto;
  width: 12px;
  text-align: center;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 800;
}
.couture-plan-tier-card .ptc-cta {
  align-self: stretch;
  padding: 12px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid var(--c-ink);
  color: var(--c-ink);
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-align: center;
  margin-top: auto;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-plan-tier-card .ptc-cta:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-plan-tier-card.--featured {
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)),
    var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  box-shadow: 0 22px 40px -22px color-mix(in oklab, var(--c-accent) 40%, transparent);
}
.couture-plan-tier-card.--featured .ptc-cta {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
}
.couture-plan-tier-card.--featured .ptc-cta:hover {
  background: var(--c-ink);
  border-color: var(--c-ink);
}

/* V6.388 #369 — Inline accent corner-mark (decorative top-corner stripe) */
.couture-corner-mark {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 0;
  border-color: var(--c-accent) transparent transparent transparent;
  pointer-events: none;
  z-index: 1;
}
.couture-corner-mark::before {
  content: attr(data-text);
  position: absolute;
  top: -22px;
  left: 2px;
  font: 800 8px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-paper);
  transform: rotate(-45deg);
  white-space: nowrap;
}
.couture-corner-mark.--ink { border-top-color: var(--c-ink); }
.couture-corner-mark.--top-right {
  left: auto;
  right: 0;
  border-width: 30px 0 0 30px;
  border-color: var(--c-accent) transparent transparent transparent;
}
.couture-corner-mark.--top-right::before {
  left: auto;
  right: 2px;
  transform: rotate(45deg);
}

/* V6.388 #370 — Inline image diptych (2-up paired image presentation) */
.couture-image-diptych {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  border-radius: 14px;
  overflow: hidden;
}
.couture-image-diptych .idp-cell {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
}
.couture-image-diptych .idp-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-image-diptych .idp-cell:hover img {
    transform: scale(1.04);
  }
}
.couture-image-diptych .idp-cell .idp-cap {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  padding: 6px 10px;
  border-radius: 6px;
  background: color-mix(in oklab, black 60%, transparent);
  color: white;
  backdrop-filter: blur(4px);
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.couture-image-diptych .idp-cell.--featured {
  grid-column: span 2;
  aspect-ratio: 16 / 9;
}

/* V6.388 #371 — Inline shipping-method choice (radio-list with prices) */
.couture-shipping-choice {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-shipping-choice:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-shipping-choice .shc-radio {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  background: var(--c-paper);
}
.couture-shipping-choice.--selected {
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border-color: var(--c-accent);
}
.couture-shipping-choice.--selected .shc-radio {
  border-color: var(--c-accent);
}
.couture-shipping-choice.--selected .shc-radio::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-shipping-choice .shc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-shipping-choice .shc-name {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-shipping-choice .shc-eta {
  font: 500 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-shipping-choice .shc-price {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-shipping-choice .shc-price.--free {
  color: #2ea043;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.1em;
}

/* V6.388 #372 — Inline quote callout big (large hero pull-quote) */
.couture-quote-hero-callout {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 38px 36px;
  border-radius: 22px;
  background: var(--c-ink);
  color: var(--c-paper);
  position: relative;
  overflow: hidden;
}
.couture-quote-hero-callout::before {
  content: "\201C";
  position: absolute;
  top: -22px;
  left: 14px;
  font: 800 200px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 30%, transparent);
  pointer-events: none;
  z-index: 0;
}
.couture-quote-hero-callout .qhc-body {
  position: relative;
  z-index: 1;
  font: 500 clamp(20px, 2.6vw, 28px) / 1.4 var(--c-display);
  letter-spacing: -0.018em;
  margin: 0;
  max-width: 56ch;
}
.couture-quote-hero-callout .qhc-cite {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-quote-hero-callout .qhc-cite::before {
  content: "";
  width: 36px;
  height: 1.5px;
  background: var(--c-accent);
}
.couture-quote-hero-callout .qhc-cite strong {
  color: var(--c-paper);
  font-weight: 800;
}

/* V6.388 #373 — Inline article-grid header (sort + view toggle row) */
.couture-grid-controls-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
  margin-bottom: 18px;
}
.couture-grid-controls-row .gcr-count {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-grid-controls-row .gcr-count strong {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-grid-controls-row .gcr-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-grid-controls-row select {
  padding: 7px 12px;
  border-radius: 7px;
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  background: var(--c-paper);
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  cursor: pointer;
}
.couture-grid-controls-row .gcr-view {
  display: inline-flex;
  align-items: center;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-radius: 7px;
  overflow: hidden;
  background: var(--c-paper);
}
.couture-grid-controls-row .gcr-view button {
  padding: 6px 10px;
  background: transparent;
  border: 0;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  cursor: pointer;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-grid-controls-row .gcr-view button:last-child { border-right: 0; }
.couture-grid-controls-row .gcr-view button:hover {
  color: var(--c-ink);
}
.couture-grid-controls-row .gcr-view button.--active {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #374 — Inline product-thumb row (compact catalog row item) */
.couture-product-thumb-row {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  text-decoration: none;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-product-thumb-row:hover {
    transform: translateX(2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-product-thumb-row .ptr-thumb {
  width: 70px;
  height: 70px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-soft);
  font: 700 12px/1 var(--c-mono);
}
.couture-product-thumb-row .ptr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-product-thumb-row .ptr-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.couture-product-thumb-row .ptr-cat {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-product-thumb-row .ptr-name {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-product-thumb-row .ptr-meta-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 11.5px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-product-thumb-row .ptr-meta-row .ptr-stars {
  color: #f59e0b;
}
.couture-product-thumb-row .ptr-price {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-product-thumb-row .ptr-price small {
  display: block;
  font: 600 10.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
  text-align: right;
}

/* V6.388 #375 — Inline list-empty-pad (gentle filler block for empty lists) */
.couture-list-empty-pad {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  padding: 36px 24px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1.5px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-list-empty-pad .lep-mark {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display);
  color: var(--c-ink-soft);
}
.couture-list-empty-pad .lep-msg {
  font: 600 14px/1.4 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
}
.couture-list-empty-pad .lep-sub {
  font: 400 12.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 36ch;
  margin: 0;
}

/* V6.388 #376 — Inline mini-cta hover-card (popup-style with peek state) */
.couture-mini-cta-card {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px 12px 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-mini-cta-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
    box-shadow: 0 14px 24px -12px color-mix(in oklab, var(--c-ink) 25%, transparent);
  }
}
.couture-mini-cta-card .mcc-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-mini-cta-card .mcc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-mini-cta-card .mcc-name {
  font: 700 13.5px/1.25 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-mini-cta-card .mcc-sub {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-mini-cta-card::after {
  content: "→";
  margin-left: 4px;
  font: 800 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.18s ease, color 0.18s ease;
}
.couture-mini-cta-card:hover::after {
  color: var(--c-accent);
  transform: translateX(3px);
}

/* V6.388 #377 — Inline pricing-tier-summary chip (single-line tier summary) */
.couture-pricing-tier-summary {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-pricing-tier-summary .pts-name {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-pricing-tier-summary .pts-name::after {
  content: "·";
  margin-left: 6px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-pricing-tier-summary .pts-amt {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-pricing-tier-summary .pts-period {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}

/* V6.388 #378 — Inline image-grid masonry-lite (3-col masonry-style images) */
.couture-image-grid-masonry {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 80px;
  gap: 6px;
}
@media (max-width: 580px) {
  .couture-image-grid-masonry { grid-template-columns: repeat(2, 1fr); }
}
.couture-image-grid-masonry .igm-cell {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
}
.couture-image-grid-masonry .igm-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-image-grid-masonry .igm-cell:hover img { transform: scale(1.04); }
}
.couture-image-grid-masonry .igm-cell.--tall { grid-row: span 2; }
.couture-image-grid-masonry .igm-cell.--wide { grid-column: span 2; }
.couture-image-grid-masonry .igm-cell.--big {
  grid-row: span 2;
  grid-column: span 2;
}
.couture-image-grid-masonry .igm-cell .igm-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 3px 7px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  backdrop-filter: blur(6px);
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink);
}

/* V6.388 #379 — Inline tabular caption row (table head label + sublabel) */
.couture-tabular-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 14px 8px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-tabular-caption .tbc-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-tabular-caption .tbc-label {
  font: 800 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink);
}
.couture-tabular-caption .tbc-sub {
  font: 500 11.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-tabular-caption .tbc-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-tabular-caption .tbc-link {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
}
.couture-tabular-caption .tbc-link:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
}

/* V6.388 #380 — Inline mini-account row (avatar + name + dropdown trigger) */
.couture-account-row-mini {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 12px 5px 5px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  cursor: pointer;
}
.couture-account-row-mini .arm-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-account-row-mini .arm-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-account-row-mini .arm-name {
  font: 700 12.5px/1.2 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-account-row-mini .arm-tier {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-account-row-mini::after {
  content: "▾";
  margin-left: 4px;
  font: 700 9px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #381 — Inline mini-form fieldset (grouped form-fields border) */
.couture-mini-fieldset {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 18px 16px;
  border-radius: 12px;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
}
.couture-mini-fieldset .mfs-legend {
  position: absolute;
  top: -10px;
  left: 14px;
  padding: 2px 8px;
  background: var(--c-paper);
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  border-radius: 4px;
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
}
.couture-mini-fieldset .mfs-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-mini-fieldset .mfs-field label {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-mini-fieldset .mfs-field input,
.couture-mini-fieldset .mfs-field select {
  padding: 8px 10px;
  border-radius: 7px;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: var(--c-paper);
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink);
}
.couture-mini-fieldset .mfs-field input:focus,
.couture-mini-fieldset .mfs-field select:focus {
  outline: 0;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--c-accent) 18%, transparent);
}

/* V6.388 #382 — Inline mini-feature row (3 features 1-line per row) */
.couture-mini-feature-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px 28px;
  padding: 14px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-mini-feature-row .mfr-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-mini-feature-row .mfr-glyph {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-mini-feature-row .mfr-item strong {
  font-weight: 700;
}

/* V6.388 #383 — Inline article author meta band (top-of-article block) */
.couture-author-band {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-author-band .aub-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-author-band .aub-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-author-band .aub-name {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-author-band .aub-info {
  font: 500 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-author-band .aub-cta {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 7px 14px;
  border-radius: 7px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.couture-author-band .aub-cta:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}

/* V6.388 #384 — Inline mini-doc table-of-contents (article TOC sticky-style) */
.couture-doc-toc-mini {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-doc-toc-mini .dtm-head {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-ink-soft);
  padding: 4px 8px 10px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-doc-toc-mini a {
  display: block;
  padding: 6px 8px;
  border-radius: 6px;
  font: 500 12.5px/1.45 var(--c-body);
  color: var(--c-ink-soft);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: color 0.15s ease, background 0.15s ease;
}
.couture-doc-toc-mini a:hover {
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-doc-toc-mini a.--active {
  color: var(--c-ink);
  font-weight: 700;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
}
.couture-doc-toc-mini a.--sub {
  padding-left: 22px;
  font-size: 11.5px;
}
.couture-doc-toc-mini a.--sub::before {
  content: "—";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #385 — Inline mini-doc-meta footer (article footer info row) */
.couture-doc-meta-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-doc-meta-footer .dmf-stats {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-doc-meta-footer .dmf-stats span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.couture-doc-meta-footer .dmf-stats span strong {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-doc-meta-footer .dmf-stats span::before {
  content: "·";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-doc-meta-footer .dmf-stats span:first-child::before { content: ""; margin: 0; }
.couture-doc-meta-footer .dmf-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-doc-meta-footer .dmf-btn {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 7px 12px;
  border-radius: 7px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-doc-meta-footer .dmf-btn:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #386 — Inline outer-shadow CTA card (single big elevated card) */
.couture-outer-shadow-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 36px 32px;
  border-radius: 22px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  box-shadow:
    0 18px 40px -22px color-mix(in oklab, var(--c-ink) 30%, transparent),
    0 6px 14px -6px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.couture-outer-shadow-cta .osc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-outer-shadow-cta .osc-title {
  font: 800 clamp(22px, 3vw, 30px) / 1.18 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  margin: 0;
}
.couture-outer-shadow-cta .osc-body {
  font: 400 15px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 50ch;
}
.couture-outer-shadow-cta .osc-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}
.couture-outer-shadow-cta .osc-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.couture-outer-shadow-cta .osc-cta:hover {
  background: var(--c-accent);
  transform: translateY(-1px);
}
.couture-outer-shadow-cta .osc-link {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
}
.couture-outer-shadow-cta .osc-link:hover {
  color: var(--c-ink);
  border-color: var(--c-accent);
}

/* V6.388 #387 — Inline cookie banner (slim top-of-page strip) */
.couture-cookie-bar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 8px 16px;
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  color: color-mix(in oklab, var(--c-paper) 88%, var(--c-ink));
  font: 500 12px/1.4 var(--c-body);
}
.couture-cookie-bar .ckb-msg {
  text-align: center;
}
.couture-cookie-bar .ckb-msg a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.couture-cookie-bar .ckb-actions {
  display: inline-flex;
  gap: 6px;
}
.couture-cookie-bar button {
  padding: 5px 11px;
  border-radius: 5px;
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  border: 1px solid color-mix(in oklab, var(--c-paper) 22%, transparent);
  background: transparent;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-cookie-bar button:hover {
  background: color-mix(in oklab, var(--c-paper) 14%, transparent);
}
.couture-cookie-bar button.--ok {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}

/* V6.388 #388 — Inline mini-info-list (key-value rows tight) */
.couture-info-mini-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 0;
}
.couture-info-mini-list .iml-row {
  display: grid;
  grid-template-columns: minmax(80px, 30%) 1fr;
  gap: 14px;
  align-items: baseline;
  padding: 5px 0;
  font: 500 12.5px/1.5 var(--c-body);
}
.couture-info-mini-list .iml-key {
  font: 700 10.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-info-mini-list .iml-val {
  color: var(--c-ink);
  letter-spacing: -0.005em;
}

/* V6.388 #389 — Inline mini-banner-strip (small banner / promo line) */
.couture-mini-banner-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 7px 16px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-accent) 22%, var(--c-ink)),
    color-mix(in oklab, var(--c-accent) 35%, var(--c-ink)));
  color: var(--c-paper);
  font: 700 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.couture-mini-banner-strip::before {
  content: "★";
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}
.couture-mini-banner-strip a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 800;
}
.couture-mini-banner-strip.--ink {
  background: var(--c-ink);
}
.couture-mini-banner-strip.--accent {
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-accent) 70%, var(--c-paper)),
    var(--c-accent));
}

/* V6.388 #390 — Inline alert-with-progress (alert that shows action remaining) */
.couture-alert-progress {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 12px;
  padding: 12px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, #2563eb 10%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #2563eb 28%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-alert-progress::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: var(--pct, 0%);
  background: linear-gradient(to right,
    color-mix(in oklab, #2563eb 60%, transparent),
    #2563eb);
  transition: width 0.4s ease;
}
.couture-alert-progress .alp-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, #2563eb 22%, transparent);
  color: #2563eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}
.couture-alert-progress .alp-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-alert-progress .alp-title {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-alert-progress .alp-body {
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-alert-progress .alp-pct {
  font: 700 11.5px/1 var(--c-mono);
  color: #2563eb;
  font-variant-numeric: tabular-nums;
}

/* V6.388 #391 — Inline footer-pad ribbon (subtle bottom credit ribbon) */
.couture-footer-pad-ribbon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-bg) 78%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-footer-pad-ribbon::before,
.couture-footer-pad-ribbon::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(to right,
    transparent,
    color-mix(in oklab, var(--c-line) 60%, transparent),
    transparent);
}
.couture-footer-pad-ribbon strong {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #392 — Inline mini-rating-bar (compact star + count) */
.couture-rating-bar-mini {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink);
}
.couture-rating-bar-mini .rbm-stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  color: #f59e0b;
  font-size: 12px;
}
.couture-rating-bar-mini .rbm-num {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}
.couture-rating-bar-mini .rbm-of {
  color: var(--c-ink-soft);
  font-weight: 500;
  margin-left: 1px;
}
.couture-rating-bar-mini .rbm-count {
  font-weight: 500;
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11px;
  margin-left: 4px;
}
.couture-rating-bar-mini .rbm-count::before {
  content: "·";
  margin-right: 4px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #393 — Inline mini-spec strip (4-up specs in tiny banner row) */
.couture-spec-strip-mini {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}
@media (max-width: 580px) {
  .couture-spec-strip-mini { grid-template-columns: repeat(2, 1fr); }
}
.couture-spec-strip-mini .ssm-cell {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 12px 14px;
  background: var(--c-paper);
  text-align: center;
}
.couture-spec-strip-mini .ssm-num {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-spec-strip-mini .ssm-key {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #394 — Inline mini blog-post hero (compact featured-post block) */
.couture-blog-hero-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: center;
  padding: 22px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
@media (max-width: 720px) {
  .couture-blog-hero-mini { grid-template-columns: 1fr; }
}
.couture-blog-hero-mini .bhm-photo {
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
}
.couture-blog-hero-mini .bhm-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-blog-hero-mini .bhm-meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-blog-hero-mini .bhm-tag {
  align-self: flex-start;
  padding: 3px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.couture-blog-hero-mini .bhm-title {
  font: 800 22px/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin: 0;
}
.couture-blog-hero-mini .bhm-excerpt {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-blog-hero-mini .bhm-read {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
}
.couture-blog-hero-mini .bhm-read::after {
  content: "→";
  transition: transform 0.18s ease;
}
.couture-blog-hero-mini .bhm-read:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
}
.couture-blog-hero-mini .bhm-read:hover::after { transform: translateX(3px); }

/* V6.388 #395 — Inline mini timeline-checkmarks (small step list complete) */
.couture-mini-checkmark-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-mini-checkmark-list .mck-item {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: center;
  padding: 4px 0;
}
.couture-mini-checkmark-list .mck-item::before {
  content: "✓";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}
.couture-mini-checkmark-list .mck-item.--pending::before {
  content: "·";
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
  color: var(--c-ink-soft);
}
.couture-mini-checkmark-list .mck-text {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-mini-checkmark-list .mck-item.--pending .mck-text {
  color: var(--c-ink-soft);
}

/* V6.388 #396 — Inline floating help button (HQ-pinned bottom-left) */
.couture-help-floating {
  position: fixed;
  bottom: 22px;
  left: 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px 10px 10px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 14px 28px -16px color-mix(in oklab, var(--c-ink) 35%, transparent);
  text-decoration: none;
  z-index: 40;
  transition: transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-help-floating:hover {
    transform: translateY(-2px);
  }
}
.couture-help-floating .hfl-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
}
.couture-help-floating .hfl-icon::before { content: "?"; }
.couture-help-floating .hfl-text {
  font: 700 12px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-help-floating .hfl-text small {
  display: block;
  font: 500 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.388 #397 — Inline mini-spinner loader (animated SVG-style spinner) */
.couture-mini-spinner {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2.5px solid color-mix(in oklab, var(--c-line) 35%, transparent);
  border-top-color: var(--c-accent);
  vertical-align: middle;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-mini-spinner {
    animation: couture-mns-spin 0.7s linear infinite;
  }
}
@keyframes couture-mns-spin {
  to { transform: rotate(360deg); }
}
.couture-mini-spinner.--lg {
  width: 36px;
  height: 36px;
  border-width: 3.5px;
}
.couture-mini-spinner.--ink { border-top-color: var(--c-ink); }
.couture-mini-spinner.--inline {
  margin-right: 6px;
  vertical-align: -4px;
}

/* V6.388 #398 — Inline newsletter footer-bar (footer-pinned signup) */
.couture-newsletter-footer-bar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 75%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
@media (max-width: 580px) {
  .couture-newsletter-footer-bar {
    grid-template-columns: 1fr;
  }
}
.couture-newsletter-footer-bar .nfb-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-newsletter-footer-bar .nfb-title {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
}
.couture-newsletter-footer-bar .nfb-sub {
  font: 500 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-newsletter-footer-bar .nfb-form {
  display: flex;
  align-items: stretch;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  padding: 4px;
  min-width: 280px;
}
.couture-newsletter-footer-bar .nfb-form:focus-within {
  border-color: var(--c-accent);
}
.couture-newsletter-footer-bar .nfb-form input {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 8px 12px;
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-newsletter-footer-bar .nfb-form input:focus { outline: none; }
.couture-newsletter-footer-bar .nfb-form button {
  padding: 8px 16px;
  border-radius: 7px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  white-space: nowrap;
}

/* V6.388 #399 — Inline ribbon-flag (sticker-style angular tag) */
.couture-ribbon-flag {
  display: inline-block;
  position: relative;
  padding: 8px 18px 8px 14px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 800 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 0 100%);
}
.couture-ribbon-flag::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 4px 4px;
  border-color: transparent transparent color-mix(in oklab, var(--c-accent) 60%, var(--c-ink)) transparent;
}
.couture-ribbon-flag.--right {
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%);
  padding: 8px 14px 8px 18px;
}
.couture-ribbon-flag.--ink { background: var(--c-ink); }
.couture-ribbon-flag.--ink::before {
  border-color: transparent transparent color-mix(in oklab, var(--c-ink) 60%, var(--c-paper)) transparent;
}

/* V6.388 #400 — Inline mini case-study card (results-focused mini-card) */
.couture-case-study-mini {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 16px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-paper) 92%, var(--c-bg)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-case-study-mini .csm-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 800 13px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  text-transform: uppercase;
}
.couture-case-study-mini .csm-brand::before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 5px;
  background: var(--c-ink);
}
.couture-case-study-mini .csm-quote {
  font: 500 15px/1.5 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0;
}
.couture-case-study-mini .csm-results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-case-study-mini .csm-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-case-study-mini .csm-stat-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-case-study-mini .csm-stat-num small {
  font: 700 11px/1 var(--c-display);
  margin-left: 2px;
}
.couture-case-study-mini .csm-stat-key {
  font: 600 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-case-study-mini .csm-cite {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-case-study-mini .csm-cite::before {
  content: "—";
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 800;
}

/* V6.388 #401 — Inline mini-icon block (3-up icon column small) */
.couture-icon-column-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 580px) {
  .couture-icon-column-trio { grid-template-columns: 1fr; }
}
.couture-icon-column-trio .ict-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 18px 14px;
}
.couture-icon-column-trio .ict-icon {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display);
}
.couture-icon-column-trio .ict-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
}
.couture-icon-column-trio .ict-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  max-width: 22ch;
}

/* V6.388 #402 — Inline post tags + hashtag style */
.couture-post-hashtag-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
}
.couture-post-hashtag-row a {
  font: 700 12px/1 var(--c-mono);
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 8%, transparent);
  transition: background 0.15s ease;
}
.couture-post-hashtag-row a:hover {
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-post-hashtag-row a::before {
  content: "#";
  margin-right: 1px;
  opacity: 0.6;
}

/* V6.388 #403 — Inline pin-tab (saved-tab style sticker w/ optional pin icon) */
.couture-pin-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px 6px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink);
  letter-spacing: 0.04em;
  text-decoration: none;
  cursor: pointer;
}
.couture-pin-tab::before {
  content: "📌";
  font-size: 12px;
  filter: grayscale(0.6);
}
.couture-pin-tab.--ink {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-pin-tab.--ink::before {
  filter: brightness(2.2);
}

/* V6.388 #404 — Inline mini-tip box (concise hint w/ small icon) */
.couture-mini-tip-box {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, #f59e0b 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #f59e0b 28%, transparent);
  font: 500 12px/1.4 var(--c-body);
  color: color-mix(in oklab, #92400e 75%, var(--c-ink));
  max-width: 380px;
}
.couture-mini-tip-box::before {
  content: "💡";
  font-size: 13px;
  flex: 0 0 auto;
}
.couture-mini-tip-box strong {
  font-weight: 700;
  color: color-mix(in oklab, #92400e 90%, var(--c-ink));
}
.couture-mini-tip-box.--info {
  background: color-mix(in oklab, #2563eb 10%, var(--c-paper));
  border-color: color-mix(in oklab, #2563eb 28%, transparent);
  color: color-mix(in oklab, #1e40af 80%, var(--c-ink));
}
.couture-mini-tip-box.--info::before { content: "ℹ"; color: #2563eb; font-weight: 800; }
.couture-mini-tip-box.--info strong { color: color-mix(in oklab, #1e40af 90%, var(--c-ink)); }

/* V6.388 #405 — Inline status pill cluster (multiple status pills row) */
.couture-status-pill-cluster {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-status-pill-cluster .spc-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-status-pill-cluster .spc-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-ink-soft);
}
.couture-status-pill-cluster .spc-pill.--ok {
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #166534;
}
.couture-status-pill-cluster .spc-pill.--ok::before { background: #2ea043; }
.couture-status-pill-cluster .spc-pill.--warn {
  background: color-mix(in oklab, #d97706 14%, transparent);
  color: #92400e;
}
.couture-status-pill-cluster .spc-pill.--warn::before { background: #d97706; }
.couture-status-pill-cluster .spc-pill.--err {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #991b1b;
}
.couture-status-pill-cluster .spc-pill.--err::before { background: #c92a2a; }
.couture-status-pill-cluster .spc-pill.--info {
  background: color-mix(in oklab, #2563eb 14%, transparent);
  color: #1e40af;
}
.couture-status-pill-cluster .spc-pill.--info::before { background: #2563eb; }

/* V6.388 #406 — Inline mini-stat ribbon (animated marker between numbers) */
.couture-stat-ribbon-mini {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 22px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font-variant-numeric: tabular-nums;
  position: relative;
  overflow: hidden;
}
.couture-stat-ribbon-mini::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right,
    transparent,
    var(--c-accent),
    transparent);
}
.couture-stat-ribbon-mini .srm-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-stat-ribbon-mini .srm-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.014em;
}
.couture-stat-ribbon-mini .srm-key {
  font: 600 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-stat-ribbon-mini .srm-divider {
  width: 1px;
  height: 26px;
  background: color-mix(in oklab, var(--c-paper) 22%, transparent);
}

/* V6.388 #407 — Inline mini step-status (icon-style step status) */
.couture-step-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px 5px 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-step-status .sst-mark {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 10px/1 var(--c-mono);
}
.couture-step-status.--done .sst-mark {
  background: #2ea043;
  color: var(--c-paper);
}
.couture-step-status.--done .sst-mark::before { content: "✓"; }
.couture-step-status.--running .sst-mark {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-step-status.--running .sst-mark::before { content: "▶"; font-size: 8px; }
.couture-step-status.--err .sst-mark {
  background: #c92a2a;
  color: var(--c-paper);
}
.couture-step-status.--err .sst-mark::before { content: "!"; }

/* V6.388 #408 — Inline mini-tab-strip-vertical (vertical tab list) */
.couture-tab-strip-vertical {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-left: 2px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-tab-strip-vertical .tsv-tab {
  position: relative;
  padding: 10px 14px;
  font: 600 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  background: transparent;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color 0.15s ease, background 0.15s ease;
}
.couture-tab-strip-vertical .tsv-tab:hover {
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-tab-strip-vertical .tsv-tab::before {
  content: "";
  position: absolute;
  left: -2px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: transparent;
  transition: background 0.15s ease;
}
.couture-tab-strip-vertical .tsv-tab.--active {
  color: var(--c-ink);
  font-weight: 700;
}
.couture-tab-strip-vertical .tsv-tab.--active::before {
  background: var(--c-accent);
}
.couture-tab-strip-vertical .tsv-tab .tsv-count {
  margin-left: auto;
  font: 700 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  padding: 3px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #409 — Inline mini-toolbar (formatting toolbar tight icon row) */
.couture-mini-toolbar {
  display: inline-flex;
  align-items: stretch;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-mini-toolbar button {
  width: 32px;
  height: 32px;
  background: transparent;
  border: 0;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
  font: 700 13px/1 var(--c-display);
  color: var(--c-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.couture-mini-toolbar button:last-child { border-right: 0; }
.couture-mini-toolbar button:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-mini-toolbar button.--active {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-mini-toolbar .mtb-divider {
  width: 1px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}

/* V6.388 #410 — Inline mini-progress-bar-stacked (multi-color stacked bar) */
.couture-progress-bar-stacked {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-progress-bar-stacked .pbs-track {
  display: flex;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-progress-bar-stacked .pbs-seg {
  height: 100%;
  transition: width 0.4s ease;
}
.couture-progress-bar-stacked .pbs-seg.--ok { background: #2ea043; }
.couture-progress-bar-stacked .pbs-seg.--warn { background: #d97706; }
.couture-progress-bar-stacked .pbs-seg.--err { background: #c92a2a; }
.couture-progress-bar-stacked .pbs-seg.--accent { background: var(--c-accent); }
.couture-progress-bar-stacked .pbs-legend {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-progress-bar-stacked .pbs-legend .pbs-li {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.couture-progress-bar-stacked .pbs-legend .pbs-li::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: var(--clr, var(--c-accent));
}
.couture-progress-bar-stacked .pbs-legend .pbs-li strong {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #411 — Inline footer-policy-link (small footer policy link cluster) */
.couture-footer-policy-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
  font: 500 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-footer-policy-cluster a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
  border-bottom: 1px dotted transparent;
  padding-bottom: 1px;
}
.couture-footer-policy-cluster a:hover {
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-footer-policy-cluster a + a::before {
  content: "·";
  margin-right: 14px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #412 — Inline action confirm-bar (post-action confirmation strip) */
.couture-action-confirm {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, #2ea043 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #2ea043 28%, transparent);
}
.couture-action-confirm .acm-msg {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 12.5px/1.4 var(--c-body);
  color: color-mix(in oklab, #166534 80%, var(--c-ink));
}
.couture-action-confirm .acm-msg::before {
  content: "✓";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2ea043;
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-action-confirm .acm-undo {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, #166534 70%, var(--c-ink));
  background: transparent;
  border: 0;
  cursor: pointer;
  border-bottom: 1px dashed color-mix(in oklab, #2ea043 60%, transparent);
  padding-bottom: 1px;
}
.couture-action-confirm .acm-undo:hover {
  color: var(--c-ink);
}
.couture-action-confirm.--err {
  background: color-mix(in oklab, #c92a2a 10%, var(--c-paper));
  border-color: color-mix(in oklab, #c92a2a 28%, transparent);
}
.couture-action-confirm.--err .acm-msg {
  color: color-mix(in oklab, #991b1b 80%, var(--c-ink));
}
.couture-action-confirm.--err .acm-msg::before {
  content: "✕";
  background: #c92a2a;
}

/* V6.388 #413 — Inline mini-tab-pill rocker (toggle-style segmented control) */
.couture-tab-rocker {
  display: inline-flex;
  align-items: center;
  padding: 4px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-tab-rocker button {
  padding: 7px 14px;
  border-radius: 5px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-tab-rocker button:hover {
  color: var(--c-ink);
}
.couture-tab-rocker button.--on {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #414 — Inline mini-product-stack 3-up vertical product cards */
.couture-product-stack-mini {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-product-stack-mini .psm-row {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-product-stack-mini .psm-row:hover {
    transform: translateX(2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-product-stack-mini .psm-thumb {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-product-stack-mini .psm-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-product-stack-mini .psm-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-product-stack-mini .psm-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-product-stack-mini .psm-cat {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-product-stack-mini .psm-price {
  font: 700 13.5px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #415 — Inline mini-stat-card-shadow (compact stat with raised look) */
.couture-stat-card-shadow {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  box-shadow: 0 8px 18px -10px color-mix(in oklab, var(--c-ink) 22%, transparent);
  min-width: 120px;
}
.couture-stat-card-shadow .scs-num {
  font: 800 24px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-card-shadow .scs-num small {
  font: 700 14px/1 var(--c-display);
  margin-left: 2px;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-stat-card-shadow .scs-label {
  font: 600 10.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.388 #416 — Inline mini-cta-banner (sectional spotlight banner) */
.couture-spotlight-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 22px;
  border-radius: 16px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-ink) 95%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 30%, var(--c-ink)));
  color: var(--c-paper);
}
.couture-spotlight-banner .spb-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-spotlight-banner .spb-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 70%, white);
}
.couture-spotlight-banner .spb-msg {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
}
.couture-spotlight-banner .spb-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 8px;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease, background 0.15s ease;
}
.couture-spotlight-banner .spb-cta:hover {
  transform: translateY(-1px);
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.388 #417 — Inline mini-stat trio cards (3 stat-card-shadow grid) */
.couture-stat-trio-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}
.couture-stat-trio-cards .stc-cell {
  padding: 16px 18px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-stat-trio-cards .stc-cell .stc-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
  margin-bottom: 6px;
}
.couture-stat-trio-cards .stc-num {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-trio-cards .stc-key {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-stat-trio-cards .stc-foot {
  font: 500 11.5px/1.3 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.388 #418 — Inline mini sticker chip (decorative + emoji combo) */
.couture-sticker-mini {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 6px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  box-shadow:
    0 1px 0 color-mix(in oklab, white 35%, transparent) inset,
    0 4px 8px -3px color-mix(in oklab, var(--c-ink) 18%, transparent);
  transition: transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-sticker-mini:hover {
    transform: translateY(-1px) rotate(-0.5deg);
  }
}
.couture-sticker-mini .stm-emoji {
  font-size: 13px;
  line-height: 1;
  filter: grayscale(0.2);
}
.couture-sticker-mini.--accent {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #419 — Inline mini split-input row (label + 2 input fields) */
.couture-split-input-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.couture-split-input-row .sir-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-split-input-row .sir-cell label {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-split-input-row .sir-cell input,
.couture-split-input-row .sir-cell select {
  padding: 9px 12px;
  border-radius: 7px;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: var(--c-paper);
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink);
}
.couture-split-input-row .sir-cell input:focus,
.couture-split-input-row .sir-cell select:focus {
  outline: 0;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-split-input-row .sir-cell.--err input { border-color: #c92a2a; }
.couture-split-input-row .sir-cell .sir-help {
  font: 500 10.5px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #420 — Inline mini-floating action label (inline labeled action) */
.couture-floating-action-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px 7px 7px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 8px 18px -10px color-mix(in oklab, var(--c-ink) 25%, transparent);
  text-decoration: none;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  transition: transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-floating-action-label:hover {
    transform: translateY(-2px);
  }
}
.couture-floating-action-label .fal-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
}
.couture-floating-action-label .fal-icon::before { content: "+"; }
.couture-floating-action-label.--ink .fal-icon { background: var(--c-ink); }
.couture-floating-action-label.--lg {
  font-size: 13px;
  padding: 9px 16px 9px 9px;
}
.couture-floating-action-label.--lg .fal-icon {
  width: 30px;
  height: 30px;
  font-size: 14px;
}

/* V6.388 #421 — Inline mini-card-deck-row (3-up flat micro-deck) */
.couture-card-deck-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 580px) {
  .couture-card-deck-row { grid-template-columns: 1fr; }
}
.couture-card-deck-row .cdr-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-deck-row .cdr-cell:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-card-deck-row .cdr-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-card-deck-row .cdr-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
}
.couture-card-deck-row .cdr-body {
  font: 400 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #422 — Inline mini-status-message (single-line important update) */
.couture-status-message-mini {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 6px;
  font: 600 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  color: var(--c-ink);
}
.couture-status-message-mini::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-status-message-mini.--ok { color: #166534; }
.couture-status-message-mini.--ok::before { background: #2ea043; }
.couture-status-message-mini.--err { color: #991b1b; }
.couture-status-message-mini.--err::before { background: #c92a2a; }
.couture-status-message-mini.--pending { color: #92400e; }
.couture-status-message-mini.--pending::before { background: #d97706; }
.couture-status-message-mini strong { font-weight: 800; }

/* V6.388 #423 — Inline mini-comparison toggle (compact A vs B chooser) */
.couture-compare-toggle {
  display: inline-flex;
  align-items: stretch;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  padding: 4px;
  position: relative;
}
.couture-compare-toggle button {
  padding: 8px 18px;
  border-radius: 7px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  transition: background 0.18s ease, color 0.18s ease;
}
.couture-compare-toggle button:hover { color: var(--c-ink); }
.couture-compare-toggle button.--side-a.--active,
.couture-compare-toggle button.--side-b.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 4px 10px -3px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-compare-toggle .ctt-vs {
  align-self: center;
  font: 800 10px/1 var(--c-mono);
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  padding: 0 5px;
}

/* V6.388 #424 — Inline mini divider stack (decorative dot-line stack) */
.couture-divider-dot-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 24px 0;
  padding: 0;
}
.couture-divider-dot-line::before,
.couture-divider-dot-line::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(to right,
    transparent,
    color-mix(in oklab, var(--c-line) 50%, transparent),
    transparent);
}
.couture-divider-dot-line .ddl-dots {
  display: inline-flex;
  gap: 4px;
}
.couture-divider-dot-line .ddl-dots span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-divider-dot-line .ddl-dots span:nth-child(2) {
  background: var(--c-accent);
}

/* V6.388 #425 — Inline mini-photo-credit (small photo attribution under image) */
.couture-photo-credit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
  font: 500 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-photo-credit::before {
  content: "📷";
  font-size: 10px;
  filter: grayscale(0.5);
  opacity: 0.7;
}
.couture-photo-credit a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.couture-photo-credit a:hover {
  color: var(--c-ink);
  border-color: var(--c-accent);
}

/* V6.388 #426 — Inline mini-block-stack (3-up vertical block stat tiles) */
.couture-block-stack-trio {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-block-stack-trio .bst-block {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-block-stack-trio .bst-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 15px/1 var(--c-display);
}
.couture-block-stack-trio .bst-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-block-stack-trio .bst-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-block-stack-trio .bst-sub {
  font: 500 11.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-block-stack-trio .bst-num {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #427 — Inline mini chat-message-row (small chat thread style) */
.couture-chat-msg-row {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: flex-start;
  padding: 6px 0;
}
.couture-chat-msg-row .cmr-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-chat-msg-row .cmr-bubble {
  padding: 8px 12px;
  border-radius: 12px 12px 12px 2px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
  font: 500 13px/1.45 var(--c-body);
  color: var(--c-ink);
  max-width: 80%;
}
.couture-chat-msg-row .cmr-meta {
  font: 500 10.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 4px;
}
.couture-chat-msg-row.--mine {
  grid-template-columns: 1fr 28px;
}
.couture-chat-msg-row.--mine .cmr-avatar { order: 2; }
.couture-chat-msg-row.--mine .cmr-bubble {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
  border-radius: 12px 12px 2px 12px;
  margin-left: auto;
}
.couture-chat-msg-row.--mine .cmr-meta {
  text-align: right;
}

/* V6.388 #428 — Inline mini-divider-line decoration (compact decorative dividing) */
.couture-deco-divider-line {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 22px 0;
}
.couture-deco-divider-line .ddl-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right,
    transparent,
    color-mix(in oklab, var(--c-line) 50%, transparent));
}
.couture-deco-divider-line .ddl-line.--right {
  background: linear-gradient(to left,
    transparent,
    color-mix(in oklab, var(--c-line) 50%, transparent));
}
.couture-deco-divider-line .ddl-symbol {
  font: 800 14px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  letter-spacing: 0.1em;
}

/* V6.388 #429 — Inline mini-stage-step (clean numbered stage card) */
.couture-stage-step-mini {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 22px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-stage-step-mini .ssm-num {
  font: 800 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 10%, transparent);
  align-self: flex-start;
}
.couture-stage-step-mini .ssm-num::before {
  content: "Step ";
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.couture-stage-step-mini .ssm-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-stage-step-mini .ssm-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-stage-step-mini.--done {
  background: color-mix(in oklab, #2ea043 8%, var(--c-paper));
  border-color: color-mix(in oklab, #2ea043 30%, transparent);
}
.couture-stage-step-mini.--done .ssm-num {
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #166534;
}
.couture-stage-step-mini.--done .ssm-num::before {
  content: "✓ Step ";
}

/* V6.388 #430 — Inline mini timeline-event-line (compact log row) */
.couture-timeline-event-mini {
  display: grid;
  grid-template-columns: 80px 8px 1fr;
  gap: 12px;
  align-items: center;
  padding: 5px 0;
  font: 500 12.5px/1.4 var(--c-body);
}
.couture-timeline-event-mini .tem-when {
  font: 700 11px/1 var(--c-mono);
  text-align: right;
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}
.couture-timeline-event-mini .tem-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-timeline-event-mini.--done .tem-dot {
  background: var(--c-accent);
}
.couture-timeline-event-mini.--err .tem-dot {
  background: #c92a2a;
}
.couture-timeline-event-mini .tem-text {
  color: var(--c-ink);
}
.couture-timeline-event-mini .tem-text strong { font-weight: 700; }

/* V6.388 #431 — Inline mini-feature-pair (icon + value pair compact) */
.couture-feature-pair-mini {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-feature-pair-mini .fpm-icon {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-feature-pair-mini .fpm-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-feature-pair-mini .fpm-num {
  font: 800 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-feature-pair-mini .fpm-key {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #432 — Inline mini-quote-aside (sidebar-style brief quote) */
.couture-quote-aside-mini {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  border-left: 3px solid color-mix(in oklab, var(--c-accent) 60%, transparent);
  background: color-mix(in oklab, var(--c-accent) 5%, transparent);
  border-radius: 0 8px 8px 0;
}
.couture-quote-aside-mini .qam-text {
  font: 500 13.5px/1.55 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
  font-style: italic;
}
.couture-quote-aside-mini .qam-cite {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-quote-aside-mini .qam-cite::before {
  content: "—";
  margin-right: 4px;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 800;
}

/* V6.388 #433 — Inline mini compact-card-link (entry-point card with link) */
.couture-card-link-mini {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-link-mini:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-card-link-mini .clm-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-card-link-mini .clm-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-card-link-mini .clm-title {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-card-link-mini .clm-arrow {
  font: 700 16px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.18s ease, color 0.18s ease;
}
.couture-card-link-mini:hover .clm-arrow {
  color: var(--c-accent);
  transform: translateX(3px);
}

/* V6.388 #434 — Inline mini-quote-grid (3-up small testimonial grid) */
.couture-quote-grid-mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 720px) {
  .couture-quote-grid-mini { grid-template-columns: 1fr; }
}
.couture-quote-grid-mini .qgm-cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-quote-grid-mini .qgm-stars {
  display: inline-flex;
  gap: 1px;
  color: #f59e0b;
  font-size: 11px;
}
.couture-quote-grid-mini .qgm-body {
  font: 500 13px/1.5 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin: 0;
}
.couture-quote-grid-mini .qgm-cite {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
}

/* V6.388 #435 — Inline mini-callout-line (single-line attention banner) */
.couture-callout-line {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 8%, transparent);
  border-left: 3px solid var(--c-accent);
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-callout-line::before {
  content: "✦";
  font: 800 13px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-callout-line strong { font-weight: 700; }
.couture-callout-line a {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-callout-line a:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
}
.couture-callout-line.--ink {
  background: color-mix(in oklab, var(--c-ink) 95%, var(--c-paper));
  border-left-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-callout-line.--ink::before {
  color: var(--c-accent);
}
.couture-callout-line.--ink a {
  color: color-mix(in oklab, var(--c-accent) 60%, white);
}

/* V6.388 #436 — Inline mini avatar-stack-condensed (avatar pile w/ small +N) */
.couture-avatar-stack-condensed {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.couture-avatar-stack-condensed .asc-pile {
  display: inline-flex;
  isolation: isolate;
}
.couture-avatar-stack-condensed .asc-pile > * {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 28%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 9.5px/1 var(--c-display);
  margin-left: -6px;
}
.couture-avatar-stack-condensed .asc-pile > *:first-child { margin-left: 0; }
.couture-avatar-stack-condensed .asc-more {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 9px/1 var(--c-mono);
  margin-left: -6px;
  letter-spacing: 0;
}

/* V6.388 #437 — Inline mini-rating-condensed (compact rating w/ icon + count) */
.couture-rating-condensed {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-rating-condensed .rcd-star {
  font: 700 11px/1 var(--c-mono);
  color: #f59e0b;
}
.couture-rating-condensed .rcd-num {
  font: 700 11.5px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-rating-condensed .rcd-count {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-rating-condensed .rcd-count::before {
  content: "·";
  margin-right: 4px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #438 — Inline mini-input-action (input + tiny inline action) */
.couture-input-action-mini {
  display: inline-flex;
  align-items: stretch;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: var(--c-paper);
  padding: 3px;
  max-width: 320px;
  transition: border-color 0.15s ease;
}
.couture-input-action-mini:focus-within {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-input-action-mini input {
  flex: 1;
  padding: 7px 10px;
  border: 0;
  background: transparent;
  font: 500 12.5px/1.3 var(--c-body);
  color: var(--c-ink);
  min-width: 0;
}
.couture-input-action-mini input:focus { outline: none; }
.couture-input-action-mini button {
  padding: 7px 12px;
  border-radius: 6px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  white-space: nowrap;
}
.couture-input-action-mini button:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}

/* V6.388 #439 — Inline mini-tag-icon-pair (icon + tag pill row) */
.couture-tag-icon-pair {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 4px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-decoration: none;
}
.couture-tag-icon-pair .tip-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-display);
}
.couture-tag-icon-pair:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}

/* V6.388 #440 — Inline mini-checkpoint-list (numbered checkpoint tracker) */
.couture-checkpoint-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-checkpoint-list .cpl-row {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 6px 4px;
  font: 600 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-checkpoint-list .cpl-row:last-child { border-bottom: 0; }
.couture-checkpoint-list .cpl-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 10px/1 var(--c-mono);
}
.couture-checkpoint-list .cpl-row.--done .cpl-num {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-checkpoint-list .cpl-row.--done .cpl-num::before { content: "✓"; }
.couture-checkpoint-list .cpl-when {
  font: 600 10.5px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
}

/* V6.388 #441 — Inline mini-step-counter-bar (X of Y horizontal counter) */
.couture-step-counter-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-step-counter-bar .scb-text {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-step-counter-bar .scb-text strong {
  font-weight: 800;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-step-counter-bar .scb-track {
  flex: 1;
  min-width: 80px;
  height: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 28%, transparent);
  overflow: hidden;
}
.couture-step-counter-bar .scb-fill {
  height: 100%;
  background: var(--c-accent);
  transition: width 0.4s ease;
}
.couture-step-counter-bar .scb-link {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
}
.couture-step-counter-bar .scb-link:hover {
  color: var(--c-ink);
  border-color: var(--c-accent);
}

/* V6.388 #442 — Inline mini-avatar-card-row (mini avatar + name + role line) */
.couture-avatar-card-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 8px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-avatar-card-row .acr-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-avatar-card-row .acr-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-avatar-card-row .acr-name {
  font: 700 12.5px/1.25 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-avatar-card-row .acr-role {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #443 — Inline mini-promo-strip (top-of-page slim promo strip) */
.couture-promo-strip-mini {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 7px 16px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-accent) 16%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)));
  border-block: 1px solid color-mix(in oklab, var(--c-accent) 24%, transparent);
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-promo-strip-mini::before {
  content: "★";
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-promo-strip-mini a {
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  text-decoration: none;
  font-weight: 800;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-promo-strip-mini a:hover {
  border-color: var(--c-accent);
}

/* V6.388 #444 — Inline mini-counter-mark (small numbered marker) */
.couture-counter-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 1.5px solid var(--c-ink);
  font: 800 13px/1 var(--c-display);
  color: var(--c-ink);
  box-shadow: 0 4px 10px -3px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-counter-mark.--accent {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-counter-mark.--ink {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: var(--c-paper);
}
.couture-counter-mark.--lg {
  width: 44px;
  height: 44px;
  font-size: 17px;
}
.couture-counter-mark.--ghost {
  background: transparent;
  border-color: color-mix(in oklab, var(--c-line) 50%, transparent);
  color: var(--c-ink-soft);
}

/* V6.388 #445 — Inline mini-quote-3-line (3-line max compact testimonial) */
.couture-quote-3line {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-quote-3line .q3l-body {
  font: 400 13.5px/1.5 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-quote-3line .q3l-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-quote-3line .q3l-meta strong {
  color: var(--c-ink);
  font-weight: 700;
}
.couture-quote-3line .q3l-stars {
  display: inline-flex;
  gap: 1px;
  color: #f59e0b;
  font-size: 11px;
}

/* V6.388 #446 — Inline mini-product-stat (icon + small price + 1-line desc) */
.couture-product-stat-mini {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-product-stat-mini .psm-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 26%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 15px/1 var(--c-display);
}
.couture-product-stat-mini .psm-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.couture-product-stat-mini .psm-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-product-stat-mini .psm-desc {
  font: 500 11.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-product-stat-mini .psm-price {
  font: 800 14px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-variant-numeric: tabular-nums;
}

/* V6.388 #447 — Inline mini-mode-toggle-row (icon-only mode toggle row) */
.couture-mode-toggle-row {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  padding: 4px;
}
.couture-mode-toggle-row button {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 800 14px/1 var(--c-display);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-mode-toggle-row button:hover {
  color: var(--c-ink);
}
.couture-mode-toggle-row button.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 2px 6px -2px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-mode-toggle-row button[aria-label]:hover::before {
  content: attr(aria-label);
  position: absolute;
  margin-top: -36px;
  font: 600 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-paper);
  background: var(--c-ink);
  padding: 4px 7px;
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
}

/* V6.388 #448 — Inline mini-account-tier-badge (subscription tier badge pill) */
.couture-account-tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px 4px 7px;
  border-radius: 999px;
  font: 800 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  background: linear-gradient(135deg, #cbd5e1, #94a3b8);
  color: #1e293b;
  box-shadow: 0 1px 0 color-mix(in oklab, white 25%, transparent) inset;
}
.couture-account-tier-badge::before {
  content: "★";
  font-size: 10px;
  line-height: 1;
}
.couture-account-tier-badge.--gold {
  background: linear-gradient(135deg, #fde68a, #f59e0b);
  color: #78350f;
}
.couture-account-tier-badge.--platinum {
  background: linear-gradient(135deg, #e9e6e0, #b8a78a);
  color: #3f2d12;
}
.couture-account-tier-badge.--diamond {
  background: linear-gradient(135deg, #cffafe, #67e8f9);
  color: #155e75;
}

/* V6.388 #449 — Inline mini-stat-strip-3 (compact 3-up stat band w/ accent dividers) */
.couture-stat-strip-3 {
  display: inline-flex;
  align-items: stretch;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-stat-strip-3 .ss3-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 22px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-stat-strip-3 .ss3-cell:last-child { border-right: 0; }
.couture-stat-strip-3 .ss3-num {
  font: 800 20px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-strip-3 .ss3-key {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-stat-strip-3 .ss3-cell.--accent {
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
}
.couture-stat-strip-3 .ss3-cell.--accent .ss3-num {
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #450 — Inline mini-button-group-3-equal (3 evenly-spaced buttons) */
.couture-button-group-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.couture-button-group-3 button,
.couture-button-group-3 a {
  padding: 11px 12px;
  border-radius: 9px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.couture-button-group-3 button:hover,
.couture-button-group-3 a:hover {
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-button-group-3 button.--primary,
.couture-button-group-3 a.--primary {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-button-group-3 button.--primary:hover,
.couture-button-group-3 a.--primary:hover {
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-ink));
}
@media (max-width: 480px) {
  .couture-button-group-3 { grid-template-columns: 1fr; }
}

/* V6.388 #451 — Inline mini-search-result-snippet (compact search result row) */
.couture-search-snippet {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-search-snippet:last-child { border-bottom: 0; }
.couture-search-snippet .ssn-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  text-decoration: none;
}
.couture-search-snippet .ssn-title:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.couture-search-snippet .ssn-url {
  font: 600 11px/1 var(--c-mono);
  text-transform: lowercase;
  letter-spacing: 0;
  color: var(--c-ink-soft);
}
.couture-search-snippet .ssn-snippet {
  font: 400 12.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-search-snippet .ssn-snippet em {
  font-style: normal;
  background: color-mix(in oklab, #f59e0b 30%, transparent);
  padding: 0 2px;
  border-radius: 2px;
  color: var(--c-ink);
  font-weight: 600;
}

/* V6.388 #452 — Inline mini-spec-pill (specs in pill format compact) */
.couture-spec-pill-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.couture-spec-pill-row .spr-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-spec-pill-row .spr-pill .spr-num {
  font: 700 11.5px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-spec-pill-row .spr-pill .spr-key {
  color: var(--c-ink-soft);
}

/* V6.388 #453 — Inline mini-arrow-stack (vertical micro arrow indicators) */
.couture-arrow-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.couture-arrow-stack .ars-arrow {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
  color: var(--c-ink);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-arrow-stack .ars-arrow:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-arrow-stack .ars-arrow.--up::before { content: "▲"; }
.couture-arrow-stack .ars-arrow.--down::before { content: "▼"; }
.couture-arrow-stack .ars-num {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}

/* V6.388 #454 — Inline mini-side-card-photo (small side-by-side card w/ photo) */
.couture-side-card-photo {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding: 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-side-card-photo .scp-thumb {
  width: 110px;
  aspect-ratio: 4 / 3;
  border-radius: 9px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-soft);
  font: 700 12px/1 var(--c-mono);
}
.couture-side-card-photo .scp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-side-card-photo .scp-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-side-card-photo .scp-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-side-card-photo .scp-title {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
}
.couture-side-card-photo .scp-body {
  font: 400 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* V6.388 #455 — Inline mini-grid-feature-tile (compact feature with badge) */
.couture-grid-feature-tile {
  position: relative;
  padding: 22px 20px 18px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-grid-feature-tile .gft-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  font: 800 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-grid-feature-tile .gft-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 18%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
  margin-bottom: 4px;
}
.couture-grid-feature-tile .gft-title {
  font: 700 15px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0;
}
.couture-grid-feature-tile .gft-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #456 — Inline mini-list-grouped-row (1 group + items right-aligned) */
.couture-list-grouped-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-list-grouped-row:last-child { border-bottom: 0; }
.couture-list-grouped-row .lgr-group {
  font: 800 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  padding-top: 2px;
}
.couture-list-grouped-row .lgr-items {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-list-grouped-row .lgr-items span {
  font: 600 12px/1 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  padding: 4px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-list-grouped-row .lgr-items span.--accent {
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 32%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #457 — Inline mini-stat-feature-row (compact stat-icon-text combination) */
.couture-stat-feature-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-stat-feature-row .sfr-num {
  font: 800 26px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-variant-numeric: tabular-nums;
  padding: 8px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 10%, transparent);
}
.couture-stat-feature-row .sfr-num small {
  font: 700 13px/1 var(--c-display);
  margin-left: 2px;
}
.couture-stat-feature-row .sfr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-stat-feature-row .sfr-name {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-stat-feature-row .sfr-sub {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-stat-feature-row .sfr-link {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-stat-feature-row .sfr-link:hover {
  color: var(--c-ink);
  border-color: var(--c-accent);
}

/* V6.388 #458 — Inline mini quote-with-photo (compact testimonial w/ avatar) */
.couture-quote-with-photo {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-quote-with-photo .qwp-photo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-quote-with-photo .qwp-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.couture-quote-with-photo .qwp-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-quote-with-photo .qwp-body {
  font: 500 13.5px/1.45 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin: 0;
  font-style: italic;
}
.couture-quote-with-photo .qwp-cite {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-quote-with-photo .qwp-cite strong {
  color: var(--c-ink);
  font-weight: 800;
}

/* V6.388 #459 — Inline mini-status-tag-cluster (small-text status tag set) */
.couture-status-tag-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.couture-status-tag-cluster .stc-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 4px;
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
  color: var(--c-ink);
}
.couture-status-tag-cluster .stc-tag::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.7;
}
.couture-status-tag-cluster .stc-tag.--ok {
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #166534;
}
.couture-status-tag-cluster .stc-tag.--warn {
  background: color-mix(in oklab, #d97706 14%, transparent);
  color: #92400e;
}
.couture-status-tag-cluster .stc-tag.--err {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #991b1b;
}
.couture-status-tag-cluster .stc-tag.--info {
  background: color-mix(in oklab, #2563eb 14%, transparent);
  color: #1e40af;
}

/* V6.388 #460 — Inline mini-feature-callout-row (mini feature highlight strip) */
.couture-feature-callout-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-feature-callout-row .fcr-cell {
  padding: 18px 20px;
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-feature-callout-row .fcr-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
}
.couture-feature-callout-row .fcr-name {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-feature-callout-row .fcr-body {
  font: 400 12px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #461 — Inline mini-pricing-summary-bar (compact pricing comparison strip) */
.couture-pricing-summary-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-pricing-summary-bar .psb-tier {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.couture-pricing-summary-bar .psb-name {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-pricing-summary-bar .psb-headline {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-pricing-summary-bar .psb-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.couture-pricing-summary-bar .psb-amt {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-pricing-summary-bar .psb-period {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-pricing-summary-bar .psb-cta {
  padding: 9px 16px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}

/* V6.388 #462 — Inline mini-rating-distribution-row (1-5 star tally) */
.couture-rating-distribution {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-rating-distribution .rdb-row {
  display: grid;
  grid-template-columns: 22px 1fr 36px;
  gap: 10px;
  align-items: center;
  font: 600 11.5px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-rating-distribution .rdb-star {
  color: #f59e0b;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 1px;
}
.couture-rating-distribution .rdb-star::after {
  content: "★";
  font-size: 11px;
}
.couture-rating-distribution .rdb-star span {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-rating-distribution .rdb-track {
  height: 5px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-rating-distribution .rdb-fill {
  height: 100%;
  background: linear-gradient(to right,
    color-mix(in oklab, #f59e0b 60%, transparent),
    #f59e0b);
  border-radius: inherit;
}
.couture-rating-distribution .rdb-count {
  text-align: right;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #463 — Inline mini-tabbed-list-trio (3 tabs + content row) */
.couture-tabbed-trio {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-tabbed-trio .ttr-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  align-self: flex-start;
}
.couture-tabbed-trio .ttr-tabs button {
  padding: 7px 14px;
  border-radius: 999px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  transition: color 0.15s ease, background 0.15s ease;
}
.couture-tabbed-trio .ttr-tabs button:hover { color: var(--c-ink); }
.couture-tabbed-trio .ttr-tabs button.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 4px 8px -3px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-tabbed-trio .ttr-panel {
  padding: 18px 20px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink);
}

/* V6.388 #464 — Inline mini-product-list-table-row (compact ecom row) */
.couture-product-list-row {
  display: grid;
  grid-template-columns: 60px 1fr auto auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-product-list-row .plr-thumb {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-product-list-row .plr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-product-list-row .plr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-product-list-row .plr-name {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-product-list-row .plr-cat {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-product-list-row .plr-stock {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, #2ea043 12%, transparent);
  color: #166534;
}
.couture-product-list-row .plr-stock.--low {
  background: color-mix(in oklab, #d97706 12%, transparent);
  color: #92400e;
}
.couture-product-list-row .plr-stock.--out {
  background: color-mix(in oklab, #c92a2a 12%, transparent);
  color: #991b1b;
}
.couture-product-list-row .plr-price {
  font: 800 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-product-list-row .plr-action {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  cursor: pointer;
  font: 800 13px/1 var(--c-display);
}

/* V6.388 #465 — Inline mini-step-tracker-list (vertical mini step list) */
.couture-step-tracker-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 0;
  position: relative;
}
.couture-step-tracker-list::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 11px;
  width: 1px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-step-tracker-list .stl-row {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: center;
  padding: 6px 0;
  position: relative;
}
.couture-step-tracker-list .stl-mark {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  position: relative;
  z-index: 1;
}
.couture-step-tracker-list .stl-row.--done .stl-mark {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.couture-step-tracker-list .stl-row.--done .stl-mark::before {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font: 800 11px/1 var(--c-mono);
  color: var(--c-paper);
}
.couture-step-tracker-list .stl-row.--active .stl-mark {
  background: var(--c-paper);
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-step-tracker-list .stl-text {
  font: 600 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
}
.couture-step-tracker-list .stl-row.--done .stl-text {
  color: var(--c-ink);
}
.couture-step-tracker-list .stl-row.--active .stl-text {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #466 — Inline mini-status-line-vertical (vertical 4-step status pipeline) */
.couture-status-line-vertical {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding: 8px 0;
}
.couture-status-line-vertical::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 13px;
  width: 2px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-status-line-vertical .slv-row {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 14px;
  align-items: center;
  padding: 10px 0;
  position: relative;
}
.couture-status-line-vertical .slv-mark {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  z-index: 1;
}
.couture-status-line-vertical .slv-row.--complete .slv-mark {
  background: #2ea043;
  border-color: #2ea043;
}
.couture-status-line-vertical .slv-row.--complete .slv-mark::before {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-left: -6px;
  font: 800 12px/1 var(--c-mono);
  color: var(--c-paper);
}
.couture-status-line-vertical .slv-row.--current .slv-mark {
  background: var(--c-paper);
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-status-line-vertical .slv-row.--err .slv-mark {
  background: #c92a2a;
  border-color: #c92a2a;
}
.couture-status-line-vertical .slv-row.--err .slv-mark::before {
  content: "!";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-left: -6px;
  font: 800 13px/1 var(--c-mono);
  color: var(--c-paper);
}
.couture-status-line-vertical .slv-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-status-line-vertical .slv-name {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-status-line-vertical .slv-when {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #467 — Inline mini-blog-summary-list (compact recent posts list) */
.couture-blog-summary-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-blog-summary-list .bsl-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: baseline;
  padding: 10px 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.15s ease;
}
.couture-blog-summary-list .bsl-row:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-blog-summary-list .bsl-row .bsl-title {
  font: 600 13.5px/1.4 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-blog-summary-list .bsl-row .bsl-date {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* V6.388 #468 — Inline mini-vertical-icon-list (icon + label compact vertical) */
.couture-vertical-icon-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 0;
}
.couture-vertical-icon-list .vil-row {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: center;
  padding: 5px 0;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-vertical-icon-list .vil-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-display);
}
.couture-vertical-icon-list .vil-row.--ok .vil-icon {
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
}
.couture-vertical-icon-list .vil-row.--warn .vil-icon {
  background: color-mix(in oklab, #d97706 14%, transparent);
  color: #d97706;
}
.couture-vertical-icon-list .vil-row.--err .vil-icon {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #c92a2a;
}

/* V6.388 #469 — Inline mini-tag-overlay-image (image w/ tags overlay corner) */
.couture-tag-overlay-img {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  aspect-ratio: 4 / 3;
}
.couture-tag-overlay-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-tag-overlay-img .toi-tag-row {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  z-index: 1;
}
.couture-tag-overlay-img .toi-tag {
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 7px;
  border-radius: 3px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  color: var(--c-ink);
  backdrop-filter: blur(4px);
}
.couture-tag-overlay-img .toi-tag.--ink {
  background: color-mix(in oklab, var(--c-ink) 90%, transparent);
  color: var(--c-paper);
}
.couture-tag-overlay-img .toi-tag.--accent {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* V6.388 #470 — Inline mini-fancy-quote (decorative quote w/ flourish) */
.couture-fancy-quote {
  position: relative;
  padding: 22px 24px 22px 36px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-fancy-quote::before {
  content: "❝";
  position: absolute;
  top: 8px;
  left: 12px;
  font: 800 32px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-fancy-quote .ffq-body {
  font: 500 15px/1.55 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0 0 12px;
}
.couture-fancy-quote .ffq-cite {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-fancy-quote .ffq-cite strong {
  color: var(--c-ink);
  font-weight: 800;
}

/* V6.388 #471 — Inline mini-spec-grid-mini (small spec/feature grid 2-col) */
.couture-spec-grid-mini {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}
@media (max-width: 480px) {
  .couture-spec-grid-mini { grid-template-columns: 1fr; }
}
.couture-spec-grid-mini .sgm-cell {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 14px;
  background: var(--c-paper);
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-spec-grid-mini .sgm-key {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-spec-grid-mini .sgm-val {
  font: 700 12.5px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #472 — Inline mini-feature-bento-row (3-up flat bento style) */
.couture-feature-bento-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 720px) {
  .couture-feature-bento-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .couture-feature-bento-row { grid-template-columns: 1fr; }
}
.couture-feature-bento-row .fbr-cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-feature-bento-row .fbr-cell.--lead {
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)),
    var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 32%, transparent);
}
.couture-feature-bento-row .fbr-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-feature-bento-row .fbr-cell.--lead .fbr-icon {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-feature-bento-row .fbr-name {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 2px 0 0;
}
.couture-feature-bento-row .fbr-body {
  font: 400 12.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #473 — Inline mini-checkmark-grid (3-up checkmark feature grid) */
.couture-checkmark-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8px 18px;
  padding: 8px 0;
}
.couture-checkmark-grid .ckg-row {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: center;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-checkmark-grid .ckg-row::before {
  content: "✓";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}

/* V6.388 #474 — Inline mini-action-popover (action menu small popover) */
.couture-action-popover {
  position: absolute;
  z-index: 30;
  display: flex;
  flex-direction: column;
  min-width: 180px;
  padding: 6px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 18px 32px -16px color-mix(in oklab, var(--c-ink) 35%, transparent);
}
.couture-action-popover button,
.couture-action-popover a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 7px;
  background: transparent;
  border: 0;
  font: 500 13px/1.3 var(--c-body);
  color: var(--c-ink);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease;
}
.couture-action-popover button:hover,
.couture-action-popover a:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-action-popover button .apo-key,
.couture-action-popover a .apo-key {
  margin-left: auto;
  font: 600 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
  padding: 3px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-action-popover .apo-divider {
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
  margin: 4px 0;
}
.couture-action-popover button.--danger,
.couture-action-popover a.--danger {
  color: #c92a2a;
}
.couture-action-popover button.--danger:hover,
.couture-action-popover a.--danger:hover {
  background: color-mix(in oklab, #c92a2a 10%, transparent);
}

/* V6.388 #475 — Inline mini-stat-corner-flag (stat-card with corner ribbon flag) */
.couture-stat-corner-flag {
  position: relative;
  padding: 22px 24px 22px 28px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: hidden;
}
.couture-stat-corner-flag::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--c-accent);
}
.couture-stat-corner-flag .scf-key {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-stat-corner-flag .scf-num {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-corner-flag .scf-num small {
  font: 700 14px/1 var(--c-display);
  margin-left: 2px;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-stat-corner-flag .scf-foot {
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-stat-corner-flag.--ink::before { background: var(--c-ink); }
.couture-stat-corner-flag.--ok::before { background: #2ea043; }

/* V6.388 #476 — Inline mini-action-button-row (3-up button trio) */
.couture-action-button-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-action-button-row button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 12px;
  border-radius: 7px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-action-button-row button::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.7;
}
.couture-action-button-row button:hover {
  color: var(--c-ink);
}
.couture-action-button-row button.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 4px 8px -2px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-action-button-row button.--accent {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}

/* V6.388 #477 — Inline mini-pricing-cta-pair (price + CTA combined block) */
.couture-pricing-cta-pair {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 14%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-pricing-cta-pair .pcp-price {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-pricing-cta-pair .pcp-amt {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.022em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-pricing-cta-pair .pcp-amt small {
  font: 600 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
  letter-spacing: 0.04em;
}
.couture-pricing-cta-pair .pcp-context {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-pricing-cta-pair .pcp-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease, transform 0.15s ease;
}
.couture-pricing-cta-pair .pcp-cta:hover {
  transform: translateY(-1px);
  background: var(--c-accent);
}

/* V6.388 #478 — Inline mini-radial-progress (round dial w/ percent inside) */
.couture-radial-progress {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 64px;
  height: 64px;
}
.couture-radial-progress::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    conic-gradient(
      var(--c-accent) calc(var(--pct, 0) * 1%),
      color-mix(in oklab, var(--c-line) 28%, transparent) 0
    );
}
.couture-radial-progress::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-radial-progress .rdp-label {
  position: relative;
  font: 800 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-radial-progress .rdp-label small {
  font: 700 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 1px;
}
.couture-radial-progress.--lg {
  width: 90px;
  height: 90px;
}
.couture-radial-progress.--lg .rdp-label {
  font-size: 19px;
}

/* V6.388 #479 — Inline mini-feature-strip-mini (label + 4 icons compact strip) */
.couture-feature-strip-mini {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-feature-strip-mini .fsm-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  padding-right: 12px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-feature-strip-mini .fsm-row {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-feature-strip-mini .fsm-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-display);
}

/* V6.388 #480 — Inline mini-side-tab-list (sidebar tab list w/ section labels) */
.couture-side-tab-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 76%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  min-width: 200px;
}
.couture-side-tab-list .stl-section {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-side-tab-list .stl-section-label {
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-ink-soft);
  padding: 4px 10px 8px;
}
.couture-side-tab-list a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 7px;
  font: 600 13px/1.3 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-side-tab-list a:hover {
  background: var(--c-paper);
  color: var(--c-accent);
}
.couture-side-tab-list a.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  font-weight: 700;
  box-shadow: 0 2px 6px -2px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.couture-side-tab-list a .stl-count {
  margin-left: auto;
  font: 700 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}

/* V6.388 #481 — Inline mini-list-checkbox-group (selectable list w/ checkboxes) */
.couture-checkbox-list-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-checkbox-list-group .clg-row {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 8px 6px;
  border-radius: 7px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-checkbox-list-group .clg-row:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-checkbox-list-group .clg-box {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 1.5px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: transparent;
}
.couture-checkbox-list-group .clg-row.--checked .clg-box {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
}
.couture-checkbox-list-group .clg-row.--checked .clg-box::before { content: "✓"; }
.couture-checkbox-list-group .clg-text {
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-checkbox-list-group .clg-row.--checked .clg-text {
  font-weight: 600;
}
.couture-checkbox-list-group .clg-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
}

/* V6.388 #482 — Inline mini-form-summary-row (form review summary box) */
.couture-form-summary-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-form-summary-row .fsr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-form-summary-row .fsr-key {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-form-summary-row .fsr-val {
  font: 600 13.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-form-summary-row .fsr-edit {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 60%, transparent);
  padding-bottom: 1px;
  align-self: center;
}
.couture-form-summary-row .fsr-edit:hover {
  color: var(--c-accent);
  border-color: var(--c-accent);
}

/* V6.388 #483 — Inline mini-event-stamp (date stamp w/ accent border) */
.couture-event-stamp {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: 50px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-event-stamp .ets-month {
  width: 100%;
  padding: 3px 0;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  font: 800 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
  text-align: center;
}
.couture-event-stamp .ets-day {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  padding: 5px 0 3px;
  font-variant-numeric: tabular-nums;
}
.couture-event-stamp .ets-dow {
  font: 700 8px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  padding-bottom: 5px;
}
.couture-event-stamp.--ink .ets-month {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #484 — Inline mini-team-photo-row (4-up team headshots) */
.couture-team-photo-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 580px) {
  .couture-team-photo-row { grid-template-columns: repeat(2, 1fr); }
}
.couture-team-photo-row .tpr-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 10px 6px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  text-align: center;
}
.couture-team-photo-row .tpr-photo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  overflow: hidden;
}
.couture-team-photo-row .tpr-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-team-photo-row .tpr-name {
  font: 700 12px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-team-photo-row .tpr-role {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #485 — Inline mini-progress-step-icons (icon-step-icon-step row) */
.couture-progress-step-icons {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 12px 0;
}
.couture-progress-step-icons .psi-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 6px;
}
.couture-progress-step-icons .psi-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-progress-step-icons .psi-step.--done .psi-icon {
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-progress-step-icons .psi-step.--active .psi-icon {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-progress-step-icons .psi-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-progress-step-icons .psi-num {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-progress-step-icons .psi-name {
  font: 700 12.5px/1.2 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-progress-step-icons .psi-arrow {
  flex: 1;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
  min-width: 22px;
}

/* V6.388 #486 — Inline mini-list-tickle-icon (small icon-led list rows tight) */
.couture-list-tickle {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-list-tickle .ltk-row {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px 6px;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
  border-radius: 6px;
  transition: background 0.15s ease;
}
.couture-list-tickle .ltk-row:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-list-tickle .ltk-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-display);
}
.couture-list-tickle .ltk-icon::before { content: "›"; font-size: 14px; }
.couture-list-tickle .ltk-row strong {
  font-weight: 700;
}

/* V6.388 #487 — Inline mini-faq-pair (compact 2-line FAQ row) */
.couture-faq-pair-mini {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-faq-pair-mini:last-child { border-bottom: 0; }
.couture-faq-pair-mini .fpm-q {
  font: 700 13.5px/1.4 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin: 0;
}
.couture-faq-pair-mini .fpm-q::before {
  content: "Q.";
  margin-right: 8px;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-weight: 800;
  letter-spacing: 0.04em;
}
.couture-faq-pair-mini .fpm-a {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
  padding-left: 24px;
  max-width: 64ch;
}

/* V6.388 #488 — Inline mini-cart-summary (compact cart items count + total) */
.couture-cart-summary-mini {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-cart-summary-mini .csm-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
  position: relative;
}
.couture-cart-summary-mini .csm-icon::before { content: "🛒"; font-size: 14px; }
.couture-cart-summary-mini .csm-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 800 9px/16px var(--c-mono);
  text-align: center;
  border: 2px solid var(--c-paper);
}
.couture-cart-summary-mini .csm-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-cart-summary-mini .csm-name {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-cart-summary-mini .csm-amt {
  font: 800 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #489 — Inline mini-author-card-mini (compact author byline) */
.couture-author-card-mini {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 8px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-author-card-mini .acm-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-author-card-mini .acm-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-author-card-mini .acm-by {
  font: 600 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-author-card-mini .acm-name {
  font: 700 12.5px/1.25 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

/* V6.388 #490 — Inline mini-cta-card-shadow (raised CTA card with glow) */
.couture-cta-card-shadow {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 24px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-paper) 92%, var(--c-bg)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow:
    0 1px 0 color-mix(in oklab, white 25%, transparent) inset,
    0 16px 30px -16px color-mix(in oklab, var(--c-accent) 30%, transparent);
}
.couture-cta-card-shadow .ccs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-cta-card-shadow .ccs-title {
  font: 700 18px/1.25 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-cta-card-shadow .ccs-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0 0 6px;
}
.couture-cta-card-shadow .ccs-cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.couture-cta-card-shadow .ccs-cta:hover {
  transform: translateY(-1px);
  background: var(--c-accent);
}

/* V6.388 #491 — Inline mini-divider-text (text-only divider with accent dots) */
.couture-divider-text-mini {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 18px 0;
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--c-ink-soft);
}
.couture-divider-text-mini::before,
.couture-divider-text-mini::after {
  content: "•";
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-size: 16px;
  line-height: 1;
}
.couture-divider-text-mini.--ink::before,
.couture-divider-text-mini.--ink::after {
  color: var(--c-ink);
}

/* V6.388 #492 — Inline mini-comparison-badge (vs comparison label) */
.couture-comparison-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1.5px solid var(--c-ink);
  font: 800 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink);
}
.couture-comparison-badge::before,
.couture-comparison-badge::after {
  content: "";
  width: 12px;
  height: 4px;
  background: var(--c-ink);
}
.couture-comparison-badge::before { transform: skew(-15deg); }
.couture-comparison-badge::after { transform: skew(15deg); }
.couture-comparison-badge.--accent {
  border-color: var(--c-accent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-comparison-badge.--accent::before,
.couture-comparison-badge.--accent::after {
  background: var(--c-accent);
}

/* V6.388 #493 — Inline mini-feature-card-stack (icon-card+heading+text vertical) */
.couture-feature-card-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-feature-card-stack .fcs-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 28%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display);
}
.couture-feature-card-stack .fcs-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-feature-card-stack .fcs-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-feature-card-stack .fcs-link {
  align-self: flex-start;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.couture-feature-card-stack .fcs-link::after {
  content: "→";
  transition: transform 0.18s ease;
}
.couture-feature-card-stack .fcs-link:hover { color: var(--c-accent); }
.couture-feature-card-stack .fcs-link:hover::after { transform: translateX(3px); }

/* V6.388 #494 — Inline mini-stat-spark-row (compact stat + sparkline) */
.couture-stat-spark-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-stat-spark-row .ssr-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-stat-spark-row .ssr-key {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-stat-spark-row .ssr-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-spark-row .ssr-spark {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  height: 24px;
}
.couture-stat-spark-row .ssr-spark span {
  display: inline-block;
  width: 4px;
  background: color-mix(in oklab, var(--c-accent) 60%, transparent);
  border-radius: 1px;
}
.couture-stat-spark-row .ssr-spark span:nth-child(1) { height: 30%; }
.couture-stat-spark-row .ssr-spark span:nth-child(2) { height: 55%; }
.couture-stat-spark-row .ssr-spark span:nth-child(3) { height: 40%; }
.couture-stat-spark-row .ssr-spark span:nth-child(4) { height: 70%; }
.couture-stat-spark-row .ssr-spark span:nth-child(5) { height: 60%; }
.couture-stat-spark-row .ssr-spark span:nth-child(6) { height: 90%; background: var(--c-accent); }
.couture-stat-spark-row .ssr-delta {
  font: 800 12px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  padding: 4px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #166534;
}
.couture-stat-spark-row .ssr-delta::before { content: "↑ "; }
.couture-stat-spark-row .ssr-delta.--down {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #991b1b;
}
.couture-stat-spark-row .ssr-delta.--down::before { content: "↓ "; }

/* V6.388 #495 — Inline mini-action-icon-pair (2-icon side-by-side action duo) */
.couture-action-icon-pair {
  display: inline-flex;
  align-items: stretch;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  padding: 4px;
  gap: 4px;
}
.couture-action-icon-pair button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 800 14px/1 var(--c-display);
  color: var(--c-ink);
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-action-icon-pair button:hover {
  background: var(--c-paper);
  color: var(--c-accent);
}
.couture-action-icon-pair button.--primary {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-action-icon-pair button.--primary:hover {
  background: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #496 — Inline mini-step-arrow-list (numbered horizontal arrow steps) */
.couture-step-arrow-list {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}
.couture-step-arrow-list .sal-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-step-arrow-list .sal-step.--active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-step-arrow-list .sal-step.--done {
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-step-arrow-list .sal-num {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 10px/1 var(--c-mono);
}
.couture-step-arrow-list .sal-step.--active .sal-num {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-step-arrow-list .sal-arrow {
  margin: 0 4px;
  font: 700 14px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* V6.388 #497 — Inline mini-status-overview-line (admin-style hourly status) */
.couture-status-overview-line {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-status-overview-line .sol-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-status-overview-line .sol-bar {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 14px;
}
.couture-status-overview-line .sol-bar span {
  display: inline-block;
  width: 5px;
  height: 100%;
  border-radius: 1px;
  background: #2ea043;
}
.couture-status-overview-line .sol-bar span.--err { background: #c92a2a; }
.couture-status-overview-line .sol-bar span.--warn { background: #d97706; }
.couture-status-overview-line .sol-uptime {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  color: #2ea043;
}
.couture-status-overview-line .sol-row.--err .sol-uptime { color: #c92a2a; }
.couture-status-overview-line .sol-row.--warn .sol-uptime { color: #d97706; }

/* V6.388 #498 — Inline mini-tagline-mark (small tagline mark + brand) */
.couture-tagline-mark {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 10px 0;
}
.couture-tagline-mark .tlm-tag {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-tagline-mark .tlm-tag::before,
.couture-tagline-mark .tlm-tag::after {
  content: "";
  width: 16px;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-tagline-mark .tlm-mark {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
}
.couture-tagline-mark .tlm-mark::before {
  content: "★";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-size: 13px;
}

/* V6.388 #499 — Inline mini-empty-collection-card (compact empty-state mini) */
.couture-empty-collection-mini {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  padding: 28px 22px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 76%, var(--c-paper));
  border: 1.5px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-empty-collection-mini .ecm-glyph {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display);
}
.couture-empty-collection-mini .ecm-msg {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
}
.couture-empty-collection-mini .ecm-sub {
  font: 400 12.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 36ch;
  margin: 0;
}
.couture-empty-collection-mini .ecm-link {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  text-decoration: none;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-accent) 50%, transparent);
  padding-bottom: 1px;
}

/* V6.388 #500 — Inline 500-MILESTONE: gem-cut card (decorative facet card) */
.couture-gem-cut-card {
  position: relative;
  padding: 32px 26px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-paper) 90%, var(--c-bg)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 40%, transparent);
  clip-path: polygon(
    14px 0,
    calc(100% - 14px) 0,
    100% 14px,
    100% calc(100% - 14px),
    calc(100% - 14px) 100%,
    14px 100%,
    0 calc(100% - 14px),
    0 14px
  );
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow:
    0 1px 0 color-mix(in oklab, white 22%, transparent) inset,
    0 18px 38px -22px color-mix(in oklab, var(--c-accent) 35%, transparent);
}
.couture-gem-cut-card::after {
  content: "✦";
  position: absolute;
  top: 14px;
  right: 16px;
  font: 800 18px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-gem-cut-card .gcc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-gem-cut-card .gcc-title {
  font: 800 22px/1.2 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin: 0;
}
.couture-gem-cut-card .gcc-body {
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-gem-cut-card .gcc-cta {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 18px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}

/* V6.388 #501 — Inline mini-confirm-modal-card (small inline confirm prompt) */
.couture-confirm-modal-mini {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 22px 40px -22px color-mix(in oklab, var(--c-ink) 35%, transparent);
  max-width: 380px;
}
.couture-confirm-modal-mini .cmm-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: color-mix(in oklab, #d97706 16%, transparent);
  color: #d97706;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display);
}
.couture-confirm-modal-mini .cmm-icon::before { content: "⚠"; }
.couture-confirm-modal-mini .cmm-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-confirm-modal-mini .cmm-body {
  font: 400 13.5px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-confirm-modal-mini .cmm-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.couture-confirm-modal-mini .cmm-actions button {
  flex: 1;
  padding: 10px;
  border-radius: 9px;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: var(--c-paper);
  color: var(--c-ink);
}
.couture-confirm-modal-mini .cmm-actions button.--primary {
  background: #c92a2a;
  border-color: #c92a2a;
  color: var(--c-paper);
}

/* V6.388 #502 — Inline mini-stat-mini-list (3-row compact list of stats) */
.couture-stat-mini-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 6px 0;
}
.couture-stat-mini-list .sml-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: baseline;
  padding: 9px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-stat-mini-list .sml-row:last-child { border-bottom: 0; }
.couture-stat-mini-list .sml-key {
  font: 600 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-stat-mini-list .sml-val {
  font: 800 14px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-mini-list .sml-val small {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 3px;
}

/* V6.388 #503 — Inline mini-tag-input-row (input + chip rendering) */
.couture-tag-input-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-tag-input-row:focus-within {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-tag-input-row .tir-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 4px 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-tag-input-row .tir-chip .tir-x {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 22%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  border: 0;
  font: 600 10px/1 var(--c-mono);
  cursor: pointer;
}
.couture-tag-input-row input {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 4px 6px;
  font: 500 12.5px/1.3 var(--c-body);
  color: var(--c-ink);
  min-width: 80px;
}
.couture-tag-input-row input:focus { outline: none; }

/* V6.388 #504 — Inline mini-progress-pie-trio (3 small pies in row) */
.couture-progress-pie-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 8px 0;
}
@media (max-width: 580px) {
  .couture-progress-pie-trio { grid-template-columns: 1fr; }
}
.couture-progress-pie-trio .ppt-cell {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-progress-pie-trio .ppt-pie {
  --pct: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: conic-gradient(
    var(--c-accent) calc(var(--pct) * 1%),
    color-mix(in oklab, var(--c-line) 28%, transparent) 0
  );
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.couture-progress-pie-trio .ppt-pie::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-progress-pie-trio .ppt-num {
  position: relative;
  font: 800 11px/1 var(--c-display);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-progress-pie-trio .ppt-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.couture-progress-pie-trio .ppt-name {
  font: 700 12px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-progress-pie-trio .ppt-sub {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #505 — Inline mini-action-toolbar-vertical (vertical floating action bar) */
.couture-action-toolbar-vertical {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 4px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  box-shadow: 0 14px 28px -14px color-mix(in oklab, var(--c-ink) 30%, transparent);
}
.couture-action-toolbar-vertical button {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 800 14px/1 var(--c-display);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-action-toolbar-vertical button:hover {
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  color: var(--c-accent);
}
.couture-action-toolbar-vertical button.--active {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-action-toolbar-vertical .atv-divider {
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 25%, transparent);
  margin: 4px 6px;
}

/* V6.388 #506 — Inline mini-tag-tile-row (small tile-style tag list) */
.couture-tag-tile-row {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-tag-tile-row .ttr-tile {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 600 12px/1 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-tag-tile-row .ttr-tile::before {
  content: "#";
  color: var(--c-ink-soft);
  font-weight: 700;
}
.couture-tag-tile-row .ttr-tile:hover {
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-tag-tile-row .ttr-tile.--active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-tag-tile-row .ttr-tile.--active::before {
  color: var(--c-accent);
}

/* V6.388 #507 — Inline mini-pricing-tier-stack (vertical pricing tier list) */
.couture-pricing-tier-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-pricing-tier-stack .pts-tier {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-pricing-tier-stack .pts-tier:hover {
    transform: translateX(2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-pricing-tier-stack .pts-tier.--featured {
  border-color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
}
.couture-pricing-tier-stack .pts-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-pricing-tier-stack .pts-name {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-pricing-tier-stack .pts-desc {
  font: 500 11.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-pricing-tier-stack .pts-price {
  font: 800 17px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.couture-pricing-tier-stack .pts-price small {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 3px;
}
.couture-pricing-tier-stack .pts-arrow {
  font: 800 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-pricing-tier-stack .pts-tier:hover .pts-arrow {
  color: var(--c-accent);
  transform: translateX(3px);
}

/* V6.388 #508 — Inline mini-mini-grid-cards (4-up flat icon-name grid) */
.couture-mini-grid-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 580px) {
  .couture-mini-grid-cards { grid-template-columns: repeat(2, 1fr); }
}
.couture-mini-grid-cards .mgc-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 14px 8px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-mini-grid-cards .mgc-cell:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-mini-grid-cards .mgc-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
}
.couture-mini-grid-cards .mgc-name {
  font: 700 11.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

/* V6.388 #509 — Inline mini-toast-stack (multiple stacked toasts) */
.couture-toast-stack {
  position: fixed;
  bottom: 18px;
  right: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 50;
  max-width: 360px;
}
.couture-toast-stack .ts-toast {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  border-left: 3px solid var(--c-accent);
  box-shadow: 0 16px 32px -16px color-mix(in oklab, var(--c-ink) 30%, transparent);
  animation: couture-tst-in 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@keyframes couture-tst-in {
  from { transform: translateX(40px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
.couture-toast-stack .ts-toast.--ok { border-left-color: #2ea043; }
.couture-toast-stack .ts-toast.--warn { border-left-color: #d97706; }
.couture-toast-stack .ts-toast.--err { border-left-color: #c92a2a; }
.couture-toast-stack .ts-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
}
.couture-toast-stack .ts-toast.--ok .ts-icon {
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #2ea043;
}
.couture-toast-stack .ts-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-toast-stack .ts-title {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-toast-stack .ts-body {
  font: 500 11.5px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-toast-stack .ts-x {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  color: var(--c-ink-soft);
  font: 700 13px/1 var(--c-mono);
  cursor: pointer;
}

/* V6.388 #510 — Inline mini-link-list-with-arrows (compact link list w/ chevrons) */
.couture-link-list-arrows {
  display: flex;
  flex-direction: column;
  gap: 1px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  overflow: hidden;
}
.couture-link-list-arrows a {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  font: 600 13.5px/1.3 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
  transition: background 0.15s ease;
}
.couture-link-list-arrows a:last-child { border-bottom: 0; }
.couture-link-list-arrows a:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
}
.couture-link-list-arrows a::after {
  content: "›";
  font: 800 18px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-link-list-arrows a:hover::after {
  color: var(--c-accent);
  transform: translateX(3px);
}

/* V6.388 #511 — Inline mini-circular-step-indicator (small numbered ring) */
.couture-circular-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 800 13px/1 var(--c-display);
  color: var(--c-ink);
}
.couture-circular-step.--done {
  background: #2ea043;
  border-color: #2ea043;
  color: var(--c-paper);
}
.couture-circular-step.--done::before {
  content: "✓";
  font: 800 14px/1 var(--c-mono);
}
.couture-circular-step.--active {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-circular-step.--lg {
  width: 48px;
  height: 48px;
  font-size: 16px;
}

/* V6.388 #512 — Inline mini-card-image-overlay-text (image card w/ overlay text) */
.couture-card-image-overlay {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  text-decoration: none;
  isolation: isolate;
}
.couture-card-image-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-image-overlay:hover img { transform: scale(1.05); }
}
.couture-card-image-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    color-mix(in oklab, black 22%, transparent) 0%,
    transparent 35%,
    transparent 50%,
    color-mix(in oklab, black 75%, transparent) 100%);
  pointer-events: none;
}
.couture-card-image-overlay .cio-eyebrow {
  position: absolute;
  top: 14px;
  left: 16px;
  z-index: 1;
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, white 90%, transparent);
  padding: 4px 10px;
  border-radius: 4px;
  background: color-mix(in oklab, black 50%, transparent);
  backdrop-filter: blur(4px);
}
.couture-card-image-overlay .cio-text {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: white;
}
.couture-card-image-overlay .cio-title {
  font: 800 18px/1.2 var(--c-display);
  letter-spacing: -0.014em;
  margin: 0;
}
.couture-card-image-overlay .cio-foot {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, white 80%, transparent);
}

/* V6.388 #513 — Inline mini-stat-callout-line (single-line stat + label + change) */
.couture-stat-callout-line {
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-stat-callout-line .scl-key {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-stat-callout-line .scl-num {
  font: 800 18px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-callout-line .scl-num small {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 2px;
}
.couture-stat-callout-line .scl-delta {
  font: 700 11px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  padding: 4px 8px;
  border-radius: 5px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #166534;
}
.couture-stat-callout-line .scl-delta::before { content: "↑ "; }
.couture-stat-callout-line .scl-delta.--down {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #991b1b;
}
.couture-stat-callout-line .scl-delta.--down::before { content: "↓ "; }

/* V6.388 #514 — Inline mini-feature-strip-icon-line (icon + label per row line) */
.couture-feature-strip-icon-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  padding: 12px 18px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-feature-strip-icon-line .fsi-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-feature-strip-icon-line .fsi-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-display);
}
.couture-feature-strip-icon-line .fsi-divider {
  width: 1px;
  height: 16px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}

/* V6.388 #515 — Inline mini-product-tag-overlay (tag overlay on product image corner) */
.couture-product-tag-overlay {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 4px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink);
  box-shadow: 0 4px 8px -2px color-mix(in oklab, var(--c-ink) 20%, transparent);
}
.couture-product-tag-overlay::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-product-tag-overlay.--sale {
  background: var(--c-accent);
  color: var(--c-paper);
  border-color: var(--c-accent);
}
.couture-product-tag-overlay.--sale::before {
  background: var(--c-paper);
}
.couture-product-tag-overlay.--new {
  background: #2ea043;
  color: var(--c-paper);
  border-color: #2ea043;
}
.couture-product-tag-overlay.--new::before {
  background: var(--c-paper);
}

/* V6.388 #516 — Inline mini-author-meta-bar (full author meta strip) */
.couture-author-meta-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-author-meta-bar .amb-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
  flex: 0 0 auto;
}
.couture-author-meta-bar .amb-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-author-meta-bar .amb-byline {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-author-meta-bar .amb-byline small {
  font-weight: 500;
  color: var(--c-ink-soft);
  font-size: 11.5px;
  margin-left: 4px;
}
.couture-author-meta-bar .amb-stats {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-left: auto;
}
.couture-author-meta-bar .amb-stats span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-author-meta-bar .amb-stats span strong {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #517 — Inline mini-deal-banner-strip (deal/promo bar with timer + cta) */
.couture-deal-banner-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 11px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, #c92a2a, #f59e0b);
  color: var(--c-paper);
}
.couture-deal-banner-strip .dbs-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: color-mix(in oklab, white 22%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-deal-banner-strip .dbs-icon::before { content: "🔥"; font-size: 15px; }
.couture-deal-banner-strip .dbs-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-deal-banner-strip .dbs-msg {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
}
.couture-deal-banner-strip .dbs-msg strong { font-weight: 800; }
.couture-deal-banner-strip .dbs-timer {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, white 80%, transparent);
}
.couture-deal-banner-strip .dbs-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-paper);
  color: #c92a2a;
  font: 800 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
}
.couture-deal-banner-strip .dbs-cta:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #518 — Inline mini-modal-overlay (centered modal with backdrop) */
.couture-modal-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklab, var(--c-ink) 60%, transparent);
  backdrop-filter: blur(6px);
  z-index: 100;
  padding: 24px;
}
.couture-modal-overlay .mov-card {
  background: var(--c-paper);
  border-radius: 16px;
  padding: 28px 30px;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  box-shadow: 0 32px 60px -22px color-mix(in oklab, var(--c-ink) 50%, transparent);
  max-width: 480px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  animation: couture-mov-in 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@keyframes couture-mov-in {
  from { transform: scale(0.96) translateY(8px); opacity: 0; }
  to { transform: scale(1) translateY(0); opacity: 1; }
}
.couture-modal-overlay .mov-x {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 0;
  font: 700 16px/1 var(--c-mono);
  color: var(--c-ink);
  cursor: pointer;
}
.couture-modal-overlay .mov-title {
  font: 800 19px/1.25 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  margin: 0;
}
.couture-modal-overlay .mov-body {
  font: 400 14px/1.6 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}
.couture-modal-overlay .mov-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.couture-modal-overlay .mov-actions button {
  flex: 1;
  padding: 11px;
  border-radius: 9px;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  background: var(--c-paper);
  color: var(--c-ink);
}
.couture-modal-overlay .mov-actions button.--primary {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}

/* V6.388 #519 — Inline mini-step-divider-progress (visual horizontal step divider) */
.couture-step-divider-progress {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 8px 0;
}
.couture-step-divider-progress .sdp-circle {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  flex: 0 0 auto;
}
.couture-step-divider-progress .sdp-circle.--done {
  background: #2ea043;
  border-color: #2ea043;
  color: var(--c-paper);
}
.couture-step-divider-progress .sdp-circle.--done::before { content: "✓"; }
.couture-step-divider-progress .sdp-circle.--active {
  background: var(--c-paper);
  border-color: var(--c-accent);
  color: var(--c-ink);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-step-divider-progress .sdp-line {
  flex: 1;
  height: 2px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-step-divider-progress .sdp-line.--done {
  background: #2ea043;
}

/* V6.388 #520 — Inline mini-mini-snippet-bullet (compact bulleted snippet) */
.couture-snippet-bullets {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-snippet-bullets .sbl-row {
  display: grid;
  grid-template-columns: 8px 1fr;
  gap: 12px;
  align-items: baseline;
  font: 500 13px/1.5 var(--c-body);
  color: var(--c-ink);
  padding: 3px 0;
}
.couture-snippet-bullets .sbl-row::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
  margin-top: 7px;
}
.couture-snippet-bullets .sbl-row strong {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #521 — Inline mini-account-row-summary (account info + balance row) */
.couture-account-row-summary {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-account-row-summary .ars-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 28%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-account-row-summary .ars-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-account-row-summary .ars-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-account-row-summary .ars-id {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}
.couture-account-row-summary .ars-amt {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-account-row-summary .ars-amt small {
  display: block;
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
  text-align: right;
}

/* V6.388 #522 — Inline mini-bullet-key-feature-row (icon + key + value compact) */
.couture-bullet-key-feature {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 24%, transparent);
}
.couture-bullet-key-feature .bkf-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
}
.couture-bullet-key-feature .bkf-key {
  font: 600 12.5px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-bullet-key-feature .bkf-val {
  font: 800 13px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  color: var(--c-ink);
  letter-spacing: 0.04em;
}
.couture-bullet-key-feature .bkf-val.--accent {
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* V6.388 #523 — Inline mini-feature-table-row (table-style 4-col compact row) */
.couture-feature-table-row {
  display: grid;
  grid-template-columns: 1fr repeat(3, auto);
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-feature-table-row:last-child { border-bottom: 0; }
.couture-feature-table-row .ftr-name {
  font: 600 13px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-feature-table-row .ftr-cell {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
  text-align: center;
}
.couture-feature-table-row .ftr-cell.--yes {
  background: color-mix(in oklab, #2ea043 16%, transparent);
  color: #2ea043;
}
.couture-feature-table-row .ftr-cell.--yes::before { content: "✓"; }
.couture-feature-table-row .ftr-cell.--no {
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
  color: var(--c-ink-soft);
}
.couture-feature-table-row .ftr-cell.--no::before { content: "—"; }
.couture-feature-table-row .ftr-cell.--limited {
  background: color-mix(in oklab, #d97706 16%, transparent);
  color: #d97706;
}
.couture-feature-table-row .ftr-cell.--limited::before { content: "△"; }

/* V6.388 #524 — Inline mini-author-byline-row (compact byline w/ stats) */
.couture-author-byline-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  font: 500 12px/1.4 var(--c-body);
  color: var(--c-ink-soft);
}
.couture-author-byline-row .abr-author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-ink);
  font-weight: 700;
}
.couture-author-byline-row .abr-author::before {
  content: "By";
  font-weight: 500;
  color: var(--c-ink-soft);
  margin-right: 2px;
}
.couture-author-byline-row .abr-meta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-author-byline-row .abr-meta + .abr-meta::before {
  content: "·";
  margin-right: 4px;
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #525 — Inline mini-quote-condensed-row (single-line quote + author) */
.couture-quote-condensed {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-quote-condensed::before {
  content: "❝";
  font: 800 22px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-quote-condensed .qcd-text {
  font: 500 13.5px/1.4 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  font-style: italic;
}
.couture-quote-condensed .qcd-cite {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  font-style: normal;
  padding-left: 12px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-quote-condensed .qcd-cite::before {
  content: "—";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 800;
}

/* V6.388 #526 — Inline mini-radio-button-row (4-up tight radio button row) */
.couture-radio-button-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 0;
}
.couture-radio-button-row .rbr-opt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px 8px 8px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  font: 600 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.couture-radio-button-row .rbr-opt::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-radio-button-row .rbr-opt:hover {
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-radio-button-row .rbr-opt.--selected {
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border-color: var(--c-accent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-radio-button-row .rbr-opt.--selected::before {
  border-color: var(--c-accent);
  background: var(--c-accent);
  box-shadow: inset 0 0 0 3px var(--c-paper);
}

/* V6.388 #527 — Inline mini-stat-square-grid (4-up boxed stat grid) */
.couture-stat-square-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
}
@media (max-width: 580px) {
  .couture-stat-square-grid { grid-template-columns: repeat(2, 1fr); }
}
.couture-stat-square-grid .ssg-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 16px;
  background: var(--c-paper);
  text-align: center;
  align-items: center;
}
.couture-stat-square-grid .ssg-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
  margin-bottom: 4px;
}
.couture-stat-square-grid .ssg-num {
  font: 800 20px/1 var(--c-display);
  letter-spacing: -0.018em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-square-grid .ssg-key {
  font: 600 10.5px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #528 — Inline mini-progress-bar-segment (compact 5-segment progress) */
.couture-progress-bar-segment {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-progress-bar-segment .pbs-segs {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.couture-progress-bar-segment .pbs-seg {
  width: 16px;
  height: 5px;
  border-radius: 1px;
  background: color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-progress-bar-segment .pbs-seg.--active {
  background: var(--c-accent);
}
.couture-progress-bar-segment .pbs-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-progress-bar-segment .pbs-label strong {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #529 — Inline mini-tab-tab-content (tab strip + content panel pair) */
.couture-tab-content-pair {
  display: flex;
  flex-direction: column;
}
.couture-tab-content-pair .tcp-tabs {
  display: inline-flex;
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-tab-content-pair .tcp-tab {
  padding: 12px 18px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 700 12.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  position: relative;
  margin-bottom: -2px;
  transition: color 0.15s ease;
}
.couture-tab-content-pair .tcp-tab:hover { color: var(--c-ink); }
.couture-tab-content-pair .tcp-tab.--active {
  color: var(--c-ink);
  border-bottom: 2px solid var(--c-accent);
}
.couture-tab-content-pair .tcp-panel {
  padding: 18px 0;
  font: 400 14px/1.6 var(--c-body);
  color: var(--c-ink);
}

/* V6.388 #530 — Inline mini-icon-tile-stack (icon + tile + body horizontal) */
.couture-icon-tile-stack {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-icon-tile-stack .its-icon {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 28%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 20px/1 var(--c-display);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-icon-tile-stack .its-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-icon-tile-stack .its-name {
  font: 700 14px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-icon-tile-stack .its-body {
  font: 400 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #531 — Inline mini-summary-pill-row (compact summary pills horizontal) */
.couture-summary-pill-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 6px 0;
}
.couture-summary-pill-row .spr-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 600 11.5px/1.2 var(--c-mono);
  color: var(--c-ink);
}
.couture-summary-pill-row .spr-pill .spr-num {
  font: 800 12px/1 var(--c-display);
  letter-spacing: -0.005em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-summary-pill-row .spr-pill .spr-key {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-summary-pill-row .spr-pill.--accent {
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 28%, transparent);
}

/* V6.388 #532 — Inline mini-callout-quote-tile (compact quote tile w/ icon) */
.couture-callout-quote-tile {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: flex-start;
  padding: 18px 20px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-callout-quote-tile .cqt-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent) 24%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display);
}
.couture-callout-quote-tile .cqt-icon::before { content: "❝"; }
.couture-callout-quote-tile .cqt-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-callout-quote-tile .cqt-body {
  font: 500 14px/1.5 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
  margin: 0;
  font-style: italic;
}
.couture-callout-quote-tile .cqt-cite {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-callout-quote-tile .cqt-cite::before {
  content: "—";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 800;
}

/* V6.388 #533 — Inline mini-stat-icon-cluster (icon-led stat cluster) */
.couture-stat-icon-cluster {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 22px;
  padding: 16px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-stat-icon-cluster .sic-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-stat-icon-cluster .sic-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 26%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 10%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
}
.couture-stat-icon-cluster .sic-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-stat-icon-cluster .sic-num {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-icon-cluster .sic-key {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #534 — Inline mini-product-search-row (product search match line) */
.couture-product-search-row {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 11px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.couture-product-search-row:hover {
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-product-search-row .psr-thumb {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-soft);
  font: 700 11px/1 var(--c-mono);
}
.couture-product-search-row .psr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-product-search-row .psr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-product-search-row .psr-name {
  font: 700 13px/1.3 var(--c-display);
  color: var(--c-ink);
  letter-spacing: -0.005em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-product-search-row .psr-name em {
  font-style: normal;
  background: color-mix(in oklab, #f59e0b 30%, transparent);
  padding: 0 2px;
  border-radius: 2px;
}
.couture-product-search-row .psr-cat {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-product-search-row .psr-price {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #535 — Inline mini-product-collection-grid (compact 4-up product grid) */
.couture-product-collection-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 720px) {
  .couture-product-collection-grid { grid-template-columns: repeat(2, 1fr); }
}
.couture-product-collection-grid .pcg-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  text-decoration: none;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-product-collection-grid .pcg-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-product-collection-grid .pcg-thumb {
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-soft);
  font: 700 12px/1 var(--c-mono);
}
.couture-product-collection-grid .pcg-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-product-collection-grid .pcg-name {
  font: 600 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin-top: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-product-collection-grid .pcg-price {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #536 — Inline mini-floating-input (compact floating-label input) */
.couture-floating-input {
  position: relative;
  padding-top: 14px;
}
.couture-floating-input input {
  width: 100%;
  padding: 11px 14px 9px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  background: var(--c-paper);
  font: 500 13.5px/1.3 var(--c-body);
  color: var(--c-ink);
}
.couture-floating-input input:focus {
  outline: 0;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent) 16%, transparent);
}
.couture-floating-input label {
  position: absolute;
  top: 0;
  left: 10px;
  padding: 0 5px;
  background: var(--c-paper);
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  transition: color 0.15s ease;
}
.couture-floating-input input:focus + label {
  color: var(--c-accent);
}
.couture-floating-input.--err input {
  border-color: #c92a2a;
  box-shadow: 0 0 0 3px color-mix(in oklab, #c92a2a 16%, transparent);
}
.couture-floating-input.--err label {
  color: #c92a2a;
}

/* V6.388 #537 — Inline mini-mini-data-row (1-line metric data row) */
.couture-data-row-mini {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 7px;
  font: 600 12px/1.3 var(--c-mono);
  color: var(--c-ink);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-data-row-mini:last-child { border-bottom: 0; }
.couture-data-row-mini .drm-key {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-data-row-mini .drm-val {
  font: 700 13px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  color: var(--c-ink);
}
.couture-data-row-mini .drm-delta {
  font: 700 10.5px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  padding: 3px 7px;
  border-radius: 4px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #166534;
}
.couture-data-row-mini .drm-delta::before { content: "↑"; margin-right: 2px; }
.couture-data-row-mini .drm-delta.--down {
  background: color-mix(in oklab, #c92a2a 14%, transparent);
  color: #991b1b;
}
.couture-data-row-mini .drm-delta.--down::before { content: "↓"; }

/* V6.388 #538 — Inline mini-event-quick-list (compact list of upcoming events) */
.couture-event-quick-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 6px 0;
}
.couture-event-quick-list .eql-row {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 14px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 18%, transparent);
}
.couture-event-quick-list .eql-row:last-child { border-bottom: 0; }
.couture-event-quick-list .eql-when {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 6px 0;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
}
.couture-event-quick-list .eql-day {
  font: 800 17px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-event-quick-list .eql-mon {
  font: 700 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-accent) 78%, var(--c-ink));
  margin-top: 2px;
}
.couture-event-quick-list .eql-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-event-quick-list .eql-name {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-event-quick-list .eql-info {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #539 — Inline mini-info-banner-text (centered slim info banner) */
.couture-info-banner-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 7px 16px;
  background: color-mix(in oklab, #2563eb 10%, var(--c-paper));
  border-block: 1px solid color-mix(in oklab, #2563eb 26%, transparent);
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, #1e40af 80%, var(--c-ink));
  text-align: center;
}
.couture-info-banner-text::before {
  content: "ℹ";
  font: 800 13px/1 var(--c-mono);
  color: #2563eb;
}
.couture-info-banner-text a {
  color: #1e40af;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 800;
}
.couture-info-banner-text strong { font-weight: 800; }

/* V6.388 #540 — Inline mini-cart-line-row (cart line item compact) */
.couture-cart-line-row {
  display: grid;
  grid-template-columns: 50px 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 24%, transparent);
}
.couture-cart-line-row .clr-thumb {
  width: 50px;
  height: 50px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-cart-line-row .clr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-cart-line-row .clr-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.couture-cart-line-row .clr-name {
  font: 600 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-cart-line-row .clr-variant {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-cart-line-row .clr-qty-input {
  display: inline-flex;
  align-items: center;
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  border-radius: 6px;
  background: var(--c-paper);
}
.couture-cart-line-row .clr-qty-input button {
  width: 22px;
  height: 22px;
  background: transparent;
  border: 0;
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  cursor: pointer;
}
.couture-cart-line-row .clr-qty-input button:hover { color: var(--c-ink); }
.couture-cart-line-row .clr-qty-input span {
  width: 24px;
  text-align: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-cart-line-row .clr-price {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #541 — Inline mini-calendar-strip-week (7-day week strip) */
.couture-calendar-strip-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  padding: 8px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-calendar-strip-week .csw-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 4px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-calendar-strip-week .csw-day:hover {
  background: var(--c-paper);
}
.couture-calendar-strip-week .csw-dow {
  font: 700 9.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-ink-soft);
}
.couture-calendar-strip-week .csw-num {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
}
.couture-calendar-strip-week .csw-day.--today {
  background: var(--c-paper);
  box-shadow: 0 4px 8px -2px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-calendar-strip-week .csw-day.--today .csw-dow {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-calendar-strip-week .csw-day.--selected {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-calendar-strip-week .csw-day.--selected .csw-dow {
  color: color-mix(in oklab, white 80%, transparent);
}
.couture-calendar-strip-week .csw-day.--selected .csw-num {
  color: var(--c-paper);
}
.couture-calendar-strip-week .csw-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--c-accent);
  margin-top: 2px;
}

/* V6.388 #542 — Inline mini-comparison-thumb-row (image thumb side-by-side) */
.couture-comparison-thumb-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
}
.couture-comparison-thumb-row .ctr-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: center;
}
.couture-comparison-thumb-row .ctr-thumb {
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-soft);
  font: 700 14px/1 var(--c-mono);
}
.couture-comparison-thumb-row .ctr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-comparison-thumb-row .ctr-name {
  font: 700 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-comparison-thumb-row .ctr-vs {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
  letter-spacing: 0.1em;
  align-self: center;
}
.couture-comparison-thumb-row .ctr-vs::before { content: "VS"; }
.couture-comparison-thumb-row .ctr-cell.--winner .ctr-thumb {
  outline: 3px solid var(--c-accent);
  outline-offset: -3px;
}
.couture-comparison-thumb-row .ctr-cell.--winner .ctr-name {
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}

/* V6.388 #543 — Inline mini-empty-search-state (no results found compact card) */
.couture-empty-search-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  padding: 32px 24px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-empty-search-state .ess-mark {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-line) 22%, transparent);
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display);
}
.couture-empty-search-state .ess-mark::before { content: "🔍"; font-size: 22px; }
.couture-empty-search-state .ess-title {
  font: 700 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 0;
}
.couture-empty-search-state .ess-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 38ch;
  margin: 0;
}
.couture-empty-search-state .ess-cta {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 32%, transparent);
  text-decoration: none;
  margin-top: 6px;
  cursor: pointer;
}
.couture-empty-search-state .ess-cta:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #544 — Inline mini-feature-cell-tile (3-col flat feature tile w/ image) */
.couture-feature-cell-tile {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-feature-cell-tile .fct-img {
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-ink-soft);
  font: 700 12px/1 var(--c-mono);
}
.couture-feature-cell-tile .fct-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-feature-cell-tile .fct-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-feature-cell-tile .fct-title {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.01em;
  color: var(--c-ink);
  margin: 0;
}
.couture-feature-cell-tile .fct-body {
  font: 400 12.5px/1.5 var(--c-body);
  color: var(--c-ink-soft);
  margin: 0;
}

/* V6.388 #545 — Inline mini-action-popup-pill (small inline notification pill) */
.couture-action-popup-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px 8px 8px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: 0 14px 24px -10px color-mix(in oklab, var(--c-ink) 35%, transparent);
}
.couture-action-popup-pill .app-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, white 22%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-display);
}
.couture-action-popup-pill .app-icon::before { content: "✓"; font-size: 11px; }
.couture-action-popup-pill.--ok {
  background: #2ea043;
}
.couture-action-popup-pill.--err {
  background: #c92a2a;
}
.couture-action-popup-pill.--err .app-icon::before { content: "!"; }

/* V6.388 #546 — Inline mini-tip-help-line (compact help line w/ tip icon) */
.couture-tip-help-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, #f59e0b 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #f59e0b 26%, transparent);
  font: 600 11.5px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, #92400e 80%, var(--c-ink));
}
.couture-tip-help-line::before {
  content: "💡";
  font-size: 12px;
  filter: grayscale(0.3);
}
.couture-tip-help-line strong { font-weight: 800; }
.couture-tip-help-line a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 800;
}

/* V6.388 #547 — Inline mini-press-coverage-row (compact press logo + quote line) */
.couture-press-coverage-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-press-coverage-row .pcr-logo {
  font: 800 16px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  text-transform: uppercase;
  text-align: center;
}
.couture-press-coverage-row .pcr-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  padding-left: 16px;
}
.couture-press-coverage-row .pcr-quote {
  font: 500 13.5px/1.45 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  font-style: italic;
}
.couture-press-coverage-row .pcr-cite {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.388 #548 — Inline mini-deal-card-mini (compact deal/coupon card) */
.couture-deal-card-mini {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, #2ea043 8%, var(--c-paper)),
    var(--c-paper));
  border: 1px dashed color-mix(in oklab, #2ea043 50%, transparent);
}
.couture-deal-card-mini .dcm-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: color-mix(in oklab, #2ea043 18%, transparent);
  color: #2ea043;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
}
.couture-deal-card-mini .dcm-icon::before { content: "%"; }
.couture-deal-card-mini .dcm-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.couture-deal-card-mini .dcm-tag {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, #166534 75%, var(--c-ink));
}
.couture-deal-card-mini .dcm-msg {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
  color: var(--c-ink);
}
.couture-deal-card-mini .dcm-msg strong {
  color: color-mix(in oklab, #166534 75%, var(--c-ink));
  font-weight: 800;
}
.couture-deal-card-mini .dcm-code {
  font: 800 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--c-paper);
  border: 1px dashed color-mix(in oklab, #2ea043 50%, transparent);
  color: color-mix(in oklab, #166534 80%, var(--c-ink));
  cursor: pointer;
}

/* V6.388 #549 — Inline mini-step-tabs-vertical (vertical stepper as tab list) */
.couture-step-tabs-vertical {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 14px 0;
  position: relative;
  border-left: 2px solid color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-step-tabs-vertical .stv-tab {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  cursor: pointer;
  position: relative;
  margin-left: -14px;
}
.couture-step-tabs-vertical .stv-mark {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: -13px;
  z-index: 1;
}
.couture-step-tabs-vertical .stv-tab.--done .stv-mark {
  background: #2ea043;
  border-color: #2ea043;
  color: var(--c-paper);
}
.couture-step-tabs-vertical .stv-tab.--done .stv-mark::before { content: "✓"; }
.couture-step-tabs-vertical .stv-tab.--active .stv-mark {
  background: var(--c-paper);
  border-color: var(--c-accent);
  color: var(--c-ink);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-step-tabs-vertical .stv-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-step-tabs-vertical .stv-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
}
.couture-step-tabs-vertical .stv-tab.--done .stv-name,
.couture-step-tabs-vertical .stv-tab.--active .stv-name {
  color: var(--c-ink);
}
.couture-step-tabs-vertical .stv-meta {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #550 — Inline mini-mini-card-grid-quad (4-up tight content tile grid) */
.couture-card-grid-quad {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media (max-width: 720px) {
  .couture-card-grid-quad { grid-template-columns: repeat(2, 1fr); }
}
.couture-card-grid-quad .cgq-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  text-decoration: none;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-card-grid-quad .cgq-cell:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-card-grid-quad .cgq-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
  margin-bottom: 4px;
}
.couture-card-grid-quad .cgq-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-card-grid-quad .cgq-body {
  font: 400 12px/1.5 var(--c-body);
  color: var(--c-ink-soft);
}

/* V6.388 #551 — Inline mini-feature-card-stat (compact stat-led mini card) */
.couture-feature-card-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-feature-card-stat .fcs-num {
  font: 800 28px/1 var(--c-display);
  letter-spacing: -0.024em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-feature-card-stat .fcs-num small {
  font: 700 14px/1 var(--c-display);
  margin-left: 2px;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-feature-card-stat .fcs-key {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-feature-card-stat .fcs-foot {
  font: 500 12px/1.5 var(--c-body);
  color: var(--c-ink);
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 30%, transparent);
  padding-top: 8px;
  margin-top: 4px;
}

/* V6.388 #552 — Inline mini-mini-tag-icon-row (compact tag + icon list) */
.couture-mini-tag-icon-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.couture-mini-tag-icon-row .mtir-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px 5px 7px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-mini-tag-icon-row .mtir-tag .mtir-icon {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 9px/1 var(--c-display);
}
.couture-mini-tag-icon-row .mtir-tag.--accent {
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-mini-tag-icon-row .mtir-tag.--ink {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #553 — Inline mini-mini-author-quote (compact author quote w/ photo) */
.couture-author-quote-mini {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-paper) 92%, var(--c-bg)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-author-quote-mini .aqm-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display);
}
.couture-author-quote-mini .aqm-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-author-quote-mini .aqm-body {
  font: 500 13px/1.5 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
  margin: 0;
  font-style: italic;
}
.couture-author-quote-mini .aqm-cite {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-author-quote-mini .aqm-cite::before {
  content: "—";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 800;
}

/* V6.388 #554 — Inline mini-pill-banner-row (banner with pill cluster row) */
.couture-pill-banner-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 18px 20px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 76%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-pill-banner-row .pbr-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
}
.couture-pill-banner-row .pbr-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-pill-banner-row .pbr-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-pill-banner-row .pbr-pill:hover {
    transform: translateY(-1px);
    border-color: var(--c-accent);
  }
}
.couture-pill-banner-row .pbr-pill.--ink {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-pill-banner-row .pbr-pill.--ink::before {
  background: var(--c-accent);
}

/* V6.388 #555 — Inline mini-author-tag-card (bylined author tag card compact) */
.couture-author-tag-card {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px 6px 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-author-tag-card .atc-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 28%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
}
.couture-author-tag-card .atc-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-author-tag-card .atc-tag {
  font: 600 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-author-tag-card .atc-name {
  font: 700 12px/1.2 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

/* V6.388 #556 — Inline mini-action-icon-row (icon-only horizontal action bar) */
.couture-action-icon-row {
  display: inline-flex;
  align-items: stretch;
  gap: 4px;
  padding: 4px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-action-icon-row button {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 800 13px/1 var(--c-display);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-action-icon-row button:hover {
  background: var(--c-paper);
  color: var(--c-accent);
}
.couture-action-icon-row button.--active {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-action-icon-row .air-divider {
  width: 1px;
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
  margin: 4px 2px;
}

/* V6.388 #557 — Inline mini-link-grid-mini (3x2 small icon-link grid) */
.couture-link-grid-mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (max-width: 480px) {
  .couture-link-grid-mini { grid-template-columns: 1fr; }
}
.couture-link-grid-mini a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
  font: 600 12px/1.3 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: -0.005em;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .couture-link-grid-mini a:hover {
    transform: translateY(-1px);
    border-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  }
}
.couture-link-grid-mini a .lgm-icon {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-display);
  flex: 0 0 auto;
}

/* V6.388 #558 — Inline mini-cta-rounded-row (compact rounded CTA strip) */
.couture-cta-rounded-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 16px 22px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-cta-rounded-row .crr-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-cta-rounded-row .crr-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 60%, white);
}
.couture-cta-rounded-row .crr-msg {
  font: 700 14.5px/1.3 var(--c-display);
  letter-spacing: -0.008em;
}
.couture-cta-rounded-row .crr-msg strong { font-weight: 800; }
.couture-cta-rounded-row .crr-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 9px 18px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-cta-rounded-row .crr-cta:hover { transform: translateY(-1px); }

/* V6.388 #559 — Inline mini-progress-vertical-pipe (vertical step pipe) */
.couture-progress-pipe-vertical {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 6px 0;
  position: relative;
}
.couture-progress-pipe-vertical::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 7px;
  width: 2px;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-progress-pipe-vertical .ppv-stage {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 14px;
  padding: 8px 0;
  position: relative;
}
.couture-progress-pipe-vertical .ppv-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  z-index: 1;
}
.couture-progress-pipe-vertical .ppv-stage.--done .ppv-dot {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.couture-progress-pipe-vertical .ppv-stage.--done .ppv-dot::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 7px;
  width: 2px;
  height: calc(100% - 4px);
  background: var(--c-accent);
}
.couture-progress-pipe-vertical .ppv-stage.--active .ppv-dot {
  background: var(--c-paper);
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent) 18%, transparent);
}
.couture-progress-pipe-vertical .ppv-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-progress-pipe-vertical .ppv-name {
  font: 700 13px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-progress-pipe-vertical .ppv-time {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #560 — Inline mini-empty-state-illustrative (illustrated mini empty state) */
.couture-empty-state-illustrative {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  padding: 38px 24px;
  border-radius: 16px;
  background: linear-gradient(180deg,
    color-mix(in oklab, var(--c-bg) 75%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-empty-state-illustrative .esi-illustration {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 22%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 8%, var(--c-paper)));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 26px/1 var(--c-display);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-accent) 30%, transparent);
  position: relative;
}
.couture-empty-state-illustrative .esi-illustration::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px dashed color-mix(in oklab, var(--c-accent) 40%, transparent);
}
.couture-empty-state-illustrative .esi-title {
  font: 800 16px/1.3 var(--c-display);
  letter-spacing: -0.012em;
  color: var(--c-ink);
  margin: 6px 0 0;
}
.couture-empty-state-illustrative .esi-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 36ch;
  margin: 0;
}
.couture-empty-state-illustrative .esi-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 9px 16px;
  border-radius: 9px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  margin-top: 4px;
  transition: background 0.15s ease, transform 0.15s ease;
}
.couture-empty-state-illustrative .esi-cta:hover {
  transform: translateY(-1px);
  background: var(--c-accent);
}

/* V6.388 #561 — Inline mini-stat-divider-row (4-up stat strip with vertical dividers) */
.couture-stat-divider-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  padding: 16px 22px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-stat-divider-row .sdr-cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 18px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-stat-divider-row .sdr-cell:last-child { border-right: 0; }
.couture-stat-divider-row .sdr-cell:first-child { padding-left: 0; }
.couture-stat-divider-row .sdr-num {
  font: 800 22px/1 var(--c-display);
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-divider-row .sdr-num small {
  font: 700 12px/1 var(--c-display);
  margin-left: 2px;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-stat-divider-row .sdr-key {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}

/* V6.388 #562 — Inline mini-page-meta-line (page-level meta info row) */
.couture-page-meta-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 8px 0;
  font: 600 11.5px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-page-meta-line .pml-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.couture-page-meta-line .pml-item strong {
  color: var(--c-ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-page-meta-line .pml-item + .pml-item::before {
  content: "·";
  color: color-mix(in oklab, var(--c-line) 60%, transparent);
  margin-right: 8px;
}
.couture-page-meta-line .pml-item .pml-icon {
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 16%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 9px/1 var(--c-display);
}

/* V6.388 #563 — Inline mini-confirm-success (success confirmation icon panel) */
.couture-confirm-success-mini {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 28px 24px;
  border-radius: 14px;
  background: linear-gradient(180deg,
    color-mix(in oklab, #2ea043 8%, var(--c-paper)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, #2ea043 28%, transparent);
}
.couture-confirm-success-mini .csm-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #2ea043;
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 28px/1 var(--c-display);
  position: relative;
}
.couture-confirm-success-mini .csm-icon::before { content: "✓"; }
@media (prefers-reduced-motion: no-preference) {
  .couture-confirm-success-mini .csm-icon::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: inherit;
    opacity: 0.3;
    animation: couture-csm-pulse 2s ease-out infinite;
  }
}
@keyframes couture-csm-pulse {
  0% { transform: scale(1); opacity: 0.4; }
  100% { transform: scale(1.6); opacity: 0; }
}
.couture-confirm-success-mini .csm-title {
  font: 800 17px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-confirm-success-mini .csm-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 36ch;
  margin: 0;
}

/* V6.388 #564 — Inline mini-action-link-cluster (5-up small text link cluster) */
.couture-action-link-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding: 8px 0;
}
.couture-action-link-cluster a {
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  text-decoration: none;
  position: relative;
  padding: 4px 0;
  transition: color 0.15s ease;
}
.couture-action-link-cluster a:hover {
  color: var(--c-ink);
}
.couture-action-link-cluster a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1.5px;
  background: var(--c-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s ease;
}
.couture-action-link-cluster a:hover::after {
  transform: scaleX(1);
}
.couture-action-link-cluster a.--active {
  color: var(--c-ink);
}
.couture-action-link-cluster a.--active::after {
  transform: scaleX(1);
  background: var(--c-ink);
}

/* V6.388 #565 — Inline mini-tag-shape-cluster (mixed shape tag cluster) */
.couture-tag-shape-cluster {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
}
.couture-tag-shape-cluster .tsc-tag {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 30%, transparent);
  text-decoration: none;
}
.couture-tag-shape-cluster .tsc-tag.--round {
  padding: 6px 12px;
  border-radius: 999px;
}
.couture-tag-shape-cluster .tsc-tag.--square {
  padding: 6px 10px;
  border-radius: 5px;
}
.couture-tag-shape-cluster .tsc-tag.--cut {
  padding: 6px 14px;
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
.couture-tag-shape-cluster .tsc-tag.--accent {
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 32%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}
.couture-tag-shape-cluster .tsc-tag.--ink {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}

/* V6.388 #566 — Inline mini-collection-summary (compact collection meta header) */
.couture-collection-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 18px 22px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-paper) 92%, var(--c-bg)),
    var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-collection-summary .csm-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-collection-summary .csm-eyebrow {
  font: 700 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}
.couture-collection-summary .csm-title {
  font: 800 18px/1.25 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-collection-summary .csm-stats {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}
.couture-collection-summary .csm-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: right;
}
.couture-collection-summary .csm-num {
  font: 800 17px/1 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-collection-summary .csm-key {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}

/* V6.388 #567 — Inline mini-link-pill-list (5 horizontal compact link pills) */
.couture-link-pill-list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 28%, transparent);
}
.couture-link-pill-list a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 14px;
  border-radius: 999px;
  font: 700 11.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-link-pill-list a:hover { color: var(--c-ink); }
.couture-link-pill-list a.--active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 4px 8px -2px color-mix(in oklab, var(--c-ink) 22%, transparent);
}
.couture-link-pill-list a .lpl-num {
  font: 700 10px/1 var(--c-mono);
  color: color-mix(in oklab, var(--c-ink-soft) 80%, transparent);
  margin-left: 2px;
}
.couture-link-pill-list a.--active .lpl-num {
  color: var(--c-accent);
}

/* V6.388 #568 — Inline mini-trust-row (3-up trust badges row) */
.couture-trust-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 16px 0;
}
@media (max-width: 580px) {
  .couture-trust-row { grid-template-columns: 1fr; }
}
.couture-trust-row .ttr-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 78%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 24%, transparent);
}
.couture-trust-row .ttr-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: color-mix(in oklab, #2ea043 14%, transparent);
  color: #2ea043;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-trust-row .ttr-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.couture-trust-row .ttr-name {
  font: 700 12.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-trust-row .ttr-sub {
  font: 600 10.5px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #569 — Inline mini-feature-comparison-row (4-col compact comparison) */
.couture-feature-comparison-row {
  display: grid;
  grid-template-columns: 1fr repeat(3, 80px);
  gap: 0;
  padding: 11px 0;
  align-items: center;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 22%, transparent);
}
.couture-feature-comparison-row:last-child { border-bottom: 0; }
.couture-feature-comparison-row .fcr-name {
  font: 600 13px/1.4 var(--c-body);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-feature-comparison-row .fcr-name small {
  display: block;
  font: 500 11px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-feature-comparison-row .fcr-cell {
  text-align: center;
  font: 700 12.5px/1.3 var(--c-mono);
  color: var(--c-ink);
}
.couture-feature-comparison-row .fcr-cell.--check {
  color: #2ea043;
  font-size: 16px;
}
.couture-feature-comparison-row .fcr-cell.--cross {
  color: color-mix(in oklab, var(--c-line) 80%, transparent);
  font-size: 16px;
}
.couture-feature-comparison-row .fcr-cell.--limited {
  color: #d97706;
  font-size: 14px;
}

/* V6.388 #570 — Inline mini-image-row-3up (3-up image gallery row) */
.couture-image-row-3up {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
.couture-image-row-3up .ir3-cell {
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 60%, var(--c-paper));
  position: relative;
  cursor: pointer;
}
.couture-image-row-3up .ir3-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .couture-image-row-3up .ir3-cell:hover img { transform: scale(1.06); }
}
.couture-image-row-3up .ir3-cell .ir3-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 8px 10px;
  background: linear-gradient(180deg, transparent 60%, color-mix(in oklab, black 65%, transparent));
  color: white;
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0;
  transition: opacity 0.18s ease;
}
.couture-image-row-3up .ir3-cell:hover .ir3-overlay { opacity: 1; }

/* V6.388 #571 — Inline mini-feature-line-list (compact bullet feature list) */
.couture-feature-line-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 8px 0;
}
.couture-feature-line-list .fll-row {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: center;
  padding: 8px 0;
  font: 500 13.5px/1.5 var(--c-body);
  color: var(--c-ink);
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-feature-line-list .fll-row:last-child { border-bottom: 0; }
.couture-feature-line-list .fll-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-feature-line-list .fll-row strong {
  font-weight: 700;
  color: var(--c-ink);
}

/* V6.388 #572 — Inline mini-empty-cart (cart-specific empty state) */
.couture-empty-cart {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  padding: 36px 24px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 76%, var(--c-paper));
}
.couture-empty-cart .ept-cart-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 26px/1 var(--c-display);
}
.couture-empty-cart .ept-cart-icon::before { content: "🛒"; font-size: 28px; }
.couture-empty-cart .ept-title {
  font: 800 16px/1.3 var(--c-display);
  letter-spacing: -0.014em;
  color: var(--c-ink);
  margin: 0;
}
.couture-empty-cart .ept-body {
  font: 400 13px/1.55 var(--c-body);
  color: var(--c-ink-soft);
  max-width: 32ch;
  margin: 0;
}
.couture-empty-cart .ept-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 20px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  margin-top: 4px;
}

/* V6.388 #573 — Inline mini-team-mini-card (compact team member card w/ socials) */
.couture-team-mini-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 25%, transparent);
}
.couture-team-mini-card .tmc-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--c-accent) 30%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)));
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 17px/1 var(--c-display);
  flex: 0 0 auto;
}
.couture-team-mini-card .tmc-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.couture-team-mini-card .tmc-name {
  font: 700 13.5px/1.3 var(--c-display);
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-team-mini-card .tmc-role {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-team-mini-card .tmc-socials {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-team-mini-card .tmc-socials a {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 70%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-team-mini-card .tmc-socials a:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* V6.388 #574 — couture-press-mention-strip — horizontal press logos w/ quote */
.couture-press-mention-strip {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(16px, 3vw, 32px);
  align-items: center;
  padding: clamp(20px, 3vw, 32px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-press-mention-strip .pms-logo {
  font: 800 clamp(20px, 2.6vw, 28px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  padding-right: clamp(16px, 3vw, 32px);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-press-mention-strip .pms-quote {
  font: 500 clamp(13px, 1.6vw, 17px)/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-press-mention-strip .pms-quote em {
  font-style: italic;
  color: var(--c-ink);
}
@media (max-width: 640px) {
  .couture-press-mention-strip {
    grid-template-columns: 1fr;
  }
  .couture-press-mention-strip .pms-logo {
    border-right: none;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
    padding-right: 0;
    padding-bottom: 16px;
  }
}

/* V6.388 #575 — couture-roadmap-row — horizontal milestone scroller */
.couture-roadmap-row {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 8px 4px 16px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.couture-roadmap-row::-webkit-scrollbar {
  height: 6px;
}
.couture-roadmap-row::-webkit-scrollbar-thumb {
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
  border-radius: 4px;
}
.couture-roadmap-row .rmr-card {
  flex: 0 0 clamp(220px, 28vw, 280px);
  scroll-snap-align: start;
  padding: 18px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-roadmap-row .rmr-card .rmr-quarter {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-roadmap-row .rmr-card .rmr-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-roadmap-row .rmr-card .rmr-detail {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-roadmap-row .rmr-card[data-status="done"] {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  opacity: 0.78;
}
.couture-roadmap-row .rmr-card[data-status="active"] {
  border-color: var(--c-accent, var(--c-ink));
  box-shadow: 0 4px 16px -8px color-mix(in oklab, var(--c-accent, var(--c-ink)) 40%, transparent);
}

/* V6.388 #576 — couture-mini-changelog — vertical version log */
.couture-mini-changelog {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(18px, 2.4vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  font-family: var(--c-sans);
}
.couture-mini-changelog .mcl-entry {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-mini-changelog .mcl-entry:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.couture-mini-changelog .mcl-version {
  font: 700 12px/1.2 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-mini-changelog .mcl-text {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-mini-changelog .mcl-text strong {
  color: var(--c-ink);
  font-weight: 600;
}
@media (max-width: 520px) {
  .couture-mini-changelog .mcl-entry {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* V6.388 #577 — couture-faq-accordion-flat — minimal flat-style FAQ list */
.couture-faq-accordion-flat {
  display: flex;
  flex-direction: column;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-faq-accordion-flat details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding: 14px 4px;
}
.couture-faq-accordion-flat summary {
  list-style: none;
  cursor: pointer;
  font: 600 clamp(14px, 1.6vw, 16px)/1.4 var(--c-sans);
  color: var(--c-ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.couture-faq-accordion-flat summary::-webkit-details-marker { display: none; }
.couture-faq-accordion-flat summary::after {
  content: "+";
  font: 400 22px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.2s ease;
}
.couture-faq-accordion-flat details[open] summary::after {
  transform: rotate(45deg);
}
.couture-faq-accordion-flat .faqf-body {
  margin-top: 10px;
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #578 — couture-tag-chip-row — inline filter / category chips */
.couture-tag-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.couture-tag-chip-row .tcr-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  background: var(--c-paper);
  color: var(--c-ink-soft);
  font: 500 12px/1.2 var(--c-sans);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.couture-tag-chip-row .tcr-chip:hover {
  border-color: var(--c-ink);
  color: var(--c-ink);
}
.couture-tag-chip-row .tcr-chip[aria-pressed="true"],
.couture-tag-chip-row .tcr-chip.is-active {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-tag-chip-row .tcr-chip .tcr-count {
  font: 600 11px/1 var(--c-mono);
  opacity: 0.7;
}

/* V6.388 #579 — couture-quote-spotlight — full-bleed pull quote with attribution */
.couture-quote-spotlight {
  position: relative;
  padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 48px);
  text-align: center;
  border-radius: 18px;
  background: color-mix(in oklab, var(--c-paper) 94%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-quote-spotlight::before {
  content: "\201C";
  position: absolute;
  top: 8px;
  left: clamp(16px, 4vw, 32px);
  font: 800 clamp(80px, 14vw, 160px)/1 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, var(--c-ink) 8%, transparent);
  pointer-events: none;
}
.couture-quote-spotlight .qs-text {
  font: 500 clamp(18px, 2.4vw, 28px)/1.45 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.01em;
  max-width: 720px;
  margin: 0 auto 20px;
  position: relative;
}
.couture-quote-spotlight .qs-author {
  font: 700 13px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-quote-spotlight .qs-role {
  margin-top: 4px;
  font: 400 12px/1.2 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #580 — couture-feature-spotlight-half — half-image half-text feature */
.couture-feature-spotlight-half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  padding: clamp(24px, 4vw, 56px);
  border-radius: 20px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-feature-spotlight-half .fsh-media {
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 85%, var(--c-paper));
}
.couture-feature-spotlight-half .fsh-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-feature-spotlight-half .fsh-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 12px;
}
.couture-feature-spotlight-half .fsh-title {
  font: 700 clamp(22px, 3vw, 36px)/1.15 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.couture-feature-spotlight-half .fsh-body {
  font: 400 15px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}
.couture-feature-spotlight-half[data-orient="reverse"] .fsh-media {
  order: 2;
}
@media (max-width: 720px) {
  .couture-feature-spotlight-half {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #581 — couture-stat-grid-quad — 4-up stat tile grid */
.couture-stat-grid-quad {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 16px;
  overflow: hidden;
}
.couture-stat-grid-quad .sgq-cell {
  padding: clamp(20px, 3vw, 36px) clamp(16px, 2.4vw, 24px);
  background: var(--c-paper);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}
.couture-stat-grid-quad .sgq-cell .sgq-num {
  font: 800 clamp(28px, 4vw, 48px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
}
.couture-stat-grid-quad .sgq-cell .sgq-label {
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-stat-grid-quad .sgq-cell .sgq-delta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  padding: 3px 7px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
}
@media (max-width: 720px) {
  .couture-stat-grid-quad { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 380px) {
  .couture-stat-grid-quad { grid-template-columns: 1fr; }
}

/* V6.388 #582 — couture-loader-dot-trio — accessible loading indicator */
.couture-loader-dot-trio {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-loader-dot-trio span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.4;
  animation: ldt-pulse 1.2s ease-in-out infinite;
}
.couture-loader-dot-trio span:nth-child(2) { animation-delay: 0.15s; }
.couture-loader-dot-trio span:nth-child(3) { animation-delay: 0.3s; }
@keyframes ldt-pulse {
  0%, 80%, 100% { opacity: 0.3; transform: scale(0.85); }
  40% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-loader-dot-trio span { animation: none; opacity: 0.7; }
}

/* V6.388 #583 — couture-pricing-row-compact — single-line plan summary */
.couture-pricing-row-compact {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-pricing-row-compact:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-pricing-row-compact .prc-name {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-pricing-row-compact .prc-name small {
  display: block;
  font: 400 12px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-pricing-row-compact .prc-price {
  font: 700 18px/1 var(--c-mono);
  color: var(--c-ink);
}
.couture-pricing-row-compact .prc-price small {
  font: 400 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-pricing-row-compact .prc-cta {
  font: 600 13px/1 var(--c-sans);
  color: var(--c-paper);
  background: var(--c-ink);
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration: none;
}
.couture-pricing-row-compact .prc-cta:hover {
  background: var(--c-accent, var(--c-ink));
}
@media (max-width: 540px) {
  .couture-pricing-row-compact {
    grid-template-columns: 1fr auto;
  }
  .couture-pricing-row-compact .prc-cta {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #584 — couture-blog-card-mini — small horizontal blog card */
.couture-blog-card-mini {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 14px;
  padding: 12px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-blog-card-mini:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-blog-card-mini .bcm-thumb {
  width: 96px;
  height: 96px;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-blog-card-mini .bcm-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-blog-card-mini .bcm-meta {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-bottom: 6px;
}
.couture-blog-card-mini .bcm-title {
  font: 700 14px/1.35 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-blog-card-mini .bcm-excerpt {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* V6.388 #585 — couture-step-tracker-line — horizontal step progress */
.couture-step-tracker-line {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
}
.couture-step-tracker-line .stl-step {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  gap: 8px;
}
.couture-step-tracker-line .stl-step::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 50%;
  width: 100%;
  height: 2px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
  z-index: 0;
}
.couture-step-tracker-line .stl-step:last-child::before { display: none; }
.couture-step-tracker-line .stl-step .stl-dot {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 75%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-step-tracker-line .stl-step .stl-label {
  font: 500 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  text-align: center;
}
.couture-step-tracker-line .stl-step[data-state="done"] .stl-dot {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: var(--c-paper);
}
.couture-step-tracker-line .stl-step[data-state="done"]::before {
  background: var(--c-ink);
}
.couture-step-tracker-line .stl-step[data-state="active"] .stl-dot {
  border-color: var(--c-accent, var(--c-ink));
  color: var(--c-accent, var(--c-ink));
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
}
.couture-step-tracker-line .stl-step[data-state="active"] .stl-label {
  color: var(--c-ink);
  font-weight: 600;
}

/* V6.388 #586 — couture-toggle-switch — accessible binary toggle */
.couture-toggle-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}
.couture-toggle-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.couture-toggle-switch .ts-track {
  width: 40px;
  height: 22px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
  position: relative;
  transition: background 0.2s ease;
}
.couture-toggle-switch .ts-track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--c-paper);
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  transition: transform 0.2s ease;
}
.couture-toggle-switch input:checked + .ts-track {
  background: var(--c-accent, var(--c-ink));
}
.couture-toggle-switch input:checked + .ts-track::after {
  transform: translateX(18px);
}
.couture-toggle-switch input:focus-visible + .ts-track {
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
}
.couture-toggle-switch .ts-label {
  font: 500 13px/1.2 var(--c-sans);
  color: var(--c-ink);
}

/* V6.388 #587 — couture-table-clean — minimal data table */
.couture-table-clean {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--c-sans);
}
.couture-table-clean th,
.couture-table-clean td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-table-clean thead th {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  border-bottom: 2px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-table-clean tbody td {
  font: 400 14px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-table-clean tbody tr:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-table-clean .tcl-num {
  font-family: var(--c-mono);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-table-clean .tcl-pill {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 600 11px/1.2 var(--c-mono);
  background: color-mix(in oklab, var(--c-paper) 85%, var(--c-bg));
  color: var(--c-ink-soft);
}

/* V6-388 #588 — couture-divider-meta — text-bisected divider */
.couture-divider-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: clamp(20px, 3vw, 36px) 0;
}
.couture-divider-meta::before,
.couture-divider-meta::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in oklab, var(--c-line) 80%, transparent),
    transparent
  );
}
.couture-divider-meta .dvm-text {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  white-space: nowrap;
}
.couture-divider-meta[data-align="left"]::before {
  flex: 0 0 32px;
}
.couture-divider-meta[data-align="right"]::after {
  flex: 0 0 32px;
}

/* V6.388 #589 — couture-icon-callout-row — 3-up icon + headline cells */
.couture-icon-callout-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 3vw, 32px);
}
.couture-icon-callout-row .icr-cell {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}
.couture-icon-callout-row .icr-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, var(--c-paper));
  color: var(--c-accent, var(--c-ink));
  font: 700 20px/1 var(--c-display, var(--c-sans));
}
.couture-icon-callout-row .icr-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-icon-callout-row .icr-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-icon-callout-row { grid-template-columns: 1fr; }
}

/* V6.388 #590 — couture-floating-cta — sticky bottom-corner action button */
.couture-floating-cta {
  position: fixed;
  bottom: clamp(16px, 3vw, 24px);
  right: clamp(16px, 3vw, 24px);
  z-index: 50;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  box-shadow:
    0 6px 18px -4px color-mix(in oklab, var(--c-ink) 50%, transparent),
    0 2px 6px -2px color-mix(in oklab, var(--c-ink) 30%, transparent);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.couture-floating-cta:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 28px -8px color-mix(in oklab, var(--c-ink) 55%, transparent),
    0 4px 10px -2px color-mix(in oklab, var(--c-ink) 35%, transparent);
}
.couture-floating-cta::after {
  content: "\2192";
  font-family: var(--c-mono);
  transition: transform 0.2s ease;
}
.couture-floating-cta:hover::after {
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-floating-cta,
  .couture-floating-cta::after { transition: none; }
}

/* V6.388 #591 — couture-callout-warning — non-destructive warning banner */
.couture-callout-warning {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: color-mix(in oklab, #f59e0b 14%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #f59e0b 35%, transparent);
  color: color-mix(in oklab, #92400e 75%, var(--c-ink));
  font: 500 14px/1.5 var(--c-sans);
}
.couture-callout-warning .ccw-icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f59e0b;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-mono);
}
.couture-callout-warning .ccw-title {
  display: block;
  font: 700 13px/1.3 var(--c-sans);
  margin-bottom: 4px;
}

/* V6.388 #592 — couture-callout-success — positive confirmation banner */
.couture-callout-success {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: color-mix(in oklab, #10b981 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #10b981 32%, transparent);
  color: color-mix(in oklab, #047857 75%, var(--c-ink));
  font: 500 14px/1.5 var(--c-sans);
}
.couture-callout-success .ccs-icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #10b981;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-mono);
}
.couture-callout-success .ccs-title {
  display: block;
  font: 700 13px/1.3 var(--c-sans);
  margin-bottom: 4px;
}

/* V6.388 #593 — couture-callout-info — neutral information banner */
.couture-callout-info {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: color-mix(in oklab, #3b82f6 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, #3b82f6 32%, transparent);
  color: color-mix(in oklab, #1e3a8a 70%, var(--c-ink));
  font: 500 14px/1.5 var(--c-sans);
}
.couture-callout-info .cci-icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #3b82f6;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 13px/1 var(--c-mono);
}
.couture-callout-info .cci-title {
  display: block;
  font: 700 13px/1.3 var(--c-sans);
  margin-bottom: 4px;
}
.couture-callout-info a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* V6.388 #594 — couture-rating-stars — star rating display */
.couture-rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font: 700 14px/1 var(--c-mono);
  color: #f59e0b;
}
.couture-rating-stars .crs-star {
  width: 14px;
  height: 14px;
  display: inline-block;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/></svg>") center/contain no-repeat;
}
.couture-rating-stars .crs-star.is-empty {
  color: color-mix(in oklab, var(--c-line) 90%, transparent);
}
.couture-rating-stars .crs-num {
  margin-left: 6px;
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
}
.couture-rating-stars .crs-count {
  margin-left: 4px;
  font: 400 12px/1 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #595 — couture-avatar-stack — overlapping user avatars w/ +N */
.couture-avatar-stack {
  display: inline-flex;
  align-items: center;
}
.couture-avatar-stack .avs-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--c-paper);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  margin-left: -10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink);
  overflow: hidden;
  position: relative;
  transition: transform 0.15s ease, z-index 0s 0.15s;
}
.couture-avatar-stack .avs-avatar:first-child { margin-left: 0; }
.couture-avatar-stack .avs-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-avatar-stack .avs-avatar:hover {
  transform: translateY(-2px);
  z-index: 1;
  transition: transform 0.15s ease;
}
.couture-avatar-stack .avs-more {
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 10px/1 var(--c-mono);
}
.couture-avatar-stack .avs-meta {
  margin-left: 10px;
  font: 500 13px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-avatar-stack .avs-meta strong {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #596 — couture-banner-cookie — bottom-anchor cookie consent */
.couture-banner-cookie {
  position: fixed;
  bottom: clamp(12px, 2vw, 20px);
  left: clamp(12px, 2vw, 20px);
  right: clamp(12px, 2vw, 20px);
  z-index: 60;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(12px, 3vw, 24px);
  align-items: center;
  padding: clamp(14px, 2.4vw, 22px) clamp(16px, 2.8vw, 26px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  box-shadow:
    0 8px 24px -8px rgba(0,0,0,0.18),
    0 2px 6px -2px rgba(0,0,0,0.08);
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 720px;
  margin-inline: auto;
}
.couture-banner-cookie a {
  color: var(--c-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.couture-banner-cookie .bnc-actions {
  display: inline-flex;
  gap: 8px;
}
.couture-banner-cookie .bnc-btn {
  padding: 8px 14px;
  border-radius: 8px;
  font: 600 13px/1 var(--c-sans);
  border: none;
  cursor: pointer;
}
.couture-banner-cookie .bnc-btn.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-banner-cookie .bnc-btn.is-secondary {
  background: transparent;
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
@media (max-width: 540px) {
  .couture-banner-cookie {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #597 — couture-list-numbered — large-numeral ordered list */
.couture-list-numbered {
  display: flex;
  flex-direction: column;
  gap: 18px;
  counter-reset: lnm;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-list-numbered li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
  counter-increment: lnm;
}
.couture-list-numbered li::before {
  content: counter(lnm, decimal-leading-zero);
  font: 800 clamp(28px, 4vw, 40px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.04em;
  color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 70%, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-list-numbered .lnm-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-list-numbered .lnm-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #598 — couture-search-input — clean inline search field */
.couture-search-input {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  max-width: 360px;
}
.couture-search-input:focus-within {
  border-color: var(--c-ink);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-ink) 12%, transparent);
}
.couture-search-input .csi-icon {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid var(--c-ink-soft);
  position: relative;
  flex: 0 0 14px;
}
.couture-search-input .csi-icon::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 100%;
  width: 5px;
  height: 1.5px;
  background: var(--c-ink-soft);
  transform: rotate(45deg);
  transform-origin: 0 0;
}
.couture-search-input input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font: 400 14px/1.4 var(--c-sans);
  color: var(--c-ink);
  padding: 2px 0;
  min-width: 0;
}
.couture-search-input input::placeholder {
  color: var(--c-ink-soft);
}
.couture-search-input kbd {
  font: 600 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  padding: 3px 5px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #599 — couture-comparison-toggle — pill-style A/B switch */
.couture-comparison-toggle {
  display: inline-flex;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
}
.couture-comparison-toggle button {
  flex: 1;
  border: none;
  background: transparent;
  padding: 8px 18px;
  border-radius: 999px;
  cursor: pointer;
  font: 600 13px/1 var(--c-sans);
  color: var(--c-ink-soft);
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-comparison-toggle button[aria-pressed="true"],
.couture-comparison-toggle button.is-active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 1px 4px -1px rgba(0,0,0,0.12);
}
.couture-comparison-toggle button .cmt-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono);
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 20%, transparent);
  color: var(--c-accent, var(--c-ink));
}

/* V6.388 #600 — 🎉 600 MILESTONE — couture-milestone-marker — anchored chapter ribbon */
.couture-milestone-marker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px 6px 12px;
  border-radius: 0 999px 999px 0;
  background: linear-gradient(
    90deg,
    var(--c-accent, var(--c-ink)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 60%, var(--c-ink))
  );
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-left: -16px;
  position: relative;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-accent, var(--c-ink)) 40%, transparent);
}
.couture-milestone-marker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  border-style: solid;
  border-width: 6px 8px 0 0;
  border-color: color-mix(in oklab, var(--c-ink) 80%, black) transparent transparent transparent;
}
.couture-milestone-marker .cmm-num {
  font: 800 14px/1 var(--c-display, var(--c-mono));
  letter-spacing: -0.02em;
}
.couture-milestone-marker .cmm-label {
  font: 500 11px/1 var(--c-sans);
  text-transform: none;
  letter-spacing: 0;
  opacity: 0.92;
}

/* V6.388 #601 — couture-image-mosaic-4 — irregular 4-image mosaic */
.couture-image-mosaic-4 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;
}
.couture-image-mosaic-4 .imm-cell {
  position: relative;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-image-mosaic-4 .imm-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-image-mosaic-4 .imm-cell:hover img {
  transform: scale(1.04);
}
.couture-image-mosaic-4 .imm-cell:nth-child(1) {
  grid-row: 1 / 3;
}
.couture-image-mosaic-4 .imm-cell:nth-child(4) {
  grid-column: 1 / 3;
  grid-row: auto;
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-image-mosaic-4 .imm-cell img { transition: none; }
}

/* V6.388 #602 — couture-link-list-bullets — bordered nav-style link list */
.couture-link-list-bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.couture-link-list-bullets li {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-link-list-bullets li:last-child { border-bottom: none; }
.couture-link-list-bullets a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 4px;
  font: 500 15px/1.3 var(--c-sans);
  color: var(--c-ink);
  text-decoration: none;
  transition: color 0.15s ease, padding 0.15s ease;
}
.couture-link-list-bullets a:hover {
  color: var(--c-accent, var(--c-ink));
  padding-left: 8px;
}
.couture-link-list-bullets a::after {
  content: "\2192";
  font: 500 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.15s ease;
}
.couture-link-list-bullets a:hover::after {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(3px);
}
.couture-link-list-bullets .llb-meta {
  font: 400 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: auto;
  margin-right: 12px;
}

/* V6.388 #603 — couture-feature-strip-vertical — vertical feature stack w/ vertical accent line */
.couture-feature-strip-vertical {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding-left: 32px;
}
.couture-feature-strip-vertical::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 80%, transparent),
    color-mix(in oklab, var(--c-line) 70%, transparent)
  );
  border-radius: 2px;
}
.couture-feature-strip-vertical .fsv-item {
  position: relative;
}
.couture-feature-strip-vertical .fsv-item::before {
  content: "";
  position: absolute;
  left: -28px;
  top: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-accent, var(--c-ink));
}
.couture-feature-strip-vertical .fsv-item .fsv-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-feature-strip-vertical .fsv-item .fsv-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #604 — couture-sect-eyebrow-line — anchored eyebrow with leading line */
.couture-sect-eyebrow-line {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 14px;
}
.couture-sect-eyebrow-line::before {
  content: "";
  width: 28px;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}

/* V6.388 #605 — couture-pull-stat — large standalone stat */
.couture-pull-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: clamp(20px, 3vw, 32px) 0;
  border-left: 3px solid var(--c-accent, var(--c-ink));
  padding-left: clamp(16px, 3vw, 24px);
}
.couture-pull-stat .pst-num {
  font: 800 clamp(40px, 7vw, 80px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.04em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-pull-stat .pst-num small {
  font-size: 0.6em;
  color: var(--c-ink-soft);
  font-weight: 600;
  letter-spacing: -0.02em;
}
.couture-pull-stat .pst-label {
  font: 600 13px/1.4 var(--c-sans);
  color: var(--c-ink);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-pull-stat .pst-source {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  font-style: italic;
}

/* V6.388 #606 — couture-resource-card — downloadable / external resource link card */
.couture-resource-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-resource-card:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-resource-card .rcc-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper));
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
}
.couture-resource-card .rcc-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-resource-card .rcc-meta {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-resource-card .rcc-action {
  font: 600 12px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
}
.couture-resource-card .rcc-action::after {
  content: "\2192";
  margin-left: 4px;
  display: inline-block;
  transition: transform 0.15s ease;
}
.couture-resource-card:hover .rcc-action::after {
  transform: translateX(3px);
}

/* V6.388 #607 — couture-grid-portfolio-3 — uniform 3-up portfolio thumbnails */
.couture-grid-portfolio-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 2vw, 22px);
}
.couture-grid-portfolio-3 .gp3-cell {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: block;
  text-decoration: none;
  color: inherit;
}
.couture-grid-portfolio-3 .gp3-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.couture-grid-portfolio-3 .gp3-cell:hover img {
  transform: scale(1.05);
}
.couture-grid-portfolio-3 .gp3-cell .gp3-overlay {
  position: absolute;
  inset: auto 0 0 0;
  padding: 14px 16px;
  background: linear-gradient(0deg, rgba(0,0,0,0.7), transparent);
  color: #fff;
}
.couture-grid-portfolio-3 .gp3-cell .gp3-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
}
.couture-grid-portfolio-3 .gp3-cell .gp3-meta {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.85;
  margin-top: 4px;
}
@media (max-width: 720px) {
  .couture-grid-portfolio-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .couture-grid-portfolio-3 { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-portfolio-3 .gp3-cell img { transition: none; }
}

/* V6.388 #608 — couture-cta-double — primary + secondary CTA pair */
.couture-cta-double {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.couture-cta-double .ctd-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 10px;
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
  cursor: pointer;
  border: 1px solid transparent;
}
.couture-cta-double .ctd-btn.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-cta-double .ctd-btn.is-primary:hover {
  background: var(--c-accent, var(--c-ink));
  transform: translateY(-1px);
}
.couture-cta-double .ctd-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 75%, transparent);
}
.couture-cta-double .ctd-btn.is-secondary:hover {
  border-color: var(--c-ink);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-cta-double .ctd-btn .ctd-icon {
  font: 700 14px/1 var(--c-mono);
  transition: transform 0.15s ease;
}
.couture-cta-double .ctd-btn:hover .ctd-icon {
  transform: translateX(2px);
}

/* V6.388 #609 — couture-skeleton-bar — loading-state skeleton placeholder */
.couture-skeleton-bar {
  display: block;
  height: 14px;
  border-radius: 6px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-bg) 80%, var(--c-paper)) 0%,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg)) 50%,
    color-mix(in oklab, var(--c-bg) 80%, var(--c-paper)) 100%
  );
  background-size: 200% 100%;
  animation: csb-shimmer 1.5s ease-in-out infinite;
}
.couture-skeleton-bar.is-tall { height: 22px; }
.couture-skeleton-bar.is-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.couture-skeleton-bar.is-half { width: 50%; }
.couture-skeleton-bar.is-third { width: 33%; }
.couture-skeleton-bar.is-three-quarters { width: 75%; }
.couture-skeleton-bar + .couture-skeleton-bar { margin-top: 8px; }
@keyframes csb-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-skeleton-bar { animation: none; opacity: 0.7; }
}

/* V6.388 #610 — couture-tabs-underline — minimal underlined tab nav */
.couture-tabs-underline {
  display: flex;
  gap: 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-tabs-underline button,
.couture-tabs-underline a {
  flex: 0 0 auto;
  padding: 12px 18px;
  border: none;
  background: transparent;
  font: 600 14px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  cursor: pointer;
  text-decoration: none;
  position: relative;
  transition: color 0.15s ease;
}
.couture-tabs-underline button:hover,
.couture-tabs-underline a:hover {
  color: var(--c-ink);
}
.couture-tabs-underline button[aria-selected="true"],
.couture-tabs-underline a[aria-current="page"],
.couture-tabs-underline .is-active {
  color: var(--c-ink);
}
.couture-tabs-underline button[aria-selected="true"]::after,
.couture-tabs-underline a[aria-current="page"]::after,
.couture-tabs-underline .is-active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 2px;
  background: var(--c-accent, var(--c-ink));
  border-radius: 2px;
}
.couture-tabs-underline .ctu-count {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  font: 700 10px/1.5 var(--c-mono);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
}

/* V6.388 #611 — couture-process-stepper-vert — vertical process timeline */
.couture-process-stepper-vert {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-left: 32px;
  position: relative;
}
.couture-process-stepper-vert::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 18px;
  bottom: 18px;
  width: 2px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-process-stepper-vert .psv-step {
  position: relative;
}
.couture-process-stepper-vert .psv-step::before {
  content: "";
  position: absolute;
  left: -32px;
  top: 4px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 75%, transparent);
}
.couture-process-stepper-vert .psv-step[data-state="done"]::before {
  background: var(--c-ink);
  border-color: var(--c-ink);
}
.couture-process-stepper-vert .psv-step[data-state="done"]::after {
  content: "\2713";
  position: absolute;
  left: -27px;
  top: 7px;
  font: 800 14px/1 var(--c-mono);
  color: var(--c-paper);
}
.couture-process-stepper-vert .psv-step[data-state="active"]::before {
  border-color: var(--c-accent, var(--c-ink));
  box-shadow: 0 0 0 5px color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
}
.couture-process-stepper-vert .psv-step .psv-time {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-bottom: 4px;
}
.couture-process-stepper-vert .psv-step .psv-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-process-stepper-vert .psv-step .psv-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #612 — couture-card-elevation — accent-elevated content card */
.couture-card-elevation {
  position: relative;
  padding: clamp(20px, 2.8vw, 32px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  box-shadow:
    0 8px 24px -12px color-mix(in oklab, var(--c-ink) 22%, transparent),
    0 2px 6px -2px color-mix(in oklab, var(--c-ink) 12%, transparent);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.couture-card-elevation:hover {
  transform: translateY(-3px);
  box-shadow:
    0 16px 36px -14px color-mix(in oklab, var(--c-ink) 28%, transparent),
    0 4px 10px -2px color-mix(in oklab, var(--c-ink) 14%, transparent);
}
.couture-card-elevation::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid transparent;
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent), transparent 60%) border-box;
  -webkit-mask: linear-gradient(#000, #000) padding-box, linear-gradient(#000, #000);
          mask: linear-gradient(#000, #000) padding-box, linear-gradient(#000, #000);
  -webkit-mask-composite: destination-out;
          mask-composite: exclude;
  pointer-events: none;
  opacity: 0.55;
}
.couture-card-elevation .cce-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 12px;
}
.couture-card-elevation .cce-title {
  font: 700 clamp(18px, 2.2vw, 22px)/1.25 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 10px;
}
.couture-card-elevation .cce-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-elevation { transition: none; }
  .couture-card-elevation:hover { transform: none; }
}

/* V6.388 #613 — couture-tooltip-wrap — clean attribute-driven tooltip */
.couture-tooltip-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.couture-tooltip-wrap[data-tip] {
  cursor: help;
}
.couture-tooltip-wrap[data-tip]::before,
.couture-tooltip-wrap[data-tip]::after {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
  bottom: calc(100% + 8px);
  left: 50%;
}
.couture-tooltip-wrap[data-tip]::before {
  content: attr(data-tip);
  transform: translateX(-50%) translateY(4px);
  padding: 6px 10px;
  border-radius: 6px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 500 12px/1.3 var(--c-sans);
  white-space: nowrap;
  max-width: 280px;
  z-index: 10;
}
.couture-tooltip-wrap[data-tip]::after {
  content: "";
  transform: translateX(-50%) translateY(4px);
  border: 5px solid transparent;
  border-top-color: var(--c-ink);
  bottom: calc(100% - 2px);
  z-index: 10;
}
.couture-tooltip-wrap[data-tip]:hover::before,
.couture-tooltip-wrap[data-tip]:hover::after,
.couture-tooltip-wrap[data-tip]:focus-visible::before,
.couture-tooltip-wrap[data-tip]:focus-visible::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .couture-tooltip-wrap[data-tip]::before,
  .couture-tooltip-wrap[data-tip]::after { transition: opacity 0.15s ease; }
}

/* V6.388 #614 — couture-banner-promo — full-width announcement bar */
.couture-banner-promo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 16px;
  background: linear-gradient(
    90deg,
    var(--c-ink),
    color-mix(in oklab, var(--c-ink) 75%, var(--c-accent, var(--c-ink)))
  );
  color: var(--c-paper);
  font: 500 13px/1.4 var(--c-sans);
  text-align: center;
  flex-wrap: wrap;
}
.couture-banner-promo .bnp-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: color-mix(in oklab, var(--c-paper) 22%, transparent);
}
.couture-banner-promo a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 600;
}
.couture-banner-promo .bnp-close {
  margin-left: auto;
  background: none;
  border: none;
  color: inherit;
  font: 500 18px/1 var(--c-mono);
  cursor: pointer;
  padding: 0 4px;
  opacity: 0.75;
}
.couture-banner-promo .bnp-close:hover { opacity: 1; }

/* V6.388 #615 — couture-spec-row — left-label / right-value spec line */
.couture-spec-row {
  display: grid;
  grid-template-columns: minmax(120px, 30%) 1fr;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-spec-row:last-child { border-bottom: none; }
.couture-spec-row .spr-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  align-self: start;
}
.couture-spec-row .spr-value {
  font: 400 14px/1.45 var(--c-sans);
  color: var(--c-ink);
}
.couture-spec-row .spr-value strong {
  font-weight: 700;
}
.couture-spec-row .spr-value code {
  font: 600 12px/1.3 var(--c-mono);
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
}
@media (max-width: 540px) {
  .couture-spec-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* V6.388 #616 — couture-form-input-group — labeled input field with hint */
.couture-form-input-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-form-input-group label {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-form-input-group label .fig-required {
  color: #ef4444;
  margin-left: 2px;
}
.couture-form-input-group input,
.couture-form-input-group textarea,
.couture-form-input-group select {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  background: var(--c-paper);
  color: var(--c-ink);
  font: 400 14px/1.4 var(--c-sans);
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.couture-form-input-group input:focus,
.couture-form-input-group textarea:focus,
.couture-form-input-group select:focus {
  border-color: var(--c-ink);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-ink) 12%, transparent);
}
.couture-form-input-group .fig-hint {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-form-input-group .fig-error {
  font: 500 12px/1.4 var(--c-sans);
  color: #ef4444;
}
.couture-form-input-group[data-state="error"] input,
.couture-form-input-group[data-state="error"] textarea {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px color-mix(in oklab, #ef4444 14%, transparent);
}

/* V6.388 #617 — couture-author-byline — article author w/ avatar + meta */
.couture-author-byline {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--c-sans);
}
.couture-author-byline .ayb-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-author-byline .ayb-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-author-byline .ayb-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.couture-author-byline .ayb-name {
  font: 700 14px/1.2 var(--c-sans);
  color: var(--c-ink);
}
.couture-author-byline .ayb-meta {
  font: 400 12px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-author-byline .ayb-meta time {
  font-family: var(--c-mono);
  font-size: 11px;
}
.couture-author-byline .ayb-meta .ayb-dot {
  margin: 0 6px;
  opacity: 0.4;
}

/* V6.388 #618 — couture-tile-meta-overlay — image tile w/ corner-meta overlay */
.couture-tile-meta-overlay {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  text-decoration: none;
  color: inherit;
}
.couture-tile-meta-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.couture-tile-meta-overlay:hover img {
  transform: scale(1.04);
}
.couture-tile-meta-overlay .tmo-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 88%, transparent);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  font: 700 10px/1.2 var(--c-mono);
  color: var(--c-ink);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-tile-meta-overlay .tmo-bottom {
  position: absolute;
  inset: auto 12px 12px 12px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 12px;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
.couture-tile-meta-overlay .tmo-title {
  font: 700 16px/1.25 var(--c-display, var(--c-sans));
}
.couture-tile-meta-overlay .tmo-meta {
  font: 600 11px/1 var(--c-mono);
  opacity: 0.92;
  flex-shrink: 0;
}
@media (prefers-reduced-motion: reduce) {
  .couture-tile-meta-overlay img { transition: none; }
}

/* V6.388 #619 — couture-cta-banner-tinted — accent-tinted full CTA banner */
.couture-cta-banner-tinted {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
  padding: clamp(28px, 4vw, 48px);
  border-radius: 18px;
  background:
    radial-gradient(ellipse at top right,
      color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent) 0%,
      transparent 60%),
    color-mix(in oklab, var(--c-paper) 90%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-cta-banner-tinted .ctb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 10px;
}
.couture-cta-banner-tinted .ctb-title {
  font: 700 clamp(22px, 3vw, 32px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-cta-banner-tinted .ctb-body {
  font: 400 15px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 520px;
}
.couture-cta-banner-tinted .ctb-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  border-radius: 12px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 15px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-cta-banner-tinted .ctb-action:hover {
  transform: translateY(-2px);
}
@media (max-width: 720px) {
  .couture-cta-banner-tinted {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-cta-banner-tinted .ctb-body { margin-inline: auto; }
}

/* V6.388 #620 — couture-card-flippable — front/back flippable info card */
.couture-card-flippable {
  perspective: 1000px;
  aspect-ratio: 4 / 3;
  cursor: pointer;
}
.couture-card-flippable .cfp-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  transform-style: preserve-3d;
}
.couture-card-flippable:hover .cfp-inner,
.couture-card-flippable:focus-within .cfp-inner {
  transform: rotateY(180deg);
}
.couture-card-flippable .cfp-front,
.couture-card-flippable .cfp-back {
  position: absolute;
  inset: 0;
  border-radius: 14px;
  padding: clamp(16px, 2.4vw, 22px);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.couture-card-flippable .cfp-front {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  color: var(--c-ink);
}
.couture-card-flippable .cfp-back {
  background: var(--c-ink);
  color: var(--c-paper);
  transform: rotateY(180deg);
}
.couture-card-flippable .cfp-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
}
.couture-card-flippable .cfp-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.75;
}
.couture-card-flippable .cfp-back p {
  font: 400 14px/1.55 var(--c-sans);
  color: color-mix(in oklab, var(--c-paper) 85%, var(--c-ink-soft));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-flippable .cfp-inner { transition: none; }
}

/* V6.388 #621 — couture-marker-active-dot — pulsing live status indicator */
.couture-marker-active-dot {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: color-mix(in oklab, #047857 75%, var(--c-ink));
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-marker-active-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  position: relative;
  box-shadow: 0 0 0 0 #10b981;
  animation: cmad-pulse 1.6s ease-out infinite;
}
@keyframes cmad-pulse {
  0% { box-shadow: 0 0 0 0 color-mix(in oklab, #10b981 65%, transparent); }
  70% { box-shadow: 0 0 0 8px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}
.couture-marker-active-dot[data-status="warn"] {
  background: color-mix(in oklab, #f59e0b 14%, var(--c-paper));
  color: color-mix(in oklab, #92400e 75%, var(--c-ink));
}
.couture-marker-active-dot[data-status="warn"]::before {
  background: #f59e0b;
  box-shadow: 0 0 0 0 #f59e0b;
}
.couture-marker-active-dot[data-status="off"] {
  background: color-mix(in oklab, var(--c-line) 35%, var(--c-paper));
  color: var(--c-ink-soft);
}
.couture-marker-active-dot[data-status="off"]::before {
  background: color-mix(in oklab, var(--c-line) 90%, var(--c-ink-soft));
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-marker-active-dot::before { animation: none; }
}

/* V6.388 #622 — couture-feature-grid-2x2 — 4-cell feature grid */
.couture-feature-grid-2x2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 55%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 18px;
  overflow: hidden;
}
.couture-feature-grid-2x2 .fg2-cell {
  padding: clamp(20px, 2.8vw, 32px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-feature-grid-2x2 .fg2-cell .fg2-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
  margin-bottom: 4px;
}
.couture-feature-grid-2x2 .fg2-cell .fg2-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-feature-grid-2x2 .fg2-cell .fg2-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-feature-grid-2x2 { grid-template-columns: 1fr; }
}

/* V6.388 #623 — couture-product-mini — small product card w/ price */
.couture-product-mini {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}
.couture-product-mini .pdm-thumb {
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
}
.couture-product-mini .pdm-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.couture-product-mini:hover .pdm-thumb img {
  transform: scale(1.05);
}
.couture-product-mini .pdm-thumb .pdm-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 9px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-product-mini .pdm-name {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-product-mini .pdm-price {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.couture-product-mini .pdm-price .pdm-old {
  font-weight: 400;
  text-decoration: line-through;
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-product-mini .pdm-thumb img { transition: none; }
}

/* V6.388 #624 — couture-grid-card-vertical — vertical text+image card */
.couture-grid-card-vertical {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.couture-grid-card-vertical:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--c-line) 90%, transparent);
  box-shadow: 0 12px 28px -10px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.couture-grid-card-vertical .gcv-thumb {
  aspect-ratio: 16 / 10;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-grid-card-vertical .gcv-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-grid-card-vertical .gcv-body {
  padding: clamp(14px, 2vw, 20px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.couture-grid-card-vertical .gcv-meta {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-grid-card-vertical .gcv-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-grid-card-vertical .gcv-excerpt {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  flex: 1;
}
.couture-grid-card-vertical .gcv-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 55%, transparent);
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-card-vertical { transition: none; }
  .couture-grid-card-vertical:hover { transform: none; }
}

/* V6.388 #625 — couture-meta-strip-icons — bullet-separated icon meta line */
.couture-meta-strip-icons {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font: 500 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-meta-strip-icons .msi-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.couture-meta-strip-icons .msi-icon {
  width: 12px;
  height: 12px;
  display: inline-block;
  background: currentColor;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.couture-meta-strip-icons .msi-item + .msi-item::before {
  content: "\2022";
  margin-right: 14px;
  margin-left: -10px;
  opacity: 0.5;
}

/* V6.388 #626 — couture-modal-shell — fixed-position centered modal */
.couture-modal-shell {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  background: color-mix(in oklab, var(--c-ink) 50%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  padding: 16px;
}
.couture-modal-shell .cms-card {
  background: var(--c-paper);
  border-radius: 16px;
  padding: clamp(20px, 3vw, 32px);
  max-width: 480px;
  width: 100%;
  box-shadow:
    0 18px 48px -12px rgba(0,0,0,0.35),
    0 6px 14px -4px rgba(0,0,0,0.18);
  position: relative;
  animation: cms-pop 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes cms-pop {
  from { opacity: 0; transform: translateY(12px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.couture-modal-shell .cms-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: var(--c-ink-soft);
  font: 400 22px/1 var(--c-mono);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.couture-modal-shell .cms-close:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
}
.couture-modal-shell .cms-title {
  font: 700 clamp(18px, 2.4vw, 22px)/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
  padding-right: 32px;
}
.couture-modal-shell .cms-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}
.couture-modal-shell .cms-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-modal-shell .cms-card { animation: none; }
}

/* V6.388 #627 — couture-link-card-spotlight — bordered hoverable link card */
.couture-link-card-spotlight {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  background: var(--c-paper);
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-link-card-spotlight::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -30%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(
    closest-side,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent),
    transparent 70%
  );
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}
.couture-link-card-spotlight:hover {
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 65%, var(--c-line));
  transform: translateY(-2px);
}
.couture-link-card-spotlight:hover::before { opacity: 1; }
.couture-link-card-spotlight .lcs-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  margin-bottom: 4px;
  position: relative;
}
.couture-link-card-spotlight .lcs-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
}
.couture-link-card-spotlight .lcs-title::after {
  content: "\2197";
  font: 500 13px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.2s ease;
}
.couture-link-card-spotlight:hover .lcs-title::after {
  transform: translate(2px, -2px);
  color: var(--c-accent, var(--c-ink));
}
.couture-link-card-spotlight .lcs-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  position: relative;
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-card-spotlight,
  .couture-link-card-spotlight::before,
  .couture-link-card-spotlight .lcs-title::after { transition: none; }
  .couture-link-card-spotlight:hover { transform: none; }
}

/* V6.388 #628 — couture-cta-strip-tight — slim full-bleed CTA strip */
.couture-cta-strip-tight {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px clamp(16px, 3vw, 28px);
  border-radius: 12px;
  background: var(--c-ink);
  color: var(--c-paper);
  flex-wrap: wrap;
}
.couture-cta-strip-tight .ctt-msg {
  font: 600 14px/1.4 var(--c-sans);
  flex: 1;
  min-width: 200px;
}
.couture-cta-strip-tight .ctt-msg small {
  display: block;
  font: 400 12px/1.3 var(--c-sans);
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
  margin-top: 2px;
}
.couture-cta-strip-tight .ctt-action {
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease;
}
.couture-cta-strip-tight .ctt-action:hover {
  transform: translateY(-1px);
}

/* V6.388 #629 — couture-grid-bento-3x — bento-style irregular cell grid */
.couture-grid-bento-3x {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
  min-height: 320px;
}
.couture-grid-bento-3x .gbn-cell {
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  padding: clamp(16px, 2vw, 22px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
.couture-grid-bento-3x .gbn-cell:nth-child(1) {
  grid-row: 1 / 3;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper)),
    var(--c-paper)
  );
}
.couture-grid-bento-3x .gbn-cell:nth-child(4) {
  grid-column: 2 / 4;
}
.couture-grid-bento-3x .gbn-cell .gbn-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-bottom: 8px;
}
.couture-grid-bento-3x .gbn-cell .gbn-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-grid-bento-3x .gbn-cell .gbn-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 6px;
}
.couture-grid-bento-3x .gbn-cell .gbn-foot {
  margin-top: 12px;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
}
@media (max-width: 720px) {
  .couture-grid-bento-3x {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .couture-grid-bento-3x .gbn-cell:nth-child(1),
  .couture-grid-bento-3x .gbn-cell:nth-child(4) {
    grid-column: 1 / 3;
    grid-row: auto;
  }
}

/* V6.388 #630 — couture-link-arrow-text — large hero arrow link */
.couture-link-arrow-text {
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  text-decoration: none;
  color: var(--c-ink);
  font: 700 clamp(20px, 2.4vw, 28px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  position: relative;
}
.couture-link-arrow-text::after {
  content: "\2192";
  font: 500 0.85em/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  display: inline-block;
  transition: transform 0.2s ease;
}
.couture-link-arrow-text::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 1.5em;
  height: 2px;
  background: currentColor;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.couture-link-arrow-text:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.couture-link-arrow-text:hover::after {
  transform: translateX(6px);
}
.couture-link-arrow-text .lat-meta {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-left: 12px;
  align-self: center;
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-arrow-text::before,
  .couture-link-arrow-text::after { transition: none; }
}

/* V6.388 #631 — couture-promo-tile-large — full-bleed promo with image bg */
.couture-promo-tile-large {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  display: grid;
  align-items: end;
  background: color-mix(in oklab, var(--c-bg) 85%, var(--c-paper));
}
.couture-promo-tile-large .ptl-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.couture-promo-tile-large .ptl-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.couture-promo-tile-large:hover .ptl-bg img { transform: scale(1.04); }
.couture-promo-tile-large::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 30%,
    rgba(0,0,0,0.65) 100%
  );
  z-index: 1;
}
.couture-promo-tile-large .ptl-content {
  position: relative;
  z-index: 2;
  padding: clamp(20px, 4vw, 40px);
  color: #fff;
  max-width: 560px;
}
.couture-promo-tile-large .ptl-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.85;
  margin-bottom: 10px;
}
.couture-promo-tile-large .ptl-title {
  font: 700 clamp(22px, 3.6vw, 36px)/1.15 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  margin-bottom: 8px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.couture-promo-tile-large .ptl-body {
  font: 400 14px/1.55 var(--c-sans);
  opacity: 0.9;
}
.couture-promo-tile-large .ptl-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  color: #111;
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-promo-tile-large .ptl-bg img { transition: none; }
}

/* V6.388 #632 — couture-text-divider-rule — long horizontal text divider */
.couture-text-divider-rule {
  display: grid;
  grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
  align-items: center;
  gap: 14px;
  margin: clamp(28px, 4vw, 48px) 0 clamp(20px, 3vw, 36px);
}
.couture-text-divider-rule::before,
.couture-text-divider-rule::after {
  content: "";
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-text-divider-rule .tdr-label {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
  white-space: nowrap;
}
.couture-text-divider-rule .tdr-num {
  font: 800 11px/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
  letter-spacing: -0.02em;
  margin-right: 6px;
}

/* V6.388 #633 — couture-button-icon-only — square icon-only button */
.couture-button-icon-only {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  background: var(--c-paper);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.couture-button-icon-only:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-button-icon-only:focus-visible {
  outline: 2px solid var(--c-accent, var(--c-ink));
  outline-offset: 2px;
}
.couture-button-icon-only:active {
  transform: scale(0.96);
}
.couture-button-icon-only.is-circle { border-radius: 50%; }
.couture-button-icon-only.is-large { width: 44px; height: 44px; }
.couture-button-icon-only.is-small { width: 28px; height: 28px; border-radius: 6px; }
.couture-button-icon-only.is-ghost {
  border-color: transparent;
  background: transparent;
}
.couture-button-icon-only.is-ghost:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  border-color: transparent;
}
.couture-button-icon-only[aria-pressed="true"] {
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  border-color: var(--c-accent, var(--c-ink));
}
@media (prefers-reduced-motion: reduce) {
  .couture-button-icon-only { transition: none; }
  .couture-button-icon-only:active { transform: none; }
}

/* V6.388 #634 — couture-stat-icon-tile — icon + stat + label cell */
.couture-stat-icon-tile {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-stat-icon-tile .sit-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 var(--c-display, var(--c-sans));
}
.couture-stat-icon-tile .sit-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-stat-icon-tile .sit-label {
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-stat-icon-tile .sit-trend {
  display: inline-block;
  margin-top: 4px;
  font: 600 11px/1 var(--c-mono);
  color: #10b981;
}
.couture-stat-icon-tile .sit-trend.is-down { color: #ef4444; }
.couture-stat-icon-tile .sit-trend::before {
  content: "\2191 ";
}
.couture-stat-icon-tile .sit-trend.is-down::before {
  content: "\2193 ";
}

/* V6.388 #635 — couture-quote-card-personal — testimonial w/ avatar in card */
.couture-quote-card-personal {
  padding: clamp(20px, 2.8vw, 30px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-quote-card-personal .qcp-quote {
  font: 500 clamp(15px, 1.7vw, 17px)/1.55 var(--c-sans);
  color: var(--c-ink);
  position: relative;
  padding-left: 20px;
}
.couture-quote-card-personal .qcp-quote::before {
  content: "\201C";
  position: absolute;
  left: 0;
  top: -8px;
  font: 800 32px/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-quote-card-personal .qcp-foot {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-quote-card-personal .qcp-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-quote-card-personal .qcp-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-quote-card-personal .qcp-name {
  font: 700 13px/1.2 var(--c-sans);
  color: var(--c-ink);
}
.couture-quote-card-personal .qcp-role {
  font: 400 11px/1.2 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-quote-card-personal .qcp-rating {
  margin-left: auto;
  font: 700 12px/1 var(--c-mono);
  color: #f59e0b;
  letter-spacing: 0.08em;
}

/* V6.388 #636 — couture-overlay-zoom-image — zoom-on-hover image figure */
.couture-overlay-zoom-image {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 85%, var(--c-paper));
  cursor: zoom-in;
}
.couture-overlay-zoom-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.5s ease;
}
.couture-overlay-zoom-image:hover img {
  transform: scale(1.06);
}
.couture-overlay-zoom-image::after {
  content: "+";
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 400 18px/1 var(--c-mono);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.couture-overlay-zoom-image:hover::after {
  opacity: 1;
}
.couture-overlay-zoom-image figcaption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 14px 16px;
  background: linear-gradient(0deg, rgba(0,0,0,0.55), transparent);
  color: #fff;
  font: 600 13px/1.3 var(--c-sans);
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.couture-overlay-zoom-image:hover figcaption {
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .couture-overlay-zoom-image img,
  .couture-overlay-zoom-image::after,
  .couture-overlay-zoom-image figcaption { transition: none; }
}

/* V6.388 #637 — couture-grid-hero-split — image left + headline right hero */
.couture-grid-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(28px, 5vw, 64px) 0;
}
.couture-grid-hero-split .ghs-media {
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
}
.couture-grid-hero-split .ghs-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-grid-hero-split .ghs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 14px;
}
.couture-grid-hero-split .ghs-title {
  font: 800 clamp(32px, 5vw, 56px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
  margin-bottom: 16px;
}
.couture-grid-hero-split .ghs-body {
  font: 400 16px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 24px;
  max-width: 480px;
}
.couture-grid-hero-split .ghs-actions {
  display: inline-flex;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 720px) {
  .couture-grid-hero-split { grid-template-columns: 1fr; }
  .couture-grid-hero-split .ghs-media {
    aspect-ratio: 16 / 10;
  }
}

/* V6.388 #638 — couture-tag-row-removable — removable input chips */
.couture-tag-row-removable {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 8px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  min-height: 42px;
}
.couture-tag-row-removable .trr-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  font: 600 12px/1.2 var(--c-sans);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-tag-row-removable .trr-chip-x {
  width: 16px;
  height: 16px;
  border: none;
  background: transparent;
  color: var(--c-ink-soft);
  font: 400 14px/1 var(--c-mono);
  cursor: pointer;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.couture-tag-row-removable .trr-chip-x:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-tag-row-removable input {
  flex: 1;
  min-width: 100px;
  border: none;
  outline: none;
  background: transparent;
  font: 400 13px/1 var(--c-sans);
  color: var(--c-ink);
  padding: 4px;
}

/* V6.388 #639 — couture-progress-segment — segmented progress meter */
.couture-progress-segment {
  display: flex;
  gap: 4px;
  width: 100%;
  height: 8px;
}
.couture-progress-segment .pgs-seg {
  flex: 1;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
  border-radius: 4px;
  transition: background 0.2s ease;
}
.couture-progress-segment .pgs-seg.is-filled {
  background: var(--c-accent, var(--c-ink));
}
.couture-progress-segment .pgs-seg.is-filled.is-warn {
  background: #f59e0b;
}
.couture-progress-segment .pgs-seg.is-filled.is-error {
  background: #ef4444;
}
.couture-progress-segment + .pgs-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font: 500 11px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-progress-segment + .pgs-meta strong {
  color: var(--c-ink);
  font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
  .couture-progress-segment .pgs-seg { transition: none; }
}

/* V6.388 #640 — couture-card-quote-frame — bordered quote card with frame accent */
.couture-card-quote-frame {
  position: relative;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font-family: var(--c-sans);
}
.couture-card-quote-frame::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 24px;
  right: 24px;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--c-accent, var(--c-ink)) 0%,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 60%, var(--c-ink)) 100%
  );
  border-radius: 0 0 4px 4px;
}
.couture-card-quote-frame .cqf-quote {
  font: 500 clamp(17px, 2vw, 22px)/1.5 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.01em;
  margin-bottom: 18px;
}
.couture-card-quote-frame .cqf-quote::before { content: "\201C"; font-weight: 800; }
.couture-card-quote-frame .cqf-quote::after  { content: "\201D"; font-weight: 800; }
.couture-card-quote-frame .cqf-attribution {
  display: flex;
  align-items: center;
  gap: 12px;
}
.couture-card-quote-frame .cqf-name {
  font: 700 13px/1.2 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-quote-frame .cqf-role {
  font: 400 12px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-quote-frame .cqf-logo {
  margin-left: auto;
  font: 800 14px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink-soft);
  letter-spacing: -0.02em;
  opacity: 0.75;
}

/* V6.388 #641 — couture-list-checkmark-bold — bold checkmark feature list */
.couture-list-checkmark-bold {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-list-checkmark-bold li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-list-checkmark-bold li::before {
  content: "";
  width: 18px;
  height: 18px;
  margin-top: 3px;
  border-radius: 6px;
  background: var(--c-accent, var(--c-ink));
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='white' d='M13.5 4.5l-7 7-3.5-3.5 1.4-1.4L6.5 8.7 12.1 3.1z'/></svg>") center/14px no-repeat,
    linear-gradient(currentColor, currentColor);
  -webkit-mask-composite: source-in;
          mask-composite: intersect;
  color: var(--c-paper);
  background:
    var(--c-accent, var(--c-ink));
  position: relative;
}
.couture-list-checkmark-bold li::before {
  content: "\2713";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  font: 800 11px/1 var(--c-mono);
  margin-top: 3px;
}
.couture-list-checkmark-bold li small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-list-checkmark-bold[data-style="muted"] li::before {
  background: color-mix(in oklab, var(--c-line) 80%, var(--c-ink));
  color: var(--c-paper);
}

/* V6.388 #642 — couture-section-headline-pair — title + subtitle anchored pair */
.couture-section-headline-pair {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 720px;
  margin-bottom: clamp(24px, 4vw, 40px);
}
.couture-section-headline-pair .shp-title {
  font: 800 clamp(28px, 4vw, 44px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
}
.couture-section-headline-pair .shp-subtitle {
  font: 400 clamp(15px, 1.7vw, 18px)/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-section-headline-pair[data-align="center"] {
  text-align: center;
  margin-inline: auto;
  align-items: center;
}
.couture-section-headline-pair[data-align="center"] .shp-subtitle {
  max-width: 540px;
}
.couture-section-headline-pair .shp-actions {
  display: inline-flex;
  gap: 12px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.couture-section-headline-pair .shp-actions a {
  font: 600 13px/1 var(--c-sans);
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-section-headline-pair .shp-actions a::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-section-headline-pair .shp-actions a:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-section-headline-pair .shp-actions a::after { transition: none; }
}

/* V6.388 #643 — couture-pricing-toggle-period — annual/monthly switch w/ savings */
.couture-pricing-toggle-period {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
}
.couture-pricing-toggle-period button {
  border: none;
  background: transparent;
  padding: 8px 18px;
  border-radius: 999px;
  font: 600 13px/1 var(--c-sans);
  color: var(--c-ink-soft);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  position: relative;
}
.couture-pricing-toggle-period button[aria-pressed="true"],
.couture-pricing-toggle-period button.is-active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 1px 4px -1px rgba(0,0,0,0.12);
}
.couture-pricing-toggle-period .ptp-save {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, #10b981 20%, transparent);
  color: color-mix(in oklab, #047857 75%, var(--c-ink));
}

/* V6.388 #644 — couture-segmented-control — iOS-style segmented control */
.couture-segmented-control {
  display: inline-flex;
  padding: 3px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-segmented-control input { display: none; }
.couture-segmented-control label {
  flex: 1;
  padding: 7px 14px;
  border-radius: 8px;
  font: 600 12px/1.2 var(--c-sans);
  color: var(--c-ink-soft);
  text-align: center;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  position: relative;
}
.couture-segmented-control label + label::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 25%;
  bottom: 25%;
  width: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-segmented-control input:checked + label {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 1px 4px -1px rgba(0,0,0,0.12);
}
.couture-segmented-control input:checked + label::before,
.couture-segmented-control input:checked + label + input + label::before {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-segmented-control label { transition: none; }
}

/* V6.388 #645 — couture-list-icon-grid — 3-col icon list grid */
.couture-list-icon-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-list-icon-grid li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: start;
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-list-icon-grid li::before {
  content: "";
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.couture-list-icon-grid li::after {
  content: none;
}
.couture-list-icon-grid li strong {
  display: block;
  font: 700 13px/1.4 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
@media (max-width: 720px) {
  .couture-list-icon-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .couture-list-icon-grid { grid-template-columns: 1fr; }
}

/* V6.388 #646 — couture-card-stack-shadow — pseudo-stacked card cluster */
.couture-card-stack-shadow {
  position: relative;
  padding: clamp(20px, 3vw, 32px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
}
.couture-card-stack-shadow::before,
.couture-card-stack-shadow::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  z-index: -1;
}
.couture-card-stack-shadow::before {
  transform: translate(8px, 8px) scale(0.97);
  opacity: 0.7;
}
.couture-card-stack-shadow::after {
  transform: translate(16px, 16px) scale(0.94);
  opacity: 0.4;
}
.couture-card-stack-shadow .css-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 10px;
}
.couture-card-stack-shadow .css-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #647 — couture-side-by-side-images — two-image side comparison */
.couture-side-by-side-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  border-radius: 14px;
  overflow: hidden;
}
.couture-side-by-side-images .sbs-cell {
  position: relative;
  aspect-ratio: 1 / 1;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-side-by-side-images .sbs-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-side-by-side-images .sbs-cell .sbs-label {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  font: 700 10px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-paper) 88%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  color: var(--c-ink);
}
.couture-side-by-side-images .sbs-cell:nth-child(2) .sbs-label {
  background: var(--c-ink);
  color: var(--c-paper);
}
@media (max-width: 480px) {
  .couture-side-by-side-images { grid-template-columns: 1fr; }
}

/* V6.388 #648 — couture-bullet-icon-row — large icon-led bullet item */
.couture-bullet-icon-row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
}
.couture-bullet-icon-row .bir-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 24px/1 var(--c-display, var(--c-sans));
}
.couture-bullet-icon-row .bir-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-bullet-icon-row .bir-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-bullet-icon-row + .couture-bullet-icon-row {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 55%, transparent);
}
@media (max-width: 480px) {
  .couture-bullet-icon-row {
    grid-template-columns: 44px 1fr;
    gap: 12px;
  }
  .couture-bullet-icon-row .bir-icon {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }
}

/* V6.388 #649 — couture-quote-strip-dual — twin testimonial side-by-side */
.couture-quote-strip-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 55%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  border-radius: 16px;
  overflow: hidden;
}
.couture-quote-strip-dual .qsd-cell {
  padding: clamp(20px, 2.6vw, 28px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-quote-strip-dual .qsd-text {
  font: 500 15px/1.55 var(--c-sans);
  color: var(--c-ink);
  position: relative;
  padding-left: 16px;
}
.couture-quote-strip-dual .qsd-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 3px;
  background: var(--c-accent, var(--c-ink));
}
.couture-quote-strip-dual .qsd-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--c-sans);
}
.couture-quote-strip-dual .qsd-name {
  font: 700 12px/1.2 var(--c-sans);
  color: var(--c-ink);
}
.couture-quote-strip-dual .qsd-role {
  font: 400 11px/1.2 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-quote-strip-dual { grid-template-columns: 1fr; }
}

/* V6.388 #650 — 🎉 650 MILESTONE — couture-ribbon-corner — angled corner ribbon */
.couture-ribbon-corner {
  position: absolute;
  top: 12px;
  right: -32px;
  z-index: 2;
  padding: 4px 36px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transform: rotate(35deg);
  transform-origin: center;
  box-shadow: 0 2px 6px -2px rgba(0,0,0,0.25);
  pointer-events: none;
}
.couture-ribbon-corner.is-flat {
  position: absolute;
  top: 12px;
  right: 12px;
  transform: none;
  border-radius: 4px;
  padding: 3px 9px;
  background: var(--c-ink);
}
.couture-ribbon-corner.is-warn { background: #f59e0b; color: #1c1917; }
.couture-ribbon-corner.is-success { background: #10b981; color: #fff; }
.couture-ribbon-corner.is-danger { background: #ef4444; color: #fff; }

/* V6.388 #651 — couture-card-pricing-feature — full pricing card w/ feature list */
.couture-card-pricing-feature {
  position: relative;
  padding: clamp(24px, 3vw, 36px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.couture-card-pricing-feature:hover {
  border-color: var(--c-ink);
  transform: translateY(-3px);
}
.couture-card-pricing-feature[data-featured] {
  border-color: var(--c-accent, var(--c-ink));
  box-shadow: 0 12px 32px -10px color-mix(in oklab, var(--c-accent, var(--c-ink)) 28%, transparent);
}
.couture-card-pricing-feature .cpf-name {
  font: 700 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-card-pricing-feature[data-featured] .cpf-name {
  color: var(--c-accent, var(--c-ink));
}
.couture-card-pricing-feature .cpf-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.couture-card-pricing-feature .cpf-amount {
  font: 800 clamp(36px, 4.5vw, 48px)/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-pricing-feature .cpf-period {
  font: 500 13px/1 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-pricing-feature .cpf-tagline {
  font: 400 14px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-pricing-feature .cpf-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 18px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-pricing-feature .cpf-features li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-pricing-feature .cpf-features li::before {
  content: "\2713";
  width: 16px;
  height: 16px;
  margin-top: 2px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 15%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 10px/1 var(--c-mono);
}
.couture-card-pricing-feature .cpf-cta {
  margin-top: auto;
  padding: 12px 18px;
  border-radius: 10px;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  text-align: center;
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-card-pricing-feature .cpf-cta:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-card-pricing-feature[data-featured] .cpf-cta {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-pricing-feature { transition: none; }
  .couture-card-pricing-feature:hover { transform: none; }
}

/* V6.388 #652 — couture-card-icon-stat — icon-led numeric stat tile */
.couture-card-icon-stat {
  padding: clamp(20px, 2.6vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-icon-stat .cis-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 80%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-icon-stat .cis-num {
  font: 800 clamp(28px, 3.6vw, 40px)/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.couture-card-icon-stat .cis-num small {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: -0.01em;
}
.couture-card-icon-stat .cis-label {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #653 — couture-info-quick-list — small quick-info list with kbd-style tokens */
.couture-info-quick-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.couture-info-quick-list li {
  display: grid;
  grid-template-columns: minmax(80px, auto) 1fr;
  gap: 12px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  font: 400 13px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-info-quick-list li strong {
  font: 700 11px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-info-quick-list li code,
.couture-info-quick-list li kbd {
  font: 600 12px/1.3 var(--c-mono);
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-info-quick-list li a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  font-weight: 500;
}
.couture-info-quick-list li a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* V6.388 #654 — couture-grid-trio-soft — 3-up soft-bordered tile row */
.couture-grid-trio-soft {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.couture-grid-trio-soft .gts-tile {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 92%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  overflow: hidden;
}
.couture-grid-trio-soft .gts-tile::after {
  content: "";
  position: absolute;
  inset: auto auto -50% -30%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(
    closest-side,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 16%, transparent),
    transparent 70%
  );
  pointer-events: none;
  opacity: 0.55;
}
.couture-grid-trio-soft .gts-tile .gts-num {
  font: 800 11px/1 var(--c-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-ink-soft);
  position: relative;
}
.couture-grid-trio-soft .gts-tile .gts-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  position: relative;
}
.couture-grid-trio-soft .gts-tile .gts-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  position: relative;
}
@media (max-width: 720px) {
  .couture-grid-trio-soft { grid-template-columns: 1fr; }
}

/* V6.388 #655 — couture-image-frame-double — image with double-frame mat */
.couture-image-frame-double {
  position: relative;
  padding: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  border-radius: 6px;
  display: inline-block;
  max-width: 100%;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.04),
    0 4px 16px -8px rgba(0,0,0,0.18);
}
.couture-image-frame-double::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  pointer-events: none;
}
.couture-image-frame-double img {
  display: block;
  max-width: 100%;
  height: auto;
  position: relative;
}
.couture-image-frame-double figcaption {
  margin-top: 8px;
  text-align: center;
  font: 400 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #656 — couture-card-step-numbered — large-numbered step card */
.couture-card-step-numbered {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
}
.couture-card-step-numbered::before {
  content: attr(data-step);
  position: absolute;
  top: -10px;
  right: 4px;
  font: 800 96px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.06em;
  color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, var(--c-paper));
  pointer-events: none;
  user-select: none;
}
.couture-card-step-numbered .csn-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
  position: relative;
}
.couture-card-step-numbered .csn-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 10px;
  position: relative;
}
.couture-card-step-numbered .csn-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  position: relative;
}

/* V6.388 #657 — couture-cta-strip-icon — icon-led CTA strip */
.couture-cta-strip-icon {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
}
.couture-cta-strip-icon .ctsi-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-cta-strip-icon .ctsi-content {
  flex: 1;
  min-width: 0;
}
.couture-cta-strip-icon .ctsi-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-cta-strip-icon .ctsi-meta {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-cta-strip-icon .ctsi-action {
  flex-shrink: 0;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
.couture-cta-strip-icon .ctsi-action:hover {
  background: var(--c-accent, var(--c-ink));
}
@media (max-width: 540px) {
  .couture-cta-strip-icon {
    flex-wrap: wrap;
  }
  .couture-cta-strip-icon .ctsi-action {
    margin-left: 56px;
  }
}

/* V6.388 #658 — couture-divider-section-bold — large emphasized divider with label */
.couture-divider-section-bold {
  position: relative;
  margin: clamp(48px, 7vw, 88px) 0 clamp(28px, 4vw, 48px);
  padding-top: 24px;
  border-top: 4px solid var(--c-ink);
}
.couture-divider-section-bold::before {
  content: attr(data-num);
  position: absolute;
  top: -1.4em;
  left: 0;
  font: 800 clamp(60px, 9vw, 120px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.06em;
  color: color-mix(in oklab, var(--c-ink) 6%, transparent);
  pointer-events: none;
  user-select: none;
}
.couture-divider-section-bold .dsb-label {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-divider-section-bold .dsb-headline {
  font: 800 clamp(28px, 4vw, 44px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
}

/* V6.388 #659 — couture-callout-quote-mini — small inline quote pull */
.couture-callout-quote-mini {
  display: inline-flex;
  align-items: stretch;
  gap: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border-left: 3px solid var(--c-accent, var(--c-ink));
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
  max-width: 540px;
}
.couture-callout-quote-mini::before {
  content: "\201C";
  font: 800 28px/0.8 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-callout-quote-mini cite {
  display: block;
  margin-top: 4px;
  font: 600 11px/1.2 var(--c-mono);
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}

/* V6.388 #660 — couture-card-tile-stacked — stacked icon+text card grid item */
.couture-card-tile-stacked {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(20px, 2.6vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-align: left;
  position: relative;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-card-tile-stacked:hover {
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, var(--c-line));
  transform: translateY(-2px);
}
.couture-card-tile-stacked .ctks-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  font: 700 22px/1 var(--c-display, var(--c-sans));
}
.couture-card-tile-stacked .ctks-tag {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-tile-stacked .ctks-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-tile-stacked .ctks-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-tile-stacked .ctks-foot {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-tile-stacked .ctks-foot a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-tile-stacked { transition: none; }
  .couture-card-tile-stacked:hover { transform: none; }
}

/* V6.388 #661 — couture-list-stat-row — alternating-stat list pattern */
.couture-list-stat-row {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-list-stat-row li {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-list-stat-row li:last-child { border-bottom: none; }
.couture-list-stat-row .lsr-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-list-stat-row .lsr-num small {
  font: 400 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 1px;
}
.couture-list-stat-row .lsr-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-list-stat-row .lsr-label {
  font: 600 13px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-list-stat-row .lsr-detail {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-list-stat-row .lsr-trend {
  font: 600 12px/1 var(--c-mono);
  color: #10b981;
  white-space: nowrap;
}
.couture-list-stat-row .lsr-trend.is-down { color: #ef4444; }
.couture-list-stat-row .lsr-trend::before { content: "\2191 "; }
.couture-list-stat-row .lsr-trend.is-down::before { content: "\2193 "; }

/* V6.388 #662 — couture-card-event-detail — event listing card */
.couture-card-event-detail {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: clamp(16px, 2vw, 22px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-card-event-detail:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-card-event-detail .ced-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 8px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-paper) 88%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-event-detail .ced-month {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-event-detail .ced-day {
  font: 800 26px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
}
.couture-card-event-detail .ced-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.couture-card-event-detail .ced-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-card-event-detail .ced-meta {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.couture-card-event-detail .ced-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-event-detail .ced-action {
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  white-space: nowrap;
}
.couture-card-event-detail .ced-action::after {
  content: "\2192";
  margin-left: 4px;
  display: inline-block;
  transition: transform 0.15s ease;
}
.couture-card-event-detail:hover .ced-action::after {
  transform: translateX(3px);
}
@media (max-width: 540px) {
  .couture-card-event-detail {
    grid-template-columns: 72px 1fr;
  }
  .couture-card-event-detail .ced-action {
    grid-column: 2;
    margin-top: 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-event-detail,
  .couture-card-event-detail .ced-action::after { transition: none; }
  .couture-card-event-detail:hover { transform: none; }
}

/* V6.388 #663 — couture-text-marquee-soft — gentle scrolling text marquee */
.couture-text-marquee-soft {
  display: flex;
  overflow: hidden;
  gap: 36px;
  padding: 14px 0;
  border-block: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.couture-text-marquee-soft .tms-track {
  display: inline-flex;
  align-items: center;
  gap: 36px;
  flex-shrink: 0;
  animation: tms-slide 28s linear infinite;
}
.couture-text-marquee-soft .tms-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 700 clamp(20px, 2.6vw, 32px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  white-space: nowrap;
}
.couture-text-marquee-soft .tms-item::after {
  content: "\2022";
  font: 400 1em/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  margin-left: 36px;
  opacity: 0.7;
}
@keyframes tms-slide {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-text-marquee-soft .tms-track { animation: none; }
}

/* V6.388 #664 — couture-feature-icon-row-large — feature row w/ large icon */
.couture-feature-icon-row-large {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: clamp(20px, 3vw, 32px);
  align-items: start;
  padding: clamp(20px, 3vw, 32px) 0;
}
.couture-feature-icon-row-large .firl-icon {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 36px/1 var(--c-display, var(--c-sans));
}
.couture-feature-icon-row-large .firl-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-feature-icon-row-large .firl-title {
  font: 700 clamp(20px, 2.4vw, 26px)/1.25 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-feature-icon-row-large .firl-body {
  font: 400 15px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 12px;
  max-width: 540px;
}
.couture-feature-icon-row-large .firl-link {
  font: 600 13px/1 var(--c-sans);
  color: var(--c-ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-feature-icon-row-large .firl-link::after {
  content: "\2192";
  font: 500 13px/1 var(--c-mono);
  transition: transform 0.15s ease;
}
.couture-feature-icon-row-large .firl-link:hover::after {
  transform: translateX(4px);
}
.couture-feature-icon-row-large + .couture-feature-icon-row-large {
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
@media (max-width: 540px) {
  .couture-feature-icon-row-large {
    grid-template-columns: 1fr;
  }
  .couture-feature-icon-row-large .firl-icon {
    width: 60px;
    height: 60px;
    font-size: 28px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-feature-icon-row-large .firl-link::after { transition: none; }
}

/* V6.388 #665 — couture-stat-bar-horizontal — horizontal stat comparison bar */
.couture-stat-bar-horizontal {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-stat-bar-horizontal .sbh-row {
  display: grid;
  grid-template-columns: 1fr 80px;
  gap: 12px;
  align-items: center;
  font-family: var(--c-sans);
}
.couture-stat-bar-horizontal .sbh-bar-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.couture-stat-bar-horizontal .sbh-label {
  font: 600 13px/1.3 var(--c-sans);
  color: var(--c-ink);
  display: flex;
  justify-content: space-between;
}
.couture-stat-bar-horizontal .sbh-label small {
  font: 400 12px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-stat-bar-horizontal .sbh-bar {
  height: 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-stat-bar-horizontal .sbh-fill {
  height: 100%;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 75%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  border-radius: 999px;
  transition: width 0.5s cubic-bezier(0.34, 1, 0.64, 1);
}
.couture-stat-bar-horizontal .sbh-num {
  font: 700 18px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  text-align: right;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
@media (prefers-reduced-motion: reduce) {
  .couture-stat-bar-horizontal .sbh-fill { transition: none; }
}

/* V6.388 #666 — couture-divider-bullet-dot — minimal text-bullet divider */
.couture-divider-bullet-dot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: clamp(20px, 3vw, 32px) 0;
  color: color-mix(in oklab, var(--c-ink-soft) 70%, transparent);
  font: 400 18px/1 var(--c-mono);
  letter-spacing: 0.5em;
  user-select: none;
}
.couture-divider-bullet-dot::before { content: "\2022 \2022 \2022"; }
.couture-divider-bullet-dot[data-style="dash"]::before { content: "\2014 \2014 \2014"; }
.couture-divider-bullet-dot[data-style="diamond"]::before { content: "\25C6"; letter-spacing: 0; }

/* V6.388 #667 — couture-card-numbered-stat — large stat with number + caption */
.couture-card-numbered-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
  padding: clamp(20px, 3vw, 32px);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-numbered-stat .cns-num {
  font: 800 clamp(48px, 6vw, 76px)/0.95 var(--c-display, var(--c-sans));
  letter-spacing: -0.05em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.couture-card-numbered-stat .cns-num small {
  font: 800 0.45em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
  letter-spacing: -0.02em;
}
.couture-card-numbered-stat .cns-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-card-numbered-stat .cns-label {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.couture-card-numbered-stat .cns-detail {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #668 — couture-grid-list-tiles — tile grid w/ borderless cells */
.couture-grid-list-tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-grid-list-tiles .glt-cell {
  padding: clamp(18px, 2.4vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--c-paper);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-grid-list-tiles .glt-cell:nth-child(4n) { border-right: none; }
.couture-grid-list-tiles .glt-cell .glt-num {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}
.couture-grid-list-tiles .glt-cell .glt-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-grid-list-tiles .glt-cell .glt-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-grid-list-tiles { grid-template-columns: 1fr 1fr; }
  .couture-grid-list-tiles .glt-cell:nth-child(4n) {
    border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
  .couture-grid-list-tiles .glt-cell:nth-child(2n) { border-right: none; }
}
@media (max-width: 480px) {
  .couture-grid-list-tiles { grid-template-columns: 1fr; }
  .couture-grid-list-tiles .glt-cell { border-right: none; }
}

/* V6.388 #669 — couture-form-checkbox-card — card-style checkbox option */
.couture-form-checkbox-card {
  display: block;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.couture-form-checkbox-card:hover {
  border-color: var(--c-ink);
}
.couture-form-checkbox-card.is-checked,
.couture-form-checkbox-card:has(input:checked) {
  border-color: var(--c-accent, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper));
}
.couture-form-checkbox-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.couture-form-checkbox-card .fcc-row {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: start;
}
.couture-form-checkbox-card .fcc-box {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border-radius: 5px;
  border: 1.5px solid color-mix(in oklab, var(--c-line) 80%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
  color: transparent;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.couture-form-checkbox-card.is-checked .fcc-box,
.couture-form-checkbox-card:has(input:checked) .fcc-box {
  background: var(--c-accent, var(--c-ink));
  border-color: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
}
.couture-form-checkbox-card.is-checked .fcc-box::after,
.couture-form-checkbox-card:has(input:checked) .fcc-box::after {
  content: "\2713";
}
.couture-form-checkbox-card .fcc-title {
  font: 700 14px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-form-checkbox-card .fcc-body {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-form-checkbox-card .fcc-price {
  margin-left: auto;
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-form-checkbox-card,
  .couture-form-checkbox-card .fcc-box { transition: none; }
}

/* V6.388 #670 — couture-quote-banner-fade — wide quote banner w/ subtle fade */
.couture-quote-banner-fade {
  position: relative;
  padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 48px);
  text-align: center;
  border-radius: 20px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg)),
    color-mix(in oklab, var(--c-paper) 90%, var(--c-bg))
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-quote-banner-fade::before,
.couture-quote-banner-fade::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 80px;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-quote-banner-fade::before { left: clamp(16px, 4vw, 32px); }
.couture-quote-banner-fade::after  { right: clamp(16px, 4vw, 32px); }
.couture-quote-banner-fade .qbf-text {
  font: 500 clamp(20px, 2.6vw, 30px)/1.45 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.01em;
  max-width: 720px;
  margin: 0 auto 20px;
}
.couture-quote-banner-fade .qbf-text::before { content: "\201C"; font-weight: 800; color: var(--c-accent, var(--c-ink)); }
.couture-quote-banner-fade .qbf-text::after  { content: "\201D"; font-weight: 800; color: var(--c-accent, var(--c-ink)); }
.couture-quote-banner-fade .qbf-author {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.couture-quote-banner-fade .qbf-name {
  font: 700 13px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-quote-banner-fade .qbf-role {
  font: 400 12px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #671 — couture-feature-row-bordered — bordered alternating feature row */
.couture-feature-row-bordered {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(28px, 4vw, 48px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-feature-row-bordered:last-of-type { border-bottom: none; }
.couture-feature-row-bordered .frb-media {
  aspect-ratio: 16 / 11;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-feature-row-bordered .frb-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-feature-row-bordered[data-orient="reverse"] .frb-media { order: 2; }
.couture-feature-row-bordered .frb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 12px;
}
.couture-feature-row-bordered .frb-title {
  font: 700 clamp(22px, 3vw, 32px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.couture-feature-row-bordered .frb-body {
  font: 400 15px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}
.couture-feature-row-bordered .frb-features {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
}
.couture-feature-row-bordered .frb-features li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-feature-row-bordered .frb-features li::before {
  content: "\2713";
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 10px/1 var(--c-mono);
  flex-shrink: 0;
}
@media (max-width: 720px) {
  .couture-feature-row-bordered { grid-template-columns: 1fr; }
  .couture-feature-row-bordered[data-orient="reverse"] .frb-media { order: 0; }
  .couture-feature-row-bordered .frb-features { grid-template-columns: 1fr; }
}

/* V6.388 #672 — couture-tag-pill-trio — 3-status pill row */
.couture-tag-pill-trio {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.couture-tag-pill-trio .tpt-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: color-mix(in oklab, var(--c-paper) 88%, var(--c-bg));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-tag-pill-trio .tpt-pill[data-tone="success"] {
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: color-mix(in oklab, #047857 75%, var(--c-ink));
  border-color: color-mix(in oklab, #10b981 30%, transparent);
}
.couture-tag-pill-trio .tpt-pill[data-tone="warn"] {
  background: color-mix(in oklab, #f59e0b 14%, var(--c-paper));
  color: color-mix(in oklab, #92400e 75%, var(--c-ink));
  border-color: color-mix(in oklab, #f59e0b 30%, transparent);
}
.couture-tag-pill-trio .tpt-pill[data-tone="danger"] {
  background: color-mix(in oklab, #ef4444 14%, var(--c-paper));
  color: color-mix(in oklab, #991b1b 75%, var(--c-ink));
  border-color: color-mix(in oklab, #ef4444 30%, transparent);
}
.couture-tag-pill-trio .tpt-pill[data-tone="info"] {
  background: color-mix(in oklab, #3b82f6 14%, var(--c-paper));
  color: color-mix(in oklab, #1e40af 70%, var(--c-ink));
  border-color: color-mix(in oklab, #3b82f6 30%, transparent);
}
.couture-tag-pill-trio .tpt-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* V6.388 #673 — couture-grid-feature-icons-4 — 4-up icon grid */
.couture-grid-feature-icons-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3vw, 36px);
}
.couture-grid-feature-icons-4 .gfi-cell {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  text-align: center;
  padding: 8px;
}
.couture-grid-feature-icons-4 .gfi-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper));
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 26px/1 var(--c-display, var(--c-sans));
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
}
.couture-grid-feature-icons-4 .gfi-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-grid-feature-icons-4 .gfi-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-grid-feature-icons-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 380px) {
  .couture-grid-feature-icons-4 { grid-template-columns: 1fr; }
}

/* V6.388 #674 — couture-paragraph-lead — large lead paragraph styling */
.couture-paragraph-lead {
  font: 400 clamp(18px, 2vw, 22px)/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  letter-spacing: -0.005em;
  max-width: 720px;
  margin-bottom: 24px;
}
.couture-paragraph-lead strong {
  color: var(--c-ink);
  font-weight: 600;
}
.couture-paragraph-lead em {
  font-style: italic;
  color: var(--c-ink);
}
.couture-paragraph-lead a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.couture-paragraph-lead .pgl-firstchar {
  float: left;
  font: 800 4em/0.85 var(--c-display, var(--c-sans));
  letter-spacing: -0.06em;
  color: var(--c-ink);
  margin-right: 10px;
  margin-top: 4px;
}

/* V6.388 #675 — couture-card-image-back — image-card with sliding back face */
.couture-card-image-back {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.couture-card-image-back .cib-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.4s ease;
}
.couture-card-image-back:hover .cib-img,
.couture-card-image-back:focus-visible .cib-img {
  transform: scale(1.04);
  filter: brightness(0.5);
}
.couture-card-image-back .cib-overlay {
  position: absolute;
  inset: auto 0 0 0;
  padding: 16px 18px;
  color: #fff;
  background: linear-gradient(0deg, rgba(0,0,0,0.65), transparent);
  z-index: 1;
}
.couture-card-image-back .cib-tag {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.92;
  margin-bottom: 4px;
}
.couture-card-image-back .cib-title {
  font: 700 17px/1.25 var(--c-display, var(--c-sans));
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.couture-card-image-back .cib-back {
  position: absolute;
  inset: 0;
  padding: clamp(18px, 2.4vw, 26px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  color: #fff;
  background: linear-gradient(180deg, rgba(0,0,0,0.45), rgba(0,0,0,0.15));
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 2;
}
.couture-card-image-back:hover .cib-back,
.couture-card-image-back:focus-visible .cib-back {
  opacity: 1;
  transform: translateY(0);
}
.couture-card-image-back .cib-back-text {
  font: 400 13px/1.55 var(--c-sans);
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.couture-card-image-back .cib-back-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-image-back .cib-back-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-image-back:hover .cib-back-link::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-image-back .cib-img,
  .couture-card-image-back .cib-back,
  .couture-card-image-back .cib-back-link::after { transition: none; }
}

/* V6.388 #676 — couture-grid-zigzag-3 — alternating offset zigzag grid */
.couture-grid-zigzag-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: start;
}
.couture-grid-zigzag-3 .gz3-cell {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(16px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-grid-zigzag-3 .gz3-cell:nth-child(2) { transform: translateY(28px); }
.couture-grid-zigzag-3 .gz3-cell:nth-child(3n) { transform: translateY(-12px); }
.couture-grid-zigzag-3 .gz3-cell .gz3-num {
  font: 800 11px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  letter-spacing: 0.06em;
}
.couture-grid-zigzag-3 .gz3-cell .gz3-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-grid-zigzag-3 .gz3-cell .gz3-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-grid-zigzag-3 { grid-template-columns: 1fr; }
  .couture-grid-zigzag-3 .gz3-cell:nth-child(2),
  .couture-grid-zigzag-3 .gz3-cell:nth-child(3n) { transform: none; }
}

/* V6.388 #677 — couture-card-feature-image-side — image left + content right card */
.couture-card-feature-image-side {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-card-feature-image-side:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-card-feature-image-side .cfis-media {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-card-feature-image-side .cfis-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-feature-image-side:hover .cfis-media img {
  transform: scale(1.04);
}
.couture-card-feature-image-side .cfis-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 88%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-feature-image-side .cfis-content {
  padding: clamp(18px, 2.4vw, 24px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}
.couture-card-feature-image-side .cfis-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-image-side .cfis-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-image-side .cfis-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-image-side .cfis-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  margin-top: 6px;
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-image-side {
    grid-template-columns: 1fr;
  }
  .couture-card-feature-image-side .cfis-media {
    aspect-ratio: 16 / 9;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-image-side,
  .couture-card-feature-image-side .cfis-media img { transition: none; }
  .couture-card-feature-image-side:hover { transform: none; }
}

/* V6.388 #678 — couture-grid-divider-vertical — vertical-divider grid layout */
.couture-grid-divider-vertical {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.couture-grid-divider-vertical > * {
  padding: clamp(20px, 3vw, 32px);
  position: relative;
}
.couture-grid-divider-vertical > * + *::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 0;
  width: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-grid-divider-vertical .gdv-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-grid-divider-vertical .gdv-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-grid-divider-vertical .gdv-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-grid-divider-vertical { grid-template-columns: 1fr; }
  .couture-grid-divider-vertical > * + *::before {
    left: 16px;
    right: 16px;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
  }
}

/* V6.388 #679 — couture-link-cta-inline — sentence-flow inline link CTA */
.couture-link-cta-inline {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font: 600 inherit/1.4 var(--c-sans);
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  position: relative;
  background: linear-gradient(currentColor, currentColor) bottom left / 0 1.5px no-repeat;
  transition: background-size 0.3s ease;
}
.couture-link-cta-inline:hover,
.couture-link-cta-inline:focus-visible {
  background-size: 100% 1.5px;
}
.couture-link-cta-inline::after {
  content: "\2192";
  font-family: var(--c-mono);
  font-weight: 500;
  display: inline-block;
  transition: transform 0.15s ease;
}
.couture-link-cta-inline:hover::after {
  transform: translateX(3px);
}
.couture-link-cta-inline.is-mono { font-family: var(--c-mono); font-size: 0.92em; }
@media (prefers-reduced-motion: reduce) {
  .couture-link-cta-inline,
  .couture-link-cta-inline::after { transition: none; }
}

/* V6.388 #680 — couture-card-news-bullet — bulleted news teaser card */
.couture-card-news-bullet {
  position: relative;
  padding: clamp(16px, 2.4vw, 22px);
  padding-left: clamp(28px, 3.4vw, 34px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-news-bullet::before {
  content: "";
  position: absolute;
  top: clamp(18px, 2.4vw, 24px);
  left: clamp(14px, 2vw, 18px);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
}
.couture-card-news-bullet .cnb-time {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  margin-bottom: 6px;
}
.couture-card-news-bullet .cnb-title {
  font: 700 15px/1.35 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-news-bullet .cnb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-news-bullet .cnb-author {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 500 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-news-bullet .cnb-author strong {
  color: var(--c-ink);
  font-weight: 700;
}

/* V6.388 #681 — couture-cta-tile-image — image-tile with CTA overlay */
.couture-cta-tile-image {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  display: grid;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-cta-tile-image .cti-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.couture-cta-tile-image .cti-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.55);
  transition: transform 0.5s ease, filter 0.4s ease;
}
.couture-cta-tile-image:hover .cti-bg img {
  transform: scale(1.04);
  filter: brightness(0.45);
}
.couture-cta-tile-image .cti-content {
  position: relative;
  z-index: 1;
  padding: clamp(20px, 4vw, 36px);
  max-width: 540px;
}
.couture-cta-tile-image .cti-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.9;
  margin-bottom: 10px;
}
.couture-cta-tile-image .cti-title {
  font: 800 clamp(22px, 3.6vw, 36px)/1.15 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.couture-cta-tile-image .cti-body {
  font: 400 14px/1.5 var(--c-sans);
  opacity: 0.92;
  margin-bottom: 18px;
}
.couture-cta-tile-image .cti-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  color: #111;
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.2s ease;
}
.couture-cta-tile-image .cti-action:hover {
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-tile-image .cti-bg img,
  .couture-cta-tile-image .cti-action { transition: none; }
}

/* V6.388 #682 — couture-table-pricing-compare — feature-comparison pricing table */
.couture-table-pricing-compare {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--c-sans);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
}
.couture-table-pricing-compare th,
.couture-table-pricing-compare td {
  padding: 14px 16px;
  text-align: center;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-table-pricing-compare thead th {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-table-pricing-compare thead th[data-featured] {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, var(--c-paper));
  color: var(--c-accent, var(--c-ink));
}
.couture-table-pricing-compare thead th small {
  display: block;
  font: 400 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-table-pricing-compare tbody th {
  text-align: left;
  font: 600 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-table-pricing-compare tbody td {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-table-pricing-compare tbody td .ttp-yes {
  color: #10b981;
  font: 800 14px/1 var(--c-mono);
}
.couture-table-pricing-compare tbody td .ttp-no {
  color: color-mix(in oklab, var(--c-line) 90%, var(--c-ink-soft));
  font: 800 14px/1 var(--c-mono);
}
.couture-table-pricing-compare tbody tr:last-child th,
.couture-table-pricing-compare tbody tr:last-child td {
  border-bottom: none;
}
.couture-table-pricing-compare tbody tr.ttp-section td,
.couture-table-pricing-compare tbody tr.ttp-section th {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  font: 700 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
  padding-block: 10px;
}

/* V6.388 #683 — couture-grid-pin-board — masonry-style irregular pin grid */
.couture-grid-pin-board {
  columns: 3 200px;
  column-gap: 14px;
}
.couture-grid-pin-board .gpb-pin {
  display: block;
  break-inside: avoid;
  margin-bottom: 14px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  position: relative;
}
.couture-grid-pin-board .gpb-pin img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}
.couture-grid-pin-board .gpb-pin:hover img {
  transform: scale(1.04);
}
.couture-grid-pin-board .gpb-pin .gpb-meta {
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.couture-grid-pin-board .gpb-pin .gpb-title {
  font: 600 13px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-grid-pin-board .gpb-pin .gpb-tag {
  font: 500 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  flex-shrink: 0;
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-pin-board .gpb-pin img { transition: none; }
}

/* V6.388 #684 — couture-callout-action-line — clickable accent action callout */
.couture-callout-action-line {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease;
}
.couture-callout-action-line:hover {
  transform: translateX(2px);
}
.couture-callout-action-line .cal-icon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-callout-action-line .cal-text {
  flex: 1;
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-callout-action-line .cal-text strong {
  display: block;
  font: 700 13px/1.4 var(--c-sans);
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-callout-action-line .cal-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-callout-action-line::after {
  content: "\2192";
  font: 500 16px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  flex-shrink: 0;
  transition: transform 0.15s ease;
}
.couture-callout-action-line:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-callout-action-line,
  .couture-callout-action-line::after { transition: none; }
}

/* V6.388 #685 — couture-card-photo-wide — wide photo card w/ caption strip */
.couture-card-photo-wide {
  display: block;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.couture-card-photo-wide:hover {
  transform: translateY(-2px);
  border-color: var(--c-ink);
}
.couture-card-photo-wide .cpw-img {
  aspect-ratio: 16 / 9;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-photo-wide .cpw-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-photo-wide:hover .cpw-img img {
  transform: scale(1.04);
}
.couture-card-photo-wide .cpw-caption {
  padding: 14px 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}
.couture-card-photo-wide .cpw-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-photo-wide .cpw-meta {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-wide,
  .couture-card-photo-wide .cpw-img img { transition: none; }
  .couture-card-photo-wide:hover { transform: none; }
}

/* V6.388 #686 — couture-list-faq-rich — rich-content FAQ entry list */
.couture-list-faq-rich {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-list-faq-rich details {
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
  transition: border-color 0.15s ease;
}
.couture-list-faq-rich details[open] {
  border-color: var(--c-ink);
}
.couture-list-faq-rich summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font: 600 15px/1.4 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-list-faq-rich summary::-webkit-details-marker { display: none; }
.couture-list-faq-rich summary::after {
  content: "";
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid var(--c-ink-soft);
  position: relative;
  transition: border-color 0.15s ease, transform 0.2s ease;
}
.couture-list-faq-rich summary::before {
  content: "+";
  position: absolute;
  right: 23px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 400 18px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.2s ease, color 0.15s ease;
}
.couture-list-faq-rich details[open] summary::before {
  transform: rotate(45deg);
  color: var(--c-ink);
}
.couture-list-faq-rich details[open] summary::after {
  border-color: var(--c-ink);
}
.couture-list-faq-rich .lfr-body {
  padding: 0 18px 18px;
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-list-faq-rich .lfr-body a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: underline;
  text-underline-offset: 2px;
}
.couture-list-faq-rich .lfr-body code {
  font: 600 12px/1.3 var(--c-mono);
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-list-faq-rich details,
  .couture-list-faq-rich summary::before,
  .couture-list-faq-rich summary::after { transition: none; }
}

/* V6.388 #687 — couture-tile-cluster-stack — stacked-tile cluster card */
.couture-tile-cluster-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 80px 80px 80px;
  gap: 6px;
  height: 252px;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  padding: 1px;
}
.couture-tile-cluster-stack .tcs-cell {
  background: var(--c-paper);
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font: 600 12px/1.2 var(--c-mono);
  color: var(--c-ink);
  border-radius: 6px;
}
.couture-tile-cluster-stack .tcs-cell:nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 24%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper))
  );
}
.couture-tile-cluster-stack .tcs-cell .tcs-num {
  font: 800 28px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
}
.couture-tile-cluster-stack .tcs-cell .tcs-label {
  font: 500 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}

/* V6.388 #688 — couture-card-pinned-note — sticky-note style fixed card */
.couture-card-pinned-note {
  position: relative;
  padding: clamp(20px, 2.6vw, 26px);
  border-radius: 4px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, #fde68a 55%, var(--c-paper)),
    color-mix(in oklab, #fcd34d 35%, var(--c-paper))
  );
  color: color-mix(in oklab, #78350f 80%, var(--c-ink));
  box-shadow:
    0 8px 18px -8px rgba(0,0,0,0.18),
    0 1px 4px -1px rgba(0,0,0,0.08);
  transform: rotate(-1.5deg);
  font-family: var(--c-sans);
  max-width: 320px;
}
.couture-card-pinned-note::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 12px;
  background: color-mix(in oklab, var(--c-paper) 70%, transparent);
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.18);
}
.couture-card-pinned-note .cpn-label {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
  opacity: 0.7;
}
.couture-card-pinned-note .cpn-text {
  font: 500 14px/1.5 var(--c-sans);
}
.couture-card-pinned-note .cpn-meta {
  margin-top: 12px;
  font: 400 11px/1.3 var(--c-mono);
  opacity: 0.75;
}

/* V6.388 #689 — couture-list-link-grouped — grouped link list with section headings */
.couture-list-link-grouped {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3vw, 36px);
  font-family: var(--c-sans);
}
.couture-list-link-grouped .llg-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-list-link-grouped .llg-heading {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-list-link-grouped .llg-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-list-link-grouped .llg-list a {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-list-link-grouped .llg-list a:hover {
  color: var(--c-ink);
}
.couture-list-link-grouped .llg-list .llg-tag {
  display: inline-block;
  padding: 1px 6px;
  margin-left: 6px;
  border-radius: 999px;
  font: 700 9px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
  color: var(--c-accent, var(--c-ink));
}
@media (max-width: 720px) {
  .couture-list-link-grouped { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .couture-list-link-grouped { grid-template-columns: 1fr; }
}

/* V6.388 #690 — couture-cta-stripe-rotated — diagonal rotated CTA stripe */
.couture-cta-stripe-rotated {
  position: relative;
  margin: clamp(40px, 6vw, 80px) 0;
  padding: clamp(40px, 6vw, 64px) clamp(20px, 4vw, 40px);
  border-radius: 24px;
  background: var(--c-ink);
  color: var(--c-paper);
  overflow: hidden;
}
.couture-cta-stripe-rotated::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -10%;
  right: -10%;
  bottom: -50%;
  background: repeating-linear-gradient(
    135deg,
    transparent 0,
    transparent 60px,
    color-mix(in oklab, var(--c-paper) 4%, transparent) 60px,
    color-mix(in oklab, var(--c-paper) 4%, transparent) 120px
  );
  pointer-events: none;
}
.couture-cta-stripe-rotated .csr-eyebrow {
  position: relative;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-accent, var(--c-paper)) 70%, var(--c-paper));
  margin-bottom: 14px;
}
.couture-cta-stripe-rotated .csr-title {
  position: relative;
  font: 800 clamp(28px, 4.5vw, 48px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  margin-bottom: 14px;
  max-width: 720px;
}
.couture-cta-stripe-rotated .csr-body {
  position: relative;
  font: 400 16px/1.6 var(--c-sans);
  color: color-mix(in oklab, var(--c-paper) 80%, var(--c-ink-soft));
  margin-bottom: 24px;
  max-width: 540px;
}
.couture-cta-stripe-rotated .csr-actions {
  position: relative;
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
}
.couture-cta-stripe-rotated .csr-action {
  padding: 12px 22px;
  border-radius: 10px;
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-cta-stripe-rotated .csr-action.is-primary {
  background: var(--c-paper);
  color: var(--c-ink);
}
.couture-cta-stripe-rotated .csr-action.is-secondary {
  border: 1px solid color-mix(in oklab, var(--c-paper) 40%, transparent);
  color: var(--c-paper);
  background: transparent;
}
.couture-cta-stripe-rotated .csr-action:hover {
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-stripe-rotated .csr-action { transition: none; }
}

/* V6.388 #691 — couture-card-info-icon-large — large-icon info card */
.couture-card-info-icon-large {
  padding: clamp(24px, 3vw, 32px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-align: center;
  align-items: center;
}
.couture-card-info-icon-large .ciil-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 32px/1 var(--c-display, var(--c-sans));
}
.couture-card-info-icon-large .ciil-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-icon-large .ciil-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-icon-large .ciil-link {
  margin-top: 4px;
  font: 600 13px/1 var(--c-sans);
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-info-icon-large .ciil-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-info-icon-large .ciil-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-info-icon-large .ciil-link::after { transition: none; }
}

/* V6.388 #692 — couture-card-step-square — square step card with corner number */
.couture-card-step-square {
  position: relative;
  padding: clamp(20px, 2.6vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.couture-card-step-square::after {
  content: attr(data-step);
  position: absolute;
  top: 16px;
  right: 16px;
  font: 800 36px/1 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 25%, transparent);
  letter-spacing: -0.04em;
  pointer-events: none;
  user-select: none;
}
.couture-card-step-square .css-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-step-square .css-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-top: auto;
  margin-bottom: 6px;
}
.couture-card-step-square .css-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* V6.388 #693 — couture-callout-banner-stripe — striped accent banner */
.couture-callout-banner-stripe {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px 14px 22px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-bg));
  border-left: 6px solid var(--c-accent, var(--c-ink));
  position: relative;
  overflow: hidden;
}
.couture-callout-banner-stripe::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -6px;
  width: 6px;
  background: repeating-linear-gradient(
    -45deg,
    var(--c-accent, var(--c-ink)) 0 6px,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 60%, var(--c-ink)) 6px 12px
  );
}
.couture-callout-banner-stripe .ccbs-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-callout-banner-stripe .ccbs-text {
  flex: 1;
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-callout-banner-stripe .ccbs-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-callout-banner-stripe .ccbs-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-callout-banner-stripe .ccbs-action {
  flex-shrink: 0;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}
.couture-callout-banner-stripe .ccbs-action:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* V6.388 #694 — couture-card-team-bio — full team member bio card */
.couture-card-team-bio {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-team-bio .ctb-photo {
  aspect-ratio: 1 / 1;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-team-bio .ctb-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease, filter 0.4s ease;
}
.couture-card-team-bio:hover .ctb-photo img {
  transform: scale(1.04);
  filter: brightness(1.05);
}
.couture-card-team-bio .ctb-content {
  padding: clamp(16px, 2.4vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-team-bio .ctb-name {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-team-bio .ctb-role {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-team-bio .ctb-bio {
  margin-top: 6px;
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-team-bio .ctb-socials {
  display: inline-flex;
  gap: 6px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-team-bio .ctb-socials a {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-card-team-bio .ctb-socials a:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-team-bio .ctb-photo img { transition: none; }
}

/* V6.388 #695 — couture-grid-stats-strip — 4-up horizontal stats strip */
.couture-grid-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  overflow: hidden;
}
.couture-grid-stats-strip .gss-cell {
  padding: clamp(20px, 2.6vw, 28px) 16px;
  background: var(--c-paper);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
}
.couture-grid-stats-strip .gss-num {
  font: 800 clamp(26px, 3.4vw, 36px)/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-grid-stats-strip .gss-num small {
  font: 700 0.6em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
  margin-left: 2px;
}
.couture-grid-stats-strip .gss-label {
  font: 500 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-grid-stats-strip { grid-template-columns: 1fr 1fr; }
}

/* V6.388 #696 — couture-feature-callout-vertical — vertical feature card stack */
.couture-feature-callout-vertical {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: clamp(20px, 3vw, 32px);
  border-radius: 18px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-feature-callout-vertical .fcv-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
}
.couture-feature-callout-vertical .fcv-title {
  font: 700 clamp(22px, 3vw, 28px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-feature-callout-vertical .fcv-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-feature-callout-vertical .fcv-points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-feature-callout-vertical .fcv-points li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-feature-callout-vertical .fcv-points li::before {
  content: "";
  width: 24px;
  height: 24px;
  margin-top: 1px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-mono);
}
.couture-feature-callout-vertical .fcv-points li {
  color: var(--c-ink);
  font-weight: 500;
}
.couture-feature-callout-vertical .fcv-points li small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-feature-callout-vertical .fcv-foot {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-feature-callout-vertical .fcv-foot a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}

/* V6.388 #697 — couture-card-quote-portrait — testimonial w/ portrait left + quote right */
.couture-card-quote-portrait {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
  padding: clamp(20px, 3vw, 32px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-quote-portrait .cqp-portrait {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  border: 4px solid var(--c-paper);
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--c-line) 60%, transparent),
    0 6px 18px -8px rgba(0,0,0,0.18);
}
.couture-card-quote-portrait .cqp-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-quote-portrait .cqp-quote {
  font: 500 clamp(15px, 1.8vw, 18px)/1.6 var(--c-sans);
  color: var(--c-ink);
  margin-bottom: 14px;
  position: relative;
  padding-left: 16px;
}
.couture-card-quote-portrait .cqp-quote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 3px;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-quote-portrait .cqp-author {
  font: 700 13px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-quote-portrait .cqp-role {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
@media (max-width: 540px) {
  .couture-card-quote-portrait {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-quote-portrait .cqp-portrait { margin-inline: auto; width: 96px; height: 96px; }
  .couture-card-quote-portrait .cqp-quote { padding-left: 0; }
  .couture-card-quote-portrait .cqp-quote::before { display: none; }
}

/* V6.388 #698 — couture-feature-list-icon-flat — flat icon feature checklist */
.couture-feature-list-icon-flat {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 32px;
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: var(--c-sans);
}
.couture-feature-list-icon-flat li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
}
.couture-feature-list-icon-flat .flif-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper));
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
  margin-top: 2px;
}
.couture-feature-list-icon-flat .flif-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-feature-list-icon-flat .flif-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-feature-list-icon-flat { grid-template-columns: 1fr; }
}

/* V6.388 #699 — couture-feature-cta-stack — vertical feature CTA stack */
.couture-feature-cta-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.couture-feature-cta-stack .fcs-row {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-feature-cta-stack .fcs-row:hover {
  border-color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
.couture-feature-cta-stack .fcs-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-feature-cta-stack .fcs-text {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-feature-cta-stack .fcs-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-feature-cta-stack .fcs-arrow {
  font: 500 16px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.15s ease, color 0.15s ease;
}
.couture-feature-cta-stack .fcs-row:hover .fcs-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-feature-cta-stack .fcs-row,
  .couture-feature-cta-stack .fcs-arrow { transition: none; }
  .couture-feature-cta-stack .fcs-row:hover { transform: none; }
}

/* V6.388 #700 — 🎉 700 MILESTONE — couture-trophy-banner — celebratory anchored ribbon */
.couture-trophy-banner {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 14px 22px 14px 18px;
  border-radius: 999px 12px 12px 999px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, #fbbf24 80%, var(--c-paper)),
    color-mix(in oklab, #f59e0b 60%, var(--c-paper))
  );
  color: color-mix(in oklab, #78350f 80%, var(--c-ink));
  border: 1px solid color-mix(in oklab, #f59e0b 30%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-trophy-banner::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 60%;
  background: radial-gradient(
    ellipse at center left,
    color-mix(in oklab, #fde68a 60%, transparent),
    transparent 70%
  );
  pointer-events: none;
}
.couture-trophy-banner .ttb-icon {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, #b45309 75%, var(--c-ink));
}
.couture-trophy-banner .ttb-text {
  position: relative;
  font: 700 13px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-trophy-banner .ttb-text strong {
  display: block;
  font: 800 16px/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  text-transform: none;
  margin-bottom: 1px;
}

/* V6.388 #701 — couture-card-mini-product-row — slim horizontal product card row */
.couture-card-mini-product-row {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-mini-product-row:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-card-mini-product-row .cmpr-thumb {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-mini-product-row .cmpr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-mini-product-row .cmpr-info {
  min-width: 0;
}
.couture-card-mini-product-row .cmpr-name {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-mini-product-row .cmpr-meta {
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-mini-product-row .cmpr-price {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-card-mini-product-row .cmpr-price small {
  display: block;
  font: 400 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
  text-decoration: line-through;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-mini-product-row { transition: none; }
  .couture-card-mini-product-row:hover { transform: none; }
}

/* V6.388 #702 — couture-card-feature-asymm — asymmetric image + text feature card */
.couture-card-feature-asymm {
  position: relative;
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 0;
  border-radius: 20px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  isolation: isolate;
}
.couture-card-feature-asymm .cfa-media {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-card-feature-asymm .cfa-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-feature-asymm .cfa-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 60%, color-mix(in oklab, var(--c-paper) 30%, transparent));
}
.couture-card-feature-asymm .cfa-content {
  padding: clamp(24px, 3.4vw, 40px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.couture-card-feature-asymm .cfa-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-asymm .cfa-title {
  font: 700 clamp(22px, 3vw, 30px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-asymm .cfa-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 440px;
}
.couture-card-feature-asymm .cfa-list {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-feature-asymm .cfa-list li {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-card-feature-asymm .cfa-list li::before {
  content: "\2713";
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono);
  flex-shrink: 0;
}
@media (max-width: 720px) {
  .couture-card-feature-asymm { grid-template-columns: 1fr; }
  .couture-card-feature-asymm .cfa-media { aspect-ratio: 16 / 10; }
}

/* V6.388 #703 — couture-grid-image-trio-asymm — asymmetric 3-image grid */
.couture-grid-image-trio-asymm {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  aspect-ratio: 16 / 11;
}
.couture-grid-image-trio-asymm .gita-cell {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-grid-image-trio-asymm .gita-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-grid-image-trio-asymm .gita-cell:hover img {
  transform: scale(1.05);
}
.couture-grid-image-trio-asymm .gita-cell:nth-child(1) { grid-row: 1 / 3; }
.couture-grid-image-trio-asymm .gita-cell .gita-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  color: var(--c-ink);
}
@media (max-width: 540px) {
  .couture-grid-image-trio-asymm {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    aspect-ratio: auto;
  }
  .couture-grid-image-trio-asymm .gita-cell:nth-child(1) {
    grid-row: auto;
    aspect-ratio: 16 / 10;
  }
  .couture-grid-image-trio-asymm .gita-cell:not(:first-child) {
    aspect-ratio: 16 / 10;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-image-trio-asymm .gita-cell img { transition: none; }
}

/* V6.388 #704 — couture-button-group-bordered — bordered button group */
.couture-button-group-bordered {
  display: inline-flex;
  border-radius: 10px;
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  background: var(--c-paper);
  overflow: hidden;
}
.couture-button-group-bordered button,
.couture-button-group-bordered a {
  flex: 0 0 auto;
  border: none;
  background: transparent;
  padding: 10px 16px;
  font: 600 13px/1 var(--c-sans);
  color: var(--c-ink-soft);
  cursor: pointer;
  text-decoration: none;
  position: relative;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-button-group-bordered button + button,
.couture-button-group-bordered a + a,
.couture-button-group-bordered button + a,
.couture-button-group-bordered a + button {
  border-left: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-button-group-bordered button:hover,
.couture-button-group-bordered a:hover {
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-button-group-bordered button[aria-pressed="true"],
.couture-button-group-bordered a[aria-current="page"],
.couture-button-group-bordered .is-active {
  color: var(--c-paper);
  background: var(--c-ink);
}
.couture-button-group-bordered .bgb-icon {
  display: inline-flex;
  align-items: center;
  margin-right: 6px;
  font: 500 14px/1 var(--c-mono);
}

/* V6.388 #705 — couture-feature-checklist-card — checklist card with grouping */
.couture-feature-checklist-card {
  padding: clamp(20px, 2.6vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-feature-checklist-card .fcc-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-feature-checklist-card .fcc-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-feature-checklist-card .fcc-status {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}
.couture-feature-checklist-card .fcc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-feature-checklist-card .fcc-list li {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 10px;
  align-items: center;
  font: 400 14px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-feature-checklist-card .fcc-list li::before {
  content: "\2713";
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 15%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}
.couture-feature-checklist-card .fcc-list li[data-state="pending"]::before {
  content: "";
  background: transparent;
  border: 1.5px dashed color-mix(in oklab, var(--c-line) 75%, transparent);
}
.couture-feature-checklist-card .fcc-list li[data-state="pending"] {
  color: var(--c-ink-soft);
}
.couture-feature-checklist-card .fcc-list .fcc-meta {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  white-space: nowrap;
}

/* V6.388 #706 — couture-card-text-large — large text-only card */
.couture-card-text-large {
  padding: clamp(28px, 4vw, 48px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.couture-card-text-large .ctl-meta {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-text-large .ctl-title {
  font: 700 clamp(24px, 3.4vw, 36px)/1.15 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-text-large .ctl-body {
  font: 400 clamp(15px, 1.6vw, 17px)/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 640px;
}
.couture-card-text-large .ctl-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-text-large .ctl-foot a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-text-large .ctl-foot a::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-text-large .ctl-foot a:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-text-large .ctl-foot a::after { transition: none; }
}

/* V6.388 #707 — couture-list-mini-link-tile — tile-grid of mini links */
.couture-list-mini-link-tile {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-list-mini-link-tile li a {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-list-mini-link-tile li a:hover {
  border-color: var(--c-ink);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-list-mini-link-tile .lmlt-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-list-mini-link-tile .lmlt-text {
  font: 500 12px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-list-mini-link-tile .lmlt-text small {
  display: block;
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
@media (max-width: 720px) {
  .couture-list-mini-link-tile { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .couture-list-mini-link-tile { grid-template-columns: 1fr; }
}

/* V6.388 #708 — couture-card-feature-icon-line — line-style feature card */
.couture-card-feature-icon-line {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-line + .couture-card-feature-icon-line {
  margin-top: 8px;
}
.couture-card-feature-icon-line .cfil-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-icon-line .cfil-text {
  min-width: 0;
}
.couture-card-feature-icon-line .cfil-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-line .cfil-body {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-feature-icon-line .cfil-state {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
}
.couture-card-feature-icon-line .cfil-state[data-tone="muted"] {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
}
.couture-card-feature-icon-line .cfil-state[data-tone="success"] {
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: color-mix(in oklab, #047857 75%, var(--c-ink));
}

/* V6.388 #709 — couture-list-tagged-inline — inline tag-prefixed list */
.couture-list-tagged-inline {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-list-tagged-inline li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-list-tagged-inline li:last-child { border-bottom: none; }
.couture-list-tagged-inline .lti-tag {
  flex-shrink: 0;
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font: 700 10px/1.5 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-list-tagged-inline .lti-tag[data-tone="info"] {
  background: color-mix(in oklab, #3b82f6 14%, var(--c-paper));
  color: color-mix(in oklab, #1e40af 70%, var(--c-ink));
  border-color: color-mix(in oklab, #3b82f6 30%, transparent);
}
.couture-list-tagged-inline .lti-tag[data-tone="warn"] {
  background: color-mix(in oklab, #f59e0b 14%, var(--c-paper));
  color: color-mix(in oklab, #92400e 75%, var(--c-ink));
  border-color: color-mix(in oklab, #f59e0b 30%, transparent);
}
.couture-list-tagged-inline .lti-tag[data-tone="success"] {
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: color-mix(in oklab, #047857 75%, var(--c-ink));
  border-color: color-mix(in oklab, #10b981 30%, transparent);
}
.couture-list-tagged-inline .lti-text {
  flex: 1;
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink);
}
.couture-list-tagged-inline .lti-text strong {
  font-weight: 700;
}
.couture-list-tagged-inline .lti-meta {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  white-space: nowrap;
}

/* V6.388 #710 — couture-callout-soft-tinted — soft accent-tinted callout */
.couture-callout-soft-tinted {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 8%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
}
.couture-callout-soft-tinted .cst-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-callout-soft-tinted .cst-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-callout-soft-tinted .cst-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-callout-soft-tinted .cst-link {
  display: inline-block;
  margin-top: 8px;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}
.couture-callout-soft-tinted .cst-link::after {
  content: "\2192";
  margin-left: 4px;
  display: inline-block;
  transition: transform 0.15s ease;
}
.couture-callout-soft-tinted .cst-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-callout-soft-tinted .cst-link::after { transition: none; }
}

/* V6.388 #711 — couture-card-cta-vertical — vertical CTA card with single action */
.couture-card-cta-vertical {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  text-align: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.couture-card-cta-vertical::before {
  content: "";
  position: absolute;
  inset: -50% 0 auto 50%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(
    closest-side,
    color-mix(in oklab, var(--c-accent, var(--c-paper)) 25%, transparent),
    transparent 70%
  );
  transform: translateX(-50%);
  pointer-events: none;
}
.couture-card-cta-vertical .ccv-icon {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--c-paper) 15%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 26px/1 var(--c-display, var(--c-sans));
}
.couture-card-cta-vertical .ccv-title {
  position: relative;
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
}
.couture-card-cta-vertical .ccv-body {
  position: relative;
  font: 400 14px/1.55 var(--c-sans);
  color: color-mix(in oklab, var(--c-paper) 80%, var(--c-ink-soft));
  max-width: 380px;
}
.couture-card-cta-vertical .ccv-action {
  position: relative;
  margin-top: 4px;
  padding: 12px 24px;
  border-radius: 10px;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-card-cta-vertical .ccv-action:hover {
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-cta-vertical .ccv-action { transition: none; }
}

/* V6.388 #712 — couture-card-quote-minimal — minimal pull-quote w/ side accent */
.couture-card-quote-minimal {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 18px 18px 22px;
  border-left: 3px solid var(--c-accent, var(--c-ink));
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border-radius: 0 10px 10px 0;
  font-family: var(--c-sans);
}
.couture-card-quote-minimal .cqm-text {
  font: 500 15px/1.55 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-quote-minimal .cqm-attribution {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-quote-minimal .cqm-attribution a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}
.couture-card-quote-minimal .cqm-attribution a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* V6.388 #713 — couture-card-stat-circle — circular-icon stat tile */
.couture-card-stat-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-stat-circle .csc-ring {
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: conic-gradient(
    var(--c-accent, var(--c-ink)) calc(var(--csc-pct, 70) * 1%),
    color-mix(in oklab, var(--c-line) 70%, transparent) 0
  );
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.couture-card-stat-circle .csc-ring::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-card-stat-circle .csc-ring strong {
  position: relative;
  font: 800 16px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
}
.couture-card-stat-circle .csc-label {
  font: 700 12px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-stat-circle .csc-detail {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #714 — couture-tile-cta-corner — corner-accent CTA tile */
.couture-tile-cta-corner {
  position: relative;
  padding: clamp(20px, 3vw, 32px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}
.couture-tile-cta-corner::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background: linear-gradient(
    135deg,
    transparent 50%,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent) 50%,
    var(--c-accent, var(--c-ink)) 100%
  );
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  transform: translate(20px, 20px);
}
.couture-tile-cta-corner:hover::after {
  opacity: 1;
  transform: translate(0, 0);
}
.couture-tile-cta-corner .ttc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 10px;
}
.couture-tile-cta-corner .ttc-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-tile-cta-corner .ttc-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}
.couture-tile-cta-corner .ttc-arrow {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-tile-cta-corner .ttc-arrow::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-tile-cta-corner:hover .ttc-arrow::after {
  transform: translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-tile-cta-corner::after,
  .couture-tile-cta-corner .ttc-arrow::after { transition: none; }
}

/* V6.388 #715 — couture-card-resource-grid — 2x2 resource link grid card */
.couture-card-resource-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 16px;
  overflow: hidden;
}
.couture-card-resource-grid > a {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: center;
  padding: 16px 18px;
  background: var(--c-paper);
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-resource-grid > a:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-card-resource-grid .crg-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-resource-grid .crg-text {
  min-width: 0;
}
.couture-card-resource-grid .crg-name {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-resource-grid .crg-meta {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
@media (max-width: 480px) {
  .couture-card-resource-grid { grid-template-columns: 1fr; }
}

/* V6.388 #716 — couture-progress-circle — circular percent ring */
.couture-progress-circle {
  --pgc-pct: 65;
  --pgc-size: 80px;
  --pgc-thickness: 8px;
  position: relative;
  width: var(--pgc-size);
  height: var(--pgc-size);
  border-radius: 50%;
  background:
    conic-gradient(
      var(--c-accent, var(--c-ink)) calc(var(--pgc-pct) * 1%),
      color-mix(in oklab, var(--c-line) 70%, transparent) 0
    );
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.couture-progress-circle::after {
  content: "";
  position: absolute;
  inset: var(--pgc-thickness);
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-progress-circle .pgc-num {
  position: relative;
  font: 800 18px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
}
.couture-progress-circle .pgc-num small {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 1px;
}
.couture-progress-circle.is-large {
  --pgc-size: 120px;
  --pgc-thickness: 10px;
}
.couture-progress-circle.is-large .pgc-num {
  font-size: 28px;
}
.couture-progress-circle.is-success { --c-accent: #10b981; }
.couture-progress-circle.is-warn { --c-accent: #f59e0b; }
.couture-progress-circle.is-danger { --c-accent: #ef4444; }

/* V6.388 #717 — couture-card-event-mini — small event-listing card */
.couture-card-event-mini {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-event-mini .cem-date {
  width: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 0;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-event-mini .cem-month {
  font: 700 9px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.couture-card-event-mini .cem-day {
  font: 800 18px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}
.couture-card-event-mini .cem-info { min-width: 0; }
.couture-card-event-mini .cem-title {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-event-mini .cem-meta {
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-event-mini + .couture-card-event-mini { margin-top: 6px; }

/* V6.388 #718 — couture-list-changelog-anchored — anchored changelog timeline */
.couture-list-changelog-anchored {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
}
.couture-list-changelog-anchored::before {
  content: "";
  position: absolute;
  left: 70px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-list-changelog-anchored li {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 24px;
  position: relative;
}
.couture-list-changelog-anchored li::before {
  content: "";
  position: absolute;
  left: 64px;
  top: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-accent, var(--c-ink));
  z-index: 1;
}
.couture-list-changelog-anchored .lca-version {
  font: 700 12px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-align: right;
  padding-top: 4px;
  padding-right: 14px;
}
.couture-list-changelog-anchored .lca-version small {
  display: block;
  font: 400 10px/1.2 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 2px;
  text-transform: none;
  letter-spacing: 0;
}
.couture-list-changelog-anchored .lca-content {
  padding-left: 16px;
}
.couture-list-changelog-anchored .lca-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-list-changelog-anchored .lca-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-list-changelog-anchored .lca-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.couture-list-changelog-anchored .lca-tags span {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font: 700 10px/1.5 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
}
.couture-list-changelog-anchored .lca-tags span[data-tone="new"] {
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: color-mix(in oklab, #047857 75%, var(--c-ink));
}
.couture-list-changelog-anchored .lca-tags span[data-tone="fix"] {
  background: color-mix(in oklab, #f59e0b 14%, var(--c-paper));
  color: color-mix(in oklab, #92400e 75%, var(--c-ink));
}
.couture-list-changelog-anchored .lca-tags span[data-tone="break"] {
  background: color-mix(in oklab, #ef4444 14%, var(--c-paper));
  color: color-mix(in oklab, #991b1b 75%, var(--c-ink));
}

/* V6.388 #719 — couture-link-tag-pill — link styled as a tag pill */
.couture-link-tag-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px 6px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  font: 600 12px/1.3 var(--c-sans);
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.couture-link-tag-pill::before {
  content: "#";
  font-family: var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  font-weight: 700;
}
.couture-link-tag-pill:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-link-tag-pill:hover::before {
  color: color-mix(in oklab, var(--c-paper) 60%, var(--c-accent, var(--c-ink)));
}
.couture-link-tag-pill .ltp-count {
  margin-left: 4px;
  padding: 2px 6px;
  border-radius: 999px;
  font: 700 9px/1.4 var(--c-mono);
  background: color-mix(in oklab, var(--c-paper) 90%, var(--c-bg));
  color: var(--c-ink-soft);
}
.couture-link-tag-pill:hover .ltp-count {
  background: color-mix(in oklab, var(--c-paper) 28%, transparent);
  color: var(--c-paper);
}

/* V6.388 #720 — couture-grid-cards-3-mixed — 3-up mixed-content card grid */
.couture-grid-cards-3-mixed {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.couture-grid-cards-3-mixed .gcm-cell {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  position: relative;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-grid-cards-3-mixed .gcm-cell:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-grid-cards-3-mixed .gcm-cell[data-variant="dark"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-grid-cards-3-mixed .gcm-cell[data-variant="accent"] {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
}
.couture-grid-cards-3-mixed .gcm-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-grid-cards-3-mixed .gcm-cell[data-variant="dark"] .gcm-eyebrow {
  color: color-mix(in oklab, var(--c-accent, var(--c-paper)) 75%, var(--c-paper));
}
.couture-grid-cards-3-mixed .gcm-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: inherit;
}
.couture-grid-cards-3-mixed .gcm-body {
  font: 400 13px/1.55 var(--c-sans);
  color: inherit;
  opacity: 0.85;
}
.couture-grid-cards-3-mixed .gcm-link {
  margin-top: auto;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-grid-cards-3-mixed .gcm-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-grid-cards-3-mixed .gcm-cell:hover .gcm-link::after {
  transform: translateX(3px);
}
@media (max-width: 720px) {
  .couture-grid-cards-3-mixed { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-cards-3-mixed .gcm-cell,
  .couture-grid-cards-3-mixed .gcm-link::after { transition: none; }
  .couture-grid-cards-3-mixed .gcm-cell:hover { transform: none; }
}

/* V6.388 #721 — couture-card-photo-stack — overlapping photo-stack card */
.couture-card-photo-stack {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  perspective: 1000px;
}
.couture-card-photo-stack .cps-img {
  position: absolute;
  inset: 0;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 4px solid var(--c-paper);
  box-shadow: 0 6px 18px -8px rgba(0,0,0,0.18);
  transition: transform 0.3s ease;
}
.couture-card-photo-stack .cps-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-stack .cps-img:nth-child(3) { transform: rotate(-6deg) translate(-12px, 8px); z-index: 1; }
.couture-card-photo-stack .cps-img:nth-child(2) { transform: rotate(3deg) translate(8px, -4px);  z-index: 2; }
.couture-card-photo-stack .cps-img:nth-child(1) { transform: rotate(-1deg);                         z-index: 3; }
.couture-card-photo-stack:hover .cps-img:nth-child(1) { transform: rotate(0); }
.couture-card-photo-stack:hover .cps-img:nth-child(2) { transform: rotate(6deg) translate(20px, -10px); }
.couture-card-photo-stack:hover .cps-img:nth-child(3) { transform: rotate(-9deg) translate(-22px, 14px); }
.couture-card-photo-stack .cps-caption {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 4;
  padding: 14px 18px;
  text-align: center;
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-stack .cps-img { transition: none; }
}

/* V6.388 #722 — couture-link-card-grid-row — single-row link card with metadata */
.couture-link-card-grid-row {
  display: grid;
  grid-template-columns: 64px 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-link-card-grid-row:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-link-card-grid-row .lcgr-thumb {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-link-card-grid-row .lcgr-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-link-card-grid-row .lcgr-info { min-width: 0; }
.couture-link-card-grid-row .lcgr-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-link-card-grid-row .lcgr-body {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-link-card-grid-row .lcgr-meta {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-align: right;
  white-space: nowrap;
}
.couture-link-card-grid-row .lcgr-meta strong {
  display: block;
  font: 700 12px/1.2 var(--c-mono);
  color: var(--c-ink);
}
.couture-link-card-grid-row .lcgr-arrow {
  font: 500 18px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.15s ease, color 0.15s ease;
}
.couture-link-card-grid-row:hover .lcgr-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(3px);
}
@media (max-width: 540px) {
  .couture-link-card-grid-row {
    grid-template-columns: 56px 1fr;
  }
  .couture-link-card-grid-row .lcgr-meta,
  .couture-link-card-grid-row .lcgr-arrow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-card-grid-row,
  .couture-link-card-grid-row .lcgr-arrow { transition: none; }
  .couture-link-card-grid-row:hover { transform: none; }
}

/* V6.388 #723 — couture-cta-action-bordered — bordered action CTA group */
.couture-cta-action-bordered {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 2px solid var(--c-ink);
  flex-wrap: wrap;
}
.couture-cta-action-bordered .ctab-text {
  flex: 1;
  min-width: 200px;
}
.couture-cta-action-bordered .ctab-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 4px;
}
.couture-cta-action-bordered .ctab-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-cta-action-bordered .ctab-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-cta-action-bordered .ctab-actions {
  display: inline-flex;
  gap: 10px;
  flex-shrink: 0;
}
.couture-cta-action-bordered .ctab-action {
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  border: 1px solid var(--c-ink);
}
.couture-cta-action-bordered .ctab-action.is-secondary {
  background: transparent;
  color: var(--c-ink);
}

/* V6.388 #724 — couture-card-feature-stat-row — feature card with inline stat row */
.couture-card-feature-stat-row {
  padding: clamp(20px, 3vw, 32px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.couture-card-feature-stat-row .cfsr-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-stat-row .cfsr-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-stat-row .cfsr-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-stat-row .cfsr-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-stat-row .cfsr-stat {
  padding: 14px 12px;
  background: var(--c-paper);
  text-align: center;
}
.couture-card-feature-stat-row .cfsr-stat .cfsr-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-stat-row .cfsr-stat .cfsr-num small {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-stat-row .cfsr-stat .cfsr-label {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}
@media (max-width: 540px) {
  .couture-card-feature-stat-row .cfsr-stats { grid-template-columns: 1fr; }
}

/* V6.388 #725 — couture-card-spotlight-radial — radial spotlight CTA card */
.couture-card-spotlight-radial {
  position: relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  isolation: isolate;
}
.couture-card-spotlight-radial::before {
  content: "";
  position: absolute;
  top: -40%;
  left: 50%;
  width: 80%;
  height: 80%;
  background: radial-gradient(
    closest-side,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 20%, transparent),
    transparent 70%
  );
  transform: translateX(-50%);
  pointer-events: none;
  z-index: -1;
}
.couture-card-spotlight-radial .csr-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 24px/1 var(--c-display, var(--c-sans));
  margin-bottom: 18px;
  box-shadow: 0 8px 16px -8px color-mix(in oklab, var(--c-accent, var(--c-ink)) 40%, transparent);
}
.couture-card-spotlight-radial .csr-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 10px;
}
.couture-card-spotlight-radial .csr-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}
.couture-card-spotlight-radial .csr-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 13px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}
.couture-card-spotlight-radial .csr-action::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-spotlight-radial .csr-action:hover::after {
  transform: translateX(4px);
}

/* V6.388 #726 — couture-card-bordered-icon-tile — heavily-bordered icon tile */
.couture-card-bordered-icon-tile {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 75%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-bordered-icon-tile:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-card-bordered-icon-tile .cbit-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-ink) 18%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 var(--c-display, var(--c-sans));
}
.couture-card-bordered-icon-tile .cbit-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-bordered-icon-tile .cbit-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-bordered-icon-tile .cbit-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-bordered-icon-tile .cbit-foot .cbit-arrow {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-bordered-icon-tile .cbit-foot .cbit-arrow::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-bordered-icon-tile:hover .cbit-foot .cbit-arrow::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-bordered-icon-tile,
  .couture-card-bordered-icon-tile .cbit-foot .cbit-arrow::after { transition: none; }
  .couture-card-bordered-icon-tile:hover { transform: none; }
}

/* V6.388 #727 — couture-card-info-action-strip — info card w/ side action bar */
.couture-card-info-action-strip {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-info-action-strip .cias-content {
  padding: clamp(16px, 2.4vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.couture-card-info-action-strip .cias-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-info-action-strip .cias-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-action-strip .cias-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-action-strip .cias-action {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 16px clamp(20px, 3vw, 28px);
  background: var(--c-ink);
  color: var(--c-paper);
  text-decoration: none;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: background 0.15s ease;
}
.couture-card-info-action-strip .cias-action:hover {
  background: var(--c-accent, var(--c-ink));
}
.couture-card-info-action-strip .cias-action strong {
  font: 800 18px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  text-transform: none;
}

/* V6.388 #728 — couture-list-block-numbered-cards — numbered card list */
.couture-list-block-numbered-cards {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  counter-reset: lbnc;
}
.couture-list-block-numbered-cards li {
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  counter-increment: lbnc;
}
.couture-list-block-numbered-cards li::before {
  content: counter(lbnc, decimal-leading-zero);
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-list-block-numbered-cards .lbnc-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-list-block-numbered-cards .lbnc-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-list-block-numbered-cards .lbnc-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}

/* V6.388 #729 — couture-cta-section-fullwidth — full-width CTA section */
.couture-cta-section-fullwidth {
  padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 48px);
  text-align: center;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg)),
    color-mix(in oklab, var(--c-paper) 88%, var(--c-bg))
  );
  border-radius: 24px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-cta-section-fullwidth .csfw-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 16px;
}
.couture-cta-section-fullwidth .csfw-title {
  font: 800 clamp(32px, 5vw, 56px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
  margin-bottom: 16px;
  max-width: 880px;
  margin-inline: auto;
}
.couture-cta-section-fullwidth .csfw-body {
  font: 400 16px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin: 0 auto 28px;
  max-width: 540px;
}
.couture-cta-section-fullwidth .csfw-actions {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 18px;
}
.couture-cta-section-fullwidth .csfw-action {
  padding: 14px 28px;
  border-radius: 12px;
  font: 600 15px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-cta-section-fullwidth .csfw-action.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-cta-section-fullwidth .csfw-action.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-cta-section-fullwidth .csfw-action:hover {
  transform: translateY(-2px);
}
.couture-cta-section-fullwidth .csfw-meta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 500 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-cta-section-fullwidth .csfw-meta::before {
  content: "\2713";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: color-mix(in oklab, #10b981 20%, var(--c-paper));
  color: #047857;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 9px/1 var(--c-mono);
}
@media (prefers-reduced-motion: reduce) {
  .couture-cta-section-fullwidth .csfw-action { transition: none; }
}

/* V6.388 #730 — couture-card-feature-icon-tile-soft — soft icon-tile feature card */
.couture-card-feature-icon-tile-soft {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-icon-tile-soft .cfits-icon-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.couture-card-feature-icon-tile-soft .cfits-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
  flex-shrink: 0;
}
.couture-card-feature-icon-tile-soft .cfits-num {
  font: 800 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-left: auto;
}
.couture-card-feature-icon-tile-soft .cfits-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-tile-soft .cfits-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-icon-tile-soft .cfits-link {
  margin-top: 4px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-icon-tile-soft .cfits-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-feature-icon-tile-soft .cfits-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-icon-tile-soft .cfits-link::after { transition: none; }
}

/* V6.388 #731 — couture-grid-rows-bordered — bordered table-like row grid */
.couture-grid-rows-bordered {
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  background: var(--c-paper);
}
.couture-grid-rows-bordered .grb-row {
  display: grid;
  grid-template-columns: 200px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-grid-rows-bordered .grb-row:last-child { border-bottom: none; }
.couture-grid-rows-bordered .grb-row:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-grid-rows-bordered .grb-key {
  font: 700 13px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-grid-rows-bordered .grb-value {
  font: 400 14px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-grid-rows-bordered .grb-value strong {
  color: var(--c-ink);
  font-weight: 600;
}
.couture-grid-rows-bordered .grb-action {
  font: 600 12px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  white-space: nowrap;
}
.couture-grid-rows-bordered .grb-action:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 540px) {
  .couture-grid-rows-bordered .grb-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* V6.388 #732 — couture-card-icon-grid-aligned — icon+text grid with aligned baselines */
.couture-card-icon-grid-aligned {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 28px;
  padding: clamp(20px, 3vw, 32px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-icon-grid-aligned .ciga-cell {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
}
.couture-card-icon-grid-aligned .ciga-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-icon-grid-aligned .ciga-label {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-icon-grid-aligned .ciga-detail {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-icon-grid-aligned .ciga-meta {
  display: inline-block;
  margin-top: 4px;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
@media (max-width: 540px) {
  .couture-card-icon-grid-aligned { grid-template-columns: 1fr; }
}

/* V6.388 #733 — couture-card-faq-condensed — minimal collapsible Q&A row */
.couture-card-faq-condensed {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-faq-condensed details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-faq-condensed summary {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 18px;
  gap: 16px;
  align-items: center;
  padding: 16px 4px;
  cursor: pointer;
  font: 700 15px/1.4 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  transition: color 0.15s ease;
}
.couture-card-faq-condensed summary::-webkit-details-marker { display: none; }
.couture-card-faq-condensed summary:hover { color: var(--c-accent, var(--c-ink)); }
.couture-card-faq-condensed summary::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform 0.2s ease;
}
.couture-card-faq-condensed details[open] summary::after {
  transform: rotate(225deg) translate(-2px, -2px);
}
.couture-card-faq-condensed .cfq-body {
  padding: 0 4px 18px;
  font: 400 14px/1.65 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-faq-condensed .cfq-body p + p { margin-top: 10px; }
.couture-card-faq-condensed .cfq-body a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-faq-condensed summary,
  .couture-card-faq-condensed summary::after { transition: none; }
}

/* V6.388 #734 — couture-card-feature-stat-overlay — feature card with floating stat */
.couture-card-feature-stat-overlay {
  position: relative;
  padding: clamp(24px, 3.4vw, 36px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
}
.couture-card-feature-stat-overlay::before {
  content: attr(data-stat);
  position: absolute;
  top: -20px;
  right: -10px;
  font: 800 clamp(80px, 12vw, 140px)/1 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  letter-spacing: -0.06em;
  pointer-events: none;
}
.couture-card-feature-stat-overlay .cfso-eyebrow {
  position: relative;
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-stat-overlay .cfso-title {
  position: relative;
  font: 700 clamp(20px, 2.6vw, 26px)/1.25 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-stat-overlay .cfso-body {
  position: relative;
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 480px;
}
.couture-card-feature-stat-overlay .cfso-foot {
  position: relative;
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #735 — couture-grid-feature-icon-bordered-tile — 3-up bordered icon tile grid */
.couture-grid-feature-icon-bordered-tile {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.couture-grid-feature-icon-bordered-tile .gfibt-cell {
  padding: clamp(20px, 2.6vw, 26px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-grid-feature-icon-bordered-tile .gfibt-cell:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-grid-feature-icon-bordered-tile .gfibt-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-grid-feature-icon-bordered-tile .gfibt-num {
  position: absolute;
  top: 14px;
  right: 14px;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}
.couture-grid-feature-icon-bordered-tile .gfibt-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-grid-feature-icon-bordered-tile .gfibt-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-grid-feature-icon-bordered-tile { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-feature-icon-bordered-tile .gfibt-cell { transition: none; }
  .couture-grid-feature-icon-bordered-tile .gfibt-cell:hover { transform: none; }
}

/* V6.388 #736 — couture-card-soft-banner — soft-tinted feature banner */
.couture-card-soft-banner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 10%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
}
.couture-card-soft-banner .csb-content {
  min-width: 0;
}
.couture-card-soft-banner .csb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-soft-banner .csb-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-soft-banner .csb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-soft-banner .csb-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease;
}
.couture-card-soft-banner .csb-action:hover {
  transform: translateY(-1px);
}
@media (max-width: 540px) {
  .couture-card-soft-banner {
    grid-template-columns: 1fr;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-soft-banner .csb-action { transition: none; }
}

/* V6.388 #737 — couture-card-icon-large-stack — large-icon vertical stack card */
.couture-card-icon-large-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: clamp(24px, 3vw, 32px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-icon-large-stack .cils-icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 75%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 28px/1 var(--c-display, var(--c-sans));
  box-shadow: 0 8px 18px -8px color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, transparent);
}
.couture-card-icon-large-stack .cils-title {
  font: 700 clamp(18px, 2.2vw, 22px)/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.01em;
}
.couture-card-icon-large-stack .cils-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-icon-large-stack .cils-foot {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-icon-large-stack .cils-foot .cils-arrow {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}
.couture-card-icon-large-stack .cils-foot .cils-arrow::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-icon-large-stack:hover .cils-foot .cils-arrow::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-icon-large-stack .cils-foot .cils-arrow::after { transition: none; }
}

/* V6.388 #738 — couture-list-rich-numbered-step — rich numbered step list */
.couture-list-rich-numbered-step {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  counter-reset: lrns;
}
.couture-list-rich-numbered-step li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  counter-increment: lrns;
  padding-bottom: 24px;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-list-rich-numbered-step li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.couture-list-rich-numbered-step li::before {
  content: counter(lrns);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-accent, var(--c-ink));
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-list-rich-numbered-step .lrns-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-list-rich-numbered-step .lrns-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-list-rich-numbered-step .lrns-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-list-rich-numbered-step .lrns-meta {
  margin-top: 12px;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-list-rich-numbered-step .lrns-meta span {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 600 11px/1.4 var(--c-mono);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #739 — couture-card-feature-action-row — feature card with horizontal action row */
.couture-card-feature-action-row {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-feature-action-row .cfar-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-action-row .cfar-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-action-row .cfar-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-action-row .cfar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-action-row .cfar-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.couture-card-feature-action-row .cfar-btn:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-card-feature-action-row .cfar-btn.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-card-feature-action-row .cfar-btn.is-primary:hover {
  background: var(--c-accent, var(--c-ink));
  border-color: var(--c-accent, var(--c-ink));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-action-row .cfar-btn { transition: none; }
}

/* V6.388 #740 — couture-card-progress-bar-row — progress bar with metadata row */
.couture-card-progress-bar-row {
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-progress-bar-row .cpbr-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-family: var(--c-sans);
}
.couture-card-progress-bar-row .cpbr-title {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-progress-bar-row .cpbr-pct {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-card-progress-bar-row .cpbr-bar {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
}
.couture-card-progress-bar-row .cpbr-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 75%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  transition: width 0.4s cubic-bezier(0.34, 1, 0.64, 1);
}
.couture-card-progress-bar-row .cpbr-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 400 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-progress-bar-row .cpbr-meta strong {
  color: var(--c-ink);
  font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-progress-bar-row .cpbr-fill { transition: none; }
}

/* V6.388 #741 — couture-card-callout-rich — rich callout w/ icon, title, body, action */
.couture-card-callout-rich {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-card-callout-rich::before {
  content: "";
  position: absolute;
  inset: 0 0 0 0;
  width: 4px;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-callout-rich .ccr-icon {
  margin-left: 4px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 22px/1 var(--c-display, var(--c-sans));
}
.couture-card-callout-rich .ccr-content {
  min-width: 0;
}
.couture-card-callout-rich .ccr-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-callout-rich .ccr-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-rich .ccr-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
.couture-card-callout-rich .ccr-action:hover {
  background: var(--c-accent, var(--c-ink));
}
@media (max-width: 540px) {
  .couture-card-callout-rich {
    grid-template-columns: 44px 1fr;
  }
  .couture-card-callout-rich .ccr-action {
    grid-column: 1 / -1;
    text-align: center;
    margin-top: 6px;
  }
}

/* V6.388 #742 — couture-card-feature-side-icon — large side-icon feature card */
.couture-card-feature-side-icon {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 22px;
  align-items: start;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-side-icon .cfsi-icon-wrap {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 40px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-side-icon .cfsi-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-feature-side-icon .cfsi-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-side-icon .cfsi-title {
  font: 700 clamp(20px, 2.4vw, 24px)/1.25 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-side-icon .cfsi-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-side-icon .cfsi-foot {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.couture-card-feature-side-icon .cfsi-tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
@media (max-width: 540px) {
  .couture-card-feature-side-icon {
    grid-template-columns: 1fr;
  }
  .couture-card-feature-side-icon .cfsi-icon-wrap {
    width: 64px;
    height: 64px;
    font-size: 28px;
  }
}

/* V6.388 #743 — couture-grid-icons-wide — wide horizontal icon row grid */
.couture-grid-icons-wide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 14px;
}
.couture-grid-icons-wide .giw-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 12px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.couture-grid-icons-wide .giw-cell:hover {
  border-color: var(--c-ink);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  transform: translateY(-2px);
}
.couture-grid-icons-wide .giw-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-grid-icons-wide .giw-label {
  font: 700 12px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-grid-icons-wide .giw-meta {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-grid-icons-wide .giw-cell { transition: none; }
  .couture-grid-icons-wide .giw-cell:hover { transform: none; }
}

/* V6.388 #744 — couture-card-photo-quote-stack — photo+quote stacked card */
.couture-card-photo-quote-stack {
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-photo-quote-stack .cpqs-photo {
  aspect-ratio: 16 / 10;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-card-photo-quote-stack .cpqs-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-quote-stack .cpqs-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, color-mix(in oklab, var(--c-ink) 40%, transparent));
}
.couture-card-photo-quote-stack .cpqs-content {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-photo-quote-stack .cpqs-quote {
  position: relative;
  font: 500 16px/1.55 var(--c-sans);
  color: var(--c-ink);
  padding-left: 18px;
  border-left: 3px solid var(--c-accent, var(--c-ink));
}
.couture-card-photo-quote-stack .cpqs-attribution {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-photo-quote-stack .cpqs-author {
  font: 700 13px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-photo-quote-stack .cpqs-author small {
  display: block;
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  text-transform: none;
  letter-spacing: 0;
  margin-top: 2px;
}
.couture-card-photo-quote-stack .cpqs-rating {
  font: 700 12px/1 var(--c-mono);
  color: #f59e0b;
  letter-spacing: 0.08em;
}

/* V6.388 #745 — couture-list-step-arrow-flow — horizontal arrow-step flow */
.couture-list-step-arrow-flow {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x proximity;
}
.couture-list-step-arrow-flow li {
  flex: 1 1 0;
  min-width: 200px;
  position: relative;
  padding: 18px 24px 18px 36px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-list-step-arrow-flow li:first-child {
  padding-left: 22px;
  border-radius: 12px 0 0 12px;
}
.couture-list-step-arrow-flow li:last-child {
  border-radius: 0 12px 12px 0;
}
.couture-list-step-arrow-flow li + li {
  border-left: none;
}
.couture-list-step-arrow-flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -14px;
  width: 28px;
  background: inherit;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transform-origin: top right;
  transform: skewX(-15deg);
  z-index: 1;
}
.couture-list-step-arrow-flow .lsaf-num {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}
.couture-list-step-arrow-flow .lsaf-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-list-step-arrow-flow .lsaf-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-list-step-arrow-flow li[data-state="active"] {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 8%, var(--c-paper));
  border-color: var(--c-accent, var(--c-ink));
}
.couture-list-step-arrow-flow li[data-state="active"]:not(:last-child)::after {
  background: inherit;
  border-color: var(--c-accent, var(--c-ink));
}

/* V6.388 #746 — couture-card-quote-color-bg — color-bg quote card */
.couture-card-quote-color-bg {
  padding: clamp(28px, 4vw, 44px);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-ink) 90%, var(--c-accent, var(--c-ink))),
    var(--c-ink)
  );
  color: var(--c-paper);
  position: relative;
  overflow: hidden;
}
.couture-card-quote-color-bg::before {
  content: "\201C";
  position: absolute;
  top: -16px;
  left: 8px;
  font: 800 clamp(80px, 12vw, 140px)/1 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, var(--c-paper) 14%, transparent);
  pointer-events: none;
}
.couture-card-quote-color-bg .cqcb-text {
  position: relative;
  font: 500 clamp(18px, 2.4vw, 26px)/1.45 var(--c-display, var(--c-sans));
  letter-spacing: -0.01em;
  margin-bottom: 20px;
  max-width: 720px;
}
.couture-card-quote-color-bg .cqcb-attribution {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
.couture-card-quote-color-bg .cqcb-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 30%, transparent);
  overflow: hidden;
  flex-shrink: 0;
}
.couture-card-quote-color-bg .cqcb-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-quote-color-bg .cqcb-name {
  font: 700 13px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-quote-color-bg .cqcb-role {
  font: 400 12px/1.3 var(--c-sans);
  opacity: 0.8;
  margin-top: 2px;
}

/* V6.388 #747 — couture-card-grid-comparison — split comparison grid card */
.couture-card-grid-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 16px;
  overflow: hidden;
}
.couture-card-grid-comparison .cgc-cell {
  padding: clamp(20px, 3vw, 32px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-grid-comparison .cgc-cell[data-side="positive"] {
  background: color-mix(in oklab, #10b981 8%, var(--c-paper));
}
.couture-card-grid-comparison .cgc-cell[data-side="negative"] {
  background: color-mix(in oklab, #ef4444 6%, var(--c-paper));
}
.couture-card-grid-comparison .cgc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink);
}
.couture-card-grid-comparison .cgc-cell[data-side="positive"] .cgc-eyebrow { color: #047857; }
.couture-card-grid-comparison .cgc-cell[data-side="negative"] .cgc-eyebrow { color: #991b1b; }
.couture-card-grid-comparison .cgc-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-grid-comparison .cgc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-grid-comparison .cgc-list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 8px;
  align-items: start;
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-grid-comparison .cgc-cell[data-side="positive"] .cgc-list li::before {
  content: "\2713";
  color: #10b981;
  font: 800 13px/1 var(--c-mono);
  margin-top: 2px;
}
.couture-card-grid-comparison .cgc-cell[data-side="negative"] .cgc-list li::before {
  content: "\2715";
  color: #ef4444;
  font: 800 13px/1 var(--c-mono);
  margin-top: 2px;
}
@media (max-width: 540px) {
  .couture-card-grid-comparison { grid-template-columns: 1fr; }
}

/* V6.388 #748 — couture-card-list-feature-grid — grid of feature card cells */
.couture-card-list-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-card-list-feature-grid li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  padding: 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-list-feature-grid .clfg-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  margin-top: 2px;
}
.couture-card-list-feature-grid .clfg-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-list-feature-grid .clfg-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-list-feature-grid { grid-template-columns: 1fr; }
}

/* V6.388 #749 — couture-card-team-cluster — cluster of 4-up team avatars */
.couture-card-team-cluster {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-card-team-cluster .ctc-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.couture-card-team-cluster .ctc-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-team-cluster .ctc-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-team-cluster .ctc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.couture-card-team-cluster .ctc-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: inherit;
}
.couture-card-team-cluster .ctc-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  border: 2px solid var(--c-paper);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-team-cluster .ctc-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-team-cluster .ctc-name {
  font: 600 11px/1.3 var(--c-sans);
  color: var(--c-ink);
  text-align: center;
}
.couture-card-team-cluster .ctc-role {
  font: 400 10px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-align: center;
}
@media (max-width: 480px) {
  .couture-card-team-cluster .ctc-grid { grid-template-columns: repeat(3, 1fr); }
}

/* V6.388 #750 — 🎉 750 MILESTONE — couture-celebration-card — anniversary celebration card */
.couture-celebration-card {
  position: relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, #f59e0b 60%, var(--c-paper)),
    color-mix(in oklab, #ec4899 50%, var(--c-paper))
  );
  color: #fff;
  text-align: center;
  overflow: hidden;
}
.couture-celebration-card::before,
.couture-celebration-card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: color-mix(in oklab, #fff 30%, transparent);
  filter: blur(40px);
  pointer-events: none;
}
.couture-celebration-card::before {
  width: 200px;
  height: 200px;
  top: -60px;
  left: -60px;
}
.couture-celebration-card::after {
  width: 240px;
  height: 240px;
  bottom: -80px;
  right: -80px;
  background: color-mix(in oklab, #fbbf24 30%, transparent);
}
.couture-celebration-card .clc-icon {
  position: relative;
  font: 800 48px/1 var(--c-display, var(--c-sans));
  margin-bottom: 16px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.18);
}
.couture-celebration-card .clc-title {
  position: relative;
  font: 800 clamp(28px, 4vw, 40px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  margin-bottom: 10px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.18);
}
.couture-celebration-card .clc-body {
  position: relative;
  font: 400 15px/1.55 var(--c-sans);
  max-width: 520px;
  margin: 0 auto 22px;
  opacity: 0.95;
}
.couture-celebration-card .clc-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  color: #111;
  font: 700 14px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-celebration-card .clc-action:hover {
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-celebration-card .clc-action { transition: none; }
}

/* V6.388 #751 — couture-card-collapsible-list — collapsible nested list */
.couture-card-collapsible-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-card-collapsible-list > li > details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-collapsible-list > li:last-child > details {
  border-bottom: none;
}
.couture-card-collapsible-list summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 4px;
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.couture-card-collapsible-list summary::-webkit-details-marker { display: none; }
.couture-card-collapsible-list summary::after {
  content: "+";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 400 16px/1 var(--c-mono);
  flex-shrink: 0;
  transition: transform 0.2s ease, background 0.15s ease, color 0.15s ease;
}
.couture-card-collapsible-list details[open] summary::after {
  background: var(--c-ink);
  color: var(--c-paper);
  transform: rotate(45deg);
}
.couture-card-collapsible-list .ccl-children {
  list-style: none;
  padding: 4px 4px 14px 22px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-collapsible-list .ccl-children li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font: 400 13px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  text-decoration: none;
}
.couture-card-collapsible-list .ccl-children li a:hover {
  color: var(--c-ink);
}
.couture-card-collapsible-list .ccl-children li a .ccl-meta {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-collapsible-list summary::after { transition: none; }
}

/* V6.388 #752 — couture-card-meta-cluster — metadata pill cluster card */
.couture-card-meta-cluster {
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-meta-cluster .cmcl-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-meta-cluster .cmcl-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-card-meta-cluster .cmcl-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  font: 600 11px/1.4 var(--c-mono);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-meta-cluster .cmcl-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-meta-cluster .cmcl-pill[data-tone="warn"]::before  { background: #f59e0b; }
.couture-card-meta-cluster .cmcl-pill[data-tone="ok"]::before    { background: #10b981; }
.couture-card-meta-cluster .cmcl-pill[data-tone="error"]::before { background: #ef4444; }
.couture-card-meta-cluster .cmcl-pill .cmcl-num {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 2px;
}

/* V6.388 #753 — couture-list-resource-link — large resource link cards */
.couture-list-resource-link {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-list-resource-link a {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.couture-list-resource-link a:hover {
  border-color: var(--c-ink);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  transform: translateX(2px);
}
.couture-list-resource-link .lrl-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-list-resource-link .lrl-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-list-resource-link .lrl-body {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-list-resource-link .lrl-type {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-list-resource-link a { transition: none; }
  .couture-list-resource-link a:hover { transform: none; }
}

/* V6.388 #754 — couture-card-feature-photo-strip — feature card with photo strip */
.couture-card-feature-photo-strip {
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 18px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-photo-strip .cfps-photos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-photo-strip .cfps-photo {
  aspect-ratio: 4 / 3;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-feature-photo-strip .cfps-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-feature-photo-strip .cfps-photo:hover img {
  transform: scale(1.05);
}
.couture-card-feature-photo-strip .cfps-content {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-photo-strip .cfps-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-photo-strip .cfps-title {
  font: 700 clamp(18px, 2.4vw, 24px)/1.25 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-photo-strip .cfps-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-photo-strip .cfps-foot {
  margin-top: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-feature-photo-strip .cfps-foot a {
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-photo-strip .cfps-foot a::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-feature-photo-strip .cfps-foot a:hover::after {
  transform: translateX(3px);
}
@media (max-width: 540px) {
  .couture-card-feature-photo-strip .cfps-photos { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-photo-strip .cfps-photo img,
  .couture-card-feature-photo-strip .cfps-foot a::after { transition: none; }
}

/* V6.388 #755 — couture-card-action-icon-tile — action icon tile w/ corner CTA */
.couture-card-action-icon-tile {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none;
  color: inherit;
}
.couture-card-action-icon-tile::after {
  content: "\2197";
  position: absolute;
  top: 18px;
  right: 18px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 500 14px/1 var(--c-mono);
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.couture-card-action-icon-tile:hover::after {
  background: var(--c-ink);
  color: var(--c-paper);
  transform: translate(2px, -2px);
}
.couture-card-action-icon-tile .cait-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 var(--c-display, var(--c-sans));
}
.couture-card-action-icon-tile .cait-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-icon-tile .cait-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-action-icon-tile .cait-foot {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-icon-tile::after { transition: none; }
}

/* V6.388 #756 — couture-sect-banner-narrow — narrow section banner with line accents */
.couture-sect-banner-narrow {
  text-align: center;
  padding: clamp(24px, 3.6vw, 36px) clamp(16px, 3vw, 28px);
  margin: clamp(20px, 3vw, 32px) 0;
  position: relative;
}
.couture-sect-banner-narrow::before,
.couture-sect-banner-narrow::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-sect-banner-narrow::before { left: 0; right: 60%; }
.couture-sect-banner-narrow::after  { right: 0; left: 60%; }
.couture-sect-banner-narrow .ssbn-text {
  position: relative;
  display: inline-block;
  padding: 0 18px;
  background: var(--c-paper);
  font: 700 12px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent, var(--c-ink));
}
.couture-sect-banner-narrow[data-style="bg"] {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-sect-banner-narrow[data-style="bg"]::before,
.couture-sect-banner-narrow[data-style="bg"]::after { display: none; }
.couture-sect-banner-narrow[data-style="bg"] .ssbn-text { background: transparent; }

/* V6.388 #757 — couture-card-mini-stat-trio — 3-stat horizontal mini bar */
.couture-card-mini-stat-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-mini-stat-trio .cmst-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: center;
}
.couture-card-mini-stat-trio .cmst-cell + .cmst-cell {
  border-left: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-mini-stat-trio .cmst-num {
  font: 800 18px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-mini-stat-trio .cmst-label {
  font: 500 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (max-width: 480px) {
  .couture-card-mini-stat-trio { grid-template-columns: 1fr; }
  .couture-card-mini-stat-trio .cmst-cell + .cmst-cell {
    border-left: none;
    border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
    padding-top: 10px;
    margin-top: 4px;
  }
}

/* V6.388 #758 — couture-card-feature-circle-icon — circular icon feature card */
.couture-card-feature-circle-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  padding: clamp(24px, 3.4vw, 36px) clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-card-feature-circle-icon::before {
  content: "";
  position: absolute;
  top: -60%;
  left: 50%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(
    closest-side,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent),
    transparent 70%
  );
  transform: translateX(-50%);
  pointer-events: none;
}
.couture-card-feature-circle-icon .cfci-circle {
  position: relative;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 32px/1 var(--c-display, var(--c-sans));
  box-shadow: 0 8px 18px -8px color-mix(in oklab, var(--c-accent, var(--c-ink)) 40%, transparent);
}
.couture-card-feature-circle-icon .cfci-title {
  position: relative;
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.01em;
}
.couture-card-feature-circle-icon .cfci-body {
  position: relative;
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-circle-icon .cfci-link {
  position: relative;
  margin-top: 6px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-circle-icon .cfci-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-feature-circle-icon .cfci-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-circle-icon .cfci-link::after { transition: none; }
}

/* V6.388 #759 — couture-card-action-anchor-large — large CTA anchor card */
.couture-card-action-anchor-large {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: clamp(24px, 3.4vw, 36px);
  border-radius: 18px;
  background: var(--c-ink);
  color: var(--c-paper);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.couture-card-action-anchor-large::after {
  content: "";
  position: absolute;
  top: -50%;
  right: -10%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(
    closest-side,
    color-mix(in oklab, var(--c-accent, var(--c-paper)) 28%, transparent),
    transparent 70%
  );
  pointer-events: none;
}
.couture-card-action-anchor-large .caal-content {
  position: relative;
  min-width: 0;
}
.couture-card-action-anchor-large .caal-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-accent, var(--c-paper)) 80%, var(--c-paper));
  margin-bottom: 10px;
}
.couture-card-action-anchor-large .caal-title {
  font: 700 clamp(22px, 3vw, 30px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}
.couture-card-action-anchor-large .caal-body {
  font: 400 14px/1.55 var(--c-sans);
  color: color-mix(in oklab, var(--c-paper) 80%, var(--c-ink-soft));
}
.couture-card-action-anchor-large .caal-arrow {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 500 22px/1 var(--c-mono);
  transition: transform 0.2s ease, background 0.2s ease;
  flex-shrink: 0;
}
.couture-card-action-anchor-large:hover .caal-arrow {
  background: var(--c-paper);
  color: var(--c-ink);
  transform: translate(4px, -4px) rotate(-12deg);
}
@media (max-width: 540px) {
  .couture-card-action-anchor-large {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .couture-card-action-anchor-large .caal-arrow {
    justify-self: end;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-anchor-large .caal-arrow { transition: none; }
  .couture-card-action-anchor-large:hover .caal-arrow { transform: none; }
}

/* V6.388 #760 — couture-card-feature-grid-icons-row — feature grid w/ icon row */
.couture-card-feature-grid-icons-row {
  padding: clamp(20px, 3vw, 32px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.couture-card-feature-grid-icons-row .cfgir-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-grid-icons-row .cfgir-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.25 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-grid-icons-row .cfgir-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-grid-icons-row .cfgir-icons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding-top: 14px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-grid-icons-row .cfgir-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
}
.couture-card-feature-grid-icons-row .cfgir-icon-circle {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-grid-icons-row .cfgir-icon-label {
  font: 500 11px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-grid-icons-row .cfgir-icons { grid-template-columns: repeat(2, 1fr); }
}

/* V6.388 #761 — couture-card-spotlight-image-corner — spotlight card with corner image */
.couture-card-spotlight-image-corner {
  position: relative;
  padding: clamp(24px, 3.4vw, 36px);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  min-height: 200px;
}
.couture-card-spotlight-image-corner .csic-image {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow:
    0 12px 24px -10px color-mix(in oklab, var(--c-ink) 30%, transparent),
    0 0 0 8px var(--c-paper);
}
.couture-card-spotlight-image-corner .csic-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-spotlight-image-corner .csic-content {
  position: relative;
  max-width: 60%;
  z-index: 1;
}
.couture-card-spotlight-image-corner .csic-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 10px;
}
.couture-card-spotlight-image-corner .csic-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-spotlight-image-corner .csic-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-spotlight-image-corner .csic-content { max-width: 100%; }
  .couture-card-spotlight-image-corner .csic-image {
    width: 120px;
    height: 120px;
    bottom: -10px;
    right: -10px;
    opacity: 0.5;
  }
}

/* V6.388 #762 — couture-card-spec-list-grid — multi-column spec list grid */
.couture-card-spec-list-grid {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 28px;
}
.couture-card-spec-list-grid .cslg-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-spec-list-grid .cslg-key {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-spec-list-grid .cslg-value {
  font: 600 13px/1.3 var(--c-sans);
  color: var(--c-ink);
  text-align: right;
}
.couture-card-spec-list-grid .cslg-value code {
  font: 600 12px/1.3 var(--c-mono);
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
}
@media (max-width: 540px) {
  .couture-card-spec-list-grid { grid-template-columns: 1fr; }
}

/* V6.388 #763 — couture-card-photo-meta-strip — photo card with metadata strip below */
.couture-card-photo-meta-strip {
  display: block;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
}
.couture-card-photo-meta-strip .cpms-photo {
  aspect-ratio: 16 / 11;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  position: relative;
}
.couture-card-photo-meta-strip .cpms-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-photo-meta-strip:hover .cpms-photo img {
  transform: scale(1.04);
}
.couture-card-photo-meta-strip .cpms-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-paper) 88%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  color: var(--c-ink);
}
.couture-card-photo-meta-strip .cpms-strip {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-photo-meta-strip .cpms-info {
  min-width: 0;
}
.couture-card-photo-meta-strip .cpms-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-photo-meta-strip .cpms-meta {
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-photo-meta-strip .cpms-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 500 14px/1 var(--c-mono);
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.couture-card-photo-meta-strip:hover .cpms-arrow {
  background: var(--c-ink);
  color: var(--c-paper);
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-meta-strip .cpms-photo img,
  .couture-card-photo-meta-strip .cpms-arrow { transition: none; }
}

/* V6.388 #764 — couture-card-grid-stat-double — 2-stat horizontal display */
.couture-card-grid-stat-double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  overflow: hidden;
}
.couture-card-grid-stat-double .cgsd-cell {
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-grid-stat-double .cgsd-cell[data-tone="accent"] {
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
}
.couture-card-grid-stat-double .cgsd-num {
  font: 800 clamp(28px, 4vw, 40px)/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-grid-stat-double .cgsd-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-grid-stat-double .cgsd-label {
  font: 700 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-grid-stat-double .cgsd-detail {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-grid-stat-double { grid-template-columns: 1fr; }
}

/* V6.388 #765 — couture-card-list-action-mini — mini action list w/ side icons */
.couture-card-list-action-mini {
  list-style: none;
  padding: 8px;
  margin: 0;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-list-action-mini li a {
  display: grid;
  grid-template-columns: 24px 1fr 16px;
  gap: 12px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--c-ink);
  font: 500 13px/1.4 var(--c-sans);
  transition: background 0.15s ease;
}
.couture-card-list-action-mini li a:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-list-action-mini li + li {
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-card-list-action-mini li:first-child a {
  border-top: none;
}
.couture-card-list-action-mini .clam-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-list-action-mini .clam-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-list-action-mini .clam-arrow {
  font: 500 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-card-list-action-mini li a:hover .clam-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-list-action-mini li a,
  .couture-card-list-action-mini .clam-arrow { transition: none; }
}

/* V6.388 #766 — couture-card-banner-image-side — banner card with image on side */
.couture-card-banner-image-side {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-banner-image-side .cbis-content {
  padding: clamp(24px, 3.4vw, 36px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.couture-card-banner-image-side .cbis-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-banner-image-side .cbis-title {
  font: 700 clamp(22px, 3vw, 30px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-banner-image-side .cbis-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 8px;
}
.couture-card-banner-image-side .cbis-actions {
  display: inline-flex;
  gap: 10px;
}
.couture-card-banner-image-side .cbis-action {
  padding: 10px 18px;
  border-radius: 10px;
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-card-banner-image-side .cbis-action.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-banner-image-side .cbis-action.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-card-banner-image-side .cbis-action:hover { transform: translateY(-2px); }
.couture-card-banner-image-side .cbis-image {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
  min-height: 240px;
}
.couture-card-banner-image-side .cbis-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 720px) {
  .couture-card-banner-image-side {
    grid-template-columns: 1fr;
  }
  .couture-card-banner-image-side .cbis-image { aspect-ratio: 16 / 10; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-banner-image-side .cbis-action { transition: none; }
}

/* V6.388 #767 — couture-card-feature-list-icon-tile — feature list w/ icon tiles */
.couture-card-feature-list-icon-tile {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-card-feature-list-icon-tile li {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  padding: 16px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-feature-list-icon-tile li:hover {
  border-color: var(--c-ink);
  transform: translateX(2px);
}
.couture-card-feature-list-icon-tile .cflit-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 24px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-list-icon-tile .cflit-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-feature-list-icon-tile .cflit-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-list-icon-tile .cflit-tag {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 8px;
  border-radius: 4px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-list-icon-tile li { transition: none; }
  .couture-card-feature-list-icon-tile li:hover { transform: none; }
}

/* V6.388 #768 — couture-card-action-stripe-bar — action stripe with progress bar */
.couture-card-action-stripe-bar {
  padding: 16px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-action-stripe-bar .casb-head {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 12px;
  align-items: center;
}
.couture-card-action-stripe-bar .casb-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-action-stripe-bar .casb-title {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-stripe-bar .casb-meta {
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-action-stripe-bar .casb-status {
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
}
.couture-card-action-stripe-bar .casb-bar {
  height: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
}
.couture-card-action-stripe-bar .casb-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--c-accent, var(--c-ink));
  transition: width 0.4s cubic-bezier(0.34, 1, 0.64, 1);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-stripe-bar .casb-fill { transition: none; }
}

/* V6.388 #769 — couture-card-grid-trio-bordered — bordered 3-cell trio grid */
.couture-card-grid-trio-bordered {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-radius: 16px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  background: var(--c-paper);
}
.couture-card-grid-trio-bordered > * {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
}
.couture-card-grid-trio-bordered > * + * {
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-grid-trio-bordered .cgtb-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-grid-trio-bordered .cgtb-num {
  position: absolute;
  top: 14px;
  right: 14px;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-grid-trio-bordered .cgtb-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-grid-trio-bordered .cgtb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-grid-trio-bordered { grid-template-columns: 1fr; }
  .couture-card-grid-trio-bordered > * + * {
    border-left: none;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
}

/* V6.388 #770 — couture-card-banner-tinted-soft — soft-tinted hero banner */
.couture-card-banner-tinted-soft {
  position: relative;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 20px;
  background:
    radial-gradient(ellipse at top right,
      color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent),
      transparent 60%),
    radial-gradient(ellipse at bottom left,
      color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent),
      transparent 55%),
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  overflow: hidden;
  isolation: isolate;
}
.couture-card-banner-tinted-soft .cbts-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 14px;
}
.couture-card-banner-tinted-soft .cbts-title {
  font: 800 clamp(28px, 4vw, 44px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
  margin-bottom: 14px;
  max-width: 640px;
}
.couture-card-banner-tinted-soft .cbts-body {
  font: 400 16px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 22px;
  max-width: 540px;
}
.couture-card-banner-tinted-soft .cbts-actions {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
}
.couture-card-banner-tinted-soft .cbts-action {
  padding: 12px 22px;
  border-radius: 12px;
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-card-banner-tinted-soft .cbts-action.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-banner-tinted-soft .cbts-action.is-secondary {
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-card-banner-tinted-soft .cbts-action:hover { transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) {
  .couture-card-banner-tinted-soft .cbts-action { transition: none; }
}

/* V6.388 #771 — couture-card-trust-anchor-row — trust-bar w/ inline icons */
.couture-card-trust-anchor-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 18px 28px;
  padding: 18px clamp(16px, 3vw, 28px);
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-trust-anchor-row .ctar-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-trust-anchor-row .ctar-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-trust-anchor-row .ctar-item small {
  font: 400 11px/1 var(--c-sans);
  color: var(--c-ink-soft);
  text-transform: none;
  letter-spacing: 0;
  margin-left: 4px;
}
.couture-card-trust-anchor-row .ctar-divider {
  width: 1px;
  height: 18px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
@media (max-width: 540px) {
  .couture-card-trust-anchor-row .ctar-divider { display: none; }
}

/* V6.388 #772 — couture-card-list-spec-table — table-style spec listing card */
.couture-card-list-spec-table {
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  background: var(--c-paper);
}
.couture-card-list-spec-table .clst-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-list-spec-table .clst-head h3 {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin: 0;
}
.couture-card-list-spec-table .clst-head small {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-list-spec-table .clst-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 12px;
  padding: 12px 18px;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  align-items: baseline;
}
.couture-card-list-spec-table .clst-row:last-child { border-bottom: none; }
.couture-card-list-spec-table .clst-row .clst-key {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-list-spec-table .clst-row .clst-val {
  font: 500 13px/1.45 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-list-spec-table .clst-row .clst-val code {
  font: 600 12px/1.3 var(--c-mono);
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
}

/* V6.388 #773 — couture-card-feature-grid-mini — small feature grid mini-card */
.couture-card-feature-grid-mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 14px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-mini .cfgm-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  text-align: center;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-feature-grid-mini .cfgm-cell:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-feature-grid-mini .cfgm-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-feature-grid-mini .cfgm-label {
  font: 500 11px/1.3 var(--c-sans);
  color: var(--c-ink);
}
@media (max-width: 480px) {
  .couture-card-feature-grid-mini { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-grid-mini .cfgm-cell { transition: none; }
}

/* V6.388 #774 — couture-card-callout-image-banner — image-banner callout card */
.couture-card-callout-image-banner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 18px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  isolation: isolate;
}
.couture-card-callout-image-banner .ccib-banner {
  aspect-ratio: 16 / 6;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-card-callout-image-banner .ccib-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-callout-image-banner .ccib-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, color-mix(in oklab, var(--c-ink) 50%, transparent));
}
.couture-card-callout-image-banner .ccib-content {
  padding: clamp(20px, 3vw, 28px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
}
.couture-card-callout-image-banner .ccib-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-callout-image-banner .ccib-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-callout-image-banner .ccib-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-image-banner .ccib-action {
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-callout-image-banner .ccib-content {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #775 — couture-card-stat-with-graph — stat card with sparkline graph */
.couture-card-stat-with-graph {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-stat-with-graph .cswg-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.couture-card-stat-with-graph .cswg-label {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-stat-with-graph .cswg-period {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-stat-with-graph .cswg-num {
  font: 800 28px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.couture-card-stat-with-graph .cswg-trend {
  font: 700 12px/1 var(--c-mono);
  color: #10b981;
}
.couture-card-stat-with-graph .cswg-trend.is-down { color: #ef4444; }
.couture-card-stat-with-graph .cswg-trend::before { content: "\2191 "; }
.couture-card-stat-with-graph .cswg-trend.is-down::before { content: "\2193 "; }
.couture-card-stat-with-graph .cswg-graph {
  height: 40px;
  margin-top: 6px;
  background:
    linear-gradient(180deg,
      color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent),
      transparent 90%);
  -webkit-mask: linear-gradient(0deg, black, black) bottom / 100% var(--cswg-h, 60%) no-repeat;
          mask: linear-gradient(0deg, black, black) bottom / 100% var(--cswg-h, 60%) no-repeat;
  position: relative;
  border-radius: 4px;
}
.couture-card-stat-with-graph .cswg-graph::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: var(--c-accent, var(--c-ink));
  opacity: 0.7;
}

/* V6.388 #776 — couture-card-feature-image-overlay-text — text-overlay image card */
.couture-card-feature-image-overlay-text {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: grid;
  align-items: end;
}
.couture-card-feature-image-overlay-text .cfiot-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.couture-card-feature-image-overlay-text .cfiot-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.couture-card-feature-image-overlay-text:hover .cfiot-bg img {
  transform: scale(1.06);
}
.couture-card-feature-image-overlay-text::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 25%, rgba(0,0,0,0.18) 55%, rgba(0,0,0,0.78) 100%);
  z-index: 1;
}
.couture-card-feature-image-overlay-text .cfiot-content {
  position: relative;
  z-index: 2;
  padding: clamp(20px, 3vw, 28px);
  color: #fff;
}
.couture-card-feature-image-overlay-text .cfiot-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-accent, #fff) 75%, #fff);
  margin-bottom: 10px;
}
.couture-card-feature-image-overlay-text .cfiot-title {
  font: 800 clamp(22px, 3vw, 30px)/1.15 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  margin-bottom: 8px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.couture-card-feature-image-overlay-text .cfiot-body {
  font: 400 13px/1.55 var(--c-sans);
  opacity: 0.92;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-image-overlay-text .cfiot-bg img { transition: none; }
}

/* V6.388 #777 — couture-card-link-list-icon-bullets — icon-bulleted link list card */
.couture-card-link-list-icon-bullets {
  list-style: none;
  padding: clamp(16px, 2.4vw, 22px);
  margin: 0;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-link-list-icon-bullets li a {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  padding: 6px 0;
  text-decoration: none;
  color: var(--c-ink);
  font: 500 13px/1.4 var(--c-sans);
}
.couture-card-link-list-icon-bullets li a:hover .cllib-text { color: var(--c-accent, var(--c-ink)); }
.couture-card-link-list-icon-bullets .cllib-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-link-list-icon-bullets .cllib-text {
  display: flex;
  align-items: baseline;
  gap: 6px;
  transition: color 0.15s ease;
}
.couture-card-link-list-icon-bullets .cllib-text small {
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-left: auto;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-link-list-icon-bullets .cllib-text { transition: none; }
}

/* V6.388 #778 — couture-card-cta-light-soft — light tinted CTA card */
.couture-card-cta-light-soft {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-cta-light-soft .ccls-content { min-width: 0; }
.couture-card-cta-light-soft .ccls-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-cta-light-soft .ccls-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-cta-light-soft .ccls-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-cta-light-soft .ccls-action {
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.15s ease, background 0.15s ease;
}
.couture-card-cta-light-soft .ccls-action:hover {
  background: var(--c-accent, var(--c-ink));
  transform: translateY(-1px);
}
@media (max-width: 540px) {
  .couture-card-cta-light-soft {
    grid-template-columns: 1fr;
  }
  .couture-card-cta-light-soft .ccls-action {
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-cta-light-soft .ccls-action { transition: none; }
}

/* V6.388 #779 — couture-card-numbered-feature-row — numbered feature row layout */
.couture-card-numbered-feature-row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: start;
  padding: clamp(18px, 2.4vw, 24px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-numbered-feature-row:last-child { border-bottom: none; }
.couture-card-numbered-feature-row .cnfr-num {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-numbered-feature-row .cnfr-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-numbered-feature-row .cnfr-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-numbered-feature-row .cnfr-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-numbered-feature-row .cnfr-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.couture-card-numbered-feature-row .cnfr-foot span {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 600 11px/1.4 var(--c-mono);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #780 — couture-card-action-tile-bordered — bordered action tile */
.couture-card-action-tile-bordered {
  display: grid;
  grid-template-columns: 36px 1fr 16px;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 65%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-action-tile-bordered:hover {
  border-color: var(--c-ink);
  transform: translateX(2px);
}
.couture-card-action-tile-bordered .catb-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-action-tile-bordered .catb-text {
  font: 600 13px/1.3 var(--c-sans);
  color: var(--c-ink);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-card-action-tile-bordered .catb-text small {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-action-tile-bordered .catb-arrow {
  font: 500 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-card-action-tile-bordered:hover .catb-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-tile-bordered,
  .couture-card-action-tile-bordered .catb-arrow { transition: none; }
  .couture-card-action-tile-bordered:hover { transform: none; }
}

/* V6.388 #781 — couture-card-event-bordered-detail — bordered event detail card */
.couture-card-event-bordered-detail {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-event-bordered-detail:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-card-event-bordered-detail .cebd-thumb {
  width: 110px;
  height: 80px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-event-bordered-detail .cebd-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-event-bordered-detail .cebd-info { min-width: 0; }
.couture-card-event-bordered-detail .cebd-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-event-bordered-detail .cebd-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 4px;
}
.couture-card-event-bordered-detail .cebd-detail {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-event-bordered-detail .cebd-detail span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-event-bordered-detail .cebd-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .couture-card-event-bordered-detail {
    grid-template-columns: 1fr;
  }
  .couture-card-event-bordered-detail .cebd-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
  }
  .couture-card-event-bordered-detail .cebd-action { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-event-bordered-detail { transition: none; }
  .couture-card-event-bordered-detail:hover { transform: none; }
}

/* V6.388 #782 — couture-card-step-curve-list — curve-arrow numbered step list */
.couture-card-step-curve-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: relative;
  counter-reset: cscl;
}
.couture-card-step-curve-list li {
  counter-increment: cscl;
  position: relative;
  padding: 18px 22px 18px 76px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-step-curve-list li::before {
  content: counter(cscl);
  position: absolute;
  top: -14px;
  left: 18px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-accent, var(--c-ink));
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-step-curve-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 40px;
  bottom: -28px;
  width: 1px;
  height: 28px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-card-step-curve-list .cscl-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-step-curve-list .cscl-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #783 — couture-card-icon-grid-strip — icon grid strip card */
.couture-card-icon-grid-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-icon-grid-strip .cigs-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 14px 8px;
  font-family: var(--c-sans);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-icon-grid-strip .cigs-cell:last-child {
  border-right: none;
}
.couture-card-icon-grid-strip .cigs-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-icon-grid-strip .cigs-label {
  font: 500 10px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  text-align: center;
}
@media (max-width: 720px) {
  .couture-card-icon-grid-strip { grid-template-columns: repeat(3, 1fr); }
  .couture-card-icon-grid-strip .cigs-cell:nth-child(3n) { border-right: none; }
  .couture-card-icon-grid-strip .cigs-cell:nth-child(n+4) {
    border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
}

/* V6.388 #784 — couture-card-text-block-quote — text + side quote block card */
.couture-card-text-block-quote {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: clamp(20px, 3vw, 36px);
  align-items: start;
  padding: clamp(24px, 3vw, 32px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-text-block-quote .ctbq-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 10px;
}
.couture-card-text-block-quote .ctbq-title {
  font: 700 clamp(20px, 2.4vw, 26px)/1.25 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 12px;
}
.couture-card-text-block-quote .ctbq-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-text-block-quote .ctbq-quote {
  border-left: 3px solid var(--c-accent, var(--c-ink));
  padding: 4px 14px 4px 18px;
  font: 500 14px/1.55 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-text-block-quote .ctbq-attribution {
  display: block;
  margin-top: 8px;
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-text-block-quote { grid-template-columns: 1fr; }
}

/* V6.388 #785 — couture-card-action-bar-strip — bottom action-bar strip */
.couture-card-action-bar-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 90%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-action-bar-strip .cabs-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-action-bar-strip .cabs-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-action-bar-strip .cabs-status[data-tone="ok"]::before { background: #10b981; }
.couture-card-action-bar-strip .cabs-status[data-tone="warn"]::before { background: #f59e0b; }
.couture-card-action-bar-strip .cabs-status[data-tone="err"]::before { background: #ef4444; }
.couture-card-action-bar-strip .cabs-text {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-action-bar-strip .cabs-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-action-bar-strip .cabs-actions {
  display: inline-flex;
  gap: 6px;
}
.couture-card-action-bar-strip .cabs-btn {
  padding: 6px 12px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-card-action-bar-strip .cabs-btn:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-card-action-bar-strip .cabs-btn.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-bar-strip .cabs-btn { transition: none; }
}

/* V6.388 #786 — couture-card-feature-grid-row-spacer — spaced grid row card */
.couture-card-feature-grid-row-spacer {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 18px 28px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-row-spacer .cfgrs-cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-feature-grid-row-spacer .cfgrs-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-feature-grid-row-spacer .cfgrs-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-grid-row-spacer .cfgrs-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #787 — couture-card-faq-grouped — multi-section grouped FAQ card */
.couture-card-faq-grouped {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.couture-card-faq-grouped .cfg-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-faq-grouped .cfg-heading {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-faq-grouped details {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-faq-grouped summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 0;
  font: 600 14px/1.4 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.couture-card-faq-grouped summary::-webkit-details-marker { display: none; }
.couture-card-faq-grouped summary::after {
  content: "+";
  font: 400 18px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: transform 0.2s ease;
}
.couture-card-faq-grouped details[open] summary::after {
  transform: rotate(45deg);
  color: var(--c-ink);
}
.couture-card-faq-grouped .cfg-body {
  padding: 0 0 14px;
  font: 400 13px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-faq-grouped summary::after { transition: none; }
}

/* V6.388 #788 — couture-card-list-photo-mini — small photo+text mini list */
.couture-card-list-photo-mini {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-list-photo-mini li a {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
  padding: 6px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-list-photo-mini li a:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-list-photo-mini .clpm-thumb {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-card-list-photo-mini .clpm-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-list-photo-mini .clpm-info { min-width: 0; }
.couture-card-list-photo-mini .clpm-title {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-list-photo-mini .clpm-meta {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-list-photo-mini li a { transition: none; }
}

/* V6.388 #789 — couture-card-action-callout-card — full action callout card */
.couture-card-action-callout-card {
  position: relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-ink) 92%, var(--c-accent, var(--c-ink))),
    var(--c-ink)
  );
  color: var(--c-paper);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  align-items: center;
  overflow: hidden;
}
.couture-card-action-callout-card::before {
  content: "";
  position: absolute;
  top: -30%;
  right: -10%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(
    closest-side,
    color-mix(in oklab, var(--c-accent, var(--c-paper)) 35%, transparent),
    transparent 70%
  );
  pointer-events: none;
}
.couture-card-action-callout-card .caccc-content { position: relative; min-width: 0; }
.couture-card-action-callout-card .caccc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: color-mix(in oklab, var(--c-accent, var(--c-paper)) 75%, var(--c-paper));
  margin-bottom: 12px;
}
.couture-card-action-callout-card .caccc-title {
  font: 800 clamp(22px, 3vw, 30px)/1.15 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}
.couture-card-action-callout-card .caccc-body {
  font: 400 14px/1.55 var(--c-sans);
  color: color-mix(in oklab, var(--c-paper) 80%, var(--c-ink-soft));
  margin-bottom: 16px;
}
.couture-card-action-callout-card .caccc-actions {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
}
.couture-card-action-callout-card .caccc-action {
  padding: 10px 20px;
  border-radius: 10px;
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
}
.couture-card-action-callout-card .caccc-action.is-primary {
  background: var(--c-paper);
  color: var(--c-ink);
}
.couture-card-action-callout-card .caccc-action.is-secondary {
  border: 1px solid color-mix(in oklab, var(--c-paper) 40%, transparent);
  color: var(--c-paper);
  background: transparent;
}
.couture-card-action-callout-card .caccc-side-icon {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 32px/1 var(--c-display, var(--c-sans));
  color: var(--c-paper);
  flex-shrink: 0;
}
@media (max-width: 540px) {
  .couture-card-action-callout-card {
    grid-template-columns: 1fr;
  }
  .couture-card-action-callout-card .caccc-side-icon { display: none; }
}

/* V6.388 #790 — couture-card-stat-numbered-row — numbered stats row card */
.couture-card-stat-numbered-row {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-stat-numbered-row .csnr-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
}
.couture-card-stat-numbered-row .csnr-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-stat-numbered-row .csnr-period {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-stat-numbered-row .csnr-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 16px;
}
.couture-card-stat-numbered-row .csnr-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-left: 12px;
  border-left: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 70%, var(--c-line));
}
.couture-card-stat-numbered-row .csnr-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-stat-numbered-row .csnr-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-stat-numbered-row .csnr-label {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-stat-numbered-row .csnr-trend {
  margin-top: 4px;
  font: 600 11px/1 var(--c-mono);
  color: #10b981;
}
.couture-card-stat-numbered-row .csnr-trend.is-down { color: #ef4444; }
.couture-card-stat-numbered-row .csnr-trend::before { content: "\2191 "; }
.couture-card-stat-numbered-row .csnr-trend.is-down::before { content: "\2193 "; }

/* V6.388 #791 — couture-card-feature-list-banner — feature list banner card */
.couture-card-feature-list-banner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-feature-list-banner .cflb-content {
  padding: clamp(24px, 3.4vw, 36px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: center;
}
.couture-card-feature-list-banner .cflb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-list-banner .cflb-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-list-banner .cflb-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(24px, 3.4vw, 36px);
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    color-mix(in oklab, var(--c-paper) 88%, var(--c-bg))
  );
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-list-banner .cflb-list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 8px;
  align-items: start;
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-list-banner .cflb-list li::before {
  content: "\2713";
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 10px/1 var(--c-mono);
  margin-top: 2px;
}
@media (max-width: 720px) {
  .couture-card-feature-list-banner { grid-template-columns: 1fr; }
  .couture-card-feature-list-banner .cflb-list {
    border-left: none;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
}

/* V6.388 #792 — couture-card-callout-progress-strip — callout w/ inline progress */
.couture-card-callout-progress-strip {
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 8%, var(--c-paper)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 20%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-callout-progress-strip .ccps-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.couture-card-callout-progress-strip .ccps-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-progress-strip .ccps-pct {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-card-callout-progress-strip .ccps-bar {
  height: 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
}
.couture-card-callout-progress-strip .ccps-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 75%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  transition: width 0.5s cubic-bezier(0.34, 1, 0.64, 1);
}
.couture-card-callout-progress-strip .ccps-detail {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 400 12px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-callout-progress-strip .ccps-detail strong {
  color: var(--c-ink);
  font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-progress-strip .ccps-fill { transition: none; }
}

/* V6.388 #793 — couture-card-feature-icons-row-aligned — aligned-icons feature row */
.couture-card-feature-icons-row-aligned {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 28px;
}
.couture-card-feature-icons-row-aligned .cfira-cell {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
}
.couture-card-feature-icons-row-aligned .cfira-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-feature-icons-row-aligned .cfira-text {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-icons-row-aligned .cfira-text strong {
  display: block;
  font: 700 13px/1.4 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
@media (max-width: 540px) {
  .couture-card-feature-icons-row-aligned { grid-template-columns: 1fr; }
}

/* V6.388 #794 — couture-card-text-image-banner — text+image banner card horizontal */
.couture-card-text-image-banner {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-text-image-banner .ctib-image {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
  min-height: 220px;
}
.couture-card-text-image-banner .ctib-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-text-image-banner .ctib-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 50%,
    color-mix(in oklab, var(--c-paper) 40%, transparent)
  );
}
.couture-card-text-image-banner .ctib-content {
  padding: clamp(22px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.couture-card-text-image-banner .ctib-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-text-image-banner .ctib-title {
  font: 700 clamp(22px, 3vw, 30px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-text-image-banner .ctib-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-text-image-banner .ctib-action {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 13px/1 var(--c-sans);
  color: var(--c-ink);
  text-decoration: none;
}
.couture-card-text-image-banner .ctib-action::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-text-image-banner .ctib-action:hover::after {
  transform: translateX(4px);
}
@media (max-width: 720px) {
  .couture-card-text-image-banner {
    grid-template-columns: 1fr;
  }
  .couture-card-text-image-banner .ctib-image {
    aspect-ratio: 16 / 10;
    min-height: 0;
    order: -1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-text-image-banner .ctib-action::after { transition: none; }
}

/* V6.388 #795 — couture-card-list-action-numbered — numbered action item list */
.couture-card-list-action-numbered {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  counter-reset: clan;
}
.couture-card-list-action-numbered li {
  counter-increment: clan;
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-list-action-numbered li::before {
  content: counter(clan, decimal-leading-zero);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
}
.couture-card-list-action-numbered .clan-text {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-list-action-numbered .clan-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-list-action-numbered .clan-action {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  white-space: nowrap;
}
.couture-card-list-action-numbered .clan-action:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.couture-card-list-action-numbered li[data-state="done"] {
  opacity: 0.6;
}
.couture-card-list-action-numbered li[data-state="done"]::before {
  background: #10b981;
  color: #fff;
  content: "\2713";
}

/* V6.388 #796 — couture-card-feature-grid-bordered-tile — bordered tile feature grid */
.couture-card-feature-grid-bordered-tile {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
}
.couture-card-feature-grid-bordered-tile .cfgbt-cell {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-grid-bordered-tile .cfgbt-cell:nth-child(2n) {
  border-right: none;
}
.couture-card-feature-grid-bordered-tile .cfgbt-cell:nth-last-child(-n+2) {
  border-bottom: none;
}
.couture-card-feature-grid-bordered-tile .cfgbt-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-grid-bordered-tile .cfgbt-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-grid-bordered-tile .cfgbt-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-grid-bordered-tile .cfgbt-link {
  margin-top: auto;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-grid-bordered-tile .cfgbt-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-feature-grid-bordered-tile .cfgbt-link:hover::after {
  transform: translateX(3px);
}
@media (max-width: 540px) {
  .couture-card-feature-grid-bordered-tile { grid-template-columns: 1fr; }
  .couture-card-feature-grid-bordered-tile .cfgbt-cell {
    border-right: none;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
  .couture-card-feature-grid-bordered-tile .cfgbt-cell:last-child { border-bottom: none; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-grid-bordered-tile .cfgbt-link::after { transition: none; }
}

/* V6.388 #797 — couture-card-grid-icon-text-pair — paired icon+text grid */
.couture-card-grid-icon-text-pair {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-grid-icon-text-pair .cgitp-head {
  font: 700 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-grid-icon-text-pair .cgitp-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 24px;
}
.couture-card-grid-icon-text-pair .cgitp-cell {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 10px;
  align-items: center;
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-grid-icon-text-pair .cgitp-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-grid-icon-text-pair .cgitp-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (max-width: 480px) {
  .couture-card-grid-icon-text-pair .cgitp-grid { grid-template-columns: 1fr; }
}

/* V6.388 #798 — couture-card-bordered-portfolio-tile — bordered portfolio thumb */
.couture-card-bordered-portfolio-tile {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-bordered-portfolio-tile:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-card-bordered-portfolio-tile .cbpt-thumb {
  aspect-ratio: 4 / 3;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-bordered-portfolio-tile .cbpt-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-bordered-portfolio-tile:hover .cbpt-thumb img {
  transform: scale(1.05);
}
.couture-card-bordered-portfolio-tile .cbpt-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-bordered-portfolio-tile .cbpt-info { min-width: 0; }
.couture-card-bordered-portfolio-tile .cbpt-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-bordered-portfolio-tile .cbpt-cat {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-bordered-portfolio-tile .cbpt-year {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-bordered-portfolio-tile,
  .couture-card-bordered-portfolio-tile .cbpt-thumb img { transition: none; }
  .couture-card-bordered-portfolio-tile:hover { transform: none; }
}

/* V6.388 #799 — couture-card-tabs-content-strip — tab-style content strip */
.couture-card-tabs-content-strip {
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-tabs-content-strip .ctcs-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  overflow-x: auto;
}
.couture-card-tabs-content-strip .ctcs-tab {
  padding: 12px 18px;
  font: 600 13px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  transition: color 0.15s ease;
}
.couture-card-tabs-content-strip .ctcs-tab:hover { color: var(--c-ink); }
.couture-card-tabs-content-strip .ctcs-tab[aria-selected="true"],
.couture-card-tabs-content-strip .ctcs-tab.is-active {
  color: var(--c-ink);
  background: var(--c-paper);
}
.couture-card-tabs-content-strip .ctcs-tab[aria-selected="true"]::after,
.couture-card-tabs-content-strip .ctcs-tab.is-active::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 2px;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-tabs-content-strip .ctcs-content {
  padding: clamp(20px, 3vw, 28px);
}
.couture-card-tabs-content-strip .ctcs-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-tabs-content-strip .ctcs-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #800 — 🎉 800 MILESTONE — couture-monument-card — anniversary monument card */
.couture-monument-card {
  position: relative;
  padding: clamp(36px, 5vw, 56px) clamp(24px, 4vw, 40px);
  border-radius: 24px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-ink) 95%, var(--c-accent, var(--c-ink))),
    var(--c-ink)
  );
  color: var(--c-paper);
  text-align: center;
  overflow: hidden;
  isolation: isolate;
}
.couture-monument-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 0%, color-mix(in oklab, var(--c-accent, #fff) 30%, transparent), transparent 60%),
    radial-gradient(ellipse at 80% 100%, color-mix(in oklab, var(--c-accent, #fff) 24%, transparent), transparent 60%);
  z-index: -1;
  pointer-events: none;
}
.couture-monument-card::after {
  content: attr(data-num);
  position: absolute;
  bottom: -40px;
  right: -20px;
  font: 800 clamp(180px, 26vw, 280px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.08em;
  color: color-mix(in oklab, var(--c-paper) 6%, transparent);
  pointer-events: none;
  z-index: -1;
  user-select: none;
}
.couture-monument-card .cmc-badge {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
  position: relative;
}
.couture-monument-card .cmc-title {
  font: 800 clamp(36px, 5vw, 56px)/1.05 var(--c-display, var(--c-sans));
  letter-spacing: -0.04em;
  margin-bottom: 14px;
  position: relative;
}
.couture-monument-card .cmc-subtitle {
  font: 500 clamp(16px, 2vw, 18px)/1.5 var(--c-sans);
  color: color-mix(in oklab, var(--c-paper) 80%, var(--c-ink-soft));
  margin-bottom: 28px;
  max-width: 560px;
  margin-inline: auto;
  position: relative;
}
.couture-monument-card .cmc-stats {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
  position: relative;
}
.couture-monument-card .cmc-stat {
  text-align: center;
}
.couture-monument-card .cmc-stat-num {
  font: 800 clamp(24px, 3vw, 32px)/1 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, var(--c-accent, var(--c-paper)) 80%, var(--c-paper));
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.couture-monument-card .cmc-stat-label {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--c-paper) 75%, var(--c-ink-soft));
}

/* V6.388 #801 — couture-card-action-grid-icon-row — action grid w/ icon row top */
.couture-card-action-grid-icon-row {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-action-grid-icon-row .cagir-icons {
  display: inline-flex;
  gap: 8px;
}
.couture-card-action-grid-icon-row .cagir-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-action-grid-icon-row .cagir-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-grid-icon-row .cagir-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-action-grid-icon-row .cagir-actions {
  display: inline-flex;
  gap: 10px;
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-action-grid-icon-row .cagir-btn {
  padding: 8px 14px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-action-grid-icon-row .cagir-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #802 — couture-card-feature-banner-line — line-anchor banner card */
.couture-card-feature-banner-line {
  position: relative;
  padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) clamp(28px, 3.6vw, 36px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-banner-line::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 16px;
  width: 3px;
  border-radius: 3px;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-feature-banner-line .cfbl-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-banner-line .cfbl-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-banner-line .cfbl-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-banner-line .cfbl-link {
  margin-top: 6px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-banner-line .cfbl-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-feature-banner-line .cfbl-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-banner-line .cfbl-link::after { transition: none; }
}

/* V6.388 #803 — couture-card-photo-overlay-quote — photo card with quote overlay */
.couture-card-photo-overlay-quote {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 16 / 11;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: grid;
  align-items: end;
}
.couture-card-photo-overlay-quote .cpoq-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.couture-card-photo-overlay-quote .cpoq-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-overlay-quote::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.75));
  z-index: 1;
}
.couture-card-photo-overlay-quote .cpoq-content {
  position: relative;
  z-index: 2;
  padding: clamp(20px, 3vw, 28px);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-photo-overlay-quote .cpoq-quote {
  font: 500 clamp(15px, 1.8vw, 18px)/1.5 var(--c-display, var(--c-sans));
  letter-spacing: -0.01em;
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
.couture-card-photo-overlay-quote .cpoq-quote::before { content: "\201C"; font-weight: 800; }
.couture-card-photo-overlay-quote .cpoq-quote::after  { content: "\201D"; font-weight: 800; }
.couture-card-photo-overlay-quote .cpoq-attribution {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in oklab, #fff 28%, transparent);
}
.couture-card-photo-overlay-quote .cpoq-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: color-mix(in oklab, #fff 20%, transparent);
  overflow: hidden;
}
.couture-card-photo-overlay-quote .cpoq-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-card-photo-overlay-quote .cpoq-name {
  font: 700 12px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-photo-overlay-quote .cpoq-name small {
  display: block;
  font: 400 11px/1.3 var(--c-sans);
  text-transform: none;
  letter-spacing: 0;
  opacity: 0.85;
  margin-top: 1px;
}

/* V6.388 #804 — couture-card-list-link-tag-icon — link list with tag icons */
.couture-card-list-link-tag-icon {
  list-style: none;
  padding: clamp(16px, 2.4vw, 22px);
  margin: 0;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-list-link-tag-icon li a {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 8px 4px;
  text-decoration: none;
  color: var(--c-ink);
  font: 500 13px/1.4 var(--c-sans);
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 35%, transparent);
}
.couture-card-list-link-tag-icon li:last-child a { border-bottom: none; }
.couture-card-list-link-tag-icon li a:hover .cllti-text { color: var(--c-accent, var(--c-ink)); }
.couture-card-list-link-tag-icon .cllti-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-list-link-tag-icon .cllti-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  transition: color 0.15s ease;
}
.couture-card-list-link-tag-icon .cllti-text small {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-list-link-tag-icon .cllti-tag {
  font: 600 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-list-link-tag-icon .cllti-text { transition: none; }
}

/* V6.388 #805 — couture-card-action-grid-cells — multi-action grid card */
.couture-card-action-grid-cells {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  overflow: hidden;
}
.couture-card-action-grid-cells .cagc-cell {
  padding: 16px;
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-action-grid-cells .cagc-cell:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-card-action-grid-cells .cagc-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-action-grid-cells .cagc-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-grid-cells .cagc-meta {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-action-grid-cells .cagc-shortcut {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  font: 600 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.couture-card-action-grid-cells .cagc-shortcut kbd {
  font: 700 10px/1.4 var(--c-mono);
  padding: 2px 5px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
}
@media (max-width: 480px) {
  .couture-card-action-grid-cells { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-grid-cells .cagc-cell { transition: none; }
}

/* V6.388 #806 — couture-card-feature-tile-soft-icon — soft icon feature tile */
.couture-card-feature-tile-soft-icon {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-feature-tile-soft-icon .cftsi-icon-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.couture-card-feature-tile-soft-icon .cftsi-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
  box-shadow: 0 4px 10px -4px color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
}
.couture-card-feature-tile-soft-icon .cftsi-tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-tile-soft-icon .cftsi-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-tile-soft-icon .cftsi-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #807 — couture-card-info-status-line — info card with status line */
.couture-card-info-status-line {
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}
.couture-card-info-status-line .cisl-content { min-width: 0; }
.couture-card-info-status-line .cisl-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: flex;
  align-items: center;
  gap: 8px;
}
.couture-card-info-status-line .cisl-title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-info-status-line[data-state="ok"] .cisl-title::before { background: #10b981; }
.couture-card-info-status-line[data-state="warn"] .cisl-title::before { background: #f59e0b; }
.couture-card-info-status-line[data-state="err"] .cisl-title::before { background: #ef4444; }
.couture-card-info-status-line .cisl-detail {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 4px;
  margin-left: 16px;
}
.couture-card-info-status-line .cisl-status {
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  white-space: nowrap;
}
.couture-card-info-status-line[data-state="ok"] .cisl-status {
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: #047857;
  border-color: color-mix(in oklab, #10b981 30%, transparent);
}
.couture-card-info-status-line[data-state="warn"] .cisl-status {
  background: color-mix(in oklab, #f59e0b 14%, var(--c-paper));
  color: #92400e;
  border-color: color-mix(in oklab, #f59e0b 30%, transparent);
}
.couture-card-info-status-line[data-state="err"] .cisl-status {
  background: color-mix(in oklab, #ef4444 14%, var(--c-paper));
  color: #991b1b;
  border-color: color-mix(in oklab, #ef4444 30%, transparent);
}

/* V6.388 #808 — couture-card-feature-grid-three — 3-cell feature grid */
.couture-card-feature-grid-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.couture-card-feature-grid-three .cfgt-cell {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-grid-three .cfgt-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-grid-three .cfgt-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-grid-three .cfgt-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  flex: 1;
}
.couture-card-feature-grid-three .cfgt-meta {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-grid-three { grid-template-columns: 1fr; }
}

/* V6.388 #809 — couture-card-stat-grid-bordered — bordered stat grid card */
.couture-card-stat-grid-bordered {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
}
.couture-card-stat-grid-bordered .csgb-cell {
  padding: clamp(18px, 2.4vw, 24px) 14px;
  text-align: center;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-stat-grid-bordered .csgb-cell:last-child { border-right: none; }
.couture-card-stat-grid-bordered .csgb-num {
  font: 800 clamp(24px, 3vw, 30px)/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-stat-grid-bordered .csgb-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-stat-grid-bordered .csgb-label {
  font: 500 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}
.couture-card-stat-grid-bordered .csgb-detail {
  display: block;
  margin-top: 6px;
  font: 400 11px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-stat-grid-bordered { grid-template-columns: 1fr; }
  .couture-card-stat-grid-bordered .csgb-cell {
    border-right: none;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
  .couture-card-stat-grid-bordered .csgb-cell:last-child { border-bottom: none; }
}

/* V6.388 #810 — couture-card-list-tier-features — tier-comparison feature card */
.couture-card-list-tier-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.couture-card-list-tier-features li {
  padding: clamp(14px, 2vw, 18px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-list-tier-features li[data-tier="premium"] {
  border-color: var(--c-accent, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper));
}
.couture-card-list-tier-features .cltf-tier {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-card-list-tier-features li[data-tier="premium"] .cltf-tier {
  color: var(--c-accent, var(--c-ink));
}
.couture-card-list-tier-features .cltf-name {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-list-tier-features .cltf-meta {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-list-tier-features .cltf-included {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: #047857;
  border: 1px solid color-mix(in oklab, #10b981 30%, transparent);
  align-self: flex-start;
}
.couture-card-list-tier-features .cltf-included::before { content: "\2713"; font-weight: 800; }
.couture-card-list-tier-features .cltf-not-included {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  align-self: flex-start;
}
.couture-card-list-tier-features .cltf-not-included::before { content: "\2715"; font-weight: 800; }

/* V6.388 #811 — couture-card-feature-icon-overlay-tile — icon-overlay tile feature */
.couture-card-feature-icon-overlay-tile {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  padding-top: 48px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-overlay-tile::before {
  content: attr(data-icon);
  position: absolute;
  top: -18px;
  left: 18px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 22px/1 var(--c-display, var(--c-sans));
  box-shadow: 0 6px 14px -6px color-mix(in oklab, var(--c-accent, var(--c-ink)) 40%, transparent);
}
.couture-card-feature-icon-overlay-tile .cfiot-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-feature-icon-overlay-tile .cfiot-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-feature-icon-overlay-tile .cfiot-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #812 — couture-card-list-icon-bullet-num — numbered icon-bullet list card */
.couture-card-list-icon-bullet-num {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  counter-reset: clibn;
}
.couture-card-list-icon-bullet-num li {
  counter-increment: clibn;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: start;
}
.couture-card-list-icon-bullet-num li::before {
  content: counter(clibn, decimal-leading-zero);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
}
.couture-card-list-icon-bullet-num .clibn-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-list-icon-bullet-num .clibn-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #813 — couture-card-action-image-tile — image+action tile card */
.couture-card-action-image-tile {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: grid;
  grid-template-rows: auto 1fr;
}
.couture-card-action-image-tile .caitp-image {
  aspect-ratio: 16 / 10;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-card-action-image-tile .caitp-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-action-image-tile:hover .caitp-image img {
  transform: scale(1.05);
}
.couture-card-action-image-tile .caitp-content {
  padding: clamp(18px, 2.4vw, 22px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-top: none;
  border-radius: 0 0 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-action-image-tile .caitp-tag {
  display: inline-block;
  align-self: start;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-action-image-tile .caitp-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-image-tile .caitp-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-action-image-tile .caitp-actions {
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.couture-card-action-image-tile .caitp-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-action-image-tile .caitp-cta {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-image-tile .caitp-image img { transition: none; }
}

/* V6.388 #814 — couture-card-callout-bordered-action — bordered action callout */
.couture-card-callout-bordered-action {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
}
.couture-card-callout-bordered-action .ccba-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-callout-bordered-action .ccba-text {
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-bordered-action .ccba-text strong {
  font-weight: 700;
}
.couture-card-callout-bordered-action .ccba-action {
  padding: 8px 16px;
  border-radius: 8px;
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-callout-bordered-action {
    grid-template-columns: 36px 1fr;
  }
  .couture-card-callout-bordered-action .ccba-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #815 — couture-card-grid-photo-double — 2-photo split card */
.couture-card-grid-photo-double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  border-radius: 14px;
  overflow: hidden;
}
.couture-card-grid-photo-double .cgpd-cell {
  position: relative;
  aspect-ratio: 1 / 1;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-grid-photo-double .cgpd-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-grid-photo-double .cgpd-cell:hover img {
  transform: scale(1.04);
}
.couture-card-grid-photo-double .cgpd-overlay {
  position: absolute;
  inset: auto 0 0 0;
  padding: 12px 14px;
  background: linear-gradient(0deg, rgba(0,0,0,0.55), transparent);
  color: #fff;
  font: 600 12px/1.3 var(--c-sans);
}
.couture-card-grid-photo-double .cgpd-overlay small {
  display: block;
  font: 400 10px/1.3 var(--c-mono);
  opacity: 0.85;
  margin-top: 1px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-grid-photo-double .cgpd-cell img { transition: none; }
}

/* V6.388 #816 — couture-card-feature-icon-grid-double — 2-col icon feature grid */
.couture-card-feature-icon-grid-double {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 28px;
}
.couture-card-feature-icon-grid-double .cfigd-cell {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
}
.couture-card-feature-icon-grid-double .cfigd-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-feature-icon-grid-double .cfigd-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-feature-icon-grid-double .cfigd-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-icon-grid-double { grid-template-columns: 1fr; }
}

/* V6.388 #817 — couture-card-callout-feature-strip — feature strip callout card */
.couture-card-callout-feature-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 16px 22px;
  border-radius: 14px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 24%, transparent);
}
.couture-card-callout-feature-strip .ccfs-pulse {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  position: relative;
}
.couture-card-callout-feature-strip .ccfs-pulse::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 60%, transparent);
  animation: ccfs-pulse 2s ease-out infinite;
}
@keyframes ccfs-pulse {
  0% { transform: scale(0.8); opacity: 1; }
  100% { transform: scale(2); opacity: 0; }
}
.couture-card-callout-feature-strip .ccfs-text {
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-feature-strip .ccfs-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-callout-feature-strip .ccfs-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-feature-strip .ccfs-action {
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-feature-strip .ccfs-pulse::before { animation: none; }
}

/* V6.388 #818 — couture-card-spec-list-bordered — bordered spec list card */
.couture-card-spec-list-bordered {
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  background: var(--c-paper);
}
.couture-card-spec-list-bordered .cslb-row {
  display: grid;
  grid-template-columns: 40% 1fr;
  align-items: baseline;
  padding: 12px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-spec-list-bordered .cslb-row:last-child { border-bottom: none; }
.couture-card-spec-list-bordered .cslb-row:nth-child(odd) {
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
}
.couture-card-spec-list-bordered .cslb-key {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-spec-list-bordered .cslb-val {
  font: 500 13px/1.45 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-spec-list-bordered .cslb-val code {
  font: 600 12px/1.3 var(--c-mono);
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #819 — couture-card-feature-trio-cells-shadow — shadow-pop feature trio */
.couture-card-feature-trio-cells-shadow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.couture-card-feature-trio-cells-shadow .cftcs-cell {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.couture-card-feature-trio-cells-shadow .cftcs-cell:hover {
  transform: translateY(-3px);
  box-shadow:
    0 18px 32px -16px color-mix(in oklab, var(--c-ink) 22%, transparent),
    0 4px 8px -2px color-mix(in oklab, var(--c-ink) 12%, transparent);
}
.couture-card-feature-trio-cells-shadow .cftcs-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-trio-cells-shadow .cftcs-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-trio-cells-shadow .cftcs-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-trio-cells-shadow { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-trio-cells-shadow .cftcs-cell { transition: none; }
  .couture-card-feature-trio-cells-shadow .cftcs-cell:hover { transform: none; }
}

/* V6.388 #820 — couture-card-step-list-vertical-numbers — vertical step list w/ visible numbers */
.couture-card-step-list-vertical-numbers {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  counter-reset: cslvn;
}
.couture-card-step-list-vertical-numbers li {
  counter-increment: cslvn;
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-step-list-vertical-numbers li:last-child { border-bottom: none; }
.couture-card-step-list-vertical-numbers li::before {
  content: counter(cslvn);
  font: 800 64px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.06em;
  color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, var(--c-line));
  font-variant-numeric: tabular-nums;
  text-align: right;
  padding-right: 8px;
  border-right: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-step-list-vertical-numbers .cslvn-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-step-list-vertical-numbers .cslvn-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-step-list-vertical-numbers .cslvn-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-step-list-vertical-numbers li {
    grid-template-columns: 1fr;
  }
  .couture-card-step-list-vertical-numbers li::before {
    text-align: left;
    border-right: none;
    border-bottom: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
    padding: 0 0 8px;
    font-size: 48px;
  }
}

/* V6.388 #821 — couture-card-photo-thumb-grid-3x — 3x photo thumbnail grid */
.couture-card-photo-thumb-grid-3x {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.couture-card-photo-thumb-grid-3x .cptg-cell {
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-photo-thumb-grid-3x .cptg-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease, filter 0.3s ease;
}
.couture-card-photo-thumb-grid-3x .cptg-cell:hover img {
  transform: scale(1.06);
  filter: brightness(1.05);
}
.couture-card-photo-thumb-grid-3x .cptg-cell.is-active img {
  filter: brightness(1.1) saturate(1.1);
}
@media (max-width: 480px) {
  .couture-card-photo-thumb-grid-3x { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-thumb-grid-3x .cptg-cell img { transition: none; }
}

/* V6.388 #822 — couture-card-cta-image-row-anchored — anchored image+CTA row card */
.couture-card-cta-image-row-anchored {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-cta-image-row-anchored .ccira-photo {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-card-cta-image-row-anchored .ccira-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-cta-image-row-anchored .ccira-content { min-width: 0; }
.couture-card-cta-image-row-anchored .ccira-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 4px;
}
.couture-card-cta-image-row-anchored .ccira-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-cta-image-row-anchored .ccira-meta {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-cta-image-row-anchored .ccira-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-cta-image-row-anchored {
    grid-template-columns: auto 1fr;
  }
  .couture-card-cta-image-row-anchored .ccira-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #823 — couture-card-info-detail-pill — info-detail card with pill labels */
.couture-card-info-detail-pill {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-detail-pill .cidp-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 14px;
}
.couture-card-info-detail-pill .cidp-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-detail-pill .cidp-pill {
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-info-detail-pill .cidp-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 12px;
}
.couture-card-info-detail-pill .cidp-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-card-info-detail-pill .cidp-mini-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 4px;
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #824 — couture-card-feature-icon-row-cells — icon row cells card */
.couture-card-feature-icon-row-cells {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.couture-card-feature-icon-row-cells .cfirc-cell {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-row-cells .cfirc-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-icon-row-cells .cfirc-text { min-width: 0; }
.couture-card-feature-icon-row-cells .cfirc-title {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-feature-icon-row-cells .cfirc-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-icon-row-cells { grid-template-columns: 1fr; }
}

/* V6.388 #825 — couture-card-cta-photo-corner-icon — photo CTA card with corner icon */
.couture-card-cta-photo-corner-icon {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: grid;
  align-items: end;
}
.couture-card-cta-photo-corner-icon .cpci-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.couture-card-cta-photo-corner-icon .cpci-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.couture-card-cta-photo-corner-icon:hover .cpci-bg img {
  transform: scale(1.04);
}
.couture-card-cta-photo-corner-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,0.65));
  z-index: 1;
}
.couture-card-cta-photo-corner-icon .cpci-corner {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}
.couture-card-cta-photo-corner-icon .cpci-content {
  position: relative;
  z-index: 2;
  padding: clamp(18px, 2.4vw, 24px);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-cta-photo-corner-icon .cpci-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.85;
}
.couture-card-cta-photo-corner-icon .cpci-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.couture-card-cta-photo-corner-icon .cpci-action {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #fff;
  text-decoration: none;
}
.couture-card-cta-photo-corner-icon .cpci-action::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-cta-photo-corner-icon:hover .cpci-action::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-cta-photo-corner-icon .cpci-bg img,
  .couture-card-cta-photo-corner-icon .cpci-action::after { transition: none; }
}

/* V6.388 #826 — couture-card-list-stat-icon-cells — list w/ icon stat cells */
.couture-card-list-stat-icon-cells {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-list-stat-icon-cells li {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-list-stat-icon-cells .clsic-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-list-stat-icon-cells .clsic-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-list-stat-icon-cells .clsic-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-list-stat-icon-cells .clsic-num {
  font: 800 18px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-card-list-stat-icon-cells .clsic-num small {
  display: block;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.388 #827 — couture-card-feature-grid-side-icon — side-icon feature card */
.couture-card-feature-grid-side-icon {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-side-icon .cfgsi-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 28%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-grid-side-icon .cfgsi-content { min-width: 0; }
.couture-card-feature-grid-side-icon .cfgsi-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-bottom: 4px;
}
.couture-card-feature-grid-side-icon .cfgsi-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-feature-grid-side-icon .cfgsi-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-grid-side-icon .cfgsi-stat {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-card-feature-grid-side-icon .cfgsi-stat small {
  display: block;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}
@media (max-width: 540px) {
  .couture-card-feature-grid-side-icon {
    grid-template-columns: 56px 1fr;
  }
  .couture-card-feature-grid-side-icon .cfgsi-stat {
    grid-column: 1 / -1;
    text-align: left;
    padding-top: 8px;
    border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  }
}

/* V6.388 #828 — couture-card-photo-stack-text-bottom — photo card with text below */
.couture-card-photo-stack-text-bottom {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-photo-stack-text-bottom .cpstb-photo {
  aspect-ratio: 16 / 11;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-photo-stack-text-bottom .cpstb-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-stack-text-bottom .cpstb-text {
  padding: 6px 6px 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-photo-stack-text-bottom .cpstb-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-photo-stack-text-bottom .cpstb-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-photo-stack-text-bottom .cpstb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-photo-stack-text-bottom .cpstb-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #829 — couture-card-feature-banner-icon-large — large-icon banner feature */
.couture-card-feature-banner-icon-large {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: clamp(20px, 3vw, 28px);
  align-items: center;
  padding: clamp(24px, 3.4vw, 32px);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-feature-banner-icon-large .cfbil-icon {
  width: 96px;
  height: 96px;
  border-radius: 22px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 80%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 40px/1 var(--c-display, var(--c-sans));
  box-shadow:
    0 12px 28px -10px color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, transparent),
    inset 0 1px 0 0 color-mix(in oklab, var(--c-paper) 30%, transparent);
}
.couture-card-feature-banner-icon-large .cfbil-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-feature-banner-icon-large .cfbil-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-feature-banner-icon-large .cfbil-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-banner-icon-large {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-feature-banner-icon-large .cfbil-icon {
    margin-inline: auto;
    width: 72px;
    height: 72px;
    font-size: 30px;
  }
}

/* V6.388 #830 — couture-card-text-action-stack — stacked text+actions card */
.couture-card-text-action-stack {
  padding: clamp(24px, 3.4vw, 36px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-card-text-action-stack .ctas-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-text-action-stack .ctas-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-text-action-stack .ctas-body {
  font: 400 15px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 540px;
}
.couture-card-text-action-stack .ctas-divider {
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: 4px 0;
}
.couture-card-text-action-stack .ctas-actions {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
}
.couture-card-text-action-stack .ctas-action {
  padding: 12px 22px;
  border-radius: 10px;
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
}
.couture-card-text-action-stack .ctas-action.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-text-action-stack .ctas-action.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #831 — couture-card-feature-spec-row — feature row with spec entries */
.couture-card-feature-spec-row {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-spec-row .cfsr-head {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-spec-row .cfsr-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-feature-spec-row .cfsr-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-spec-row .cfsr-meta {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-feature-spec-row .cfsr-specs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-card-feature-spec-row .cfsr-spec {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 35%, transparent);
  font: 400 12px/1.4 var(--c-sans);
}
.couture-card-feature-spec-row .cfsr-spec-key {
  font-family: var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--c-ink-soft);
  font-weight: 600;
}
.couture-card-feature-spec-row .cfsr-spec-val {
  font-weight: 700;
  color: var(--c-ink);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 540px) {
  .couture-card-feature-spec-row .cfsr-specs { grid-template-columns: 1fr; }
}

/* V6.388 #832 — couture-card-callout-flag-icon — flag-icon style callout card */
.couture-card-callout-flag-icon {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-left-width: 4px;
  border-left-color: var(--c-accent, var(--c-ink));
}
.couture-card-callout-flag-icon[data-tone="warn"]    { border-left-color: #f59e0b; }
.couture-card-callout-flag-icon[data-tone="success"] { border-left-color: #10b981; }
.couture-card-callout-flag-icon[data-tone="error"]   { border-left-color: #ef4444; }
.couture-card-callout-flag-icon[data-tone="info"]    { border-left-color: #3b82f6; }
.couture-card-callout-flag-icon .ccfi-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
  margin-top: 2px;
}
.couture-card-callout-flag-icon[data-tone="warn"] .ccfi-icon  { background: color-mix(in oklab, #f59e0b 14%, transparent); color: #92400e; }
.couture-card-callout-flag-icon[data-tone="success"] .ccfi-icon { background: color-mix(in oklab, #10b981 14%, transparent); color: #047857; }
.couture-card-callout-flag-icon[data-tone="error"] .ccfi-icon { background: color-mix(in oklab, #ef4444 14%, transparent); color: #991b1b; }
.couture-card-callout-flag-icon[data-tone="info"] .ccfi-icon { background: color-mix(in oklab, #3b82f6 14%, transparent); color: #1e3a8a; }
.couture-card-callout-flag-icon .ccfi-content {
  font: 400 14px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-flag-icon .ccfi-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-callout-flag-icon .ccfi-action {
  display: inline-block;
  margin-top: 8px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}
.couture-card-callout-flag-icon .ccfi-action::after {
  content: "\2192";
  margin-left: 4px;
  display: inline-block;
  transition: transform 0.15s ease;
}
.couture-card-callout-flag-icon .ccfi-action:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-flag-icon .ccfi-action::after { transition: none; }
}

/* V6.388 #833 — couture-card-feature-icon-tile-bordered — bordered icon tile feature */
.couture-card-feature-icon-tile-bordered {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 75%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-feature-icon-tile-bordered:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-card-feature-icon-tile-bordered .cfitb-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 2px solid var(--c-accent, var(--c-ink));
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-icon-tile-bordered .cfitb-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-tile-bordered .cfitb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-icon-tile-bordered .cfitb-foot {
  margin-top: auto;
  padding-top: 12px;
  border-top: 2px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-icon-tile-bordered { transition: none; }
  .couture-card-feature-icon-tile-bordered:hover { transform: none; }
}

/* V6.388 #834 — couture-card-info-large-icon-cell — large-icon info cell card */
.couture-card-info-large-icon-cell {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-large-icon-cell .cilic-icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: var(--c-paper);
  color: var(--c-accent, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 28px/1 var(--c-display, var(--c-sans));
}
.couture-card-info-large-icon-cell .cilic-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-info-large-icon-cell .cilic-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-large-icon-cell .cilic-pill {
  display: inline-block;
  margin-top: 8px;
  font: 600 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
}
@media (max-width: 540px) {
  .couture-card-info-large-icon-cell {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-info-large-icon-cell .cilic-icon { margin-inline: auto; }
}

/* V6.388 #835 — couture-card-tile-feature-icon-stat — icon stat tile feature */
.couture-card-tile-feature-icon-stat {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-tile-feature-icon-stat .ctfis-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 22px/1 var(--c-display, var(--c-sans));
}
.couture-card-tile-feature-icon-stat .ctfis-num {
  font: 800 24px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-tile-feature-icon-stat .ctfis-num small {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  margin-left: 2px;
}
.couture-card-tile-feature-icon-stat .ctfis-label {
  font: 500 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.388 #836 — couture-card-grid-trio-stacked — 3-cell stacked column grid card */
.couture-card-grid-trio-stacked {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-grid-trio-stacked > * {
  padding: clamp(16px, 2.4vw, 22px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-grid-trio-stacked > *:last-child {
  border-bottom: none;
}
.couture-card-grid-trio-stacked .cgts-row {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 12px;
  align-items: center;
}
.couture-card-grid-trio-stacked .cgts-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-grid-trio-stacked .cgts-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-grid-trio-stacked .cgts-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-grid-trio-stacked .cgts-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #837 — couture-card-feature-soft-anchor-stripe — soft-anchor stripe feature */
.couture-card-feature-soft-anchor-stripe {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  overflow: hidden;
}
.couture-card-feature-soft-anchor-stripe::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 0;
  width: 4px;
  background: linear-gradient(
    180deg,
    var(--c-accent, var(--c-ink)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, var(--c-ink))
  );
  border-radius: 0 4px 4px 0;
}
.couture-card-feature-soft-anchor-stripe .cfsas-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
  padding-left: 14px;
}
.couture-card-feature-soft-anchor-stripe .cfsas-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
  padding-left: 14px;
}
.couture-card-feature-soft-anchor-stripe .cfsas-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  padding-left: 14px;
}
.couture-card-feature-soft-anchor-stripe .cfsas-meta {
  margin-top: 12px;
  padding-top: 12px;
  padding-left: 14px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* V6.388 #838 — couture-card-info-stat-row-pill — info+stat row card with pill */
.couture-card-info-stat-row-pill {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-stat-row-pill .cisrp-info { min-width: 0; }
.couture-card-info-stat-row-pill .cisrp-name {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-stat-row-pill .cisrp-meta {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-info-stat-row-pill .cisrp-num {
  font: 700 18px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-info-stat-row-pill .cisrp-num small {
  display: block;
  font: 600 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
  text-align: right;
}
.couture-card-info-stat-row-pill .cisrp-pill {
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
}
.couture-card-info-stat-row-pill .cisrp-pill[data-tone="ok"] {
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: #047857;
}
.couture-card-info-stat-row-pill .cisrp-pill[data-tone="warn"] {
  background: color-mix(in oklab, #f59e0b 14%, var(--c-paper));
  color: #92400e;
}
.couture-card-info-stat-row-pill .cisrp-pill[data-tone="err"] {
  background: color-mix(in oklab, #ef4444 14%, var(--c-paper));
  color: #991b1b;
}
@media (max-width: 540px) {
  .couture-card-info-stat-row-pill {
    grid-template-columns: 1fr auto;
  }
  .couture-card-info-stat-row-pill .cisrp-pill {
    grid-column: 1 / -1;
    text-align: center;
    margin-top: 6px;
  }
}

/* V6.388 #839 — couture-card-callout-icon-row-actions — icon row callout with actions */
.couture-card-callout-icon-row-actions {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    color-mix(in oklab, var(--c-paper) 90%, var(--c-bg))
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-icon-row-actions .ccira-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-callout-icon-row-actions .ccira-text {
  font: 500 14px/1.45 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-icon-row-actions .ccira-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-callout-icon-row-actions .ccira-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-icon-row-actions .ccira-actions {
  display: inline-flex;
  gap: 6px;
}
.couture-card-callout-icon-row-actions .ccira-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.couture-card-callout-icon-row-actions .ccira-btn:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-icon-row-actions .ccira-btn { transition: none; }
}

/* V6.388 #840 — couture-card-feature-half-image-stack — half-image stacked feature card */
.couture-card-feature-half-image-stack {
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 18px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-half-image-stack .cfhis-photo {
  aspect-ratio: 16 / 8;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-feature-half-image-stack .cfhis-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-feature-half-image-stack:hover .cfhis-photo img {
  transform: scale(1.04);
}
.couture-card-feature-half-image-stack .cfhis-content {
  padding: clamp(20px, 3vw, 28px);
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
}
.couture-card-feature-half-image-stack .cfhis-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 24px/1 var(--c-display, var(--c-sans));
  margin-top: -50px;
  position: relative;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.couture-card-feature-half-image-stack .cfhis-text { padding-top: 4px; }
.couture-card-feature-half-image-stack .cfhis-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-feature-half-image-stack .cfhis-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-feature-half-image-stack .cfhis-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-half-image-stack .cfhis-photo img { transition: none; }
}

/* V6.388 #841 — couture-card-callout-tagged-actions — tagged callout w/ multi-actions */
.couture-card-callout-tagged-actions {
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-callout-tagged-actions .ccta-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-card-callout-tagged-actions .ccta-tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-tagged-actions .ccta-tag[data-tone="accent"] {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 24%, transparent);
}
.couture-card-callout-tagged-actions .ccta-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-tagged-actions .ccta-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-tagged-actions .ccta-actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-card-callout-tagged-actions .ccta-btn {
  padding: 8px 14px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-callout-tagged-actions .ccta-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #842 — couture-card-bordered-thumb-list — bordered thumbnail list */
.couture-card-bordered-thumb-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-bordered-thumb-list li a {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-bordered-thumb-list li a:hover {
  border-color: var(--c-ink);
  transform: translateX(2px);
}
.couture-card-bordered-thumb-list .cbtl-thumb {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-bordered-thumb-list .cbtl-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-bordered-thumb-list .cbtl-info { min-width: 0; }
.couture-card-bordered-thumb-list .cbtl-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-bordered-thumb-list .cbtl-meta {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-bordered-thumb-list .cbtl-pill {
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-bordered-thumb-list li a { transition: none; }
  .couture-card-bordered-thumb-list li a:hover { transform: none; }
}

/* V6.388 #843 — couture-card-feature-icon-row-strip — long icon-strip feature card */
.couture-card-feature-icon-row-strip {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-feature-icon-row-strip .cfirs-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.couture-card-feature-icon-row-strip .cfirs-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-row-strip .cfirs-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-feature-icon-row-strip .cfirs-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-icon-row-strip .cfirs-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 4px;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-feature-icon-row-strip .cfirs-cell:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-feature-icon-row-strip .cfirs-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-feature-icon-row-strip .cfirs-label {
  font: 500 10px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-icon-row-strip .cfirs-cell { transition: none; }
}

/* V6.388 #844 — couture-card-photo-action-stack — photo card with action stack */
.couture-card-photo-action-stack {
  display: grid;
  grid-template-rows: auto 1fr;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-photo-action-stack .cpas-photo {
  aspect-ratio: 16 / 9;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  position: relative;
}
.couture-card-photo-action-stack .cpas-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-action-stack .cpas-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 88%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  color: var(--c-ink);
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-photo-action-stack .cpas-content {
  padding: clamp(16px, 2.4vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-photo-action-stack .cpas-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-photo-action-stack .cpas-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-photo-action-stack .cpas-actions {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  display: inline-flex;
  gap: 8px;
}
.couture-card-photo-action-stack .cpas-btn {
  padding: 7px 12px;
  border-radius: 7px;
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-photo-action-stack .cpas-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #845 — couture-card-feature-stat-tile-double — 2-stat tile feature */
.couture-card-feature-stat-tile-double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  overflow: hidden;
}
.couture-card-feature-stat-tile-double .cfstd-cell {
  padding: clamp(20px, 2.8vw, 26px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-feature-stat-tile-double .cfstd-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
  margin-bottom: 6px;
}
.couture-card-feature-stat-tile-double .cfstd-num {
  font: 800 24px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-stat-tile-double .cfstd-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-stat-tile-double .cfstd-label {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-feature-stat-tile-double .cfstd-detail {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-stat-tile-double { grid-template-columns: 1fr; }
}

/* V6.388 #846 — couture-card-info-banner-tinted — tinted info banner card */
.couture-card-info-banner-tinted {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  border-radius: 14px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
}
.couture-card-info-banner-tinted .cibt-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-info-banner-tinted .cibt-text {
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-info-banner-tinted .cibt-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-info-banner-tinted .cibt-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-banner-tinted .cibt-action {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-info-banner-tinted .cibt-action::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-info-banner-tinted .cibt-action:hover::after {
  transform: translateX(3px);
}
@media (max-width: 540px) {
  .couture-card-info-banner-tinted {
    grid-template-columns: auto 1fr;
  }
  .couture-card-info-banner-tinted .cibt-action {
    grid-column: 1 / -1;
    justify-content: end;
    padding-top: 6px;
    border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
    margin-top: 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-info-banner-tinted .cibt-action::after { transition: none; }
}

/* V6.388 #847 — couture-card-grid-pricing-mini-trio — 3-up mini pricing card */
.couture-card-grid-pricing-mini-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.couture-card-grid-pricing-mini-trio .cgpmt-cell {
  padding: clamp(20px, 3vw, 26px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-grid-pricing-mini-trio .cgpmt-cell[data-featured] {
  border-color: var(--c-accent, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper));
}
.couture-card-grid-pricing-mini-trio .cgpmt-tier {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-soft);
}
.couture-card-grid-pricing-mini-trio .cgpmt-cell[data-featured] .cgpmt-tier {
  color: var(--c-accent, var(--c-ink));
}
.couture-card-grid-pricing-mini-trio .cgpmt-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.couture-card-grid-pricing-mini-trio .cgpmt-amount {
  font: 800 28px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-grid-pricing-mini-trio .cgpmt-period {
  font: 500 12px/1 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-grid-pricing-mini-trio .cgpmt-tagline {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  flex: 1;
}
.couture-card-grid-pricing-mini-trio .cgpmt-cta {
  margin-top: auto;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  text-align: center;
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-card-grid-pricing-mini-trio .cgpmt-cell[data-featured] .cgpmt-cta {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (max-width: 720px) {
  .couture-card-grid-pricing-mini-trio { grid-template-columns: 1fr; }
}

/* V6.388 #848 — couture-card-feature-checklist-bordered — bordered checklist feature */
.couture-card-feature-checklist-bordered {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-checklist-bordered .cfcb-head {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-checklist-bordered .cfcb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-feature-checklist-bordered .cfcb-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-checklist-bordered .cfcb-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-checklist-bordered .cfcb-list li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
  font: 400 14px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-checklist-bordered .cfcb-list li::before {
  content: "\2713";
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border-radius: 5px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}
.couture-card-feature-checklist-bordered .cfcb-foot {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.couture-card-feature-checklist-bordered .cfcb-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-feature-checklist-bordered .cfcb-link {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}

/* V6.388 #849 — couture-card-cta-half-action — half-width action CTA card */
.couture-card-cta-half-action {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-cta-half-action .ccha-content {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.couture-card-cta-half-action .ccha-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-cta-half-action .ccha-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-cta-half-action .ccha-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-cta-half-action .ccha-action {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-cta-half-action .ccha-action-title {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, var(--c-paper) 85%, transparent);
  text-align: center;
}
.couture-card-cta-half-action .ccha-action-btn {
  padding: 12px 18px;
  border-radius: 10px;
  background: var(--c-paper);
  color: var(--c-ink);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  text-align: center;
  transition: transform 0.15s ease;
}
.couture-card-cta-half-action .ccha-action-btn:hover {
  transform: translateY(-2px);
}
.couture-card-cta-half-action .ccha-action-meta {
  font: 500 11px/1 var(--c-mono);
  text-align: center;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}
@media (max-width: 540px) {
  .couture-card-cta-half-action { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-cta-half-action .ccha-action-btn { transition: none; }
}

/* V6.388 #850 — 🎉 850 MILESTONE — couture-arch-card — anniversary arch ribbon card */
.couture-arch-card {
  position: relative;
  padding: clamp(36px, 5vw, 56px) clamp(24px, 4vw, 40px);
  border-radius: 100px 100px 22px 22px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, var(--c-paper)),
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg))
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  text-align: center;
  overflow: hidden;
}
.couture-arch-card::before {
  content: attr(data-num);
  position: absolute;
  top: 14px;
  left: 0;
  right: 0;
  font: 800 clamp(140px, 22vw, 220px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.06em;
  color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 10%, transparent);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.couture-arch-card .ach-badge {
  position: relative;
  display: inline-block;
  padding: 6px 16px;
  border-radius: 999px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 22px;
}
.couture-arch-card .ach-title {
  position: relative;
  font: 800 clamp(28px, 4vw, 40px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-arch-card .ach-body {
  position: relative;
  font: 400 15px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 520px;
  margin-inline: auto;
  margin-bottom: 24px;
}
.couture-arch-card .ach-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 13px/1 var(--c-sans);
  text-decoration: none;
  transition: transform 0.15s ease;
}
.couture-arch-card .ach-cta:hover {
  transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-arch-card .ach-cta { transition: none; }
}

/* V6.388 #851 — couture-card-feature-line-vertical-bordered — vertical bordered feature card */
.couture-card-feature-line-vertical-bordered {
  position: relative;
  padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) clamp(36px, 4vw, 44px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-line-vertical-bordered::before {
  content: "";
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 14px;
  width: 4px;
  border-radius: 4px;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-feature-line-vertical-bordered .cflvb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-feature-line-vertical-bordered .cflvb-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-feature-line-vertical-bordered .cflvb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-line-vertical-bordered .cflvb-foot {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #852 — couture-card-action-grid-trio — 3-action grid card */
.couture-card-action-grid-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 8px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-action-grid-trio .cagt-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-action-grid-trio .cagt-cell:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-action-grid-trio .cagt-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-action-grid-trio .cagt-label {
  font: 600 11px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  text-align: center;
}
.couture-card-action-grid-trio .cagt-meta {
  font: 400 10px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (max-width: 480px) {
  .couture-card-action-grid-trio { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-grid-trio .cagt-cell { transition: none; }
}

/* V6.388 #853 — couture-card-feature-icon-list-grouped — grouped icon list feature */
.couture-card-feature-icon-list-grouped {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-list-grouped .cfilg-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-feature-icon-list-grouped .cfilg-group + .cfilg-group {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-icon-list-grouped .cfilg-heading {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-feature-icon-list-grouped .cfilg-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-feature-icon-list-grouped .cfilg-list li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: center;
  font: 400 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-icon-list-grouped .cfilg-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-feature-icon-list-grouped .cfilg-list li small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}

/* V6.388 #854 — couture-card-photo-banner-overlay-bottom — bottom-overlay photo banner */
.couture-card-photo-banner-overlay-bottom {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 21 / 9;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: grid;
  align-items: end;
}
.couture-card-photo-banner-overlay-bottom .cpbob-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.couture-card-photo-banner-overlay-bottom .cpbob-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-banner-overlay-bottom::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,0.6) 80%, rgba(0,0,0,0.85));
  z-index: 1;
}
.couture-card-photo-banner-overlay-bottom .cpbob-content {
  position: relative;
  z-index: 2;
  padding: clamp(20px, 3vw, 32px);
  color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: end;
}
.couture-card-photo-banner-overlay-bottom .cpbob-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.85;
  margin-bottom: 6px;
}
.couture-card-photo-banner-overlay-bottom .cpbob-title {
  font: 800 clamp(22px, 3vw, 30px)/1.15 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.couture-card-photo-banner-overlay-bottom .cpbob-action {
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  color: #111;
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-photo-banner-overlay-bottom {
    aspect-ratio: 16 / 11;
  }
  .couture-card-photo-banner-overlay-bottom .cpbob-content {
    grid-template-columns: 1fr;
  }
}

/* V6.388 #855 — couture-card-icon-grid-tabbed — tabbed icon grid card */
.couture-card-icon-grid-tabbed {
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-icon-grid-tabbed .cigt-tabs {
  display: inline-flex;
  gap: 0;
  margin-bottom: 14px;
  padding: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-icon-grid-tabbed .cigt-tab {
  padding: 6px 14px;
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-card-icon-grid-tabbed .cigt-tab[aria-selected="true"],
.couture-card-icon-grid-tabbed .cigt-tab.is-active {
  background: var(--c-paper);
  color: var(--c-ink);
  box-shadow: 0 1px 4px -1px rgba(0,0,0,0.12);
}
.couture-card-icon-grid-tabbed .cigt-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.couture-card-icon-grid-tabbed .cigt-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 6px;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-icon-grid-tabbed .cigt-cell:hover {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-icon-grid-tabbed .cigt-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-icon-grid-tabbed .cigt-label {
  font: 500 10px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  text-align: center;
}
@media (max-width: 540px) {
  .couture-card-icon-grid-tabbed .cigt-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-icon-grid-tabbed .cigt-tab,
  .couture-card-icon-grid-tabbed .cigt-cell { transition: none; }
}

/* V6.388 #856 — couture-card-feature-text-double — text-only double feature card */
.couture-card-feature-text-double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 16px;
  overflow: hidden;
}
.couture-card-feature-text-double .cftd-cell {
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-text-double .cftd-cell[data-tone="accent"] {
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
}
.couture-card-feature-text-double .cftd-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-text-double .cftd-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-text-double .cftd-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  flex: 1;
}
.couture-card-feature-text-double .cftd-link {
  margin-top: 4px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-text-double .cftd-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-feature-text-double .cftd-link:hover::after {
  transform: translateX(3px);
}
@media (max-width: 540px) {
  .couture-card-feature-text-double { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-text-double .cftd-link::after { transition: none; }
}

/* V6.388 #857 — couture-card-stat-mini-bordered — small bordered stat card */
.couture-card-stat-mini-bordered {
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-card-stat-mini-bordered .csmb-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-stat-mini-bordered .csmb-num {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-stat-mini-bordered .csmb-trend {
  font: 700 11px/1 var(--c-mono);
  color: #10b981;
}
.couture-card-stat-mini-bordered .csmb-trend.is-down { color: #ef4444; }
.couture-card-stat-mini-bordered .csmb-trend::before { content: "\2191 "; }
.couture-card-stat-mini-bordered .csmb-trend.is-down::before { content: "\2193 "; }
.couture-card-stat-mini-bordered .csmb-detail {
  font: 400 11px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 4px;
}

/* V6.388 #858 — couture-card-photo-strip-grid — photo strip grid card */
.couture-card-photo-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  border-radius: 14px;
  overflow: hidden;
}
.couture-card-photo-strip-grid .cpsg-cell {
  position: relative;
  aspect-ratio: 1 / 1;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-photo-strip-grid .cpsg-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-photo-strip-grid .cpsg-cell:hover img {
  transform: scale(1.06);
}
.couture-card-photo-strip-grid .cpsg-cell .cpsg-tag {
  position: absolute;
  bottom: 6px;
  left: 6px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font: 700 9px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-photo-strip-grid .cpsg-cell.is-more {
  background: var(--c-ink);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
  text-decoration: none;
  cursor: pointer;
}
@media (max-width: 540px) {
  .couture-card-photo-strip-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-strip-grid .cpsg-cell img { transition: none; }
}

/* V6.388 #859 — couture-card-grid-stat-trio-bordered — bordered 3-stat trio */
.couture-card-grid-stat-trio-bordered {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 14px;
  overflow: hidden;
}
.couture-card-grid-stat-trio-bordered .cgstb-cell {
  padding: clamp(18px, 2.6vw, 24px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-grid-stat-trio-bordered .cgstb-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
  margin-bottom: 4px;
}
.couture-card-grid-stat-trio-bordered .cgstb-num {
  font: 800 24px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-grid-stat-trio-bordered .cgstb-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-grid-stat-trio-bordered .cgstb-label {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-grid-stat-trio-bordered .cgstb-detail {
  font: 400 11px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
@media (max-width: 540px) {
  .couture-card-grid-stat-trio-bordered { grid-template-columns: 1fr; }
}

/* V6.388 #860 — couture-card-product-photo-quick — quick product card with photo */
.couture-card-product-photo-quick {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-product-photo-quick:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-card-product-photo-quick .cppq-thumb {
  aspect-ratio: 1 / 1;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  position: relative;
}
.couture-card-product-photo-quick .cppq-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-product-photo-quick:hover .cppq-thumb img {
  transform: scale(1.05);
}
.couture-card-product-photo-quick .cppq-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 2px 7px;
  border-radius: 4px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 9px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-product-photo-quick .cppq-info {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-card-product-photo-quick .cppq-name {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-product-photo-quick .cppq-price {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 2px;
}
.couture-card-product-photo-quick .cppq-price small {
  font-weight: 400;
  text-decoration: line-through;
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-product-photo-quick,
  .couture-card-product-photo-quick .cppq-thumb img { transition: none; }
  .couture-card-product-photo-quick:hover { transform: none; }
}

/* V6.388 #861 — couture-card-callout-icon-corner — icon-corner callout card */
.couture-card-callout-icon-corner {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  padding-top: 36px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-icon-corner::before {
  content: attr(data-icon);
  position: absolute;
  top: -16px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display, var(--c-sans));
  box-shadow: 0 6px 16px -6px color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, transparent);
}
.couture-card-callout-icon-corner .ccic-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-callout-icon-corner .ccic-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-callout-icon-corner .ccic-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-icon-corner .ccic-action {
  display: inline-block;
  margin-top: 12px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}

/* V6.388 #862 — couture-card-feature-stat-banner — banner stat feature card */
.couture-card-feature-stat-banner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 28px) clamp(24px, 3.4vw, 32px);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-feature-stat-banner .cfsb-content { min-width: 0; }
.couture-card-feature-stat-banner .cfsb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-feature-stat-banner .cfsb-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-feature-stat-banner .cfsb-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-stat-banner .cfsb-stat {
  text-align: center;
  padding: 14px 18px;
  border-radius: 14px;
  border: 2px solid var(--c-accent, var(--c-ink));
  flex-shrink: 0;
}
.couture-card-feature-stat-banner .cfsb-num {
  font: 800 32px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-stat-banner .cfsb-num small {
  font: 700 0.45em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-stat-banner .cfsb-label {
  font: 600 10px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}
@media (max-width: 540px) {
  .couture-card-feature-stat-banner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-feature-stat-banner .cfsb-stat {
    margin-inline: auto;
  }
}

/* V6.388 #863 — couture-card-callout-strip-tagged — tagged strip callout */
.couture-card-callout-strip-tagged {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  flex-wrap: wrap;
}
.couture-card-callout-strip-tagged .ccst-tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.couture-card-callout-strip-tagged .ccst-tag[data-tone="accent"] {
  background: var(--c-accent, var(--c-ink));
}
.couture-card-callout-strip-tagged .ccst-tag[data-tone="warn"] {
  background: #f59e0b;
  color: #1c1917;
}
.couture-card-callout-strip-tagged .ccst-tag[data-tone="success"] {
  background: #10b981;
  color: #fff;
}
.couture-card-callout-strip-tagged .ccst-text {
  flex: 1;
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
  min-width: 200px;
}
.couture-card-callout-strip-tagged .ccst-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-callout-strip-tagged .ccst-link {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.couture-card-callout-strip-tagged .ccst-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-callout-strip-tagged .ccst-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-strip-tagged .ccst-link::after { transition: none; }
}

/* V6.388 #864 — couture-card-feature-action-tile-icon — icon tile feature with action */
.couture-card-feature-action-tile-icon {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-action-tile-icon .cfati-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 28%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 24px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-action-tile-icon .cfati-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-feature-action-tile-icon .cfati-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-action-tile-icon .cfati-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-action-tile-icon .cfati-actions {
  display: inline-flex;
  gap: 8px;
  margin-top: 4px;
}
.couture-card-feature-action-tile-icon .cfati-btn {
  padding: 7px 14px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 1px solid var(--c-ink);
}
.couture-card-feature-action-tile-icon .cfati-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 70%, transparent);
}
@media (max-width: 540px) {
  .couture-card-feature-action-tile-icon {
    grid-template-columns: 1fr;
  }
  .couture-card-feature-action-tile-icon .cfati-icon {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }
}

/* V6.388 #865 — couture-card-feature-grid-side-image — side-image grid feature */
.couture-card-feature-grid-side-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-side-image .cfgsim-image {
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-card-feature-grid-side-image .cfgsim-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-feature-grid-side-image .cfgsim-content {
  padding: clamp(20px, 3vw, 32px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: center;
  gap: 20px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
}
.couture-card-feature-grid-side-image .cfgsim-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-card-feature-grid-side-image .cfgsim-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
  margin-bottom: 4px;
}
.couture-card-feature-grid-side-image .cfgsim-title {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-grid-side-image .cfgsim-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-grid-side-image { grid-template-columns: 1fr; }
  .couture-card-feature-grid-side-image .cfgsim-image { aspect-ratio: 16 / 10; }
}

/* V6.388 #866 — couture-card-text-list-bordered — text-list bordered card */
.couture-card-text-list-bordered {
  list-style: none;
  padding: clamp(18px, 2.4vw, 24px);
  margin: 0;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 0;
}
.couture-card-text-list-bordered li {
  padding: 12px 4px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
}
.couture-card-text-list-bordered li:last-child { border-bottom: none; }
.couture-card-text-list-bordered .ctlb-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-text-list-bordered .ctlb-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-text-list-bordered .ctlb-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.couture-card-text-list-bordered .ctlb-meta strong {
  display: block;
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #867 — couture-card-quote-action-row — quote with side action row */
.couture-card-quote-action-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-quote-action-row .cqar-content { min-width: 0; }
.couture-card-quote-action-row .cqar-quote {
  font: 500 16px/1.55 var(--c-sans);
  color: var(--c-ink);
  position: relative;
  padding-left: 18px;
  border-left: 3px solid var(--c-accent, var(--c-ink));
  margin-bottom: 12px;
}
.couture-card-quote-action-row .cqar-attribution {
  font: 700 12px/1.2 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  padding-left: 18px;
}
.couture-card-quote-action-row .cqar-action {
  padding: 12px 20px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 540px) {
  .couture-card-quote-action-row {
    grid-template-columns: 1fr;
  }
  .couture-card-quote-action-row .cqar-action {
    text-align: center;
  }
}

/* V6.388 #868 — couture-card-feature-bordered-icon-text — bordered icon+text feature */
.couture-card-feature-bordered-icon-text {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: start;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  transition: border-color 0.15s ease;
}
.couture-card-feature-bordered-icon-text:hover {
  border-color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-bordered-icon-text .cfbit-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 24px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-bordered-icon-text .cfbit-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-feature-bordered-icon-text .cfbit-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-feature-bordered-icon-text .cfbit-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-bordered-icon-text .cfbit-foot {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-bordered-icon-text { transition: none; }
}

/* V6.388 #869 — couture-card-info-pin-list — pinned-list info card */
.couture-card-info-pin-list {
  list-style: none;
  padding: clamp(18px, 2.4vw, 24px);
  margin: 0;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-info-pin-list li {
  display: grid;
  grid-template-columns: 16px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 6px 0;
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-info-pin-list li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  margin-left: 4px;
}
.couture-card-info-pin-list li[data-tone="ok"]::before { background: #10b981; }
.couture-card-info-pin-list li[data-tone="warn"]::before { background: #f59e0b; }
.couture-card-info-pin-list li[data-tone="err"]::before { background: #ef4444; }
.couture-card-info-pin-list .cipl-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-info-pin-list .cipl-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  white-space: nowrap;
}

/* V6.388 #870 — couture-card-callout-anchor-row-detail — anchor-row detail callout */
.couture-card-callout-anchor-row-detail {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-anchor-row-detail .ccard-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-callout-anchor-row-detail .ccard-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 4px;
}
.couture-card-callout-anchor-row-detail .ccard-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-anchor-row-detail .ccard-meta {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-callout-anchor-row-detail .ccard-action {
  padding: 10px 18px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-callout-anchor-row-detail {
    grid-template-columns: 40px 1fr;
  }
  .couture-card-callout-anchor-row-detail .ccard-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #871 — couture-card-feature-banner-action-icon — banner with action+icon */
.couture-card-feature-banner-action-icon {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 10%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 4%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, transparent);
}
.couture-card-feature-banner-action-icon .cfbai-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--c-paper);
  color: var(--c-accent, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 32%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 24px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-banner-action-icon .cfbai-content { min-width: 0; }
.couture-card-feature-banner-action-icon .cfbai-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 4px;
}
.couture-card-feature-banner-action-icon .cfbai-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-feature-banner-action-icon .cfbai-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-banner-action-icon .cfbai-action {
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-feature-banner-action-icon {
    grid-template-columns: 56px 1fr;
  }
  .couture-card-feature-banner-action-icon .cfbai-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #872 — couture-card-step-bordered-icon — bordered step card with icon */
.couture-card-step-bordered-icon {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-step-bordered-icon .csbi-step {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-accent, var(--c-ink));
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-step-bordered-icon .csbi-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-bottom: 4px;
}
.couture-card-step-bordered-icon .csbi-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-step-bordered-icon .csbi-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-step-bordered-icon[data-state="active"] {
  border-color: var(--c-accent, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper));
}
.couture-card-step-bordered-icon[data-state="done"] .csbi-step {
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
}
.couture-card-step-bordered-icon + .couture-card-step-bordered-icon {
  margin-top: 6px;
}

/* V6.388 #873 — couture-card-list-action-row-double — 2-action row in list card */
.couture-card-list-action-row-double {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.couture-card-list-action-row-double li {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: none;
}
.couture-card-list-action-row-double li:first-child { border-radius: 12px 12px 0 0; }
.couture-card-list-action-row-double li:last-child {
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 0 0 12px 12px;
}
.couture-card-list-action-row-double li:only-child { border-radius: 12px; }
.couture-card-list-action-row-double .clard-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-list-action-row-double .clard-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-list-action-row-double .clard-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-list-action-row-double .clard-actions {
  display: inline-flex;
  gap: 6px;
}
.couture-card-list-action-row-double .clard-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.couture-card-list-action-row-double .clard-btn:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-list-action-row-double .clard-btn { transition: none; }
}

/* V6.388 #874 — couture-card-feature-grid-corner-icon — corner-icon feature grid */
.couture-card-feature-grid-corner-icon {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.couture-card-feature-grid-corner-icon .cfgci-cell {
  position: relative;
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-grid-corner-icon .cfgci-icon {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-feature-grid-corner-icon .cfgci-num {
  font: 800 18px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-grid-corner-icon .cfgci-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  padding-right: 44px;
}
.couture-card-feature-grid-corner-icon .cfgci-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-grid-corner-icon { grid-template-columns: 1fr; }
}

/* V6.388 #875 — couture-card-info-grid-rows — rows-grid info card */
.couture-card-info-grid-rows {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-info-grid-rows .cigr-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-grid-rows .cigr-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-grid-rows .cigr-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-info-grid-rows .cigr-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-card-info-grid-rows .cigr-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-card-info-grid-rows .cigr-key {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-info-grid-rows .cigr-val {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
@media (max-width: 540px) {
  .couture-card-info-grid-rows .cigr-rows { grid-template-columns: 1fr; }
}

/* V6.388 #876 — couture-card-action-tile-soft-icon — soft icon action tile */
.couture-card-action-tile-soft-icon {
  display: grid;
  grid-template-columns: 40px 1fr 18px;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-action-tile-soft-icon:hover {
  border-color: var(--c-ink);
  transform: translateX(2px);
}
.couture-card-action-tile-soft-icon .catsi-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 28%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-action-tile-soft-icon .catsi-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-tile-soft-icon .catsi-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-action-tile-soft-icon .catsi-arrow {
  font: 500 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-card-action-tile-soft-icon:hover .catsi-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-tile-soft-icon,
  .couture-card-action-tile-soft-icon .catsi-arrow { transition: none; }
  .couture-card-action-tile-soft-icon:hover { transform: none; }
}

/* V6.388 #877 — couture-card-callout-large-stat-row — large stat row callout */
.couture-card-callout-large-stat-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: center;
  padding: clamp(24px, 3.4vw, 32px);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-callout-large-stat-row .cclsr-stat {
  font: 800 clamp(44px, 6vw, 64px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.04em;
  color: var(--c-accent, var(--c-ink));
  font-variant-numeric: tabular-nums;
}
.couture-card-callout-large-stat-row .cclsr-stat small {
  font: 800 0.45em/1 var(--c-display, var(--c-sans));
  color: var(--c-ink-soft);
}
.couture-card-callout-large-stat-row .cclsr-content { min-width: 0; }
.couture-card-callout-large-stat-row .cclsr-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-callout-large-stat-row .cclsr-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-callout-large-stat-row .cclsr-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-callout-large-stat-row {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

/* V6.388 #878 — couture-card-grid-feature-link-tile — link tile feature grid */
.couture-card-grid-feature-link-tile {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.couture-card-grid-feature-link-tile .cgflt-cell {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-grid-feature-link-tile .cgflt-cell:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-card-grid-feature-link-tile .cgflt-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-grid-feature-link-tile .cgflt-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-grid-feature-link-tile .cgflt-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-grid-feature-link-tile .cgflt-link {
  margin-top: auto;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-grid-feature-link-tile .cgflt-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-grid-feature-link-tile .cgflt-cell:hover .cgflt-link::after {
  transform: translateX(3px);
}
@media (max-width: 540px) {
  .couture-card-grid-feature-link-tile { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-grid-feature-link-tile .cgflt-cell,
  .couture-card-grid-feature-link-tile .cgflt-link::after { transition: none; }
  .couture-card-grid-feature-link-tile .cgflt-cell:hover { transform: none; }
}

/* V6.388 #879 — couture-card-photo-tile-meta-overlay — photo tile w/ inset metadata */
.couture-card-photo-tile-meta-overlay {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-photo-tile-meta-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-photo-tile-meta-overlay:hover img {
  transform: scale(1.05);
}
.couture-card-photo-tile-meta-overlay .cptmo-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 88%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-photo-tile-meta-overlay .cptmo-meta {
  position: absolute;
  inset: auto 12px 12px 12px;
  padding: 8px 12px;
  background: color-mix(in oklab, var(--c-paper) 92%, transparent);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-photo-tile-meta-overlay .cptmo-name {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-photo-tile-meta-overlay .cptmo-tag {
  font: 600 10px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-tile-meta-overlay img { transition: none; }
}

/* V6.388 #880 — couture-card-feature-photo-corner-stack — corner-stacked photo feature */
.couture-card-feature-photo-corner-stack {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: clamp(20px, 3vw, 28px);
  align-items: center;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-photo-corner-stack .cfpcs-content { min-width: 0; }
.couture-card-feature-photo-corner-stack .cfpcs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-feature-photo-corner-stack .cfpcs-title {
  font: 700 clamp(18px, 2.4vw, 24px)/1.25 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-feature-photo-corner-stack .cfpcs-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 12px;
}
.couture-card-feature-photo-corner-stack .cfpcs-link {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-photo-corner-stack .cfpcs-photos {
  position: relative;
  width: 200px;
  height: 200px;
}
.couture-card-feature-photo-corner-stack .cfpcs-photo {
  position: absolute;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 4px solid var(--c-paper);
  box-shadow: 0 6px 14px -6px rgba(0,0,0,0.18);
}
.couture-card-feature-photo-corner-stack .cfpcs-photo:nth-child(1) {
  top: 0; left: 0; width: 140px; height: 140px;
  z-index: 2;
}
.couture-card-feature-photo-corner-stack .cfpcs-photo:nth-child(2) {
  top: 30px; right: 0; width: 110px; height: 110px;
  z-index: 1;
}
.couture-card-feature-photo-corner-stack .cfpcs-photo:nth-child(3) {
  bottom: 0; left: 40px; width: 120px; height: 120px;
  z-index: 0;
}
.couture-card-feature-photo-corner-stack .cfpcs-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 720px) {
  .couture-card-feature-photo-corner-stack {
    grid-template-columns: 1fr;
  }
  .couture-card-feature-photo-corner-stack .cfpcs-photos {
    margin-inline: auto;
  }
}

/* V6.388 #881 — couture-card-grid-action-row-list — action row list grid card */
.couture-card-grid-action-row-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.couture-card-grid-action-row-list li a {
  display: grid;
  grid-template-columns: 32px 1fr 16px;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-grid-action-row-list li a:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-card-grid-action-row-list .cgarl-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-grid-action-row-list .cgarl-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-grid-action-row-list .cgarl-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-grid-action-row-list .cgarl-arrow {
  font: 500 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-card-grid-action-row-list li a:hover .cgarl-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
@media (max-width: 540px) {
  .couture-card-grid-action-row-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-grid-action-row-list li a,
  .couture-card-grid-action-row-list .cgarl-arrow { transition: none; }
  .couture-card-grid-action-row-list li a:hover { transform: none; }
}

/* V6.388 #882 — couture-card-photo-tile-action-row — photo tile w/ action row */
.couture-card-photo-tile-action-row {
  display: grid;
  grid-template-rows: auto 1fr auto;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-photo-tile-action-row .cptar-photo {
  aspect-ratio: 16 / 9;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-photo-tile-action-row .cptar-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-tile-action-row .cptar-content {
  padding: clamp(14px, 2vw, 18px);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-photo-tile-action-row .cptar-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-photo-tile-action-row .cptar-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-photo-tile-action-row .cptar-actions {
  display: flex;
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-photo-tile-action-row .cptar-action {
  flex: 1;
  padding: 12px 8px;
  background: var(--c-paper);
  text-align: center;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
  text-decoration: none;
  transition: background 0.15s ease;
}
.couture-card-photo-tile-action-row .cptar-action:hover {
  background: color-mix(in oklab, var(--c-paper) 88%, var(--c-bg));
}
.couture-card-photo-tile-action-row .cptar-action.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-photo-tile-action-row .cptar-action.is-primary:hover {
  background: var(--c-accent, var(--c-ink));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-tile-action-row .cptar-action { transition: none; }
}

/* V6.388 #883 — couture-card-feature-trio-numbered — 3-step numbered feature card */
.couture-card-feature-trio-numbered {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  counter-reset: cftn;
}
.couture-card-feature-trio-numbered .cftn-cell {
  counter-increment: cftn;
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  padding-top: 36px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-trio-numbered .cftn-cell::before {
  content: counter(cftn, decimal-leading-zero);
  position: absolute;
  top: 16px;
  right: 18px;
  font: 800 12px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  letter-spacing: 0.06em;
}
.couture-card-feature-trio-numbered .cftn-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-feature-trio-numbered .cftn-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-trio-numbered .cftn-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-trio-numbered { grid-template-columns: 1fr; }
}

/* V6.388 #884 — couture-card-stat-row-progress — stat with progress row card */
.couture-card-stat-row-progress {
  padding: 16px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-stat-row-progress .csrp-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: baseline;
}
.couture-card-stat-row-progress .csrp-label {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-stat-row-progress .csrp-num {
  font: 800 16px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.couture-card-stat-row-progress .csrp-num small {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
}
.couture-card-stat-row-progress .csrp-bar {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
}
.couture-card-stat-row-progress .csrp-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 75%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  transition: width 0.4s cubic-bezier(0.34, 1, 0.64, 1);
}
.couture-card-stat-row-progress .csrp-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 400 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-stat-row-progress .csrp-fill { transition: none; }
}

/* V6.388 #885 — couture-card-feature-bordered-anchor — anchored bordered feature */
.couture-card-feature-bordered-anchor {
  position: relative;
  padding: clamp(24px, 3.4vw, 32px);
  padding-top: 38px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-bordered-anchor::before {
  content: "";
  position: absolute;
  top: -1px;
  left: clamp(20px, 3vw, 32px);
  width: clamp(40px, 6vw, 60px);
  height: 4px;
  background: var(--c-accent, var(--c-ink));
  border-radius: 0 0 4px 4px;
}
.couture-card-feature-bordered-anchor .cfba-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 10px;
}
.couture-card-feature-bordered-anchor .cfba-title {
  font: 700 clamp(20px, 2.6vw, 26px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-feature-bordered-anchor .cfba-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 16px;
}
.couture-card-feature-bordered-anchor .cfba-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-bordered-anchor .cfba-meta {
  font: 600 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-feature-bordered-anchor .cfba-link {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-feature-bordered-anchor .cfba-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-feature-bordered-anchor .cfba-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-bordered-anchor .cfba-link::after { transition: none; }
}

/* V6.388 #886 — couture-card-callout-pill-tagged-row — pill-tagged callout row */
.couture-card-callout-pill-tagged-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  flex-wrap: wrap;
}
.couture-card-callout-pill-tagged-row .ccptr-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.couture-card-callout-pill-tagged-row .ccptr-tag[data-tone="accent"] {
  background: var(--c-accent, var(--c-ink));
}
.couture-card-callout-pill-tagged-row .ccptr-text {
  flex: 1;
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
  min-width: 200px;
}
.couture-card-callout-pill-tagged-row .ccptr-action {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.couture-card-callout-pill-tagged-row .ccptr-action::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-callout-pill-tagged-row .ccptr-action:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-pill-tagged-row .ccptr-action::after { transition: none; }
}

/* V6.388 #887 — couture-card-feature-icon-bordered-stack — bordered icon stack feature */
.couture-card-feature-icon-bordered-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-bordered-stack .cfibs-icon-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-icon-bordered-stack .cfibs-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-icon-bordered-stack .cfibs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  flex: 1;
}
.couture-card-feature-icon-bordered-stack .cfibs-tag {
  padding: 3px 8px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-bordered-stack .cfibs-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-bordered-stack .cfibs-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-icon-bordered-stack .cfibs-foot {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #888 — couture-card-info-stripe-banner — striped accent info banner */
.couture-card-info-stripe-banner {
  position: relative;
  padding: 16px 20px 16px 30px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  overflow: hidden;
}
.couture-card-info-stripe-banner::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 8px;
  background: repeating-linear-gradient(
    -45deg,
    var(--c-accent, var(--c-ink)) 0 6px,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, var(--c-ink)) 6px 12px
  );
}
.couture-card-info-stripe-banner .cisb-text {
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-info-stripe-banner .cisb-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-info-stripe-banner .cisb-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-stripe-banner .cisb-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-info-stripe-banner {
    grid-template-columns: 1fr;
  }
  .couture-card-info-stripe-banner .cisb-action {
    text-align: center;
  }
}

/* V6.388 #889 — couture-card-photo-list-stack — vertical photo+text list card */
.couture-card-photo-list-stack {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-photo-list-stack li {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  padding: 10px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-photo-list-stack .cpls-photo {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  flex-shrink: 0;
}
.couture-card-photo-list-stack .cpls-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-list-stack .cpls-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.couture-card-photo-list-stack .cpls-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-photo-list-stack .cpls-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-photo-list-stack .cpls-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-photo-list-stack .cpls-foot {
  margin-top: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #890 — couture-card-feature-grid-stripe-banner — striped banner-grid feature */
.couture-card-feature-grid-stripe-banner {
  position: relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-feature-grid-stripe-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: repeating-linear-gradient(
    -45deg,
    var(--c-accent, var(--c-ink)) 0 8px,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, var(--c-ink)) 8px 16px
  );
}
.couture-card-feature-grid-stripe-banner .cfgsb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 12px;
}
.couture-card-feature-grid-stripe-banner .cfgsb-title {
  font: 700 clamp(22px, 3vw, 28px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-card-feature-grid-stripe-banner .cfgsb-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 18px;
}
.couture-card-feature-grid-stripe-banner .cfgsb-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-grid-stripe-banner .cfgsb-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-card-feature-grid-stripe-banner .cfgsb-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
  margin-bottom: 4px;
}
.couture-card-feature-grid-stripe-banner .cfgsb-label {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-grid-stripe-banner .cfgsb-detail {
  font: 400 11px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-grid-stripe-banner .cfgsb-grid { grid-template-columns: 1fr; }
}

/* V6.388 #891 — couture-card-action-icon-pill-trio — 3-pill icon action card */
.couture-card-action-icon-pill-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 10px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-action-icon-pill-trio .caipt-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 12px 10px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-card-action-icon-pill-trio .caipt-pill:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-action-icon-pill-trio .caipt-pill[aria-pressed="true"],
.couture-card-action-icon-pill-trio .caipt-pill.is-active {
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
}
.couture-card-action-icon-pill-trio .caipt-icon {
  font: 700 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-action-icon-pill-trio .caipt-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  .couture-card-action-icon-pill-trio { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-icon-pill-trio .caipt-pill { transition: none; }
}

/* V6.388 #892 — couture-card-feature-stat-grid-icons — stat grid w/ icons feature */
.couture-card-feature-stat-grid-icons {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-stat-grid-icons .cfsgi-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-stat-grid-icons .cfsgi-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-feature-stat-grid-icons .cfsgi-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-stat-grid-icons .cfsgi-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.couture-card-feature-stat-grid-icons .cfsgi-cell {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
}
.couture-card-feature-stat-grid-icons .cfsgi-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-feature-stat-grid-icons .cfsgi-num {
  font: 800 18px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-stat-grid-icons .cfsgi-num small {
  font: 700 11px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  margin-left: 2px;
}
.couture-card-feature-stat-grid-icons .cfsgi-label {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 2px;
}
@media (max-width: 540px) {
  .couture-card-feature-stat-grid-icons .cfsgi-grid { grid-template-columns: 1fr; }
}

/* V6.388 #893 — couture-card-text-list-bullet-numbered — numbered bullet list card */
.couture-card-text-list-bullet-numbered {
  list-style: none;
  padding: clamp(18px, 2.4vw, 24px);
  margin: 0;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
  counter-reset: ctlbn;
}
.couture-card-text-list-bullet-numbered li {
  counter-increment: ctlbn;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
}
.couture-card-text-list-bullet-numbered li::before {
  content: counter(ctlbn);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 12px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  margin-top: 2px;
}
.couture-card-text-list-bullet-numbered .ctlbn-text {
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-text-list-bullet-numbered .ctlbn-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}

/* V6.388 #894 — couture-card-callout-large-banner-anchor — large anchored callout banner */
.couture-card-callout-large-banner-anchor {
  position: relative;
  padding: clamp(28px, 4vw, 44px) clamp(24px, 3.4vw, 36px);
  border-radius: 22px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    color-mix(in oklab, var(--c-paper) 90%, var(--c-bg))
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  text-align: center;
  overflow: hidden;
}
.couture-card-callout-large-banner-anchor::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(80px, 10vw, 120px);
  height: 6px;
  background: var(--c-accent, var(--c-ink));
  border-radius: 0 0 6px 6px;
}
.couture-card-callout-large-banner-anchor .cclba-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 14px;
}
.couture-card-callout-large-banner-anchor .cclba-title {
  font: 800 clamp(28px, 4vw, 40px)/1.1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  color: var(--c-ink);
  margin-bottom: 14px;
  max-width: 720px;
  margin-inline: auto;
}
.couture-card-callout-large-banner-anchor .cclba-body {
  font: 400 16px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 540px;
  margin: 0 auto 24px;
}
.couture-card-callout-large-banner-anchor .cclba-actions {
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.couture-card-callout-large-banner-anchor .cclba-action {
  padding: 12px 24px;
  border-radius: 12px;
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
}
.couture-card-callout-large-banner-anchor .cclba-action.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-callout-large-banner-anchor .cclba-action.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #895 — couture-card-feature-numbered-action-row — numbered action row feature */
.couture-card-feature-numbered-action-row {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-numbered-action-row .cfnar-num {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-numbered-action-row .cfnar-text { min-width: 0; }
.couture-card-feature-numbered-action-row .cfnar-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-feature-numbered-action-row .cfnar-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-numbered-action-row .cfnar-action {
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
.couture-card-feature-numbered-action-row + .couture-card-feature-numbered-action-row {
  margin-top: 8px;
}
@media (max-width: 540px) {
  .couture-card-feature-numbered-action-row {
    grid-template-columns: 48px 1fr;
  }
  .couture-card-feature-numbered-action-row .cfnar-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #896 — couture-card-photo-bordered-banner — bordered photo banner card */
.couture-card-photo-bordered-banner {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 0;
  align-items: stretch;
}
.couture-card-photo-bordered-banner .cpbb-content {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}
.couture-card-photo-bordered-banner .cpbb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-photo-bordered-banner .cpbb-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-photo-bordered-banner .cpbb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-photo-bordered-banner .cpbb-link {
  margin-top: 4px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-photo-bordered-banner .cpbb-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-photo-bordered-banner .cpbb-link:hover::after {
  transform: translateX(3px);
}
.couture-card-photo-bordered-banner .cpbb-photo {
  width: 200px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-photo-bordered-banner .cpbb-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 540px) {
  .couture-card-photo-bordered-banner {
    grid-template-columns: 1fr;
  }
  .couture-card-photo-bordered-banner .cpbb-photo {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-left: none;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-bordered-banner .cpbb-link::after { transition: none; }
}

/* V6.388 #897 — couture-card-feature-stat-icon-row — stat+icon row feature */
.couture-card-feature-stat-icon-row {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px 20px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-stat-icon-row .cfsir-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 20px/1 var(--c-display, var(--c-sans));
  flex-shrink: 0;
}
.couture-card-feature-stat-icon-row .cfsir-stat {
  font: 800 24px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-stat-icon-row .cfsir-stat small {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  margin-left: 2px;
}
.couture-card-feature-stat-icon-row .cfsir-divider {
  width: 1px;
  align-self: stretch;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  margin: 4px 0;
}
.couture-card-feature-stat-icon-row .cfsir-text {
  flex: 1;
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-stat-icon-row .cfsir-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
@media (max-width: 540px) {
  .couture-card-feature-stat-icon-row { flex-wrap: wrap; }
  .couture-card-feature-stat-icon-row .cfsir-divider { display: none; }
}

/* V6.388 #898 — couture-card-feature-tag-tile-list — tag tile list feature */
.couture-card-feature-tag-tile-list {
  list-style: none;
  padding: clamp(18px, 2.4vw, 24px);
  margin: 0;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}
.couture-card-feature-tag-tile-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  font: 500 13px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-tag-tile-list .cfttl-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-feature-tag-tile-list .cfttl-num {
  font: 700 12px/1 var(--c-mono);
  color: var(--c-ink-soft);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #899 — couture-card-photo-floating-anchor — floating anchor photo card */
.couture-card-photo-floating-anchor {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  display: grid;
  align-items: end;
  aspect-ratio: 4 / 5;
}
.couture-card-photo-floating-anchor .cpfa-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.couture-card-photo-floating-anchor .cpfa-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.couture-card-photo-floating-anchor:hover .cpfa-bg img {
  transform: scale(1.04);
}
.couture-card-photo-floating-anchor::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.45));
  z-index: 1;
}
.couture-card-photo-floating-anchor .cpfa-anchor {
  position: relative;
  z-index: 2;
  margin: clamp(14px, 2vw, 18px);
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-photo-floating-anchor .cpfa-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 4px;
}
.couture-card-photo-floating-anchor .cpfa-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-photo-floating-anchor .cpfa-meta {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-floating-anchor .cpfa-bg img { transition: none; }
}

/* V6.388 #900 — 🎉 900 MILESTONE — couture-laurel-card — celebratory laurel-wreath card */
.couture-laurel-card {
  position: relative;
  padding: clamp(40px, 6vw, 64px) clamp(28px, 4vw, 48px);
  border-radius: 22px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    color-mix(in oklab, var(--c-paper) 88%, var(--c-bg))
  );
  border: 2px solid color-mix(in oklab, #fbbf24 40%, var(--c-line));
  text-align: center;
  overflow: hidden;
}
.couture-laurel-card::before,
.couture-laurel-card::after {
  content: "\1F33F";
  position: absolute;
  top: 50%;
  font: 800 clamp(40px, 6vw, 60px)/1 var(--c-display, var(--c-sans));
  color: color-mix(in oklab, #fbbf24 80%, var(--c-ink));
  transform: translateY(-50%);
  opacity: 0.7;
  pointer-events: none;
}
.couture-laurel-card::before { left: clamp(8px, 2vw, 16px); transform: translateY(-50%) scaleX(-1); }
.couture-laurel-card::after  { right: clamp(8px, 2vw, 16px); }
.couture-laurel-card .clc-badge {
  position: relative;
  display: inline-block;
  padding: 6px 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, #fbbf24, #f59e0b);
  color: #422006;
  font: 800 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, #f59e0b 60%, transparent);
}
.couture-laurel-card .clc-num {
  position: relative;
  font: 800 clamp(64px, 9vw, 96px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.05em;
  color: var(--c-ink);
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}
.couture-laurel-card .clc-title {
  position: relative;
  font: 700 clamp(20px, 2.6vw, 24px)/1.25 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-laurel-card .clc-body {
  position: relative;
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 480px;
  margin: 0 auto;
}
@media (prefers-reduced-motion: reduce) {
  .couture-laurel-card { transition: none; }
}

/* V6.388 #901 — couture-card-text-feature-bordered — bordered text feature */
.couture-card-text-feature-bordered {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-text-feature-bordered .ctfb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 10px;
}
.couture-card-text-feature-bordered .ctfb-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-text-feature-bordered .ctfb-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-text-feature-bordered .ctfb-foot {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.couture-card-text-feature-bordered .ctfb-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-text-feature-bordered .ctfb-link {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-text-feature-bordered .ctfb-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-text-feature-bordered .ctfb-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-text-feature-bordered .ctfb-link::after { transition: none; }
}

/* V6.388 #902 — couture-card-photo-overlay-tag — photo with overlay tag */
.couture-card-photo-overlay-tag {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 16 / 11;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-photo-overlay-tag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-photo-overlay-tag:hover img {
  transform: scale(1.04);
}
.couture-card-photo-overlay-tag .cpot-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  color: var(--c-ink);
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-photo-overlay-tag .cpot-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-photo-overlay-tag .cpot-meta {
  position: absolute;
  bottom: 14px;
  left: 14px;
  right: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-photo-overlay-tag img { transition: none; }
}

/* V6.388 #903 — couture-card-callout-icon-list — icon-list callout card */
.couture-card-callout-icon-list {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-callout-icon-list .ccil-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-callout-icon-list .ccil-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-callout-icon-list .ccil-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-icon-list .ccil-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-callout-icon-list .ccil-list li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-icon-list .ccil-list li::before {
  content: "\2713";
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 11px/1 var(--c-mono);
}

/* V6.388 #904 — couture-card-action-stripe-icon — striped action card with icon */
.couture-card-action-stripe-icon {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-card-action-stripe-icon::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-action-stripe-icon .casi-icon {
  margin-left: 4px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-action-stripe-icon .casi-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-stripe-icon .casi-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-action-stripe-icon .casi-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
}
@media (max-width: 540px) {
  .couture-card-action-stripe-icon {
    grid-template-columns: 36px 1fr;
  }
  .couture-card-action-stripe-icon .casi-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #905 — couture-card-feature-grid-text-pill — grid feature with pill labels */
.couture-card-feature-grid-text-pill {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-text-pill .cfgtp-head {
  margin-bottom: 16px;
}
.couture-card-feature-grid-text-pill .cfgtp-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-feature-grid-text-pill .cfgtp-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-grid-text-pill .cfgtp-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.couture-card-feature-grid-text-pill .cfgtp-cell {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-feature-grid-text-pill .cfgtp-pill {
  display: inline-block;
  align-self: flex-start;
  padding: 3px 8px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-grid-text-pill .cfgtp-text {
  font: 500 13px/1.5 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-grid-text-pill .cfgtp-text strong {
  display: block;
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
@media (max-width: 540px) {
  .couture-card-feature-grid-text-pill .cfgtp-grid { grid-template-columns: 1fr; }
}

/* V6.388 #906 — couture-card-info-action-banner-tile — banner action tile info */
.couture-card-info-action-banner-tile {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: clamp(16px, 2.4vw, 22px) clamp(20px, 3vw, 26px);
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-info-action-banner-tile .ciabt-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-info-action-banner-tile .ciabt-text {
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-info-action-banner-tile .ciabt-text strong {
  display: block;
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-info-action-banner-tile .ciabt-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-action-banner-tile .ciabt-action {
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-info-action-banner-tile {
    grid-template-columns: 44px 1fr;
  }
  .couture-card-info-action-banner-tile .ciabt-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #907 — couture-card-feature-photo-icon-grid — photo+icon grid feature */
.couture-card-feature-photo-icon-grid {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: clamp(20px, 3vw, 28px);
  align-items: center;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-photo-icon-grid .cfpig-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.couture-card-feature-photo-icon-grid .cfpig-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-photo-icon-grid .cfpig-title {
  font: 700 clamp(20px, 2.6vw, 24px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-card-feature-photo-icon-grid .cfpig-icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 4px;
}
.couture-card-feature-photo-icon-grid .cfpig-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 4px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-feature-photo-icon-grid .cfpig-icon-symbol {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-feature-photo-icon-grid .cfpig-icon-label {
  font: 500 10px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-feature-photo-icon-grid .cfpig-photo {
  width: 200px;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-feature-photo-icon-grid .cfpig-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 540px) {
  .couture-card-feature-photo-icon-grid {
    grid-template-columns: 1fr;
  }
  .couture-card-feature-photo-icon-grid .cfpig-photo {
    width: 100%;
    aspect-ratio: 16 / 10;
  }
}

/* V6.388 #908 — couture-card-callout-tagged-quote — tagged quote callout */
.couture-card-callout-tagged-quote {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-callout-tagged-quote .ccttq-tag-row {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-card-callout-tagged-quote .ccttq-tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-callout-tagged-quote .ccttq-quote {
  font: 500 clamp(15px, 1.7vw, 17px)/1.55 var(--c-sans);
  color: var(--c-ink);
  position: relative;
  padding-left: 18px;
  border-left: 3px solid var(--c-accent, var(--c-ink));
}
.couture-card-callout-tagged-quote .ccttq-attribution {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-callout-tagged-quote .ccttq-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-card-callout-tagged-quote .ccttq-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-callout-tagged-quote .ccttq-name {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-tagged-quote .ccttq-role {
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}

/* V6.388 #909 — couture-card-action-grid-stat-row — action grid w/ stats row */
.couture-card-action-grid-stat-row {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.couture-card-action-grid-stat-row .cagsr-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-action-grid-stat-row .cagsr-stat {
  text-align: center;
}
.couture-card-action-grid-stat-row .cagsr-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-action-grid-stat-row .cagsr-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}
.couture-card-action-grid-stat-row .cagsr-actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}
.couture-card-action-grid-stat-row .cagsr-btn {
  padding: 10px 18px;
  border-radius: 8px;
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 1px solid var(--c-ink);
}
.couture-card-action-grid-stat-row .cagsr-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 70%, transparent);
}
@media (max-width: 540px) {
  .couture-card-action-grid-stat-row .cagsr-stats { grid-template-columns: 1fr; }
}

/* V6.388 #910 — couture-card-feature-link-trio-stack — 3-link stack feature card */
.couture-card-feature-link-trio-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-link-trio-stack a {
  display: grid;
  grid-template-columns: 36px 1fr 18px;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  transition: background 0.15s ease;
}
.couture-card-feature-link-trio-stack a:last-child { border-bottom: none; }
.couture-card-feature-link-trio-stack a:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-card-feature-link-trio-stack .cflts-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 12%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-feature-link-trio-stack .cflts-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-link-trio-stack .cflts-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-feature-link-trio-stack .cflts-arrow {
  font: 500 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-card-feature-link-trio-stack a:hover .cflts-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-link-trio-stack a,
  .couture-card-feature-link-trio-stack .cflts-arrow { transition: none; }
}

/* V6.388 #911 — couture-card-callout-double-stat-row — double stat callout row */
.couture-card-callout-double-stat-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-double-stat-row .ccdsr-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-left: 14px;
  border-left: 3px solid var(--c-accent, var(--c-ink));
}
.couture-card-callout-double-stat-row .ccdsr-cell:nth-child(2) {
  border-left-color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, var(--c-ink));
}
.couture-card-callout-double-stat-row .ccdsr-num {
  font: 800 26px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-callout-double-stat-row .ccdsr-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-callout-double-stat-row .ccdsr-label {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-callout-double-stat-row .ccdsr-detail {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 4px;
}
@media (max-width: 540px) {
  .couture-card-callout-double-stat-row { grid-template-columns: 1fr; }
}

/* V6.388 #912 — couture-card-photo-quote-strip — photo quote strip card */
.couture-card-photo-quote-strip {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 16px;
  align-items: center;
  padding: 14px 18px 14px 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-left: 4px solid var(--c-accent, var(--c-ink));
}
.couture-card-photo-quote-strip .cpqs-photo {
  width: 80px;
  height: 80px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-card-photo-quote-strip .cpqs-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-photo-quote-strip .cpqs-text { min-width: 0; }
.couture-card-photo-quote-strip .cpqs-quote {
  font: 500 14px/1.5 var(--c-sans);
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-photo-quote-strip .cpqs-attribution {
  font: 700 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-photo-quote-strip .cpqs-attribution strong {
  color: var(--c-ink);
  font-weight: 700;
}
@media (max-width: 540px) {
  .couture-card-photo-quote-strip {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-photo-quote-strip .cpqs-photo { margin-inline: auto; }
}

/* V6.388 #913 — couture-card-feature-side-stripe-text — side-stripe text feature card */
.couture-card-feature-side-stripe-text {
  display: grid;
  grid-template-columns: 8px 1fr;
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-side-stripe-text .cfsst-stripe {
  background: linear-gradient(
    180deg,
    var(--c-accent, var(--c-ink)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, var(--c-ink))
  );
}
.couture-card-feature-side-stripe-text .cfsst-content {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-side-stripe-text .cfsst-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-side-stripe-text .cfsst-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-side-stripe-text .cfsst-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-side-stripe-text .cfsst-foot {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #914 — couture-card-bordered-meta-text — meta-text bordered card */
.couture-card-bordered-meta-text {
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-bordered-meta-text .cbmt-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.couture-card-bordered-meta-text .cbmt-meta {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-bordered-meta-text .cbmt-time {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-bordered-meta-text .cbmt-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-bordered-meta-text .cbmt-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-bordered-meta-text .cbmt-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.couture-card-bordered-meta-text .cbmt-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font: 700 10px/1.5 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #915 — couture-card-action-icon-grid-soft — soft action icon grid */
.couture-card-action-icon-grid-soft {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-action-icon-grid-soft .caigs-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-action-icon-grid-soft .caigs-cell:hover {
  border-color: var(--c-ink);
  transform: translateY(-2px);
}
.couture-card-action-icon-grid-soft .caigs-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-action-icon-grid-soft .caigs-label {
  font: 600 11px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  text-align: center;
}
.couture-card-action-icon-grid-soft .caigs-meta {
  font: 400 10px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  text-align: center;
}
@media (max-width: 540px) {
  .couture-card-action-icon-grid-soft { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-icon-grid-soft .caigs-cell { transition: none; }
  .couture-card-action-icon-grid-soft .caigs-cell:hover { transform: none; }
}

/* V6.388 #916 — couture-card-feature-grid-stat-icon-cell — stat+icon cell grid feature */
.couture-card-feature-grid-stat-icon-cell {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 16px;
  overflow: hidden;
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-cell {
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-icon-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-trend {
  font: 700 11px/1 var(--c-mono);
  color: #10b981;
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-trend.is-down { color: #ef4444; }
.couture-card-feature-grid-stat-icon-cell .cfgsic-trend::before { content: "\2191 "; }
.couture-card-feature-grid-stat-icon-cell .cfgsic-trend.is-down::before { content: "\2193 "; }
.couture-card-feature-grid-stat-icon-cell .cfgsic-num {
  font: 800 26px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-label {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-feature-grid-stat-icon-cell .cfgsic-detail {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-grid-stat-icon-cell { grid-template-columns: 1fr; }
}

/* V6.388 #917 — couture-card-info-list-grid-bordered — bordered list grid info */
.couture-card-info-list-grid-bordered {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding: 8px;
  background: var(--c-paper);
}
.couture-card-info-list-grid-bordered li {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-info-list-grid-bordered .cilgb-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-info-list-grid-bordered .cilgb-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-list-grid-bordered .cilgb-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-info-list-grid-bordered .cilgb-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  white-space: nowrap;
}

/* V6.388 #918 — couture-card-callout-anchor-action-stack — anchored action stack callout */
.couture-card-callout-anchor-action-stack {
  position: relative;
  padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) clamp(36px, 4vw, 44px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-anchor-action-stack::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 16px;
  width: 4px;
  background: linear-gradient(
    180deg,
    var(--c-accent, var(--c-ink)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, var(--c-ink))
  );
  border-radius: 4px;
}
.couture-card-callout-anchor-action-stack .ccaas-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-callout-anchor-action-stack .ccaas-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 8px;
}
.couture-card-callout-anchor-action-stack .ccaas-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 14px;
}
.couture-card-callout-anchor-action-stack .ccaas-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.couture-card-callout-anchor-action-stack .ccaas-btn {
  padding: 9px 16px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-callout-anchor-action-stack .ccaas-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #919 — couture-card-feature-photo-badge — photo+badge feature card */
.couture-card-feature-photo-badge {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-photo-badge .cfpb-photo {
  aspect-ratio: 16 / 11;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  position: relative;
  overflow: hidden;
}
.couture-card-feature-photo-badge .cfpb-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-feature-photo-badge .cfpb-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  color: var(--c-ink);
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-photo-badge .cfpb-content {
  padding: clamp(16px, 2.4vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-feature-photo-badge .cfpb-eyebrow {
  font: 700 10px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-photo-badge .cfpb-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-photo-badge .cfpb-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #920 — couture-card-text-link-cluster — text+link cluster card */
.couture-card-text-link-cluster {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-text-link-cluster .ctlc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-text-link-cluster .ctlc-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-text-link-cluster .ctlc-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-text-link-cluster .ctlc-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-text-link-cluster .ctlc-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  font: 600 12px/1.3 var(--c-sans);
  text-decoration: none;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.couture-card-text-link-cluster .ctlc-link:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-card-text-link-cluster .ctlc-link::before {
  content: "#";
  font-family: var(--c-mono);
  color: var(--c-accent, var(--c-ink));
  font-weight: 700;
}
.couture-card-text-link-cluster .ctlc-link:hover::before {
  color: color-mix(in oklab, var(--c-paper) 60%, var(--c-accent, var(--c-ink)));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-text-link-cluster .ctlc-link { transition: none; }
}

/* V6.388 #921 — couture-card-callout-grid-icon-list — grid icon list callout */
.couture-card-callout-grid-icon-list {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-callout-grid-icon-list .ccgil-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-callout-grid-icon-list .ccgil-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-grid-icon-list .ccgil-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-callout-grid-icon-list .ccgil-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}
.couture-card-callout-grid-icon-list .ccgil-grid li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 500 12px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-grid-icon-list .ccgil-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}

/* V6.388 #922 — couture-card-feature-stat-photo-tile — stat+photo tile feature */
.couture-card-feature-stat-photo-tile {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 16px;
  align-items: center;
  padding: clamp(18px, 2.4vw, 22px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-stat-photo-tile .cfspt-content { min-width: 0; }
.couture-card-feature-stat-photo-tile .cfspt-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-feature-stat-photo-tile .cfspt-num {
  font: 800 28px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.couture-card-feature-stat-photo-tile .cfspt-num small {
  font: 700 0.5em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-stat-photo-tile .cfspt-label {
  font: 600 12px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-stat-photo-tile .cfspt-detail {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 4px;
}
.couture-card-feature-stat-photo-tile .cfspt-photo {
  width: 120px;
  height: 120px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-card-feature-stat-photo-tile .cfspt-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 540px) {
  .couture-card-feature-stat-photo-tile {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-feature-stat-photo-tile .cfspt-photo {
    margin-inline: auto;
  }
}

/* V6.388 #923 — couture-card-info-bordered-double-tile — bordered double-tile info */
.couture-card-info-bordered-double-tile {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.couture-card-info-bordered-double-tile .cibdt-cell {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-bordered-double-tile .cibdt-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-info-bordered-double-tile .cibdt-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-info-bordered-double-tile .cibdt-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-bordered-double-tile .cibdt-foot {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-info-bordered-double-tile { grid-template-columns: 1fr; }
}

/* V6.388 #924 — couture-card-callout-row-icon-text — row icon+text callout */
.couture-card-callout-row-icon-text {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 20px;
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 55%, transparent);
}
.couture-card-callout-row-icon-text .ccrit-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 20px/1 var(--c-display, var(--c-sans));
}
.couture-card-callout-row-icon-text .ccrit-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 4px;
}
.couture-card-callout-row-icon-text .ccrit-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-callout-row-icon-text .ccrit-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-row-icon-text .ccrit-actions {
  display: inline-flex;
  gap: 8px;
  margin-top: 10px;
}
.couture-card-callout-row-icon-text .ccrit-link {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
}

/* V6.388 #925 — couture-card-feature-trio-icon-stack — 3-up icon stack feature */
.couture-card-feature-trio-icon-stack {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.couture-card-feature-trio-icon-stack .cftis-cell {
  padding: clamp(20px, 3vw, 26px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.couture-card-feature-trio-icon-stack .cftis-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 24px/1 var(--c-display, var(--c-sans));
  box-shadow: 0 4px 12px -6px color-mix(in oklab, var(--c-accent, var(--c-ink)) 40%, transparent);
}
.couture-card-feature-trio-icon-stack .cftis-title {
  font: 700 15px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-trio-icon-stack .cftis-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-trio-icon-stack { grid-template-columns: 1fr; }
}

/* V6.388 #926 — couture-card-info-cell-tagged — tagged info cell card */
.couture-card-info-cell-tagged {
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-info-cell-tagged .cict-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.couture-card-info-cell-tagged .cict-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-info-cell-tagged .cict-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.couture-card-info-cell-tagged .cict-meta {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-info-cell-tagged .cict-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-cell-tagged .cict-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-cell-tagged .cict-foot {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 40%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #927 — couture-card-action-bordered-list-row — bordered list row action */
.couture-card-action-bordered-list-row {
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-action-bordered-list-row li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-action-bordered-list-row li:last-child { border-bottom: none; }
.couture-card-action-bordered-list-row .cablr-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-action-bordered-list-row .cablr-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-bordered-list-row .cablr-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-action-bordered-list-row .cablr-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.couture-card-action-bordered-list-row .cablr-action:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-card-action-bordered-list-row .cablr-action.is-primary {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-bordered-list-row .cablr-action { transition: none; }
}

/* V6.388 #928 — couture-card-feature-photo-circle-anchor — circle-anchor photo feature */
.couture-card-feature-photo-circle-anchor {
  position: relative;
  padding: 60px clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-align: center;
  margin-top: 50px;
}
.couture-card-feature-photo-circle-anchor .cfpca-photo {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 4px solid var(--c-paper);
  box-shadow: 0 6px 18px -6px rgba(0,0,0,0.18);
}
.couture-card-feature-photo-circle-anchor .cfpca-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-feature-photo-circle-anchor .cfpca-name {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-feature-photo-circle-anchor .cfpca-role {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 12px;
}
.couture-card-feature-photo-circle-anchor .cfpca-quote {
  font: 500 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  margin-bottom: 14px;
  position: relative;
  padding: 0 10px;
}
.couture-card-feature-photo-circle-anchor .cfpca-quote::before { content: "\201C"; font-weight: 800; color: var(--c-accent, var(--c-ink)); }
.couture-card-feature-photo-circle-anchor .cfpca-quote::after  { content: "\201D"; font-weight: 800; color: var(--c-accent, var(--c-ink)); }
.couture-card-feature-photo-circle-anchor .cfpca-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  font: 500 11px/1.4 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #929 — couture-card-info-grid-bordered-tile — bordered tile info grid */
.couture-card-info-grid-bordered-tile {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.couture-card-info-grid-bordered-tile .cigbt-cell {
  padding: clamp(18px, 2.4vw, 24px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.15s ease;
}
.couture-card-info-grid-bordered-tile .cigbt-cell:hover {
  border-color: var(--c-ink);
}
.couture-card-info-grid-bordered-tile .cigbt-cell[data-state="active"] {
  border-color: var(--c-accent, var(--c-ink));
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper));
}
.couture-card-info-grid-bordered-tile .cigbt-tag {
  display: inline-block;
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-grid-bordered-tile .cigbt-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-grid-bordered-tile .cigbt-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-info-grid-bordered-tile { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-info-grid-bordered-tile .cigbt-cell { transition: none; }
}

/* V6.388 #930 — couture-card-callout-large-icon-stack — large-icon stack callout */
.couture-card-callout-large-icon-stack {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 22px;
  align-items: center;
  padding: clamp(24px, 3.4vw, 32px);
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-callout-large-icon-stack .cclis-icon {
  width: 80px;
  height: 80px;
  border-radius: 22px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 80%, var(--c-ink)),
    var(--c-accent, var(--c-ink))
  );
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 36px/1 var(--c-display, var(--c-sans));
  box-shadow:
    0 12px 28px -10px color-mix(in oklab, var(--c-accent, var(--c-ink)) 50%, transparent),
    inset 0 1px 0 0 color-mix(in oklab, var(--c-paper) 25%, transparent);
}
.couture-card-callout-large-icon-stack .cclis-content { min-width: 0; }
.couture-card-callout-large-icon-stack .cclis-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-callout-large-icon-stack .cclis-title {
  font: 700 clamp(20px, 2.6vw, 24px)/1.2 var(--c-display, var(--c-sans));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-callout-large-icon-stack .cclis-body {
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-large-icon-stack .cclis-action {
  padding: 12px 22px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 14px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .couture-card-callout-large-icon-stack {
    grid-template-columns: 80px 1fr;
  }
  .couture-card-callout-large-icon-stack .cclis-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}
@media (max-width: 540px) {
  .couture-card-callout-large-icon-stack {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-callout-large-icon-stack .cclis-icon { margin-inline: auto; }
}

/* V6.388 #931 — couture-card-feature-icon-bordered-row — bordered icon row feature */
.couture-card-feature-icon-bordered-row {
  display: grid;
  grid-template-columns: 44px 1fr 16px;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.couture-card-feature-icon-bordered-row:hover {
  border-color: var(--c-ink);
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-card-feature-icon-bordered-row .cfibr-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-icon-bordered-row .cfibr-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-bordered-row .cfibr-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-feature-icon-bordered-row .cfibr-arrow {
  font: 500 14px/1 var(--c-mono);
  color: var(--c-ink-soft);
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-card-feature-icon-bordered-row:hover .cfibr-arrow {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
.couture-card-feature-icon-bordered-row + .couture-card-feature-icon-bordered-row {
  margin-top: 8px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-icon-bordered-row,
  .couture-card-feature-icon-bordered-row .cfibr-arrow { transition: none; }
}

/* V6.388 #932 — couture-card-info-tagged-icon-row — tagged icon row info */
.couture-card-info-tagged-icon-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-tagged-icon-row .citir-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-info-tagged-icon-row .citir-text {
  font: 500 13px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-info-tagged-icon-row .citir-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 1px;
}
.couture-card-info-tagged-icon-row .citir-text small {
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-tagged-icon-row .citir-tag {
  padding: 4px 10px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
}

/* V6.388 #933 — couture-card-callout-pulse-row — pulsing-dot callout row */
.couture-card-callout-pulse-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-pulse-row .ccpr-pulse {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  position: relative;
  flex-shrink: 0;
}
.couture-card-callout-pulse-row .ccpr-pulse::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 60%, transparent);
  animation: ccpr-ping 2s ease-out infinite;
}
@keyframes ccpr-ping {
  0% { transform: scale(0.8); opacity: 1; }
  100% { transform: scale(2.2); opacity: 0; }
}
.couture-card-callout-pulse-row[data-tone="success"] .ccpr-pulse { background: #10b981; }
.couture-card-callout-pulse-row[data-tone="success"] .ccpr-pulse::before { border-color: color-mix(in oklab, #10b981 60%, transparent); }
.couture-card-callout-pulse-row[data-tone="warn"] .ccpr-pulse { background: #f59e0b; }
.couture-card-callout-pulse-row[data-tone="warn"] .ccpr-pulse::before { border-color: color-mix(in oklab, #f59e0b 60%, transparent); }
.couture-card-callout-pulse-row .ccpr-text {
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-pulse-row .ccpr-text strong {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-right: 4px;
}
.couture-card-callout-pulse-row .ccpr-action {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-pulse-row .ccpr-pulse::before { animation: none; }
}

/* V6.388 #934 — couture-card-feature-photo-overlay-tag-bottom — bottom-tag photo feature */
.couture-card-feature-photo-overlay-tag-bottom {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-feature-photo-overlay-tag-bottom img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-feature-photo-overlay-tag-bottom:hover img {
  transform: scale(1.04);
}
.couture-card-feature-photo-overlay-tag-bottom .cfpotb-tag {
  position: absolute;
  bottom: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 92%, transparent);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  color: var(--c-ink);
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}
.couture-card-feature-photo-overlay-tag-bottom .cfpotb-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-photo-overlay-tag-bottom img { transition: none; }
}

/* V6.388 #935 — couture-card-stat-icon-pill-row — icon+pill stat row */
.couture-card-stat-icon-pill-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-stat-icon-pill-row .csipr-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-stat-icon-pill-row .csipr-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-stat-icon-pill-row .csipr-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-stat-icon-pill-row .csipr-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 14px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.couture-card-stat-icon-pill-row .csipr-pill small {
  font: 600 10px/1 var(--c-mono);
  opacity: 0.7;
}

/* V6.388 #936 — couture-card-text-icon-bordered-grid — bordered icon+text grid */
.couture-card-text-icon-bordered-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
}
.couture-card-text-icon-bordered-grid .ctibg-cell {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  align-items: start;
  padding: clamp(16px, 2.4vw, 22px);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-text-icon-bordered-grid .ctibg-cell:nth-child(2n) { border-right: none; }
.couture-card-text-icon-bordered-grid .ctibg-cell:nth-last-child(-n+2) { border-bottom: none; }
.couture-card-text-icon-bordered-grid .ctibg-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-text-icon-bordered-grid .ctibg-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-text-icon-bordered-grid .ctibg-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-text-icon-bordered-grid { grid-template-columns: 1fr; }
  .couture-card-text-icon-bordered-grid .ctibg-cell {
    border-right: none;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
  .couture-card-text-icon-bordered-grid .ctibg-cell:last-child { border-bottom: none; }
}

/* V6.388 #937 — couture-card-feature-quote-banner — quote banner feature card */
.couture-card-feature-quote-banner {
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-feature-quote-banner .cfqb-banner {
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-ink);
  color: var(--c-paper);
  display: flex;
  align-items: center;
  gap: 14px;
}
.couture-card-feature-quote-banner .cfqb-banner-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
  flex-shrink: 0;
}
.couture-card-feature-quote-banner .cfqb-banner-text {
  font: 600 13px/1.4 var(--c-display, var(--c-sans));
}
.couture-card-feature-quote-banner .cfqb-banner-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  opacity: 0.85;
  margin-top: 2px;
}
.couture-card-feature-quote-banner .cfqb-content {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-feature-quote-banner .cfqb-quote {
  font: 500 15px/1.55 var(--c-sans);
  color: var(--c-ink);
  position: relative;
  padding-left: 16px;
  border-left: 3px solid var(--c-accent, var(--c-ink));
}
.couture-card-feature-quote-banner .cfqb-attribution {
  display: flex;
  align-items: center;
  gap: 10px;
}
.couture-card-feature-quote-banner .cfqb-name {
  font: 700 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-feature-quote-banner .cfqb-name small {
  display: block;
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  text-transform: none;
  letter-spacing: 0;
  margin-top: 1px;
}

/* V6.388 #938 — couture-card-info-bordered-row-stripe — striped row info card */
.couture-card-info-bordered-row-stripe {
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-info-bordered-row-stripe li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: baseline;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-bordered-row-stripe li:last-child { border-bottom: none; }
.couture-card-info-bordered-row-stripe li:nth-child(odd) {
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
}
.couture-card-info-bordered-row-stripe .cibrs-key {
  font: 600 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-info-bordered-row-stripe .cibrs-val {
  font: 700 13px/1.3 var(--c-sans);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-card-info-bordered-row-stripe .cibrs-val small {
  font: 400 11px/1.3 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
}

/* V6.388 #939 — couture-card-callout-banner-strip — banner strip callout card */
.couture-card-callout-banner-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-card-callout-banner-strip[data-tone="success"] { background: #047857; }
.couture-card-callout-banner-strip[data-tone="warn"] { background: #b45309; }
.couture-card-callout-banner-strip[data-tone="danger"] { background: #991b1b; }
.couture-card-callout-banner-strip .ccbs-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-callout-banner-strip .ccbs-text {
  font: 500 14px/1.4 var(--c-sans);
}
.couture-card-callout-banner-strip .ccbs-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  margin-bottom: 2px;
}
.couture-card-callout-banner-strip .ccbs-text small {
  font: 400 12px/1.4 var(--c-sans);
  opacity: 0.85;
}
.couture-card-callout-banner-strip .ccbs-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-paper) 22%, transparent);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.couture-card-callout-banner-strip .ccbs-action:hover {
  background: var(--c-paper);
  color: var(--c-ink);
}
@media (max-width: 540px) {
  .couture-card-callout-banner-strip {
    grid-template-columns: 32px 1fr;
  }
  .couture-card-callout-banner-strip .ccbs-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-banner-strip .ccbs-action { transition: none; }
}

/* V6.388 #940 — couture-card-feature-grid-icon-stripe — striped icon grid feature */
.couture-card-feature-grid-icon-stripe {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-icon-stripe .cfgis-cell {
  padding: clamp(20px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-grid-icon-stripe .cfgis-cell:last-child {
  border-right: none;
}
.couture-card-feature-grid-icon-stripe .cfgis-cell::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--c-accent, var(--c-ink));
  opacity: 0.4;
}
.couture-card-feature-grid-icon-stripe .cfgis-cell:nth-child(2)::before { opacity: 0.65; }
.couture-card-feature-grid-icon-stripe .cfgis-cell:nth-child(3)::before { opacity: 0.9; }
.couture-card-feature-grid-icon-stripe .cfgis-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
  margin-top: 6px;
}
.couture-card-feature-grid-icon-stripe .cfgis-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-grid-icon-stripe .cfgis-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-grid-icon-stripe { grid-template-columns: 1fr; }
  .couture-card-feature-grid-icon-stripe .cfgis-cell {
    border-right: none;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
  .couture-card-feature-grid-icon-stripe .cfgis-cell:last-child { border-bottom: none; }
}

/* V6.388 #941 — couture-card-info-tile-numbered — numbered tile info card */
.couture-card-info-tile-numbered {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: start;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
}
.couture-card-info-tile-numbered .citn-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-info-tile-numbered .citn-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-info-tile-numbered .citn-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-tile-numbered .citn-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-tile-numbered .citn-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-info-tile-numbered + .couture-card-info-tile-numbered {
  margin-top: 8px;
}

/* V6.388 #942 — couture-card-callout-divider-action — divider+action callout */
.couture-card-callout-divider-action {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-callout-divider-action .ccda-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-callout-divider-action .ccda-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-divider-action .ccda-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-divider-action .ccda-divider {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 6px 0;
}
.couture-card-callout-divider-action .ccda-divider::before,
.couture-card-callout-divider-action .ccda-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-card-callout-divider-action .ccda-divider span {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-ink-soft);
}
.couture-card-callout-divider-action .ccda-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.couture-card-callout-divider-action .ccda-btn {
  flex: 1;
  padding: 10px 16px;
  border-radius: 8px;
  text-align: center;
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 1px solid var(--c-ink);
}
.couture-card-callout-divider-action .ccda-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* V6.388 #943 — couture-card-feature-icon-tag-row — icon+tag row feature */
.couture-card-feature-icon-tag-row {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-tag-row .cfitr-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-icon-tag-row .cfitr-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-tag-row .cfitr-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-feature-icon-tag-row .cfitr-tags {
  display: inline-flex;
  gap: 4px;
  flex-shrink: 0;
}
.couture-card-feature-icon-tag-row .cfitr-tag {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font: 700 10px/1.5 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-tag-row .cfitr-tag[data-tone="accent"] {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink)) 24%, transparent);
}
@media (max-width: 540px) {
  .couture-card-feature-icon-tag-row {
    grid-template-columns: 40px 1fr;
  }
  .couture-card-feature-icon-tag-row .cfitr-tags {
    grid-column: 2;
    margin-top: 4px;
  }
}

/* V6.388 #944 — couture-card-text-icon-stack-bordered — bordered icon+text stack */
.couture-card-text-icon-stack-bordered {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-text-icon-stack-bordered .ctisb-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 22px/1 var(--c-display, var(--c-sans));
}
.couture-card-text-icon-stack-bordered .ctisb-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-text-icon-stack-bordered .ctisb-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-text-icon-stack-bordered .ctisb-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-text-icon-stack-bordered .ctisb-link {
  margin-top: 4px;
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-card-text-icon-stack-bordered .ctisb-link::after {
  content: "\2192";
  transition: transform 0.15s ease;
}
.couture-card-text-icon-stack-bordered .ctisb-link:hover::after {
  transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-text-icon-stack-bordered .ctisb-link::after { transition: none; }
}

/* V6.388 #945 — couture-card-callout-banner-double-action — banner with double actions */
.couture-card-callout-banner-double-action {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 16px 20px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-callout-banner-double-action .ccbda-content { min-width: 0; }
.couture-card-callout-banner-double-action .ccbda-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 4px;
}
.couture-card-callout-banner-double-action .ccbda-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-banner-double-action .ccbda-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-callout-banner-double-action .ccbda-btn {
  padding: 8px 14px;
  border-radius: 8px;
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 1px solid var(--c-ink);
  white-space: nowrap;
}
.couture-card-callout-banner-double-action .ccbda-btn.is-secondary {
  background: transparent;
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 70%, transparent);
}
@media (max-width: 540px) {
  .couture-card-callout-banner-double-action {
    grid-template-columns: 1fr;
  }
  .couture-card-callout-banner-double-action .ccbda-btn {
    text-align: center;
  }
}

/* V6.388 #946 — couture-card-feature-icon-tile-rounded — rounded icon tile feature */
.couture-card-feature-icon-tile-rounded {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 24px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-icon-tile-rounded .cfitr-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 28px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-icon-tile-rounded .cfitr-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-tile-rounded .cfitr-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-feature-icon-tile-rounded .cfitr-tag {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #947 — couture-card-info-row-bordered-trio — 3-row bordered info card */
.couture-card-info-row-bordered-trio {
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background-color: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-row-bordered-trio li {
  padding: clamp(16px, 2.4vw, 22px);
  background: var(--c-paper);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-info-row-bordered-trio .cirbt-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-info-row-bordered-trio .cirbt-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-info-row-bordered-trio .cirbt-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-info-row-bordered-trio .cirbt-detail {
  font: 400 12px/1.45 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-info-row-bordered-trio { grid-template-columns: 1fr; }
}

/* V6.388 #948 — couture-card-action-soft-card — soft action card */
.couture-card-action-soft-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-action-soft-card:hover {
  border-color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-card-action-soft-card .casc-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-action-soft-card .casc-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-action-soft-card .casc-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-action-soft-card .casc-pill {
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-action-soft-card { transition: none; }
  .couture-card-action-soft-card:hover { transform: none; }
}

/* V6.388 #949 — couture-card-feature-pill-icon-stack — pill+icon stack feature */
.couture-card-feature-pill-icon-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-pill-icon-stack .cfpis-pill {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.couture-card-feature-pill-icon-stack .cfpis-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.couture-card-feature-pill-icon-stack .cfpis-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 22px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-pill-icon-stack .cfpis-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-pill-icon-stack .cfpis-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #950 — 🎉 950 MILESTONE — couture-medallion-card — medallion celebration card */
.couture-medallion-card {
  position: relative;
  padding: clamp(40px, 6vw, 60px) clamp(28px, 4vw, 44px);
  border-radius: 22px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    color-mix(in oklab, var(--c-paper) 88%, var(--c-bg))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  text-align: center;
  overflow: hidden;
}
.couture-medallion-card::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(180px, 24vw, 240px);
  height: clamp(180px, 24vw, 240px);
  border-radius: 50%;
  background:
    radial-gradient(closest-side, transparent 65%, color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent) 67%, transparent 71%),
    radial-gradient(closest-side, transparent 75%, color-mix(in oklab, var(--c-accent, var(--c-ink)) 18%, transparent) 77%, transparent 81%);
  z-index: 0;
  pointer-events: none;
}
.couture-medallion-card .cmc-medallion {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #422006;
  font: 800 32px/1 var(--c-display, var(--c-sans));
  margin-bottom: 22px;
  box-shadow:
    0 0 0 6px color-mix(in oklab, #f59e0b 20%, transparent),
    0 12px 28px -10px color-mix(in oklab, #f59e0b 60%, transparent);
}
.couture-medallion-card .cmc-num {
  position: relative;
  font: 800 clamp(56px, 8vw, 80px)/1 var(--c-display, var(--c-sans));
  letter-spacing: -0.04em;
  color: var(--c-ink);
  margin-bottom: 6px;
  font-variant-numeric: tabular-nums;
}
.couture-medallion-card .cmc-title {
  position: relative;
  font: 700 clamp(20px, 2.6vw, 26px)/1.25 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 14px;
}
.couture-medallion-card .cmc-body {
  position: relative;
  font: 400 14px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
  max-width: 480px;
  margin: 0 auto;
}

/* V6.388 #951 — couture-card-info-bordered-pill-action — pill+action bordered info */
.couture-card-info-bordered-pill-action {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-bordered-pill-action .cibpa-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-bordered-pill-action .cibpa-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-info-bordered-pill-action .cibpa-pill {
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
}
.couture-card-info-bordered-pill-action .cibpa-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-info-bordered-pill-action {
    grid-template-columns: 1fr auto;
  }
  .couture-card-info-bordered-pill-action .cibpa-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #952 — couture-card-feature-circle-stat — circular-stat feature card */
.couture-card-feature-circle-stat {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 18px;
  align-items: center;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-circle-stat .cfcs-circle {
  --pct: 65;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background:
    conic-gradient(
      var(--c-accent, var(--c-ink)) calc(var(--pct) * 1%),
      color-mix(in oklab, var(--c-line) 70%, transparent) 0
    );
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.couture-card-feature-circle-stat .cfcs-circle::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-card-feature-circle-stat .cfcs-circle strong {
  position: relative;
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
}
.couture-card-feature-circle-stat .cfcs-circle small {
  position: relative;
  font: 700 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 1px;
}
.couture-card-feature-circle-stat .cfcs-content { min-width: 0; }
.couture-card-feature-circle-stat .cfcs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 6px;
}
.couture-card-feature-circle-stat .cfcs-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-feature-circle-stat .cfcs-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-circle-stat {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-feature-circle-stat .cfcs-circle {
    margin-inline: auto;
  }
}

/* V6.388 #953 — couture-card-text-bordered-stat — text+stat bordered card */
.couture-card-text-bordered-stat {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}
.couture-card-text-bordered-stat .ctbs-content { min-width: 0; }
.couture-card-text-bordered-stat .ctbs-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-text-bordered-stat .ctbs-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-text-bordered-stat .ctbs-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-text-bordered-stat .ctbs-stat {
  text-align: right;
  padding-left: 22px;
  border-left: 2px solid var(--c-accent, var(--c-ink));
}
.couture-card-text-bordered-stat .ctbs-num {
  font: 800 32px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-text-bordered-stat .ctbs-num small {
  font: 800 0.5em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-text-bordered-stat .ctbs-label {
  font: 600 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
  margin-top: 4px;
}
@media (max-width: 540px) {
  .couture-card-text-bordered-stat {
    grid-template-columns: 1fr;
  }
  .couture-card-text-bordered-stat .ctbs-stat {
    border-left: none;
    border-top: 2px solid var(--c-accent, var(--c-ink));
    padding-left: 0;
    padding-top: 14px;
    text-align: left;
  }
}

/* V6.388 #954 — couture-card-grid-link-bordered-cell — link grid bordered cell */
.couture-card-grid-link-bordered-cell {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-grid-link-bordered-cell a {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  background: var(--c-paper);
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.couture-card-grid-link-bordered-cell a:hover {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-bg));
}
.couture-card-grid-link-bordered-cell .cglbc-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 13px/1 var(--c-mono);
}
.couture-card-grid-link-bordered-cell .cglbc-text {
  font: 600 12px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-grid-link-bordered-cell .cglbc-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-grid-link-bordered-cell a { transition: none; }
}

/* V6.388 #955 — couture-card-feature-tile-photo-corner — corner photo tile feature */
.couture-card-feature-tile-photo-corner {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  min-height: 180px;
}
.couture-card-feature-tile-photo-corner .cftpc-corner {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid var(--c-paper);
  box-shadow: 0 8px 18px -8px rgba(0,0,0,0.18);
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
}
.couture-card-feature-tile-photo-corner .cftpc-corner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-feature-tile-photo-corner .cftpc-content {
  position: relative;
  max-width: 60%;
  z-index: 1;
}
.couture-card-feature-tile-photo-corner .cftpc-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
  margin-bottom: 8px;
}
.couture-card-feature-tile-photo-corner .cftpc-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-feature-tile-photo-corner .cftpc-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-tile-photo-corner .cftpc-content { max-width: 100%; }
  .couture-card-feature-tile-photo-corner .cftpc-corner {
    width: 100px;
    height: 100px;
    opacity: 0.5;
  }
}

/* V6.388 #956 — couture-card-info-grid-progress-row — progress row info grid */
.couture-card-info-grid-progress-row {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-card-info-grid-progress-row .cigpr-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: baseline;
}
.couture-card-info-grid-progress-row .cigpr-label {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-grid-progress-row .cigpr-num {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-info-grid-progress-row .cigpr-num small {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
}
.couture-card-info-grid-progress-row .cigpr-bar {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-line) 65%, transparent);
  overflow: hidden;
}
.couture-card-info-grid-progress-row .cigpr-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--c-accent, var(--c-ink));
  transition: width 0.4s cubic-bezier(0.34, 1, 0.64, 1);
}
.couture-card-info-grid-progress-row .cigpr-fill[data-tone="success"] { background: #10b981; }
.couture-card-info-grid-progress-row .cigpr-fill[data-tone="warn"] { background: #f59e0b; }
.couture-card-info-grid-progress-row .cigpr-fill[data-tone="danger"] { background: #ef4444; }
@media (prefers-reduced-motion: reduce) {
  .couture-card-info-grid-progress-row .cigpr-fill { transition: none; }
}

/* V6.388 #957 — couture-card-callout-pill-bordered-action — pill action bordered callout */
.couture-card-callout-pill-bordered-action {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 999px 12px 12px 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-pill-bordered-action .ccpba-pill {
  padding: 6px 14px 6px 12px;
  border-radius: 999px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.couture-card-callout-pill-bordered-action .ccpba-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-card-callout-pill-bordered-action .ccpba-text {
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-callout-pill-bordered-action .ccpba-text strong {
  font-weight: 700;
  color: var(--c-ink);
}
.couture-card-callout-pill-bordered-action .ccpba-action {
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-callout-pill-bordered-action {
    grid-template-columns: 1fr;
    border-radius: 14px;
  }
  .couture-card-callout-pill-bordered-action .ccpba-pill {
    align-self: flex-start;
  }
  .couture-card-callout-pill-bordered-action .ccpba-action {
    text-align: center;
  }
}

/* V6.388 #958 — couture-card-feature-grid-icon-bordered-corner — bordered corner icon grid */
.couture-card-feature-grid-icon-bordered-corner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.couture-card-feature-grid-icon-bordered-corner .cfgibc-cell {
  position: relative;
  padding: clamp(20px, 3vw, 28px);
  padding-top: 36px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-icon-bordered-corner .cfgibc-cell::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 18px;
  width: 36px;
  height: 4px;
  background: var(--c-accent, var(--c-ink));
  border-radius: 0 0 4px 4px;
}
.couture-card-feature-grid-icon-bordered-corner .cfgibc-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
  margin-bottom: 12px;
}
.couture-card-feature-grid-icon-bordered-corner .cfgibc-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 6px;
}
.couture-card-feature-grid-icon-bordered-corner .cfgibc-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-grid-icon-bordered-corner { grid-template-columns: 1fr; }
}

/* V6.388 #959 — couture-card-info-table-grid-row — table-grid info row card */
.couture-card-info-table-grid-row {
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  background: var(--c-paper);
}
.couture-card-info-table-grid-row li {
  display: grid;
  grid-template-columns: 36px 1fr 80px auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-table-grid-row li:last-child { border-bottom: none; }
.couture-card-info-table-grid-row .citgr-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-info-table-grid-row .citgr-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-table-grid-row .citgr-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-info-table-grid-row .citgr-num {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.couture-card-info-table-grid-row .citgr-num small {
  display: block;
  font: 500 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-info-table-grid-row .citgr-status {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-info-table-grid-row .citgr-status[data-tone="ok"] { background: #10b981; }
.couture-card-info-table-grid-row .citgr-status[data-tone="warn"] { background: #f59e0b; }
.couture-card-info-table-grid-row .citgr-status[data-tone="err"] { background: #ef4444; }
@media (max-width: 540px) {
  .couture-card-info-table-grid-row li {
    grid-template-columns: 36px 1fr auto;
  }
  .couture-card-info-table-grid-row .citgr-num {
    grid-column: 2;
    text-align: left;
  }
}

/* V6.388 #960 — couture-card-callout-photo-action-tile — photo+action tile callout */
.couture-card-callout-photo-action-tile {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-photo-action-tile .ccpat-photo {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-callout-photo-action-tile .ccpat-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-callout-photo-action-tile .ccpat-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-callout-photo-action-tile .ccpat-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-callout-photo-action-tile .ccpat-action {
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 12px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-callout-photo-action-tile {
    grid-template-columns: 56px 1fr;
  }
  .couture-card-callout-photo-action-tile .ccpat-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #961 — couture-card-feature-stat-pill-grid — pill-stat grid feature */
.couture-card-feature-stat-pill-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}
.couture-card-feature-stat-pill-grid .cfspg-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 999px 12px 12px 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-stat-pill-grid .cfspg-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-stat-pill-grid .cfspg-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-stat-pill-grid .cfspg-label {
  font: 500 11px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-feature-stat-pill-grid .cfspg-trend {
  font: 700 11px/1 var(--c-mono);
  color: #10b981;
  margin-top: 4px;
}
.couture-card-feature-stat-pill-grid .cfspg-trend.is-down { color: #ef4444; }
.couture-card-feature-stat-pill-grid .cfspg-trend::before { content: "\2191 "; }
.couture-card-feature-stat-pill-grid .cfspg-trend.is-down::before { content: "\2193 "; }

/* V6.388 #962 — couture-card-info-bordered-quote-strip — bordered quote strip info */
.couture-card-info-bordered-quote-strip {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-bordered-quote-strip .cibqs-mark {
  font: 800 36px/0.8 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
  text-align: center;
}
.couture-card-info-bordered-quote-strip .cibqs-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-info-bordered-quote-strip .cibqs-quote {
  font: 500 16px/1.55 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-info-bordered-quote-strip .cibqs-attribution {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-bordered-quote-strip .cibqs-name {
  font: 700 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-info-bordered-quote-strip .cibqs-name small {
  display: block;
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  text-transform: none;
  letter-spacing: 0;
  margin-top: 1px;
}
.couture-card-info-bordered-quote-strip .cibqs-rating {
  margin-left: auto;
  font: 700 12px/1 var(--c-mono);
  color: #f59e0b;
  letter-spacing: 0.08em;
}

/* V6.388 #963 — couture-card-callout-soft-tinted-row — soft-tinted callout row */
.couture-card-callout-soft-tinted-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 8%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 24%, transparent);
}
.couture-card-callout-soft-tinted-row[data-tone="success"] {
  background: color-mix(in oklab, #10b981 10%, var(--c-paper));
  border-color: color-mix(in oklab, #10b981 28%, transparent);
}
.couture-card-callout-soft-tinted-row[data-tone="warn"] {
  background: color-mix(in oklab, #f59e0b 10%, var(--c-paper));
  border-color: color-mix(in oklab, #f59e0b 28%, transparent);
}
.couture-card-callout-soft-tinted-row[data-tone="danger"] {
  background: color-mix(in oklab, #ef4444 10%, var(--c-paper));
  border-color: color-mix(in oklab, #ef4444 28%, transparent);
}
.couture-card-callout-soft-tinted-row .ccstr-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-callout-soft-tinted-row[data-tone="success"] .ccstr-icon { color: #047857; border-color: color-mix(in oklab, #10b981 35%, transparent); }
.couture-card-callout-soft-tinted-row[data-tone="warn"] .ccstr-icon { color: #92400e; border-color: color-mix(in oklab, #f59e0b 35%, transparent); }
.couture-card-callout-soft-tinted-row[data-tone="danger"] .ccstr-icon { color: #991b1b; border-color: color-mix(in oklab, #ef4444 35%, transparent); }
.couture-card-callout-soft-tinted-row .ccstr-text {
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-soft-tinted-row .ccstr-text strong {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-right: 4px;
}
.couture-card-callout-soft-tinted-row .ccstr-action {
  font: 600 12px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
  text-decoration: none;
  white-space: nowrap;
}

/* V6.388 #964 — couture-card-feature-quote-icon-stack — quote+icon stack feature */
.couture-card-feature-quote-icon-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-quote-icon-stack .cfqis-icon-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.couture-card-feature-quote-icon-stack .cfqis-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-quote-icon-stack .cfqis-rating {
  font: 700 12px/1 var(--c-mono);
  color: #f59e0b;
  letter-spacing: 0.08em;
  margin-left: auto;
}
.couture-card-feature-quote-icon-stack .cfqis-quote {
  font: 500 16px/1.55 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-feature-quote-icon-stack .cfqis-author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px dashed color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-quote-icon-stack .cfqis-name {
  font: 700 12px/1.3 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
.couture-card-feature-quote-icon-stack .cfqis-name small {
  display: block;
  font: 400 11px/1.3 var(--c-sans);
  color: var(--c-ink-soft);
  text-transform: none;
  letter-spacing: 0;
  margin-top: 1px;
}

/* V6.388 #965 — couture-card-info-photo-tile-bordered — bordered photo tile info */
.couture-card-info-photo-tile-bordered {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-photo-tile-bordered .cipth-photo {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
}
.couture-card-info-photo-tile-bordered .cipth-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-info-photo-tile-bordered .cipth-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.couture-card-info-photo-tile-bordered .cipth-meta {
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-info-photo-tile-bordered .cipth-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-photo-tile-bordered .cipth-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.couture-card-info-photo-tile-bordered .cipth-foot {
  margin-top: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}

/* V6.388 #966 — couture-card-callout-icon-pill-row — icon+pill callout row */
.couture-card-callout-icon-pill-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-icon-pill-row .ccipr-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-callout-icon-pill-row .ccipr-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-icon-pill-row .ccipr-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-callout-icon-pill-row .ccipr-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-mono);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.couture-card-callout-icon-pill-row .ccipr-pill small {
  font: 600 10px/1 var(--c-mono);
  opacity: 0.75;
}
@media (max-width: 540px) {
  .couture-card-callout-icon-pill-row {
    grid-template-columns: 36px 1fr;
  }
  .couture-card-callout-icon-pill-row .ccipr-pill {
    grid-column: 1 / -1;
    justify-self: end;
  }
}

/* V6.388 #967 — couture-card-feature-grid-pill-icon-tile — pill+icon tile feature */
.couture-card-feature-grid-pill-icon-tile {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.couture-card-feature-grid-pill-icon-tile .cfgpit-cell {
  position: relative;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-grid-pill-icon-tile .cfgpit-pill {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 3px 8px;
  border-radius: 999px;
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-grid-pill-icon-tile .cfgpit-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-display, var(--c-sans));
  margin-bottom: 12px;
}
.couture-card-feature-grid-pill-icon-tile .cfgpit-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
  padding-right: 60px;
}
.couture-card-feature-grid-pill-icon-tile .cfgpit-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-feature-grid-pill-icon-tile { grid-template-columns: 1fr; }
}

/* V6.388 #968 — couture-card-info-row-meta-tag — meta-tag info row card */
.couture-card-info-row-meta-tag {
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
}
.couture-card-info-row-meta-tag li {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-row-meta-tag li:last-child { border-bottom: none; }
.couture-card-info-row-meta-tag .cirmt-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-row-meta-tag .cirmt-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-info-row-meta-tag .cirmt-meta {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  white-space: nowrap;
}
.couture-card-info-row-meta-tag .cirmt-tag {
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  white-space: nowrap;
}
.couture-card-info-row-meta-tag .cirmt-tag[data-tone="ok"] {
  background: color-mix(in oklab, #10b981 14%, var(--c-paper));
  color: #047857;
  border-color: color-mix(in oklab, #10b981 30%, transparent);
}

/* V6.388 #969 — couture-card-callout-icon-grid-vertical — vertical icon grid callout */
.couture-card-callout-icon-grid-vertical {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-icon-grid-vertical .ccigv-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 14px;
}
.couture-card-callout-icon-grid-vertical .ccigv-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-callout-icon-grid-vertical .ccigv-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-callout-icon-grid-vertical .ccigv-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
.couture-card-callout-icon-grid-vertical .ccigv-row {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  font: 500 13px/1.3 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-icon-grid-vertical .ccigv-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--c-paper);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-callout-icon-grid-vertical .ccigv-num {
  font: 700 13px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* V6.388 #970 — couture-card-feature-bordered-stat-row — bordered stat row feature */
.couture-card-feature-bordered-stat-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-card-feature-bordered-stat-row .cfbsr-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-feature-bordered-stat-row .cfbsr-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-feature-bordered-stat-row .cfbsr-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.couture-card-feature-bordered-stat-row .cfbsr-num {
  font: 800 22px/1 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-bordered-stat-row .cfbsr-num small {
  font: 700 0.55em/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-bordered-stat-row .cfbsr-trend {
  font: 700 11px/1 var(--c-mono);
  color: #10b981;
}
.couture-card-feature-bordered-stat-row .cfbsr-trend.is-down { color: #ef4444; }
.couture-card-feature-bordered-stat-row .cfbsr-trend::before { content: "\2191 "; }
.couture-card-feature-bordered-stat-row .cfbsr-trend.is-down::before { content: "\2193 "; }

/* V6.388 #971 — couture-card-info-icon-text-stripe — striped icon+text info card */
.couture-card-info-icon-text-stripe {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 18px 14px 22px;
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  position: relative;
  overflow: hidden;
}
.couture-card-info-icon-text-stripe::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  background: var(--c-accent, var(--c-ink));
}
.couture-card-info-icon-text-stripe[data-tone="success"]::before { background: #10b981; }
.couture-card-info-icon-text-stripe[data-tone="warn"]::before { background: #f59e0b; }
.couture-card-info-icon-text-stripe[data-tone="danger"]::before { background: #ef4444; }
.couture-card-info-icon-text-stripe .cits-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-info-icon-text-stripe .cits-text {
  font: 500 14px/1.45 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-info-icon-text-stripe .cits-text strong {
  display: block;
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}

/* V6.388 #972 — couture-card-callout-stat-action-row — stat+action row callout */
.couture-card-callout-stat-action-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-callout-stat-action-row .ccsar-stat {
  font: 800 28px/1 var(--c-display, var(--c-sans));
  color: var(--c-accent, var(--c-ink));
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.couture-card-callout-stat-action-row .ccsar-stat small {
  font: 700 0.5em/1 var(--c-display, var(--c-sans));
  color: var(--c-ink-soft);
}
.couture-card-callout-stat-action-row .ccsar-text {
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-callout-stat-action-row .ccsar-text strong {
  display: block;
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-callout-stat-action-row .ccsar-text small {
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-callout-stat-action-row .ccsar-action {
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-callout-stat-action-row {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-card-callout-stat-action-row .ccsar-action {
    text-align: center;
  }
}

/* V6.388 #973 — couture-card-feature-bordered-icon-pill — bordered icon+pill feature */
.couture-card-feature-bordered-icon-pill {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-feature-bordered-icon-pill .cfbip-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.couture-card-feature-bordered-icon-pill .cfbip-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-bordered-icon-pill .cfbip-pill {
  padding: 4px 10px;
  border-radius: 999px;
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-feature-bordered-icon-pill .cfbip-title {
  font: 700 17px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-bordered-icon-pill .cfbip-body {
  font: 400 13px/1.55 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #974 — couture-card-info-text-icon-double — text+icon double info card */
.couture-card-info-text-icon-double {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-text-icon-double .citid-cell {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
  padding-right: 14px;
}
.couture-card-info-text-icon-double .citid-cell + .citid-cell {
  padding-right: 0;
  padding-left: 14px;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-text-icon-double .citid-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-info-text-icon-double .citid-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 4px;
}
.couture-card-info-text-icon-double .citid-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 540px) {
  .couture-card-info-text-icon-double { grid-template-columns: 1fr; }
  .couture-card-info-text-icon-double .citid-cell + .citid-cell {
    padding-left: 0;
    padding-top: 14px;
    border-left: none;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
}

/* V6.388 #975 — couture-card-callout-tagged-photo-row — tagged photo row callout */
.couture-card-callout-tagged-photo-row {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-tagged-photo-row .cctpr-photo {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  overflow: hidden;
  position: relative;
}
.couture-card-callout-tagged-photo-row .cctpr-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-card-callout-tagged-photo-row .cctpr-text {
  font: 600 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-callout-tagged-photo-row .cctpr-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
.couture-card-callout-tagged-photo-row .cctpr-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
}
.couture-card-callout-tagged-photo-row .cctpr-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
@media (max-width: 540px) {
  .couture-card-callout-tagged-photo-row {
    grid-template-columns: 64px 1fr;
  }
  .couture-card-callout-tagged-photo-row .cctpr-tag {
    grid-column: 2;
    margin-top: 4px;
  }
}

/* V6.388 #976 — couture-card-feature-trio-photo-grid — 3-photo grid feature */
.couture-card-feature-trio-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.couture-card-feature-trio-photo-grid .cftpg-cell {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  text-decoration: none;
  color: inherit;
}
.couture-card-feature-trio-photo-grid .cftpg-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.couture-card-feature-trio-photo-grid .cftpg-cell:hover img {
  transform: scale(1.05);
}
.couture-card-feature-trio-photo-grid .cftpg-cell .cftpg-overlay {
  position: absolute;
  inset: auto 0 0 0;
  padding: 10px 12px;
  color: #fff;
  background: linear-gradient(0deg, rgba(0,0,0,0.6), transparent);
}
.couture-card-feature-trio-photo-grid .cftpg-cell .cftpg-name {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
.couture-card-feature-trio-photo-grid .cftpg-cell .cftpg-meta {
  font: 500 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.92;
  margin-top: 2px;
}
@media (max-width: 540px) {
  .couture-card-feature-trio-photo-grid { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-trio-photo-grid .cftpg-cell img { transition: none; }
}

/* V6.388 #977 — couture-card-info-detail-row-stat — detail row stat info card */
.couture-card-info-detail-row-stat {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-detail-row-stat .cidrs-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-detail-row-stat .cidrs-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-detail-row-stat .cidrs-meta {
  font: 600 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
}
.couture-card-info-detail-row-stat .cidrs-rows {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-card-info-detail-row-stat .cidrs-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: baseline;
}
.couture-card-info-detail-row-stat .cidrs-key {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
}
.couture-card-info-detail-row-stat .cidrs-val {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.couture-card-info-detail-row-stat .cidrs-val small {
  font: 500 11px/1 var(--c-mono);
  color: var(--c-ink-soft);
  margin-left: 4px;
}

/* V6.388 #978 — couture-card-callout-pill-tag-row — pill+tag row callout */
.couture-card-callout-pill-tag-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  flex-wrap: wrap;
}
.couture-card-callout-pill-tag-row .ccptr-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.couture-card-callout-pill-tag-row .ccptr-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-paper);
}
.couture-card-callout-pill-tag-row .ccptr-text {
  flex: 1;
  font: 500 14px/1.4 var(--c-sans);
  color: var(--c-ink);
  min-width: 200px;
}
.couture-card-callout-pill-tag-row .ccptr-text strong {
  font-weight: 700;
  color: var(--c-ink);
}
.couture-card-callout-pill-tag-row .ccptr-tags {
  display: inline-flex;
  gap: 4px;
}
.couture-card-callout-pill-tag-row .ccptr-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font: 700 10px/1.5 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink-soft);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* V6.388 #979 — couture-card-feature-icon-bordered-tile-large — large bordered icon tile feature */
.couture-card-feature-icon-bordered-tile-large {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  padding: clamp(28px, 4vw, 36px) clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.couture-card-feature-icon-bordered-tile-large:hover {
  border-color: var(--c-accent, var(--c-ink));
  transform: translateY(-3px);
}
.couture-card-feature-icon-bordered-tile-large .cfibtl-icon {
  width: 80px;
  height: 80px;
  border-radius: 22px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 35%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 36px/1 var(--c-display, var(--c-sans));
  box-shadow: 0 8px 18px -8px color-mix(in oklab, var(--c-accent, var(--c-ink)) 40%, transparent);
}
.couture-card-feature-icon-bordered-tile-large .cfibtl-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, var(--c-ink));
}
.couture-card-feature-icon-bordered-tile-large .cfibtl-title {
  font: 700 18px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-bordered-tile-large .cfibtl-body {
  font: 400 14px/1.6 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-feature-icon-bordered-tile-large { transition: none; }
  .couture-card-feature-icon-bordered-tile-large:hover { transform: none; }
}

/* V6.388 #980 — couture-card-info-bordered-icon-tile-row — bordered icon-tile row info */
.couture-card-info-bordered-icon-tile-row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 2px solid color-mix(in oklab, var(--c-line) 75%, transparent);
}
.couture-card-info-bordered-icon-tile-row .cibitr-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 22%, var(--c-paper)),
    color-mix(in oklab, var(--c-accent, var(--c-ink)) 6%, var(--c-paper))
  );
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 28%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 26px/1 var(--c-display, var(--c-sans));
}
.couture-card-info-bordered-icon-tile-row .cibitr-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-card-info-bordered-icon-tile-row .cibitr-eyebrow {
  font: 700 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--c-ink-soft);
}
.couture-card-info-bordered-icon-tile-row .cibitr-title {
  font: 700 16px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-bordered-icon-tile-row .cibitr-body {
  font: 400 13px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}

/* V6.388 #981 — couture-card-callout-bordered-text-row — bordered text row callout */
.couture-card-callout-bordered-text-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px 22px;
  border-radius: 14px;
  background: var(--c-paper);
  border: 2px solid var(--c-accent, var(--c-ink));
}
.couture-card-callout-bordered-text-row .ccbtr-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 16px/1 var(--c-display, var(--c-sans));
}
.couture-card-callout-bordered-text-row .ccbtr-text {
  font: 500 14px/1.45 var(--c-sans);
  color: var(--c-ink);
  min-width: 0;
}
.couture-card-callout-bordered-text-row .ccbtr-text strong {
  display: block;
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-bottom: 2px;
}
.couture-card-callout-bordered-text-row .ccbtr-action {
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 13px/1 var(--c-sans);
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 540px) {
  .couture-card-callout-bordered-text-row {
    grid-template-columns: 36px 1fr;
  }
  .couture-card-callout-bordered-text-row .ccbtr-action {
    grid-column: 1 / -1;
    text-align: center;
  }
}

/* V6.388 #982 — couture-card-feature-soft-icon-tile-grid — soft icon tile grid feature */
.couture-card-feature-soft-icon-tile-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.couture-card-feature-soft-icon-tile-grid .cfsitg-cell {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-feature-soft-icon-tile-grid .cfsitg-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-accent, var(--c-ink)) 30%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/1 var(--c-display, var(--c-sans));
}
.couture-card-feature-soft-icon-tile-grid .cfsitg-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-soft-icon-tile-grid .cfsitg-text small {
  display: block;
  font: 400 12px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 2px;
}
@media (max-width: 540px) {
  .couture-card-feature-soft-icon-tile-grid { grid-template-columns: 1fr; }
}

/* V6.388 #983 — couture-card-info-bordered-icon-pill-row — bordered icon+pill row info */
.couture-card-info-bordered-icon-pill-row {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-info-bordered-icon-pill-row .cibipr-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-mono);
}
.couture-card-info-bordered-icon-pill-row .cibipr-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-bordered-icon-pill-row .cibipr-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-info-bordered-icon-pill-row .cibipr-pill {
  font: 700 11px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  white-space: nowrap;
}
.couture-card-info-bordered-icon-pill-row + .couture-card-info-bordered-icon-pill-row {
  margin-top: 6px;
}

/* V6.388 #984 — couture-card-callout-soft-bordered-row — soft bordered callout row */
.couture-card-callout-soft-bordered-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-soft-bordered-row .ccsbr-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 14px/1 var(--c-display, var(--c-sans));
}
.couture-card-callout-soft-bordered-row .ccsbr-text {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-soft-bordered-row .ccsbr-text strong {
  font: 700 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
  margin-right: 4px;
}
.couture-card-callout-soft-bordered-row .ccsbr-action {
  padding: 7px 12px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  font: 600 11px/1 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-card-callout-soft-bordered-row .ccsbr-action:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-soft-bordered-row .ccsbr-action { transition: none; }
}

/* V6.388 #985 — couture-card-feature-icon-text-grid-soft — soft icon+text grid feature */
.couture-card-feature-icon-text-grid-soft {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.couture-card-feature-icon-text-grid-soft .cfitgs-cell {
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-bg)),
    var(--c-paper)
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-card-feature-icon-text-grid-soft .cfitgs-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink)) 14%, transparent);
  color: var(--c-accent, var(--c-ink));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-feature-icon-text-grid-soft .cfitgs-title {
  font: 700 14px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-feature-icon-text-grid-soft .cfitgs-body {
  font: 400 12px/1.5 var(--c-sans);
  color: var(--c-ink-soft);
}
@media (max-width: 720px) {
  .couture-card-feature-icon-text-grid-soft { grid-template-columns: 1fr; }
}

/* V6.388 #986 — couture-card-info-bordered-row-trio — bordered row trio info */
.couture-card-info-bordered-row-trio {
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  overflow: hidden;
  background: var(--c-paper);
}
.couture-card-info-bordered-row-trio li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-card-info-bordered-row-trio li:last-child { border-bottom: none; }
.couture-card-info-bordered-row-trio .cibrt-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-bg) 80%, var(--c-paper));
  color: var(--c-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono);
}
.couture-card-info-bordered-row-trio .cibrt-text {
  font: 600 13px/1.3 var(--c-display, var(--c-sans));
  color: var(--c-ink);
}
.couture-card-info-bordered-row-trio .cibrt-text small {
  display: block;
  font: 400 11px/1.4 var(--c-sans);
  color: var(--c-ink-soft);
  margin-top: 1px;
}
.couture-card-info-bordered-row-trio .cibrt-num {
  font: 700 14px/1 var(--c-mono);
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}
.couture-card-info-bordered-row-trio .cibrt-num small {
  display: block;
  font: 600 10px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-align: right;
  margin-top: 2px;
}

/* V6.388 #987 — couture-card-callout-pill-icon-strip — pill+icon strip callout */
.couture-card-callout-pill-icon-strip {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--c-paper) 95%, var(--c-bg));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-card-callout-pill-icon-strip .ccpis-pill {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--c-accent, var(--c-ink));
  color: var(--c-paper);
  font: 700 10px/1.4 var(--c-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.couture-card-callout-pill-icon-strip .ccpis-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono);
}
.couture-card-callout-pill-icon-strip .ccpis-text {
  font: 500 13px/1.4 var(--c-sans);
  color: var(--c-ink);
}
.couture-card-callout-pill-icon-strip .ccpis-text strong {
  font-weight: 700;
  color: var(--c-ink);
}
.couture-card-callout-pill-icon-strip .ccpis-arrow {
  font: 500 16px/1 var(--c-mono);
  color: var(--c-ink-soft);
  text-decoration: none;
  transition: color 0.15s ease, transform 0.15s ease;
}
.couture-card-callout-pill-icon-strip .ccpis-arrow:hover {
  color: var(--c-accent, var(--c-ink));
  transform: translateX(2px);
}
@media (max-width: 540px) {
  .couture-card-callout-pill-icon-strip {
    grid-template-columns: auto 28px 1fr;
  }
  .couture-card-callout-pill-icon-strip .ccpis-arrow {
    grid-column: 1 / -1;
    text-align: right;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-pill-icon-strip .ccpis-arrow { transition: none; }
}

/* V6.388 #988 - card-feature-quad-soft-grid: 4-cell soft feature grid */
.couture-card-feature-quad-soft-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 22px;
  background: linear-gradient(145deg, color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  box-shadow: 0 4px 16px -8px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
@media (min-width: 720px) {
  .couture-card-feature-quad-soft-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-card-feature-quad-soft-grid > .couture-cell {
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-quad-soft-grid > .couture-cell > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 16px;
}
.couture-card-feature-quad-soft-grid > .couture-cell > .couture-title {
  font-weight: 600;
  font-size: clamp(0.85rem, 1.2vw, 0.95rem);
  letter-spacing: -0.005em;
  color: var(--couture-fg, #111);
}
.couture-card-feature-quad-soft-grid > .couture-cell > .couture-body {
  font-size: clamp(0.72rem, 0.95vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #989 - card-info-stat-row-bordered: bordered single-stat row */
.couture-card-info-stat-row-bordered {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-info-stat-row-bordered > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-card-info-stat-row-bordered > .couture-text > .couture-label {
  font-size: clamp(0.78rem, 1vw, 0.85rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-info-stat-row-bordered > .couture-text > .couture-sub {
  font-size: clamp(0.7rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  margin-top: 2px;
}
.couture-card-info-stat-row-bordered > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #990 - card-callout-pill-bordered-link: bordered callout with pill+link */
.couture-card-callout-pill-bordered-link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 97%, var(--couture-accent, #6366f1) 3%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
.couture-card-callout-pill-bordered-link > .couture-pill {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-card-callout-pill-bordered-link > .couture-text {
  font-size: clamp(0.85rem, 1.1vw, 0.95rem);
  color: var(--couture-fg, #111);
}
.couture-card-callout-pill-bordered-link > .couture-text > strong {
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-callout-pill-bordered-link > .couture-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  font-size: clamp(0.78rem, 1vw, 0.85rem);
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
  transition: gap 0.2s ease;
}
.couture-card-callout-pill-bordered-link > .couture-link:hover { gap: 7px; }
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-pill-bordered-link > .couture-link { transition: none; }
}

/* V6.388 #991 - card-feature-tile-trio-soft: 3-tile soft feature with icon+title */
.couture-card-feature-tile-trio-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 20px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff) 60%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
@media (min-width: 640px) {
  .couture-card-feature-tile-trio-soft { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-feature-tile-trio-soft > .couture-tile {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-tile-trio-soft > .couture-tile > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 14px;
}
.couture-card-feature-tile-trio-soft > .couture-tile > .couture-title {
  font-size: clamp(0.8rem, 1.05vw, 0.88rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  line-height: 1.35;
}

/* V6.388 #992 - card-info-bordered-stat-pair: bordered side-by-side stat pair */
.couture-card-info-bordered-stat-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 0;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-card-info-bordered-stat-pair > .couture-stat {
  padding: 16px 18px;
  display: grid;
  gap: 4px;
  text-align: center;
}
.couture-card-info-bordered-stat-pair > .couture-stat + .couture-stat {
  border-left: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-card-info-bordered-stat-pair > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  color: var(--couture-accent, #6366f1);
  letter-spacing: -0.015em;
}
.couture-card-info-bordered-stat-pair > .couture-stat > .couture-label {
  font-size: clamp(0.72rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* V6.388 #993 - card-callout-soft-icon-row: soft callout row with icon+text+arrow */
.couture-card-callout-soft-icon-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
  transition: background 0.2s ease;
}
.couture-card-callout-soft-icon-row:hover {
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%);
}
.couture-card-callout-soft-icon-row > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 15px;
}
.couture-card-callout-soft-icon-row > .couture-text {
  font-size: clamp(0.85rem, 1.1vw, 0.92rem);
  color: var(--couture-fg, #111);
  line-height: 1.4;
}
.couture-card-callout-soft-icon-row > .couture-text > strong { font-weight: 600; }
.couture-card-callout-soft-icon-row > .couture-arrow {
  color: var(--couture-accent, #6366f1);
  font-weight: 700;
  font-size: 16px;
  transition: transform 0.2s ease;
}
.couture-card-callout-soft-icon-row:hover > .couture-arrow { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-soft-icon-row,
  .couture-card-callout-soft-icon-row > .couture-arrow { transition: none; }
}

/* V6.388 #994 - card-feature-bordered-icon-trio: bordered 3-icon feature row */
.couture-card-feature-bordered-icon-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 20px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 6px 20px -10px color-mix(in oklab, var(--couture-fg, #111) 14%, transparent);
}
@media (min-width: 720px) {
  .couture-card-feature-bordered-icon-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-icon-trio > .couture-cell {
  display: grid;
  gap: 8px;
  text-align: center;
  padding: 16px 12px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-bordered-icon-trio > .couture-cell > .couture-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: grid; place-items: center;
  margin: 0 auto;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 20px;
}
.couture-card-feature-bordered-icon-trio > .couture-cell > .couture-title {
  font-size: clamp(0.88rem, 1.15vw, 0.98rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-bordered-icon-trio > .couture-cell > .couture-body {
  font-size: clamp(0.75rem, 0.95vw, 0.82rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #995 - card-info-soft-icon-row-stat: soft icon row with leading icon+label+stat */
.couture-card-info-soft-icon-row-stat {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-info-soft-icon-row-stat > .couture-icon {
  width: 34px; height: 34px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: 15px;
}
.couture-card-info-soft-icon-row-stat > .couture-label {
  font-size: clamp(0.82rem, 1.05vw, 0.9rem);
  font-weight: 500;
  color: var(--couture-fg, #111);
}
.couture-card-info-soft-icon-row-stat > .couture-stat {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.3vw, 1.1rem);
  color: var(--couture-accent, #6366f1);
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}

/* V6.388 #996 - card-callout-bordered-pill-row-arrow: bordered pill+text+arrow callout */
.couture-card-callout-bordered-pill-row-arrow {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-card-callout-bordered-pill-row-arrow:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  transform: translateY(-1px);
}
.couture-card-callout-bordered-pill-row-arrow > .couture-pill {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-card-callout-bordered-pill-row-arrow > .couture-text {
  font-size: clamp(0.85rem, 1.1vw, 0.92rem);
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-pill-row-arrow > .couture-arrow {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  color: var(--couture-accent, #6366f1);
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent);
  font-weight: 700;
  font-size: 14px;
  transition: background 0.2s ease;
}
.couture-card-callout-bordered-pill-row-arrow:hover > .couture-arrow {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-pill-row-arrow,
  .couture-card-callout-bordered-pill-row-arrow > .couture-arrow { transition: none; transform: none; }
}

/* V6.388 #997 - card-feature-soft-tile-row-pair: 2-tile soft horizontal feature pair */
.couture-card-feature-soft-tile-row-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
@media (min-width: 600px) {
  .couture-card-feature-soft-tile-row-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-feature-soft-tile-row-pair > .couture-tile {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-tile-row-pair > .couture-tile > .couture-icon {
  width: 38px; height: 38px;
  border-radius: 11px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 17px;
}
.couture-card-feature-soft-tile-row-pair > .couture-tile > .couture-text > .couture-title {
  font-size: clamp(0.88rem, 1.15vw, 0.96rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 4px;
}
.couture-card-feature-soft-tile-row-pair > .couture-tile > .couture-text > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #998 - card-info-bordered-row-icon-stat-pill: bordered icon+label+pill stat row */
.couture-card-info-bordered-row-icon-stat-pill {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-info-bordered-row-icon-stat-pill > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 16px;
}
.couture-card-info-bordered-row-icon-stat-pill > .couture-label {
  font-size: clamp(0.84rem, 1.08vw, 0.92rem);
  font-weight: 500;
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-row-icon-stat-pill > .couture-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(0.78rem, 1vw, 0.86rem);
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  letter-spacing: -0.005em;
}

/* V6.388 #999 - card-callout-soft-bordered-icon-text: soft bordered with icon+text body */
.couture-card-callout-soft-bordered-icon-text {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-card-callout-soft-bordered-icon-text > .couture-icon {
  width: 40px; height: 40px;
  border-radius: 11px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
}
.couture-card-callout-soft-bordered-icon-text > .couture-text > .couture-title {
  font-size: clamp(0.9rem, 1.15vw, 0.98rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 4px;
  line-height: 1.35;
}
.couture-card-callout-soft-bordered-icon-text > .couture-text > .couture-body {
  font-size: clamp(0.78rem, 1vw, 0.85rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-card-callout-soft-bordered-icon-text > .couture-text > .couture-body > strong {
  font-weight: 600;
  color: var(--couture-fg, #111);
}

/* V6.388 #1000 - 🏛️ MILLENNIUM-MONUMENT-CARD: 1000-component commemorative monument */
.couture-millennium-monument-card {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 14px;
  padding: clamp(28px, 4vw, 40px) clamp(24px, 3.5vw, 36px);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in oklab, #fbbf24 40%, transparent) 0%, transparent 60%),
    linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 88%, var(--couture-accent, #6366f1) 12%), var(--couture-bg, #fff) 70%);
  border: 2px solid color-mix(in oklab, #fbbf24 40%, var(--couture-accent, #6366f1) 60%);
  box-shadow:
    0 0 0 6px color-mix(in oklab, #fbbf24 12%, transparent),
    0 24px 60px -20px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent),
    inset 0 1px 0 color-mix(in oklab, #fff 60%, transparent);
  text-align: center;
  overflow: hidden;
}
.couture-millennium-monument-card::before {
  content: '🏛️';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 56px;
  filter: drop-shadow(0 4px 12px color-mix(in oklab, #fbbf24 50%, transparent));
}
.couture-millennium-monument-card > .couture-eyebrow {
  margin-top: 36px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: color-mix(in oklab, #fbbf24 70%, var(--couture-fg, #111) 30%);
}
.couture-millennium-monument-card > .couture-numeral {
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  font-size: clamp(3.6rem, 7vw, 5rem);
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #fbbf24 0%, var(--couture-accent, #6366f1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 4px 20px color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
.couture-millennium-monument-card > .couture-title {
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--couture-fg, #111);
}
.couture-millennium-monument-card > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.95rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  max-width: 52ch;
  margin: 0 auto;
}
.couture-millennium-monument-card > .couture-laurel {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 4px;
  font-size: 22px;
  filter: drop-shadow(0 2px 8px color-mix(in oklab, #fbbf24 35%, transparent));
}

/* V6.388 #1001 - card-feature-soft-bordered-list-icon: soft bordered checklist with icons */
.couture-card-feature-soft-bordered-list-icon {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-soft-bordered-list-icon > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 8px 0;
}
.couture-card-feature-soft-bordered-list-icon > .couture-row + .couture-row {
  border-top: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-soft-bordered-list-icon > .couture-row > .couture-icon {
  width: 24px; height: 24px;
  border-radius: 7px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.couture-card-feature-soft-bordered-list-icon > .couture-row > .couture-text {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  color: var(--couture-fg, #111);
  line-height: 1.45;
  padding-top: 2px;
}
.couture-card-feature-soft-bordered-list-icon > .couture-row > .couture-text > strong {
  font-weight: 600;
}

/* V6.388 #1002 - card-info-bordered-row-pill-stat-trio: bordered 3-pill stat row */
.couture-card-info-bordered-row-pill-stat-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 560px) {
  .couture-card-info-bordered-row-pill-stat-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-info-bordered-row-pill-stat-trio > .couture-pill {
  display: grid;
  gap: 4px;
  text-align: center;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
}
.couture-card-info-bordered-row-pill-stat-trio > .couture-pill > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  color: var(--couture-accent, #6366f1);
}
.couture-card-info-bordered-row-pill-stat-trio > .couture-pill > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.75rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1003 - card-feature-bordered-soft-grid-quad: bordered 4-cell soft grid */
.couture-card-feature-bordered-soft-grid-quad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-feature-bordered-soft-grid-quad > .couture-cell {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-bordered-soft-grid-quad > .couture-cell > .couture-icon {
  width: 30px; height: 30px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-feature-bordered-soft-grid-quad > .couture-cell > .couture-title {
  font-size: clamp(0.82rem, 1.05vw, 0.9rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-bordered-soft-grid-quad > .couture-cell > .couture-body {
  font-size: clamp(0.72rem, 0.92vw, 0.78rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1004 - card-info-soft-grid-stat-trio: soft 3-stat grid card */
.couture-card-info-soft-grid-stat-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: clamp(16px, 2.2vw, 20px);
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 560px) {
  .couture-card-info-soft-grid-stat-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-info-soft-grid-stat-trio > .couture-stat {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  text-align: center;
}
.couture-card-info-soft-grid-stat-trio > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.1rem, 1.45vw, 1.3rem);
  color: var(--couture-accent, #6366f1);
  letter-spacing: -0.01em;
}
.couture-card-info-soft-grid-stat-trio > .couture-stat > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.75rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* V6.388 #1005 - card-callout-bordered-icon-text-arrow: bordered icon+text+arrow */
.couture-card-callout-bordered-icon-text-arrow {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.couture-card-callout-bordered-icon-text-arrow:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  box-shadow: 0 4px 14px -8px color-mix(in oklab, var(--couture-accent, #6366f1) 40%, transparent);
}
.couture-card-callout-bordered-icon-text-arrow > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 15px;
}
.couture-card-callout-bordered-icon-text-arrow > .couture-text {
  font-size: clamp(0.85rem, 1.1vw, 0.92rem);
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-icon-text-arrow > .couture-text > strong { font-weight: 600; }
.couture-card-callout-bordered-icon-text-arrow > .couture-arrow {
  color: var(--couture-accent, #6366f1);
  font-weight: 700;
  font-size: 16px;
  transition: transform 0.2s ease;
}
.couture-card-callout-bordered-icon-text-arrow:hover > .couture-arrow { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-icon-text-arrow,
  .couture-card-callout-bordered-icon-text-arrow > .couture-arrow { transition: none; transform: none; }
}

/* V6.388 #1006 - card-feature-soft-icon-grid-quad-bordered: bordered soft 4-icon grid */
.couture-card-feature-soft-icon-grid-quad-bordered {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 600px) {
  .couture-card-feature-soft-icon-grid-quad-bordered { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-card-feature-soft-icon-grid-quad-bordered > .couture-cell {
  display: grid;
  gap: 6px;
  text-align: center;
  padding: 12px 10px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-icon-grid-quad-bordered > .couture-cell > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  margin: 0 auto;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 17px;
}
.couture-card-feature-soft-icon-grid-quad-bordered > .couture-cell > .couture-label {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  letter-spacing: -0.005em;
}

/* V6.388 #1007 - card-info-row-bordered-icon-stat-num: bordered icon+name+number row */
.couture-card-info-row-bordered-icon-stat-num {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-info-row-bordered-icon-stat-num > .couture-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent));
  color: var(--couture-accent, #6366f1);
  font-size: 17px;
}
.couture-card-info-row-bordered-icon-stat-num > .couture-name {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 500;
  color: var(--couture-fg, #111);
}
.couture-card-info-row-bordered-icon-stat-num > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  color: var(--couture-fg, #111);
  letter-spacing: -0.015em;
}

/* V6.388 #1008 - card-callout-bordered-soft-icon-pill-text: bordered soft icon+pill+text */
.couture-card-callout-bordered-soft-icon-pill-text {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 97%, var(--couture-accent, #6366f1) 3%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
}
.couture-card-callout-bordered-soft-icon-pill-text > .couture-icon {
  width: 30px; height: 30px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-callout-bordered-soft-icon-pill-text > .couture-pill {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
.couture-card-callout-bordered-soft-icon-pill-text > .couture-text {
  font-size: clamp(0.83rem, 1.05vw, 0.9rem);
  color: var(--couture-fg, #111);
  line-height: 1.4;
}
.couture-card-callout-bordered-soft-icon-pill-text > .couture-text > strong {
  font-weight: 600;
}

/* V6.388 #1009 - card-feature-bordered-row-icon-pair: bordered 2-icon horizontal row */
.couture-card-feature-bordered-row-icon-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 580px) {
  .couture-card-feature-bordered-row-icon-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-row-icon-pair > .couture-cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 13px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-bordered-row-icon-pair > .couture-cell > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 16px;
}
.couture-card-feature-bordered-row-icon-pair > .couture-cell > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 3px;
}
.couture-card-feature-bordered-row-icon-pair > .couture-cell > .couture-text > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1010 - card-info-soft-bordered-row-trio-stat: soft bordered 3-stat row */
.couture-card-info-soft-bordered-row-trio-stat {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  overflow: hidden;
}
@media (min-width: 480px) {
  .couture-card-info-soft-bordered-row-trio-stat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-info-soft-bordered-row-trio-stat > .couture-stat {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  text-align: center;
}
@media (min-width: 480px) {
  .couture-card-info-soft-bordered-row-trio-stat > .couture-stat + .couture-stat {
    border-left: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  }
}
.couture-card-info-soft-bordered-row-trio-stat > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.15rem, 1.6vw, 1.4rem);
  color: var(--couture-accent, #6366f1);
  letter-spacing: -0.015em;
}
.couture-card-info-soft-bordered-row-trio-stat > .couture-stat > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.76rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1011 - card-callout-bordered-arrow-text-icon-pill: bordered pill+text+arrow with leading icon */
.couture-card-callout-bordered-arrow-text-icon-pill {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  transition: border-color 0.2s ease;
}
.couture-card-callout-bordered-arrow-text-icon-pill:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 26%, transparent);
}
.couture-card-callout-bordered-arrow-text-icon-pill > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 13px;
}
.couture-card-callout-bordered-arrow-text-icon-pill > .couture-pill {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-card-callout-bordered-arrow-text-icon-pill > .couture-text {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-arrow-text-icon-pill > .couture-arrow {
  color: var(--couture-accent, #6366f1);
  font-weight: 700;
  font-size: 16px;
  transition: transform 0.2s ease;
}
.couture-card-callout-bordered-arrow-text-icon-pill:hover > .couture-arrow { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-arrow-text-icon-pill,
  .couture-card-callout-bordered-arrow-text-icon-pill > .couture-arrow { transition: none; transform: none; }
}

/* V6.388 #1012 - card-feature-soft-bordered-cell-trio: soft bordered 3-cell feature */
.couture-card-feature-soft-bordered-cell-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 680px) {
  .couture-card-feature-soft-bordered-cell-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-feature-soft-bordered-cell-trio > .couture-cell {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 13px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-bordered-cell-trio > .couture-cell > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 15px;
}
.couture-card-feature-soft-bordered-cell-trio > .couture-cell > .couture-title {
  font-size: clamp(0.85rem, 1.1vw, 0.93rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-soft-bordered-cell-trio > .couture-cell > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1013 - card-info-bordered-num-row-stat-grid: bordered numeric stat grid */
.couture-card-info-bordered-num-row-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: clamp(16px, 2.2vw, 20px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 720px) {
  .couture-card-info-bordered-num-row-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-card-info-bordered-num-row-stat-grid > .couture-stat {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-info-bordered-num-row-stat-grid > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  color: var(--couture-accent, #6366f1);
}
.couture-card-info-bordered-num-row-stat-grid > .couture-stat > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.74rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* V6.388 #1014 - card-callout-soft-bordered-pill-icon-row: soft bordered pill+icon callout row */
.couture-card-callout-soft-bordered-pill-icon-row {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
}
.couture-card-callout-soft-bordered-pill-icon-row > .couture-pill {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-card-callout-soft-bordered-pill-icon-row > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: 13px;
}
.couture-card-callout-soft-bordered-pill-icon-row > .couture-text {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem);
  color: var(--couture-fg, #111);
}
.couture-card-callout-soft-bordered-pill-icon-row > .couture-text > strong { font-weight: 600; }
.couture-card-callout-soft-bordered-pill-icon-row > .couture-link {
  font-weight: 600;
  font-size: clamp(0.78rem, 1vw, 0.84rem);
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
}
.couture-card-callout-soft-bordered-pill-icon-row > .couture-link:hover { text-decoration: underline; }

/* V6.388 #1015 - card-feature-bordered-soft-icon-row-trio: bordered soft 3-icon row feature */
.couture-card-feature-bordered-soft-icon-row-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 660px) {
  .couture-card-feature-bordered-soft-icon-row-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-soft-icon-row-trio > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-bordered-soft-icon-row-trio > .couture-row > .couture-icon {
  width: 30px; height: 30px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: 14px;
}
.couture-card-feature-bordered-soft-icon-row-trio > .couture-row > .couture-label {
  font-size: clamp(0.82rem, 1.05vw, 0.9rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  letter-spacing: -0.005em;
}

/* V6.388 #1016 - card-info-bordered-row-icon-text-pill: bordered icon+text+pill row */
.couture-card-info-bordered-row-icon-text-pill {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-info-bordered-row-icon-text-pill > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 16px;
}
.couture-card-info-bordered-row-icon-text-pill > .couture-text {
  display: grid;
  gap: 2px;
}
.couture-card-info-bordered-row-icon-text-pill > .couture-text > .couture-title {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-row-icon-text-pill > .couture-text > .couture-sub {
  font-size: clamp(0.72rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-card-info-bordered-row-icon-text-pill > .couture-pill {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1017 - card-callout-soft-icon-text-row-pair: soft 2-callout icon+text row */
.couture-card-callout-soft-icon-text-row-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 4px;
}
@media (min-width: 540px) {
  .couture-card-callout-soft-icon-text-row-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-callout-soft-icon-text-row-pair > .couture-cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 13px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-callout-soft-icon-text-row-pair > .couture-cell > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 15px;
}
.couture-card-callout-soft-icon-text-row-pair > .couture-cell > .couture-text {
  font-size: clamp(0.82rem, 1.05vw, 0.9rem);
  color: var(--couture-fg, #111);
  line-height: 1.45;
}
.couture-card-callout-soft-icon-text-row-pair > .couture-cell > .couture-text > strong { font-weight: 600; }

/* V6.388 #1018 - card-feature-soft-list-bordered-icon: soft list with bordered icons */
.couture-card-feature-soft-list-bordered-icon {
  display: grid;
  gap: 8px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-soft-list-bordered-icon > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 11px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-list-bordered-icon > .couture-row > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 13px;
}
.couture-card-feature-soft-list-bordered-icon > .couture-row > .couture-text {
  font-size: clamp(0.82rem, 1.05vw, 0.9rem);
  color: var(--couture-fg, #111);
}
.couture-card-feature-soft-list-bordered-icon > .couture-row > .couture-text > strong { font-weight: 600; }
.couture-card-feature-soft-list-bordered-icon > .couture-row > .couture-check {
  width: 20px; height: 20px;
  border-radius: 6px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

/* V6.388 #1019 - card-info-soft-icon-stat-pair: soft 2-stat pair with icons */
.couture-card-info-soft-icon-stat-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: clamp(14px, 2vw, 18px);
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 480px) {
  .couture-card-info-soft-icon-stat-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-info-soft-icon-stat-pair > .couture-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-info-soft-icon-stat-pair > .couture-stat > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 16px;
}
.couture-card-info-soft-icon-stat-pair > .couture-stat > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.1rem, 1.4vw, 1.25rem);
  color: var(--couture-fg, #111);
  letter-spacing: -0.015em;
}
.couture-card-info-soft-icon-stat-pair > .couture-stat > .couture-text > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.76rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1020 - card-callout-bordered-soft-grid-text-pair: bordered 2-cell text callout */
.couture-card-callout-bordered-soft-grid-text-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: clamp(14px, 2vw, 18px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 540px) {
  .couture-card-callout-bordered-soft-grid-text-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-callout-bordered-soft-grid-text-pair > .couture-cell {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 13px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-callout-bordered-soft-grid-text-pair > .couture-cell > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-card-callout-bordered-soft-grid-text-pair > .couture-cell > .couture-title {
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.couture-card-callout-bordered-soft-grid-text-pair > .couture-cell > .couture-body {
  font-size: clamp(0.78rem, 0.98vw, 0.84rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1021 - card-feature-bordered-grid-tile-quad: bordered 4-tile grid feature */
.couture-card-feature-bordered-grid-tile-quad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 720px) {
  .couture-card-feature-bordered-grid-tile-quad { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-grid-tile-quad > .couture-tile {
  display: grid;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  text-align: center;
}
.couture-card-feature-bordered-grid-tile-quad > .couture-tile > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.5rem, 2.2vw, 1.85rem);
  background: linear-gradient(135deg, var(--couture-accent, #6366f1) 0%, color-mix(in oklab, var(--couture-accent, #6366f1) 60%, var(--couture-fg, #111)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.02em;
}
.couture-card-feature-bordered-grid-tile-quad > .couture-tile > .couture-label {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-bordered-grid-tile-quad > .couture-tile > .couture-sub {
  font-size: clamp(0.7rem, 0.85vw, 0.74rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1022 - card-info-soft-bordered-row-icon-percentage: bordered % progress row */
.couture-card-info-soft-bordered-row-icon-percentage {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-info-soft-bordered-row-icon-percentage > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
}
.couture-card-info-soft-bordered-row-icon-percentage > .couture-head > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-info-soft-bordered-row-icon-percentage > .couture-head > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-info-soft-bordered-row-icon-percentage > .couture-head > .couture-pct {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.25vw, 1.05rem);
  color: var(--couture-accent, #6366f1);
}
.couture-card-info-soft-bordered-row-icon-percentage > .couture-bar {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  overflow: hidden;
}
.couture-card-info-soft-bordered-row-icon-percentage > .couture-bar > .couture-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 80%, var(--couture-fg, #111)));
}

/* V6.388 #1023 - card-callout-bordered-soft-icon-text-link: bordered soft icon+text+link */
.couture-card-callout-bordered-soft-icon-text-link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 97%, var(--couture-accent, #6366f1) 3%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-callout-bordered-soft-icon-text-link > .couture-icon {
  width: 34px; height: 34px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: 15px;
}
.couture-card-callout-bordered-soft-icon-text-link > .couture-text {
  display: grid;
  gap: 2px;
}
.couture-card-callout-bordered-soft-icon-text-link > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-soft-icon-text-link > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-card-callout-bordered-soft-icon-text-link > .couture-link {
  font-weight: 600;
  font-size: clamp(0.78rem, 1vw, 0.84rem);
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  background: var(--couture-bg, #fff);
  transition: background 0.2s ease;
}
.couture-card-callout-bordered-soft-icon-text-link > .couture-link:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, var(--couture-bg, #fff));
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-soft-icon-text-link > .couture-link { transition: none; }
}

/* V6.388 #1024 - card-feature-soft-bordered-icon-text-grid: soft 3-cell icon+text grid feature */
.couture-card-feature-soft-bordered-icon-text-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 660px) {
  .couture-card-feature-soft-bordered-icon-text-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-feature-soft-bordered-icon-text-grid > .couture-cell {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 8px;
  padding: 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-bordered-icon-text-grid > .couture-cell > .couture-icon {
  width: 38px; height: 38px;
  border-radius: 11px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent));
  color: var(--couture-accent, #6366f1);
  font-size: 17px;
}
.couture-card-feature-soft-bordered-icon-text-grid > .couture-cell > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 4px;
}
.couture-card-feature-soft-bordered-icon-text-grid > .couture-cell > .couture-text > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1025 - card-info-bordered-soft-row-icon-trend: bordered with trend arrow */
.couture-card-info-bordered-soft-row-icon-trend {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-info-bordered-soft-row-icon-trend > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 15px;
}
.couture-card-info-bordered-soft-row-icon-trend > .couture-text {
  display: grid; gap: 2px;
}
.couture-card-info-bordered-soft-row-icon-trend > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  color: var(--couture-fg, #111);
  letter-spacing: -0.015em;
}
.couture-card-info-bordered-soft-row-icon-trend > .couture-text > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.76rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.couture-card-info-bordered-soft-row-icon-trend > .couture-trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: clamp(0.78rem, 1vw, 0.86rem);
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, #10b981 12%, transparent);
  color: #059669;
}
.couture-card-info-bordered-soft-row-icon-trend > .couture-trend.couture-down {
  background: color-mix(in oklab, #ef4444 12%, transparent);
  color: #dc2626;
}

/* V6.388 #1026 - card-callout-soft-bordered-icon-pill-trio: 3-pill callout cluster */
.couture-card-callout-soft-bordered-icon-pill-trio {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-callout-soft-bordered-icon-pill-trio > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.couture-card-callout-soft-bordered-icon-pill-trio > .couture-head > .couture-icon {
  width: 30px; height: 30px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-callout-soft-bordered-icon-pill-trio > .couture-head > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-callout-soft-bordered-icon-pill-trio > .couture-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.couture-card-callout-soft-bordered-icon-pill-trio > .couture-pills > .couture-pill {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}

/* V6.388 #1027 - card-feature-bordered-soft-cell-text-pair: bordered 2-cell text feature pair */
.couture-card-feature-bordered-soft-cell-text-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 580px) {
  .couture-card-feature-bordered-soft-cell-text-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-soft-cell-text-pair > .couture-cell {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-radius: 13px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-bordered-soft-cell-text-pair > .couture-cell > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-card-feature-bordered-soft-cell-text-pair > .couture-cell > .couture-title {
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.couture-card-feature-bordered-soft-cell-text-pair > .couture-cell > .couture-body {
  font-size: clamp(0.78rem, 0.98vw, 0.84rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1028 - card-info-soft-row-bordered-trio-text: 3-row text info card */
.couture-card-info-soft-row-bordered-trio-text {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  overflow: hidden;
}
.couture-card-info-soft-row-bordered-trio-text > .couture-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
}
.couture-card-info-soft-row-bordered-trio-text > .couture-row + .couture-row {
  border-top: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-info-soft-row-bordered-trio-text > .couture-row > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  color: var(--couture-fg, #111);
}
.couture-card-info-soft-row-bordered-trio-text > .couture-row > .couture-label > strong { font-weight: 600; }
.couture-card-info-soft-row-bordered-trio-text > .couture-row > .couture-value {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1029 - card-callout-bordered-soft-text-cta: bordered with text+CTA button */
.couture-card-callout-bordered-soft-text-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-callout-bordered-soft-text-cta > .couture-text {
  display: grid;
  gap: 4px;
}
.couture-card-callout-bordered-soft-text-cta > .couture-text > .couture-title {
  font-size: clamp(0.92rem, 1.2vw, 1.02rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  letter-spacing: -0.01em;
}
.couture-card-callout-bordered-soft-text-cta > .couture-text > .couture-sub {
  font-size: clamp(0.78rem, 0.98vw, 0.84rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-card-callout-bordered-soft-text-cta > .couture-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: clamp(0.82rem, 1.05vw, 0.88rem);
  padding: 8px 16px;
  border-radius: 10px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 6px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-card-callout-bordered-soft-text-cta > .couture-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px -4px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-soft-text-cta > .couture-cta { transition: none; transform: none; }
}

/* V6.388 #1030 - card-feature-bordered-icon-row-quad: bordered 4-icon horizontal feature */
.couture-card-feature-bordered-icon-row-quad {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 720px) {
  .couture-card-feature-bordered-icon-row-quad { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-icon-row-quad > .couture-cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-bordered-icon-row-quad > .couture-cell > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 13px;
}
.couture-card-feature-bordered-icon-row-quad > .couture-cell > .couture-label {
  font-size: clamp(0.78rem, 1vw, 0.85rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}

/* V6.388 #1031 - card-info-soft-bordered-stat-icon-row: soft icon+label+stat */
.couture-card-info-soft-bordered-stat-icon-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-info-soft-bordered-stat-icon-row > .couture-icon {
  width: 38px; height: 38px;
  border-radius: 11px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff;
  font-size: 17px;
  box-shadow: 0 2px 8px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-card-info-soft-bordered-stat-icon-row > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 500;
  color: var(--couture-fg, #111);
}
.couture-card-info-soft-bordered-stat-icon-row > .couture-stat {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  color: var(--couture-accent, #6366f1);
  letter-spacing: -0.015em;
}

/* V6.388 #1032 - card-callout-bordered-soft-text-arrow-icon: bordered text+arrow */
.couture-card-callout-bordered-soft-text-arrow-icon {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-card-callout-bordered-soft-text-arrow-icon:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  transform: translateY(-1px);
}
.couture-card-callout-bordered-soft-text-arrow-icon > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 14px;
}
.couture-card-callout-bordered-soft-text-arrow-icon > .couture-text {
  display: grid;
  gap: 2px;
}
.couture-card-callout-bordered-soft-text-arrow-icon > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-soft-text-arrow-icon > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-card-callout-bordered-soft-text-arrow-icon > .couture-arrow {
  width: 26px; height: 26px;
  border-radius: 7px;
  display: grid; place-items: center;
  color: var(--couture-accent, #6366f1);
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent);
  font-weight: 700;
  font-size: 13px;
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-card-callout-bordered-soft-text-arrow-icon:hover > .couture-arrow {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-soft-text-arrow-icon,
  .couture-card-callout-bordered-soft-text-arrow-icon > .couture-arrow { transition: none; transform: none; }
}

/* V6.388 #1033 - card-feature-soft-bordered-cell-icon-pair: soft 2-cell icon feature */
.couture-card-feature-soft-bordered-cell-icon-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 600px) {
  .couture-card-feature-soft-bordered-cell-icon-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-feature-soft-bordered-cell-icon-pair > .couture-cell {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 13px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-bordered-cell-icon-pair > .couture-cell > .couture-icon {
  width: 40px; height: 40px;
  border-radius: 11px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 18px;
}
.couture-card-feature-soft-bordered-cell-icon-pair > .couture-cell > .couture-title {
  font-size: clamp(0.92rem, 1.18vw, 1rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  letter-spacing: -0.005em;
}
.couture-card-feature-soft-bordered-cell-icon-pair > .couture-cell > .couture-body {
  font-size: clamp(0.78rem, 0.98vw, 0.84rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1034 - card-info-bordered-row-icon-stat-arrow: bordered stat with arrow indicator */
.couture-card-info-bordered-row-icon-stat-arrow {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-info-bordered-row-icon-stat-arrow > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 16px;
}
.couture-card-info-bordered-row-icon-stat-arrow > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 500;
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-row-icon-stat-arrow > .couture-stat {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-row-icon-stat-arrow > .couture-arrow {
  font-size: 16px;
  font-weight: 700;
  color: #059669;
}
.couture-card-info-bordered-row-icon-stat-arrow > .couture-arrow.couture-down { color: #dc2626; }

/* V6.388 #1035 - card-callout-soft-bordered-grid-icon-pair: soft 2-cell icon callout grid */
.couture-card-callout-soft-bordered-grid-icon-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 4px;
}
@media (min-width: 540px) {
  .couture-card-callout-soft-bordered-grid-icon-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-callout-soft-bordered-grid-icon-pair > .couture-cell {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 13px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-callout-soft-bordered-grid-icon-pair > .couture-cell > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
}
.couture-card-callout-soft-bordered-grid-icon-pair > .couture-cell > .couture-head > .couture-icon {
  width: 30px; height: 30px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-callout-soft-bordered-grid-icon-pair > .couture-cell > .couture-head > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-callout-soft-bordered-grid-icon-pair > .couture-cell > .couture-body {
  font-size: clamp(0.76rem, 0.95vw, 0.82rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1036 - card-feature-soft-bordered-row-trio-text: 3-row text feature card */
.couture-card-feature-soft-bordered-row-trio-text {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-soft-bordered-row-trio-text > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-bordered-row-trio-text > .couture-row > .couture-num {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-soft-bordered-row-trio-text > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 3px;
}
.couture-card-feature-soft-bordered-row-trio-text > .couture-row > .couture-text > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1037 - card-info-bordered-soft-row-pill-stat-pair: 2-pill stat card */
.couture-card-info-bordered-soft-row-pill-stat-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: clamp(14px, 2vw, 18px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 480px) {
  .couture-card-info-bordered-soft-row-pill-stat-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-info-bordered-soft-row-pill-stat-pair > .couture-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-info-bordered-soft-row-pill-stat-pair > .couture-stat > .couture-pill {
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-card-info-bordered-soft-row-pill-stat-pair > .couture-stat > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.25vw, 1.05rem);
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-soft-row-pill-stat-pair > .couture-stat > .couture-text > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.75rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* V6.388 #1038 - card-callout-bordered-soft-grid-text-trio: 3-cell text callout grid */
.couture-card-callout-bordered-soft-grid-text-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 4px;
}
@media (min-width: 660px) {
  .couture-card-callout-bordered-soft-grid-text-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-callout-bordered-soft-grid-text-trio > .couture-cell {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 13px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-callout-bordered-soft-grid-text-trio > .couture-cell > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-card-callout-bordered-soft-grid-text-trio > .couture-cell > .couture-title {
  font-size: clamp(0.92rem, 1.18vw, 1rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  letter-spacing: -0.005em;
  line-height: 1.3;
}
.couture-card-callout-bordered-soft-grid-text-trio > .couture-cell > .couture-body {
  font-size: clamp(0.76rem, 0.95vw, 0.82rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1039 - card-feature-bordered-soft-icon-row-pair: 2-cell icon row pair */
.couture-card-feature-bordered-soft-icon-row-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 600px) {
  .couture-card-feature-bordered-soft-icon-row-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-soft-icon-row-pair > .couture-cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-bordered-soft-icon-row-pair > .couture-cell > .couture-icon {
  width: 34px; height: 34px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 15px;
}
.couture-card-feature-bordered-soft-icon-row-pair > .couture-cell > .couture-text > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-bordered-soft-icon-row-pair > .couture-cell > .couture-text > .couture-sub {
  font-size: clamp(0.72rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1040 - card-info-soft-bordered-row-num-text-stat: numbered+text+stat row */
.couture-card-info-soft-bordered-row-num-text-stat {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-info-soft-bordered-row-num-text-stat > .couture-num {
  width: 32px; height: 32px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-card-info-soft-bordered-row-num-text-stat > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-info-soft-bordered-row-num-text-stat > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-card-info-soft-bordered-row-num-text-stat > .couture-stat {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1041 - card-callout-bordered-soft-icon-text-pill-trio: icon+text+3 pills */
.couture-card-callout-bordered-soft-icon-text-pill-trio {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-callout-bordered-soft-icon-text-pill-trio > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.couture-card-callout-bordered-soft-icon-text-pill-trio > .couture-head > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 14px;
}
.couture-card-callout-bordered-soft-icon-text-pill-trio > .couture-head > .couture-title {
  font-size: clamp(0.88rem, 1.12vw, 0.96rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-soft-icon-text-pill-trio > .couture-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 4px;
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-callout-bordered-soft-icon-text-pill-trio > .couture-pills > .couture-pill {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1042 - card-feature-soft-list-bordered-num: numbered checklist soft */
.couture-card-feature-soft-list-bordered-num {
  display: grid;
  gap: 8px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-soft-list-bordered-num > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 10px 12px;
  border-radius: 11px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-list-bordered-num > .couture-row > .couture-num {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-card-feature-soft-list-bordered-num > .couture-row > .couture-text {
  font-size: clamp(0.82rem, 1.05vw, 0.9rem);
  color: var(--couture-fg, #111);
  line-height: 1.45;
  padding-top: 4px;
}
.couture-card-feature-soft-list-bordered-num > .couture-row > .couture-text > strong { font-weight: 600; }

/* V6.388 #1043 - card-info-bordered-row-trio-icon-stat: 3-item icon+stat row */
.couture-card-info-bordered-row-trio-icon-stat {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: clamp(14px, 2vw, 18px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 540px) {
  .couture-card-info-bordered-row-trio-icon-stat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-info-bordered-row-trio-icon-stat > .couture-cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-info-bordered-row-trio-icon-stat > .couture-cell > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 13px;
}
.couture-card-info-bordered-row-trio-icon-stat > .couture-cell > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(0.92rem, 1.18vw, 1.02rem);
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-row-trio-icon-stat > .couture-cell > .couture-text > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.74rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* V6.388 #1044 - card-callout-soft-bordered-row-icon-pair-text: 2-icon+text */
.couture-card-callout-soft-bordered-row-icon-pair-text {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-callout-soft-bordered-row-icon-pair-text > .couture-icon-primary {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 16px;
}
.couture-card-callout-soft-bordered-row-icon-pair-text > .couture-icon-secondary {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: 13px;
}
.couture-card-callout-soft-bordered-row-icon-pair-text > .couture-text {
  font-size: clamp(0.85rem, 1.08vw, 0.92rem);
  color: var(--couture-fg, #111);
  line-height: 1.4;
}
.couture-card-callout-soft-bordered-row-icon-pair-text > .couture-text > strong { font-weight: 600; }

/* V6.388 #1045 - card-feature-bordered-soft-grid-icon-trio: 3-cell icon feature grid */
.couture-card-feature-bordered-soft-grid-icon-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 660px) {
  .couture-card-feature-bordered-soft-grid-icon-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-soft-grid-icon-trio > .couture-cell {
  display: grid;
  gap: 8px;
  text-align: center;
  padding: 16px 12px;
  border-radius: 13px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-bordered-soft-grid-icon-trio > .couture-cell > .couture-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: grid; place-items: center;
  margin: 0 auto;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff;
  font-size: 20px;
  box-shadow: 0 3px 10px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-card-feature-bordered-soft-grid-icon-trio > .couture-cell > .couture-title {
  font-size: clamp(0.88rem, 1.13vw, 0.96rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-bordered-soft-grid-icon-trio > .couture-cell > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1046 - card-info-soft-bordered-row-arrow-text-stat: text+arrow+stat */
.couture-card-info-soft-bordered-row-arrow-text-stat {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-info-soft-bordered-row-arrow-text-stat > .couture-text > .couture-title {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-info-soft-bordered-row-arrow-text-stat > .couture-text > .couture-sub {
  font-size: clamp(0.72rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-card-info-soft-bordered-row-arrow-text-stat > .couture-arrow {
  font-size: 14px;
  font-weight: 700;
  color: #059669;
}
.couture-card-info-soft-bordered-row-arrow-text-stat > .couture-arrow.couture-down { color: #dc2626; }
.couture-card-info-soft-bordered-row-arrow-text-stat > .couture-stat {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1047 - card-callout-bordered-soft-text-icon-cta: text+icon+CTA */
.couture-card-callout-bordered-soft-text-icon-cta {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-callout-bordered-soft-text-icon-cta > .couture-icon {
  width: 38px; height: 38px;
  border-radius: 11px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 17px;
}
.couture-card-callout-bordered-soft-text-icon-cta > .couture-text > .couture-title {
  font-size: clamp(0.9rem, 1.15vw, 0.98rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  letter-spacing: -0.005em;
}
.couture-card-callout-bordered-soft-text-icon-cta > .couture-text > .couture-sub {
  font-size: clamp(0.76rem, 0.95vw, 0.82rem);
  line-height: 1.4;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-card-callout-bordered-soft-text-icon-cta > .couture-cta {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(0.8rem, 1.02vw, 0.86rem);
  padding: 7px 14px;
  border-radius: 9px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-card-callout-bordered-soft-text-icon-cta > .couture-cta:hover {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-soft-text-icon-cta > .couture-cta { transition: none; }
}

/* V6.388 #1048 - card-feature-bordered-soft-row-icon-text-trio: 3-row icon+text */
.couture-card-feature-bordered-soft-row-icon-text-trio {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-feature-bordered-soft-row-icon-text-trio > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-bordered-soft-row-icon-text-trio > .couture-row > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-feature-bordered-soft-row-icon-text-trio > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 3px;
}
.couture-card-feature-bordered-soft-row-icon-text-trio > .couture-row > .couture-text > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1049 - card-info-bordered-soft-grid-stat-quad: 4-cell stat grid */
.couture-card-info-bordered-soft-grid-stat-quad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: clamp(16px, 2.2vw, 20px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 720px) {
  .couture-card-info-bordered-soft-grid-stat-quad { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-card-info-bordered-soft-grid-stat-quad > .couture-stat {
  display: grid;
  gap: 4px;
  text-align: center;
  padding: 12px 10px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-info-bordered-soft-grid-stat-quad > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.2rem, 1.6vw, 1.4rem);
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.02em;
}
.couture-card-info-bordered-soft-grid-stat-quad > .couture-stat > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.74rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1050 - 💎 SAPPHIRE-CROWN-CARD: 1050-component diamond commemorative */
.couture-sapphire-crown-card {
  position: relative;
  display: grid;
  gap: 12px;
  padding: clamp(28px, 4vw, 38px) clamp(24px, 3.5vw, 34px) clamp(24px, 3vw, 30px);
  border-radius: 22px;
  background:
    radial-gradient(ellipse at 50% 0%, color-mix(in oklab, #38bdf8 35%, transparent) 0%, transparent 65%),
    linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 88%, #38bdf8 12%), var(--couture-bg, #fff) 70%);
  border: 2px solid color-mix(in oklab, #38bdf8 50%, var(--couture-accent, #6366f1) 50%);
  box-shadow:
    0 0 0 5px color-mix(in oklab, #38bdf8 14%, transparent),
    0 22px 50px -18px color-mix(in oklab, var(--couture-fg, #111) 28%, transparent);
  text-align: center;
  overflow: hidden;
}
.couture-sapphire-crown-card::before {
  content: '💎';
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 50px;
  filter: drop-shadow(0 4px 14px color-mix(in oklab, #38bdf8 60%, transparent));
}
.couture-sapphire-crown-card > .couture-eyebrow {
  margin-top: 32px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: color-mix(in oklab, #0284c7 80%, var(--couture-fg, #111));
}
.couture-sapphire-crown-card > .couture-numeral {
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  font-size: clamp(3rem, 6vw, 4.4rem);
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #38bdf8 0%, var(--couture-accent, #6366f1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.couture-sapphire-crown-card > .couture-title {
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-sapphire-crown-card > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.93rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  max-width: 50ch;
  margin: 0 auto;
}
.couture-sapphire-crown-card > .couture-gems {
  display: flex;
  justify-content: center;
  gap: 14px;
  font-size: 18px;
  filter: drop-shadow(0 2px 6px color-mix(in oklab, #38bdf8 40%, transparent));
}

/* V6.388 #1051 - card-feature-soft-bordered-grid-cell-quad: 4-cell soft cell grid */
.couture-card-feature-soft-bordered-grid-cell-quad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-soft-bordered-grid-cell-quad > .couture-cell {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 6px;
  padding: 14px;
  border-radius: 13px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-card-feature-soft-bordered-grid-cell-quad > .couture-cell > .couture-eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-card-feature-soft-bordered-grid-cell-quad > .couture-cell > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-soft-bordered-grid-cell-quad > .couture-cell > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1052 - card-info-bordered-soft-row-icon-pair-stat: dual icon+stat row */
.couture-card-info-bordered-soft-row-icon-pair-stat {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
@media (min-width: 480px) {
  .couture-card-info-bordered-soft-row-icon-pair-stat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-card-info-bordered-soft-row-icon-pair-stat > .couture-cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
}
@media (min-width: 480px) {
  .couture-card-info-bordered-soft-row-icon-pair-stat > .couture-cell + .couture-cell {
    border-left: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  }
}
.couture-card-info-bordered-soft-row-icon-pair-stat > .couture-cell > .couture-icon {
  width: 34px; height: 34px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 15px;
}
.couture-card-info-bordered-soft-row-icon-pair-stat > .couture-cell > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-soft-row-icon-pair-stat > .couture-cell > .couture-text > .couture-label {
  font-size: clamp(0.7rem, 0.85vw, 0.74rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1053 - card-callout-bordered-soft-text-icon-link-row: text+icon+link */
.couture-card-callout-bordered-soft-text-icon-link-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 97%, var(--couture-accent, #6366f1) 3%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  transition: background 0.2s ease;
}
.couture-card-callout-bordered-soft-text-icon-link-row:hover {
  background: color-mix(in oklab, var(--couture-bg, #fff) 93%, var(--couture-accent, #6366f1) 7%);
}
.couture-card-callout-bordered-soft-text-icon-link-row > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-callout-bordered-soft-text-icon-link-row > .couture-text {
  font-size: clamp(0.85rem, 1.08vw, 0.92rem);
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-soft-text-icon-link-row > .couture-text > strong { font-weight: 600; }
.couture-card-callout-bordered-soft-text-icon-link-row > .couture-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  font-size: clamp(0.78rem, 1vw, 0.84rem);
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
  transition: gap 0.2s ease;
}
.couture-card-callout-bordered-soft-text-icon-link-row > .couture-link:hover { gap: 7px; }
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-soft-text-icon-link-row,
  .couture-card-callout-bordered-soft-text-icon-link-row > .couture-link { transition: none; }
}

/* V6.388 #1054 - card-feature-bordered-soft-icon-text-row-pair: 2-row icon+text */
.couture-card-feature-bordered-soft-icon-text-row-pair {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-feature-bordered-soft-icon-text-row-pair > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-card-feature-bordered-soft-icon-text-row-pair > .couture-row > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 16px;
}
.couture-card-feature-bordered-soft-icon-text-row-pair > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 3px;
}
.couture-card-feature-bordered-soft-icon-text-row-pair > .couture-row > .couture-text > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-card-feature-bordered-soft-icon-text-row-pair > .couture-row > .couture-arrow {
  color: var(--couture-accent, #6366f1);
  font-weight: 700;
  font-size: 14px;
}

/* V6.388 #1055 - card-info-soft-bordered-row-stat-pill-icon: stat+pill+icon row */
.couture-card-info-soft-bordered-row-stat-pill-icon {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-info-soft-bordered-row-stat-pill-icon > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(1.1rem, 1.45vw, 1.25rem);
  color: var(--couture-fg, #111);
  letter-spacing: -0.015em;
}
.couture-card-info-soft-bordered-row-stat-pill-icon > .couture-text > .couture-label {
  font-size: clamp(0.72rem, 0.88vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-card-info-soft-bordered-row-stat-pill-icon > .couture-pill {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-card-info-soft-bordered-row-stat-pill-icon > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: 14px;
}

/* V6.388 #1056 - card-callout-bordered-soft-row-text-pair-cta: 2-text+CTA */
.couture-card-callout-bordered-soft-row-text-pair-cta {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (max-width: 540px) {
  .couture-card-callout-bordered-soft-row-text-pair-cta { grid-template-columns: 1fr; }
}
.couture-card-callout-bordered-soft-row-text-pair-cta > .couture-text {
  display: grid;
  gap: 2px;
}
.couture-card-callout-bordered-soft-row-text-pair-cta > .couture-text > .couture-eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-card-callout-bordered-soft-row-text-pair-cta > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-callout-bordered-soft-row-text-pair-cta > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-card-callout-bordered-soft-row-text-pair-cta > .couture-cta {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(0.8rem, 1.02vw, 0.86rem);
  padding: 8px 16px;
  border-radius: 9px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 6px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-card-callout-bordered-soft-row-text-pair-cta > .couture-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px -4px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-card-callout-bordered-soft-row-text-pair-cta > .couture-cta { transition: none; transform: none; }
}

/* V6.388 #1057 - card-feature-bordered-soft-cell-icon-quad: 4-cell icon feature */
.couture-card-feature-bordered-soft-cell-icon-quad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 720px) {
  .couture-card-feature-bordered-soft-cell-icon-quad { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-card-feature-bordered-soft-cell-icon-quad > .couture-cell {
  display: grid;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-feature-bordered-soft-cell-icon-quad > .couture-cell > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 16px;
}
.couture-card-feature-bordered-soft-cell-icon-quad > .couture-cell > .couture-text > .couture-title {
  font-size: clamp(0.8rem, 1.05vw, 0.88rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-feature-bordered-soft-cell-icon-quad > .couture-cell > .couture-text > .couture-sub {
  font-size: clamp(0.7rem, 0.88vw, 0.76rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1058 - card-info-bordered-row-soft-icon-bar-stat: progress bar info row */
.couture-card-info-bordered-row-soft-icon-bar-stat {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-card-info-bordered-row-soft-icon-bar-stat > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
}
.couture-card-info-bordered-row-soft-icon-bar-stat > .couture-head > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 14px;
}
.couture-card-info-bordered-row-soft-icon-bar-stat > .couture-head > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-card-info-bordered-row-soft-icon-bar-stat > .couture-head > .couture-stat {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: clamp(0.92rem, 1.18vw, 1.02rem);
  color: var(--couture-accent, #6366f1);
}
.couture-card-info-bordered-row-soft-icon-bar-stat > .couture-bar {
  height: 5px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  overflow: hidden;
}
.couture-card-info-bordered-row-soft-icon-bar-stat > .couture-bar > .couture-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--couture-accent, #6366f1);
}

/* V6.388 #1059 - card-callout-soft-bordered-icon-text-pill-row: icon+text+pill */
.couture-card-callout-soft-bordered-icon-text-pill-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-card-callout-soft-bordered-icon-text-pill-row > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}
.couture-card-callout-soft-bordered-icon-text-pill-row > .couture-text {
  font-size: clamp(0.85rem, 1.08vw, 0.92rem);
  color: var(--couture-fg, #111);
}
.couture-card-callout-soft-bordered-icon-text-pill-row > .couture-text > strong { font-weight: 600; }
.couture-card-callout-soft-bordered-icon-text-pill-row > .couture-pill {
  display: inline-flex;
  align-items: center;
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}

/* V6.388 #1060 - hero-split-asym-image: asymmetric split hero with image right */
.couture-hero-split-asym-image {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 60px);
  align-items: center;
  border-radius: 28px;
  background: linear-gradient(140deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff) 70%);
  overflow: hidden;
  position: relative;
}
@media (min-width: 860px) {
  .couture-hero-split-asym-image { grid-template-columns: 1.2fr 1fr; }
}
.couture-hero-split-asym-image::before {
  content: "";
  position: absolute;
  top: -120px; right: -120px;
  width: 360px; height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent), transparent 65%);
  pointer-events: none;
}
.couture-hero-split-asym-image > .couture-content > .couture-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 5px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  margin-bottom: 18px;
}
.couture-hero-split-asym-image > .couture-content > .couture-title {
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: var(--couture-fg, #111);
  margin-bottom: 18px;
}
.couture-hero-split-asym-image > .couture-content > .couture-subtitle {
  font-size: clamp(0.96rem, 1.3vw, 1.1rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  margin-bottom: 28px;
  max-width: 56ch;
}
.couture-hero-split-asym-image > .couture-content > .couture-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.couture-hero-split-asym-image > .couture-image {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 22px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 24%, transparent);
  box-shadow: 0 32px 60px -28px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
  overflow: hidden;
}
.couture-hero-split-asym-image > .couture-image > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* V6.388 #1061 - hero-center-stacked-pill-action: centered hero with pill+actions */
.couture-hero-center-stacked-pill-action {
  display: grid;
  gap: 18px;
  padding: clamp(48px, 8vw, 96px) clamp(20px, 4vw, 60px);
  text-align: center;
  border-radius: 28px;
  background: radial-gradient(ellipse at 50% 0%, color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent) 0%, transparent 65%), var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-hero-center-stacked-pill-action > .couture-pill {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  box-shadow: 0 2px 8px -2px color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-hero-center-stacked-pill-action > .couture-title {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.04;
  max-width: 22ch;
  margin: 0 auto;
  color: var(--couture-fg, #111);
}
.couture-hero-center-stacked-pill-action > .couture-subtitle {
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  max-width: 56ch;
  margin: 0 auto;
}
.couture-hero-center-stacked-pill-action > .couture-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

/* V6.388 #1062 - sect-banner-bordered-cta-strip: bordered cta strip banner */
.couture-sect-banner-bordered-cta-strip {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: clamp(20px, 3vw, 32px) clamp(20px, 3.5vw, 40px);
  border-radius: 20px;
  background: linear-gradient(110deg, color-mix(in oklab, var(--couture-accent, #6366f1) 92%, #fff 8%), var(--couture-accent, #6366f1));
  color: #fff;
  position: relative;
  overflow: hidden;
}
@media (max-width: 640px) {
  .couture-sect-banner-bordered-cta-strip { grid-template-columns: 1fr; }
}
.couture-sect-banner-bordered-cta-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 90% 50%, color-mix(in oklab, #fff 18%, transparent), transparent 50%);
  pointer-events: none;
}
.couture-sect-banner-bordered-cta-strip > .couture-text {
  position: relative;
  z-index: 1;
}
.couture-sect-banner-bordered-cta-strip > .couture-text > .couture-title {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  margin-bottom: 4px;
}
.couture-sect-banner-bordered-cta-strip > .couture-text > .couture-sub {
  font-size: clamp(0.9rem, 1.1vw, 1rem);
  line-height: 1.5;
  color: color-mix(in oklab, #fff 85%, transparent);
}
.couture-sect-banner-bordered-cta-strip > .couture-cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 10px 20px;
  border-radius: 10px;
  background: #fff;
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
  transition: transform 0.2s ease;
}
.couture-sect-banner-bordered-cta-strip > .couture-cta:hover { transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce) {
  .couture-sect-banner-bordered-cta-strip > .couture-cta { transition: none; transform: none; }
}

/* V6.388 #1063 - sect-marquee-soft-pillrow: scrolling pill marquee section */
.couture-sect-marquee-soft-pillrow {
  display: grid;
  gap: 16px;
  padding: clamp(24px, 4vw, 36px) 0;
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  overflow: hidden;
  position: relative;
}
.couture-sect-marquee-soft-pillrow > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-align: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-sect-marquee-soft-pillrow > .couture-track {
  display: flex;
  gap: 16px;
  animation: couture-marquee-1063 38s linear infinite;
  width: max-content;
}
.couture-sect-marquee-soft-pillrow > .couture-track > .couture-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(0.85rem, 1.05vw, 0.95rem);
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  white-space: nowrap;
}
@keyframes couture-marquee-1063 {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-sect-marquee-soft-pillrow > .couture-track { animation: none; }
}

/* V6.388 #1064 - footer-bordered-grid-quad-text: 4-column footer grid */
.couture-footer-bordered-grid-quad-text {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  padding: clamp(40px, 6vw, 64px) clamp(20px, 4vw, 48px);
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}
@media (min-width: 720px) {
  .couture-footer-bordered-grid-quad-text { grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); }
}
.couture-footer-bordered-grid-quad-text > .couture-brand > .couture-logo {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--couture-fg, #111);
  margin-bottom: 12px;
}
.couture-footer-bordered-grid-quad-text > .couture-brand > .couture-tag {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  max-width: 36ch;
}
.couture-footer-bordered-grid-quad-text > .couture-col > .couture-head {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  margin-bottom: 14px;
}
.couture-footer-bordered-grid-quad-text > .couture-col > .couture-list {
  display: grid;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-footer-bordered-grid-quad-text > .couture-col > .couture-list > li > a {
  font-size: clamp(0.84rem, 1.05vw, 0.92rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
  text-decoration: none;
  transition: color 0.2s ease;
}
.couture-footer-bordered-grid-quad-text > .couture-col > .couture-list > li > a:hover {
  color: var(--couture-accent, #6366f1);
}
@media (prefers-reduced-motion: reduce) {
  .couture-footer-bordered-grid-quad-text > .couture-col > .couture-list > li > a { transition: none; }
}

/* V6.388 #1065 - form-stacked-bordered-input: stacked form with bordered inputs */
.couture-form-stacked-bordered-input {
  display: grid;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-form-stacked-bordered-input > .couture-field {
  display: grid;
  gap: 6px;
}
.couture-form-stacked-bordered-input > .couture-field > .couture-label {
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-form-stacked-bordered-input > .couture-field > .couture-input,
.couture-form-stacked-bordered-input > .couture-field > .couture-textarea,
.couture-form-stacked-bordered-input > .couture-field > .couture-select {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 97%, var(--couture-accent, #6366f1) 3%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  width: 100%;
}
.couture-form-stacked-bordered-input > .couture-field > .couture-textarea {
  min-height: 100px;
  resize: vertical;
  font-family: inherit;
  line-height: 1.5;
}
.couture-form-stacked-bordered-input > .couture-field > .couture-input:focus,
.couture-form-stacked-bordered-input > .couture-field > .couture-textarea:focus,
.couture-form-stacked-bordered-input > .couture-field > .couture-select:focus {
  border-color: var(--couture-accent, #6366f1);
  background: var(--couture-bg, #fff);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-form-stacked-bordered-input > .couture-submit {
  font-weight: 600;
  font-size: clamp(0.9rem, 1.1vw, 0.96rem);
  padding: 11px 22px;
  border-radius: 10px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border: 0;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 3px 10px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-form-stacked-bordered-input > .couture-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px -4px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-form-stacked-bordered-input > .couture-submit { transition: none; transform: none; }
}

/* V6.388 #1066 - timeline-vertical-bordered-soft: vertical timeline track */
.couture-timeline-vertical-bordered-soft {
  display: grid;
  gap: 16px;
  padding: clamp(20px, 3vw, 28px) clamp(16px, 2.5vw, 24px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-timeline-vertical-bordered-soft > .couture-item {
  position: relative;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  padding-bottom: 16px;
}
.couture-timeline-vertical-bordered-soft > .couture-item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 17px; top: 36px; bottom: 0;
  width: 2px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
.couture-timeline-vertical-bordered-soft > .couture-item > .couture-marker {
  position: relative;
  z-index: 1;
  width: 36px; height: 36px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 2px solid var(--couture-accent, #6366f1);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-timeline-vertical-bordered-soft > .couture-item > .couture-content > .couture-time {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
  margin-bottom: 4px;
}
.couture-timeline-vertical-bordered-soft > .couture-item > .couture-content > .couture-title {
  font-size: clamp(0.9rem, 1.15vw, 0.98rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 4px;
}
.couture-timeline-vertical-bordered-soft > .couture-item > .couture-content > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1067 - badge-cluster-soft-bordered: cluster of soft bordered badges */
.couture-badge-cluster-soft-bordered {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
}
.couture-badge-cluster-soft-bordered > .couture-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
}
.couture-badge-cluster-soft-bordered > .couture-badge > .couture-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
}

/* V6.388 #1068 - tablist-bordered-pill-row: pill-style tab list */
.couture-tablist-bordered-pill-row {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-tablist-bordered-pill-row > .couture-tab {
  font-size: clamp(0.8rem, 1.02vw, 0.86rem);
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 9px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 0;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-tablist-bordered-pill-row > .couture-tab:hover {
  color: var(--couture-fg, #111);
}
.couture-tablist-bordered-pill-row > .couture-tab.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  box-shadow: 0 1px 3px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-tablist-bordered-pill-row > .couture-tab { transition: none; }
}

/* V6.388 #1069 - accordion-soft-bordered-row: collapsible soft accordion */
.couture-accordion-soft-bordered-row {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-accordion-soft-bordered-row > .couture-item {
  display: grid;
  gap: 0;
}
.couture-accordion-soft-bordered-row > .couture-item + .couture-item {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-accordion-soft-bordered-row > .couture-item > summary,
.couture-accordion-soft-bordered-row > .couture-item > .couture-trigger {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  cursor: pointer;
  list-style: none;
}
.couture-accordion-soft-bordered-row > .couture-item > summary::-webkit-details-marker { display: none; }
.couture-accordion-soft-bordered-row > .couture-item > summary::after,
.couture-accordion-soft-bordered-row > .couture-item > .couture-trigger::after {
  content: "+";
  font-size: 20px;
  font-weight: 400;
  color: var(--couture-accent, #6366f1);
  transition: transform 0.2s ease;
}
.couture-accordion-soft-bordered-row > .couture-item[open] > summary::after { transform: rotate(45deg); }
.couture-accordion-soft-bordered-row > .couture-item > .couture-body {
  padding: 0 18px 14px;
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-accordion-soft-bordered-row > .couture-item > summary::after,
  .couture-accordion-soft-bordered-row > .couture-item > .couture-trigger::after { transition: none; }
}

/* V6.388 #1070 - testimonial-bordered-soft-quote: bordered testimonial card */
.couture-testimonial-bordered-soft-quote {
  position: relative;
  display: grid;
  gap: 18px;
  padding: clamp(22px, 3vw, 30px);
  border-radius: 18px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-testimonial-bordered-soft-quote::before {
  content: "\201C";
  position: absolute;
  top: 4px; left: 18px;
  font-size: 80px;
  font-family: Georgia, serif;
  line-height: 1;
  color: color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-testimonial-bordered-soft-quote > .couture-quote {
  position: relative;
  z-index: 1;
  font-size: clamp(0.95rem, 1.25vw, 1.1rem);
  line-height: 1.55;
  color: var(--couture-fg, #111);
  font-style: italic;
}
.couture-testimonial-bordered-soft-quote > .couture-author {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.couture-testimonial-bordered-soft-quote > .couture-author > .couture-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  display: grid; place-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
}
.couture-testimonial-bordered-soft-quote > .couture-author > .couture-meta > .couture-name {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-testimonial-bordered-soft-quote > .couture-author > .couture-meta > .couture-role {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1071 - pricing-table-bordered-trio-soft: 3-tier pricing grid */
.couture-pricing-table-bordered-trio-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  padding: 4px;
}
@media (min-width: 760px) {
  .couture-pricing-table-bordered-trio-soft { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-pricing-table-bordered-trio-soft > .couture-tier {
  display: grid;
  gap: 14px;
  padding: clamp(22px, 3vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-pricing-table-bordered-trio-soft > .couture-tier.couture-featured {
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff));
  border: 2px solid color-mix(in oklab, var(--couture-accent, #6366f1) 35%, transparent);
  box-shadow: 0 16px 40px -16px color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-name {
  font-size: clamp(0.86rem, 1.1vw, 0.94rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-price {
  font-size: clamp(2.2rem, 3.6vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--couture-fg, #111);
  font-variant-numeric: tabular-nums;
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-price > .couture-period {
  font-size: 0.45em;
  font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-features {
  display: grid;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-features > li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  color: var(--couture-fg, #111);
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-features > li::before {
  content: "\2713";
  width: 18px; height: 18px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 11px 18px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  text-decoration: none;
  margin-top: 4px;
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-cta:hover {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-pricing-table-bordered-trio-soft > .couture-tier.couture-featured > .couture-cta {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-pricing-table-bordered-trio-soft > .couture-tier.couture-featured > .couture-cta:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 90%, var(--couture-fg, #111) 10%);
}
@media (prefers-reduced-motion: reduce) {
  .couture-pricing-table-bordered-trio-soft > .couture-tier > .couture-cta { transition: none; }
}

/* V6.388 #1072 - nav-bar-bordered-soft-pill: top-nav with logo+links+cta */
.couture-nav-bar-bordered-soft-pill {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 12px clamp(16px, 3vw, 28px);
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  backdrop-filter: blur(12px);
}
.couture-nav-bar-bordered-soft-pill > .couture-logo {
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-nav-bar-bordered-soft-pill > .couture-links {
  display: flex;
  justify-content: center;
  gap: 4px;
}
.couture-nav-bar-bordered-soft-pill > .couture-links > a {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 8px;
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-nav-bar-bordered-soft-pill > .couture-links > a:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  color: var(--couture-fg, #111);
}
.couture-nav-bar-bordered-soft-pill > .couture-cta {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  padding: 8px 16px;
  border-radius: 9px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.couture-nav-bar-bordered-soft-pill > .couture-cta:hover { transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce) {
  .couture-nav-bar-bordered-soft-pill > .couture-cta,
  .couture-nav-bar-bordered-soft-pill > .couture-links > a { transition: none; transform: none; }
}

/* V6.388 #1073 - breadcrumb-soft-row-chevron: breadcrumb path */
.couture-breadcrumb-soft-row-chevron {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-breadcrumb-soft-row-chevron > .couture-crumb {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
}
.couture-breadcrumb-soft-row-chevron > .couture-crumb:hover { color: var(--couture-accent, #6366f1); }
.couture-breadcrumb-soft-row-chevron > .couture-crumb.couture-current {
  color: var(--couture-fg, #111);
  font-weight: 600;
}
.couture-breadcrumb-soft-row-chevron > .couture-sep {
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
}

/* V6.388 #1074 - search-bordered-soft-icon-input: search bar with icon */
.couture-search-bordered-soft-icon-input {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.couture-search-bordered-soft-icon-input:focus-within {
  border-color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-search-bordered-soft-icon-input > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-search-bordered-soft-icon-input > .couture-input {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  background: transparent;
  color: var(--couture-fg, #111);
  border: 0;
  outline: none;
  width: 100%;
}
.couture-search-bordered-soft-icon-input > .couture-input::placeholder {
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}
.couture-search-bordered-soft-icon-input > .couture-kbd {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 7px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-search-bordered-soft-icon-input { transition: none; }
}

/* V6.388 #1075 - modal-dialog-bordered-soft: centered modal dialog */
.couture-modal-dialog-bordered-soft {
  position: relative;
  display: grid;
  gap: 16px;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 32px 80px -24px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
  max-width: 480px;
  width: 100%;
}
.couture-modal-dialog-bordered-soft > .couture-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: start;
}
.couture-modal-dialog-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--couture-fg, #111);
}
.couture-modal-dialog-bordered-soft > .couture-head > .couture-close {
  width: 30px; height: 30px;
  display: grid; place-items: center;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  border: 0;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.2s ease;
}
.couture-modal-dialog-bordered-soft > .couture-head > .couture-close:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-modal-dialog-bordered-soft > .couture-body {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-modal-dialog-bordered-soft > .couture-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-modal-dialog-bordered-soft > .couture-head > .couture-close { transition: none; }
}

/* V6.388 #1076 - toast-bordered-soft-icon: in-app toast notification */
.couture-toast-bordered-soft-icon {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 12px 28px -10px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
  max-width: 420px;
}
.couture-toast-bordered-soft-icon > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: color-mix(in oklab, #10b981 16%, transparent);
  color: #059669;
  font-size: 14px;
  font-weight: 700;
}
.couture-toast-bordered-soft-icon.couture-error > .couture-icon {
  background: color-mix(in oklab, #ef4444 16%, transparent);
  color: #dc2626;
}
.couture-toast-bordered-soft-icon.couture-info > .couture-icon {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-toast-bordered-soft-icon > .couture-text {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem);
  color: var(--couture-fg, #111);
}
.couture-toast-bordered-soft-icon > .couture-text > strong { font-weight: 600; }
.couture-toast-bordered-soft-icon > .couture-close {
  width: 24px; height: 24px;
  display: grid; place-items: center;
  border-radius: 6px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  border: 0;
  cursor: pointer;
  font-size: 14px;
}

/* V6.388 #1077 - kbd-shortcut-row-bordered: keyboard shortcut display */
.couture-kbd-shortcut-row-bordered {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-kbd-shortcut-row-bordered > .couture-key {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 7px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 94%, var(--couture-fg, #111) 6%);
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  border-bottom-width: 2px;
  min-width: 18px;
  text-align: center;
}
.couture-kbd-shortcut-row-bordered > .couture-plus {
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 40%, transparent);
}

/* V6.388 #1078 - code-block-bordered-soft-mono: code block with scroll */
.couture-code-block-bordered-soft-mono {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-code-block-bordered-soft-mono > .couture-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 8px 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  background: color-mix(in oklab, var(--couture-bg, #fff) 88%, var(--couture-fg, #111) 12%);
}
.couture-code-block-bordered-soft-mono > .couture-head > .couture-lang {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-code-block-bordered-soft-mono > .couture-head > .couture-copy {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  background: transparent;
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  cursor: pointer;
}
.couture-code-block-bordered-soft-mono > pre {
  margin: 0;
  padding: 14px 16px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: clamp(0.78rem, 0.95vw, 0.82rem);
  line-height: 1.6;
  color: var(--couture-fg, #111);
  overflow-x: auto;
}

/* V6.388 #1079 - switch-toggle-bordered-soft: toggle switch component */
.couture-switch-toggle-bordered-soft {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  cursor: pointer;
}
.couture-switch-toggle-bordered-soft > input[type="checkbox"] {
  appearance: none;
  position: relative;
  width: 38px; height: 22px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
  cursor: pointer;
  transition: background 0.2s ease;
  margin: 0;
}
.couture-switch-toggle-bordered-soft > input[type="checkbox"]::before {
  content: "";
  position: absolute;
  top: 2px; left: 2px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.2s ease;
  box-shadow: 0 1px 3px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
}
.couture-switch-toggle-bordered-soft > input[type="checkbox"]:checked {
  background: var(--couture-accent, #6366f1);
}
.couture-switch-toggle-bordered-soft > input[type="checkbox"]:checked::before {
  transform: translateX(16px);
}
.couture-switch-toggle-bordered-soft > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem);
  font-weight: 500;
  color: var(--couture-fg, #111);
  user-select: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-switch-toggle-bordered-soft > input[type="checkbox"],
  .couture-switch-toggle-bordered-soft > input[type="checkbox"]::before { transition: none; }
}

/* V6.388 #1080 - slider-range-bordered-soft: range slider input */
.couture-slider-range-bordered-soft {
  display: grid;
  gap: 6px;
  padding: 4px;
}
.couture-slider-range-bordered-soft > .couture-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
}
.couture-slider-range-bordered-soft > .couture-head > .couture-label {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-slider-range-bordered-soft > .couture-head > .couture-value {
  font-variant-numeric: tabular-nums;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  font-weight: 700;
  color: var(--couture-accent, #6366f1);
}
.couture-slider-range-bordered-soft > input[type="range"] {
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  outline: none;
}
.couture-slider-range-bordered-soft > input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
  cursor: pointer;
  border: 2px solid var(--couture-bg, #fff);
  box-shadow: 0 2px 6px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
}
.couture-slider-range-bordered-soft > input[type="range"]::-moz-range-thumb {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
  cursor: pointer;
  border: 2px solid var(--couture-bg, #fff);
  box-shadow: 0 2px 6px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
}

/* V6.388 #1081 - avatar-group-stacked-soft: overlapping avatar stack */
.couture-avatar-group-stacked-soft {
  display: inline-flex;
  align-items: center;
  padding: 0;
}
.couture-avatar-group-stacked-soft > .couture-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  border: 2px solid var(--couture-bg, #fff);
  margin-left: -8px;
  box-shadow: 0 2px 4px color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
}
.couture-avatar-group-stacked-soft > .couture-avatar:first-child { margin-left: 0; }
.couture-avatar-group-stacked-soft > .couture-more {
  width: 32px; height: 32px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  font-weight: 600;
  font-size: 11px;
  border: 2px solid var(--couture-bg, #fff);
  margin-left: -8px;
  box-shadow: 0 2px 4px color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
}
.couture-avatar-group-stacked-soft > .couture-count {
  margin-left: 12px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1082 - rating-stars-bordered-soft: star rating display */
.couture-rating-stars-bordered-soft {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #fbbf24 4%);
  border: 1px solid color-mix(in oklab, #fbbf24 22%, transparent);
}
.couture-rating-stars-bordered-soft > .couture-stars {
  display: inline-flex;
  gap: 1px;
  color: #f59e0b;
  font-size: 13px;
}
.couture-rating-stars-bordered-soft > .couture-stars > .couture-star.couture-empty {
  color: color-mix(in oklab, #f59e0b 25%, transparent);
}
.couture-rating-stars-bordered-soft > .couture-num {
  font-variant-numeric: tabular-nums;
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
}
.couture-rating-stars-bordered-soft > .couture-count {
  font-size: clamp(0.74rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1083 - stepper-horizontal-bordered-soft: step progress indicator */
.couture-stepper-horizontal-bordered-soft {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 16px clamp(12px, 2vw, 20px);
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-stepper-horizontal-bordered-soft > .couture-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0;
  align-items: center;
  position: relative;
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 13px; left: 50%; right: -50%;
  height: 2px;
  background: color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  z-index: 0;
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step.couture-done:not(:last-child)::after,
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step.couture-active:not(:last-child)::after {
  background: var(--couture-accent, #6366f1);
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step > .couture-marker {
  position: relative;
  z-index: 1;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  border: 2px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step.couture-done > .couture-marker {
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step.couture-active > .couture-marker {
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border-color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step > .couture-label {
  font-size: clamp(0.72rem, 0.88vw, 0.78rem);
  font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-align: center;
}
.couture-stepper-horizontal-bordered-soft > .couture-track > .couture-step.couture-active > .couture-label {
  font-weight: 700;
  color: var(--couture-fg, #111);
}

/* V6.388 #1084 - gallery-bordered-soft-grid-trio: 3-image responsive gallery */
.couture-gallery-bordered-soft-grid-trio {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 4px;
}
@media (min-width: 640px) {
  .couture-gallery-bordered-soft-grid-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-gallery-bordered-soft-grid-trio > .couture-cell {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.couture-gallery-bordered-soft-grid-trio > .couture-cell:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px -16px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-gallery-bordered-soft-grid-trio > .couture-cell > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.4s ease;
}
.couture-gallery-bordered-soft-grid-trio > .couture-cell:hover > img { transform: scale(1.04); }
.couture-gallery-bordered-soft-grid-trio > .couture-cell > .couture-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 14px 16px 12px;
  background: linear-gradient(to top, color-mix(in oklab, #000 65%, transparent), transparent);
  color: #fff;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {
  .couture-gallery-bordered-soft-grid-trio > .couture-cell,
  .couture-gallery-bordered-soft-grid-trio > .couture-cell > img { transition: none; transform: none; }
}

/* V6.388 #1085 - carousel-bordered-soft-snap-row: scroll-snap horizontal carousel */
.couture-carousel-bordered-soft-snap-row {
  display: grid;
  gap: 12px;
  padding: 4px;
}
.couture-carousel-bordered-soft-snap-row > .couture-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 16px;
  padding: 4px 16px 12px;
  scrollbar-width: thin;
}
.couture-carousel-bordered-soft-snap-row > .couture-track > .couture-card {
  flex: 0 0 calc(85% - 12px);
  max-width: 360px;
  scroll-snap-align: start;
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 4px 14px -8px color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
}
.couture-carousel-bordered-soft-snap-row > .couture-track > .couture-card > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-carousel-bordered-soft-snap-row > .couture-track > .couture-card > .couture-title {
  font-size: clamp(1rem, 1.3vw, 1.1rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--couture-fg, #111);
}
.couture-carousel-bordered-soft-snap-row > .couture-track > .couture-card > .couture-body {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-carousel-bordered-soft-snap-row > .couture-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding-top: 4px;
}
.couture-carousel-bordered-soft-snap-row > .couture-dots > .couture-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
}
.couture-carousel-bordered-soft-snap-row > .couture-dots > .couture-dot.couture-active {
  background: var(--couture-accent, #6366f1);
  width: 18px;
  border-radius: 999px;
}

/* V6.388 #1086 - table-bordered-soft-striped: data table with striped rows */
.couture-table-bordered-soft-striped {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  background: var(--couture-bg, #fff);
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
}
.couture-table-bordered-soft-striped thead {
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
}
.couture-table-bordered-soft-striped thead th {
  text-align: left;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-table-bordered-soft-striped tbody tr:nth-child(even) {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}
.couture-table-bordered-soft-striped tbody td {
  padding: 12px 16px;
  color: var(--couture-fg, #111);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-table-bordered-soft-striped tbody tr:last-child td { border-bottom: 0; }
.couture-table-bordered-soft-striped tbody td.couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  text-align: right;
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1087 - listview-bordered-soft-row-icon: list view with icon rows */
.couture-listview-bordered-soft-row-icon {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-listview-bordered-soft-row-icon > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-listview-bordered-soft-row-icon > .couture-row + .couture-row {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-listview-bordered-soft-row-icon > .couture-row:hover {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
}
.couture-listview-bordered-soft-row-icon > .couture-row > .couture-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 16px;
}
.couture-listview-bordered-soft-row-icon > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-listview-bordered-soft-row-icon > .couture-row > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-listview-bordered-soft-row-icon > .couture-row > .couture-meta {
  font-size: clamp(0.74rem, 0.92vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-listview-bordered-soft-row-icon > .couture-row { transition: none; }
}

/* V6.388 #1088 - bento-bordered-soft-grid-asym: asymmetric bento grid layout */
.couture-bento-bordered-soft-grid-asym {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: 4px;
}
@media (min-width: 720px) {
  .couture-bento-bordered-soft-grid-asym {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: minmax(140px, auto);
  }
  .couture-bento-bordered-soft-grid-asym > .couture-tile-large { grid-column: span 2; grid-row: span 2; }
  .couture-bento-bordered-soft-grid-asym > .couture-tile-wide { grid-column: span 2; }
  .couture-bento-bordered-soft-grid-asym > .couture-tile-tall { grid-row: span 2; }
}
.couture-bento-bordered-soft-grid-asym > .couture-tile {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.couture-bento-bordered-soft-grid-asym > .couture-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -16px color-mix(in oklab, var(--couture-fg, #111) 22%, transparent);
}
.couture-bento-bordered-soft-grid-asym > .couture-tile.couture-tile-accent {
  background: linear-gradient(140deg, color-mix(in oklab, var(--couture-accent, #6366f1) 88%, #fff 12%), var(--couture-accent, #6366f1));
  color: #fff;
  border: 0;
}
.couture-bento-bordered-soft-grid-asym > .couture-tile > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-bento-bordered-soft-grid-asym > .couture-tile.couture-tile-accent > .couture-eyebrow {
  color: color-mix(in oklab, #fff 85%, transparent);
}
.couture-bento-bordered-soft-grid-asym > .couture-tile > .couture-title {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 700;
  letter-spacing: -0.012em;
}
.couture-bento-bordered-soft-grid-asym > .couture-tile > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-bento-bordered-soft-grid-asym > .couture-tile.couture-tile-accent > .couture-body {
  color: color-mix(in oklab, #fff 85%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-bento-bordered-soft-grid-asym > .couture-tile { transition: none; transform: none; }
}

/* V6.388 #1089 - chip-row-bordered-soft-removable: removable chip row */
.couture-chip-row-bordered-soft-removable {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
}
.couture-chip-row-bordered-soft-removable > .couture-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 500;
  padding: 5px 4px 5px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-chip-row-bordered-soft-removable > .couture-chip > .couture-remove {
  width: 18px; height: 18px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0;
  cursor: pointer;
  font-size: 11px;
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-chip-row-bordered-soft-removable > .couture-chip > .couture-remove:hover {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}

/* V6.388 #1090 - alert-bordered-soft-icon-action: alert with icon+action */
.couture-alert-bordered-soft-icon-action {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  border-left: 4px solid var(--couture-accent, #6366f1);
}
.couture-alert-bordered-soft-icon-action.couture-warning {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #f59e0b 4%);
  border-color: color-mix(in oklab, #f59e0b 22%, transparent);
  border-left-color: #f59e0b;
}
.couture-alert-bordered-soft-icon-action.couture-error {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #ef4444 4%);
  border-color: color-mix(in oklab, #ef4444 22%, transparent);
  border-left-color: #ef4444;
}
.couture-alert-bordered-soft-icon-action > .couture-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}
.couture-alert-bordered-soft-icon-action.couture-warning > .couture-icon { background: #f59e0b; }
.couture-alert-bordered-soft-icon-action.couture-error > .couture-icon { background: #ef4444; }
.couture-alert-bordered-soft-icon-action > .couture-text > .couture-title {
  font-size: clamp(0.88rem, 1.1vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  margin-bottom: 3px;
}
.couture-alert-bordered-soft-icon-action > .couture-text > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-alert-bordered-soft-icon-action > .couture-action {
  font-weight: 600;
  font-size: clamp(0.78rem, 0.98vw, 0.84rem);
  padding: 5px 12px;
  border-radius: 7px;
  background: transparent;
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  cursor: pointer;
  white-space: nowrap;
}

/* V6.388 #1091 - divider-bordered-soft-text: horizontal divider with center text */
.couture-divider-bordered-soft-text {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 4px 0;
}
.couture-divider-bordered-soft-text::before,
.couture-divider-bordered-soft-text::after {
  content: "";
  height: 1px;
  background: color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-divider-bordered-soft-text > .couture-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1092 - scroll-snap-x-pillrow: horizontal scrollable pill row */
.couture-scroll-snap-x-pillrow {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 8px;
  padding: 8px;
  scrollbar-width: thin;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}
.couture-scroll-snap-x-pillrow > .couture-pill {
  scroll-snap-align: start;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(0.8rem, 1vw, 0.86rem);
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 9px;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.couture-scroll-snap-x-pillrow > .couture-pill:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  color: var(--couture-fg, #111);
}
.couture-scroll-snap-x-pillrow > .couture-pill.couture-active {
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
@media (prefers-reduced-motion: reduce) {
  .couture-scroll-snap-x-pillrow > .couture-pill { transition: none; }
}

/* V6.388 #1093 - banner-marquee-soft-textloop: text-only marquee section */
.couture-banner-marquee-soft-textloop {
  display: grid;
  gap: 0;
  padding: 14px 0;
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff;
  overflow: hidden;
  position: relative;
}
.couture-banner-marquee-soft-textloop > .couture-track {
  display: flex;
  gap: 40px;
  animation: couture-marquee-1093 26s linear infinite;
  width: max-content;
  white-space: nowrap;
}
.couture-banner-marquee-soft-textloop > .couture-track > .couture-item {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.couture-banner-marquee-soft-textloop > .couture-track > .couture-item::after {
  content: "*";
  display: inline-block;
  color: color-mix(in oklab, #fff 60%, transparent);
}
@keyframes couture-marquee-1093 {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-banner-marquee-soft-textloop > .couture-track { animation: none; }
}

/* V6.388 #1094 - logo-cloud-bordered-soft-grid: logo grid section */
.couture-logo-cloud-bordered-soft-grid {
  display: grid;
  gap: 24px;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-logo-cloud-bordered-soft-grid > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-align: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-logo-cloud-bordered-soft-grid > .couture-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 36px;
  align-items: center;
  justify-items: center;
}
@media (min-width: 720px) {
  .couture-logo-cloud-bordered-soft-grid > .couture-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.couture-logo-cloud-bordered-soft-grid > .couture-grid > .couture-logo {
  font-size: clamp(0.9rem, 1.15vw, 1rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  filter: grayscale(100%);
  opacity: 0.7;
  transition: opacity 0.2s ease, filter 0.2s ease;
}
.couture-logo-cloud-bordered-soft-grid > .couture-grid > .couture-logo:hover {
  opacity: 1;
  filter: grayscale(0%);
  color: var(--couture-fg, #111);
}
@media (prefers-reduced-motion: reduce) {
  .couture-logo-cloud-bordered-soft-grid > .couture-grid > .couture-logo { transition: none; }
}

/* V6.388 #1095 - faq-stacked-bordered-soft-detail: FAQ section using details */
.couture-faq-stacked-bordered-soft-detail {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-faq-stacked-bordered-soft-detail > details {
  padding: 0;
}
.couture-faq-stacked-bordered-soft-detail > details + details {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-faq-stacked-bordered-soft-detail > details > summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
  font-size: clamp(0.9rem, 1.13vw, 0.98rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  list-style: none;
}
.couture-faq-stacked-bordered-soft-detail > details > summary::-webkit-details-marker { display: none; }
.couture-faq-stacked-bordered-soft-detail > details > summary > .couture-q {
  width: 26px; height: 26px;
  border-radius: 7px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 13px;
  font-weight: 800;
  font-family: Georgia, serif;
}
.couture-faq-stacked-bordered-soft-detail > details > summary::after {
  content: "+";
  font-size: 22px;
  font-weight: 300;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  transition: transform 0.2s ease;
}
.couture-faq-stacked-bordered-soft-detail > details[open] > summary::after { transform: rotate(45deg); }
.couture-faq-stacked-bordered-soft-detail > details > .couture-answer {
  padding: 0 20px 18px 60px;
  font-size: clamp(0.84rem, 1.05vw, 0.9rem);
  line-height: 1.6;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-faq-stacked-bordered-soft-detail > details > summary::after { transition: none; }
}

/* V6.388 #1096 - split-feature-image-text-bordered: split feature with image+text */
.couture-split-feature-image-text-bordered {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
  padding: clamp(20px, 3vw, 32px);
  border-radius: 22px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
@media (min-width: 760px) {
  .couture-split-feature-image-text-bordered { grid-template-columns: 1fr 1fr; }
  .couture-split-feature-image-text-bordered.couture-image-right > .couture-image { order: 2; }
}
.couture-split-feature-image-text-bordered > .couture-image {
  position: relative;
  aspect-ratio: 5 / 4;
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent));
  overflow: hidden;
}
.couture-split-feature-image-text-bordered > .couture-image > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-split-feature-image-text-bordered > .couture-text > .couture-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 5px 11px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  margin-bottom: 14px;
}
.couture-split-feature-image-text-bordered > .couture-text > .couture-title {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--couture-fg, #111);
  margin-bottom: 14px;
}
.couture-split-feature-image-text-bordered > .couture-text > .couture-body {
  font-size: clamp(0.92rem, 1.15vw, 1rem);
  line-height: 1.6;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  margin-bottom: 18px;
}

/* V6.388 #1097 - stat-counter-bordered-soft-quad: 4-cell big-number stat counter */
.couture-stat-counter-bordered-soft-quad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
@media (min-width: 720px) {
  .couture-stat-counter-bordered-soft-quad { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-stat-counter-bordered-soft-quad > .couture-stat {
  display: grid;
  gap: 6px;
  padding: clamp(20px, 3vw, 28px) clamp(16px, 2.5vw, 22px);
  text-align: center;
}
@media (min-width: 720px) {
  .couture-stat-counter-bordered-soft-quad > .couture-stat:not(:last-child) {
    border-right: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  }
}
@media (max-width: 719px) {
  .couture-stat-counter-bordered-soft-quad > .couture-stat:nth-child(odd) {
    border-right: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  }
  .couture-stat-counter-bordered-soft-quad > .couture-stat:not(:nth-last-child(-n+2)) {
    border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  }
}
.couture-stat-counter-bordered-soft-quad > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  letter-spacing: -0.025em;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.couture-stat-counter-bordered-soft-quad > .couture-stat > .couture-label {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1098 - app-shell-sidebar-bordered: dashboard sidebar shell */
.couture-app-shell-sidebar-bordered {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-height: 480px;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
@media (min-width: 760px) {
  .couture-app-shell-sidebar-bordered { grid-template-columns: 240px 1fr; }
}
.couture-app-shell-sidebar-bordered > .couture-sidebar {
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 18px 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border-right: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-app-shell-sidebar-bordered > .couture-sidebar > .couture-brand {
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
  padding: 6px 10px 16px;
}
.couture-app-shell-sidebar-bordered > .couture-sidebar > .couture-nav-link {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.couture-app-shell-sidebar-bordered > .couture-sidebar > .couture-nav-link:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  color: var(--couture-fg, #111);
}
.couture-app-shell-sidebar-bordered > .couture-sidebar > .couture-nav-link.couture-active {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-app-shell-sidebar-bordered > .couture-sidebar > .couture-nav-link > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
}
.couture-app-shell-sidebar-bordered > .couture-content {
  padding: clamp(20px, 3vw, 32px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-app-shell-sidebar-bordered > .couture-sidebar > .couture-nav-link { transition: none; }
}

/* V6.388 #1099 - profile-card-bordered-soft-avatar: profile card with avatar+meta */
.couture-profile-card-bordered-soft-avatar {
  display: grid;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  text-align: center;
}
.couture-profile-card-bordered-soft-avatar > .couture-avatar {
  width: 80px; height: 80px;
  border-radius: 50%;
  margin: 0 auto;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 28px;
  border: 3px solid var(--couture-bg, #fff);
  box-shadow: 0 6px 18px -4px color-mix(in oklab, var(--couture-accent, #6366f1) 40%, transparent);
}
.couture-profile-card-bordered-soft-avatar > .couture-name {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-profile-card-bordered-soft-avatar > .couture-role {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--couture-accent, #6366f1);
  font-weight: 600;
}
.couture-profile-card-bordered-soft-avatar > .couture-bio {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-profile-card-bordered-soft-avatar > .couture-social {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.couture-profile-card-bordered-soft-avatar > .couture-social > a {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.couture-profile-card-bordered-soft-avatar > .couture-social > a:hover {
  color: var(--couture-accent, #6366f1);
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}

/* V6.388 #1100 - video-card-bordered-soft-thumb: video thumbnail card */
.couture-video-card-bordered-soft-thumb {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.couture-video-card-bordered-soft-thumb:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px -16px color-mix(in oklab, var(--couture-fg, #111) 22%, transparent);
}
.couture-video-card-bordered-soft-thumb > .couture-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-fg, #111) 75%, transparent), color-mix(in oklab, var(--couture-fg, #111) 90%, transparent));
  overflow: hidden;
}
.couture-video-card-bordered-soft-thumb > .couture-thumb > img {
  width: 100%; height: 100%; object-fit: cover;
}
.couture-video-card-bordered-soft-thumb > .couture-thumb > .couture-play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  display: grid; place-items: center;
  font-size: 22px;
  box-shadow: 0 8px 22px -4px color-mix(in oklab, #000 40%, transparent);
}
.couture-video-card-bordered-soft-thumb > .couture-thumb > .couture-duration {
  position: absolute;
  bottom: 8px; right: 8px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 5px;
  background: color-mix(in oklab, #000 75%, transparent);
  color: #fff;
}
.couture-video-card-bordered-soft-thumb > .couture-meta {
  display: grid;
  gap: 6px;
  padding: 14px 16px 16px;
}
.couture-video-card-bordered-soft-thumb > .couture-meta > .couture-title {
  font-size: clamp(0.92rem, 1.15vw, 1rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--couture-fg, #111);
  line-height: 1.4;
}
.couture-video-card-bordered-soft-thumb > .couture-meta > .couture-byline {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-video-card-bordered-soft-thumb { transition: none; transform: none; }
}

/* V6.388 #1101 - calendar-grid-bordered-soft-month: month-view calendar grid */
.couture-calendar-grid-bordered-soft-month {
  display: grid;
  gap: 12px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-calendar-grid-bordered-soft-month > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
}
.couture-calendar-grid-bordered-soft-month > .couture-head > .couture-month {
  font-size: clamp(1rem, 1.3vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--couture-fg, #111);
}
.couture-calendar-grid-bordered-soft-month > .couture-head > .couture-prev,
.couture-calendar-grid-bordered-soft-month > .couture-head > .couture-next {
  width: 28px; height: 28px;
  border-radius: 7px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  color: var(--couture-fg, #111);
  border: 0;
  cursor: pointer;
  font-size: 14px;
}
.couture-calendar-grid-bordered-soft-month > .couture-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  text-align: center;
}
.couture-calendar-grid-bordered-soft-month > .couture-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}
.couture-calendar-grid-bordered-soft-month > .couture-days > .couture-day {
  aspect-ratio: 1;
  display: grid; place-items: center;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  border-radius: 8px;
  color: var(--couture-fg, #111);
  cursor: pointer;
  transition: background 0.15s ease;
}
.couture-calendar-grid-bordered-soft-month > .couture-days > .couture-day:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent);
}
.couture-calendar-grid-bordered-soft-month > .couture-days > .couture-day.couture-muted {
  color: color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-calendar-grid-bordered-soft-month > .couture-days > .couture-day.couture-today {
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-weight: 700;
}
.couture-calendar-grid-bordered-soft-month > .couture-days > .couture-day.couture-event {
  position: relative;
}
.couture-calendar-grid-bordered-soft-month > .couture-days > .couture-day.couture-event::after {
  content: "";
  position: absolute;
  bottom: 4px; left: 50%;
  transform: translateX(-50%);
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
}
@media (prefers-reduced-motion: reduce) {
  .couture-calendar-grid-bordered-soft-month > .couture-days > .couture-day { transition: none; }
}

/* V6.388 #1102 - contact-block-bordered-soft-row: contact info block */
.couture-contact-block-bordered-soft-row {
  display: grid;
  gap: 12px;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-contact-block-bordered-soft-row > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-contact-block-bordered-soft-row > .couture-row > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 14px;
}
.couture-contact-block-bordered-soft-row > .couture-row > .couture-text > .couture-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-contact-block-bordered-soft-row > .couture-row > .couture-text > .couture-value {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem);
  font-weight: 500;
  color: var(--couture-fg, #111);
}
.couture-contact-block-bordered-soft-row > .couture-row > .couture-text > .couture-value > a {
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
}

/* V6.388 #1103 - audio-player-bordered-soft-bar: minimal audio player */
.couture-audio-player-bordered-soft-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-audio-player-bordered-soft-bar > .couture-play {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border: 0;
  cursor: pointer;
  font-size: 14px;
  box-shadow: 0 4px 12px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-audio-player-bordered-soft-bar > .couture-meta {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.couture-audio-player-bordered-soft-bar > .couture-meta > .couture-title {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.couture-audio-player-bordered-soft-bar > .couture-meta > .couture-progress {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}
.couture-audio-player-bordered-soft-bar > .couture-meta > .couture-progress > .couture-bar {
  height: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  overflow: hidden;
}
.couture-audio-player-bordered-soft-bar > .couture-meta > .couture-progress > .couture-bar > .couture-fill {
  height: 100%;
  background: var(--couture-accent, #6366f1);
}
.couture-audio-player-bordered-soft-bar > .couture-meta > .couture-progress > .couture-time {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-audio-player-bordered-soft-bar > .couture-vol {
  width: 28px; height: 28px;
  border-radius: 7px;
  display: grid; place-items: center;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0;
  cursor: pointer;
}

/* V6.388 #1104 - file-upload-bordered-soft-drop: file drop zone */
.couture-file-upload-bordered-soft-drop {
  display: grid;
  gap: 10px;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 2px dashed color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  text-align: center;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.couture-file-upload-bordered-soft-drop:hover {
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%);
  border-color: var(--couture-accent, #6366f1);
}
.couture-file-upload-bordered-soft-drop > .couture-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: grid; place-items: center;
  margin: 0 auto;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 22px;
}
.couture-file-upload-bordered-soft-drop > .couture-title {
  font-size: clamp(0.92rem, 1.15vw, 1rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-file-upload-bordered-soft-drop > .couture-sub {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-file-upload-bordered-soft-drop > .couture-types {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-file-upload-bordered-soft-drop { transition: none; }
}

/* V6.388 #1105 - status-dot-pill-bordered-soft: status indicator with pill */
.couture-status-dot-pill-bordered-soft {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 600;
  padding: 5px 12px 5px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #10b981 4%);
  color: #047857;
  border: 1px solid color-mix(in oklab, #10b981 22%, transparent);
}
.couture-status-dot-pill-bordered-soft > .couture-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #10b981;
  position: relative;
}
.couture-status-dot-pill-bordered-soft > .couture-dot::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: color-mix(in oklab, #10b981 35%, transparent);
  animation: couture-pulse-1105 1.6s ease-out infinite;
}
.couture-status-dot-pill-bordered-soft.couture-warn {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #f59e0b 4%);
  color: #b45309;
  border-color: color-mix(in oklab, #f59e0b 22%, transparent);
}
.couture-status-dot-pill-bordered-soft.couture-warn > .couture-dot { background: #f59e0b; }
.couture-status-dot-pill-bordered-soft.couture-warn > .couture-dot::before { background: color-mix(in oklab, #f59e0b 35%, transparent); }
.couture-status-dot-pill-bordered-soft.couture-error {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #ef4444 4%);
  color: #b91c1c;
  border-color: color-mix(in oklab, #ef4444 22%, transparent);
}
.couture-status-dot-pill-bordered-soft.couture-error > .couture-dot { background: #ef4444; }
.couture-status-dot-pill-bordered-soft.couture-error > .couture-dot::before { background: color-mix(in oklab, #ef4444 35%, transparent); }
@keyframes couture-pulse-1105 {
  0% { transform: scale(0.8); opacity: 0.8; }
  100% { transform: scale(2.2); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-status-dot-pill-bordered-soft > .couture-dot::before { animation: none; }
}

/* V6.388 #1106 - dropdown-menu-bordered-soft: dropdown menu floating list */
.couture-dropdown-menu-bordered-soft {
  display: grid;
  gap: 2px;
  padding: 6px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 18px 40px -12px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
  min-width: 200px;
}
.couture-dropdown-menu-bordered-soft > .couture-section-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  padding: 6px 10px 4px;
}
.couture-dropdown-menu-bordered-soft > .couture-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 7px 10px;
  border-radius: 7px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--couture-fg, #111);
  text-decoration: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.couture-dropdown-menu-bordered-soft > .couture-item:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-dropdown-menu-bordered-soft > .couture-item.couture-danger { color: #dc2626; }
.couture-dropdown-menu-bordered-soft > .couture-item > .couture-icon {
  width: 16px; height: 16px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-dropdown-menu-bordered-soft > .couture-item > .couture-shortcut {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}
.couture-dropdown-menu-bordered-soft > .couture-divider {
  height: 1px;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  margin: 4px 6px;
}

/* V6.388 #1107 - popover-bordered-soft-arrow: floating popover with arrow */
.couture-popover-bordered-soft-arrow {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 14px 32px -10px color-mix(in oklab, var(--couture-fg, #111) 28%, transparent);
  max-width: 280px;
}
.couture-popover-bordered-soft-arrow::after {
  content: "";
  position: absolute;
  bottom: -7px; left: 24px;
  width: 12px; height: 12px;
  background: var(--couture-bg, #fff);
  border-right: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  transform: rotate(45deg);
}
.couture-popover-bordered-soft-arrow > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-popover-bordered-soft-arrow > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-popover-bordered-soft-arrow > .couture-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding-top: 4px;
}

/* V6.388 #1108 - blog-list-card-bordered-soft: blog post card with cover */
.couture-blog-list-card-bordered-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  padding: 0;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (min-width: 640px) {
  .couture-blog-list-card-bordered-soft { grid-template-columns: 200px 1fr; }
}
.couture-blog-list-card-bordered-soft:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px -16px color-mix(in oklab, var(--couture-fg, #111) 22%, transparent);
}
.couture-blog-list-card-bordered-soft > .couture-cover {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
}
.couture-blog-list-card-bordered-soft > .couture-cover > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-blog-list-card-bordered-soft > .couture-meta {
  display: grid;
  gap: 8px;
  padding: 18px 20px 18px 4px;
}
@media (max-width: 639px) {
  .couture-blog-list-card-bordered-soft > .couture-meta { padding: 18px 20px; }
}
.couture-blog-list-card-bordered-soft > .couture-meta > .couture-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.couture-blog-list-card-bordered-soft > .couture-meta > .couture-tags > .couture-tag {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-blog-list-card-bordered-soft > .couture-meta > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.3;
  color: var(--couture-fg, #111);
}
.couture-blog-list-card-bordered-soft > .couture-meta > .couture-excerpt {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-blog-list-card-bordered-soft > .couture-meta > .couture-byline {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-blog-list-card-bordered-soft > .couture-meta > .couture-byline > .couture-dot {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-blog-list-card-bordered-soft { transition: none; transform: none; }
}

/* V6.388 #1109 - comments-thread-bordered-soft-list: nested comment thread */
.couture-comments-thread-bordered-soft-list {
  display: grid;
  gap: 14px;
  padding: clamp(16px, 2.4vw, 20px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-comments-thread-bordered-soft-list > .couture-comment {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-comments-thread-bordered-soft-list > .couture-comment.couture-reply {
  margin-left: clamp(20px, 4vw, 40px);
  border-left: 3px solid color-mix(in oklab, var(--couture-accent, #6366f1) 35%, transparent);
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-body > .couture-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-body > .couture-head > .couture-name {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-body > .couture-head > .couture-time {
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-body > .couture-text {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-body > .couture-actions {
  display: flex;
  gap: 14px;
  margin-top: 6px;
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-body > .couture-actions > button {
  font-size: 12px;
  font-weight: 600;
  background: transparent;
  border: 0;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  cursor: pointer;
  padding: 0;
}
.couture-comments-thread-bordered-soft-list > .couture-comment > .couture-body > .couture-actions > button:hover {
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1110 - notification-feed-bordered-soft: notification list */
.couture-notification-feed-bordered-soft {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-notification-feed-bordered-soft > .couture-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-notification-feed-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
}
.couture-notification-feed-bordered-soft > .couture-head > .couture-mark {
  font-size: 12px;
  font-weight: 600;
  color: var(--couture-accent, #6366f1);
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}
.couture-notification-feed-bordered-soft > .couture-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: start;
  padding: 12px 16px;
}
.couture-notification-feed-bordered-soft > .couture-item + .couture-item {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-notification-feed-bordered-soft > .couture-item.couture-unread {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
}
.couture-notification-feed-bordered-soft > .couture-item > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 14px;
  flex-shrink: 0;
}
.couture-notification-feed-bordered-soft > .couture-item > .couture-text > .couture-msg {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  color: var(--couture-fg, #111);
  line-height: 1.45;
}
.couture-notification-feed-bordered-soft > .couture-item > .couture-text > .couture-msg > strong {
  font-weight: 600;
}
.couture-notification-feed-bordered-soft > .couture-item > .couture-text > .couture-time {
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  margin-top: 2px;
}
.couture-notification-feed-bordered-soft > .couture-item > .couture-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
  margin-top: 8px;
}
.couture-notification-feed-bordered-soft > .couture-item:not(.couture-unread) > .couture-dot {
  visibility: hidden;
}

/* V6.388 #1111 - badge-progress-circular-soft: circular progress badge */
.couture-badge-progress-circular-soft {
  position: relative;
  width: 80px; height: 80px;
  display: grid; place-items: center;
}
.couture-badge-progress-circular-soft > svg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  transform: rotate(-90deg);
}
.couture-badge-progress-circular-soft > svg > circle.couture-track {
  fill: none;
  stroke: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  stroke-width: 6;
}
.couture-badge-progress-circular-soft > svg > circle.couture-fill {
  fill: none;
  stroke: var(--couture-accent, #6366f1);
  stroke-width: 6;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.4s ease;
}
.couture-badge-progress-circular-soft > .couture-num {
  font-variant-numeric: tabular-nums;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 800;
  color: var(--couture-fg, #111);
  letter-spacing: -0.015em;
  z-index: 1;
}
.couture-badge-progress-circular-soft > .couture-num > .couture-pct {
  font-size: 0.55em;
  font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-badge-progress-circular-soft > svg > circle.couture-fill { transition: none; }
}

/* V6.388 #1112 - tag-autocomplete-bordered-soft: tag autocomplete input */
.couture-tag-autocomplete-bordered-soft {
  display: grid;
  gap: 0;
  position: relative;
}
.couture-tag-autocomplete-bordered-soft > .couture-input-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 11px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  align-items: center;
  min-height: 42px;
}
.couture-tag-autocomplete-bordered-soft > .couture-input-row:focus-within {
  border-color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-tag-autocomplete-bordered-soft > .couture-input-row > .couture-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 4px 3px 9px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-tag-autocomplete-bordered-soft > .couture-input-row > .couture-tag > .couture-x {
  width: 16px; height: 16px;
  border-radius: 4px;
  display: grid; place-items: center;
  background: transparent;
  color: var(--couture-accent, #6366f1);
  border: 0;
  cursor: pointer;
  font-size: 12px;
}
.couture-tag-autocomplete-bordered-soft > .couture-input-row > .couture-tag > .couture-x:hover {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-tag-autocomplete-bordered-soft > .couture-input-row > input {
  font-size: 13px;
  background: transparent;
  border: 0;
  outline: none;
  color: var(--couture-fg, #111);
  flex: 1;
  min-width: 100px;
}
.couture-tag-autocomplete-bordered-soft > .couture-suggestions {
  position: absolute;
  top: calc(100% + 4px);
  left: 0; right: 0;
  z-index: 5;
  display: grid;
  gap: 0;
  padding: 6px;
  border-radius: 10px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 12px 32px -8px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
}
.couture-tag-autocomplete-bordered-soft > .couture-suggestions > .couture-opt {
  font-size: 13px;
  padding: 7px 10px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--couture-fg, #111);
}
.couture-tag-autocomplete-bordered-soft > .couture-suggestions > .couture-opt:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}

/* V6.388 #1113 - color-swatch-grid-bordered-soft: color picker swatch grid */
.couture-color-swatch-grid-bordered-soft {
  display: grid;
  gap: 12px;
  padding: clamp(14px, 2.2vw, 18px);
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-color-swatch-grid-bordered-soft > .couture-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-color-swatch-grid-bordered-soft > .couture-swatches {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
  gap: 8px;
}
.couture-color-swatch-grid-bordered-soft > .couture-swatches > .couture-swatch {
  aspect-ratio: 1;
  border-radius: 9px;
  cursor: pointer;
  border: 2px solid transparent;
  box-shadow: inset 0 0 0 1px color-mix(in oklab, #000 12%, transparent);
  transition: transform 0.2s ease;
}
.couture-color-swatch-grid-bordered-soft > .couture-swatches > .couture-swatch:hover { transform: scale(1.08); }
.couture-color-swatch-grid-bordered-soft > .couture-swatches > .couture-swatch.couture-active {
  border-color: var(--couture-accent, #6366f1);
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  .couture-color-swatch-grid-bordered-soft > .couture-swatches > .couture-swatch { transition: none; transform: none; }
}

/* V6.388 #1114 - empty-state-bordered-soft: empty state placeholder */
.couture-empty-state-bordered-soft {
  display: grid;
  gap: 12px;
  padding: clamp(40px, 6vw, 60px) clamp(20px, 4vw, 32px);
  text-align: center;
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 2px dashed color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-empty-state-bordered-soft > .couture-illustration {
  width: 72px; height: 72px;
  border-radius: 50%;
  display: grid; place-items: center;
  margin: 0 auto;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 32px;
}
.couture-empty-state-bordered-soft > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-empty-state-bordered-soft > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  max-width: 42ch;
  margin: 0 auto;
}
.couture-empty-state-bordered-soft > .couture-action {
  display: inline-flex;
  align-items: center;
  justify-self: center;
  font-weight: 600;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 9px 18px;
  border-radius: 10px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  text-decoration: none;
  margin-top: 4px;
}

/* V6.388 #1115 - error-state-bordered-soft: error state with retry */
.couture-error-state-bordered-soft {
  display: grid;
  gap: 12px;
  padding: clamp(28px, 4vw, 40px);
  text-align: center;
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #ef4444 4%);
  border: 1px solid color-mix(in oklab, #ef4444 22%, transparent);
}
.couture-error-state-bordered-soft > .couture-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: grid; place-items: center;
  margin: 0 auto;
  background: #ef4444;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  box-shadow: 0 6px 18px -4px color-mix(in oklab, #ef4444 50%, transparent);
}
.couture-error-state-bordered-soft > .couture-code {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #b91c1c;
}
.couture-error-state-bordered-soft > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
}
.couture-error-state-bordered-soft > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  max-width: 44ch;
  margin: 0 auto;
}
.couture-error-state-bordered-soft > .couture-retry {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  justify-self: center;
  font-weight: 600;
  font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  padding: 9px 18px;
  border-radius: 10px;
  background: var(--couture-bg, #fff);
  color: #b91c1c;
  border: 1px solid color-mix(in oklab, #ef4444 30%, transparent);
  text-decoration: none;
  cursor: pointer;
}

/* V6.388 #1116 - loading-spinner-bordered-soft: animated loading spinner */
.couture-loading-spinner-bordered-soft {
  display: inline-grid;
  gap: 10px;
  align-items: center;
  justify-items: center;
  padding: 16px 20px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-loading-spinner-bordered-soft > .couture-spinner {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 3px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  border-top-color: var(--couture-accent, #6366f1);
  animation: couture-spin-1116 0.85s linear infinite;
}
.couture-loading-spinner-bordered-soft > .couture-text {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
@keyframes couture-spin-1116 {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-loading-spinner-bordered-soft > .couture-spinner { animation-duration: 2s; }
}

/* V6.388 #1117 - skeleton-loader-bordered-soft: skeleton placeholder */
.couture-skeleton-loader-bordered-soft {
  display: grid;
  gap: 10px;
  padding: clamp(14px, 2.2vw, 20px);
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-skeleton-loader-bordered-soft > .couture-bar,
.couture-skeleton-loader-bordered-soft > .couture-circle,
.couture-skeleton-loader-bordered-soft > .couture-row > .couture-bar,
.couture-skeleton-loader-bordered-soft > .couture-row > .couture-circle {
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 0%,
    color-mix(in oklab, var(--couture-fg, #111) 12%, transparent) 50%,
    color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 100%);
  background-size: 200% 100%;
  animation: couture-shimmer-1117 1.4s ease-in-out infinite;
  border-radius: 6px;
}
.couture-skeleton-loader-bordered-soft > .couture-bar { height: 12px; }
.couture-skeleton-loader-bordered-soft > .couture-bar.couture-short { width: 60%; }
.couture-skeleton-loader-bordered-soft > .couture-bar.couture-medium { width: 80%; }
.couture-skeleton-loader-bordered-soft > .couture-circle {
  width: 40px; height: 40px;
  border-radius: 50%;
}
.couture-skeleton-loader-bordered-soft > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.couture-skeleton-loader-bordered-soft > .couture-row > .couture-circle {
  width: 36px; height: 36px;
}
.couture-skeleton-loader-bordered-soft > .couture-row > .couture-stack {
  display: grid;
  gap: 6px;
}
.couture-skeleton-loader-bordered-soft > .couture-row > .couture-stack > .couture-bar {
  height: 10px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 0%,
    color-mix(in oklab, var(--couture-fg, #111) 12%, transparent) 50%,
    color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 100%);
  background-size: 200% 100%;
  animation: couture-shimmer-1117 1.4s ease-in-out infinite;
  border-radius: 5px;
}
@keyframes couture-shimmer-1117 {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-skeleton-loader-bordered-soft > .couture-bar,
  .couture-skeleton-loader-bordered-soft > .couture-circle,
  .couture-skeleton-loader-bordered-soft > .couture-row > .couture-stack > .couture-bar { animation: none; }
}

/* V6.388 #1118 - snackbar-bordered-soft-action: snackbar with action button */
.couture-snackbar-bordered-soft-action {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 12px 12px 12px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-fg, #111) 92%, var(--couture-bg, #fff) 8%);
  color: #fff;
  box-shadow: 0 16px 36px -10px color-mix(in oklab, #000 40%, transparent);
  max-width: 480px;
}
.couture-snackbar-bordered-soft-action > .couture-text {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
}
.couture-snackbar-bordered-soft-action > .couture-text > strong { font-weight: 600; }
.couture-snackbar-bordered-soft-action > .couture-action {
  font-weight: 700;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  padding: 6px 12px;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-accent, #6366f1) 80%, #fff 20%);
  border: 0;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.couture-snackbar-bordered-soft-action > .couture-action:hover {
  background: color-mix(in oklab, #fff 8%, transparent);
}

/* V6.388 #1119 - command-palette-bordered-soft: command palette UI */
.couture-command-palette-bordered-soft {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  box-shadow: 0 24px 60px -16px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
  max-width: 540px;
  width: 100%;
  overflow: hidden;
}
.couture-command-palette-bordered-soft > .couture-search {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-command-palette-bordered-soft > .couture-search > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-command-palette-bordered-soft > .couture-search > input {
  font-size: clamp(0.95rem, 1.18vw, 1.04rem);
  background: transparent;
  border: 0;
  outline: none;
  color: var(--couture-fg, #111);
  width: 100%;
}
.couture-command-palette-bordered-soft > .couture-search > input::placeholder {
  color: color-mix(in oklab, var(--couture-fg, #111) 40%, transparent);
}
.couture-command-palette-bordered-soft > .couture-search > .couture-esc {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 7px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-command-palette-bordered-soft > .couture-results {
  display: grid;
  gap: 1px;
  padding: 6px;
  max-height: 320px;
  overflow-y: auto;
}
.couture-command-palette-bordered-soft > .couture-results > .couture-group-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  padding: 8px 10px 4px;
}
.couture-command-palette-bordered-soft > .couture-results > .couture-result {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 9px 10px;
  border-radius: 7px;
  font-size: clamp(0.84rem, 1.03vw, 0.9rem);
  color: var(--couture-fg, #111);
  cursor: pointer;
}
.couture-command-palette-bordered-soft > .couture-results > .couture-result.couture-selected,
.couture-command-palette-bordered-soft > .couture-results > .couture-result:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent);
}
.couture-command-palette-bordered-soft > .couture-results > .couture-result > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-command-palette-bordered-soft > .couture-results > .couture-result > .couture-shortcut {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}
.couture-command-palette-bordered-soft > .couture-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1120 - stat-trend-chart-bordered-soft: stat with sparkline trend */
.couture-stat-trend-chart-bordered-soft {
  display: grid;
  gap: 12px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-stat-trend-chart-bordered-soft > .couture-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: start;
}
.couture-stat-trend-chart-bordered-soft > .couture-head > .couture-text > .couture-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-stat-trend-chart-bordered-soft > .couture-head > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  letter-spacing: -0.02em;
  color: var(--couture-fg, #111);
}
.couture-stat-trend-chart-bordered-soft > .couture-head > .couture-trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, #10b981 12%, transparent);
  color: #059669;
}
.couture-stat-trend-chart-bordered-soft > .couture-head > .couture-trend.couture-down {
  background: color-mix(in oklab, #ef4444 12%, transparent);
  color: #dc2626;
}
.couture-stat-trend-chart-bordered-soft > .couture-spark {
  display: block;
  width: 100%;
  height: 56px;
  overflow: hidden;
}
.couture-stat-trend-chart-bordered-soft > .couture-spark > svg {
  width: 100%; height: 100%;
}
.couture-stat-trend-chart-bordered-soft > .couture-spark > svg > path.couture-line {
  fill: none;
  stroke: var(--couture-accent, #6366f1);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.couture-stat-trend-chart-bordered-soft > .couture-spark > svg > path.couture-area {
  fill: color-mix(in oklab, var(--couture-accent, #6366f1) 15%, transparent);
  stroke: none;
}

/* V6.388 #1121 - comparison-table-bordered-soft-checks: feature comparison table */
.couture-comparison-table-bordered-soft-checks {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  background: var(--couture-bg, #fff);
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
}
.couture-comparison-table-bordered-soft-checks thead th {
  text-align: center;
  padding: 16px 14px;
  font-size: clamp(0.86rem, 1.08vw, 0.94rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}
.couture-comparison-table-bordered-soft-checks thead th:first-child { text-align: left; }
.couture-comparison-table-bordered-soft-checks thead th.couture-featured {
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent));
  color: var(--couture-accent, #6366f1);
}
.couture-comparison-table-bordered-soft-checks tbody td {
  padding: 12px 14px;
  text-align: center;
  color: var(--couture-fg, #111);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-comparison-table-bordered-soft-checks tbody td:first-child {
  text-align: left;
  font-weight: 500;
}
.couture-comparison-table-bordered-soft-checks tbody td.couture-featured {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
}
.couture-comparison-table-bordered-soft-checks tbody tr:last-child td { border-bottom: 0; }
.couture-comparison-table-bordered-soft-checks .couture-yes {
  color: #059669;
  font-weight: 700;
}
.couture-comparison-table-bordered-soft-checks .couture-no {
  color: color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}

/* V6.388 #1122 - feature-comparison-bordered-soft-grid: feature compare grid */
.couture-feature-comparison-bordered-soft-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 720px) {
  .couture-feature-comparison-bordered-soft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-feature-comparison-bordered-soft-grid > .couture-side {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-feature-comparison-bordered-soft-grid > .couture-side.couture-better {
  border: 2px solid color-mix(in oklab, var(--couture-accent, #6366f1) 35%, transparent);
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff));
}
.couture-feature-comparison-bordered-soft-grid > .couture-side > .couture-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-feature-comparison-bordered-soft-grid > .couture-side > .couture-head > .couture-name {
  font-size: clamp(1rem, 1.3vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-feature-comparison-bordered-soft-grid > .couture-side > .couture-head > .couture-tag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-feature-comparison-bordered-soft-grid > .couture-side.couture-better > .couture-head > .couture-tag {
  background: var(--couture-accent, #6366f1);
  color: #fff;
}
.couture-feature-comparison-bordered-soft-grid > .couture-side > .couture-list {
  display: grid;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-feature-comparison-bordered-soft-grid > .couture-side > .couture-list > li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--couture-fg, #111);
}
.couture-feature-comparison-bordered-soft-grid > .couture-side > .couture-list > li > .couture-mark {
  width: 18px; height: 18px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}
.couture-feature-comparison-bordered-soft-grid > .couture-side.couture-better > .couture-list > li > .couture-mark {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-feature-comparison-bordered-soft-grid > .couture-side:not(.couture-better) > .couture-list > li > .couture-mark {
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}

/* V6.388 #1123 - log-viewer-bordered-soft-mono: log viewer console */
.couture-log-viewer-bordered-soft-mono {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-fg, #111) 96%, var(--couture-bg, #fff) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
  overflow: hidden;
}
.couture-log-viewer-bordered-soft-mono > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 8px 14px;
  background: color-mix(in oklab, var(--couture-fg, #111) 88%, var(--couture-bg, #fff) 12%);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-log-viewer-bordered-soft-mono > .couture-head > .couture-dots {
  display: flex;
  gap: 6px;
}
.couture-log-viewer-bordered-soft-mono > .couture-head > .couture-dots > .couture-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-log-viewer-bordered-soft-mono > .couture-head > .couture-title {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 12px;
  font-weight: 600;
  color: color-mix(in oklab, #fff 70%, transparent);
}
.couture-log-viewer-bordered-soft-mono > .couture-head > .couture-clear {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  background: transparent;
  color: color-mix(in oklab, #fff 60%, transparent);
  border: 1px solid color-mix(in oklab, #fff 18%, transparent);
  cursor: pointer;
}
.couture-log-viewer-bordered-soft-mono > .couture-body {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 12px;
  line-height: 1.55;
  padding: 12px 16px;
  max-height: 320px;
  overflow-y: auto;
  color: color-mix(in oklab, #fff 80%, transparent);
}
.couture-log-viewer-bordered-soft-mono > .couture-body > .couture-line {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 12px;
}
.couture-log-viewer-bordered-soft-mono > .couture-body > .couture-line > .couture-time {
  color: color-mix(in oklab, #fff 40%, transparent);
}
.couture-log-viewer-bordered-soft-mono > .couture-body > .couture-line > .couture-level {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  height: fit-content;
  margin-top: 3px;
}
.couture-log-viewer-bordered-soft-mono > .couture-body > .couture-line > .couture-level.couture-info { background: color-mix(in oklab, #38bdf8 22%, transparent); color: #7dd3fc; }
.couture-log-viewer-bordered-soft-mono > .couture-body > .couture-line > .couture-level.couture-warn { background: color-mix(in oklab, #f59e0b 22%, transparent); color: #fbbf24; }
.couture-log-viewer-bordered-soft-mono > .couture-body > .couture-line > .couture-level.couture-error { background: color-mix(in oklab, #ef4444 22%, transparent); color: #fca5a5; }

/* V6.388 #1124 - terminal-output-bordered-soft: terminal/CLI block */
.couture-terminal-output-bordered-soft {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-fg, #111) 95%, var(--couture-bg, #fff) 5%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
  overflow: hidden;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
}
.couture-terminal-output-bordered-soft > .couture-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: color-mix(in oklab, var(--couture-fg, #111) 85%, var(--couture-bg, #fff) 15%);
  font-size: 12px;
  color: color-mix(in oklab, #fff 65%, transparent);
}
.couture-terminal-output-bordered-soft > .couture-head > .couture-dots {
  display: flex; gap: 6px;
}
.couture-terminal-output-bordered-soft > .couture-head > .couture-dots > span:nth-child(1) { background: #ef4444; }
.couture-terminal-output-bordered-soft > .couture-head > .couture-dots > span:nth-child(2) { background: #f59e0b; }
.couture-terminal-output-bordered-soft > .couture-head > .couture-dots > span:nth-child(3) { background: #10b981; }
.couture-terminal-output-bordered-soft > .couture-head > .couture-dots > span {
  width: 11px; height: 11px;
  border-radius: 50%;
  display: inline-block;
}
.couture-terminal-output-bordered-soft > .couture-body {
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.55;
  color: color-mix(in oklab, #fff 85%, transparent);
}
.couture-terminal-output-bordered-soft > .couture-body > .couture-line {
  white-space: pre-wrap;
}
.couture-terminal-output-bordered-soft > .couture-body > .couture-line.couture-prompt::before {
  content: "$ ";
  color: var(--couture-accent, #6366f1);
  font-weight: 700;
}
.couture-terminal-output-bordered-soft > .couture-body > .couture-line.couture-out {
  color: color-mix(in oklab, #fff 65%, transparent);
}
.couture-terminal-output-bordered-soft > .couture-body > .couture-line.couture-success {
  color: #34d399;
}

/* V6.388 #1125 - kanban-card-bordered-soft: draggable kanban card */
.couture-kanban-card-bordered-soft {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: grab;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.couture-kanban-card-bordered-soft:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px -8px color-mix(in oklab, var(--couture-fg, #111) 22%, transparent);
}
.couture-kanban-card-bordered-soft > .couture-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-kanban-card-bordered-soft > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  line-height: 1.35;
}
.couture-kanban-card-bordered-soft > .couture-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-kanban-card-bordered-soft > .couture-meta > .couture-due {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.couture-kanban-card-bordered-soft > .couture-meta > .couture-avatar {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  display: grid; place-items: center;
}
@media (prefers-reduced-motion: reduce) {
  .couture-kanban-card-bordered-soft { transition: none; transform: none; }
}

/* V6.388 #1126 - kanban-column-bordered-soft: kanban column container */
.couture-kanban-column-bordered-soft {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 14px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  min-height: 240px;
  width: 280px;
}
.couture-kanban-column-bordered-soft > .couture-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 4px 6px 8px;
}
.couture-kanban-column-bordered-soft > .couture-head > .couture-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
}
.couture-kanban-column-bordered-soft > .couture-head > .couture-name {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.couture-kanban-column-bordered-soft > .couture-head > .couture-count {
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-kanban-column-bordered-soft > .couture-add {
  font-size: 12px;
  font-weight: 600;
  padding: 8px;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  border: 1px dashed color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
  cursor: pointer;
  text-align: center;
}
.couture-kanban-column-bordered-soft > .couture-add:hover {
  color: var(--couture-accent, #6366f1);
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}

/* V6.388 #1127 - mini-map-bordered-soft: mini location map placeholder */
.couture-mini-map-bordered-soft {
  position: relative;
  display: grid;
  border-radius: 14px;
  background:
    repeating-linear-gradient(0deg, color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 0 1px, transparent 1px 24px),
    linear-gradient(135deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%));
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.couture-mini-map-bordered-soft > .couture-pin {
  position: absolute;
  width: 28px; height: 28px;
  border-radius: 50% 50% 50% 0;
  background: var(--couture-accent, #6366f1);
  border: 2px solid #fff;
  transform: rotate(-45deg);
  box-shadow: 0 4px 14px -2px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
}
.couture-mini-map-bordered-soft > .couture-pin::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #fff;
}
.couture-mini-map-bordered-soft > .couture-meta {
  position: absolute;
  bottom: 12px; left: 12px;
  display: grid;
  gap: 2px;
  padding: 8px 12px;
  border-radius: 9px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 4px 14px -4px color-mix(in oklab, var(--couture-fg, #111) 22%, transparent);
}
.couture-mini-map-bordered-soft > .couture-meta > .couture-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-mini-map-bordered-soft > .couture-meta > .couture-name {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}

/* V6.388 #1128 - breadcrumb-detail-bordered-soft: extended breadcrumb with title */
.couture-breadcrumb-detail-bordered-soft {
  display: grid;
  gap: 12px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-breadcrumb-detail-bordered-soft > .couture-trail {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-breadcrumb-detail-bordered-soft > .couture-trail > a {
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
}
.couture-breadcrumb-detail-bordered-soft > .couture-trail > a:hover { color: var(--couture-accent, #6366f1); }
.couture-breadcrumb-detail-bordered-soft > .couture-trail > .couture-sep {
  color: color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-breadcrumb-detail-bordered-soft > .couture-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}
.couture-breadcrumb-detail-bordered-soft > .couture-row > .couture-title {
  font-size: clamp(1.3rem, 2.2vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.018em;
  color: var(--couture-fg, #111);
}
.couture-breadcrumb-detail-bordered-soft > .couture-row > .couture-actions {
  display: flex;
  gap: 8px;
}

/* V6.388 #1129 - side-panel-drawer-bordered-soft: side panel drawer */
.couture-side-panel-drawer-bordered-soft {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0;
  padding: 0;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: -16px 0 40px -12px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
  width: 100%;
  max-width: 420px;
  height: 100%;
  min-height: 360px;
  overflow: hidden;
}
.couture-side-panel-drawer-bordered-soft > .couture-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-side-panel-drawer-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(0.95rem, 1.18vw, 1.04rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-side-panel-drawer-bordered-soft > .couture-head > .couture-close {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0;
  cursor: pointer;
  display: grid; place-items: center;
}
.couture-side-panel-drawer-bordered-soft > .couture-head > .couture-close:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-side-panel-drawer-bordered-soft > .couture-body {
  padding: 18px;
  overflow-y: auto;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
}
.couture-side-panel-drawer-bordered-soft > .couture-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 18px;
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}

/* V6.388 #1130 - top-banner-promo-bordered-soft: top promotional banner */
.couture-top-banner-promo-bordered-soft {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 10px clamp(16px, 3vw, 28px);
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
}
.couture-top-banner-promo-bordered-soft > .couture-text {
  font-size: clamp(0.82rem, 1.02vw, 0.9rem);
  display: flex;
  align-items: center;
  gap: 10px;
}
.couture-top-banner-promo-bordered-soft > .couture-text > .couture-pill {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, #fff 18%, transparent);
}
.couture-top-banner-promo-bordered-soft > .couture-text > strong { font-weight: 700; }
.couture-top-banner-promo-bordered-soft > .couture-cta {
  font-weight: 600;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  padding: 6px 14px;
  border-radius: 8px;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
}
.couture-top-banner-promo-bordered-soft > .couture-close {
  width: 24px; height: 24px;
  border-radius: 6px;
  background: transparent;
  color: color-mix(in oklab, #fff 75%, transparent);
  border: 0;
  cursor: pointer;
  display: grid; place-items: center;
  font-size: 14px;
}
.couture-top-banner-promo-bordered-soft > .couture-close:hover {
  background: color-mix(in oklab, #fff 14%, transparent);
}

/* V6.388 #1131 - footer-newsletter-bordered-soft: footer newsletter signup */
.couture-footer-newsletter-bordered-soft {
  display: grid;
  gap: 18px;
  padding: clamp(28px, 4vw, 40px) clamp(20px, 4vw, 36px);
  border-radius: 22px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
@media (min-width: 720px) {
  .couture-footer-newsletter-bordered-soft { grid-template-columns: 1fr auto; align-items: center; gap: 32px; }
}
.couture-footer-newsletter-bordered-soft > .couture-text > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--couture-accent, #6366f1);
  margin-bottom: 6px;
}
.couture-footer-newsletter-bordered-soft > .couture-text > .couture-title {
  font-size: clamp(1.2rem, 1.7vw, 1.4rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--couture-fg, #111);
  margin-bottom: 6px;
}
.couture-footer-newsletter-bordered-soft > .couture-text > .couture-sub {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-footer-newsletter-bordered-soft > .couture-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 6px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  min-width: 280px;
}
.couture-footer-newsletter-bordered-soft > .couture-form > input {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 8px 10px;
  background: transparent;
  border: 0;
  outline: none;
  color: var(--couture-fg, #111);
}
.couture-footer-newsletter-bordered-soft > .couture-form > input::placeholder {
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}
.couture-footer-newsletter-bordered-soft > .couture-form > button {
  font-weight: 600;
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border: 0;
  cursor: pointer;
}
.couture-footer-newsletter-bordered-soft > .couture-form > button:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 90%, var(--couture-fg, #111) 10%);
}

/* V6.388 #1132 - signin-form-card-bordered-soft: sign-in form card */
.couture-signin-form-card-bordered-soft {
  display: grid;
  gap: 16px;
  padding: clamp(28px, 4vw, 36px);
  border-radius: 20px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 22px 50px -22px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
  max-width: 420px;
  width: 100%;
}
.couture-signin-form-card-bordered-soft > .couture-head {
  display: grid;
  gap: 6px;
  text-align: center;
  margin-bottom: 4px;
}
.couture-signin-form-card-bordered-soft > .couture-head > .couture-logo {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: grid; place-items: center;
  margin: 0 auto 8px;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
  font-weight: 800;
  font-size: 18px;
}
.couture-signin-form-card-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(1.15rem, 1.5vw, 1.3rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
}
.couture-signin-form-card-bordered-soft > .couture-head > .couture-sub {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-signin-form-card-bordered-soft > .couture-providers {
  display: grid;
  gap: 8px;
}
.couture-signin-form-card-bordered-soft > .couture-providers > .couture-provider {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}
.couture-signin-form-card-bordered-soft > .couture-providers > .couture-provider:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 4%, var(--couture-bg, #fff));
}
.couture-signin-form-card-bordered-soft > .couture-providers > .couture-provider > .couture-icon {
  width: 18px; height: 18px;
}
.couture-signin-form-card-bordered-soft > .couture-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
}
.couture-signin-form-card-bordered-soft > .couture-divider::before,
.couture-signin-form-card-bordered-soft > .couture-divider::after {
  content: "";
  height: 1px;
  background: color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-signin-form-card-bordered-soft > .couture-divider > span {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-signin-form-card-bordered-soft > .couture-fields {
  display: grid;
  gap: 10px;
}
.couture-signin-form-card-bordered-soft > .couture-fields > input {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.couture-signin-form-card-bordered-soft > .couture-fields > input:focus {
  border-color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-signin-form-card-bordered-soft > .couture-submit {
  font-weight: 600;
  font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 11px 18px;
  border-radius: 10px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border: 0;
  cursor: pointer;
}
.couture-signin-form-card-bordered-soft > .couture-foot {
  text-align: center;
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-signin-form-card-bordered-soft > .couture-foot > a {
  color: var(--couture-accent, #6366f1);
  text-decoration: none;
  font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {
  .couture-signin-form-card-bordered-soft > .couture-fields > input { transition: none; }
}

/* V6.388 #1133 - magic-link-card-bordered-soft: magic-link signin card */
.couture-magic-link-card-bordered-soft {
  display: grid;
  gap: 14px;
  padding: clamp(28px, 4vw, 36px);
  border-radius: 20px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  text-align: center;
  max-width: 420px;
  width: 100%;
}
.couture-magic-link-card-bordered-soft > .couture-icon {
  width: 56px; height: 56px;
  border-radius: 16px;
  display: grid; place-items: center;
  margin: 0 auto;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 26px;
  box-shadow: 0 8px 22px -4px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-magic-link-card-bordered-soft > .couture-title {
  font-size: clamp(1.15rem, 1.5vw, 1.3rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
}
.couture-magic-link-card-bordered-soft > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-magic-link-card-bordered-soft > .couture-body > strong {
  color: var(--couture-fg, #111);
  font-weight: 600;
}
.couture-magic-link-card-bordered-soft > .couture-resend {
  font-size: 12px;
  color: var(--couture-accent, #6366f1);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-weight: 600;
}

/* V6.388 #1134 - otp-code-input-bordered-soft: 6-digit OTP input row */
.couture-otp-code-input-bordered-soft {
  display: grid;
  gap: 10px;
  padding: 4px;
}
.couture-otp-code-input-bordered-soft > .couture-label {
  font-size: 12px;
  font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  text-align: center;
}
.couture-otp-code-input-bordered-soft > .couture-fields {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}
.couture-otp-code-input-bordered-soft > .couture-fields > input {
  width: 100%;
  aspect-ratio: 1;
  text-align: center;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
  font-weight: 700;
  color: var(--couture-fg, #111);
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  border-radius: 10px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.couture-otp-code-input-bordered-soft > .couture-fields > input:focus {
  border-color: var(--couture-accent, #6366f1);
  background: var(--couture-bg, #fff);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-otp-code-input-bordered-soft > .couture-fields > input.couture-filled {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-otp-code-input-bordered-soft > .couture-help {
  text-align: center;
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-otp-code-input-bordered-soft > .couture-fields > input { transition: none; }
}

/* V6.388 #1135 - settings-row-bordered-soft-toggle: settings row with toggle */
.couture-settings-row-bordered-soft-toggle {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-settings-row-bordered-soft-toggle > .couture-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
}
.couture-settings-row-bordered-soft-toggle > .couture-row + .couture-row {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-text > .couture-sub {
  font-size: clamp(0.78rem, 0.95vw, 0.82rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  margin-top: 2px;
  line-height: 1.4;
}
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle {
  position: relative;
  width: 38px; height: 22px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
  cursor: pointer;
  transition: background 0.2s ease;
  border: 0;
  appearance: none;
}
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle::before {
  content: "";
  position: absolute;
  top: 2px; left: 2px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.2s ease;
  box-shadow: 0 1px 3px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
}
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle:checked,
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle.couture-on {
  background: var(--couture-accent, #6366f1);
}
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle:checked::before,
.couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle.couture-on::before {
  transform: translateX(16px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle,
  .couture-settings-row-bordered-soft-toggle > .couture-row > .couture-toggle::before { transition: none; }
}

/* V6.388 #1136 - theme-toggle-bordered-soft-segment: theme switcher segment */
.couture-theme-toggle-bordered-soft-segment {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-theme-toggle-bordered-soft-segment > .couture-opt {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0;
  cursor: pointer;
}
.couture-theme-toggle-bordered-soft-segment > .couture-opt:hover {
  color: var(--couture-fg, #111);
}
.couture-theme-toggle-bordered-soft-segment > .couture-opt.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
  box-shadow: 0 1px 3px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
.couture-theme-toggle-bordered-soft-segment > .couture-opt > .couture-icon {
  width: 14px; height: 14px;
  display: grid; place-items: center;
}

/* V6.388 #1137 - segment-control-bordered-soft: segmented control bar */
.couture-segment-control-bordered-soft {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0;
  padding: 3px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 5%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  width: 100%;
  max-width: 360px;
}
.couture-segment-control-bordered-soft > .couture-seg {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 600;
  padding: 7px 12px;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0;
  cursor: pointer;
  text-align: center;
  transition: background 0.2s ease, color 0.2s ease;
}
.couture-segment-control-bordered-soft > .couture-seg:hover {
  color: var(--couture-fg, #111);
}
.couture-segment-control-bordered-soft > .couture-seg.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  box-shadow: 0 1px 3px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-segment-control-bordered-soft > .couture-seg { transition: none; }
}

/* V6.388 #1138 - breadcrumb-stack-bordered-soft: vertical stacked breadcrumb */
.couture-breadcrumb-stack-bordered-soft {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-breadcrumb-stack-bordered-soft > .couture-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 6px 8px;
  border-radius: 8px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  text-decoration: none;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-breadcrumb-stack-bordered-soft > .couture-row:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  color: var(--couture-fg, #111);
}
.couture-breadcrumb-stack-bordered-soft > .couture-row.couture-current {
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
  font-weight: 600;
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-breadcrumb-stack-bordered-soft > .couture-row > .couture-icon {
  width: 16px; height: 16px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-breadcrumb-stack-bordered-soft > .couture-row.couture-current > .couture-icon {
  color: var(--couture-accent, #6366f1);
}
.couture-breadcrumb-stack-bordered-soft > .couture-row > .couture-meta {
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}

/* V6.388 #1139 - hero-video-bg-bordered-soft: hero with video background */
.couture-hero-video-bg-bordered-soft {
  position: relative;
  display: grid;
  align-items: end;
  padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 56px);
  min-height: 380px;
  border-radius: 24px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-fg, #111) 90%, var(--couture-accent, #6366f1) 10%), color-mix(in oklab, var(--couture-fg, #111) 75%, var(--couture-accent, #6366f1) 25%));
  overflow: hidden;
  color: #fff;
}
.couture-hero-video-bg-bordered-soft > video,
.couture-hero-video-bg-bordered-soft > .couture-video {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
}
.couture-hero-video-bg-bordered-soft::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, color-mix(in oklab, #000 0%, transparent) 0%, color-mix(in oklab, #000 65%, transparent) 100%);
  z-index: 1;
}
.couture-hero-video-bg-bordered-soft > .couture-content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 14px;
  max-width: 60ch;
}
.couture-hero-video-bg-bordered-soft > .couture-content > .couture-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 5px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, #fff 18%, transparent);
  backdrop-filter: blur(8px);
  width: fit-content;
}
.couture-hero-video-bg-bordered-soft > .couture-content > .couture-title {
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
}
.couture-hero-video-bg-bordered-soft > .couture-content > .couture-subtitle {
  font-size: clamp(0.96rem, 1.3vw, 1.1rem);
  line-height: 1.55;
  color: color-mix(in oklab, #fff 85%, transparent);
}
.couture-hero-video-bg-bordered-soft > .couture-content > .couture-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* V6.388 #1140 - callout-stat-pair-bordered-soft: 2-stat callout side by side */
.couture-callout-stat-pair-bordered-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: linear-gradient(140deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
@media (min-width: 640px) {
  .couture-callout-stat-pair-bordered-soft { grid-template-columns: 1fr 1fr; }
}
.couture-callout-stat-pair-bordered-soft > .couture-text {
  display: grid; gap: 6px;
}
.couture-callout-stat-pair-bordered-soft > .couture-text > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-callout-stat-pair-bordered-soft > .couture-text > .couture-title {
  font-size: clamp(1.15rem, 1.5vw, 1.3rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--couture-fg, #111);
  line-height: 1.25;
}
.couture-callout-stat-pair-bordered-soft > .couture-text > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-callout-stat-pair-bordered-soft > .couture-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-content: center;
}
.couture-callout-stat-pair-bordered-soft > .couture-stats > .couture-stat {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-callout-stat-pair-bordered-soft > .couture-stats > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: clamp(1.4rem, 2vw, 1.7rem);
  color: var(--couture-accent, #6366f1);
  letter-spacing: -0.02em;
}
.couture-callout-stat-pair-bordered-soft > .couture-stats > .couture-stat > .couture-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1141 - ribbon-bordered-soft-corner: corner ribbon decoration */
.couture-ribbon-bordered-soft-corner {
  position: relative;
  display: grid;
  gap: 10px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-ribbon-bordered-soft-corner > .couture-ribbon {
  position: absolute;
  top: 12px; right: -32px;
  transform: rotate(35deg);
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 5px 36px;
  box-shadow: 0 4px 10px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-ribbon-bordered-soft-corner > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-ribbon-bordered-soft-corner > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-ribbon-bordered-soft-corner > .couture-body {
  font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1142 - deck-step-cards-bordered-soft: step cards deck */
.couture-deck-step-cards-bordered-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: 4px;
}
@media (min-width: 760px) {
  .couture-deck-step-cards-bordered-soft { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-deck-step-cards-bordered-soft > .couture-step {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 22px 20px 20px;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-deck-step-cards-bordered-soft > .couture-step > .couture-num {
  font-variant-numeric: tabular-nums;
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
  font-weight: 800;
  font-size: 16px;
}
.couture-deck-step-cards-bordered-soft > .couture-step > .couture-step-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-deck-step-cards-bordered-soft > .couture-step > .couture-title {
  font-size: clamp(1rem, 1.3vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-deck-step-cards-bordered-soft > .couture-step > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
@media (min-width: 760px) {
  .couture-deck-step-cards-bordered-soft > .couture-step:not(:last-child)::after {
    content: ">";
    position: absolute;
    top: 50%; right: -10px;
    transform: translateY(-50%);
    width: 22px; height: 22px;
    border-radius: 50%;
    display: grid; place-items: center;
    background: var(--couture-bg, #fff);
    color: var(--couture-accent, #6366f1);
    font-weight: 700;
    border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
    z-index: 1;
  }
}

/* V6.388 #1143 - faq-accordion-grid-bordered-soft: 2-column FAQ accordion */
.couture-faq-accordion-grid-bordered-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 0;
}
@media (min-width: 760px) {
  .couture-faq-accordion-grid-bordered-soft { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.couture-faq-accordion-grid-bordered-soft > details {
  display: grid;
  gap: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
  align-content: start;
}
.couture-faq-accordion-grid-bordered-soft > details[open] {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}
.couture-faq-accordion-grid-bordered-soft > details > summary {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  cursor: pointer;
  font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
  list-style: none;
}
.couture-faq-accordion-grid-bordered-soft > details > summary::-webkit-details-marker { display: none; }
.couture-faq-accordion-grid-bordered-soft > details > summary::after {
  content: "+";
  font-size: 20px;
  font-weight: 300;
  color: var(--couture-accent, #6366f1);
  transition: transform 0.2s ease;
  width: 22px; height: 22px;
  display: grid; place-items: center;
  border-radius: 6px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-faq-accordion-grid-bordered-soft > details[open] > summary::after { transform: rotate(45deg); }
.couture-faq-accordion-grid-bordered-soft > details > .couture-answer {
  padding: 0 18px 16px;
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-faq-accordion-grid-bordered-soft > details > summary::after { transition: none; }
}

/* V6.388 #1144 - cookie-consent-banner-bordered-soft: cookie banner */
.couture-cookie-consent-banner-bordered-soft {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: clamp(18px, 2.6vw, 24px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  box-shadow: 0 18px 40px -16px color-mix(in oklab, var(--couture-fg, #111) 28%, transparent);
  max-width: 480px;
}
@media (min-width: 760px) {
  .couture-cookie-consent-banner-bordered-soft { grid-template-columns: 1fr auto; align-items: center; max-width: 720px; }
}
.couture-cookie-consent-banner-bordered-soft > .couture-text {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
}
.couture-cookie-consent-banner-bordered-soft > .couture-text > .couture-icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 16px;
  flex-shrink: 0;
}
.couture-cookie-consent-banner-bordered-soft > .couture-text > .couture-msg {
  font-size: clamp(0.83rem, 1.02vw, 0.9rem);
  line-height: 1.5;
  color: var(--couture-fg, #111);
}
.couture-cookie-consent-banner-bordered-soft > .couture-text > .couture-msg > a {
  color: var(--couture-accent, #6366f1);
  text-decoration: underline;
}
.couture-cookie-consent-banner-bordered-soft > .couture-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.couture-cookie-consent-banner-bordered-soft > .couture-actions > button {
  font-weight: 600;
  font-size: clamp(0.8rem, 1vw, 0.86rem);
  padding: 8px 16px;
  border-radius: 9px;
  cursor: pointer;
}
.couture-cookie-consent-banner-bordered-soft > .couture-actions > .couture-deny {
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 14%, transparent);
}
.couture-cookie-consent-banner-bordered-soft > .couture-actions > .couture-accept {
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border: 0;
}

/* V6.388 #1145 - scroll-progress-bar-soft: page scroll progress indicator */
.couture-scroll-progress-bar-soft {
  position: relative;
  height: 4px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  overflow: hidden;
}
.couture-scroll-progress-bar-soft > .couture-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  transition: width 0.15s ease;
}
.couture-scroll-progress-bar-soft.couture-thick { height: 6px; }
.couture-scroll-progress-bar-soft.couture-fixed-top {
  position: fixed;
  top: 0; left: 0; right: 0;
  border-radius: 0;
  z-index: 100;
  height: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-scroll-progress-bar-soft > .couture-fill { transition: none; }
}

/* V6.388 #1146 - back-to-top-fab-bordered-soft: floating back-to-top button */
.couture-back-to-top-fab-bordered-soft {
  display: inline-grid;
  place-items: center;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 12px 28px -8px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
  cursor: pointer;
  font-size: 18px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.couture-back-to-top-fab-bordered-soft:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px -8px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
}
.couture-back-to-top-fab-bordered-soft.couture-fixed {
  position: fixed;
  bottom: 24px; right: 24px;
  z-index: 50;
}
@media (prefers-reduced-motion: reduce) {
  .couture-back-to-top-fab-bordered-soft { transition: none; transform: none; }
}

/* V6.388 #1147 - share-button-row-bordered-soft: social share row */
.couture-share-button-row-bordered-soft {
  display: flex;
  gap: 6px;
  padding: 6px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-share-button-row-bordered-soft > .couture-share-label {
  font-size: 12px;
  font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  padding: 7px 10px 7px 12px;
}
.couture-share-button-row-bordered-soft > .couture-share-btn {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  cursor: pointer;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.couture-share-button-row-bordered-soft > .couture-share-btn:hover {
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
@media (prefers-reduced-motion: reduce) {
  .couture-share-button-row-bordered-soft > .couture-share-btn { transition: none; }
}

/* V6.388 #1148 - tooltip-bordered-soft-arrow: tooltip with arrow */
.couture-tooltip-bordered-soft-arrow {
  position: relative;
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  padding: 7px 11px;
  border-radius: 7px;
  background: color-mix(in oklab, var(--couture-fg, #111) 92%, var(--couture-bg, #fff) 8%);
  color: #fff;
  white-space: nowrap;
  box-shadow: 0 6px 14px -3px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
}
.couture-tooltip-bordered-soft-arrow::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 9px; height: 9px;
  background: color-mix(in oklab, var(--couture-fg, #111) 92%, var(--couture-bg, #fff) 8%);
}
.couture-tooltip-bordered-soft-arrow.couture-top::after { bottom: -5px; top: auto; }
.couture-tooltip-bordered-soft-arrow.couture-bottom::after { top: -5px; bottom: auto; }
.couture-tooltip-bordered-soft-arrow.couture-light {
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
.couture-tooltip-bordered-soft-arrow.couture-light::after {
  background: var(--couture-bg, #fff);
  border-right: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}

/* V6.388 #1149 - anchor-link-list-bordered-soft: anchor links list (TOC) */
.couture-anchor-link-list-bordered-soft {
  display: grid;
  gap: 2px;
  padding: 14px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-anchor-link-list-bordered-soft > .couture-head {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  padding: 6px 10px 8px;
}
.couture-anchor-link-list-bordered-soft > .couture-link {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 6px 10px;
  border-left: 2px solid transparent;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
  border-radius: 0 6px 6px 0;
}
.couture-anchor-link-list-bordered-soft > .couture-link:hover {
  color: var(--couture-fg, #111);
  background: color-mix(in oklab, var(--couture-fg, #111) 4%, transparent);
}
.couture-anchor-link-list-bordered-soft > .couture-link.couture-current {
  color: var(--couture-accent, #6366f1);
  font-weight: 600;
  border-left-color: var(--couture-accent, #6366f1);
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}
.couture-anchor-link-list-bordered-soft > .couture-link > .couture-num {
  font-variant-numeric: tabular-nums;
  font-size: 10px;
  color: color-mix(in oklab, var(--couture-fg, #111) 40%, transparent);
}
.couture-anchor-link-list-bordered-soft > .couture-link.couture-nested { padding-left: 24px; font-size: 12px; }

/* V6.388 #1150 - sticky-cta-bar-bordered-soft: sticky bottom CTA bar */
.couture-sticky-cta-bar-bordered-soft {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  box-shadow: 0 18px 40px -14px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-sticky-cta-bar-bordered-soft.couture-fixed-bottom {
  position: fixed;
  bottom: 16px; left: 16px; right: 16px;
  z-index: 60;
}
.couture-sticky-cta-bar-bordered-soft > .couture-icon {
  width: 38px; height: 38px;
  border-radius: 11px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
  font-size: 17px;
}
.couture-sticky-cta-bar-bordered-soft > .couture-text > .couture-title {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-sticky-cta-bar-bordered-soft > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-sticky-cta-bar-bordered-soft > .couture-cta {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  padding: 9px 16px;
  border-radius: 10px;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  text-decoration: none;
}

/* V6.388 #1151 - image-compare-slider-bordered-soft: before/after image slider */
.couture-image-compare-slider-bordered-soft {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-fg, #111) 20%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 20%, transparent));
}
.couture-image-compare-slider-bordered-soft > .couture-before,
.couture-image-compare-slider-bordered-soft > .couture-after {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.couture-image-compare-slider-bordered-soft > .couture-after {
  clip-path: inset(0 0 0 50%);
}
.couture-image-compare-slider-bordered-soft > .couture-handle {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 3px;
  background: var(--couture-accent, #6366f1);
  transform: translateX(-50%);
  cursor: ew-resize;
}
.couture-image-compare-slider-bordered-soft > .couture-handle::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
  border: 3px solid #fff;
  box-shadow: 0 4px 12px -2px color-mix(in oklab, #000 35%, transparent);
}
.couture-image-compare-slider-bordered-soft > .couture-label {
  position: absolute;
  bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, #000 70%, transparent);
  color: #fff;
  backdrop-filter: blur(6px);
}
.couture-image-compare-slider-bordered-soft > .couture-label.couture-left { left: 12px; }
.couture-image-compare-slider-bordered-soft > .couture-label.couture-right { right: 12px; }

/* V6.388 #1152 - hero-grid-cards-bordered-soft: hero with card grid below */
.couture-hero-grid-cards-bordered-soft {
  display: grid;
  gap: clamp(28px, 4vw, 42px);
  padding: clamp(40px, 5.5vw, 64px) clamp(20px, 4vw, 56px);
  border-radius: 28px;
  background: linear-gradient(180deg, color-mix(in oklab, var(--couture-bg, #fff) 88%, var(--couture-accent, #6366f1) 12%) 0%, var(--couture-bg, #fff) 60%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-hero-grid-cards-bordered-soft > .couture-head {
  display: grid;
  gap: 14px;
  text-align: center;
  max-width: 64ch;
  margin: 0 auto;
}
.couture-hero-grid-cards-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(1.8rem, 3.6vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--couture-fg, #111);
}
.couture-hero-grid-cards-bordered-soft > .couture-head > .couture-sub {
  font-size: clamp(0.96rem, 1.25vw, 1.1rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-hero-grid-cards-bordered-soft > .couture-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}
@media (min-width: 760px) {
  .couture-hero-grid-cards-bordered-soft > .couture-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-hero-grid-cards-bordered-soft > .couture-cards > .couture-card {
  display: grid;
  gap: 8px;
  padding: 20px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 12px 28px -16px color-mix(in oklab, var(--couture-fg, #111) 22%, transparent);
}
.couture-hero-grid-cards-bordered-soft > .couture-cards > .couture-card > .couture-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  font-size: 17px;
}
.couture-hero-grid-cards-bordered-soft > .couture-cards > .couture-card > .couture-title {
  font-size: clamp(0.95rem, 1.2vw, 1.04rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--couture-fg, #111);
}
.couture-hero-grid-cards-bordered-soft > .couture-cards > .couture-card > .couture-body {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1153 - sect-feature-image-trio-bordered: 3-image+text section */
.couture-sect-feature-image-trio-bordered {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  padding: clamp(28px, 4vw, 40px) 0;
}
@media (min-width: 760px) {
  .couture-sect-feature-image-trio-bordered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-sect-feature-image-trio-bordered > .couture-block {
  display: grid;
  gap: 14px;
}
.couture-sect-feature-image-trio-bordered > .couture-block > .couture-image {
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent));
  overflow: hidden;
}
.couture-sect-feature-image-trio-bordered > .couture-block > .couture-image > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-sect-feature-image-trio-bordered > .couture-block > .couture-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-sect-feature-image-trio-bordered > .couture-block > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-sect-feature-image-trio-bordered > .couture-block > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.92rem);
  line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1154 - callout-quote-row-bordered-soft: blockquote callout with author */
.couture-callout-quote-row-bordered-soft {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff));
  border-left: 4px solid var(--couture-accent, #6366f1);
}
.couture-callout-quote-row-bordered-soft > .couture-mark {
  font-family: Georgia, serif;
  font-size: 64px;
  line-height: 0.6;
  color: color-mix(in oklab, var(--couture-accent, #6366f1) 35%, transparent);
  margin-top: 6px;
}
.couture-callout-quote-row-bordered-soft > .couture-content > .couture-quote {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-style: italic;
  line-height: 1.55;
  color: var(--couture-fg, #111);
  margin-bottom: 12px;
}
.couture-callout-quote-row-bordered-soft > .couture-content > .couture-author {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
}
.couture-callout-quote-row-bordered-soft > .couture-content > .couture-author > .couture-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
}
.couture-callout-quote-row-bordered-soft > .couture-content > .couture-author > .couture-meta > .couture-name {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-callout-quote-row-bordered-soft > .couture-content > .couture-author > .couture-meta > .couture-role {
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1155 - brand-strip-soft-row: minimal logo strip */
.couture-brand-strip-soft-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 4vw, 40px);
  padding: clamp(20px, 3vw, 28px) clamp(16px, 3vw, 28px);
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}
.couture-brand-strip-soft-row > .couture-logo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: clamp(0.86rem, 1.08vw, 0.95rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  filter: grayscale(100%);
  opacity: 0.65;
  transition: opacity 0.2s ease, filter 0.2s ease, color 0.2s ease;
}
.couture-brand-strip-soft-row > .couture-logo:hover {
  opacity: 1;
  filter: grayscale(0%);
  color: var(--couture-fg, #111);
}
.couture-brand-strip-soft-row > .couture-logo > .couture-mark {
  width: 22px; height: 22px;
  border-radius: 6px;
  background: currentColor;
  opacity: 0.9;
}
@media (prefers-reduced-motion: reduce) {
  .couture-brand-strip-soft-row > .couture-logo { transition: none; }
}

/* V6.388 #1156 - sect-stats-quad-soft-bordered: 4-stat full-width section */
.couture-sect-stats-quad-soft-bordered {
  display: grid;
  gap: 28px;
  padding: clamp(40px, 6vw, 64px) clamp(20px, 4vw, 48px);
  border-radius: 24px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-sect-stats-quad-soft-bordered > .couture-head {
  display: grid; gap: 8px; text-align: center; max-width: 56ch; margin: 0 auto;
}
.couture-sect-stats-quad-soft-bordered > .couture-head > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--couture-accent, #6366f1);
}
.couture-sect-stats-quad-soft-bordered > .couture-head > .couture-title {
  font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 700; letter-spacing: -0.018em;
  color: var(--couture-fg, #111);
}
.couture-sect-stats-quad-soft-bordered > .couture-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px;
}
@media (min-width: 760px) {
  .couture-sect-stats-quad-soft-bordered > .couture-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-sect-stats-quad-soft-bordered > .couture-grid > .couture-stat {
  display: grid; gap: 6px; padding: 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-sect-stats-quad-soft-bordered > .couture-grid > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: -0.025em;
  font-size: clamp(1.6rem, 2.6vw, 2.1rem); color: var(--couture-accent, #6366f1);
}
.couture-sect-stats-quad-soft-bordered > .couture-grid > .couture-stat > .couture-label {
  font-size: clamp(0.78rem, 0.95vw, 0.85rem); font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-sect-stats-quad-soft-bordered > .couture-grid > .couture-stat > .couture-sub {
  font-size: clamp(0.74rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent); line-height: 1.45;
}

/* V6.388 #1157 - sect-cta-split-bordered-soft: split CTA section */
.couture-sect-cta-split-bordered-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: center;
  padding: clamp(40px, 6vw, 64px) clamp(24px, 4vw, 56px);
  border-radius: 24px;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
  position: relative;
  overflow: hidden;
}
@media (min-width: 760px) {
  .couture-sect-cta-split-bordered-soft { grid-template-columns: 1.2fr 1fr; }
}
.couture-sect-cta-split-bordered-soft::before {
  content: ""; position: absolute; top: -80px; right: -80px;
  width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in oklab, #fff 24%, transparent), transparent 65%);
  pointer-events: none;
}
.couture-sect-cta-split-bordered-soft > .couture-text {
  position: relative; z-index: 1;
}
.couture-sect-cta-split-bordered-soft > .couture-text > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
  color: color-mix(in oklab, #fff 75%, transparent); margin-bottom: 12px;
  display: inline-block;
}
.couture-sect-cta-split-bordered-soft > .couture-text > .couture-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -0.022em;
  line-height: 1.1; margin-bottom: 12px;
}
.couture-sect-cta-split-bordered-soft > .couture-text > .couture-sub {
  font-size: clamp(0.94rem, 1.18vw, 1.04rem); line-height: 1.55;
  color: color-mix(in oklab, #fff 85%, transparent);
}
.couture-sect-cta-split-bordered-soft > .couture-form {
  position: relative; z-index: 1;
  display: grid; gap: 8px;
  padding: 18px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
}
.couture-sect-cta-split-bordered-soft > .couture-form > .couture-label {
  font-size: 12px; font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-sect-cta-split-bordered-soft > .couture-form > .couture-row {
  display: grid; grid-template-columns: 1fr auto; gap: 8px;
}
.couture-sect-cta-split-bordered-soft > .couture-form > .couture-row > input {
  padding: 11px 14px; border-radius: 10px; font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  outline: none; color: var(--couture-fg, #111);
}
.couture-sect-cta-split-bordered-soft > .couture-form > .couture-row > input:focus {
  border-color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-sect-cta-split-bordered-soft > .couture-form > .couture-row > button {
  padding: 11px 18px; border-radius: 10px; border: 0;
  background: var(--couture-accent, #6366f1); color: #fff;
  font-weight: 600; font-size: clamp(0.85rem, 1.05vw, 0.92rem); cursor: pointer;
}

/* V6.388 #1158 - sect-team-grid-bordered-soft: team member grid */
.couture-sect-team-grid-bordered-soft {
  display: grid;
  gap: 18px;
  padding: clamp(28px, 4vw, 40px) 0;
}
.couture-sect-team-grid-bordered-soft > .couture-head {
  display: grid; gap: 8px; text-align: center; max-width: 56ch; margin: 0 auto;
}
.couture-sect-team-grid-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; letter-spacing: -0.02em;
  color: var(--couture-fg, #111);
}
.couture-sect-team-grid-bordered-soft > .couture-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;
}
@media (min-width: 760px) {
  .couture-sect-team-grid-bordered-soft > .couture-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-sect-team-grid-bordered-soft > .couture-grid > .couture-member {
  display: grid; gap: 8px;
  padding: 18px; border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  text-align: center;
}
.couture-sect-team-grid-bordered-soft > .couture-grid > .couture-member > .couture-photo {
  width: 80px; height: 80px; border-radius: 50%;
  margin: 0 auto;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden;
}
.couture-sect-team-grid-bordered-soft > .couture-grid > .couture-member > .couture-photo > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-sect-team-grid-bordered-soft > .couture-grid > .couture-member > .couture-name {
  font-size: clamp(0.94rem, 1.15vw, 1rem); font-weight: 600; color: var(--couture-fg, #111);
}
.couture-sect-team-grid-bordered-soft > .couture-grid > .couture-member > .couture-role {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); color: var(--couture-accent, #6366f1); font-weight: 600;
}
.couture-sect-team-grid-bordered-soft > .couture-grid > .couture-member > .couture-bio {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1159 - sect-blog-grid-bordered-soft: blog post grid section */
.couture-sect-blog-grid-bordered-soft {
  display: grid; gap: 18px; padding: clamp(28px, 4vw, 40px) 0;
}
.couture-sect-blog-grid-bordered-soft > .couture-head {
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end;
}
.couture-sect-blog-grid-bordered-soft > .couture-head > .couture-text > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--couture-accent, #6366f1); margin-bottom: 4px;
}
.couture-sect-blog-grid-bordered-soft > .couture-head > .couture-text > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; letter-spacing: -0.018em;
  color: var(--couture-fg, #111);
}
.couture-sect-blog-grid-bordered-soft > .couture-head > .couture-link {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); font-weight: 600;
  color: var(--couture-accent, #6366f1); text-decoration: none;
}
.couture-sect-blog-grid-bordered-soft > .couture-grid {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px;
}
@media (min-width: 760px) {
  .couture-sect-blog-grid-bordered-soft > .couture-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-sect-blog-grid-bordered-soft > .couture-grid > .couture-post {
  display: grid; gap: 10px;
  border-radius: 16px; overflow: hidden;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-sect-blog-grid-bordered-soft > .couture-grid > .couture-post > .couture-cover {
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent));
}
.couture-sect-blog-grid-bordered-soft > .couture-grid > .couture-post > .couture-cover > img {
  width: 100%; height: 100%; object-fit: cover;
}
.couture-sect-blog-grid-bordered-soft > .couture-grid > .couture-post > .couture-meta {
  display: grid; gap: 8px; padding: 0 18px 18px;
}
.couture-sect-blog-grid-bordered-soft > .couture-grid > .couture-post > .couture-meta > .couture-tag {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--couture-accent, #6366f1); display: inline-block; width: fit-content;
  padding: 3px 8px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-sect-blog-grid-bordered-soft > .couture-grid > .couture-post > .couture-meta > .couture-title {
  font-size: clamp(1rem, 1.25vw, 1.08rem); font-weight: 700; letter-spacing: -0.012em;
  color: var(--couture-fg, #111); line-height: 1.3;
}
.couture-sect-blog-grid-bordered-soft > .couture-grid > .couture-post > .couture-meta > .couture-byline {
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1160 - sect-pricing-toggle-bordered-soft: pricing with billing toggle */
.couture-sect-pricing-toggle-bordered-soft {
  display: grid; gap: 24px; padding: clamp(28px, 4vw, 40px) 0;
}
.couture-sect-pricing-toggle-bordered-soft > .couture-head {
  display: grid; gap: 14px; text-align: center;
}
.couture-sect-pricing-toggle-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(1.6rem, 2.8vw, 2.1rem); font-weight: 700; letter-spacing: -0.02em;
  color: var(--couture-fg, #111);
}
.couture-sect-pricing-toggle-bordered-soft > .couture-head > .couture-toggle {
  justify-self: center;
  display: inline-flex; gap: 4px; padding: 4px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 5%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-sect-pricing-toggle-bordered-soft > .couture-head > .couture-toggle > button {
  font-size: 12px; font-weight: 600; padding: 7px 16px; border-radius: 8px;
  background: transparent; color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0; cursor: pointer;
}
.couture-sect-pricing-toggle-bordered-soft > .couture-head > .couture-toggle > button.couture-active {
  background: var(--couture-bg, #fff); color: var(--couture-accent, #6366f1);
  box-shadow: 0 1px 3px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
.couture-sect-pricing-toggle-bordered-soft > .couture-head > .couture-toggle > button > .couture-save {
  font-size: 9px; font-weight: 700; padding: 1px 6px; border-radius: 999px;
  background: color-mix(in oklab, #10b981 14%, transparent); color: #047857;
  margin-left: 4px; vertical-align: middle;
}
.couture-sect-pricing-toggle-bordered-soft > .couture-tiers {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;
}
@media (min-width: 760px) {
  .couture-sect-pricing-toggle-bordered-soft > .couture-tiers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* V6.388 #1161 - profile-hero-card-bordered-soft: large profile hero */
.couture-profile-hero-card-bordered-soft {
  position: relative;
  display: grid; gap: 18px;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 22px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-profile-hero-card-bordered-soft > .couture-banner {
  position: absolute; top: 0; left: 0; right: 0; height: 120px;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
}
.couture-profile-hero-card-bordered-soft > .couture-row {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 18px; align-items: end;
  position: relative; z-index: 1;
  margin-top: 70px;
}
.couture-profile-hero-card-bordered-soft > .couture-row > .couture-avatar {
  width: 96px; height: 96px; border-radius: 22px;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff; font-weight: 800; font-size: 36px;
  border: 4px solid var(--couture-bg, #fff);
  box-shadow: 0 6px 20px -4px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-profile-hero-card-bordered-soft > .couture-row > .couture-info {
  padding-bottom: 6px;
}
.couture-profile-hero-card-bordered-soft > .couture-row > .couture-info > .couture-name {
  font-size: clamp(1.2rem, 1.6vw, 1.4rem); font-weight: 700;
  letter-spacing: -0.015em; color: var(--couture-fg, #111);
}
.couture-profile-hero-card-bordered-soft > .couture-row > .couture-info > .couture-handle {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-profile-hero-card-bordered-soft > .couture-row > .couture-actions {
  display: flex; gap: 8px;
  padding-bottom: 6px;
}
.couture-profile-hero-card-bordered-soft > .couture-bio {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
}
.couture-profile-hero-card-bordered-soft > .couture-stats {
  display: flex; flex-wrap: wrap; gap: 22px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-profile-hero-card-bordered-soft > .couture-stats > .couture-stat {
  display: grid; gap: 2px;
}
.couture-profile-hero-card-bordered-soft > .couture-stats > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 700;
  font-size: clamp(1rem, 1.3vw, 1.1rem); color: var(--couture-fg, #111);
}
.couture-profile-hero-card-bordered-soft > .couture-stats > .couture-stat > .couture-label {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1162 - mega-menu-grid-bordered-soft: dropdown mega-menu grid */
.couture-mega-menu-grid-bordered-soft {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 22px 50px -16px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
  width: 100%; max-width: 880px;
}
@media (max-width: 720px) {
  .couture-mega-menu-grid-bordered-soft { grid-template-columns: 1fr; }
}
.couture-mega-menu-grid-bordered-soft > .couture-feature {
  display: grid; gap: 10px;
  padding: 18px;
  border-radius: 12px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-mega-menu-grid-bordered-soft > .couture-feature > .couture-eyebrow {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em; color: var(--couture-accent, #6366f1);
}
.couture-mega-menu-grid-bordered-soft > .couture-feature > .couture-title {
  font-size: clamp(0.95rem, 1.18vw, 1.04rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-mega-menu-grid-bordered-soft > .couture-feature > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-mega-menu-grid-bordered-soft > .couture-col > .couture-head {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  padding-bottom: 8px; margin-bottom: 6px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-mega-menu-grid-bordered-soft > .couture-col > a {
  display: grid; grid-template-columns: auto 1fr;
  gap: 10px; align-items: center;
  padding: 7px 6px; border-radius: 7px;
  font-size: clamp(0.8rem, 1vw, 0.86rem);
  color: var(--couture-fg, #111); text-decoration: none;
}
.couture-mega-menu-grid-bordered-soft > .couture-col > a:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}
.couture-mega-menu-grid-bordered-soft > .couture-col > a > .couture-icon {
  width: 16px; height: 16px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}

/* V6.388 #1163 - dialog-confirm-bordered-soft: confirm dialog */
.couture-dialog-confirm-bordered-soft {
  display: grid; gap: 16px;
  padding: clamp(22px, 3.2vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 26px 60px -20px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
  max-width: 420px; width: 100%;
}
.couture-dialog-confirm-bordered-soft > .couture-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: color-mix(in oklab, #ef4444 14%, transparent);
  color: #dc2626; font-size: 20px;
}
.couture-dialog-confirm-bordered-soft.couture-info > .couture-icon {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-dialog-confirm-bordered-soft > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-dialog-confirm-bordered-soft > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-dialog-confirm-bordered-soft > .couture-actions {
  display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px;
}
.couture-dialog-confirm-bordered-soft > .couture-actions > .couture-cancel {
  font-weight: 600; font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  padding: 9px 16px; border-radius: 9px;
  background: transparent; color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 14%, transparent); cursor: pointer;
}
.couture-dialog-confirm-bordered-soft > .couture-actions > .couture-confirm {
  font-weight: 600; font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  padding: 9px 16px; border-radius: 9px; border: 0;
  background: #dc2626; color: #fff; cursor: pointer;
}
.couture-dialog-confirm-bordered-soft.couture-info > .couture-actions > .couture-confirm {
  background: var(--couture-accent, #6366f1);
}

/* V6.388 #1164 - audio-tracklist-row-bordered-soft: tracklist with play buttons */
.couture-audio-tracklist-row-bordered-soft {
  display: grid; gap: 0;
  padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-audio-tracklist-row-bordered-soft > .couture-track {
  display: grid; grid-template-columns: auto auto 1fr auto auto;
  gap: 14px; align-items: center;
  padding: 10px 16px;
}
.couture-audio-tracklist-row-bordered-soft > .couture-track + .couture-track {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-audio-tracklist-row-bordered-soft > .couture-track:hover,
.couture-audio-tracklist-row-bordered-soft > .couture-track.couture-playing {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
}
.couture-audio-tracklist-row-bordered-soft > .couture-track > .couture-num {
  font-variant-numeric: tabular-nums; font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  width: 18px; text-align: right;
}
.couture-audio-tracklist-row-bordered-soft > .couture-track > .couture-play {
  width: 28px; height: 28px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer; font-size: 11px;
}
.couture-audio-tracklist-row-bordered-soft > .couture-track > .couture-info > .couture-title {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); font-weight: 600; color: var(--couture-fg, #111);
}
.couture-audio-tracklist-row-bordered-soft > .couture-track > .couture-info > .couture-artist {
  font-size: 11px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-audio-tracklist-row-bordered-soft > .couture-track > .couture-time {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-variant-numeric: tabular-nums; font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-audio-tracklist-row-bordered-soft > .couture-track > .couture-actions {
  display: inline-flex; gap: 6px;
}

/* V6.388 #1165 - image-mosaic-bordered-soft: image mosaic asymmetric grid */
.couture-image-mosaic-bordered-soft {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 100px;
  gap: 10px;
  padding: 0;
  border-radius: 18px;
  overflow: hidden;
}
.couture-image-mosaic-bordered-soft > .couture-tile {
  position: relative;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden;
  border-radius: 12px;
  cursor: pointer;
}
.couture-image-mosaic-bordered-soft > .couture-tile > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.4s ease;
}
.couture-image-mosaic-bordered-soft > .couture-tile:hover > img { transform: scale(1.05); }
.couture-image-mosaic-bordered-soft > .couture-tile.couture-large {
  grid-column: span 2; grid-row: span 2;
}
.couture-image-mosaic-bordered-soft > .couture-tile.couture-wide { grid-column: span 2; }
.couture-image-mosaic-bordered-soft > .couture-tile.couture-tall { grid-row: span 2; }
@media (max-width: 640px) {
  .couture-image-mosaic-bordered-soft { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-image-mosaic-bordered-soft > .couture-tile > img { transition: none; transform: none; }
}

/* V6.388 #1166 - badge-icon-circle-bordered-soft: small icon-in-circle badge */
.couture-badge-icon-circle-bordered-soft {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 6px;
  align-items: center;
  padding: 4px 12px 4px 4px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  font-size: clamp(0.78rem, 0.95vw, 0.82rem);
  font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-badge-icon-circle-bordered-soft > .couture-icon {
  width: 22px; height: 22px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.couture-badge-icon-circle-bordered-soft.couture-success > .couture-icon { background: #10b981; }
.couture-badge-icon-circle-bordered-soft.couture-warning > .couture-icon { background: #f59e0b; }
.couture-badge-icon-circle-bordered-soft.couture-error > .couture-icon { background: #ef4444; }

/* V6.388 #1167 - animated-gradient-border-card: card with animated gradient border */
.couture-animated-gradient-border-card {
  position: relative;
  display: grid; gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  isolation: isolate;
}
.couture-animated-gradient-border-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -1;
  border-radius: 19px;
  background: linear-gradient(120deg,
    var(--couture-accent, #6366f1) 0%,
    color-mix(in oklab, var(--couture-accent, #6366f1) 65%, #fff 35%) 25%,
    color-mix(in oklab, var(--couture-accent, #6366f1) 50%, var(--couture-fg, #111) 50%) 50%,
    color-mix(in oklab, var(--couture-accent, #6366f1) 75%, #fff 25%) 75%,
    var(--couture-accent, #6366f1) 100%);
  background-size: 300% 300%;
  animation: couture-gradient-1167 8s ease infinite;
}
.couture-animated-gradient-border-card > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-animated-gradient-border-card > .couture-title {
  font-size: clamp(1.1rem, 1.4vw, 1.22rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-animated-gradient-border-card > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
@keyframes couture-gradient-1167 {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-animated-gradient-border-card::before { animation: none; }
}

/* V6.388 #1168 - bento-feature-cards-bordered-soft: feature-rich bento grid */
.couture-bento-feature-cards-bordered-soft {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: 4px;
}
@media (min-width: 760px) {
  .couture-bento-feature-cards-bordered-soft {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: 180px;
  }
  .couture-bento-feature-cards-bordered-soft > .couture-cell.couture-hero { grid-column: span 4; grid-row: span 2; }
  .couture-bento-feature-cards-bordered-soft > .couture-cell.couture-tall { grid-column: span 2; grid-row: span 2; }
  .couture-bento-feature-cards-bordered-soft > .couture-cell.couture-wide { grid-column: span 3; }
  .couture-bento-feature-cards-bordered-soft > .couture-cell.couture-square { grid-column: span 3; }
}
.couture-bento-feature-cards-bordered-soft > .couture-cell {
  position: relative;
  display: grid; gap: 10px; align-content: end;
  padding: 22px;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-bento-feature-cards-bordered-soft > .couture-cell.couture-accent {
  background: linear-gradient(160deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff; border: 0;
}
.couture-bento-feature-cards-bordered-soft > .couture-cell > .couture-icon {
  width: 40px; height: 40px; border-radius: 11px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 18px;
  position: absolute; top: 22px; left: 22px;
}
.couture-bento-feature-cards-bordered-soft > .couture-cell.couture-accent > .couture-icon {
  background: color-mix(in oklab, #fff 22%, transparent); color: #fff;
}
.couture-bento-feature-cards-bordered-soft > .couture-cell > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem); font-weight: 700; letter-spacing: -0.012em;
}
.couture-bento-feature-cards-bordered-soft > .couture-cell > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-bento-feature-cards-bordered-soft > .couture-cell.couture-accent > .couture-body {
  color: color-mix(in oklab, #fff 85%, transparent);
}

/* V6.388 #1169 - tab-panel-content-bordered-soft: tabs with content area */
.couture-tab-panel-content-bordered-soft {
  display: grid; gap: 14px;
  padding: 4px;
}
.couture-tab-panel-content-bordered-soft > .couture-tabs {
  display: flex; gap: 2px;
  padding: 4px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-tab-panel-content-bordered-soft > .couture-tabs > .couture-tab {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem); font-weight: 600;
  padding: 8px 14px; border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0; cursor: pointer;
}
.couture-tab-panel-content-bordered-soft > .couture-tabs > .couture-tab.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  box-shadow: 0 1px 3px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
.couture-tab-panel-content-bordered-soft > .couture-panel {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-tab-panel-content-bordered-soft > .couture-panel > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); margin-bottom: 8px;
}
.couture-tab-panel-content-bordered-soft > .couture-panel > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}

/* V6.388 #1170 - snippet-callout-bordered-soft: code snippet inline callout */
.couture-snippet-callout-bordered-soft {
  display: grid; grid-template-columns: 1fr auto;
  gap: 14px; align-items: center;
  padding: 12px 14px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-snippet-callout-bordered-soft > code {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  color: var(--couture-accent, #6366f1);
  background: transparent; padding: 0;
  white-space: nowrap; overflow-x: auto;
  font-weight: 600;
}
.couture-snippet-callout-bordered-soft > .couture-copy {
  font-size: 11px; font-weight: 600;
  padding: 5px 10px; border-radius: 6px;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: pointer; flex-shrink: 0;
}
.couture-snippet-callout-bordered-soft > .couture-copy:hover {
  color: var(--couture-accent, #6366f1);
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}

/* V6.388 #1171 - glass-card-bordered-soft: frosted-glass aesthetic card */
.couture-glass-card-bordered-soft {
  display: grid; gap: 12px;
  padding: clamp(22px, 3.2vw, 28px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 70%, transparent);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid color-mix(in oklab, #fff 35%, transparent);
  box-shadow: 0 12px 32px -10px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent),
              inset 0 1px 0 color-mix(in oklab, #fff 60%, transparent);
}
.couture-glass-card-bordered-soft > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-glass-card-bordered-soft > .couture-title {
  font-size: clamp(1.1rem, 1.4vw, 1.22rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-glass-card-bordered-soft > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 72%, transparent);
}
.couture-glass-card-bordered-soft > .couture-actions {
  display: flex; gap: 8px; padding-top: 4px;
}

/* V6.388 #1172 - neumorphic-button-bordered-soft: soft-shadow button */
.couture-neumorphic-button-bordered-soft {
  display: inline-grid; grid-auto-flow: column;
  gap: 8px; align-items: center;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  font-weight: 600;
  padding: 11px 22px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  box-shadow:
    inset 1px 1px 2px color-mix(in oklab, #fff 80%, transparent),
    inset -1px -1px 2px color-mix(in oklab, var(--couture-fg, #111) 6%, transparent),
    4px 4px 12px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent),
    -4px -4px 12px color-mix(in oklab, #fff 60%, transparent);
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.1s ease;
}
.couture-neumorphic-button-bordered-soft:hover {
  box-shadow:
    inset 1px 1px 2px color-mix(in oklab, #fff 70%, transparent),
    inset -1px -1px 2px color-mix(in oklab, var(--couture-fg, #111) 8%, transparent),
    6px 6px 16px color-mix(in oklab, var(--couture-fg, #111) 16%, transparent),
    -6px -6px 16px color-mix(in oklab, #fff 70%, transparent);
}
.couture-neumorphic-button-bordered-soft:active {
  transform: translateY(1px);
  box-shadow:
    inset 3px 3px 6px color-mix(in oklab, var(--couture-fg, #111) 14%, transparent),
    inset -3px -3px 6px color-mix(in oklab, #fff 70%, transparent);
}
.couture-neumorphic-button-bordered-soft.couture-accent {
  background: var(--couture-accent, #6366f1); color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .couture-neumorphic-button-bordered-soft { transition: none; transform: none; }
}

/* V6.388 #1173 - focus-card-spotlight-bordered: spotlight-effect feature card */
.couture-focus-card-spotlight-bordered {
  position: relative;
  display: grid; gap: 12px;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 20px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
  cursor: pointer;
}
.couture-focus-card-spotlight-bordered::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px circle at var(--couture-x, 50%) var(--couture-y, 50%),
    color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent),
    transparent 40%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.couture-focus-card-spotlight-bordered:hover::before { opacity: 1; }
.couture-focus-card-spotlight-bordered > .couture-icon {
  position: relative;
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff; font-size: 20px;
  z-index: 1;
}
.couture-focus-card-spotlight-bordered > .couture-title {
  position: relative; z-index: 1;
  font-size: clamp(1.1rem, 1.4vw, 1.22rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-focus-card-spotlight-bordered > .couture-body {
  position: relative; z-index: 1;
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-focus-card-spotlight-bordered::before { transition: none; }
}

/* V6.388 #1174 - link-list-bordered-soft-icon: navigable link list with icon+arrow */
.couture-link-list-bordered-soft-icon {
  display: grid; gap: 6px;
  padding: 10px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-link-list-bordered-soft-icon > .couture-link {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--couture-fg, #111);
  transition: background 0.15s ease;
}
.couture-link-list-bordered-soft-icon > .couture-link:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}
.couture-link-list-bordered-soft-icon > .couture-link > .couture-icon {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 14px;
}
.couture-link-list-bordered-soft-icon > .couture-link > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
}
.couture-link-list-bordered-soft-icon > .couture-link > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-link-list-bordered-soft-icon > .couture-link > .couture-arrow {
  color: color-mix(in oklab, var(--couture-fg, #111) 40%, transparent);
  font-weight: 700; font-size: 14px;
  transition: transform 0.2s ease, color 0.2s ease;
}
.couture-link-list-bordered-soft-icon > .couture-link:hover > .couture-arrow {
  color: var(--couture-accent, #6366f1);
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-list-bordered-soft-icon > .couture-link,
  .couture-link-list-bordered-soft-icon > .couture-link > .couture-arrow { transition: none; transform: none; }
}

/* V6.388 #1175 - contact-form-card-bordered-soft: contact form card */
.couture-contact-form-card-bordered-soft {
  display: grid; gap: 14px;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 20px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-contact-form-card-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(1.15rem, 1.5vw, 1.3rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.015em;
}
.couture-contact-form-card-bordered-soft > .couture-head > .couture-sub {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  margin-top: 4px;
}
.couture-contact-form-card-bordered-soft > .couture-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
@media (max-width: 540px) {
  .couture-contact-form-card-bordered-soft > .couture-row { grid-template-columns: 1fr; }
}
.couture-contact-form-card-bordered-soft > .couture-row > .couture-field,
.couture-contact-form-card-bordered-soft > .couture-field {
  display: grid; gap: 5px;
}
.couture-contact-form-card-bordered-soft .couture-field > .couture-label {
  font-size: 12px; font-weight: 600; color: var(--couture-fg, #111);
}
.couture-contact-form-card-bordered-soft .couture-field > input,
.couture-contact-form-card-bordered-soft .couture-field > textarea {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 10px 14px; border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.couture-contact-form-card-bordered-soft .couture-field > textarea {
  min-height: 110px; resize: vertical; font-family: inherit; line-height: 1.5;
}
.couture-contact-form-card-bordered-soft .couture-field > input:focus,
.couture-contact-form-card-bordered-soft .couture-field > textarea:focus {
  border-color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-contact-form-card-bordered-soft > .couture-submit {
  font-weight: 600; font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 11px 22px; border-radius: 10px;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer;
  justify-self: start;
}
@media (prefers-reduced-motion: reduce) {
  .couture-contact-form-card-bordered-soft .couture-field > input,
  .couture-contact-form-card-bordered-soft .couture-field > textarea { transition: none; }
}

/* V6.388 #1176 - donation-card-bordered-soft-amounts: donation amount picker */
.couture-donation-card-bordered-soft-amounts {
  display: grid; gap: 14px;
  padding: clamp(24px, 3.5vw, 30px);
  border-radius: 20px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
}
.couture-donation-card-bordered-soft-amounts > .couture-head > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-donation-card-bordered-soft-amounts > .couture-head > .couture-title {
  font-size: clamp(1.15rem, 1.5vw, 1.3rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
  margin-top: 4px;
}
.couture-donation-card-bordered-soft-amounts > .couture-amounts {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
}
@media (max-width: 480px) {
  .couture-donation-card-bordered-soft-amounts > .couture-amounts { grid-template-columns: repeat(2, 1fr); }
}
.couture-donation-card-bordered-soft-amounts > .couture-amounts > .couture-amount {
  font-variant-numeric: tabular-nums;
  font-size: clamp(0.95rem, 1.18vw, 1.04rem); font-weight: 700;
  padding: 12px; border-radius: 11px;
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: pointer;
  text-align: center;
}
.couture-donation-card-bordered-soft-amounts > .couture-amounts > .couture-amount:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}
.couture-donation-card-bordered-soft-amounts > .couture-amounts > .couture-amount.couture-active {
  background: var(--couture-accent, #6366f1); color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
.couture-donation-card-bordered-soft-amounts > .couture-custom {
  display: grid; grid-template-columns: auto 1fr; gap: 8px;
  align-items: center;
  padding: 10px 14px;
  border-radius: 11px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-donation-card-bordered-soft-amounts > .couture-custom > .couture-currency {
  font-weight: 700; color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-donation-card-bordered-soft-amounts > .couture-custom > input {
  font-size: clamp(0.95rem, 1.18vw, 1.04rem); font-weight: 700;
  font-variant-numeric: tabular-nums;
  background: transparent; border: 0; outline: none;
  color: var(--couture-fg, #111); width: 100%;
}
.couture-donation-card-bordered-soft-amounts > .couture-submit {
  font-weight: 600; font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 12px 22px; border-radius: 11px;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer;
}

/* V6.388 #1177 - ribbon-stripe-row-bordered-soft: stripe ribbon banner row */
.couture-ribbon-stripe-row-bordered-soft {
  position: relative;
  display: grid; gap: 4px;
  padding: 10px 22px 10px 36px;
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff;
  width: fit-content;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 50%, 100% 100%, 0 100%);
}
.couture-ribbon-stripe-row-bordered-soft > .couture-eyebrow {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: color-mix(in oklab, #fff 80%, transparent);
}
.couture-ribbon-stripe-row-bordered-soft > .couture-text {
  font-size: clamp(0.86rem, 1.06vw, 0.92rem); font-weight: 700;
}
.couture-ribbon-stripe-row-bordered-soft > .couture-text > strong { font-weight: 800; }

/* V6.388 #1178 - vertical-stepper-bordered-soft: vertical stepper progress */
.couture-vertical-stepper-bordered-soft {
  display: grid; gap: 4px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-vertical-stepper-bordered-soft > .couture-step {
  position: relative;
  display: grid; grid-template-columns: 32px 1fr;
  gap: 14px; padding: 10px 0;
}
.couture-vertical-stepper-bordered-soft > .couture-step:not(:last-child)::after {
  content: ""; position: absolute;
  top: 38px; bottom: 0; left: 15px;
  width: 2px;
  background: color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-vertical-stepper-bordered-soft > .couture-step.couture-done:not(:last-child)::after {
  background: var(--couture-accent, #6366f1);
}
.couture-vertical-stepper-bordered-soft > .couture-step > .couture-marker {
  position: relative; z-index: 1;
  width: 32px; height: 32px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  border: 2px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  font-size: 13px; font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-vertical-stepper-bordered-soft > .couture-step.couture-done > .couture-marker {
  background: var(--couture-accent, #6366f1); color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
.couture-vertical-stepper-bordered-soft > .couture-step.couture-active > .couture-marker {
  border-color: var(--couture-accent, #6366f1);
  color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-vertical-stepper-bordered-soft > .couture-step > .couture-content {
  padding-top: 6px;
}
.couture-vertical-stepper-bordered-soft > .couture-step > .couture-content > .couture-title {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-vertical-stepper-bordered-soft > .couture-step.couture-done > .couture-content > .couture-title {
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-decoration: line-through;
}
.couture-vertical-stepper-bordered-soft > .couture-step > .couture-content > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  margin-top: 3px;
}

/* V6.388 #1179 - banner-icon-stat-bordered-soft: 4-column icon+stat banner */
.couture-banner-icon-stat-bordered-soft {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 0;
  padding: 0;
  border-radius: 16px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  overflow: hidden;
}
@media (min-width: 720px) {
  .couture-banner-icon-stat-bordered-soft { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-banner-icon-stat-bordered-soft > .couture-cell {
  display: grid; grid-template-columns: auto 1fr;
  gap: 14px; align-items: center;
  padding: clamp(16px, 2.4vw, 22px);
}
@media (min-width: 720px) {
  .couture-banner-icon-stat-bordered-soft > .couture-cell:not(:last-child) {
    border-right: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  }
}
.couture-banner-icon-stat-bordered-soft > .couture-cell > .couture-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff; font-size: 20px;
  box-shadow: 0 4px 14px -2px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-banner-icon-stat-bordered-soft > .couture-cell > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 800;
  font-size: clamp(1.3rem, 2vw, 1.6rem); color: var(--couture-fg, #111);
  letter-spacing: -0.018em;
}
.couture-banner-icon-stat-bordered-soft > .couture-cell > .couture-text > .couture-label {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1180 - review-card-stars-bordered-soft: review card with stars */
.couture-review-card-stars-bordered-soft {
  display: grid; gap: 12px;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-review-card-stars-bordered-soft > .couture-stars {
  display: inline-flex; gap: 1px;
  color: #f59e0b; font-size: 15px;
}
.couture-review-card-stars-bordered-soft > .couture-stars > .couture-star.couture-empty {
  color: color-mix(in oklab, #f59e0b 25%, transparent);
}
.couture-review-card-stars-bordered-soft > .couture-quote {
  font-size: clamp(0.92rem, 1.15vw, 1rem); line-height: 1.55;
  color: var(--couture-fg, #111);
}
.couture-review-card-stars-bordered-soft > .couture-author {
  display: grid; grid-template-columns: auto 1fr;
  gap: 12px; align-items: center;
  padding-top: 8px;
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-review-card-stars-bordered-soft > .couture-author > .couture-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff; font-weight: 700; font-size: 13px;
}
.couture-review-card-stars-bordered-soft > .couture-author > .couture-meta > .couture-name {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-review-card-stars-bordered-soft > .couture-author > .couture-meta > .couture-meta-line {
  font-size: 11px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1181 - badge-meta-stack-bordered-soft: stacked meta badge group */
.couture-badge-meta-stack-bordered-soft {
  display: inline-grid;
  grid-auto-flow: column; gap: 6px;
  padding: 0;
  align-items: center;
}
.couture-badge-meta-stack-bordered-soft > .couture-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 600;
  padding: 4px 10px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-badge-meta-stack-bordered-soft > .couture-badge > .couture-icon {
  width: 12px; height: 12px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-badge-meta-stack-bordered-soft > .couture-badge.couture-accent {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 24%, transparent);
}
.couture-badge-meta-stack-bordered-soft > .couture-badge.couture-accent > .couture-icon {
  color: var(--couture-accent, #6366f1);
}
.couture-badge-meta-stack-bordered-soft > .couture-sep {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}

/* V6.388 #1182 - hero-product-card-bordered-soft: product hero with image */
.couture-hero-product-card-bordered-soft {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 4vw, 36px);
  align-items: center;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 22px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 760px) {
  .couture-hero-product-card-bordered-soft { grid-template-columns: 1fr 1.1fr; }
}
.couture-hero-product-card-bordered-soft > .couture-image {
  position: relative;
  aspect-ratio: 1;
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden;
  box-shadow: 0 22px 48px -16px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
}
.couture-hero-product-card-bordered-soft > .couture-image > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-hero-product-card-bordered-soft > .couture-image > .couture-tag {
  position: absolute; top: 14px; left: 14px;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; padding: 4px 10px; border-radius: 999px;
  background: color-mix(in oklab, #000 70%, transparent); color: #fff;
  backdrop-filter: blur(8px);
}
.couture-hero-product-card-bordered-soft > .couture-info > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1); margin-bottom: 8px;
}
.couture-hero-product-card-bordered-soft > .couture-info > .couture-title {
  font-size: clamp(1.6rem, 2.8vw, 2.1rem); font-weight: 800; letter-spacing: -0.022em;
  line-height: 1.1; color: var(--couture-fg, #111); margin-bottom: 10px;
}
.couture-hero-product-card-bordered-soft > .couture-info > .couture-body {
  font-size: clamp(0.92rem, 1.15vw, 1rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent); margin-bottom: 18px;
}
.couture-hero-product-card-bordered-soft > .couture-info > .couture-row {
  display: flex; align-items: center; gap: 16px; margin-bottom: 16px;
}
.couture-hero-product-card-bordered-soft > .couture-info > .couture-row > .couture-price {
  font-variant-numeric: tabular-nums; font-weight: 800;
  font-size: clamp(1.4rem, 2vw, 1.7rem); color: var(--couture-accent, #6366f1);
  letter-spacing: -0.018em;
}
.couture-hero-product-card-bordered-soft > .couture-info > .couture-row > .couture-old-price {
  font-variant-numeric: tabular-nums; font-size: clamp(0.95rem, 1.18vw, 1.04rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  text-decoration: line-through;
}
.couture-hero-product-card-bordered-soft > .couture-info > .couture-actions {
  display: flex; gap: 10px;
}

/* V6.388 #1183 - sect-blog-list-bordered-soft: vertical blog list section */
.couture-sect-blog-list-bordered-soft {
  display: grid; gap: 14px;
  padding: clamp(28px, 4vw, 36px) 0;
}
.couture-sect-blog-list-bordered-soft > .couture-head > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 700; letter-spacing: -0.018em;
  color: var(--couture-fg, #111); margin-bottom: 4px;
}
.couture-sect-blog-list-bordered-soft > .couture-head > .couture-sub {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-sect-blog-list-bordered-soft > .couture-list {
  display: grid; gap: 14px;
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px; align-items: center;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  text-decoration: none;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  transform: translateY(-1px);
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item > .couture-text > .couture-tags {
  display: inline-flex; gap: 6px; margin-bottom: 6px;
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item > .couture-text > .couture-tags > .couture-tag {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; padding: 2px 8px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item > .couture-text > .couture-title {
  font-size: clamp(0.98rem, 1.22vw, 1.08rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em; line-height: 1.35;
  margin-bottom: 4px;
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item > .couture-text > .couture-byline {
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item > .couture-thumb {
  width: 96px; height: 64px; border-radius: 10px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden;
  flex-shrink: 0;
}
.couture-sect-blog-list-bordered-soft > .couture-list > .couture-item > .couture-thumb > img {
  width: 100%; height: 100%; object-fit: cover;
}
@media (prefers-reduced-motion: reduce) {
  .couture-sect-blog-list-bordered-soft > .couture-list > .couture-item { transition: none; transform: none; }
}

/* V6.388 #1184 - footer-link-grid-bordered-soft: 5-column footer link grid */
.couture-footer-link-grid-bordered-soft {
  display: grid; gap: 32px;
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(40px, 6vw, 56px) clamp(20px, 4vw, 48px) clamp(28px, 4vw, 36px);
  border-radius: 24px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
@media (min-width: 760px) {
  .couture-footer-link-grid-bordered-soft { grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr)); }
}
.couture-footer-link-grid-bordered-soft > .couture-brand > .couture-logo {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem); font-weight: 700;
  letter-spacing: -0.015em; color: var(--couture-fg, #111); margin-bottom: 10px;
}
.couture-footer-link-grid-bordered-soft > .couture-brand > .couture-tag {
  font-size: clamp(0.82rem, 1vw, 0.88rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  max-width: 36ch; margin-bottom: 14px;
}
.couture-footer-link-grid-bordered-soft > .couture-brand > .couture-social {
  display: flex; gap: 8px;
}
.couture-footer-link-grid-bordered-soft > .couture-brand > .couture-social > a {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  text-decoration: none; font-size: 14px;
}
.couture-footer-link-grid-bordered-soft > .couture-brand > .couture-social > a:hover {
  color: var(--couture-accent, #6366f1);
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}
.couture-footer-link-grid-bordered-soft > .couture-col > .couture-head {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  margin-bottom: 14px;
}
.couture-footer-link-grid-bordered-soft > .couture-col > .couture-list {
  display: grid; gap: 8px; list-style: none; padding: 0; margin: 0;
}
.couture-footer-link-grid-bordered-soft > .couture-col > .couture-list > li > a {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
  text-decoration: none;
}
.couture-footer-link-grid-bordered-soft > .couture-col > .couture-list > li > a:hover {
  color: var(--couture-accent, #6366f1);
}
.couture-footer-link-grid-bordered-soft > .couture-bottom {
  grid-column: 1 / -1;
  padding-top: 18px;
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1185 - modal-fullscreen-cover-bordered-soft: full-screen modal cover */
.couture-modal-fullscreen-cover-bordered-soft {
  position: fixed; inset: 0;
  display: grid; place-items: center;
  padding: 24px;
  background: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  backdrop-filter: blur(6px);
  z-index: 100;
}
.couture-modal-fullscreen-cover-bordered-soft > .couture-dialog {
  display: grid; gap: 18px;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 22px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 32px 80px -20px color-mix(in oklab, #000 50%, transparent);
  width: 100%; max-width: 560px;
}
.couture-modal-fullscreen-cover-bordered-soft > .couture-dialog > .couture-head {
  display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: start;
}
.couture-modal-fullscreen-cover-bordered-soft > .couture-dialog > .couture-head > .couture-title {
  font-size: clamp(1.2rem, 1.6vw, 1.4rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.015em;
}
.couture-modal-fullscreen-cover-bordered-soft > .couture-dialog > .couture-head > .couture-close {
  width: 32px; height: 32px; border-radius: 9px;
  background: transparent; color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0; cursor: pointer; display: grid; place-items: center; font-size: 16px;
}
.couture-modal-fullscreen-cover-bordered-soft > .couture-dialog > .couture-head > .couture-close:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-modal-fullscreen-cover-bordered-soft > .couture-dialog > .couture-body {
  font-size: clamp(0.88rem, 1.1vw, 0.94rem); line-height: 1.6;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-modal-fullscreen-cover-bordered-soft > .couture-dialog > .couture-actions {
  display: flex; justify-content: flex-end; gap: 8px;
}

/* V6.388 #1186 - sect-mini-grid-bordered-soft: mini info grid section */
.couture-sect-mini-grid-bordered-soft {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px;
  padding: clamp(16px, 2.4vw, 22px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
@media (min-width: 540px) {
  .couture-sect-mini-grid-bordered-soft { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-sect-mini-grid-bordered-soft > .couture-cell {
  display: grid; grid-template-columns: auto 1fr;
  gap: 10px; align-items: center;
  padding: 10px 12px; border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}
.couture-sect-mini-grid-bordered-soft > .couture-cell > .couture-icon {
  width: 28px; height: 28px; border-radius: 8px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 13px;
}
.couture-sect-mini-grid-bordered-soft > .couture-cell > .couture-text > .couture-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-sect-mini-grid-bordered-soft > .couture-cell > .couture-text > .couture-value {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); font-weight: 600; color: var(--couture-fg, #111);
}

/* V6.388 #1187 - callout-banner-pill-bordered-soft: callout banner with pill */
.couture-callout-banner-pill-bordered-soft {
  display: grid; grid-template-columns: auto 1fr auto; gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 6%, transparent));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-callout-banner-pill-bordered-soft > .couture-pill {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.07em; padding: 4px 9px; border-radius: 999px;
  background: var(--couture-accent, #6366f1); color: #fff;
}
.couture-callout-banner-pill-bordered-soft > .couture-text {
  font-size: clamp(0.84rem, 1.04vw, 0.92rem); color: var(--couture-fg, #111);
}
.couture-callout-banner-pill-bordered-soft > .couture-text > strong { font-weight: 700; }
.couture-callout-banner-pill-bordered-soft > .couture-link {
  font-size: clamp(0.78rem, 0.98vw, 0.85rem); font-weight: 600;
  color: var(--couture-accent, #6366f1); text-decoration: none;
  display: inline-flex; gap: 4px; align-items: center;
}
.couture-callout-banner-pill-bordered-soft > .couture-link:hover {
  text-decoration: underline;
}

/* V6.388 #1188 - mark-tag-bordered-soft-row: highlight mark tag chips */
.couture-mark-tag-bordered-soft-row {
  display: flex; flex-wrap: wrap; gap: 6px; padding: 0;
}
.couture-mark-tag-bordered-soft-row > .couture-mark {
  font-size: clamp(0.76rem, 0.92vw, 0.82rem);
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 4px;
  color: var(--couture-fg, #111);
  background: color-mix(in oklab, #fbbf24 22%, transparent);
  border-left: 3px solid #f59e0b;
}
.couture-mark-tag-bordered-soft-row > .couture-mark.couture-accent {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  border-left-color: var(--couture-accent, #6366f1);
}
.couture-mark-tag-bordered-soft-row > .couture-mark.couture-success {
  background: color-mix(in oklab, #10b981 14%, transparent);
  border-left-color: #10b981;
}
.couture-mark-tag-bordered-soft-row > .couture-mark.couture-error {
  background: color-mix(in oklab, #ef4444 14%, transparent);
  border-left-color: #ef4444;
}

/* V6.388 #1189 - sect-hero-stat-pair-bordered: hero with side stat pair */
.couture-sect-hero-stat-pair-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 40px); align-items: center;
  padding: clamp(40px, 6vw, 64px) clamp(20px, 4vw, 48px);
  border-radius: 26px;
  background: linear-gradient(180deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff) 65%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
@media (min-width: 800px) {
  .couture-sect-hero-stat-pair-bordered { grid-template-columns: 1.4fr 1fr; }
}
.couture-sect-hero-stat-pair-bordered > .couture-content > .couture-eyebrow {
  display: inline-block;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
  padding: 5px 12px; border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  margin-bottom: 16px;
}
.couture-sect-hero-stat-pair-bordered > .couture-content > .couture-title {
  font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -0.025em;
  line-height: 1.08; color: var(--couture-fg, #111); margin-bottom: 14px;
}
.couture-sect-hero-stat-pair-bordered > .couture-content > .couture-sub {
  font-size: clamp(0.96rem, 1.25vw, 1.1rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  margin-bottom: 22px;
}
.couture-sect-hero-stat-pair-bordered > .couture-content > .couture-actions {
  display: flex; gap: 12px; flex-wrap: wrap;
}
.couture-sect-hero-stat-pair-bordered > .couture-stats {
  display: grid; gap: 14px;
}
.couture-sect-hero-stat-pair-bordered > .couture-stats > .couture-stat {
  display: grid; gap: 4px;
  padding: 22px;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-sect-hero-stat-pair-bordered > .couture-stats > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 800; font-size: clamp(2rem, 3vw, 2.6rem);
  letter-spacing: -0.025em;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.couture-sect-hero-stat-pair-bordered > .couture-stats > .couture-stat > .couture-label {
  font-size: clamp(0.82rem, 1vw, 0.88rem); font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-sect-hero-stat-pair-bordered > .couture-stats > .couture-stat > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1190 - deck-icon-trio-cards-bordered: 3-card icon trio deck */
.couture-deck-icon-trio-cards-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 14px; padding: 4px;
}
@media (min-width: 760px) {
  .couture-deck-icon-trio-cards-bordered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-deck-icon-trio-cards-bordered > .couture-card {
  display: grid; gap: 12px;
  padding: clamp(22px, 3vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  text-align: left;
}
.couture-deck-icon-trio-cards-bordered > .couture-card > .couture-icon-wrap {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent));
  color: var(--couture-accent, #6366f1); font-size: 22px;
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
.couture-deck-icon-trio-cards-bordered > .couture-card > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-deck-icon-trio-cards-bordered > .couture-card > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-deck-icon-trio-cards-bordered > .couture-card > .couture-link {
  font-size: clamp(0.82rem, 1vw, 0.88rem); font-weight: 600;
  color: var(--couture-accent, #6366f1); text-decoration: none;
  display: inline-flex; gap: 4px; align-items: center;
}

/* V6.388 #1191 - page-header-block-bordered-soft: page header with metadata */
.couture-page-header-block-bordered-soft {
  display: grid; gap: 16px;
  padding: clamp(28px, 4vw, 40px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-page-header-block-bordered-soft > .couture-trail {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-page-header-block-bordered-soft > .couture-trail > a {
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
}
.couture-page-header-block-bordered-soft > .couture-trail > .couture-sep {
  color: color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-page-header-block-bordered-soft > .couture-row {
  display: grid; grid-template-columns: 1fr auto;
  gap: 18px; align-items: end;
}
.couture-page-header-block-bordered-soft > .couture-row > .couture-text > .couture-tags {
  display: inline-flex; gap: 6px; margin-bottom: 8px;
}
.couture-page-header-block-bordered-soft > .couture-row > .couture-text > .couture-tags > .couture-tag {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 3px 9px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-page-header-block-bordered-soft > .couture-row > .couture-text > .couture-title {
  font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -0.022em;
  line-height: 1.1; color: var(--couture-fg, #111); margin-bottom: 6px;
}
.couture-page-header-block-bordered-soft > .couture-row > .couture-text > .couture-sub {
  font-size: clamp(0.92rem, 1.18vw, 1.04rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  max-width: 60ch;
}
.couture-page-header-block-bordered-soft > .couture-row > .couture-actions {
  display: flex; gap: 8px;
}
.couture-page-header-block-bordered-soft > .couture-meta-row {
  display: flex; flex-wrap: wrap; gap: 14px;
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-page-header-block-bordered-soft > .couture-meta-row > .couture-meta-item {
  display: inline-flex; align-items: center; gap: 5px;
}

/* V6.388 #1192 - flash-message-row-bordered-soft: inline flash row */
.couture-flash-message-row-bordered-soft {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  color: var(--couture-fg, #111);
}
.couture-flash-message-row-bordered-soft.couture-success {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #10b981 4%);
  border-color: color-mix(in oklab, #10b981 22%, transparent);
}
.couture-flash-message-row-bordered-soft.couture-warn {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #f59e0b 4%);
  border-color: color-mix(in oklab, #f59e0b 22%, transparent);
}
.couture-flash-message-row-bordered-soft.couture-error {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #ef4444 4%);
  border-color: color-mix(in oklab, #ef4444 22%, transparent);
}
.couture-flash-message-row-bordered-soft > .couture-icon {
  width: 22px; height: 22px; border-radius: 6px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
  font-size: 12px; font-weight: 700;
}
.couture-flash-message-row-bordered-soft.couture-success > .couture-icon { background: #10b981; }
.couture-flash-message-row-bordered-soft.couture-warn > .couture-icon { background: #f59e0b; }
.couture-flash-message-row-bordered-soft.couture-error > .couture-icon { background: #ef4444; }
.couture-flash-message-row-bordered-soft > .couture-text > strong { font-weight: 600; }
.couture-flash-message-row-bordered-soft > .couture-close {
  width: 20px; height: 20px; border-radius: 5px;
  background: transparent; color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  border: 0; cursor: pointer; display: grid; place-items: center; font-size: 12px;
}
.couture-flash-message-row-bordered-soft > .couture-close:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}

/* V6.388 #1193 - banner-image-side-bordered-soft: banner with side image */
.couture-banner-image-side-bordered-soft {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 0; align-items: center;
  padding: 0;
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  overflow: hidden;
}
@media (min-width: 720px) {
  .couture-banner-image-side-bordered-soft { grid-template-columns: 1fr 1fr; }
}
.couture-banner-image-side-bordered-soft > .couture-text {
  display: grid; gap: 12px;
  padding: clamp(22px, 3vw, 32px);
}
.couture-banner-image-side-bordered-soft > .couture-text > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-banner-image-side-bordered-soft > .couture-text > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 700;
  letter-spacing: -0.02em; color: var(--couture-fg, #111); line-height: 1.15;
}
.couture-banner-image-side-bordered-soft > .couture-text > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-banner-image-side-bordered-soft > .couture-text > .couture-actions {
  display: flex; gap: 8px; padding-top: 4px;
}
.couture-banner-image-side-bordered-soft > .couture-image {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
}
.couture-banner-image-side-bordered-soft > .couture-image > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* V6.388 #1194 - side-rail-toc-bordered-soft: side-rail table of contents */
.couture-side-rail-toc-bordered-soft {
  display: grid; gap: 10px;
  padding: 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  position: sticky;
  top: 24px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  width: 100%; max-width: 240px;
}
.couture-side-rail-toc-bordered-soft > .couture-head {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  padding: 4px 8px 6px;
}
.couture-side-rail-toc-bordered-soft > .couture-link {
  display: grid; grid-template-columns: 4px 1fr;
  gap: 10px; align-items: center;
  padding: 6px 10px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
  border-radius: 7px;
  position: relative;
}
.couture-side-rail-toc-bordered-soft > .couture-link::before {
  content: ""; height: 16px; width: 3px; border-radius: 2px;
  background: transparent;
}
.couture-side-rail-toc-bordered-soft > .couture-link.couture-active {
  color: var(--couture-accent, #6366f1);
  font-weight: 600;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}
.couture-side-rail-toc-bordered-soft > .couture-link.couture-active::before {
  background: var(--couture-accent, #6366f1);
}
.couture-side-rail-toc-bordered-soft > .couture-link.couture-nested { padding-left: 22px; font-size: 13px; }

/* V6.388 #1195 - callout-deck-trio-bordered-soft: 3-card callout deck */
.couture-callout-deck-trio-bordered-soft {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 14px; padding: 4px;
}
@media (min-width: 760px) {
  .couture-callout-deck-trio-bordered-soft { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-callout-deck-trio-bordered-soft > .couture-card {
  display: grid; gap: 10px;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  border-top: 4px solid var(--couture-accent, #6366f1);
}
.couture-callout-deck-trio-bordered-soft > .couture-card.couture-warn { border-top-color: #f59e0b; }
.couture-callout-deck-trio-bordered-soft > .couture-card.couture-success { border-top-color: #10b981; }
.couture-callout-deck-trio-bordered-soft > .couture-card > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-callout-deck-trio-bordered-soft > .couture-card.couture-warn > .couture-eyebrow { color: #b45309; }
.couture-callout-deck-trio-bordered-soft > .couture-card.couture-success > .couture-eyebrow { color: #047857; }
.couture-callout-deck-trio-bordered-soft > .couture-card > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-callout-deck-trio-bordered-soft > .couture-card > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1196 - plan-tier-card-bordered-soft: pricing tier card */
.couture-plan-tier-card-bordered-soft {
  display: grid; gap: 14px;
  padding: clamp(22px, 3.2vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-plan-tier-card-bordered-soft.couture-popular {
  border: 2px solid color-mix(in oklab, var(--couture-accent, #6366f1) 35%, transparent);
  position: relative;
}
.couture-plan-tier-card-bordered-soft.couture-popular::before {
  content: "Most popular";
  position: absolute; top: -12px; left: 50%;
  transform: translateX(-50%);
  font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  padding: 4px 12px; border-radius: 999px;
  background: var(--couture-accent, #6366f1); color: #fff;
}
.couture-plan-tier-card-bordered-soft > .couture-name {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-plan-tier-card-bordered-soft > .couture-price {
  display: flex; align-items: baseline; gap: 4px;
  font-variant-numeric: tabular-nums; letter-spacing: -0.025em;
}
.couture-plan-tier-card-bordered-soft > .couture-price > .couture-currency {
  font-size: clamp(1.2rem, 1.6vw, 1.4rem); font-weight: 700;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-plan-tier-card-bordered-soft > .couture-price > .couture-num {
  font-size: clamp(2.4rem, 3.8vw, 3rem); font-weight: 800; color: var(--couture-fg, #111);
}
.couture-plan-tier-card-bordered-soft > .couture-price > .couture-period {
  font-size: clamp(0.86rem, 1.06vw, 0.95rem); font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-plan-tier-card-bordered-soft > .couture-tagline {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-plan-tier-card-bordered-soft > .couture-features {
  display: grid; gap: 8px; list-style: none; padding: 0; margin: 0;
}
.couture-plan-tier-card-bordered-soft > .couture-features > li {
  display: grid; grid-template-columns: auto 1fr;
  gap: 8px; align-items: start;
  font-size: clamp(0.84rem, 1.02vw, 0.88rem); color: var(--couture-fg, #111);
}
.couture-plan-tier-card-bordered-soft > .couture-features > li::before {
  content: ""; width: 18px; height: 18px; border-radius: 50%;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  display: inline-grid; place-items: center; margin-top: 1px;
  background-image: linear-gradient(135deg, transparent 50%, transparent 50%);
}
.couture-plan-tier-card-bordered-soft > .couture-cta {
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 11px 18px; border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 26%, transparent);
  text-decoration: none;
}
.couture-plan-tier-card-bordered-soft.couture-popular > .couture-cta {
  background: var(--couture-accent, #6366f1); color: #fff; border: 0;
}

/* V6.388 #1197 - comparison-feature-row-bordered: side-by-side feature row */
.couture-comparison-feature-row-bordered {
  display: grid; grid-template-columns: 1fr auto 1fr;
  gap: 14px; align-items: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-comparison-feature-row-bordered > .couture-side {
  display: grid; grid-template-columns: auto 1fr;
  gap: 10px; align-items: center;
  padding: 6px;
}
.couture-comparison-feature-row-bordered > .couture-side > .couture-mark {
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700;
}
.couture-comparison-feature-row-bordered > .couture-side > .couture-mark.couture-yes {
  background: color-mix(in oklab, #10b981 18%, transparent); color: #047857;
}
.couture-comparison-feature-row-bordered > .couture-side > .couture-mark.couture-no {
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-comparison-feature-row-bordered > .couture-side > .couture-text {
  font-size: clamp(0.82rem, 1vw, 0.88rem); color: var(--couture-fg, #111);
}
.couture-comparison-feature-row-bordered > .couture-side > .couture-text > strong { font-weight: 600; }
.couture-comparison-feature-row-bordered > .couture-vs {
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  padding: 4px 8px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}

/* V6.388 #1198 - image-carousel-dots-bordered-soft: image carousel with dots */
.couture-image-carousel-dots-bordered-soft {
  position: relative;
  display: grid; gap: 14px;
  padding: 0;
}
.couture-image-carousel-dots-bordered-soft > .couture-stage {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
}
.couture-image-carousel-dots-bordered-soft > .couture-stage > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-image-carousel-dots-bordered-soft > .couture-stage > .couture-prev,
.couture-image-carousel-dots-bordered-soft > .couture-stage > .couture-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; border-radius: 50%;
  display: grid; place-items: center;
  background: color-mix(in oklab, #fff 90%, transparent);
  color: var(--couture-fg, #111); border: 0; cursor: pointer; font-size: 14px;
  box-shadow: 0 4px 12px -2px color-mix(in oklab, #000 30%, transparent);
}
.couture-image-carousel-dots-bordered-soft > .couture-stage > .couture-prev { left: 14px; }
.couture-image-carousel-dots-bordered-soft > .couture-stage > .couture-next { right: 14px; }
.couture-image-carousel-dots-bordered-soft > .couture-stage > .couture-counter {
  position: absolute; bottom: 14px; right: 14px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace; font-variant-numeric: tabular-nums;
  font-size: 11px; font-weight: 700;
  padding: 4px 9px; border-radius: 999px;
  background: color-mix(in oklab, #000 70%, transparent); color: #fff;
}
.couture-image-carousel-dots-bordered-soft > .couture-dots {
  display: flex; justify-content: center; gap: 6px;
}
.couture-image-carousel-dots-bordered-soft > .couture-dots > .couture-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
  cursor: pointer; border: 0;
}
.couture-image-carousel-dots-bordered-soft > .couture-dots > .couture-dot.couture-active {
  background: var(--couture-accent, #6366f1); width: 22px; border-radius: 999px;
}

/* V6.388 #1199 - sect-cta-stripe-bordered-soft: thin CTA stripe section */
.couture-sect-cta-stripe-bordered-soft {
  display: grid; grid-template-columns: 1fr auto;
  gap: 18px; align-items: center;
  padding: 18px clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 6%, transparent));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
@media (max-width: 540px) {
  .couture-sect-cta-stripe-bordered-soft { grid-template-columns: 1fr; }
}
.couture-sect-cta-stripe-bordered-soft > .couture-text {
  display: grid; gap: 4px;
}
.couture-sect-cta-stripe-bordered-soft > .couture-text > .couture-title {
  font-size: clamp(1rem, 1.3vw, 1.1rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-sect-cta-stripe-bordered-soft > .couture-text > .couture-sub {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-sect-cta-stripe-bordered-soft > .couture-actions {
  display: flex; gap: 8px; flex-wrap: wrap;
}
.couture-sect-cta-stripe-bordered-soft > .couture-actions > a {
  font-weight: 600; font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  padding: 9px 18px; border-radius: 10px;
  text-decoration: none;
}
.couture-sect-cta-stripe-bordered-soft > .couture-actions > .couture-primary {
  background: var(--couture-accent, #6366f1); color: #fff;
}
.couture-sect-cta-stripe-bordered-soft > .couture-actions > .couture-secondary {
  background: var(--couture-bg, #fff); color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 26%, transparent);
}

/* V6.388 #1200 - badge-anchor-link-bordered-soft: anchor link badge with hash */
.couture-badge-anchor-link-bordered-soft {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: clamp(0.8rem, 1vw, 0.86rem);
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.couture-badge-anchor-link-bordered-soft::before {
  content: "#";
  font-weight: 800;
  color: color-mix(in oklab, var(--couture-accent, #6366f1) 70%, transparent);
}
.couture-badge-anchor-link-bordered-soft:hover {
  background: var(--couture-accent, #6366f1);
  color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
.couture-badge-anchor-link-bordered-soft:hover::before {
  color: color-mix(in oklab, #fff 80%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-badge-anchor-link-bordered-soft { transition: none; }
}

/* V6.388 #1201 - link-card-image-bordered-soft: link preview card with image */
.couture-link-card-image-bordered-soft {
  display: grid; grid-template-columns: 80px 1fr;
  gap: 14px; padding: 12px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  text-decoration: none;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.couture-link-card-image-bordered-soft:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  transform: translateY(-1px);
}
.couture-link-card-image-bordered-soft > .couture-thumb {
  width: 80px; height: 80px; border-radius: 9px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden; flex-shrink: 0;
}
.couture-link-card-image-bordered-soft > .couture-thumb > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-link-card-image-bordered-soft > .couture-text {
  display: grid; gap: 4px; align-content: center; min-width: 0;
}
.couture-link-card-image-bordered-soft > .couture-text > .couture-domain {
  font-size: 11px; font-weight: 600; color: var(--couture-accent, #6366f1);
  text-transform: uppercase; letter-spacing: 0.05em;
}
.couture-link-card-image-bordered-soft > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
  color: var(--couture-fg, #111); line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.couture-link-card-image-bordered-soft > .couture-text > .couture-desc {
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .couture-link-card-image-bordered-soft { transition: none; transform: none; }
}

/* V6.388 #1202 - video-thumbnail-grid-bordered-soft: video thumbnail grid */
.couture-video-thumbnail-grid-bordered-soft {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;
  padding: 4px;
}
@media (min-width: 720px) {
  .couture-video-thumbnail-grid-bordered-soft { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid {
  display: grid; gap: 10px;
  border-radius: 14px; overflow: hidden;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid > .couture-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-fg, #111) 75%, transparent), color-mix(in oklab, var(--couture-fg, #111) 90%, transparent));
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid > .couture-thumb > img {
  width: 100%; height: 100%; object-fit: cover;
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid > .couture-thumb > .couture-play {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 44px; height: 44px; border-radius: 50%;
  background: color-mix(in oklab, #fff 92%, transparent);
  color: var(--couture-accent, #6366f1);
  display: grid; place-items: center; font-size: 18px;
  box-shadow: 0 6px 18px -2px color-mix(in oklab, #000 35%, transparent);
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid > .couture-thumb > .couture-time {
  position: absolute; bottom: 8px; right: 8px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 11px; font-weight: 700;
  padding: 3px 7px; border-radius: 5px;
  background: color-mix(in oklab, #000 75%, transparent); color: #fff;
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid > .couture-meta {
  display: grid; gap: 4px; padding: 0 14px 14px;
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid > .couture-meta > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
  color: var(--couture-fg, #111); line-height: 1.35;
}
.couture-video-thumbnail-grid-bordered-soft > .couture-vid > .couture-meta > .couture-byline {
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1203 - sect-banner-stack-stat-bordered: banner with stacked stats */
.couture-sect-banner-stack-stat-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 24px; align-items: center;
  padding: clamp(28px, 4vw, 40px) clamp(20px, 4vw, 36px);
  border-radius: 22px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
@media (min-width: 760px) {
  .couture-sect-banner-stack-stat-bordered { grid-template-columns: 1.5fr 1fr; }
}
.couture-sect-banner-stack-stat-bordered > .couture-text > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--couture-accent, #6366f1); margin-bottom: 8px;
}
.couture-sect-banner-stack-stat-bordered > .couture-text > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 700;
  letter-spacing: -0.02em; color: var(--couture-fg, #111); margin-bottom: 12px; line-height: 1.15;
}
.couture-sect-banner-stack-stat-bordered > .couture-text > .couture-body {
  font-size: clamp(0.92rem, 1.15vw, 1rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-sect-banner-stack-stat-bordered > .couture-stats {
  display: grid; gap: 10px;
}
.couture-sect-banner-stack-stat-bordered > .couture-stats > .couture-row {
  display: grid; grid-template-columns: auto 1fr;
  gap: 12px; align-items: center;
  padding: 12px 14px; border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-sect-banner-stack-stat-bordered > .couture-stats > .couture-row > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 800;
  font-size: clamp(1.4rem, 2vw, 1.7rem); color: var(--couture-accent, #6366f1);
  letter-spacing: -0.02em; min-width: 60px;
}
.couture-sect-banner-stack-stat-bordered > .couture-stats > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.06vw, 0.92rem); font-weight: 600; color: var(--couture-fg, #111);
}
.couture-sect-banner-stack-stat-bordered > .couture-stats > .couture-row > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.78rem); color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}


/* V6.388 #1204 - badge-counter-bordered-soft: counter badge with number */
.couture-badge-counter-bordered-soft {
  display: inline-grid; grid-auto-flow: column;
  gap: 6px; align-items: center;
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); font-weight: 600;
  padding: 4px 12px 4px 6px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
.couture-badge-counter-bordered-soft > .couture-num {
  font-variant-numeric: tabular-nums;
  font-size: 11px; font-weight: 800;
  min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 999px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
}
.couture-badge-counter-bordered-soft.couture-error > .couture-num { background: #ef4444; }

/* V6.388 #1205 - alert-inline-row-bordered-soft: inline alert row */
.couture-alert-inline-row-bordered-soft {
  display: grid; grid-template-columns: auto 1fr;
  gap: 10px; align-items: start;
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border-left: 3px solid var(--couture-accent, #6366f1);
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--couture-fg, #111);
}
.couture-alert-inline-row-bordered-soft > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
  color: var(--couture-accent, #6366f1); margin-top: 1px;
}
.couture-alert-inline-row-bordered-soft > .couture-text > strong { font-weight: 600; }

/* V6.388 #1206 - chip-status-row-bordered-soft: status chip row */
.couture-chip-status-row-bordered-soft {
  display: flex; flex-wrap: wrap; gap: 6px; padding: 0;
}
.couture-chip-status-row-bordered-soft > .couture-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-chip-status-row-bordered-soft > .couture-chip > .couture-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}

/* V6.388 #1207 - btn-ghost-bordered-soft: ghost button */
.couture-btn-ghost-bordered-soft {
  display: inline-grid; grid-auto-flow: column;
  gap: 6px; align-items: center;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); font-weight: 600;
  padding: 9px 18px;
  border-radius: 10px;
  background: transparent;
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 14%, transparent);
  cursor: pointer; text-decoration: none;
}
.couture-btn-ghost-bordered-soft:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 4%, transparent);
}

/* V6.388 #1208 - btn-icon-circle-bordered-soft: circular icon button */
.couture-btn-icon-circle-bordered-soft {
  display: inline-grid; place-items: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: pointer; font-size: 16px;
}
.couture-btn-icon-circle-bordered-soft:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1209 - btn-loading-spin-bordered-soft: button with loading spinner */
.couture-btn-loading-spin-bordered-soft {
  display: inline-grid; grid-auto-flow: column;
  gap: 8px; align-items: center;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); font-weight: 600;
  padding: 10px 20px;
  border-radius: 10px;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer; opacity: 0.85; pointer-events: none;
}
.couture-btn-loading-spin-bordered-soft > .couture-spinner {
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, #fff 45%, transparent);
  border-top-color: #fff;
  animation: couture-spin-1209 0.7s linear infinite;
}
@keyframes couture-spin-1209 { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .couture-btn-loading-spin-bordered-soft > .couture-spinner { animation-duration: 2s; }
}

/* V6.388 #1210 - search-history-list-bordered-soft: search history dropdown */
.couture-search-history-list-bordered-soft {
  display: grid; gap: 0;
  padding: 6px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 14px 30px -10px color-mix(in oklab, var(--couture-fg, #111) 22%, transparent);
  max-width: 380px;
}
.couture-search-history-list-bordered-soft > .couture-section-label {
  display: grid; grid-template-columns: 1fr auto;
  gap: 8px; align-items: center;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  padding: 8px 10px;
}
.couture-search-history-list-bordered-soft > .couture-item {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 10px; align-items: center;
  padding: 8px 10px;
  border-radius: 7px;
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  color: var(--couture-fg, #111);
  cursor: pointer;
}
.couture-search-history-list-bordered-soft > .couture-item:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 5%, transparent);
}
.couture-search-history-list-bordered-soft > .couture-item > .couture-icon {
  width: 14px; height: 14px;
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}
.couture-search-history-list-bordered-soft > .couture-item > .couture-text > .couture-q { font-weight: 500; }
.couture-search-history-list-bordered-soft > .couture-item > .couture-text > .couture-meta {
  font-size: 11px; color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}

/* V6.388 #1211 - profile-quick-card-bordered-soft: profile preview compact */
.couture-profile-quick-card-bordered-soft {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-profile-quick-card-bordered-soft > .couture-avatar {
  position: relative;
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff; font-weight: 700; font-size: 14px;
}
.couture-profile-quick-card-bordered-soft > .couture-avatar > .couture-status {
  position: absolute; bottom: 0; right: 0;
  width: 12px; height: 12px; border-radius: 50%;
  background: #10b981; border: 2px solid var(--couture-bg, #fff);
}
.couture-profile-quick-card-bordered-soft > .couture-text > .couture-name {
  font-size: clamp(0.86rem, 1.06vw, 0.92rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-profile-quick-card-bordered-soft > .couture-text > .couture-meta {
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-profile-quick-card-bordered-soft > .couture-action {
  font-size: 12px; font-weight: 600;
  padding: 6px 12px; border-radius: 8px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
  border: 0; cursor: pointer;
}

/* V6.388 #1212 - image-overlay-text-simple-bordered: image with overlay text */
.couture-image-overlay-text-simple-bordered {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-fg, #111) 60%, transparent), color-mix(in oklab, var(--couture-fg, #111) 80%, transparent));
}
.couture-image-overlay-text-simple-bordered > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-image-overlay-text-simple-bordered > .couture-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: clamp(16px, 2.5vw, 22px);
  color: #fff;
  z-index: 1;
}
.couture-image-overlay-text-simple-bordered > .couture-content > .couture-tag {
  display: inline-block;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em;
  padding: 3px 9px; border-radius: 999px;
  background: color-mix(in oklab, #fff 22%, transparent);
  margin-bottom: 8px;
}
.couture-image-overlay-text-simple-bordered > .couture-content > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem); font-weight: 700;
  letter-spacing: -0.012em; line-height: 1.25;
}
.couture-image-overlay-text-simple-bordered > .couture-content > .couture-sub {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  color: color-mix(in oklab, #fff 80%, transparent);
  margin-top: 4px;
}

/* V6.388 #1213 - sect-cta-newsletter-card-bordered: newsletter signup card */
.couture-sect-cta-newsletter-card-bordered {
  display: grid; gap: 22px;
  padding: clamp(40px, 6vw, 64px) clamp(24px, 4vw, 40px);
  border-radius: 26px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
  text-align: center;
}
.couture-sect-cta-newsletter-card-bordered > .couture-icon {
  width: 56px; height: 56px;
  border-radius: 16px;
  display: grid; place-items: center;
  margin: 0 auto;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff; font-size: 26px;
}
.couture-sect-cta-newsletter-card-bordered > .couture-title {
  font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; letter-spacing: -0.022em;
  color: var(--couture-fg, #111);
}
.couture-sect-cta-newsletter-card-bordered > .couture-sub {
  font-size: clamp(0.92rem, 1.18vw, 1.04rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  max-width: 50ch; margin: 0 auto;
}
.couture-sect-cta-newsletter-card-bordered > .couture-form {
  display: grid; grid-template-columns: 1fr auto;
  gap: 8px; padding: 6px;
  border-radius: 14px;
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  max-width: 460px; margin: 0 auto; width: 100%;
}
.couture-sect-cta-newsletter-card-bordered > .couture-form > input {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 10px 14px;
  background: transparent; border: 0; outline: none;
  color: var(--couture-fg, #111);
}
.couture-sect-cta-newsletter-card-bordered > .couture-form > button {
  font-weight: 600; font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 10px 20px; border-radius: 10px;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer;
}

/* V6.388 #1214 - sect-faq-twocol-card-bordered: two-column FAQ section */
.couture-sect-faq-twocol-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 40px);
  padding: clamp(32px, 5vw, 56px) 0;
}
@media (min-width: 800px) {
  .couture-sect-faq-twocol-card-bordered { grid-template-columns: 1fr 1.6fr; }
}
.couture-sect-faq-twocol-card-bordered > .couture-side > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--couture-accent, #6366f1); margin-bottom: 8px;
}
.couture-sect-faq-twocol-card-bordered > .couture-side > .couture-title {
  font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 700;
  letter-spacing: -0.022em; color: var(--couture-fg, #111); margin-bottom: 12px;
}
.couture-sect-faq-twocol-card-bordered > .couture-side > .couture-sub {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem); line-height: 1.6;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-sect-faq-twocol-card-bordered > .couture-list {
  display: grid; gap: 10px;
}
.couture-sect-faq-twocol-card-bordered > .couture-list > details {
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-sect-faq-twocol-card-bordered > .couture-list > details > summary {
  display: grid; grid-template-columns: 1fr auto;
  gap: 10px; align-items: center;
  padding: 14px 18px; cursor: pointer; list-style: none;
  font-size: clamp(0.92rem, 1.13vw, 0.98rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-sect-faq-twocol-card-bordered > .couture-list > details > summary::-webkit-details-marker { display: none; }
.couture-sect-faq-twocol-card-bordered > .couture-list > details > .couture-answer {
  padding: 0 18px 16px;
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); line-height: 1.6;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}

/* V6.388 #1215 - plan-tier-card-bordered-card: pricing tier card */
.couture-plan-tier-card-bordered-card {
  display: grid; gap: 14px;
  padding: clamp(22px, 3.2vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-plan-tier-card-bordered-card > .couture-name {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--couture-accent, #6366f1);
}
.couture-plan-tier-card-bordered-card > .couture-price {
  display: flex; align-items: baseline; gap: 4px;
  font-variant-numeric: tabular-nums; letter-spacing: -0.025em;
}
.couture-plan-tier-card-bordered-card > .couture-price > .couture-currency {
  font-size: clamp(1.2rem, 1.6vw, 1.4rem); font-weight: 700;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-plan-tier-card-bordered-card > .couture-price > .couture-num {
  font-size: clamp(2.4rem, 3.8vw, 3rem); font-weight: 800; color: var(--couture-fg, #111);
}
.couture-plan-tier-card-bordered-card > .couture-tagline {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-plan-tier-card-bordered-card > .couture-cta {
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 11px 18px; border-radius: 10px;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; text-decoration: none;
}

/* V6.388 #1216 - callout-deck-trio-bordered-card: 3-card callout deck */
.couture-callout-deck-trio-bordered-card {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 14px; padding: 4px;
}
@media (min-width: 760px) {
  .couture-callout-deck-trio-bordered-card { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-callout-deck-trio-bordered-card > .couture-card {
  display: grid; gap: 10px;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  border-top: 4px solid var(--couture-accent, #6366f1);
}
.couture-callout-deck-trio-bordered-card > .couture-card.couture-warn { border-top-color: #f59e0b; }
.couture-callout-deck-trio-bordered-card > .couture-card.couture-success { border-top-color: #10b981; }
.couture-callout-deck-trio-bordered-card > .couture-card > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-callout-deck-trio-bordered-card > .couture-card > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-callout-deck-trio-bordered-card > .couture-card > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1217 - link-card-image-bordered-card: link preview card with image */
.couture-link-card-image-bordered-card {
  display: grid; grid-template-columns: 80px 1fr;
  gap: 14px; padding: 12px;
  border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  text-decoration: none;
}
.couture-link-card-image-bordered-card:hover {
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
}
.couture-link-card-image-bordered-card > .couture-thumb {
  width: 80px; height: 80px; border-radius: 9px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden; flex-shrink: 0;
}
.couture-link-card-image-bordered-card > .couture-thumb > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-link-card-image-bordered-card > .couture-text {
  display: grid; gap: 4px; align-content: center; min-width: 0;
}
.couture-link-card-image-bordered-card > .couture-text > .couture-domain {
  font-size: 11px; font-weight: 600; color: var(--couture-accent, #6366f1);
  text-transform: uppercase; letter-spacing: 0.05em;
}
.couture-link-card-image-bordered-card > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
  color: var(--couture-fg, #111); line-height: 1.35;
}
.couture-link-card-image-bordered-card > .couture-text > .couture-desc {
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  line-height: 1.45;
}

/* V6.388 #1218 - video-thumbnail-grid-card-bordered: video thumbnail grid */
.couture-video-thumbnail-grid-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;
  padding: 4px;
}
@media (min-width: 720px) {
  .couture-video-thumbnail-grid-card-bordered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid {
  display: grid; gap: 10px;
  border-radius: 14px; overflow: hidden;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid > .couture-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-fg, #111) 75%, transparent), color-mix(in oklab, var(--couture-fg, #111) 90%, transparent));
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid > .couture-thumb > img {
  width: 100%; height: 100%; object-fit: cover;
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid > .couture-thumb > .couture-play {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 44px; height: 44px; border-radius: 50%;
  background: color-mix(in oklab, #fff 92%, transparent);
  color: var(--couture-accent, #6366f1);
  display: grid; place-items: center; font-size: 18px;
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid > .couture-thumb > .couture-time {
  position: absolute; bottom: 8px; right: 8px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 11px; font-weight: 700;
  padding: 3px 7px; border-radius: 5px;
  background: color-mix(in oklab, #000 75%, transparent); color: #fff;
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid > .couture-meta {
  display: grid; gap: 4px; padding: 0 14px 14px;
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid > .couture-meta > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
  color: var(--couture-fg, #111); line-height: 1.35;
}
.couture-video-thumbnail-grid-card-bordered > .couture-vid > .couture-meta > .couture-byline {
  font-size: 12px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1219 - banner-image-side-card-bordered: banner with side image */
.couture-banner-image-side-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 0; align-items: center;
  padding: 0;
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  overflow: hidden;
}
@media (min-width: 720px) {
  .couture-banner-image-side-card-bordered { grid-template-columns: 1fr 1fr; }
}
.couture-banner-image-side-card-bordered > .couture-text {
  display: grid; gap: 12px;
  padding: clamp(22px, 3vw, 32px);
}
.couture-banner-image-side-card-bordered > .couture-text > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-banner-image-side-card-bordered > .couture-text > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.85rem); font-weight: 700;
  letter-spacing: -0.02em; color: var(--couture-fg, #111); line-height: 1.15;
}
.couture-banner-image-side-card-bordered > .couture-text > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-banner-image-side-card-bordered > .couture-image {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
}
.couture-banner-image-side-card-bordered > .couture-image > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* V6.388 #1220 - side-rail-toc-card-bordered: sticky side TOC */
.couture-side-rail-toc-card-bordered {
  display: grid; gap: 8px;
  padding: 16px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  width: 100%; max-width: 240px;
}
.couture-side-rail-toc-card-bordered > .couture-head {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  padding: 4px 8px 6px;
}
.couture-side-rail-toc-card-bordered > .couture-link {
  display: grid; grid-template-columns: 4px 1fr;
  gap: 10px; align-items: center;
  padding: 6px 10px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
  border-radius: 7px;
  border-left: 3px solid transparent;
}
.couture-side-rail-toc-card-bordered > .couture-link.couture-current {
  color: var(--couture-accent, #6366f1);
  font-weight: 600;
  border-left-color: var(--couture-accent, #6366f1);
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}

/* V6.388 #1221 - flash-message-row-card-bordered: inline flash row */
.couture-flash-message-row-card-bordered {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--couture-fg, #111);
}
.couture-flash-message-row-card-bordered.couture-success {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #10b981 4%);
  border-color: color-mix(in oklab, #10b981 22%, transparent);
}
.couture-flash-message-row-card-bordered > .couture-icon {
  width: 22px; height: 22px; border-radius: 6px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
  font-size: 12px; font-weight: 700;
}
.couture-flash-message-row-card-bordered.couture-success > .couture-icon { background: #10b981; }
.couture-flash-message-row-card-bordered > .couture-text > strong { font-weight: 600; }
.couture-flash-message-row-card-bordered > .couture-close {
  width: 20px; height: 20px; border-radius: 5px;
  background: transparent; color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  border: 0; cursor: pointer; display: grid; place-items: center; font-size: 12px;
}

/* V6.388 #1222 - alert-bordered-icon-action-card: alert with icon + action */
.couture-alert-bordered-icon-action-card {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 14px; align-items: start;
  padding: 14px 16px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  border-left: 4px solid var(--couture-accent, #6366f1);
}
.couture-alert-bordered-icon-action-card.couture-warning {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #f59e0b 4%);
  border-color: color-mix(in oklab, #f59e0b 22%, transparent);
  border-left-color: #f59e0b;
}
.couture-alert-bordered-icon-action-card > .couture-icon {
  width: 28px; height: 28px; border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
  font-size: 13px; font-weight: 700;
  flex-shrink: 0; margin-top: 2px;
}
.couture-alert-bordered-icon-action-card.couture-warning > .couture-icon { background: #f59e0b; }
.couture-alert-bordered-icon-action-card > .couture-text > .couture-title {
  font-size: clamp(0.88rem, 1.1vw, 0.94rem); font-weight: 600;
  color: var(--couture-fg, #111); margin-bottom: 3px;
}
.couture-alert-bordered-icon-action-card > .couture-text > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-alert-bordered-icon-action-card > .couture-action {
  font-weight: 600; font-size: clamp(0.78rem, 0.98vw, 0.84rem);
  padding: 5px 12px; border-radius: 7px;
  background: transparent; color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent);
  cursor: pointer; white-space: nowrap;
}

/* V6.388 #1223 - badge-meta-stack-card-bordered: stacked meta badge group */
.couture-badge-meta-stack-card-bordered {
  display: inline-grid;
  grid-auto-flow: column; gap: 6px;
  padding: 0; align-items: center;
}
.couture-badge-meta-stack-card-bordered > .couture-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 600;
  padding: 4px 10px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-badge-meta-stack-card-bordered > .couture-badge.couture-accent {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
  border-color: color-mix(in oklab, var(--couture-accent, #6366f1) 24%, transparent);
}
.couture-badge-meta-stack-card-bordered > .couture-sep {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}

/* V6.388 #1224 - snippet-callout-card-bordered: code snippet inline callout */
.couture-snippet-callout-card-bordered {
  display: grid; grid-template-columns: 1fr auto;
  gap: 14px; align-items: center;
  padding: 12px 14px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-snippet-callout-card-bordered > code {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  color: var(--couture-accent, #6366f1);
  white-space: nowrap; overflow-x: auto;
  font-weight: 600;
}
.couture-snippet-callout-card-bordered > .couture-copy {
  font-size: 11px; font-weight: 600;
  padding: 5px 10px; border-radius: 6px;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: pointer; flex-shrink: 0;
}

/* V6.388 #1225 - glass-card-card-bordered: frosted-glass card */
.couture-glass-card-card-bordered {
  display: grid; gap: 12px;
  padding: clamp(22px, 3.2vw, 28px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 70%, transparent);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid color-mix(in oklab, #fff 35%, transparent);
}
.couture-glass-card-card-bordered > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-glass-card-card-bordered > .couture-title {
  font-size: clamp(1.1rem, 1.4vw, 1.22rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-glass-card-card-bordered > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 72%, transparent);
}

/* V6.388 #1226 - focus-card-spotlight-card: spotlight feature card */
.couture-focus-card-spotlight-card {
  position: relative;
  display: grid; gap: 12px;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 20px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-focus-card-spotlight-card > .couture-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff; font-size: 20px;
}
.couture-focus-card-spotlight-card > .couture-title {
  font-size: clamp(1.1rem, 1.4vw, 1.22rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-focus-card-spotlight-card > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}

/* V6.388 #1227 - deck-icon-trio-card-bordered: 3-card icon trio deck */
.couture-deck-icon-trio-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 14px; padding: 4px;
}
@media (min-width: 760px) {
  .couture-deck-icon-trio-card-bordered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-deck-icon-trio-card-bordered > .couture-card {
  display: grid; gap: 12px;
  padding: clamp(22px, 3vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-deck-icon-trio-card-bordered > .couture-card > .couture-icon-wrap {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent));
  color: var(--couture-accent, #6366f1); font-size: 22px;
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
.couture-deck-icon-trio-card-bordered > .couture-card > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-deck-icon-trio-card-bordered > .couture-card > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-deck-icon-trio-card-bordered > .couture-card > .couture-link {
  font-size: clamp(0.82rem, 1vw, 0.88rem); font-weight: 600;
  color: var(--couture-accent, #6366f1); text-decoration: none;
}

/* V6.388 #1228 - mark-tag-row-card-bordered: highlight mark tag chips */
.couture-mark-tag-row-card-bordered {
  display: flex; flex-wrap: wrap; gap: 6px; padding: 0;
}
.couture-mark-tag-row-card-bordered > .couture-mark {
  font-size: clamp(0.76rem, 0.92vw, 0.82rem);
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 4px;
  color: var(--couture-fg, #111);
  background: color-mix(in oklab, #fbbf24 22%, transparent);
  border-left: 3px solid #f59e0b;
}
.couture-mark-tag-row-card-bordered > .couture-mark.couture-accent {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  border-left-color: var(--couture-accent, #6366f1);
}
.couture-mark-tag-row-card-bordered > .couture-mark.couture-success {
  background: color-mix(in oklab, #10b981 14%, transparent);
  border-left-color: #10b981;
}

/* V6.388 #1229 - rating-stars-card-bordered: star rating display */
.couture-rating-stars-card-bordered {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #fbbf24 4%);
  border: 1px solid color-mix(in oklab, #fbbf24 22%, transparent);
}
.couture-rating-stars-card-bordered > .couture-stars {
  display: inline-flex; gap: 1px;
  color: #f59e0b; font-size: 13px;
}
.couture-rating-stars-card-bordered > .couture-num {
  font-variant-numeric: tabular-nums;
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 700; color: var(--couture-fg, #111);
}
.couture-rating-stars-card-bordered > .couture-count {
  font-size: clamp(0.74rem, 0.9vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1230 - profile-card-avatar-card-bordered: profile card with avatar */
.couture-profile-card-avatar-card-bordered {
  display: grid; gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  text-align: center;
}
.couture-profile-card-avatar-card-bordered > .couture-avatar {
  width: 80px; height: 80px; border-radius: 50%;
  margin: 0 auto;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff; font-weight: 700; font-size: 28px;
  border: 3px solid var(--couture-bg, #fff);
}
.couture-profile-card-avatar-card-bordered > .couture-name {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  letter-spacing: -0.012em; color: var(--couture-fg, #111);
}
.couture-profile-card-avatar-card-bordered > .couture-role {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--couture-accent, #6366f1); font-weight: 600;
}
.couture-profile-card-avatar-card-bordered > .couture-bio {
  font-size: clamp(0.82rem, 1vw, 0.88rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1231 - contact-block-row-card-bordered: contact info block */
.couture-contact-block-row-card-bordered {
  display: grid; gap: 12px;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-contact-block-row-card-bordered > .couture-row {
  display: grid; grid-template-columns: auto 1fr;
  gap: 12px; align-items: center;
  padding: 10px 12px; border-radius: 10px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-contact-block-row-card-bordered > .couture-row > .couture-icon {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 14px;
}
.couture-contact-block-row-card-bordered > .couture-row > .couture-text > .couture-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-contact-block-row-card-bordered > .couture-row > .couture-text > .couture-value {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 500; color: var(--couture-fg, #111);
}

/* V6.388 #1232 - badge-icon-circle-card-bordered: small icon-in-circle badge */
.couture-badge-icon-circle-card-bordered {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 6px; align-items: center;
  padding: 4px 12px 4px 4px;
  border-radius: 999px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  font-size: clamp(0.78rem, 0.95vw, 0.82rem);
  font-weight: 600; color: var(--couture-fg, #111);
}
.couture-badge-icon-circle-card-bordered > .couture-icon {
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
  font-size: 11px; font-weight: 700;
}
.couture-badge-icon-circle-card-bordered.couture-success > .couture-icon { background: #10b981; }
.couture-badge-icon-circle-card-bordered.couture-warning > .couture-icon { background: #f59e0b; }
.couture-badge-icon-circle-card-bordered.couture-error > .couture-icon { background: #ef4444; }

/* V6.388 #1233 - ribbon-bordered-card-corner: corner ribbon decoration card */
.couture-ribbon-bordered-card-corner {
  position: relative;
  display: grid; gap: 10px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-ribbon-bordered-card-corner > .couture-ribbon {
  position: absolute;
  top: 12px; right: -32px;
  transform: rotate(35deg);
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff;
  font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.08em;
  padding: 5px 36px;
}
.couture-ribbon-bordered-card-corner > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-ribbon-bordered-card-corner > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.18rem); font-weight: 700;
  letter-spacing: -0.012em; color: var(--couture-fg, #111);
}
.couture-ribbon-bordered-card-corner > .couture-body {
  font-size: clamp(0.84rem, 1.02vw, 0.9rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1234 - deck-step-cards-card-bordered: numbered step cards deck */
.couture-deck-step-cards-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 14px; padding: 4px;
}
@media (min-width: 760px) {
  .couture-deck-step-cards-card-bordered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-deck-step-cards-card-bordered > .couture-step {
  display: grid; gap: 10px;
  padding: 22px 20px 20px;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-deck-step-cards-card-bordered > .couture-step > .couture-num {
  font-variant-numeric: tabular-nums;
  width: 36px; height: 36px; border-radius: 10px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff; font-weight: 800; font-size: 16px;
}
.couture-deck-step-cards-card-bordered > .couture-step > .couture-step-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--couture-accent, #6366f1);
}
.couture-deck-step-cards-card-bordered > .couture-step > .couture-title {
  font-size: clamp(1rem, 1.3vw, 1.1rem); font-weight: 700;
  letter-spacing: -0.012em; color: var(--couture-fg, #111);
}
.couture-deck-step-cards-card-bordered > .couture-step > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1235 - donation-amounts-card-bordered: donation amount picker */
.couture-donation-amounts-card-bordered {
  display: grid; gap: 14px;
  padding: clamp(24px, 3.5vw, 30px);
  border-radius: 20px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 95%, var(--couture-accent, #6366f1) 5%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
}
.couture-donation-amounts-card-bordered > .couture-head > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-donation-amounts-card-bordered > .couture-head > .couture-title {
  font-size: clamp(1.15rem, 1.5vw, 1.3rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em; margin-top: 4px;
}
.couture-donation-amounts-card-bordered > .couture-amounts {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
}
@media (max-width: 480px) {
  .couture-donation-amounts-card-bordered > .couture-amounts { grid-template-columns: repeat(2, 1fr); }
}
.couture-donation-amounts-card-bordered > .couture-amounts > .couture-amount {
  font-variant-numeric: tabular-nums;
  font-size: clamp(0.95rem, 1.18vw, 1.04rem); font-weight: 700;
  padding: 12px; border-radius: 11px;
  background: var(--couture-bg, #fff); color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  cursor: pointer; text-align: center;
}
.couture-donation-amounts-card-bordered > .couture-amounts > .couture-amount.couture-active {
  background: var(--couture-accent, #6366f1); color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
.couture-donation-amounts-card-bordered > .couture-submit {
  font-weight: 600; font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 12px 22px; border-radius: 11px;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer;
}

/* V6.388 #1236 - ribbon-stripe-card-bordered: stripe ribbon banner */
.couture-ribbon-stripe-card-bordered {
  position: relative;
  display: grid; gap: 4px;
  padding: 10px 22px 10px 36px;
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff;
  width: fit-content;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 50%, 100% 100%, 0 100%);
}
.couture-ribbon-stripe-card-bordered > .couture-eyebrow {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: color-mix(in oklab, #fff 80%, transparent);
}
.couture-ribbon-stripe-card-bordered > .couture-text {
  font-size: clamp(0.86rem, 1.06vw, 0.92rem); font-weight: 700;
}
.couture-ribbon-stripe-card-bordered > .couture-text > strong { font-weight: 800; }

/* V6.388 #1237 - vertical-stepper-card-bordered: vertical stepper progress */
.couture-vertical-stepper-card-bordered {
  display: grid; gap: 4px;
  padding: clamp(18px, 2.5vw, 24px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-vertical-stepper-card-bordered > .couture-step {
  position: relative;
  display: grid; grid-template-columns: 32px 1fr;
  gap: 14px; padding: 10px 0;
}
.couture-vertical-stepper-card-bordered > .couture-step:not(:last-child)::after {
  content: ""; position: absolute;
  top: 38px; bottom: 0; left: 15px;
  width: 2px;
  background: color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-vertical-stepper-card-bordered > .couture-step.couture-done:not(:last-child)::after {
  background: var(--couture-accent, #6366f1);
}
.couture-vertical-stepper-card-bordered > .couture-step > .couture-marker {
  position: relative; z-index: 1;
  width: 32px; height: 32px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  border: 2px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  font-size: 13px; font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-vertical-stepper-card-bordered > .couture-step.couture-done > .couture-marker {
  background: var(--couture-accent, #6366f1); color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
.couture-vertical-stepper-card-bordered > .couture-step > .couture-content > .couture-title {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-vertical-stepper-card-bordered > .couture-step > .couture-content > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  margin-top: 3px;
}

/* V6.388 #1238 - banner-icon-stat-card-bordered: 4-column icon+stat banner */
.couture-banner-icon-stat-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 0;
  padding: 0;
  border-radius: 16px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  overflow: hidden;
}
@media (min-width: 720px) {
  .couture-banner-icon-stat-card-bordered { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-banner-icon-stat-card-bordered > .couture-cell {
  display: grid; grid-template-columns: auto 1fr;
  gap: 14px; align-items: center;
  padding: clamp(16px, 2.4vw, 22px);
}
.couture-banner-icon-stat-card-bordered > .couture-cell > .couture-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff; font-size: 20px;
}
.couture-banner-icon-stat-card-bordered > .couture-cell > .couture-text > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 800;
  font-size: clamp(1.3rem, 2vw, 1.6rem); color: var(--couture-fg, #111);
  letter-spacing: -0.018em;
}
.couture-banner-icon-stat-card-bordered > .couture-cell > .couture-text > .couture-label {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.05em; color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1239 - bento-feature-cards-card-bordered: feature-rich bento grid */
.couture-bento-feature-cards-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 14px; padding: 4px;
}
@media (min-width: 760px) {
  .couture-bento-feature-cards-card-bordered {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: 180px;
  }
  .couture-bento-feature-cards-card-bordered > .couture-cell.couture-hero { grid-column: span 4; grid-row: span 2; }
  .couture-bento-feature-cards-card-bordered > .couture-cell.couture-tall { grid-column: span 2; grid-row: span 2; }
  .couture-bento-feature-cards-card-bordered > .couture-cell.couture-wide { grid-column: span 3; }
  .couture-bento-feature-cards-card-bordered > .couture-cell.couture-square { grid-column: span 3; }
}
.couture-bento-feature-cards-card-bordered > .couture-cell {
  position: relative;
  display: grid; gap: 10px; align-content: end;
  padding: 22px;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-bento-feature-cards-card-bordered > .couture-cell.couture-accent {
  background: linear-gradient(160deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff; border: 0;
}
.couture-bento-feature-cards-card-bordered > .couture-cell > .couture-icon {
  width: 40px; height: 40px; border-radius: 11px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 18px;
  position: absolute; top: 22px; left: 22px;
}
.couture-bento-feature-cards-card-bordered > .couture-cell.couture-accent > .couture-icon {
  background: color-mix(in oklab, #fff 22%, transparent); color: #fff;
}
.couture-bento-feature-cards-card-bordered > .couture-cell > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem); font-weight: 700; letter-spacing: -0.012em;
}
.couture-bento-feature-cards-card-bordered > .couture-cell > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-bento-feature-cards-card-bordered > .couture-cell.couture-accent > .couture-body {
  color: color-mix(in oklab, #fff 85%, transparent);
}

/* V6.388 #1240 - tab-panel-content-card-bordered: tabs with content area */
.couture-tab-panel-content-card-bordered {
  display: grid; gap: 14px; padding: 4px;
}
.couture-tab-panel-content-card-bordered > .couture-tabs {
  display: flex; gap: 2px;
  padding: 4px; border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-tab-panel-content-card-bordered > .couture-tabs > .couture-tab {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem); font-weight: 600;
  padding: 8px 14px; border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0; cursor: pointer;
}
.couture-tab-panel-content-card-bordered > .couture-tabs > .couture-tab.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
}
.couture-tab-panel-content-card-bordered > .couture-panel {
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-tab-panel-content-card-bordered > .couture-panel > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); margin-bottom: 8px;
}
.couture-tab-panel-content-card-bordered > .couture-panel > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}

/* V6.388 #1241 - neumorphic-button-card-bordered: soft-shadow button */
.couture-neumorphic-button-card-bordered {
  display: inline-grid; grid-auto-flow: column;
  gap: 8px; align-items: center;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); font-weight: 600;
  padding: 11px 22px; border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  box-shadow:
    inset 1px 1px 2px color-mix(in oklab, #fff 80%, transparent),
    inset -1px -1px 2px color-mix(in oklab, var(--couture-fg, #111) 6%, transparent),
    4px 4px 12px color-mix(in oklab, var(--couture-fg, #111) 12%, transparent),
    -4px -4px 12px color-mix(in oklab, #fff 60%, transparent);
  cursor: pointer;
}
.couture-neumorphic-button-card-bordered.couture-accent {
  background: var(--couture-accent, #6366f1); color: #fff;
}

/* V6.388 #1242 - link-list-card-bordered: navigable link list */
.couture-link-list-card-bordered {
  display: grid; gap: 6px;
  padding: 10px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-link-list-card-bordered > .couture-link {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 10px 12px; border-radius: 10px;
  text-decoration: none;
  color: var(--couture-fg, #111);
}
.couture-link-list-card-bordered > .couture-link:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}
.couture-link-list-card-bordered > .couture-link > .couture-icon {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 14px;
}
.couture-link-list-card-bordered > .couture-link > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
}
.couture-link-list-card-bordered > .couture-link > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-link-list-card-bordered > .couture-link > .couture-arrow {
  color: color-mix(in oklab, var(--couture-fg, #111) 40%, transparent);
  font-weight: 700; font-size: 14px;
}

/* V6.388 #1243 - contact-form-card-v2-bordered: contact form card variant */
.couture-contact-form-card-v2-bordered {
  display: grid; gap: 14px;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 20px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-contact-form-card-v2-bordered > .couture-head > .couture-title {
  font-size: clamp(1.15rem, 1.5vw, 1.3rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.015em;
}
.couture-contact-form-card-v2-bordered > .couture-head > .couture-sub {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  margin-top: 4px;
}
.couture-contact-form-card-v2-bordered .couture-field {
  display: grid; gap: 5px;
}
.couture-contact-form-card-v2-bordered .couture-field > .couture-label {
  font-size: 12px; font-weight: 600; color: var(--couture-fg, #111);
}
.couture-contact-form-card-v2-bordered .couture-field > input,
.couture-contact-form-card-v2-bordered .couture-field > textarea {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 10px 14px; border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  outline: none;
}
.couture-contact-form-card-v2-bordered .couture-field > textarea {
  min-height: 110px; resize: vertical; font-family: inherit; line-height: 1.5;
}
.couture-contact-form-card-v2-bordered > .couture-submit {
  font-weight: 600; font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  padding: 11px 22px; border-radius: 10px;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer;
  justify-self: start;
}

/* V6.388 #1244 - status-dot-pill-card-bordered: status indicator pill */
.couture-status-dot-pill-card-bordered {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); font-weight: 600;
  padding: 5px 12px 5px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #10b981 4%);
  color: #047857;
  border: 1px solid color-mix(in oklab, #10b981 22%, transparent);
}
.couture-status-dot-pill-card-bordered > .couture-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #10b981;
}
.couture-status-dot-pill-card-bordered.couture-warn {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #f59e0b 4%);
  color: #b45309; border-color: color-mix(in oklab, #f59e0b 22%, transparent);
}
.couture-status-dot-pill-card-bordered.couture-warn > .couture-dot { background: #f59e0b; }
.couture-status-dot-pill-card-bordered.couture-error {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #ef4444 4%);
  color: #b91c1c; border-color: color-mix(in oklab, #ef4444 22%, transparent);
}
.couture-status-dot-pill-card-bordered.couture-error > .couture-dot { background: #ef4444; }

/* V6.388 #1245 - dropdown-menu-card-bordered: dropdown menu floating list */
.couture-dropdown-menu-card-bordered {
  display: grid; gap: 2px;
  padding: 6px; border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 18px 40px -12px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
  min-width: 200px;
}
.couture-dropdown-menu-card-bordered > .couture-section-label {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  padding: 6px 10px 4px;
}
.couture-dropdown-menu-card-bordered > .couture-item {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 10px; align-items: center;
  padding: 7px 10px; border-radius: 7px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--couture-fg, #111); text-decoration: none;
  background: transparent; border: 0; cursor: pointer;
  text-align: left; width: 100%;
}
.couture-dropdown-menu-card-bordered > .couture-item:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-dropdown-menu-card-bordered > .couture-item.couture-danger { color: #dc2626; }
.couture-dropdown-menu-card-bordered > .couture-item > .couture-icon {
  width: 16px; height: 16px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-dropdown-menu-card-bordered > .couture-item > .couture-shortcut {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}
.couture-dropdown-menu-card-bordered > .couture-divider {
  height: 1px;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  margin: 4px 6px;
}

/* V6.388 #1246 - popover-card-bordered: floating popover with arrow */
.couture-popover-card-bordered {
  position: relative;
  display: grid; gap: 8px;
  padding: 14px 16px; border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 14px 32px -10px color-mix(in oklab, var(--couture-fg, #111) 28%, transparent);
  max-width: 280px;
}
.couture-popover-card-bordered::after {
  content: ""; position: absolute;
  bottom: -7px; left: 24px;
  width: 12px; height: 12px;
  background: var(--couture-bg, #fff);
  border-right: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  transform: rotate(45deg);
}
.couture-popover-card-bordered > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-popover-card-bordered > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-popover-card-bordered > .couture-actions {
  display: flex; justify-content: flex-end; gap: 6px; padding-top: 4px;
}

/* V6.388 #1247 - modal-dialog-card-bordered: centered modal dialog */
.couture-modal-dialog-card-bordered {
  position: relative;
  display: grid; gap: 16px;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 32px 80px -24px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
  max-width: 480px; width: 100%;
}
.couture-modal-dialog-card-bordered > .couture-head {
  display: grid; grid-template-columns: 1fr auto;
  gap: 12px; align-items: start;
}
.couture-modal-dialog-card-bordered > .couture-head > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem); font-weight: 700;
  letter-spacing: -0.015em; color: var(--couture-fg, #111);
}
.couture-modal-dialog-card-bordered > .couture-head > .couture-close {
  width: 30px; height: 30px;
  display: grid; place-items: center;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  border: 0; cursor: pointer; font-size: 16px;
}
.couture-modal-dialog-card-bordered > .couture-body {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-modal-dialog-card-bordered > .couture-actions {
  display: flex; justify-content: flex-end; gap: 8px;
}

/* V6.388 #1248 - kbd-shortcut-card-bordered: keyboard shortcut display */
.couture-kbd-shortcut-card-bordered {
  display: inline-flex; align-items: center; gap: 4px;
}
.couture-kbd-shortcut-card-bordered > .couture-key {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px; font-weight: 600;
  padding: 3px 7px; border-radius: 5px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 94%, var(--couture-fg, #111) 6%);
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  border-bottom-width: 2px;
  min-width: 18px; text-align: center;
}
.couture-kbd-shortcut-card-bordered > .couture-plus {
  font-size: 11px; color: color-mix(in oklab, var(--couture-fg, #111) 40%, transparent);
}

/* V6.388 #1249 - code-block-card-bordered: code block with scroll */
.couture-code-block-card-bordered {
  display: grid; gap: 0; padding: 0;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-code-block-card-bordered > .couture-head {
  display: grid; grid-template-columns: 1fr auto;
  gap: 12px; align-items: center;
  padding: 8px 14px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-code-block-card-bordered > .couture-head > .couture-lang {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-code-block-card-bordered > .couture-head > .couture-copy {
  font-size: 11px; font-weight: 600;
  padding: 4px 10px; border-radius: 6px;
  background: transparent;
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  cursor: pointer;
}
.couture-code-block-card-bordered > pre {
  margin: 0; padding: 14px 16px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: clamp(0.78rem, 0.95vw, 0.82rem); line-height: 1.6;
  color: var(--couture-fg, #111);
  overflow-x: auto;
}

/* V6.388 #1250 - switch-toggle-card-bordered: toggle switch component */
.couture-switch-toggle-card-bordered {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  gap: 10px; align-items: center;
  cursor: pointer;
}
.couture-switch-toggle-card-bordered > input[type="checkbox"] {
  appearance: none;
  position: relative;
  width: 38px; height: 22px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
  cursor: pointer;
  margin: 0;
}
.couture-switch-toggle-card-bordered > input[type="checkbox"]::before {
  content: "";
  position: absolute; top: 2px; left: 2px;
  width: 18px; height: 18px;
  border-radius: 50%; background: #fff;
  transition: transform 0.2s ease;
}
.couture-switch-toggle-card-bordered > input[type="checkbox"]:checked {
  background: var(--couture-accent, #6366f1);
}
.couture-switch-toggle-card-bordered > input[type="checkbox"]:checked::before {
  transform: translateX(16px);
}
.couture-switch-toggle-card-bordered > .couture-label {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem); font-weight: 500;
  color: var(--couture-fg, #111); user-select: none;
}
@media (prefers-reduced-motion: reduce) {
  .couture-switch-toggle-card-bordered > input[type="checkbox"]::before { transition: none; }
}

/* V6.388 #1251 - slider-range-card-bordered: range slider input */
.couture-slider-range-card-bordered {
  display: grid; gap: 6px; padding: 4px;
}
.couture-slider-range-card-bordered > .couture-head {
  display: grid; grid-template-columns: 1fr auto;
  gap: 12px; align-items: center;
}
.couture-slider-range-card-bordered > .couture-head > .couture-label {
  font-size: clamp(0.82rem, 1vw, 0.88rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-slider-range-card-bordered > .couture-head > .couture-value {
  font-variant-numeric: tabular-nums;
  font-size: clamp(0.82rem, 1vw, 0.88rem); font-weight: 700;
  color: var(--couture-accent, #6366f1);
}
.couture-slider-range-card-bordered > input[type="range"] {
  appearance: none;
  width: 100%; height: 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  outline: none;
}
.couture-slider-range-card-bordered > input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
  cursor: pointer;
  border: 2px solid var(--couture-bg, #fff);
}
.couture-slider-range-card-bordered > input[type="range"]::-moz-range-thumb {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
  cursor: pointer;
  border: 2px solid var(--couture-bg, #fff);
}

/* V6.388 #1252 - avatar-group-card-bordered: overlapping avatar stack */
.couture-avatar-group-card-bordered {
  display: inline-flex; align-items: center; padding: 0;
}
.couture-avatar-group-card-bordered > .couture-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
  font-weight: 700; font-size: 12px;
  border: 2px solid var(--couture-bg, #fff);
  margin-left: -8px;
}
.couture-avatar-group-card-bordered > .couture-avatar:first-child { margin-left: 0; }
.couture-avatar-group-card-bordered > .couture-more {
  width: 32px; height: 32px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  font-weight: 600; font-size: 11px;
  border: 2px solid var(--couture-bg, #fff);
  margin-left: -8px;
}
.couture-avatar-group-card-bordered > .couture-count {
  margin-left: 12px;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1253 - stepper-horizontal-card-bordered: step progress indicator */
.couture-stepper-horizontal-card-bordered {
  display: grid; grid-template-columns: 1fr; gap: 8px;
  padding: 16px clamp(12px, 2vw, 20px);
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-stepper-horizontal-card-bordered > .couture-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0; align-items: center;
  position: relative;
}
.couture-stepper-horizontal-card-bordered > .couture-track > .couture-step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
}
.couture-stepper-horizontal-card-bordered > .couture-track > .couture-step:not(:last-child)::after {
  content: ""; position: absolute;
  top: 13px; left: 50%; right: -50%;
  height: 2px;
  background: color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  z-index: 0;
}
.couture-stepper-horizontal-card-bordered > .couture-track > .couture-step.couture-done:not(:last-child)::after,
.couture-stepper-horizontal-card-bordered > .couture-track > .couture-step.couture-active:not(:last-child)::after {
  background: var(--couture-accent, #6366f1);
}
.couture-stepper-horizontal-card-bordered > .couture-track > .couture-step > .couture-marker {
  position: relative; z-index: 1;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  border: 2px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  font-size: 12px; font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-stepper-horizontal-card-bordered > .couture-track > .couture-step.couture-done > .couture-marker {
  background: var(--couture-accent, #6366f1); color: #fff;
  border-color: var(--couture-accent, #6366f1);
}
.couture-stepper-horizontal-card-bordered > .couture-track > .couture-step > .couture-label {
  font-size: clamp(0.72rem, 0.88vw, 0.78rem); font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  text-align: center;
}

/* V6.388 #1254 - breadcrumb-row-card-bordered: breadcrumb path */
.couture-breadcrumb-row-card-bordered {
  display: flex; flex-wrap: wrap;
  align-items: center; gap: 6px;
  padding: 8px 12px; border-radius: 10px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-breadcrumb-row-card-bordered > .couture-crumb {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
}
.couture-breadcrumb-row-card-bordered > .couture-crumb:hover { color: var(--couture-accent, #6366f1); }
.couture-breadcrumb-row-card-bordered > .couture-crumb.couture-current {
  color: var(--couture-fg, #111); font-weight: 600;
}
.couture-breadcrumb-row-card-bordered > .couture-sep {
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
}

/* V6.388 #1255 - search-input-card-bordered: search bar with icon */
.couture-search-input-card-bordered {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 10px; align-items: center;
  padding: 10px 14px; border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-search-input-card-bordered:focus-within {
  border-color: var(--couture-accent, #6366f1);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-search-input-card-bordered > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-search-input-card-bordered > .couture-input {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  background: transparent;
  color: var(--couture-fg, #111);
  border: 0; outline: none; width: 100%;
}
.couture-search-input-card-bordered > .couture-kbd {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px; font-weight: 600;
  padding: 3px 7px; border-radius: 6px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}

/* V6.388 #1256 - nav-bar-card-bordered: top-nav with logo+links+cta */
.couture-nav-bar-card-bordered {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 24px; align-items: center;
  padding: 12px clamp(16px, 3vw, 28px);
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-nav-bar-card-bordered > .couture-logo {
  font-size: clamp(0.95rem, 1.15vw, 1.05rem); font-weight: 700;
  letter-spacing: -0.012em; color: var(--couture-fg, #111);
}
.couture-nav-bar-card-bordered > .couture-links {
  display: flex; justify-content: center; gap: 4px;
}
.couture-nav-bar-card-bordered > .couture-links > a {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem); font-weight: 500;
  padding: 6px 12px; border-radius: 8px;
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
  text-decoration: none;
}
.couture-nav-bar-card-bordered > .couture-links > a:hover {
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  color: var(--couture-fg, #111);
}
.couture-nav-bar-card-bordered > .couture-cta {
  display: inline-flex; align-items: center;
  font-weight: 600; font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  padding: 8px 16px; border-radius: 9px;
  background: var(--couture-accent, #6366f1); color: #fff;
  text-decoration: none;
}

/* V6.388 #1257 - badge-pill-card-bordered: simple pill badge */
.couture-badge-pill-card-bordered {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  padding: 4px 10px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-badge-pill-card-bordered.couture-success {
  background: color-mix(in oklab, #10b981 14%, transparent);
  color: #047857;
}
.couture-badge-pill-card-bordered.couture-warning {
  background: color-mix(in oklab, #f59e0b 14%, transparent);
  color: #b45309;
}
.couture-badge-pill-card-bordered.couture-error {
  background: color-mix(in oklab, #ef4444 14%, transparent);
  color: #b91c1c;
}
.couture-badge-pill-card-bordered.couture-neutral {
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-badge-pill-card-bordered.couture-solid {
  background: var(--couture-accent, #6366f1); color: #fff;
}

/* V6.388 #1258 - accordion-card-bordered: collapsible accordion */
.couture-accordion-card-bordered {
  display: grid; gap: 0; padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-accordion-card-bordered > .couture-item {
  display: grid; gap: 0;
}
.couture-accordion-card-bordered > .couture-item + .couture-item {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-accordion-card-bordered > .couture-item > summary {
  display: grid; grid-template-columns: 1fr auto;
  gap: 12px; align-items: center;
  padding: 14px 18px;
  font-size: clamp(0.86rem, 1.1vw, 0.94rem); font-weight: 600;
  color: var(--couture-fg, #111);
  cursor: pointer; list-style: none;
}
.couture-accordion-card-bordered > .couture-item > summary::-webkit-details-marker { display: none; }
.couture-accordion-card-bordered > .couture-item > summary::after {
  content: "+"; font-size: 20px; font-weight: 400;
  color: var(--couture-accent, #6366f1);
  transition: transform 0.2s ease;
}
.couture-accordion-card-bordered > .couture-item[open] > summary::after { transform: rotate(45deg); }
.couture-accordion-card-bordered > .couture-item > .couture-body {
  padding: 0 18px 14px;
  font-size: clamp(0.82rem, 1.02vw, 0.88rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .couture-accordion-card-bordered > .couture-item > summary::after { transition: none; }
}

/* V6.388 #1259 - toast-card-bordered: in-app toast notification */
.couture-toast-card-bordered {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 12px 16px; border-radius: 12px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 12px 28px -10px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
  max-width: 420px;
}
.couture-toast-card-bordered > .couture-icon {
  width: 28px; height: 28px; border-radius: 8px;
  display: grid; place-items: center;
  background: color-mix(in oklab, #10b981 16%, transparent);
  color: #059669; font-size: 14px; font-weight: 700;
}
.couture-toast-card-bordered.couture-error > .couture-icon {
  background: color-mix(in oklab, #ef4444 16%, transparent); color: #dc2626;
}
.couture-toast-card-bordered.couture-info > .couture-icon {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 16%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-toast-card-bordered > .couture-text {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem); color: var(--couture-fg, #111);
}
.couture-toast-card-bordered > .couture-text > strong { font-weight: 600; }
.couture-toast-card-bordered > .couture-close {
  width: 24px; height: 24px; border-radius: 6px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  border: 0; cursor: pointer; display: grid; place-items: center; font-size: 14px;
}

/* V6.388 #1260 - settings-row-card-bordered: settings row with toggle */
.couture-settings-row-card-bordered {
  display: grid; gap: 0; padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-settings-row-card-bordered > .couture-row {
  display: grid; grid-template-columns: 1fr auto;
  gap: 14px; align-items: center;
  padding: 14px 16px;
}
.couture-settings-row-card-bordered > .couture-row + .couture-row {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-settings-row-card-bordered > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-settings-row-card-bordered > .couture-row > .couture-text > .couture-sub {
  font-size: clamp(0.78rem, 0.95vw, 0.82rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  margin-top: 2px; line-height: 1.4;
}
.couture-settings-row-card-bordered > .couture-row > .couture-toggle {
  position: relative;
  width: 38px; height: 22px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
  cursor: pointer; border: 0; appearance: none;
}
.couture-settings-row-card-bordered > .couture-row > .couture-toggle::before {
  content: ""; position: absolute;
  top: 2px; left: 2px;
  width: 18px; height: 18px;
  border-radius: 50%; background: #fff;
  transition: transform 0.2s ease;
}
.couture-settings-row-card-bordered > .couture-row > .couture-toggle:checked,
.couture-settings-row-card-bordered > .couture-row > .couture-toggle.couture-on {
  background: var(--couture-accent, #6366f1);
}
.couture-settings-row-card-bordered > .couture-row > .couture-toggle:checked::before,
.couture-settings-row-card-bordered > .couture-row > .couture-toggle.couture-on::before {
  transform: translateX(16px);
}
@media (prefers-reduced-motion: reduce) {
  .couture-settings-row-card-bordered > .couture-row > .couture-toggle::before { transition: none; }
}

/* V6.388 #1261 - theme-toggle-card-bordered: theme switcher segment */
.couture-theme-toggle-card-bordered {
  display: inline-flex; gap: 2px;
  padding: 3px; border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-theme-toggle-card-bordered > .couture-opt {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12px; font-weight: 600;
  padding: 5px 12px; border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0; cursor: pointer;
}
.couture-theme-toggle-card-bordered > .couture-opt.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
}
.couture-theme-toggle-card-bordered > .couture-opt > .couture-icon {
  width: 14px; height: 14px;
  display: grid; place-items: center;
}

/* V6.388 #1262 - segment-control-card-bordered: segmented control bar */
.couture-segment-control-card-bordered {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0; padding: 3px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 5%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  width: 100%; max-width: 360px;
}
.couture-segment-control-card-bordered > .couture-seg {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); font-weight: 600;
  padding: 7px 12px; border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0; cursor: pointer;
  text-align: center;
}
.couture-segment-control-card-bordered > .couture-seg.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1263 - callout-banner-pill-card-bordered: callout with pill */
.couture-callout-banner-pill-card-bordered {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 14px; align-items: center;
  padding: 12px 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 6%, transparent));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
}
.couture-callout-banner-pill-card-bordered > .couture-pill {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 4px 9px; border-radius: 999px;
  background: var(--couture-accent, #6366f1); color: #fff;
}
.couture-callout-banner-pill-card-bordered > .couture-text {
  font-size: clamp(0.84rem, 1.04vw, 0.92rem); color: var(--couture-fg, #111);
}
.couture-callout-banner-pill-card-bordered > .couture-text > strong { font-weight: 700; }
.couture-callout-banner-pill-card-bordered > .couture-link {
  font-size: clamp(0.78rem, 0.98vw, 0.85rem); font-weight: 600;
  color: var(--couture-accent, #6366f1); text-decoration: none;
}

/* V6.388 #1264 - scroll-progress-bar-card-bordered: page scroll progress */
.couture-scroll-progress-bar-card-bordered {
  position: relative;
  height: 4px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  overflow: hidden;
}
.couture-scroll-progress-bar-card-bordered > .couture-fill {
  height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  transition: width 0.15s ease;
}
.couture-scroll-progress-bar-card-bordered.couture-thick { height: 6px; }
.couture-scroll-progress-bar-card-bordered.couture-fixed-top {
  position: fixed; top: 0; left: 0; right: 0;
  border-radius: 0; z-index: 100; height: 3px;
}
@media (prefers-reduced-motion: reduce) {
  .couture-scroll-progress-bar-card-bordered > .couture-fill { transition: none; }
}

/* V6.388 #1265 - back-to-top-fab-card-bordered: floating back-to-top */
.couture-back-to-top-fab-card-bordered {
  display: inline-grid; place-items: center;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 12px 28px -8px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
  cursor: pointer; font-size: 18px;
}
.couture-back-to-top-fab-card-bordered.couture-fixed {
  position: fixed; bottom: 24px; right: 24px;
  z-index: 50;
}
.couture-back-to-top-fab-card-bordered:hover {
  background: var(--couture-accent, #6366f1); color: #fff;
}

/* V6.388 #1266 - share-button-row-card-bordered: social share row */
.couture-share-button-row-card-bordered {
  display: flex; gap: 6px;
  padding: 6px; border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-share-button-row-card-bordered > .couture-share-label {
  font-size: 12px; font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  padding: 7px 10px 7px 12px;
}
.couture-share-button-row-card-bordered > .couture-share-btn {
  width: 32px; height: 32px; border-radius: 8px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  cursor: pointer; text-decoration: none; font-size: 14px;
}
.couture-share-button-row-card-bordered > .couture-share-btn:hover {
  background: var(--couture-accent, #6366f1); color: #fff;
  border-color: var(--couture-accent, #6366f1);
}

/* V6.388 #1267 - tooltip-card-bordered: tooltip with arrow */
.couture-tooltip-card-bordered {
  position: relative;
  display: inline-block;
  font-size: 12px; font-weight: 500;
  padding: 7px 11px; border-radius: 7px;
  background: color-mix(in oklab, var(--couture-fg, #111) 92%, var(--couture-bg, #fff) 8%);
  color: #fff; white-space: nowrap;
  box-shadow: 0 6px 14px -3px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
}
.couture-tooltip-card-bordered::after {
  content: ""; position: absolute;
  bottom: -5px; left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 9px; height: 9px;
  background: color-mix(in oklab, var(--couture-fg, #111) 92%, var(--couture-bg, #fff) 8%);
}
.couture-tooltip-card-bordered.couture-light {
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
}
.couture-tooltip-card-bordered.couture-light::after {
  background: var(--couture-bg, #fff);
}

/* V6.388 #1268 - anchor-link-list-card-bordered: anchor links list (TOC) */
.couture-anchor-link-list-card-bordered {
  display: grid; gap: 2px;
  padding: 14px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-anchor-link-list-card-bordered > .couture-head {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  padding: 6px 10px 8px;
}
.couture-anchor-link-list-card-bordered > .couture-link {
  display: grid; grid-template-columns: auto 1fr;
  gap: 10px; align-items: center;
  padding: 6px 10px;
  border-left: 2px solid transparent;
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  text-decoration: none;
  border-radius: 0 6px 6px 0;
}
.couture-anchor-link-list-card-bordered > .couture-link:hover {
  color: var(--couture-fg, #111);
  background: color-mix(in oklab, var(--couture-fg, #111) 4%, transparent);
}
.couture-anchor-link-list-card-bordered > .couture-link.couture-current {
  color: var(--couture-accent, #6366f1);
  font-weight: 600;
  border-left-color: var(--couture-accent, #6366f1);
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}
.couture-anchor-link-list-card-bordered > .couture-link.couture-nested { padding-left: 24px; font-size: 12px; }

/* V6.388 #1269 - sticky-cta-bar-card-bordered: sticky bottom CTA bar */
.couture-sticky-cta-bar-card-bordered {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 14px; align-items: center;
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  box-shadow: 0 18px 40px -14px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-sticky-cta-bar-card-bordered.couture-fixed-bottom {
  position: fixed;
  bottom: 16px; left: 16px; right: 16px;
  z-index: 60;
}
.couture-sticky-cta-bar-card-bordered > .couture-icon {
  width: 38px; height: 38px; border-radius: 11px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff; font-size: 17px;
}
.couture-sticky-cta-bar-card-bordered > .couture-text > .couture-title {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-sticky-cta-bar-card-bordered > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-sticky-cta-bar-card-bordered > .couture-cta {
  display: inline-flex; align-items: center;
  font-weight: 600; font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  padding: 9px 16px; border-radius: 10px;
  background: var(--couture-accent, #6366f1); color: #fff;
  text-decoration: none;
}

/* V6.388 #1270 - cookie-consent-card-bordered: cookie banner */
.couture-cookie-consent-card-bordered {
  display: grid; grid-template-columns: 1fr;
  gap: 14px; padding: clamp(18px, 2.6vw, 24px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  box-shadow: 0 18px 40px -16px color-mix(in oklab, var(--couture-fg, #111) 28%, transparent);
  max-width: 480px;
}
@media (min-width: 760px) {
  .couture-cookie-consent-card-bordered { grid-template-columns: 1fr auto; align-items: center; max-width: 720px; }
}
.couture-cookie-consent-card-bordered > .couture-text {
  display: grid; grid-template-columns: auto 1fr;
  gap: 12px; align-items: start;
}
.couture-cookie-consent-card-bordered > .couture-text > .couture-icon {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 16px;
}
.couture-cookie-consent-card-bordered > .couture-text > .couture-msg {
  font-size: clamp(0.83rem, 1.02vw, 0.9rem); line-height: 1.5;
  color: var(--couture-fg, #111);
}
.couture-cookie-consent-card-bordered > .couture-text > .couture-msg > a {
  color: var(--couture-accent, #6366f1); text-decoration: underline;
}
.couture-cookie-consent-card-bordered > .couture-actions {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.couture-cookie-consent-card-bordered > .couture-actions > button {
  font-weight: 600; font-size: clamp(0.8rem, 1vw, 0.86rem);
  padding: 8px 16px; border-radius: 9px; cursor: pointer;
}
.couture-cookie-consent-card-bordered > .couture-actions > .couture-deny {
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 14%, transparent);
}
.couture-cookie-consent-card-bordered > .couture-actions > .couture-accept {
  background: var(--couture-accent, #6366f1); color: #fff; border: 0;
}

/* V6.388 #1271 - table-card-bordered: data table with striped rows */
.couture-table-card-bordered {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  background: var(--couture-bg, #fff);
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
}
.couture-table-card-bordered thead {
  background: color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-fg, #111) 8%);
}
.couture-table-card-bordered thead th {
  text-align: left;
  padding: 12px 16px;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-table-card-bordered tbody tr:nth-child(even) {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
}
.couture-table-card-bordered tbody td {
  padding: 12px 16px;
  color: var(--couture-fg, #111);
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-table-card-bordered tbody tr:last-child td { border-bottom: 0; }
.couture-table-card-bordered tbody td.couture-num {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  text-align: right;
  color: var(--couture-accent, #6366f1);
}

/* V6.388 #1272 - listview-card-bordered: list view with icon rows */
.couture-listview-card-bordered {
  display: grid; gap: 0; padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-listview-card-bordered > .couture-row {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 14px; align-items: center;
  padding: 14px 16px;
}
.couture-listview-card-bordered > .couture-row + .couture-row {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-listview-card-bordered > .couture-row:hover {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
}
.couture-listview-card-bordered > .couture-row > .couture-icon {
  width: 36px; height: 36px; border-radius: 10px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 16px;
}
.couture-listview-card-bordered > .couture-row > .couture-text > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.92rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-listview-card-bordered > .couture-row > .couture-text > .couture-sub {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-listview-card-bordered > .couture-row > .couture-meta {
  font-size: clamp(0.74rem, 0.92vw, 0.78rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}

/* V6.388 #1273 - gallery-grid-card-bordered: 3-image responsive gallery */
.couture-gallery-grid-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 12px; padding: 4px;
}
@media (min-width: 640px) {
  .couture-gallery-grid-card-bordered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-gallery-grid-card-bordered > .couture-cell {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  cursor: pointer;
}
.couture-gallery-grid-card-bordered > .couture-cell:hover {
  box-shadow: 0 18px 38px -16px color-mix(in oklab, var(--couture-fg, #111) 30%, transparent);
}
.couture-gallery-grid-card-bordered > .couture-cell > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-gallery-grid-card-bordered > .couture-cell > .couture-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 14px 16px 12px;
  background: linear-gradient(to top, color-mix(in oklab, #000 65%, transparent), transparent);
  color: #fff;
  font-size: clamp(0.82rem, 1vw, 0.88rem); font-weight: 600;
}

/* V6.388 #1274 - carousel-snap-card-bordered: scroll-snap horizontal carousel */
.couture-carousel-snap-card-bordered {
  display: grid; gap: 12px; padding: 4px;
}
.couture-carousel-snap-card-bordered > .couture-track {
  display: flex; gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 16px;
  padding: 4px 16px 12px;
  scrollbar-width: thin;
}
.couture-carousel-snap-card-bordered > .couture-track > .couture-card {
  flex: 0 0 calc(85% - 12px);
  max-width: 360px;
  scroll-snap-align: start;
  display: grid; gap: 8px;
  padding: 18px;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-carousel-snap-card-bordered > .couture-track > .couture-card > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--couture-accent, #6366f1);
}
.couture-carousel-snap-card-bordered > .couture-track > .couture-card > .couture-title {
  font-size: clamp(1rem, 1.3vw, 1.1rem); font-weight: 600;
  letter-spacing: -0.01em; color: var(--couture-fg, #111);
}
.couture-carousel-snap-card-bordered > .couture-track > .couture-card > .couture-body {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-carousel-snap-card-bordered > .couture-dots {
  display: flex; justify-content: center; gap: 6px; padding-top: 4px;
}
.couture-carousel-snap-card-bordered > .couture-dots > .couture-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: color-mix(in oklab, var(--couture-fg, #111) 18%, transparent);
}
.couture-carousel-snap-card-bordered > .couture-dots > .couture-dot.couture-active {
  background: var(--couture-accent, #6366f1); width: 18px; border-radius: 999px;
}

/* V6.388 #1275 - badge-counter-card-v2-bordered: counter badge variant */
.couture-badge-counter-card-v2-bordered {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 8px; align-items: center;
  font-size: clamp(0.8rem, 1vw, 0.86rem); font-weight: 600;
  padding: 6px 14px 6px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  color: var(--couture-fg, #111);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
}
.couture-badge-counter-card-v2-bordered > .couture-num {
  font-variant-numeric: tabular-nums;
  font-size: 12px; font-weight: 800;
  min-width: 22px; height: 22px; padding: 0 7px;
  border-radius: 999px;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
}
.couture-badge-counter-card-v2-bordered.couture-success {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #10b981 4%);
  border-color: color-mix(in oklab, #10b981 22%, transparent);
}
.couture-badge-counter-card-v2-bordered.couture-success > .couture-num { background: #10b981; }
.couture-badge-counter-card-v2-bordered.couture-error {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #ef4444 4%);
  border-color: color-mix(in oklab, #ef4444 22%, transparent);
}
.couture-badge-counter-card-v2-bordered.couture-error > .couture-num { background: #ef4444; }

/* V6.388 #1276 - blog-list-row-card-bordered: blog post row with cover */
.couture-blog-list-row-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 16px; padding: 0;
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
@media (min-width: 640px) {
  .couture-blog-list-row-card-bordered { grid-template-columns: 200px 1fr; }
}
.couture-blog-list-row-card-bordered > .couture-cover {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
}
.couture-blog-list-row-card-bordered > .couture-cover > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-blog-list-row-card-bordered > .couture-meta {
  display: grid; gap: 8px;
  padding: 18px 20px;
}
.couture-blog-list-row-card-bordered > .couture-meta > .couture-tags {
  display: flex; gap: 6px; flex-wrap: wrap;
}
.couture-blog-list-row-card-bordered > .couture-meta > .couture-tags > .couture-tag {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
  padding: 3px 9px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-blog-list-row-card-bordered > .couture-meta > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem); font-weight: 700;
  letter-spacing: -0.015em; line-height: 1.3;
  color: var(--couture-fg, #111);
}
.couture-blog-list-row-card-bordered > .couture-meta > .couture-excerpt {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-blog-list-row-card-bordered > .couture-meta > .couture-byline {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1277 - comments-thread-card-bordered: nested comment thread */
.couture-comments-thread-card-bordered {
  display: grid; gap: 14px;
  padding: clamp(16px, 2.4vw, 20px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-comments-thread-card-bordered > .couture-comment {
  display: grid; grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-comments-thread-card-bordered > .couture-comment.couture-reply {
  margin-left: clamp(20px, 4vw, 40px);
  border-left: 3px solid color-mix(in oklab, var(--couture-accent, #6366f1) 35%, transparent);
}
.couture-comments-thread-card-bordered > .couture-comment > .couture-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff; font-weight: 700; font-size: 12px;
}
.couture-comments-thread-card-bordered > .couture-comment > .couture-body > .couture-head {
  display: flex; align-items: baseline; gap: 8px;
  margin-bottom: 4px;
}
.couture-comments-thread-card-bordered > .couture-comment > .couture-body > .couture-head > .couture-name {
  font-size: clamp(0.84rem, 1.05vw, 0.9rem); font-weight: 600;
  color: var(--couture-fg, #111);
}
.couture-comments-thread-card-bordered > .couture-comment > .couture-body > .couture-head > .couture-time {
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-comments-thread-card-bordered > .couture-comment > .couture-body > .couture-text {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
}
.couture-comments-thread-card-bordered > .couture-comment > .couture-body > .couture-actions {
  display: flex; gap: 14px; margin-top: 6px;
}
.couture-comments-thread-card-bordered > .couture-comment > .couture-body > .couture-actions > button {
  font-size: 12px; font-weight: 600;
  background: transparent; border: 0;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  cursor: pointer; padding: 0;
}

/* V6.388 #1278 - notification-feed-card-bordered: notification list */
.couture-notification-feed-card-bordered {
  display: grid; gap: 0; padding: 0;
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-notification-feed-card-bordered > .couture-head {
  display: grid; grid-template-columns: 1fr auto;
  gap: 10px; align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-notification-feed-card-bordered > .couture-head > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem); font-weight: 700;
  color: var(--couture-fg, #111);
}
.couture-notification-feed-card-bordered > .couture-head > .couture-mark {
  font-size: 12px; font-weight: 600;
  color: var(--couture-accent, #6366f1);
  background: transparent; border: 0; cursor: pointer; padding: 0;
}
.couture-notification-feed-card-bordered > .couture-item {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: start;
  padding: 12px 16px;
}
.couture-notification-feed-card-bordered > .couture-item + .couture-item {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-notification-feed-card-bordered > .couture-item.couture-unread {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
}
.couture-notification-feed-card-bordered > .couture-item > .couture-icon {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 14px;
}
.couture-notification-feed-card-bordered > .couture-item > .couture-text > .couture-msg {
  font-size: clamp(0.82rem, 1.02vw, 0.88rem);
  color: var(--couture-fg, #111); line-height: 1.45;
}
.couture-notification-feed-card-bordered > .couture-item > .couture-text > .couture-msg > strong { font-weight: 600; }
.couture-notification-feed-card-bordered > .couture-item > .couture-text > .couture-time {
  font-size: 11px; color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  margin-top: 2px;
}
.couture-notification-feed-card-bordered > .couture-item > .couture-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--couture-accent, #6366f1); margin-top: 8px;
}

/* V6.388 #1279 - badge-progress-circle-card-bordered: circular progress */
.couture-badge-progress-circle-card-bordered {
  position: relative;
  width: 80px; height: 80px;
  display: grid; place-items: center;
}
.couture-badge-progress-circle-card-bordered > svg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  transform: rotate(-90deg);
}
.couture-badge-progress-circle-card-bordered > svg > circle.couture-track {
  fill: none;
  stroke: color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  stroke-width: 6;
}
.couture-badge-progress-circle-card-bordered > svg > circle.couture-fill {
  fill: none;
  stroke: var(--couture-accent, #6366f1);
  stroke-width: 6;
  stroke-linecap: round;
}
.couture-badge-progress-circle-card-bordered > .couture-num {
  font-variant-numeric: tabular-nums;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 800; color: var(--couture-fg, #111);
  letter-spacing: -0.015em; z-index: 1;
}
.couture-badge-progress-circle-card-bordered > .couture-num > .couture-pct {
  font-size: 0.55em; font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}

/* V6.388 #1280 - tag-input-card-bordered: tag input field */
.couture-tag-input-card-bordered {
  display: flex; flex-wrap: wrap;
  gap: 6px; padding: 8px 10px;
  border-radius: 11px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  align-items: center; min-height: 42px;
}
.couture-tag-input-card-bordered:focus-within {
  border-color: var(--couture-accent, #6366f1);
}
.couture-tag-input-card-bordered > .couture-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 500;
  padding: 3px 4px 3px 9px;
  border-radius: 6px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-tag-input-card-bordered > .couture-tag > .couture-x {
  width: 16px; height: 16px; border-radius: 4px;
  display: grid; place-items: center;
  background: transparent; color: var(--couture-accent, #6366f1);
  border: 0; cursor: pointer; font-size: 12px;
}
.couture-tag-input-card-bordered > input {
  font-size: 13px;
  background: transparent; border: 0; outline: none;
  color: var(--couture-fg, #111);
  flex: 1; min-width: 100px;
}

/* V6.388 #1281 - color-swatch-card-bordered: color picker swatch grid */
.couture-color-swatch-card-bordered {
  display: grid; gap: 12px;
  padding: clamp(14px, 2.2vw, 18px);
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-color-swatch-card-bordered > .couture-label {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-color-swatch-card-bordered > .couture-swatches {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
  gap: 8px;
}
.couture-color-swatch-card-bordered > .couture-swatches > .couture-swatch {
  aspect-ratio: 1;
  border-radius: 9px;
  cursor: pointer;
  border: 2px solid transparent;
  box-shadow: inset 0 0 0 1px color-mix(in oklab, #000 12%, transparent);
}
.couture-color-swatch-card-bordered > .couture-swatches > .couture-swatch.couture-active {
  border-color: var(--couture-accent, #6366f1);
}

/* V6.388 #1282 - empty-state-card-bordered: empty state placeholder */
.couture-empty-state-card-bordered {
  display: grid; gap: 12px;
  padding: clamp(40px, 6vw, 60px) clamp(20px, 4vw, 32px);
  text-align: center;
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 2px dashed color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-empty-state-card-bordered > .couture-illustration {
  width: 72px; height: 72px;
  border-radius: 50%;
  display: grid; place-items: center;
  margin: 0 auto;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
  color: var(--couture-accent, #6366f1); font-size: 32px;
}
.couture-empty-state-card-bordered > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  letter-spacing: -0.012em; color: var(--couture-fg, #111);
}
.couture-empty-state-card-bordered > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
  max-width: 42ch; margin: 0 auto;
}
.couture-empty-state-card-bordered > .couture-action {
  display: inline-flex; align-items: center;
  justify-self: center;
  font-weight: 600; font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  padding: 9px 18px; border-radius: 10px;
  background: var(--couture-accent, #6366f1); color: #fff;
  text-decoration: none; margin-top: 4px;
}

/* V6.388 #1283 - error-state-card-bordered: error state with retry */
.couture-error-state-card-bordered {
  display: grid; gap: 12px;
  padding: clamp(28px, 4vw, 40px);
  text-align: center;
  border-radius: 16px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, #ef4444 4%);
  border: 1px solid color-mix(in oklab, #ef4444 22%, transparent);
}
.couture-error-state-card-bordered > .couture-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: grid; place-items: center;
  margin: 0 auto;
  background: #ef4444; color: #fff;
  font-size: 24px; font-weight: 700;
}
.couture-error-state-card-bordered > .couture-code {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: #b91c1c;
}
.couture-error-state-card-bordered > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111);
}
.couture-error-state-card-bordered > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  max-width: 44ch; margin: 0 auto;
}
.couture-error-state-card-bordered > .couture-retry {
  display: inline-flex; align-items: center; gap: 6px;
  justify-self: center;
  font-weight: 600; font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  padding: 9px 18px; border-radius: 10px;
  background: var(--couture-bg, #fff); color: #b91c1c;
  border: 1px solid color-mix(in oklab, #ef4444 30%, transparent);
  text-decoration: none; cursor: pointer;
}

/* V6.388 #1284 - loading-spinner-card-bordered: animated loading spinner */
.couture-loading-spinner-card-bordered {
  display: inline-grid; gap: 10px;
  align-items: center; justify-items: center;
  padding: 16px 20px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-loading-spinner-card-bordered > .couture-spinner {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 3px solid color-mix(in oklab, var(--couture-accent, #6366f1) 18%, transparent);
  border-top-color: var(--couture-accent, #6366f1);
  animation: couture-spin-1284 0.85s linear infinite;
}
.couture-loading-spinner-card-bordered > .couture-text {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  font-weight: 500;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
@keyframes couture-spin-1284 {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-loading-spinner-card-bordered > .couture-spinner { animation-duration: 2s; }
}

/* V6.388 #1285 - skeleton-loader-card-bordered: skeleton placeholder */
.couture-skeleton-loader-card-bordered {
  display: grid; gap: 10px;
  padding: clamp(14px, 2.2vw, 20px);
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-skeleton-loader-card-bordered > .couture-bar,
.couture-skeleton-loader-card-bordered > .couture-circle {
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 0%,
    color-mix(in oklab, var(--couture-fg, #111) 12%, transparent) 50%,
    color-mix(in oklab, var(--couture-fg, #111) 6%, transparent) 100%);
  background-size: 200% 100%;
  animation: couture-shimmer-1285 1.4s ease-in-out infinite;
  border-radius: 6px;
}
.couture-skeleton-loader-card-bordered > .couture-bar { height: 12px; }
.couture-skeleton-loader-card-bordered > .couture-bar.couture-short { width: 60%; }
.couture-skeleton-loader-card-bordered > .couture-bar.couture-medium { width: 80%; }
.couture-skeleton-loader-card-bordered > .couture-circle {
  width: 40px; height: 40px;
  border-radius: 50%;
}
@keyframes couture-shimmer-1285 {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-skeleton-loader-card-bordered > .couture-bar,
  .couture-skeleton-loader-card-bordered > .couture-circle { animation: none; }
}

/* V6.388 #1286 - snackbar-card-bordered: snackbar with action button */
.couture-snackbar-card-bordered {
  display: grid; grid-template-columns: 1fr auto;
  gap: 16px; align-items: center;
  padding: 12px 12px 12px 18px;
  border-radius: 12px;
  background: color-mix(in oklab, var(--couture-fg, #111) 92%, var(--couture-bg, #fff) 8%);
  color: #fff;
  box-shadow: 0 16px 36px -10px color-mix(in oklab, #000 40%, transparent);
  max-width: 480px;
}
.couture-snackbar-card-bordered > .couture-text {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
}
.couture-snackbar-card-bordered > .couture-text > strong { font-weight: 600; }
.couture-snackbar-card-bordered > .couture-action {
  font-weight: 700; font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  padding: 6px 12px; border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-accent, #6366f1) 80%, #fff 20%);
  border: 0; cursor: pointer;
  text-transform: uppercase; letter-spacing: 0.05em;
}

/* V6.388 #1287 - command-palette-card-bordered: command palette UI */
.couture-command-palette-card-bordered {
  display: grid; gap: 0; padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  box-shadow: 0 24px 60px -16px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
  max-width: 540px; width: 100%;
  overflow: hidden;
}
.couture-command-palette-card-bordered > .couture-search {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-command-palette-card-bordered > .couture-search > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
}
.couture-command-palette-card-bordered > .couture-search > input {
  font-size: clamp(0.95rem, 1.18vw, 1.04rem);
  background: transparent; border: 0; outline: none;
  color: var(--couture-fg, #111); width: 100%;
}
.couture-command-palette-card-bordered > .couture-search > .couture-esc {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px; font-weight: 600;
  padding: 3px 7px; border-radius: 5px;
  background: color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-command-palette-card-bordered > .couture-results {
  display: grid; gap: 1px;
  padding: 6px;
  max-height: 320px; overflow-y: auto;
}
.couture-command-palette-card-bordered > .couture-results > .couture-group-label {
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  padding: 8px 10px 4px;
}
.couture-command-palette-card-bordered > .couture-results > .couture-result {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 9px 10px; border-radius: 7px;
  font-size: clamp(0.84rem, 1.03vw, 0.9rem);
  color: var(--couture-fg, #111); cursor: pointer;
}
.couture-command-palette-card-bordered > .couture-results > .couture-result.couture-selected,
.couture-command-palette-card-bordered > .couture-results > .couture-result:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent);
}
.couture-command-palette-card-bordered > .couture-results > .couture-result > .couture-icon {
  width: 18px; height: 18px;
  display: grid; place-items: center;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-command-palette-card-bordered > .couture-results > .couture-result > .couture-shortcut {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 45%, transparent);
}

/* V6.388 #1288 - sect-stats-quad-card-bordered: 4-stat full-width section */
.couture-sect-stats-quad-card-bordered {
  display: grid; gap: 28px;
  padding: clamp(40px, 6vw, 64px) clamp(20px, 4vw, 48px);
  border-radius: 24px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-sect-stats-quad-card-bordered > .couture-head {
  display: grid; gap: 8px; text-align: center;
  max-width: 56ch; margin: 0 auto;
}
.couture-sect-stats-quad-card-bordered > .couture-head > .couture-eyebrow {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--couture-accent, #6366f1);
}
.couture-sect-stats-quad-card-bordered > .couture-head > .couture-title {
  font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 700;
  letter-spacing: -0.018em; color: var(--couture-fg, #111);
}
.couture-sect-stats-quad-card-bordered > .couture-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px;
}
@media (min-width: 760px) {
  .couture-sect-stats-quad-card-bordered > .couture-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-sect-stats-quad-card-bordered > .couture-grid > .couture-stat {
  display: grid; gap: 6px; padding: 18px;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-sect-stats-quad-card-bordered > .couture-grid > .couture-stat > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 800;
  letter-spacing: -0.025em;
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  color: var(--couture-accent, #6366f1);
}
.couture-sect-stats-quad-card-bordered > .couture-grid > .couture-stat > .couture-label {
  font-size: clamp(0.78rem, 0.95vw, 0.85rem); font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}

/* V6.388 #1289 - sect-cta-split-card-bordered: split CTA section */
.couture-sect-cta-split-card-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 4vw, 40px); align-items: center;
  padding: clamp(40px, 6vw, 64px) clamp(24px, 4vw, 56px);
  border-radius: 24px;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff;
}
@media (min-width: 760px) {
  .couture-sect-cta-split-card-bordered { grid-template-columns: 1.2fr 1fr; }
}
.couture-sect-cta-split-card-bordered > .couture-text > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
  color: color-mix(in oklab, #fff 75%, transparent);
  margin-bottom: 12px; display: inline-block;
}
.couture-sect-cta-split-card-bordered > .couture-text > .couture-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -0.022em;
  line-height: 1.1; margin-bottom: 12px;
}
.couture-sect-cta-split-card-bordered > .couture-text > .couture-sub {
  font-size: clamp(0.94rem, 1.18vw, 1.04rem); line-height: 1.55;
  color: color-mix(in oklab, #fff 85%, transparent);
}
.couture-sect-cta-split-card-bordered > .couture-form {
  display: grid; gap: 8px;
  padding: 18px; border-radius: 16px;
  background: var(--couture-bg, #fff);
  color: var(--couture-fg, #111);
}
.couture-sect-cta-split-card-bordered > .couture-form > .couture-label {
  font-size: 12px; font-weight: 600;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-sect-cta-split-card-bordered > .couture-form > .couture-row {
  display: grid; grid-template-columns: 1fr auto; gap: 8px;
}
.couture-sect-cta-split-card-bordered > .couture-form > .couture-row > input {
  padding: 11px 14px; border-radius: 10px;
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 12%, transparent);
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  outline: none; color: var(--couture-fg, #111);
}
.couture-sect-cta-split-card-bordered > .couture-form > .couture-row > button {
  padding: 11px 18px; border-radius: 10px; border: 0;
  background: var(--couture-accent, #6366f1); color: #fff;
  font-weight: 600; font-size: clamp(0.85rem, 1.05vw, 0.92rem); cursor: pointer;
}

/* V6.388 #1290 - sect-team-grid-card-bordered: team member grid */
.couture-sect-team-grid-card-bordered {
  display: grid; gap: 18px;
  padding: clamp(28px, 4vw, 40px) 0;
}
.couture-sect-team-grid-card-bordered > .couture-head {
  display: grid; gap: 8px; text-align: center;
  max-width: 56ch; margin: 0 auto;
}
.couture-sect-team-grid-card-bordered > .couture-head > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700;
  letter-spacing: -0.02em; color: var(--couture-fg, #111);
}
.couture-sect-team-grid-card-bordered > .couture-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;
}
@media (min-width: 760px) {
  .couture-sect-team-grid-card-bordered > .couture-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-sect-team-grid-card-bordered > .couture-grid > .couture-member {
  display: grid; gap: 8px;
  padding: 18px; border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
  text-align: center;
}
.couture-sect-team-grid-card-bordered > .couture-grid > .couture-member > .couture-photo {
  width: 80px; height: 80px; border-radius: 50%;
  margin: 0 auto;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 30%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden;
}
.couture-sect-team-grid-card-bordered > .couture-grid > .couture-member > .couture-photo > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-sect-team-grid-card-bordered > .couture-grid > .couture-member > .couture-name {
  font-size: clamp(0.94rem, 1.15vw, 1rem); font-weight: 600; color: var(--couture-fg, #111);
}
.couture-sect-team-grid-card-bordered > .couture-grid > .couture-member > .couture-role {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  color: var(--couture-accent, #6366f1); font-weight: 600;
}

/* V6.388 #1291 - sect-blog-grid-card-bordered: blog post grid */
.couture-sect-blog-grid-card-bordered {
  display: grid; gap: 18px;
  padding: clamp(28px, 4vw, 40px) 0;
}
.couture-sect-blog-grid-card-bordered > .couture-head {
  display: grid; grid-template-columns: 1fr auto;
  gap: 12px; align-items: end;
}
.couture-sect-blog-grid-card-bordered > .couture-head > .couture-text > .couture-eyebrow {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--couture-accent, #6366f1); margin-bottom: 4px;
}
.couture-sect-blog-grid-card-bordered > .couture-head > .couture-text > .couture-title {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700;
  letter-spacing: -0.018em; color: var(--couture-fg, #111);
}
.couture-sect-blog-grid-card-bordered > .couture-grid {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px;
}
@media (min-width: 760px) {
  .couture-sect-blog-grid-card-bordered > .couture-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-sect-blog-grid-card-bordered > .couture-grid > .couture-post {
  display: grid; gap: 10px;
  border-radius: 16px; overflow: hidden;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-sect-blog-grid-card-bordered > .couture-grid > .couture-post > .couture-cover {
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 10%, transparent));
}
.couture-sect-blog-grid-card-bordered > .couture-grid > .couture-post > .couture-cover > img {
  width: 100%; height: 100%; object-fit: cover;
}
.couture-sect-blog-grid-card-bordered > .couture-grid > .couture-post > .couture-meta {
  display: grid; gap: 8px; padding: 0 18px 18px;
}
.couture-sect-blog-grid-card-bordered > .couture-grid > .couture-post > .couture-meta > .couture-tag {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--couture-accent, #6366f1);
  display: inline-block; width: fit-content;
  padding: 3px 8px; border-radius: 999px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent);
}
.couture-sect-blog-grid-card-bordered > .couture-grid > .couture-post > .couture-meta > .couture-title {
  font-size: clamp(1rem, 1.25vw, 1.08rem); font-weight: 700;
  letter-spacing: -0.012em; color: var(--couture-fg, #111); line-height: 1.3;
}

/* V6.388 #1292 - sect-pricing-toggle-card-bordered: pricing with billing toggle */
.couture-sect-pricing-toggle-card-bordered {
  display: grid; gap: 24px;
  padding: clamp(28px, 4vw, 40px) 0;
}
.couture-sect-pricing-toggle-card-bordered > .couture-head {
  display: grid; gap: 14px; text-align: center;
}
.couture-sect-pricing-toggle-card-bordered > .couture-head > .couture-title {
  font-size: clamp(1.6rem, 2.8vw, 2.1rem); font-weight: 700;
  letter-spacing: -0.02em; color: var(--couture-fg, #111);
}
.couture-sect-pricing-toggle-card-bordered > .couture-head > .couture-toggle {
  justify-self: center;
  display: inline-flex; gap: 4px; padding: 4px;
  border-radius: 11px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 5%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 8%, transparent);
}
.couture-sect-pricing-toggle-card-bordered > .couture-head > .couture-toggle > button {
  font-size: 12px; font-weight: 600;
  padding: 7px 16px; border-radius: 8px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
  border: 0; cursor: pointer;
}
.couture-sect-pricing-toggle-card-bordered > .couture-head > .couture-toggle > button.couture-active {
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
}
.couture-sect-pricing-toggle-card-bordered > .couture-tiers {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;
}
@media (min-width: 760px) {
  .couture-sect-pricing-toggle-card-bordered > .couture-tiers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* V6.388 #1293 - profile-hero-card-card-bordered: profile hero card */
.couture-profile-hero-card-card-bordered {
  position: relative;
  display: grid; gap: 18px;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 22px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-profile-hero-card-card-bordered > .couture-banner {
  position: absolute; top: 0; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
}
.couture-profile-hero-card-card-bordered > .couture-row {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 18px; align-items: end;
  position: relative; z-index: 1;
  margin-top: 70px;
}
.couture-profile-hero-card-card-bordered > .couture-row > .couture-avatar {
  width: 96px; height: 96px; border-radius: 22px;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  display: grid; place-items: center;
  color: #fff; font-weight: 800; font-size: 36px;
  border: 4px solid var(--couture-bg, #fff);
}
.couture-profile-hero-card-card-bordered > .couture-row > .couture-info {
  padding-bottom: 6px;
}
.couture-profile-hero-card-card-bordered > .couture-row > .couture-info > .couture-name {
  font-size: clamp(1.2rem, 1.6vw, 1.4rem); font-weight: 700;
  letter-spacing: -0.015em; color: var(--couture-fg, #111);
}
.couture-profile-hero-card-card-bordered > .couture-row > .couture-info > .couture-handle {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  color: color-mix(in oklab, var(--couture-fg, #111) 60%, transparent);
}
.couture-profile-hero-card-card-bordered > .couture-bio {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 75%, transparent);
}

/* V6.388 #1294 - mega-menu-grid-card-bordered: dropdown mega-menu */
.couture-mega-menu-grid-card-bordered {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 22px 50px -16px color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
  width: 100%; max-width: 880px;
}
@media (max-width: 720px) {
  .couture-mega-menu-grid-card-bordered { grid-template-columns: 1fr; }
}
.couture-mega-menu-grid-card-bordered > .couture-feature {
  display: grid; gap: 10px; padding: 18px;
  border-radius: 12px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 92%, var(--couture-accent, #6366f1) 8%), var(--couture-bg, #fff));
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-mega-menu-grid-card-bordered > .couture-feature > .couture-eyebrow {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em; color: var(--couture-accent, #6366f1);
}
.couture-mega-menu-grid-card-bordered > .couture-feature > .couture-title {
  font-size: clamp(0.95rem, 1.18vw, 1.04rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-mega-menu-grid-card-bordered > .couture-feature > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); line-height: 1.5;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-mega-menu-grid-card-bordered > .couture-col > .couture-head {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
  padding-bottom: 8px; margin-bottom: 6px;
  border-bottom: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-mega-menu-grid-card-bordered > .couture-col > a {
  display: grid; grid-template-columns: auto 1fr;
  gap: 10px; align-items: center;
  padding: 7px 6px; border-radius: 7px;
  font-size: clamp(0.8rem, 1vw, 0.86rem);
  color: var(--couture-fg, #111); text-decoration: none;
}
.couture-mega-menu-grid-card-bordered > .couture-col > a:hover {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 8%, transparent);
}

/* V6.388 #1295 - dialog-confirm-card-bordered: confirm dialog */
.couture-dialog-confirm-card-bordered {
  display: grid; gap: 16px;
  padding: clamp(22px, 3.2vw, 28px);
  border-radius: 16px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  box-shadow: 0 26px 60px -20px color-mix(in oklab, var(--couture-fg, #111) 35%, transparent);
  max-width: 420px; width: 100%;
}
.couture-dialog-confirm-card-bordered > .couture-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: color-mix(in oklab, #ef4444 14%, transparent);
  color: #dc2626; font-size: 20px;
}
.couture-dialog-confirm-card-bordered.couture-info > .couture-icon {
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-dialog-confirm-card-bordered > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-dialog-confirm-card-bordered > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-dialog-confirm-card-bordered > .couture-actions {
  display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px;
}
.couture-dialog-confirm-card-bordered > .couture-actions > .couture-cancel {
  font-weight: 600; font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  padding: 9px 16px; border-radius: 9px;
  background: transparent;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 14%, transparent);
  cursor: pointer;
}
.couture-dialog-confirm-card-bordered > .couture-actions > .couture-confirm {
  font-weight: 600; font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  padding: 9px 16px; border-radius: 9px; border: 0;
  background: #dc2626; color: #fff; cursor: pointer;
}
.couture-dialog-confirm-card-bordered.couture-info > .couture-actions > .couture-confirm {
  background: var(--couture-accent, #6366f1);
}

/* V6.388 #1296 - audio-tracklist-card-bordered: tracklist with play buttons */
.couture-audio-tracklist-card-bordered {
  display: grid; gap: 0; padding: 0;
  border-radius: 14px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
  overflow: hidden;
}
.couture-audio-tracklist-card-bordered > .couture-track {
  display: grid; grid-template-columns: auto auto 1fr auto auto;
  gap: 14px; align-items: center;
  padding: 10px 16px;
}
.couture-audio-tracklist-card-bordered > .couture-track + .couture-track {
  border-top: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
.couture-audio-tracklist-card-bordered > .couture-track:hover {
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
}
.couture-audio-tracklist-card-bordered > .couture-track > .couture-num {
  font-variant-numeric: tabular-nums; font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 50%, transparent);
  width: 18px; text-align: right;
}
.couture-audio-tracklist-card-bordered > .couture-track > .couture-play {
  width: 28px; height: 28px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--couture-accent, #6366f1); color: #fff;
  border: 0; cursor: pointer; font-size: 11px;
}
.couture-audio-tracklist-card-bordered > .couture-track > .couture-info > .couture-title {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem); font-weight: 600; color: var(--couture-fg, #111);
}
.couture-audio-tracklist-card-bordered > .couture-track > .couture-info > .couture-artist {
  font-size: 11px; color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}
.couture-audio-tracklist-card-bordered > .couture-track > .couture-time {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1297 - image-mosaic-card-bordered: image mosaic asymmetric grid */
.couture-image-mosaic-card-bordered {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 100px;
  gap: 10px;
  padding: 0;
  border-radius: 18px;
  overflow: hidden;
}
.couture-image-mosaic-card-bordered > .couture-tile {
  position: relative;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden;
  border-radius: 12px;
  cursor: pointer;
}
.couture-image-mosaic-card-bordered > .couture-tile > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-image-mosaic-card-bordered > .couture-tile.couture-large {
  grid-column: span 2; grid-row: span 2;
}
.couture-image-mosaic-card-bordered > .couture-tile.couture-wide { grid-column: span 2; }
.couture-image-mosaic-card-bordered > .couture-tile.couture-tall { grid-row: span 2; }
@media (max-width: 640px) {
  .couture-image-mosaic-card-bordered { grid-template-columns: repeat(2, 1fr); }
}

/* V6.388 #1298 - badge-icon-circle-card-v2-bordered: small icon-in-circle badge variant */
.couture-badge-icon-circle-card-v2-bordered {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 8px; align-items: center;
  padding: 5px 14px 5px 5px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  font-size: clamp(0.8rem, 0.98vw, 0.86rem);
  font-weight: 600; color: var(--couture-fg, #111);
}
.couture-badge-icon-circle-card-v2-bordered > .couture-icon {
  width: 24px; height: 24px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  color: #fff; font-size: 12px; font-weight: 700;
}
.couture-badge-icon-circle-card-v2-bordered.couture-success > .couture-icon { background: linear-gradient(135deg, #10b981, #047857); }
.couture-badge-icon-circle-card-v2-bordered.couture-warning > .couture-icon { background: linear-gradient(135deg, #f59e0b, #b45309); }
.couture-badge-icon-circle-card-v2-bordered.couture-error > .couture-icon { background: linear-gradient(135deg, #ef4444, #b91c1c); }

/* V6.388 #1299 - animated-gradient-border-card-v2-bordered: card w/ animated border */
.couture-animated-gradient-border-card-v2-bordered {
  position: relative;
  display: grid; gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: var(--couture-bg, #fff);
  isolation: isolate;
}
.couture-animated-gradient-border-card-v2-bordered::before {
  content: "";
  position: absolute;
  inset: -2px; z-index: -1;
  border-radius: 19px;
  background: linear-gradient(120deg,
    var(--couture-accent, #6366f1) 0%,
    color-mix(in oklab, var(--couture-accent, #6366f1) 65%, #fff 35%) 25%,
    color-mix(in oklab, var(--couture-accent, #6366f1) 50%, var(--couture-fg, #111) 50%) 50%,
    color-mix(in oklab, var(--couture-accent, #6366f1) 75%, #fff 25%) 75%,
    var(--couture-accent, #6366f1) 100%);
  background-size: 300% 300%;
  animation: couture-gradient-1299 8s ease infinite;
}
.couture-animated-gradient-border-card-v2-bordered > .couture-eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--couture-accent, #6366f1);
}
.couture-animated-gradient-border-card-v2-bordered > .couture-title {
  font-size: clamp(1.1rem, 1.4vw, 1.22rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-animated-gradient-border-card-v2-bordered > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
@keyframes couture-gradient-1299 {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .couture-animated-gradient-border-card-v2-bordered::before { animation: none; }
}


/* V6.388 — about_split layout variants (operator audit on papirique.com:
   "About us too familiar with all other sites"). Same render hook now
   produces 4 visually distinct layouts hashed per-domain. CSS below
   covers the 3 new layouts; original .about-split-grid is unchanged. */
.couture-about-split--inverted .about-split-grid--inverted {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}
@media (min-width: 760px) {
  .couture-about-split--inverted .about-split-grid--inverted {
    grid-template-columns: 1fr 1fr;
  }
}
.couture-about-split--inverted .about-split-portrait-frame {
  position: relative;
  padding: 18px;
  border-radius: 18px;
  background: color-mix(in oklab, var(--c-paper-2, #fafafa) 80%, var(--c-accent, #6366f1) 20%);
  border: 1px solid color-mix(in oklab, var(--c-line, #ddd) 60%, transparent);
}
.couture-about-split--inverted .about-split-portrait-frame > .about-split-portrait {
  width: 100%; height: auto; display: block;
  border-radius: 12px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  box-shadow: 0 12px 32px -10px color-mix(in oklab, var(--c-ink, #111) 25%, transparent);
}

.couture-about-split--pullquote .about-split-pullquote-row {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 22px;
  align-items: start;
  margin-bottom: clamp(20px, 3vw, 32px);
}
@media (max-width: 540px) {
  .couture-about-split--pullquote .about-split-pullquote-row { grid-template-columns: 64px 1fr; gap: 14px; }
}
.couture-about-split--pullquote .about-split-portrait-inset {
  width: 80px; height: 80px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid color-mix(in oklab, var(--c-paper, #fff) 70%, var(--c-accent, #6366f1) 30%);
}
@media (max-width: 540px) {
  .couture-about-split--pullquote .about-split-portrait-inset { width: 64px; height: 64px; }
}
.couture-about-split--pullquote .about-split-portrait-inset > .about-split-portrait {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-about-split--pullquote .about-split-quote {
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: 1.25;
  margin: 8px 0 14px;
  padding: 0;
  border: 0;
  color: var(--c-ink, #111);
  font-style: italic;
}
.couture-about-split--pullquote .about-split-quote-attr {
  font-size: 0.92rem;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
.couture-about-split--pullquote .about-split-paras {
  display: grid; gap: 14px;
  max-width: 64ch;
  margin-left: 102px;
}
@media (max-width: 540px) {
  .couture-about-split--pullquote .about-split-paras { margin-left: 0; }
}

.couture-about-split--stacked {
  text-align: center;
}
.couture-about-split--stacked .about-split-stacked-portrait {
  display: block;
  width: clamp(140px, 22vw, 200px);
  margin: 0 auto clamp(20px, 3vw, 32px);
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid color-mix(in oklab, var(--c-paper, #fff) 70%, var(--c-accent, #6366f1) 30%);
  box-shadow: 0 18px 40px -14px color-mix(in oklab, var(--c-ink, #111) 28%, transparent);
}
.couture-about-split--stacked .about-split-stacked-portrait > .about-split-portrait {
  width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1; display: block;
}
.couture-about-split--stacked .about-split-stacked-body {
  max-width: 56ch;
  margin: 0 auto;
}
.couture-about-split--stacked .about-split-stacked-body > h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  letter-spacing: -0.022em;
  margin-top: 6px;
  margin-bottom: 14px;
}
.couture-about-split--stacked .about-split-stacked-body > p {
  text-align: center;
  margin: 0 auto 12px;
  max-width: 56ch;
}
.couture-about-split--stacked .about-split-sig--centered {
  margin-top: 18px;
  display: inline-block;
  padding-top: 10px;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #ddd) 60%, transparent);
}

/* V6.388 #1300 - RUBY-CORONET-CARD: 1300-component commemorative ruby crown */
.couture-ruby-coronet-card {
  position: relative;
  display: grid; gap: 14px;
  padding: clamp(28px, 4vw, 38px) clamp(24px, 3.5vw, 34px) clamp(24px, 3vw, 30px);
  border-radius: 22px;
  background:
    radial-gradient(ellipse at 50% 0%, color-mix(in oklab, #ef4444 35%, transparent) 0%, transparent 65%),
    linear-gradient(160deg, color-mix(in oklab, var(--couture-bg, #fff) 88%, #ef4444 12%), var(--couture-bg, #fff) 70%);
  border: 2px solid color-mix(in oklab, #ef4444 50%, var(--couture-accent, #6366f1) 50%);
  box-shadow:
    0 0 0 5px color-mix(in oklab, #ef4444 14%, transparent),
    0 22px 50px -18px color-mix(in oklab, var(--couture-fg, #111) 28%, transparent);
  text-align: center;
  overflow: hidden;
}
.couture-ruby-coronet-card::before {
  content: "*";
  position: absolute; top: -8px; left: 50%;
  transform: translateX(-50%);
  font-size: 50px;
  color: #dc2626;
  text-shadow: 0 4px 14px color-mix(in oklab, #ef4444 60%, transparent);
}
.couture-ruby-coronet-card > .couture-eyebrow {
  margin-top: 32px;
  font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.18em;
  color: color-mix(in oklab, #b91c1c 80%, var(--couture-fg, #111));
}
.couture-ruby-coronet-card > .couture-numeral {
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  font-size: clamp(3rem, 6vw, 4.4rem);
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #ef4444 0%, var(--couture-accent, #6366f1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.couture-ruby-coronet-card > .couture-title {
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  font-weight: 700; letter-spacing: -0.012em;
  color: var(--couture-fg, #111);
}
.couture-ruby-coronet-card > .couture-body {
  font-size: clamp(0.84rem, 1.04vw, 0.93rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
  max-width: 50ch; margin: 0 auto;
}
.couture-ruby-coronet-card > .couture-gems {
  display: flex; justify-content: center; gap: 14px;
  font-size: 18px; color: #ef4444;
}

/* V6.388 #1301 - process-zigzag-bordered: zigzag alternating step layout */
.couture-process-zigzag-bordered {
  display: grid; gap: clamp(28px, 4vw, 48px);
  padding: clamp(28px, 4vw, 40px) 0;
}
.couture-process-zigzag-bordered > .couture-step {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}
@media (min-width: 720px) {
  .couture-process-zigzag-bordered > .couture-step { grid-template-columns: 1fr 1fr; }
  .couture-process-zigzag-bordered > .couture-step:nth-child(even) > .couture-image { order: 2; }
}
.couture-process-zigzag-bordered > .couture-step > .couture-image {
  aspect-ratio: 5 / 4;
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--couture-accent, #6366f1) 28%, transparent), color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent));
  overflow: hidden;
}
.couture-process-zigzag-bordered > .couture-step > .couture-image > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.couture-process-zigzag-bordered > .couture-step > .couture-text > .couture-num {
  display: inline-block;
  font-variant-numeric: tabular-nums; font-weight: 800;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 65%, var(--couture-fg, #111) 35%));
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  margin-bottom: 8px;
  line-height: 0.9;
}
.couture-process-zigzag-bordered > .couture-step > .couture-text > .couture-title {
  font-size: clamp(1.25rem, 1.8vw, 1.5rem); font-weight: 700;
  letter-spacing: -0.018em; color: var(--couture-fg, #111);
  margin-bottom: 10px;
}
.couture-process-zigzag-bordered > .couture-step > .couture-text > .couture-body {
  font-size: clamp(0.92rem, 1.15vw, 1rem); line-height: 1.6;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}

/* V6.388 #1302 - process-circular-flow-bordered: 4-step circular hub */
.couture-process-circular-flow-bordered {
  display: grid; gap: 24px;
  padding: clamp(40px, 6vw, 64px) clamp(20px, 4vw, 40px);
  border-radius: 24px;
  background: radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent) 0%, transparent 65%), var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-process-circular-flow-bordered > .couture-head {
  text-align: center; max-width: 56ch; margin: 0 auto;
}
.couture-process-circular-flow-bordered > .couture-head > .couture-eyebrow {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--couture-accent, #6366f1); margin-bottom: 8px;
}
.couture-process-circular-flow-bordered > .couture-head > .couture-title {
  font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 700;
  letter-spacing: -0.02em; color: var(--couture-fg, #111);
}
.couture-process-circular-flow-bordered > .couture-cycle {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
@media (min-width: 760px) {
  .couture-process-circular-flow-bordered > .couture-cycle { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.couture-process-circular-flow-bordered > .couture-cycle > .couture-step {
  display: grid; gap: 12px; text-align: center;
  padding: 22px 18px;
  border-radius: 50%;
  aspect-ratio: 1;
  background: var(--couture-bg, #fff);
  border: 2px solid color-mix(in oklab, var(--couture-accent, #6366f1) 22%, transparent);
  align-content: center;
}
.couture-process-circular-flow-bordered > .couture-cycle > .couture-step > .couture-num {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: grid; place-items: center;
  margin: 0 auto;
  background: var(--couture-accent, #6366f1); color: #fff;
  font-weight: 800; font-size: 16px;
  font-variant-numeric: tabular-nums;
}
.couture-process-circular-flow-bordered > .couture-cycle > .couture-step > .couture-title {
  font-size: clamp(0.86rem, 1.08vw, 0.94rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.005em;
}
.couture-process-circular-flow-bordered > .couture-cycle > .couture-step > .couture-body {
  font-size: clamp(0.74rem, 0.92vw, 0.8rem); line-height: 1.4;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}

/* V6.388 #1303 - process-numbered-rail-bordered: vertical numbered timeline rail */
.couture-process-numbered-rail-bordered {
  display: grid; gap: 0;
  padding: clamp(24px, 3.5vw, 36px) clamp(20px, 3vw, 32px);
  border-radius: 20px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
}
.couture-process-numbered-rail-bordered > .couture-step {
  position: relative;
  display: grid; grid-template-columns: 60px 1fr;
  gap: 22px; padding: 18px 0;
}
.couture-process-numbered-rail-bordered > .couture-step:not(:last-child)::after {
  content: ""; position: absolute;
  top: 78px; bottom: -10px; left: 29px;
  width: 2px;
  background: linear-gradient(to bottom,
    color-mix(in oklab, var(--couture-accent, #6366f1) 35%, transparent) 0%,
    color-mix(in oklab, var(--couture-accent, #6366f1) 12%, transparent) 100%);
}
.couture-process-numbered-rail-bordered > .couture-step > .couture-num {
  position: relative; z-index: 1;
  width: 60px; height: 60px;
  border-radius: 18px;
  display: grid; place-items: center;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 2px solid var(--couture-accent, #6366f1);
  font-size: 22px; font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.couture-process-numbered-rail-bordered > .couture-step > .couture-content > .couture-eyebrow {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--couture-accent, #6366f1);
  margin-bottom: 4px;
}
.couture-process-numbered-rail-bordered > .couture-step > .couture-content > .couture-title {
  font-size: clamp(1.05rem, 1.4vw, 1.18rem); font-weight: 700;
  letter-spacing: -0.012em; color: var(--couture-fg, #111);
  margin-bottom: 6px;
}
.couture-process-numbered-rail-bordered > .couture-step > .couture-content > .couture-body {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 70%, transparent);
}
.couture-process-numbered-rail-bordered > .couture-step > .couture-content > .couture-meta {
  display: inline-flex; gap: 12px;
  margin-top: 10px;
  font-size: 12px;
  color: color-mix(in oklab, var(--couture-fg, #111) 55%, transparent);
}

/* V6.388 #1304 - process-cards-icon-trio-bordered: 3 distinct cards with phase tag */
.couture-process-cards-icon-trio-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px;
  padding: 4px;
}
@media (min-width: 760px) {
  .couture-process-cards-icon-trio-bordered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.couture-process-cards-icon-trio-bordered > .couture-card {
  position: relative;
  display: grid; gap: 14px;
  padding: clamp(24px, 3.5vw, 30px);
  border-radius: 20px;
  background: var(--couture-bg, #fff);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 10%, transparent);
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-phase {
  position: absolute; top: 16px; right: 16px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  padding: 3px 9px; border-radius: 4px;
  background: color-mix(in oklab, var(--couture-accent, #6366f1) 14%, transparent);
  color: var(--couture-accent, #6366f1);
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-icon-row {
  display: flex; align-items: end; gap: 10px;
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-icon-row > .couture-icon {
  width: 56px; height: 56px;
  border-radius: 16px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--couture-accent, #6366f1), color-mix(in oklab, var(--couture-accent, #6366f1) 70%, var(--couture-fg, #111) 30%));
  color: #fff; font-size: 26px;
  box-shadow: 0 6px 18px -4px color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-icon-row > .couture-num {
  font-variant-numeric: tabular-nums; font-weight: 800;
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  letter-spacing: -0.025em;
  color: color-mix(in oklab, var(--couture-fg, #111) 25%, transparent);
  line-height: 1;
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-title {
  font-size: clamp(1.05rem, 1.35vw, 1.18rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.012em;
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-body {
  font-size: clamp(0.86rem, 1.05vw, 0.92rem); line-height: 1.55;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-bullet-list {
  display: grid; gap: 6px;
  list-style: none; padding: 0; margin: 0;
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-bullet-list > li {
  display: grid; grid-template-columns: auto 1fr;
  gap: 8px; align-items: start;
  font-size: clamp(0.8rem, 0.98vw, 0.85rem);
  color: var(--couture-fg, #111);
}
.couture-process-cards-icon-trio-bordered > .couture-card > .couture-bullet-list > li::before {
  content: ""; width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--couture-accent, #6366f1);
  margin-top: 8px;
}

/* V6.388 #1305 - process-arrow-flow-bordered: horizontal arrow flow */
.couture-process-arrow-flow-bordered {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 18px;
  background: color-mix(in oklab, var(--couture-bg, #fff) 96%, var(--couture-fg, #111) 4%);
  border: 1px solid color-mix(in oklab, var(--couture-fg, #111) 6%, transparent);
}
@media (min-width: 760px) {
  .couture-process-arrow-flow-bordered {
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 0; align-items: center;
  }
}
.couture-process-arrow-flow-bordered > .couture-step {
  display: grid; gap: 8px;
  padding: 18px 16px;
  text-align: center;
}
.couture-process-arrow-flow-bordered > .couture-step > .couture-num {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  margin: 0 auto;
  background: var(--couture-bg, #fff);
  color: var(--couture-accent, #6366f1);
  border: 2px solid var(--couture-accent, #6366f1);
  font-weight: 800; font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.couture-process-arrow-flow-bordered > .couture-step > .couture-title {
  font-size: clamp(0.92rem, 1.15vw, 1rem); font-weight: 700;
  color: var(--couture-fg, #111); letter-spacing: -0.005em;
}
.couture-process-arrow-flow-bordered > .couture-step > .couture-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem); line-height: 1.4;
  color: color-mix(in oklab, var(--couture-fg, #111) 65%, transparent);
}
.couture-process-arrow-flow-bordered > .couture-arrow {
  display: none;
  font-size: 22px; font-weight: 700;
  color: color-mix(in oklab, var(--couture-accent, #6366f1) 50%, transparent);
  text-align: center;
}
@media (min-width: 760px) {
  .couture-process-arrow-flow-bordered > .couture-arrow { display: block; }
}


/* V6.388 — 8 new top-bar nav variants (operator audit on papirique.com:
   "Navigation very commonly seen"). Each variant is a thin CSS treatment
   selectable via [data-nav-variant="..."] attribute on the topbar root. */

/* topbar-shadow-floating: detached floating bar with deep shadow */
[data-nav-variant="topbar-shadow-floating"] {
  margin: 14px 14px 0;
  border-radius: 16px;
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  box-shadow: 0 12px 32px -10px color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
  background: var(--c-paper, #fff);
}

/* topbar-glass-blur: frosted-glass effect */
[data-nav-variant="topbar-glass-blur"] {
  background: color-mix(in oklab, var(--c-paper, #fff) 70%, transparent);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid color-mix(in oklab, #fff 35%, transparent);
}

/* topbar-double-row: 2 stacked rows (utility above, nav below) */
[data-nav-variant="topbar-double-row"] {
  position: relative;
  padding-top: 30px;
  border-top: 28px solid color-mix(in oklab, var(--c-paper, #fff) 88%, var(--c-ink, #111) 12%);
}
[data-nav-variant="topbar-double-row"]::before {
  content: "Free shipping over $75   ·   30-day returns   ·   Hand-checked";
  position: absolute; top: -22px; left: 0; right: 0;
  text-align: center;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  pointer-events: none;
}

/* topbar-accent-underline: animated accent underline under links */
[data-nav-variant="topbar-accent-underline"] a {
  position: relative;
  padding-bottom: 4px;
  transition: color 0.15s ease;
}
[data-nav-variant="topbar-accent-underline"] a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background: var(--c-accent, #6366f1);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
[data-nav-variant="topbar-accent-underline"] a:hover {
  color: var(--c-accent, #6366f1);
}
[data-nav-variant="topbar-accent-underline"] a:hover::after {
  transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
  [data-nav-variant="topbar-accent-underline"] a,
  [data-nav-variant="topbar-accent-underline"] a::after { transition: none; }
}

/* topbar-pill-cta-only: minimal pill links + giant CTA */
[data-nav-variant="topbar-pill-cta-only"] a {
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
[data-nav-variant="topbar-pill-cta-only"] a:hover {
  background: color-mix(in oklab, var(--c-ink, #111) 6%, transparent);
}
[data-nav-variant="topbar-pill-cta-only"] .cta,
[data-nav-variant="topbar-pill-cta-only"] [class*="cta"] {
  padding: 10px 22px;
  border-radius: 999px;
  background: var(--c-accent, #6366f1);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

/* topbar-vertical-divider: old-newspaper feel with vertical dividers */
[data-nav-variant="topbar-vertical-divider"] nav,
[data-nav-variant="topbar-vertical-divider"] [role="navigation"],
[data-nav-variant="topbar-vertical-divider"] ul {
  display: flex;
  align-items: center;
  gap: 0;
}
[data-nav-variant="topbar-vertical-divider"] nav a,
[data-nav-variant="topbar-vertical-divider"] [role="navigation"] a,
[data-nav-variant="topbar-vertical-divider"] ul a,
[data-nav-variant="topbar-vertical-divider"] li {
  padding: 4px 18px;
  border-right: 1px solid color-mix(in oklab, var(--c-ink, #111) 14%, transparent);
}
[data-nav-variant="topbar-vertical-divider"] nav a:last-child,
[data-nav-variant="topbar-vertical-divider"] [role="navigation"] a:last-child,
[data-nav-variant="topbar-vertical-divider"] ul a:last-child,
[data-nav-variant="topbar-vertical-divider"] li:last-child {
  border-right: 0;
}

/* topbar-icon-led-links: leading 14px icon glyph on each link */
[data-nav-variant="topbar-icon-led-links"] a::before {
  content: "◇";
  display: inline-block;
  font-size: 11px;
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-accent, #6366f1) 70%, transparent);
  vertical-align: middle;
}
[data-nav-variant="topbar-icon-led-links"] a:hover::before {
  color: var(--c-accent, #6366f1);
}

/* topbar-cornered-cta: CTA wrapped in small accent corner-card */
[data-nav-variant="topbar-cornered-cta"] .cta,
[data-nav-variant="topbar-cornered-cta"] [class*="cta"] {
  position: relative;
  padding: 10px 18px;
  border-radius: 0;
  background: var(--c-accent, #6366f1);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}
[data-nav-variant="topbar-cornered-cta"] .cta:hover,
[data-nav-variant="topbar-cornered-cta"] [class*="cta"]:hover {
  background: color-mix(in oklab, var(--c-accent, #6366f1) 90%, var(--c-ink, #111) 10%);
}


/* V6.388 — locations_strip 3 new layout variants (productive loop V2) */
.couture-locations-strip--rows .locations-strip-rows {
  display: grid; gap: 12px;
}
.couture-locations-strip--rows .locations-strip-row-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px; align-items: center;
  padding: 16px 22px;
  border-radius: 14px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-locations-strip--rows .locations-strip-row-item:nth-child(even) {
  background: color-mix(in oklab, var(--c-paper, #fff) 92%, var(--c-accent, #6366f1) 8%);
  border-color: color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent);
}
.couture-locations-strip--rows .locations-strip-pin {
  width: 40px; height: 40px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--c-accent, #6366f1);
  color: #fff;
  font-size: 18px;
}
.couture-locations-strip--rows .locations-strip-row-body > .locations-strip-city {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--c-ink, #111);
  margin-bottom: 2px;
}
.couture-locations-strip--rows .locations-strip-row-body > .locations-strip-address {
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
.couture-locations-strip--rows .locations-strip-row-meta {
  text-align: right;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}
.couture-locations-strip--rows .locations-strip-row-meta > * + * { margin-top: 3px; }
@media (max-width: 640px) {
  .couture-locations-strip--rows .locations-strip-row-item {
    grid-template-columns: auto 1fr;
  }
  .couture-locations-strip--rows .locations-strip-row-meta {
    grid-column: 2;
    text-align: left;
  }
}

.couture-locations-strip--numbered .locations-strip-numbered {
  display: grid; gap: 24px;
}
.couture-locations-strip--numbered .locations-strip-numbered-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px; align-items: start;
  padding-bottom: 22px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
}
.couture-locations-strip--numbered .locations-strip-numbered-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.couture-locations-strip--numbered .locations-strip-numeral {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  letter-spacing: -0.04em;
  line-height: 0.9;
  background: linear-gradient(135deg, var(--c-accent, #6366f1), color-mix(in oklab, var(--c-accent, #6366f1) 65%, var(--c-ink, #111) 35%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.couture-locations-strip--numbered .locations-strip-numbered-body > .locations-strip-city {
  font-size: clamp(1.1rem, 1.4vw, 1.22rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--c-ink, #111);
  margin-bottom: 4px;
}
.couture-locations-strip--numbered .locations-strip-numbered-body > .locations-strip-address {
  font-size: clamp(0.88rem, 1.05vw, 0.94rem);
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  margin-bottom: 8px;
}
.couture-locations-strip--numbered .locations-strip-numbered-body > .locations-strip-hours,
.couture-locations-strip--numbered .locations-strip-numbered-body > .locations-strip-phone {
  font-size: clamp(0.8rem, 0.98vw, 0.85rem);
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}

.couture-locations-strip--split .locations-strip-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
}
@media (min-width: 760px) {
  .couture-locations-strip--split .locations-strip-split-grid {
    grid-template-columns: 1fr 1.4fr;
  }
}
.couture-locations-strip--split .locations-strip-split-hero {
  display: grid; gap: 14px;
  padding: clamp(24px, 3.5vw, 32px);
  border-radius: 18px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--c-paper, #fff) 92%, var(--c-accent, #6366f1) 8%), var(--c-paper, #fff));
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 18%, transparent);
}
.couture-locations-strip--split .locations-strip-split-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--c-accent, #6366f1);
  color: #fff; font-size: 26px;
}
.couture-locations-strip--split .locations-strip-split-eyebrow {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--c-accent, #6366f1);
}
.couture-locations-strip--split .locations-strip-split-title {
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  font-weight: 700; letter-spacing: -0.02em;
  color: var(--c-ink, #111);
  margin: 0;
}
.couture-locations-strip--split .locations-strip-split-list {
  display: grid; gap: 14px;
}
.couture-locations-strip--split .locations-strip-split-item {
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-locations-strip--split .locations-strip-split-item > .locations-strip-city {
  font-size: clamp(0.95rem, 1.18vw, 1.04rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--c-ink, #111);
  margin-bottom: 4px;
}
.couture-locations-strip--split .locations-strip-split-item > .locations-strip-address {
  font-size: clamp(0.84rem, 1.04vw, 0.9rem);
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
.couture-locations-strip--split .locations-strip-split-item > .locations-strip-hours,
.couture-locations-strip--split .locations-strip-split-item > .locations-strip-phone {
  font-size: 12px;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin-top: 4px;
}


/* V6.388 — value_strip_horizontal 3 new layout variants (productive loop V2) */
.couture-value-strip--stacked .value-strip-stacked-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  padding: clamp(20px, 3vw, 28px);
}
@media (min-width: 720px) {
  .couture-value-strip--stacked .value-strip-stacked-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.couture-value-strip--stacked .value-strip-stacked-item {
  display: grid;
  gap: 10px;
  text-align: center;
  padding: 16px;
}
.couture-value-strip--stacked .value-strip-stacked-item > .value-strip-icon {
  display: grid; place-items: center;
  width: 44px; height: 44px;
  margin: 0 auto;
  border-radius: 12px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent), color-mix(in oklab, var(--c-accent, #6366f1) 8%, transparent));
  color: var(--c-accent, #6366f1);
  font-size: 22px;
}
.couture-value-strip--stacked .value-strip-stacked-item > .value-strip-label {
  font-size: clamp(0.92rem, 1.1vw, 1rem);
  font-weight: 600;
  color: var(--c-ink, #111);
  letter-spacing: -0.005em;
}

.couture-value-strip--pills .value-strip-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: clamp(18px, 2.6vw, 24px);
}
.couture-value-strip--pills .value-strip-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper, #fff) 96%, var(--c-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 18%, transparent);
  font-size: clamp(0.85rem, 1.05vw, 0.92rem);
  font-weight: 600;
  color: var(--c-ink, #111);
}
.couture-value-strip--pills .value-strip-pill > .value-strip-icon {
  color: var(--c-accent, #6366f1);
  font-size: 14px;
}

.couture-value-strip--editorial .value-strip-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(20px, 3vw, 28px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
@media (min-width: 720px) {
  .couture-value-strip--editorial .value-strip-editorial {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
  }
}
.couture-value-strip--editorial .value-strip-editorial-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 12px 22px;
}
@media (min-width: 720px) {
  .couture-value-strip--editorial .value-strip-editorial-item {
    border-right: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
  }
  .couture-value-strip--editorial .value-strip-editorial-item:last-child { border-right: 0; }
}
@media (max-width: 719px) {
  .couture-value-strip--editorial .value-strip-editorial-item:not(:last-child) {
    border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
  }
}
.couture-value-strip--editorial .value-strip-numeral {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--c-accent, #6366f1);
  padding: 3px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent, #6366f1) 12%, transparent);
}
.couture-value-strip--editorial .value-strip-label {
  font-size: clamp(0.88rem, 1.1vw, 0.95rem);
  font-weight: 500;
  color: var(--c-ink, #111);
}


/* V6.388 — process_diagram 2 new layout variants (productive loop V2) */

/* --orbit: hub center + arc-arranged labels using --orbit-angle CSS var */
.couture-process-diagram--orbit .diagram-orbit {
  position: relative;
  display: grid; place-items: center;
  width: min(560px, 90vw); height: min(560px, 90vw);
  margin: clamp(20px, 3vw, 32px) auto;
}
.couture-process-diagram--orbit .orbit-hub {
  position: absolute; inset: 0; margin: auto;
  width: clamp(140px, 22vw, 200px); height: clamp(140px, 22vw, 200px);
  border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--c-accent, #6366f1), color-mix(in oklab, var(--c-accent, #6366f1) 65%, var(--c-ink, #111) 35%));
  color: #fff;
  font-size: clamp(0.95rem, 1.18vw, 1.05rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-align: center;
  padding: 18px;
  z-index: 1;
  box-shadow: 0 18px 50px -10px color-mix(in oklab, var(--c-ink, #111) 30%, transparent);
}
.couture-process-diagram--orbit .orbit-ring {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}
.couture-process-diagram--orbit .orbit-node {
  position: absolute;
  top: 50%; left: 50%;
  width: clamp(140px, 18vw, 180px);
  margin-top: -50px;
  margin-left: -90px;
  transform: rotate(var(--orbit-angle, 0deg)) translate(0, calc(-1 * min(220px, 38vw))) rotate(calc(-1 * var(--orbit-angle, 0deg)));
}
.couture-process-diagram--orbit .orbit-card {
  display: grid; gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent);
  box-shadow: 0 8px 22px -8px color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
  text-align: center;
}
.couture-process-diagram--orbit .orbit-no {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px; font-weight: 700;
  color: var(--c-accent, #6366f1);
  letter-spacing: 0.06em;
}
.couture-process-diagram--orbit .orbit-card h3 {
  font-size: clamp(0.84rem, 1.04vw, 0.92rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--c-ink, #111);
  margin: 0;
  line-height: 1.3;
}
.couture-process-diagram--orbit .orbit-card p {
  font-size: 11px;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin: 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 640px) {
  /* Mobile fallback: stack orbit nodes as a vertical list (CSS positioning
     gets unreadable below 600px). Hub stays as a header card at top. */
  .couture-process-diagram--orbit .diagram-orbit {
    width: 100%; height: auto; min-height: 0;
    grid-auto-flow: row;
    gap: 14px;
  }
  .couture-process-diagram--orbit .orbit-hub {
    position: relative; inset: auto; margin: 0 auto;
    width: 100%; max-width: 320px; height: auto;
    aspect-ratio: auto;
    border-radius: 16px;
    padding: 18px 22px;
  }
  .couture-process-diagram--orbit .orbit-ring {
    position: relative; inset: auto;
    display: grid; gap: 12px;
  }
  .couture-process-diagram--orbit .orbit-node {
    position: relative;
    top: auto; left: auto;
    width: 100%; max-width: 480px;
    margin: 0 auto;
    transform: none;
  }
}

/* --hex: 6-up offset hexagram-feel grid + hub callout below */
.couture-process-diagram--hex .diagram-hex-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: clamp(20px, 3vw, 32px) 0;
}
@media (min-width: 720px) {
  .couture-process-diagram--hex .diagram-hex-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .couture-process-diagram--hex .hex-node:nth-child(3n+2) {
    transform: translateY(28px);
  }
}
.couture-process-diagram--hex .hex-node {
  display: grid; gap: 8px;
  padding: clamp(18px, 2.6vw, 22px);
  border-radius: 18px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  text-align: left;
  position: relative;
  overflow: hidden;
}
.couture-process-diagram--hex .hex-node::before {
  content: ""; position: absolute;
  top: -20px; right: -20px;
  width: 80px; height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in oklab, var(--c-accent, #6366f1) 18%, transparent), transparent 70%);
  pointer-events: none;
}
.couture-process-diagram--hex .hex-no {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  letter-spacing: -0.025em;
  background: linear-gradient(135deg, var(--c-accent, #6366f1), color-mix(in oklab, var(--c-accent, #6366f1) 65%, var(--c-ink, #111) 35%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
}
.couture-process-diagram--hex .hex-title {
  font-size: clamp(1rem, 1.25vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  color: var(--c-ink, #111);
  margin: 0;
}
.couture-process-diagram--hex .hex-body {
  font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin: 0;
}
.couture-process-diagram--hex .diagram-hex-hub {
  display: grid; gap: 6px;
  padding: clamp(20px, 3vw, 28px) clamp(24px, 3.5vw, 32px);
  text-align: center;
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--c-paper, #fff) 92%, var(--c-accent, #6366f1) 8%), var(--c-paper, #fff));
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent);
  margin-top: clamp(20px, 3vw, 32px);
}
.couture-process-diagram--hex .hex-hub-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent, #6366f1);
}
.couture-process-diagram--hex .hex-hub-text {
  font-size: clamp(1.2rem, 1.8vw, 1.4rem);
  font-weight: 700;
  letter-spacing: -0.018em;
  color: var(--c-ink, #111);
}


/* V6.388 — trust_strip 3 new layout variants (productive loop V2) */
.couture-ts--numbered .ts-numbered {
  display: grid; gap: 10px;
}
.couture-ts--numbered .ts-numbered-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px; align-items: center;
  padding: 14px 18px;
  border-radius: 12px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-ts--numbered .ts-numeral {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-variant-numeric: tabular-nums;
  font-size: 13px; font-weight: 700;
  color: var(--c-accent, #6366f1);
  letter-spacing: 0.06em;
  padding: 4px 9px;
  border-radius: 5px;
  background: color-mix(in oklab, var(--c-accent, #6366f1) 12%, transparent);
}
.couture-ts--numbered .ts-numbered-text {
  display: grid; gap: 2px;
}
.couture-ts--numbered .ts-numbered-text > .ts-title {
  font-size: clamp(0.92rem, 1.1vw, 1rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--c-ink, #111);
}
.couture-ts--numbered .ts-numbered-text > .ts-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}
.couture-ts--numbered .ts-check {
  display: grid; place-items: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--c-accent, #6366f1);
  color: #fff;
  font-size: 14px;
}

.couture-ts--chips .ts-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  padding: clamp(18px, 2.6vw, 24px);
}
.couture-ts--chips .ts-chip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px 10px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper, #fff) 96%, var(--c-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 18%, transparent);
}
.couture-ts--chips .ts-chip > .ts-icon {
  display: grid; place-items: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--c-accent, #6366f1);
  color: #fff;
  font-size: 13px;
}
.couture-ts--chips .ts-chip-body {
  display: grid; gap: 1px;
}
.couture-ts--chips .ts-chip-body > .ts-title {
  font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  font-weight: 700;
  letter-spacing: -0.005em;
  color: var(--c-ink, #111);
}
.couture-ts--chips .ts-chip-body > .ts-body {
  font-size: 11px;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

.couture-ts--stacked .ts-stacked-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: clamp(20px, 3vw, 28px);
}
@media (min-width: 720px) {
  .couture-ts--stacked .ts-stacked-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.couture-ts--stacked .ts-stacked-cell {
  display: grid;
  gap: 8px;
  text-align: center;
  padding: 18px 14px;
  border-radius: 14px;
  background: color-mix(in oklab, var(--c-paper, #fff) 96%, var(--c-accent, #6366f1) 4%);
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 14%, transparent);
}
.couture-ts--stacked .ts-stacked-icon {
  display: grid; place-items: center;
  width: 56px; height: 56px;
  margin: 0 auto;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--c-accent, #6366f1), color-mix(in oklab, var(--c-accent, #6366f1) 65%, var(--c-ink, #111) 35%));
  color: #fff;
  font-size: 24px;
  box-shadow: 0 6px 18px -4px color-mix(in oklab, var(--c-accent, #6366f1) 50%, transparent);
}
.couture-ts--stacked .ts-stacked-cell > .ts-title {
  font-size: clamp(0.92rem, 1.1vw, 1rem);
  font-weight: 700;
  letter-spacing: -0.005em;
  color: var(--c-ink, #111);
}
.couture-ts--stacked .ts-stacked-cell > .ts-body {
  font-size: clamp(0.78rem, 0.95vw, 0.84rem);
  line-height: 1.45;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}


/* V6.388 — mini_logo_strip 3 new layout variants (productive loop V2) */
.couture-mini-logo-strip--chips .mini-logo-strip-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: clamp(18px, 2.6vw, 24px);
}
.couture-mini-logo-strip--chips .mini-logo-strip-chip {
  display: inline-block;
  font-size: clamp(0.78rem, 0.95vw, 0.85rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  background: var(--c-paper, #fff);
}

.couture-mini-logo-strip--marquee .mini-logo-strip-marquee {
  position: relative;
  overflow: hidden;
  padding: clamp(18px, 2.6vw, 24px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
}
.couture-mini-logo-strip--marquee .mini-logo-strip-marquee::before,
.couture-mini-logo-strip--marquee .mini-logo-strip-marquee::after {
  content: ""; position: absolute; top: 0; bottom: 0;
  width: 60px; z-index: 1; pointer-events: none;
}
.couture-mini-logo-strip--marquee .mini-logo-strip-marquee::before {
  left: 0;
  background: linear-gradient(to right, var(--c-paper, #fff), transparent);
}
.couture-mini-logo-strip--marquee .mini-logo-strip-marquee::after {
  right: 0;
  background: linear-gradient(to left, var(--c-paper, #fff), transparent);
}
.couture-mini-logo-strip--marquee .mini-logo-strip-track {
  display: inline-flex;
  gap: 48px;
  white-space: nowrap;
  animation: couture-mls-marquee 32s linear infinite;
  width: max-content;
}
.couture-mini-logo-strip--marquee .mini-logo-strip-item {
  font-size: clamp(0.92rem, 1.15vw, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
@keyframes couture-mls-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-mini-logo-strip--marquee .mini-logo-strip-track { animation: none; }
}

.couture-mini-logo-strip--dotted .mini-logo-strip-dotted {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0;
  padding: clamp(18px, 2.6vw, 24px) clamp(20px, 3vw, 32px);
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
}
.couture-mini-logo-strip--dotted .mini-logo-strip-item {
  font-family: var(--c-display, inherit);
  font-size: clamp(0.95rem, 1.18vw, 1.1rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  padding: 0 14px;
}
.couture-mini-logo-strip--dotted .mini-logo-strip-dot {
  font-size: clamp(1.1rem, 1.4vw, 1.3rem);
  color: color-mix(in oklab, var(--c-accent, #6366f1) 60%, transparent);
  display: inline-block;
}


/* V6.388 — vertical_timeline_band 3 new layout variants (productive loop V2) */

/* --zigzag: alternating left/right with center spine */
.couture-vertical-timeline--zigzag .vertical-timeline-zigzag {
  position: relative;
  list-style: none;
  padding: 0;
  margin: clamp(20px, 3vw, 32px) 0 0;
  display: grid;
  gap: 32px;
}
.couture-vertical-timeline--zigzag .vertical-timeline-zigzag::before {
  content: ""; position: absolute;
  left: 50%; top: 12px; bottom: 12px;
  width: 2px; transform: translateX(-50%);
  background: linear-gradient(to bottom, color-mix(in oklab, var(--c-accent, #6366f1) 35%, transparent), color-mix(in oklab, var(--c-accent, #6366f1) 12%, transparent));
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-marker {
  position: absolute;
  left: 50%; top: 16px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--c-accent, #6366f1);
  border: 3px solid var(--c-paper, #fff);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--c-accent, #6366f1) 30%, transparent);
  transform: translateX(-50%);
  z-index: 1;
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-card {
  padding: 18px 22px;
  border-radius: 14px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-item[data-side="left"] .vertical-timeline-zig-card {
  grid-column: 1;
  text-align: right;
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-item[data-side="right"] .vertical-timeline-zig-card {
  grid-column: 2;
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-card .vertical-timeline-date {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--c-accent, #6366f1);
  margin-bottom: 6px;
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-card h3 {
  font-size: clamp(1rem, 1.25vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-vertical-timeline--zigzag .vertical-timeline-zig-card p {
  font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  line-height: 1.5;
  margin: 0;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
@media (max-width: 720px) {
  .couture-vertical-timeline--zigzag .vertical-timeline-zigzag::before {
    left: 16px;
  }
  .couture-vertical-timeline--zigzag .vertical-timeline-zig-item {
    grid-template-columns: 1fr;
    padding-left: 40px;
  }
  .couture-vertical-timeline--zigzag .vertical-timeline-zig-marker {
    left: 16px;
    transform: translateX(-50%);
  }
  .couture-vertical-timeline--zigzag .vertical-timeline-zig-item[data-side="left"] .vertical-timeline-zig-card,
  .couture-vertical-timeline--zigzag .vertical-timeline-zig-item[data-side="right"] .vertical-timeline-zig-card {
    grid-column: 1;
    text-align: left;
  }
}

/* --scroll: horizontal scroll-snap card row */
.couture-vertical-timeline--scroll .vertical-timeline-scroll-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: clamp(20px, 3vw, 28px) 16px;
  scrollbar-width: thin;
}
.couture-vertical-timeline--scroll .vertical-timeline-scroll-card {
  flex: 0 0 280px;
  scroll-snap-align: start;
  display: grid;
  gap: 8px;
  padding: 22px;
  border-radius: 16px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  border-top: 3px solid var(--c-accent, #6366f1);
}
.couture-vertical-timeline--scroll .vertical-timeline-scroll-date {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--c-accent, #6366f1);
}
.couture-vertical-timeline--scroll .vertical-timeline-scroll-card h3 {
  font-size: clamp(1rem, 1.25vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  margin: 0;
  color: var(--c-ink, #111);
}
.couture-vertical-timeline--scroll .vertical-timeline-scroll-card p {
  font-size: clamp(0.84rem, 1.02vw, 0.9rem);
  line-height: 1.5;
  margin: 0;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}

/* --dotrail: bold year column left + connected dot rail */
.couture-vertical-timeline--dotrail .vertical-timeline-dotrail {
  list-style: none;
  padding: 0;
  margin: clamp(20px, 3vw, 32px) 0 0;
  display: grid;
  gap: 0;
}
.couture-vertical-timeline--dotrail .vertical-timeline-dot-item {
  display: grid;
  grid-template-columns: 100px 32px 1fr;
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  position: relative;
}
.couture-vertical-timeline--dotrail .vertical-timeline-dot-item:not(:last-child)::after {
  content: ""; position: absolute;
  left: calc(100px + 18px + 16px);
  top: 30px; bottom: -6px;
  width: 2px;
  background: color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent);
}
.couture-vertical-timeline--dotrail .vertical-timeline-dot-year {
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.4rem, 2vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -0.022em;
  background: linear-gradient(135deg, var(--c-accent, #6366f1), color-mix(in oklab, var(--c-accent, #6366f1) 65%, var(--c-ink, #111) 35%));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-align: right;
}
.couture-vertical-timeline--dotrail .vertical-timeline-dot-marker {
  display: grid;
  place-items: center;
  width: 32px; height: 32px;
  margin-top: 4px;
  z-index: 1;
}
.couture-vertical-timeline--dotrail .vertical-timeline-dot {
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--c-accent, #6366f1);
  border: 3px solid var(--c-paper, #fff);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--c-accent, #6366f1) 30%, transparent);
}
.couture-vertical-timeline--dotrail .vertical-timeline-dot-body h3 {
  font-size: clamp(1.05rem, 1.3vw, 1.15rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-vertical-timeline--dotrail .vertical-timeline-dot-body p {
  font-size: clamp(0.86rem, 1.04vw, 0.92rem);
  line-height: 1.55;
  margin: 0;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}
@media (max-width: 540px) {
  .couture-vertical-timeline--dotrail .vertical-timeline-dot-item {
    grid-template-columns: 60px 28px 1fr;
    gap: 12px;
  }
  .couture-vertical-timeline--dotrail .vertical-timeline-dot-item:not(:last-child)::after {
    left: calc(60px + 12px + 14px);
  }
}


/* V6.388 — icon_features_4col 3 new layout variants (productive loop V2) */

/* --quad: 2x2 bordered grid */
.couture-if4col--quad .if4col-quad-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: clamp(20px, 3vw, 28px) 0;
}
.couture-if4col--quad .if4col-quad-cell {
  display: grid;
  gap: 10px;
  padding: clamp(22px, 3vw, 28px);
  border-radius: 18px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-if4col--quad .if4col-quad-glyph {
  display: grid; place-items: center;
  width: 52px; height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent), color-mix(in oklab, var(--c-accent, #6366f1) 8%, transparent));
  color: var(--c-accent, #6366f1);
  font-size: 24px;
}
.couture-if4col--quad .if4col-quad-cell h3 {
  font-size: clamp(1rem, 1.25vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  margin: 0;
  color: var(--c-ink, #111);
}
.couture-if4col--quad .if4col-quad-cell p {
  font-size: clamp(0.85rem, 1.04vw, 0.92rem);
  line-height: 1.5;
  margin: 0;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}

/* --list: vertical list with side icons + thin dividers */
.couture-if4col--list .if4col-list {
  display: grid;
  gap: 0;
  padding: 0;
}
.couture-if4col--list .if4col-list-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: start;
  padding: clamp(18px, 2.6vw, 24px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
}
.couture-if4col--list .if4col-list-row:last-child {
  border-bottom: 0;
}
.couture-if4col--list .if4col-list-glyph {
  display: grid; place-items: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--c-paper, #fff);
  color: var(--c-accent, #6366f1);
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent);
  font-size: 20px;
  margin-top: 2px;
}
.couture-if4col--list .if4col-list-text > h3 {
  font-size: clamp(1.05rem, 1.3vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-if4col--list .if4col-list-text > p {
  font-size: clamp(0.86rem, 1.04vw, 0.92rem);
  line-height: 1.55;
  margin: 0;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}

/* --diag: alternating diagonal-icon cards (icon offset top-left) */
.couture-if4col--diag .if4col-diag-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: clamp(20px, 3vw, 28px) 0;
}
@media (min-width: 720px) {
  .couture-if4col--diag .if4col-diag-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.couture-if4col--diag .if4col-diag-card {
  position: relative;
  display: grid;
  gap: 10px;
  padding: clamp(28px, 4vw, 36px) clamp(22px, 3vw, 28px) clamp(22px, 3vw, 28px);
  border-radius: 16px;
  background: linear-gradient(160deg, color-mix(in oklab, var(--c-paper, #fff) 95%, var(--c-accent, #6366f1) 5%), var(--c-paper, #fff) 70%);
  border: 1px solid color-mix(in oklab, var(--c-accent, #6366f1) 14%, transparent);
}
.couture-if4col--diag .if4col-diag-glyph {
  position: absolute;
  top: -16px; left: 22px;
  display: grid; place-items: center;
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--c-accent, #6366f1);
  color: #fff;
  font-size: 22px;
  transform: rotate(-8deg);
  box-shadow: 0 8px 22px -6px color-mix(in oklab, var(--c-accent, #6366f1) 50%, transparent);
}
.couture-if4col--diag .if4col-diag-text > h3 {
  font-size: clamp(1.05rem, 1.3vw, 1.18rem);
  font-weight: 700;
  letter-spacing: -0.012em;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-if4col--diag .if4col-diag-text > p {
  font-size: clamp(0.86rem, 1.04vw, 0.92rem);
  line-height: 1.55;
  margin: 0;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}


/* V6.388 — quote_split 3 new layout variants (productive loop V2) */

/* --centered: centered editorial with giant quote-mark above */
.couture-quote-split--centered {
  text-align: center;
  padding-block: clamp(40px, 6vw, 64px);
}
.couture-quote-split--centered .quote-split-centered-mark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(80px, 12vw, 120px);
  line-height: 0.6;
  font-weight: 800;
  color: color-mix(in oklab, var(--c-accent, #6366f1) 22%, transparent);
  margin-bottom: 18px;
  height: 60px;
}
.couture-quote-split--centered .quote-split-centered-quote {
  font-family: var(--c-display, inherit);
  font-size: clamp(1.5rem, 2.6vw, 2.1rem);
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: -0.018em;
  color: var(--c-ink, #111);
  max-width: 36ch;
  margin: 0 auto 28px;
  padding: 0;
  border: 0;
}
.couture-quote-split--centered .quote-split-centered-attr {
  display: grid;
  gap: 4px;
  max-width: 36ch;
  margin: 0 auto;
}
.couture-quote-split--centered .quote-split-centered-attr > .quote-split-author {
  font-size: clamp(0.95rem, 1.18vw, 1.05rem);
  font-weight: 700;
  color: var(--c-ink, #111);
}
.couture-quote-split--centered .quote-split-centered-attr > .quote-split-role {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}
.couture-quote-split--centered .quote-split-centered-attr > .quote-split-context {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin-top: 10px;
}

/* --stripe: accent left-stripe band with attribution row below */
.couture-quote-split--stripe .quote-split-stripe-card {
  display: grid;
  gap: 20px;
  padding: clamp(24px, 4vw, 40px) clamp(24px, 4vw, 40px) clamp(24px, 4vw, 40px) clamp(28px, 4vw, 44px);
  border-left: 5px solid var(--c-accent, #6366f1);
  background: linear-gradient(135deg, color-mix(in oklab, var(--c-paper, #fff) 95%, var(--c-accent, #6366f1) 5%), var(--c-paper, #fff) 70%);
  border-radius: 0 16px 16px 0;
}
.couture-quote-split--stripe .quote-split-stripe-quote {
  font-family: var(--c-display, inherit);
  font-size: clamp(1.3rem, 2.2vw, 1.7rem);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.012em;
  color: var(--c-ink, #111);
  margin: 0;
  font-style: italic;
}
.couture-quote-split--stripe .quote-split-stripe-attr {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-quote-split--stripe .quote-split-stripe-attr > .quote-split-author {
  font-size: clamp(0.92rem, 1.1vw, 1rem);
  font-weight: 700;
  color: var(--c-ink, #111);
}
.couture-quote-split--stripe .quote-split-stripe-attr > .quote-split-role {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: var(--c-accent, #6366f1);
}
.couture-quote-split--stripe .quote-split-stripe-attr > .quote-split-context {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  flex-basis: 100%;
}

/* --inverted: dark band with white quote */
.couture-quote-split--inverted {
  background: linear-gradient(160deg, color-mix(in oklab, var(--c-ink, #111) 92%, var(--c-accent, #6366f1) 8%), var(--c-ink, #111));
  color: #fff;
  padding: clamp(40px, 6vw, 64px) clamp(24px, 4vw, 48px);
  border-radius: 22px;
}
.couture-quote-split--inverted .quote-split-inverted-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(20px, 3vw, 32px);
  align-items: end;
}
@media (min-width: 760px) {
  .couture-quote-split--inverted .quote-split-inverted-grid {
    grid-template-columns: 2fr 1fr;
  }
}
.couture-quote-split--inverted .quote-split-inverted-quote {
  font-family: var(--c-display, inherit);
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.018em;
  color: #fff;
  margin: 0;
  padding: 0;
  border: 0;
}
.couture-quote-split--inverted .quote-split-inverted-attr {
  display: grid;
  gap: 4px;
  padding: 18px 0 0;
  border-top: 1px solid color-mix(in oklab, #fff 22%, transparent);
}
@media (min-width: 760px) {
  .couture-quote-split--inverted .quote-split-inverted-attr {
    border-top: 0;
    border-left: 1px solid color-mix(in oklab, #fff 22%, transparent);
    padding: 0 0 0 24px;
  }
}
.couture-quote-split--inverted .quote-split-inverted-attr > .quote-split-author {
  font-size: clamp(0.95rem, 1.18vw, 1.05rem);
  font-weight: 700;
  color: #fff;
}
.couture-quote-split--inverted .quote-split-inverted-attr > .quote-split-role {
  font-size: clamp(0.82rem, 1vw, 0.88rem);
  color: color-mix(in oklab, #fff 70%, transparent);
}
.couture-quote-split--inverted .quote-split-inverted-attr > .quote-split-context {
  font-size: clamp(0.8rem, 0.98vw, 0.86rem);
  line-height: 1.5;
  color: color-mix(in oklab, #fff 60%, transparent);
  margin-top: 10px;
}


/* V6.388 — global prefers-reduced-motion safety net (WS6 a11y baseline).
   Per-component @media (prefers-reduced-motion) overrides exist on most
   newly-added components, but with 95K+ lines of CSS template the coverage
   is gappy. This catch-all ensures users requesting reduced motion get
   their preference honored on EVERY animated element, regardless of
   whether the per-component override exists.

   Strategy: when the user requests reduced motion, force animation
   duration + transition duration to a near-zero value (0.01ms), and
   disable scroll behavior. This is the WCAG 2.3.3 recommendation.
   We use 0.01ms instead of 0s so animation events still fire (some
   JS depends on animationend/transitionend callbacks). */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0ms !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
}


/* V6.388 — WS3 per-archetype radius treatment (architectural-language axis).
   Same SECTION on different ARCHETYPES feels architecturally different.
   Operator complaint root cause: even after section-layout diversification,
   sites of different archetypes still share rounded-card visual vocabulary.
   This pass forces 4 distinct radius "feels" by archetype family:

     SHARP   (brutalist-index, archive-academic, manifesto-loud)
       — newspaper / institutional / declarative — 0-3px
     PILL    (atelier-lookbook, wholesale-lookbook, made-to-order)
       — luxury / boutique / premium — pill on small chips, 22-32 on cards
     ASYMMETRIC (zine-cutout, gallery-salon, field-journal)
       — collage / scrapbook / hand-cut — mixed corners (0/16/0/16)
     SOFT    (everything else — default — keeps existing 12-18px feel)

   Targets the high-traffic component classes that 100s of sites render:
   couture-card-*, couture-cat-showcase, couture-tc, couture-newsletter form,
   couture-pricing-*, buttons. We avoid !important except where necessary
   to override per-component CSS that uses literal border-radius. */

/* ---- SHARP family (brutalist / archive / manifesto) ---- */
.couture-archetype-brutalist-index [class*="couture-card-"],
.couture-archetype-brutalist-index .couture-cat-showcase a,
.couture-archetype-brutalist-index .couture-tc-card,
.couture-archetype-brutalist-index .couture-tc-edit-row,
.couture-archetype-brutalist-index .couture-newsletter form,
.couture-archetype-brutalist-index [class*="couture-pricing"],
.couture-archetype-brutalist-index [class*="couture-process-"],
.couture-archetype-brutalist-index [class*="couture-locations-strip"] *,
.couture-archetype-brutalist-index [class*="couture-value-strip"] *,
.couture-archetype-brutalist-index .couture-trust-strip *,
.couture-archetype-brutalist-index button,
.couture-archetype-brutalist-index .couture-cta,
.couture-archetype-archive-academic [class*="couture-card-"],
.couture-archetype-archive-academic .couture-cat-showcase a,
.couture-archetype-archive-academic .couture-tc-card,
.couture-archetype-archive-academic .couture-tc-edit-row,
.couture-archetype-archive-academic .couture-newsletter form,
.couture-archetype-archive-academic [class*="couture-pricing"],
.couture-archetype-archive-academic [class*="couture-process-"],
.couture-archetype-archive-academic [class*="couture-locations-strip"] *,
.couture-archetype-archive-academic [class*="couture-value-strip"] *,
.couture-archetype-archive-academic .couture-trust-strip *,
.couture-archetype-archive-academic button,
.couture-archetype-archive-academic .couture-cta,
.couture-archetype-manifesto-loud [class*="couture-card-"],
.couture-archetype-manifesto-loud .couture-cat-showcase a,
.couture-archetype-manifesto-loud .couture-tc-card,
.couture-archetype-manifesto-loud .couture-tc-edit-row,
.couture-archetype-manifesto-loud .couture-newsletter form,
.couture-archetype-manifesto-loud [class*="couture-pricing"],
.couture-archetype-manifesto-loud [class*="couture-process-"],
.couture-archetype-manifesto-loud [class*="couture-locations-strip"] *,
.couture-archetype-manifesto-loud [class*="couture-value-strip"] *,
.couture-archetype-manifesto-loud .couture-trust-strip *,
.couture-archetype-manifesto-loud button,
.couture-archetype-manifesto-loud .couture-cta {
  border-radius: 0 !important;
}
/* SHARP override for input pills */
.couture-archetype-brutalist-index input,
.couture-archetype-archive-academic input,
.couture-archetype-manifesto-loud input,
.couture-archetype-brutalist-index .couture-badge,
.couture-archetype-archive-academic .couture-badge,
.couture-archetype-manifesto-loud .couture-badge {
  border-radius: 2px !important;
}

/* ---- PILL family (atelier / wholesale / made-to-order) ---- */
.couture-archetype-atelier-lookbook button,
.couture-archetype-atelier-lookbook .couture-cta,
.couture-archetype-atelier-lookbook .couture-badge,
.couture-archetype-atelier-lookbook [class*="-pill"],
.couture-archetype-atelier-lookbook input,
.couture-archetype-wholesale-lookbook button,
.couture-archetype-wholesale-lookbook .couture-cta,
.couture-archetype-wholesale-lookbook .couture-badge,
.couture-archetype-wholesale-lookbook [class*="-pill"],
.couture-archetype-wholesale-lookbook input,
.couture-archetype-made-to-order button,
.couture-archetype-made-to-order .couture-cta,
.couture-archetype-made-to-order .couture-badge,
.couture-archetype-made-to-order [class*="-pill"],
.couture-archetype-made-to-order input {
  border-radius: 999px !important;
}
.couture-archetype-atelier-lookbook [class*="couture-card-"],
.couture-archetype-atelier-lookbook .couture-tc-card,
.couture-archetype-atelier-lookbook .couture-cat-showcase a,
.couture-archetype-atelier-lookbook .couture-newsletter form,
.couture-archetype-wholesale-lookbook [class*="couture-card-"],
.couture-archetype-wholesale-lookbook .couture-tc-card,
.couture-archetype-wholesale-lookbook .couture-cat-showcase a,
.couture-archetype-wholesale-lookbook .couture-newsletter form,
.couture-archetype-made-to-order [class*="couture-card-"],
.couture-archetype-made-to-order .couture-tc-card,
.couture-archetype-made-to-order .couture-cat-showcase a,
.couture-archetype-made-to-order .couture-newsletter form {
  border-radius: 28px !important;
}

/* ---- ASYMMETRIC family (zine / gallery-salon / field-journal) ---- */
.couture-archetype-zine-cutout [class*="couture-card-"],
.couture-archetype-zine-cutout .couture-tc-card,
.couture-archetype-zine-cutout .couture-cat-showcase a,
.couture-archetype-gallery-salon [class*="couture-card-"],
.couture-archetype-gallery-salon .couture-tc-card,
.couture-archetype-gallery-salon .couture-cat-showcase a,
.couture-archetype-field-journal [class*="couture-card-"],
.couture-archetype-field-journal .couture-tc-card,
.couture-archetype-field-journal .couture-cat-showcase a {
  border-radius: 0 18px 0 18px !important;
}
.couture-archetype-zine-cutout button,
.couture-archetype-zine-cutout .couture-cta,
.couture-archetype-gallery-salon button,
.couture-archetype-gallery-salon .couture-cta,
.couture-archetype-field-journal button,
.couture-archetype-field-journal .couture-cta {
  border-radius: 14px 4px 14px 4px !important;
}
.couture-archetype-zine-cutout .couture-newsletter form,
.couture-archetype-gallery-salon .couture-newsletter form,
.couture-archetype-field-journal .couture-newsletter form {
  border-radius: 0 22px 0 22px !important;
}


/* V6.388 — social_proof_logos 3 new layout variants (productive loop V3) */

/* --split: caption-left + horizontal row right */
.couture-social-proof-logos--split .social-proof-logos-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
  padding: clamp(28px, 4vw, 40px) clamp(20px, 3vw, 32px);
}
@media (min-width: 760px) {
  .couture-social-proof-logos--split .social-proof-logos-split {
    grid-template-columns: 240px 1fr;
  }
}
.couture-social-proof-logos--split .social-proof-logos-caption-side {
  font-family: var(--c-display, inherit);
  font-size: clamp(0.95rem, 1.18vw, 1.05rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--c-ink, #111);
  border-right: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  padding-right: clamp(16px, 2.5vw, 24px);
}
@media (max-width: 759px) {
  .couture-social-proof-logos--split .social-proof-logos-caption-side {
    border-right: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
    padding-right: 0;
    padding-bottom: 14px;
  }
}
.couture-social-proof-logos--split .social-proof-logos-row {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

/* --grid: bordered cells (each logo in own card) */
.couture-social-proof-logos--grid .social-proof-logos-grid-inner {
  display: grid;
  gap: 18px;
  padding: clamp(28px, 4vw, 40px) clamp(20px, 3vw, 32px);
}
.couture-social-proof-logos--grid .social-proof-logos-caption {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
.couture-social-proof-logos--grid .social-proof-logos-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
}
@media (min-width: 540px) { .couture-social-proof-logos--grid .social-proof-logos-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 760px) { .couture-social-proof-logos--grid .social-proof-logos-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.couture-social-proof-logos--grid .social-proof-logo-cell {
  display: grid;
  place-items: center;
  background: var(--c-paper, #fff);
  padding: clamp(20px, 3vw, 28px);
  min-height: 72px;
}
.couture-social-proof-logos--grid .social-proof-logo {
  font-family: var(--c-display, inherit);
  font-size: clamp(0.92rem, 1.15vw, 1.05rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  filter: grayscale(100%);
  opacity: 0.75;
}

/* --marquee: auto-scrolling horizontal logo strip */
.couture-social-proof-logos--marquee .social-proof-logos-marquee-inner {
  display: grid;
  gap: 16px;
  padding: clamp(20px, 3vw, 28px) 0;
}
.couture-social-proof-logos--marquee .social-proof-logos-caption {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
.couture-social-proof-logos--marquee .social-proof-logos-marquee {
  position: relative;
  overflow: hidden;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 50%, transparent);
  padding: 18px 0;
}
.couture-social-proof-logos--marquee .social-proof-logos-marquee::before,
.couture-social-proof-logos--marquee .social-proof-logos-marquee::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 60px; z-index: 1; pointer-events: none;
}
.couture-social-proof-logos--marquee .social-proof-logos-marquee::before { left: 0; background: linear-gradient(to right, var(--c-paper, #fff), transparent); }
.couture-social-proof-logos--marquee .social-proof-logos-marquee::after  { right: 0; background: linear-gradient(to left,  var(--c-paper, #fff), transparent); }
.couture-social-proof-logos--marquee .social-proof-logos-track {
  display: inline-flex;
  gap: 56px;
  white-space: nowrap;
  animation: couture-spl-marquee 38s linear infinite;
  width: max-content;
}
.couture-social-proof-logos--marquee .social-proof-logo {
  font-family: var(--c-display, inherit);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
@keyframes couture-spl-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-social-proof-logos--marquee .social-proof-logos-track { animation: none; }
}


/* V6.388 — WS3 per-archetype SHADOW treatment (architectural-language axis #2).
   Pairs with the radius treatment shipped earlier. Same archetype on
   different domains shares a shadow vocabulary; different archetypes feel
   architecturally different even when they happen to render the same
   sections.

     FLAT       (brutalist-index, archive-academic, manifesto-loud)
       — no shadows, sharp dividers — institutional / declarative
     LIFTED     (storyteller, small-business, shop-first, generic-shopify, lazy-affiliate)
       — subtle ambient shadows (0 4px 12px) — clean DTC default
     DRAMATIC   (atelier-lookbook, made-to-order, wholesale-lookbook,
                 subscription-box, auction-drop)
       — deep editorial shadows (0 22px 50px -16px) — luxury / boutique
     OFFSET     (zine-cutout, gallery-salon, field-journal,
                 editorial-magazine, journal-first, process-studio)
       — hard offset shadow (8px 8px 0 ink) — hand-drawn / poster feel

   Targets the high-traffic component classes that ship on every site:
   couture-card-*, couture-cat-showcase, couture-tc-*, couture-newsletter,
   couture-pricing-*, couture-process-*, couture-locations-*, couture-bento-*,
   couture-feature-*, modals, popovers, dropdowns. */

/* ---- FLAT family (brutalist / archive / manifesto) ---- */
.couture-archetype-brutalist-index [class*="couture-card-"],
.couture-archetype-brutalist-index .couture-cat-showcase a,
.couture-archetype-brutalist-index .couture-tc-card,
.couture-archetype-brutalist-index .couture-tc-edit-row,
.couture-archetype-brutalist-index .couture-newsletter form,
.couture-archetype-brutalist-index [class*="couture-pricing"],
.couture-archetype-brutalist-index [class*="couture-process-"],
.couture-archetype-brutalist-index [class*="couture-locations-strip"] *,
.couture-archetype-brutalist-index [class*="couture-bento-"],
.couture-archetype-brutalist-index .couture-modal-dialog-card-bordered,
.couture-archetype-brutalist-index .couture-popover-card-bordered,
.couture-archetype-brutalist-index .couture-dropdown-menu-card-bordered,
.couture-archetype-brutalist-index .couture-sticky-cta-bar-card-bordered,
.couture-archetype-archive-academic [class*="couture-card-"],
.couture-archetype-archive-academic .couture-cat-showcase a,
.couture-archetype-archive-academic .couture-tc-card,
.couture-archetype-archive-academic .couture-tc-edit-row,
.couture-archetype-archive-academic .couture-newsletter form,
.couture-archetype-archive-academic [class*="couture-pricing"],
.couture-archetype-archive-academic [class*="couture-process-"],
.couture-archetype-archive-academic [class*="couture-locations-strip"] *,
.couture-archetype-archive-academic [class*="couture-bento-"],
.couture-archetype-manifesto-loud [class*="couture-card-"],
.couture-archetype-manifesto-loud .couture-cat-showcase a,
.couture-archetype-manifesto-loud .couture-tc-card,
.couture-archetype-manifesto-loud .couture-tc-edit-row,
.couture-archetype-manifesto-loud .couture-newsletter form,
.couture-archetype-manifesto-loud [class*="couture-pricing"],
.couture-archetype-manifesto-loud [class*="couture-process-"],
.couture-archetype-manifesto-loud [class*="couture-locations-strip"] *,
.couture-archetype-manifesto-loud [class*="couture-bento-"] {
  box-shadow: none !important;
}

/* ---- DRAMATIC family (luxury / boutique) ---- */
.couture-archetype-atelier-lookbook [class*="couture-card-"],
.couture-archetype-atelier-lookbook .couture-cat-showcase a,
.couture-archetype-atelier-lookbook .couture-tc-card,
.couture-archetype-atelier-lookbook .couture-newsletter form,
.couture-archetype-atelier-lookbook [class*="couture-pricing"] > *,
.couture-archetype-atelier-lookbook [class*="couture-bento-"],
.couture-archetype-atelier-lookbook .couture-modal-dialog-card-bordered,
.couture-archetype-made-to-order [class*="couture-card-"],
.couture-archetype-made-to-order .couture-cat-showcase a,
.couture-archetype-made-to-order .couture-tc-card,
.couture-archetype-made-to-order .couture-newsletter form,
.couture-archetype-made-to-order [class*="couture-pricing"] > *,
.couture-archetype-made-to-order [class*="couture-bento-"],
.couture-archetype-wholesale-lookbook [class*="couture-card-"],
.couture-archetype-wholesale-lookbook .couture-cat-showcase a,
.couture-archetype-wholesale-lookbook .couture-tc-card,
.couture-archetype-wholesale-lookbook .couture-newsletter form,
.couture-archetype-subscription-box [class*="couture-card-"],
.couture-archetype-subscription-box .couture-cat-showcase a,
.couture-archetype-subscription-box .couture-tc-card,
.couture-archetype-subscription-box .couture-newsletter form,
.couture-archetype-auction-drop [class*="couture-card-"],
.couture-archetype-auction-drop .couture-cat-showcase a,
.couture-archetype-auction-drop .couture-tc-card,
.couture-archetype-auction-drop .couture-newsletter form {
  box-shadow:
    0 22px 50px -18px color-mix(in oklab, var(--c-ink, #111) 32%, transparent),
    0 6px 14px -6px color-mix(in oklab, var(--c-ink, #111) 18%, transparent) !important;
}

/* ---- OFFSET family (zine / gallery / journal — hand-drawn poster feel) ---- */
.couture-archetype-zine-cutout [class*="couture-card-"],
.couture-archetype-zine-cutout .couture-cat-showcase a,
.couture-archetype-zine-cutout .couture-tc-card,
.couture-archetype-zine-cutout .couture-newsletter form,
.couture-archetype-zine-cutout [class*="couture-bento-"],
.couture-archetype-gallery-salon [class*="couture-card-"],
.couture-archetype-gallery-salon .couture-cat-showcase a,
.couture-archetype-gallery-salon .couture-tc-card,
.couture-archetype-gallery-salon .couture-newsletter form,
.couture-archetype-gallery-salon [class*="couture-bento-"],
.couture-archetype-field-journal [class*="couture-card-"],
.couture-archetype-field-journal .couture-cat-showcase a,
.couture-archetype-field-journal .couture-tc-card,
.couture-archetype-field-journal .couture-newsletter form,
.couture-archetype-editorial-magazine [class*="couture-card-"],
.couture-archetype-editorial-magazine .couture-cat-showcase a,
.couture-archetype-editorial-magazine .couture-tc-card,
.couture-archetype-journal-first [class*="couture-card-"],
.couture-archetype-journal-first .couture-cat-showcase a,
.couture-archetype-journal-first .couture-tc-card,
.couture-archetype-process-studio [class*="couture-card-"],
.couture-archetype-process-studio .couture-cat-showcase a,
.couture-archetype-process-studio .couture-tc-card {
  box-shadow: 8px 8px 0 0 color-mix(in oklab, var(--c-ink, #111) 88%, transparent) !important;
}

/* ---- LIFTED family (default DTC: storyteller, small-business, shop-first, etc.) ----
   This is the existing default behavior. We don't override here so per-component
   shadows remain authoritative for these archetypes. */


/* V6.388 — WS3 per-archetype SPACING treatment (architectural-language axis #3).
   Pairs with radius (axis #1) and shadow (axis #2). Spacing rhythm is one of
   the most-felt design signals — a tight institutional layout reads totally
   differently from an airy boutique, even when sections + colors are
   identical. Same archetype on different domains ships the same spacing
   vocabulary; different archetypes feel architecturally distinct.

     TIGHT      (brutalist-index, archive-academic, manifesto-loud)
       — dense vertical rhythm, narrow gutters, institutional press feel
       — section padding ~40px, card gap ~14px
     AIRY       (atelier-lookbook, made-to-order, wholesale-lookbook,
                 subscription-box, auction-drop)
       — generous whitespace, gallery rhythm, luxury breathing room
       — section padding ~120px, card gap ~40px
     EDITORIAL  (zine-cutout, gallery-salon, field-journal,
                 editorial-magazine, journal-first, process-studio)
       — magazine column rhythm: tall sections but tight horizontal gaps
       — section padding ~100px, card gap ~22px
     DEFAULT/BALANCED (storyteller, small-business, shop-first, etc.)
       — no override; existing per-component padding is authoritative

   Targets the universal section padding hooks that every archetype's pages
   render. Uses very specific selector chains to reach past base padding
   without nuking edge-case padding intentionally set by some sections. */

/* ---- TIGHT family (brutalist / archive / manifesto) ---- */
.couture-archetype-brutalist-index .couture-section,
.couture-archetype-brutalist-index [class^="couture-sect-"],
.couture-archetype-brutalist-index [class^="couture-callout-"],
.couture-archetype-brutalist-index [class^="couture-banner-"],
.couture-archetype-brutalist-index [class^="couture-deck-"],
.couture-archetype-brutalist-index [class^="couture-process-"],
.couture-archetype-archive-academic .couture-section,
.couture-archetype-archive-academic [class^="couture-sect-"],
.couture-archetype-archive-academic [class^="couture-callout-"],
.couture-archetype-archive-academic [class^="couture-banner-"],
.couture-archetype-archive-academic [class^="couture-deck-"],
.couture-archetype-archive-academic [class^="couture-process-"],
.couture-archetype-manifesto-loud .couture-section,
.couture-archetype-manifesto-loud [class^="couture-sect-"],
.couture-archetype-manifesto-loud [class^="couture-callout-"],
.couture-archetype-manifesto-loud [class^="couture-banner-"],
.couture-archetype-manifesto-loud [class^="couture-deck-"],
.couture-archetype-manifesto-loud [class^="couture-process-"] {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.couture-archetype-brutalist-index .couture-cat-showcase,
.couture-archetype-brutalist-index [class*="couture-card-grid"],
.couture-archetype-brutalist-index [class*="couture-bento-"],
.couture-archetype-archive-academic .couture-cat-showcase,
.couture-archetype-archive-academic [class*="couture-card-grid"],
.couture-archetype-archive-academic [class*="couture-bento-"],
.couture-archetype-manifesto-loud .couture-cat-showcase,
.couture-archetype-manifesto-loud [class*="couture-card-grid"],
.couture-archetype-manifesto-loud [class*="couture-bento-"] {
  gap: 14px !important;
}

/* ---- AIRY family (luxury / boutique / lookbook) ---- */
.couture-archetype-atelier-lookbook .couture-section,
.couture-archetype-atelier-lookbook [class^="couture-sect-"],
.couture-archetype-atelier-lookbook [class^="couture-callout-"],
.couture-archetype-atelier-lookbook [class^="couture-banner-"],
.couture-archetype-atelier-lookbook [class^="couture-deck-"],
.couture-archetype-made-to-order .couture-section,
.couture-archetype-made-to-order [class^="couture-sect-"],
.couture-archetype-made-to-order [class^="couture-callout-"],
.couture-archetype-made-to-order [class^="couture-banner-"],
.couture-archetype-made-to-order [class^="couture-deck-"],
.couture-archetype-wholesale-lookbook .couture-section,
.couture-archetype-wholesale-lookbook [class^="couture-sect-"],
.couture-archetype-wholesale-lookbook [class^="couture-callout-"],
.couture-archetype-wholesale-lookbook [class^="couture-banner-"],
.couture-archetype-subscription-box .couture-section,
.couture-archetype-subscription-box [class^="couture-sect-"],
.couture-archetype-subscription-box [class^="couture-callout-"],
.couture-archetype-subscription-box [class^="couture-banner-"],
.couture-archetype-auction-drop .couture-section,
.couture-archetype-auction-drop [class^="couture-sect-"],
.couture-archetype-auction-drop [class^="couture-callout-"] {
  padding-top: clamp(72px, 9vw, 120px) !important;
  padding-bottom: clamp(72px, 9vw, 120px) !important;
}
.couture-archetype-atelier-lookbook .couture-cat-showcase,
.couture-archetype-atelier-lookbook [class*="couture-card-grid"],
.couture-archetype-atelier-lookbook [class*="couture-bento-"],
.couture-archetype-made-to-order .couture-cat-showcase,
.couture-archetype-made-to-order [class*="couture-card-grid"],
.couture-archetype-made-to-order [class*="couture-bento-"],
.couture-archetype-wholesale-lookbook .couture-cat-showcase,
.couture-archetype-wholesale-lookbook [class*="couture-card-grid"],
.couture-archetype-subscription-box .couture-cat-showcase,
.couture-archetype-subscription-box [class*="couture-card-grid"],
.couture-archetype-auction-drop .couture-cat-showcase,
.couture-archetype-auction-drop [class*="couture-card-grid"] {
  gap: clamp(28px, 3vw, 40px) !important;
}

/* ---- EDITORIAL family (zine / gallery / journal — magazine rhythm) ---- */
.couture-archetype-zine-cutout .couture-section,
.couture-archetype-zine-cutout [class^="couture-sect-"],
.couture-archetype-zine-cutout [class^="couture-callout-"],
.couture-archetype-zine-cutout [class^="couture-banner-"],
.couture-archetype-zine-cutout [class^="couture-deck-"],
.couture-archetype-gallery-salon .couture-section,
.couture-archetype-gallery-salon [class^="couture-sect-"],
.couture-archetype-gallery-salon [class^="couture-callout-"],
.couture-archetype-gallery-salon [class^="couture-banner-"],
.couture-archetype-gallery-salon [class^="couture-deck-"],
.couture-archetype-field-journal .couture-section,
.couture-archetype-field-journal [class^="couture-sect-"],
.couture-archetype-field-journal [class^="couture-callout-"],
.couture-archetype-field-journal [class^="couture-banner-"],
.couture-archetype-editorial-magazine .couture-section,
.couture-archetype-editorial-magazine [class^="couture-sect-"],
.couture-archetype-editorial-magazine [class^="couture-callout-"],
.couture-archetype-journal-first .couture-section,
.couture-archetype-journal-first [class^="couture-sect-"],
.couture-archetype-journal-first [class^="couture-callout-"],
.couture-archetype-process-studio .couture-section,
.couture-archetype-process-studio [class^="couture-sect-"],
.couture-archetype-process-studio [class^="couture-callout-"] {
  padding-top: clamp(64px, 7vw, 100px) !important;
  padding-bottom: clamp(64px, 7vw, 100px) !important;
}
.couture-archetype-zine-cutout .couture-cat-showcase,
.couture-archetype-zine-cutout [class*="couture-card-grid"],
.couture-archetype-gallery-salon .couture-cat-showcase,
.couture-archetype-gallery-salon [class*="couture-card-grid"],
.couture-archetype-field-journal .couture-cat-showcase,
.couture-archetype-field-journal [class*="couture-card-grid"],
.couture-archetype-editorial-magazine .couture-cat-showcase,
.couture-archetype-editorial-magazine [class*="couture-card-grid"],
.couture-archetype-journal-first .couture-cat-showcase,
.couture-archetype-journal-first [class*="couture-card-grid"],
.couture-archetype-process-studio .couture-cat-showcase,
.couture-archetype-process-studio [class*="couture-card-grid"] {
  gap: 22px !important;
}

/* ---- BALANCED family (storyteller / small-business / shop-first / etc.) ----
   No override; existing per-component padding is authoritative for the
   default DTC look. */


/* V6.388 — WS1 logo_cloud layout variants. The original .couture-lc
   inline pill row stays. These three add per-domain hashed alternate
   layouts so sites that all happen to render logo_cloud feel different.

     wordmark        — ALL CAPS letterspaced grid (typographic / editorial)
     inline-dot      — single line with " · " separators (compact / declarative)
     editorial-split — eyebrow on left, names on right (magazine credit row)
*/

/* ---- Variant: WORDMARK GRID ---- */
.couture-lc--wordmark .lc-wordmark-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 28px 40px;
  align-items: baseline;
  justify-items: center;
  margin-top: 8px;
}
.couture-lc--wordmark .lc-wordmark {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  white-space: nowrap;
}
@media (max-width: 720px) {
  .couture-lc--wordmark .lc-wordmark-grid { gap: 18px 24px; }
  .couture-lc--wordmark .lc-wordmark { font-size: 0.85rem; letter-spacing: 0.14em; }
}

/* ---- Variant: DOT-DIVIDED INLINE ---- */
.couture-lc--inline-dot .lc-inline-line {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  letter-spacing: 0.02em;
  color: color-mix(in oklab, var(--c-ink, #111) 78%, transparent);
  text-align: center;
  line-height: 2;
  margin: 0;
}
.couture-lc--inline-dot .lc-inline-name { display: inline-block; padding: 0 4px; }
.couture-lc--inline-dot .lc-inline-dot {
  display: inline-block;
  margin: 0 14px;
  color: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
  font-weight: 400;
}
@media (max-width: 720px) {
  .couture-lc--inline-dot .lc-inline-line { font-size: 0.95rem; line-height: 1.9; }
  .couture-lc--inline-dot .lc-inline-dot { margin: 0 8px; }
}

/* ---- Variant: EDITORIAL SPLIT ---- */
.couture-lc--editorial-split .lc-split {
  display: grid;
  grid-template-columns: minmax(180px, 28%) 1fr;
  gap: 36px 56px;
  align-items: start;
}
.couture-lc--editorial-split .lc-split-left .lc-eyebrow--lg {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(1.2rem, 1.6vw, 1.6rem);
  letter-spacing: -0.01em;
  text-transform: none;
  color: var(--c-ink, #111);
  margin: 0;
  line-height: 1.15;
}
.couture-lc--editorial-split .lc-split-right {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 18px 32px;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  padding-top: 20px;
}
.couture-lc--editorial-split .lc-split-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  letter-spacing: 0.02em;
}
@media (max-width: 720px) {
  .couture-lc--editorial-split .lc-split { grid-template-columns: 1fr; gap: 18px; }
  .couture-lc--editorial-split .lc-split-right { padding-top: 14px; gap: 12px 22px; }
}


/* V6.388 — WS3 per-archetype BORDER-DENSITY treatment (architectural-language
   axis #4). Pairs with radius (#1), shadow (#2), and spacing (#3). Border
   weight + color is one of the strongest "voice" signals in interface
   design — a 2px solid black hairline reads institutional press, a 1px
   color-mixed neutral reads luxury restraint, a doubled-offset border
   reads xerox poster.

     HEAVY      (brutalist-index, archive-academic, manifesto-loud)
       — 2px solid ink borders on cards / forms / dividers (institutional)
     HAIRLINE   (atelier-lookbook, made-to-order, wholesale-lookbook,
                 subscription-box, auction-drop)
       — 1px tinted hairlines (luxury restraint)
     DRAWN      (zine-cutout, gallery-salon, field-journal,
                 editorial-magazine, journal-first, process-studio)
       — doubled border (1px + 3px offset shadow) — xerox / poster feel
     DEFAULT/BALANCED (storyteller, small-business, shop-first, etc.)
       — no override; per-component borders remain authoritative

   Targets: form inputs (search, newsletter), card outlines, divider hr,
   callout/banner outlines. Avoids touching button border (radius axis
   already handles button shape). */

/* ---- HEAVY family (brutalist / archive / manifesto) ---- */
.couture-archetype-brutalist-index input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-brutalist-index textarea,
.couture-archetype-brutalist-index select,
.couture-archetype-brutalist-index [class*="couture-card-"]:not(:empty),
.couture-archetype-brutalist-index [class*="couture-callout-"],
.couture-archetype-brutalist-index hr,
.couture-archetype-archive-academic input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-archive-academic textarea,
.couture-archetype-archive-academic select,
.couture-archetype-archive-academic [class*="couture-card-"]:not(:empty),
.couture-archetype-archive-academic [class*="couture-callout-"],
.couture-archetype-archive-academic hr,
.couture-archetype-manifesto-loud input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-manifesto-loud textarea,
.couture-archetype-manifesto-loud select,
.couture-archetype-manifesto-loud [class*="couture-card-"]:not(:empty),
.couture-archetype-manifesto-loud [class*="couture-callout-"],
.couture-archetype-manifesto-loud hr {
  border-width: 2px !important;
  border-style: solid !important;
  border-color: var(--c-ink, #111) !important;
}

/* ---- HAIRLINE family (luxury / boutique / lookbook) ---- */
.couture-archetype-atelier-lookbook input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-atelier-lookbook textarea,
.couture-archetype-atelier-lookbook select,
.couture-archetype-atelier-lookbook [class*="couture-card-"]:not(:empty),
.couture-archetype-atelier-lookbook [class*="couture-callout-"],
.couture-archetype-atelier-lookbook hr,
.couture-archetype-made-to-order input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-made-to-order textarea,
.couture-archetype-made-to-order select,
.couture-archetype-made-to-order [class*="couture-card-"]:not(:empty),
.couture-archetype-made-to-order [class*="couture-callout-"],
.couture-archetype-made-to-order hr,
.couture-archetype-wholesale-lookbook input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-wholesale-lookbook textarea,
.couture-archetype-wholesale-lookbook select,
.couture-archetype-wholesale-lookbook [class*="couture-card-"]:not(:empty),
.couture-archetype-wholesale-lookbook [class*="couture-callout-"],
.couture-archetype-wholesale-lookbook hr,
.couture-archetype-subscription-box input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-subscription-box textarea,
.couture-archetype-subscription-box select,
.couture-archetype-subscription-box [class*="couture-card-"]:not(:empty),
.couture-archetype-subscription-box [class*="couture-callout-"],
.couture-archetype-subscription-box hr,
.couture-archetype-auction-drop input:not([type="checkbox"]):not([type="radio"]),
.couture-archetype-auction-drop textarea,
.couture-archetype-auction-drop select,
.couture-archetype-auction-drop [class*="couture-card-"]:not(:empty),
.couture-archetype-auction-drop [class*="couture-callout-"],
.couture-archetype-auction-drop hr {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: color-mix(in oklab, var(--c-ink, #111) 18%, transparent) !important;
}

/* ---- DRAWN family (zine / gallery / journal — xerox poster) ---- */
.couture-archetype-zine-cutout [class*="couture-card-"]:not(:empty),
.couture-archetype-zine-cutout [class*="couture-callout-"],
.couture-archetype-gallery-salon [class*="couture-card-"]:not(:empty),
.couture-archetype-gallery-salon [class*="couture-callout-"],
.couture-archetype-field-journal [class*="couture-card-"]:not(:empty),
.couture-archetype-field-journal [class*="couture-callout-"],
.couture-archetype-editorial-magazine [class*="couture-card-"]:not(:empty),
.couture-archetype-editorial-magazine [class*="couture-callout-"],
.couture-archetype-journal-first [class*="couture-card-"]:not(:empty),
.couture-archetype-journal-first [class*="couture-callout-"],
.couture-archetype-process-studio [class*="couture-card-"]:not(:empty),
.couture-archetype-process-studio [class*="couture-callout-"] {
  border: 1px solid var(--c-ink, #111) !important;
  outline: 1px solid var(--c-ink, #111) !important;
  outline-offset: 3px !important;
}
.couture-archetype-zine-cutout hr,
.couture-archetype-gallery-salon hr,
.couture-archetype-field-journal hr,
.couture-archetype-editorial-magazine hr,
.couture-archetype-journal-first hr,
.couture-archetype-process-studio hr {
  border: 0 !important;
  border-top: 1px solid var(--c-ink, #111) !important;
  box-shadow: 0 3px 0 -2px var(--c-ink, #111) !important;
}

/* ---- DEFAULT/BALANCED family ----
   No override. Per-component borders remain authoritative. */


/* V6.388 — WS1 announcement_bar layout variants. Original
   .couture-announce-bar inline hairline-bar stays. These three add
   per-domain hashed alternates so sites that all happen to render
   announcement_bar feel different.

     marquee  — single scrolling line with dot separators (DTC top-bar)
     triple   — eyebrow | text | CTA with vertical dividers (masthead)
     stacked  — text on top, CTA pill underneath (prominent header-band)
*/

/* ---- Variant: MARQUEE ---- */
.couture-announce-bar--marquee {
  padding: 10px 0 !important;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  overflow: hidden;
  position: relative;
}
.couture-announce-bar--marquee .announce-marquee {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.couture-announce-bar--marquee .announce-marquee-track {
  display: inline-flex;
  gap: 56px;
  white-space: nowrap;
  animation: couture-announce-marquee 28s linear infinite;
  width: max-content;
}
.couture-announce-bar--marquee .announce-marquee-text {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: clamp(0.75rem, 0.95vw, 0.85rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper, #fff) 90%, transparent);
}
@keyframes couture-announce-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-announce-bar--marquee .announce-marquee-track { animation: none; }
}

/* ---- Variant: TRIPLE-COLUMN ---- */
.couture-announce-bar--triple {
  padding: 12px var(--c-gutter, 32px) !important;
  background: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff));
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-announce-bar--triple .announce-triple {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  text-align: center;
  font-size: clamp(0.85rem, 1vw, 0.95rem);
}
.couture-announce-bar--triple .announce-triple-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  padding-right: 18px;
  border-right: 1px solid color-mix(in oklab, var(--c-ink, #111) 25%, transparent);
}
.couture-announce-bar--triple .announce-triple-text {
  color: var(--c-ink, #111);
  padding-right: 18px;
  border-right: 1px solid color-mix(in oklab, var(--c-ink, #111) 25%, transparent);
}
.couture-announce-bar--triple .announce-triple-cta {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  color: var(--c-ink, #111);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.couture-announce-bar--triple .announce-triple-cta:hover {
  text-decoration-thickness: 2px;
}
@media (max-width: 720px) {
  .couture-announce-bar--triple .announce-triple-eyebrow,
  .couture-announce-bar--triple .announce-triple-text {
    border-right: 0;
    padding-right: 0;
  }
}

/* ---- Variant: STACKED-CENTER ---- */
.couture-announce-bar--stacked {
  padding: clamp(20px, 2.5vw, 32px) var(--c-gutter, 32px) !important;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 8%, var(--c-paper, #fff));
  text-align: center;
}
.couture-announce-bar--stacked .announce-stacked {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 720px;
  margin: 0 auto;
}
.couture-announce-bar--stacked .announce-stacked-text {
  font-family: var(--c-display, inherit);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-weight: 600;
  color: var(--c-ink, #111);
  margin: 0;
  line-height: 1.35;
}
.couture-announce-bar--stacked .announce-stacked-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 22px;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  border-radius: 999px;
  text-decoration: none;
  transition: transform 0.15s;
}
.couture-announce-bar--stacked .announce-stacked-cta:hover {
  transform: translateY(-1px);
}


/* V6.388 — WS3 per-archetype TYPE-RATIO treatment (architectural-language
   axis #5). Pairs with radius (#1), shadow (#2), spacing (#3), border-
   density (#4). Type-scale ratio is the most-felt typography signal —
   1.125 (minor third) reads dense / institutional, 1.5 (perfect fifth)
   reads dramatic / luxury display.

     COMPACT  (brutalist-index, archive-academic, manifesto-loud)
       — minor-third 1.125 ratio, smaller h1; institutional press type
     DRAMATIC (atelier-lookbook, made-to-order, wholesale-lookbook,
                 subscription-box, auction-drop)
       — perfect-fifth 1.5 ratio, oversized h1; luxury display
     EDITORIAL (zine-cutout, gallery-salon, field-journal,
                 editorial-magazine, journal-first, process-studio)
       — perfect-fourth 1.333 ratio; magazine column hierarchy
     DEFAULT/BALANCED — no override; existing major-third feel preserved

   Targets h1/h2/h3 inside .couture-section context (so system UI in
   wp-admin / nav doesn't get disturbed). Uses clamp() with the same
   responsive curve everyone else uses, just different anchor values. */

/* ---- COMPACT family (brutalist / archive / manifesto) ---- */
.couture-archetype-brutalist-index .couture-section h1,
.couture-archetype-brutalist-index .couture-page h1,
.couture-archetype-archive-academic .couture-section h1,
.couture-archetype-archive-academic .couture-page h1,
.couture-archetype-manifesto-loud .couture-section h1,
.couture-archetype-manifesto-loud .couture-page h1 {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.005em !important;
}
.couture-archetype-brutalist-index .couture-section h2,
.couture-archetype-archive-academic .couture-section h2,
.couture-archetype-manifesto-loud .couture-section h2 {
  font-size: clamp(1.3rem, 2.4vw, 1.7rem) !important;
  line-height: 1.22 !important;
}
.couture-archetype-brutalist-index .couture-section h3,
.couture-archetype-archive-academic .couture-section h3,
.couture-archetype-manifesto-loud .couture-section h3 {
  font-size: clamp(1.1rem, 1.6vw, 1.3rem) !important;
  line-height: 1.3 !important;
}

/* ---- DRAMATIC family (luxury / boutique / lookbook) ---- */
.couture-archetype-atelier-lookbook .couture-section h1,
.couture-archetype-atelier-lookbook .couture-page h1,
.couture-archetype-made-to-order .couture-section h1,
.couture-archetype-made-to-order .couture-page h1,
.couture-archetype-wholesale-lookbook .couture-section h1,
.couture-archetype-wholesale-lookbook .couture-page h1,
.couture-archetype-subscription-box .couture-section h1,
.couture-archetype-subscription-box .couture-page h1,
.couture-archetype-auction-drop .couture-section h1,
.couture-archetype-auction-drop .couture-page h1 {
  font-size: clamp(2.6rem, 7vw, 5.2rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.02em !important;
}
.couture-archetype-atelier-lookbook .couture-section h2,
.couture-archetype-made-to-order .couture-section h2,
.couture-archetype-wholesale-lookbook .couture-section h2,
.couture-archetype-subscription-box .couture-section h2,
.couture-archetype-auction-drop .couture-section h2 {
  font-size: clamp(1.9rem, 4vw, 3.2rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.015em !important;
}
.couture-archetype-atelier-lookbook .couture-section h3,
.couture-archetype-made-to-order .couture-section h3,
.couture-archetype-wholesale-lookbook .couture-section h3,
.couture-archetype-subscription-box .couture-section h3,
.couture-archetype-auction-drop .couture-section h3 {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important;
  line-height: 1.18 !important;
}

/* ---- EDITORIAL family (zine / gallery / journal) ---- */
.couture-archetype-zine-cutout .couture-section h1,
.couture-archetype-zine-cutout .couture-page h1,
.couture-archetype-gallery-salon .couture-section h1,
.couture-archetype-gallery-salon .couture-page h1,
.couture-archetype-field-journal .couture-section h1,
.couture-archetype-field-journal .couture-page h1,
.couture-archetype-editorial-magazine .couture-section h1,
.couture-archetype-editorial-magazine .couture-page h1,
.couture-archetype-journal-first .couture-section h1,
.couture-archetype-journal-first .couture-page h1,
.couture-archetype-process-studio .couture-section h1,
.couture-archetype-process-studio .couture-page h1 {
  font-size: clamp(2.2rem, 5.2vw, 3.8rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.012em !important;
}
.couture-archetype-zine-cutout .couture-section h2,
.couture-archetype-gallery-salon .couture-section h2,
.couture-archetype-field-journal .couture-section h2,
.couture-archetype-editorial-magazine .couture-section h2,
.couture-archetype-journal-first .couture-section h2,
.couture-archetype-process-studio .couture-section h2 {
  font-size: clamp(1.65rem, 3.2vw, 2.4rem) !important;
  line-height: 1.12 !important;
}
.couture-archetype-zine-cutout .couture-section h3,
.couture-archetype-gallery-salon .couture-section h3,
.couture-archetype-field-journal .couture-section h3,
.couture-archetype-editorial-magazine .couture-section h3,
.couture-archetype-journal-first .couture-section h3,
.couture-archetype-process-studio .couture-section h3 {
  font-size: clamp(1.25rem, 2vw, 1.55rem) !important;
  line-height: 1.22 !important;
}

/* ---- DEFAULT/BALANCED family ----
   No override. Existing major-third (~1.25) feel preserved. */


/* V6.388 — WS6(c) mobile-breakpoint defensive sweep. Many composer-shipped
   sections were authored desktop-first with grid-template-columns or
   minmax() values that work down to 720px but overflow / look broken at
   375-414px (the iPhone-class viewports). This sweep adds three GLOBAL
   defenses that work even when individual section CSS missed a mobile
   override:

     1. Horizontal overflow clip on every couture section + page wrapper.
        Prevents body-level x-scroll triggered by an oversized section.
     2. Fluid media — every img/video/iframe/picture inside a couture
        section caps at 100% width at small screens.
     3. Section gutters compress on tiny viewports (var(--c-gutter)
        defaults to 32px which is ~9% of a 360px viewport — too much).
*/

/* 1. Prevent any couture section/page from triggering body x-scroll. */
.couture-section, .couture-page {
  overflow-x: clip;
}

/* 2-3. Mobile-only defenses. */
@media (max-width: 480px) {
  .couture-section img,
  .couture-section video,
  .couture-section iframe,
  .couture-section picture,
  .couture-section svg:not(.couture-icon) {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Compress section gutters on tiny screens. Composer-shipped sections
     often use var(--c-gutter, 32px); 32px on a 360px viewport leaves
     only 296px of content. */
  .couture-section {
    padding-left: clamp(14px, 4vw, 20px) !important;
    padding-right: clamp(14px, 4vw, 20px) !important;
  }

  /* Force-collapse 2+ column grids that didn't ship a mobile rule. Only
     matches inline styles where author specified grid-template-columns
     manually with px/% values that don't fit a phone. */
  .couture-section [style*="grid-template-columns: repeat(2,"],
  .couture-section [style*="grid-template-columns: repeat(3,"],
  .couture-section [style*="grid-template-columns: repeat(4,"] {
    grid-template-columns: 1fr !important;
  }

  /* Prevent oversized inline width attributes from overflowing.
     Some renderers emit width="800" on hero images; HTML attribute
     wins over CSS unless we !important. */
  .couture-section [width]:not(svg) {
    max-width: 100% !important;
  }
}

/* 4. Tiny viewports (≤360px e.g. small Androids) — extra padding squeeze
   and font-size cap so headings don't blow out single-column layouts. */
@media (max-width: 360px) {
  .couture-section h1,
  .couture-page h1 {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
    line-height: 1.1 !important;
  }
  .couture-section h2 {
    font-size: clamp(1.2rem, 4.5vw, 1.5rem) !important;
  }
  .couture-section {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* V6.388 — WS3 per-archetype ACCENT-SATURATION treatment (architectural-
   language axis #6 — final axis). Pairs with radius (#1), shadow (#2),
   spacing (#3), border-density (#4), type-ratio (#5). The accent color
   is the strongest single brand cue that lives across CTAs, focus rings,
   eyebrows, link underlines. Different archetypes deploy it at different
   intensities:

     HOT      (manifesto-loud, auction-drop, brutalist-index)
       — fully saturated accent biased toward bright red/orange;
         declarative / poster — visible everywhere
     MUTED    (atelier-lookbook, made-to-order, wholesale-lookbook,
                 subscription-box, archive-academic)
       — desaturated accent biased toward ink; luxury restraint
     VIVID    (zine-cutout, gallery-salon, field-journal,
                 editorial-magazine, journal-first)
       — vibrant mid-saturation biased toward warm yellow; poster pop
     DEFAULT  (storyteller, small-business, shop-first, etc.)
       — no override; per-domain accent unchanged

   Strategy: override the highest-traffic accent-consuming selectors
   (CTAs, buttons, focus outlines, eyebrows, h2 ::after underline).
   We can't redefine --c-accent recursively in CSS, so we use color-mix
   inline at each consumer site. Limited reach (only ~6 selector types)
   but those 6 are where the accent reads most loudly. */

/* ---- HOT family (manifesto-loud, auction-drop, brutalist-index) ---- */
.couture-archetype-manifesto-loud .couture-cta,
.couture-archetype-manifesto-loud [class*="-cta-primary"],
.couture-archetype-manifesto-loud button[type="submit"],
.couture-archetype-manifesto-loud .announce-stacked-cta,
.couture-archetype-auction-drop .couture-cta,
.couture-archetype-auction-drop [class*="-cta-primary"],
.couture-archetype-auction-drop button[type="submit"],
.couture-archetype-auction-drop .announce-stacked-cta,
.couture-archetype-brutalist-index .couture-cta,
.couture-archetype-brutalist-index [class*="-cta-primary"],
.couture-archetype-brutalist-index button[type="submit"],
.couture-archetype-brutalist-index .announce-stacked-cta {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 60%, #ff3b00 40%) !important;
  color: #fff !important;
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 60%, #ff3b00 40%) !important;
}
.couture-archetype-manifesto-loud :focus-visible,
.couture-archetype-auction-drop :focus-visible,
.couture-archetype-brutalist-index :focus-visible {
  outline-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 60%, #ff3b00 40%) !important;
}

/* ---- MUTED family (atelier / made-to-order / wholesale / subscription / archive) ---- */
.couture-archetype-atelier-lookbook .couture-cta,
.couture-archetype-atelier-lookbook [class*="-cta-primary"],
.couture-archetype-atelier-lookbook button[type="submit"],
.couture-archetype-atelier-lookbook .announce-stacked-cta,
.couture-archetype-made-to-order .couture-cta,
.couture-archetype-made-to-order [class*="-cta-primary"],
.couture-archetype-made-to-order button[type="submit"],
.couture-archetype-made-to-order .announce-stacked-cta,
.couture-archetype-wholesale-lookbook .couture-cta,
.couture-archetype-wholesale-lookbook [class*="-cta-primary"],
.couture-archetype-wholesale-lookbook button[type="submit"],
.couture-archetype-subscription-box .couture-cta,
.couture-archetype-subscription-box [class*="-cta-primary"],
.couture-archetype-subscription-box button[type="submit"],
.couture-archetype-archive-academic .couture-cta,
.couture-archetype-archive-academic [class*="-cta-primary"],
.couture-archetype-archive-academic button[type="submit"] {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 50%, var(--c-ink, #111) 50%) !important;
  color: var(--c-paper, #fff) !important;
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 50%, var(--c-ink, #111) 50%) !important;
}
.couture-archetype-atelier-lookbook :focus-visible,
.couture-archetype-made-to-order :focus-visible,
.couture-archetype-wholesale-lookbook :focus-visible,
.couture-archetype-subscription-box :focus-visible,
.couture-archetype-archive-academic :focus-visible {
  outline-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 50%, var(--c-ink, #111) 50%) !important;
}

/* ---- VIVID family (zine / gallery / field-journal / editorial / journal-first) ---- */
.couture-archetype-zine-cutout .couture-cta,
.couture-archetype-zine-cutout [class*="-cta-primary"],
.couture-archetype-zine-cutout button[type="submit"],
.couture-archetype-zine-cutout .announce-stacked-cta,
.couture-archetype-gallery-salon .couture-cta,
.couture-archetype-gallery-salon [class*="-cta-primary"],
.couture-archetype-gallery-salon button[type="submit"],
.couture-archetype-field-journal .couture-cta,
.couture-archetype-field-journal [class*="-cta-primary"],
.couture-archetype-field-journal button[type="submit"],
.couture-archetype-editorial-magazine .couture-cta,
.couture-archetype-editorial-magazine [class*="-cta-primary"],
.couture-archetype-editorial-magazine button[type="submit"],
.couture-archetype-journal-first .couture-cta,
.couture-archetype-journal-first [class*="-cta-primary"],
.couture-archetype-journal-first button[type="submit"] {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 65%, #ffb800 35%) !important;
  color: var(--c-ink, #111) !important;
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 65%, #ffb800 35%) !important;
}
.couture-archetype-zine-cutout :focus-visible,
.couture-archetype-gallery-salon :focus-visible,
.couture-archetype-field-journal :focus-visible,
.couture-archetype-editorial-magazine :focus-visible,
.couture-archetype-journal-first :focus-visible {
  outline-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 65%, #ffb800 35%) !important;
}

/* ---- DEFAULT/BALANCED family ----
   No override. Per-domain --c-accent remains authoritative. */


/* V6.388 — WS1 quote_banner layout variants. Original
   .couture-quote-banner centered+mark stays. Three new hashed variants
   so sites that all happen to render quote_banner feel different.

     display  — oversized serif pull-quote, right-aligned em-dash byline
     split    — quote left, attribution right with hairline rule
     framed   — quote bracketed by thick rules, small-caps attribution
*/

/* ---- Variant: GIANT DISPLAY ---- */
.couture-quote-banner--display .qb-display {
  max-width: 1100px;
  margin: 0 auto;
  text-align: left;
}
.couture-quote-banner--display .qb-display-text {
  font-family: var(--c-display, inherit);
  font-weight: 400;
  font-size: clamp(1.7rem, 3.6vw, 2.8rem);
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: var(--c-ink, #111);
  margin: 0 0 24px;
  font-style: italic;
}
.couture-quote-banner--display .qb-display-byline {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.85rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  text-align: right;
}
.couture-quote-banner--display .qb-display-byline span {
  color: color-mix(in oklab, var(--c-ink, #111) 50%, transparent);
}
@media (max-width: 720px) {
  .couture-quote-banner--display .qb-display-byline { text-align: left; }
}

/* ---- Variant: SPLIT ---- */
.couture-quote-banner--split .qb-split {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 56px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}
.couture-quote-banner--split .qb-split-quote {
  font-family: var(--c-display, inherit);
  font-weight: 400;
  font-size: clamp(1.4rem, 2.4vw, 1.95rem);
  line-height: 1.3;
  color: var(--c-ink, #111);
  margin: 0;
  border-left: 3px solid var(--c-accent, var(--c-ink, #111));
  padding-left: 28px;
}
.couture-quote-banner--split .qb-split-attr {
  padding-top: 16px;
}
.couture-quote-banner--split .qb-split-attr-rule {
  width: 40px;
  height: 1px;
  background: var(--c-ink, #111);
  margin-bottom: 14px;
}
.couture-quote-banner--split .qb-split-attr-author {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1rem;
  color: var(--c-ink, #111);
}
.couture-quote-banner--split .qb-split-attr-role {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin-top: 4px;
}
@media (max-width: 720px) {
  .couture-quote-banner--split .qb-split { grid-template-columns: 1fr; gap: 24px; }
  .couture-quote-banner--split .qb-split-quote { padding-left: 18px; }
}

/* ---- Variant: FRAMED ---- */
.couture-quote-banner--framed .qb-framed {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.couture-quote-banner--framed .qb-framed-rule {
  width: 100%;
  height: 4px;
  background: var(--c-ink, #111);
}
.couture-quote-banner--framed .qb-framed-rule--top { margin-bottom: 32px; }
.couture-quote-banner--framed .qb-framed-rule--bottom { margin-top: 32px; }
.couture-quote-banner--framed .qb-framed-text {
  font-family: var(--c-display, inherit);
  font-weight: 500;
  font-size: clamp(1.5rem, 2.7vw, 2.1rem);
  line-height: 1.22;
  letter-spacing: -0.005em;
  color: var(--c-ink, #111);
  margin: 0;
}
.couture-quote-banner--framed .qb-framed-attr {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin-top: 18px;
}


/* V6.388 — WS6(b) min-contrast defense layer. WCAG 2.1 AA requires
   text-on-background contrast ≥4.5:1 for normal text and ≥3:1 for large
   text + UI components. Per-domain accent palettes + AI-generated
   muted-text colors regularly fall below these thresholds (especially
   the eyebrow / caption / placeholder slots that get color-mixed down
   to 30-40% ink — too pale on any non-pure-paper background).

   We can't compute exact WCAG ratios in pure CSS, but we can apply
   defensive floors that prevent the most common failures:

     1. Cap the "muted" text token at min 60% ink mix (was sometimes
        as low as 30% — invisible on cream/sand backgrounds).
     2. Placeholder text floor at 55% ink — readable but still visually
        secondary.
     3. :focus-visible outline forced to 2px solid ink (high-contrast
        regardless of background). WCAG 2.4.7 (focus visible).
     4. Disabled buttons floor at 40% opacity (was 20% on some
        archetypes — looked deleted, not disabled).
     5. Link underline forced to at least 1px ink (was sometimes 1px
        accent on a similar-tone background — invisible).

   These are defensive FLOORS — per-site / per-archetype CSS can still
   go higher contrast. Only catches sites that were already failing. */

/* 1. Muted-text floor: ensure --c-ink-soft / --c-muted aren't washed out */
.couture-page .couture-muted,
.couture-page [class*="-eyebrow"],
.couture-page [class*="-caption"],
.couture-section figcaption,
.couture-section small {
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent) !important;
}

/* 2. Placeholder text — readable but secondary */
.couture-page input::placeholder,
.couture-page textarea::placeholder {
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent) !important;
  opacity: 1 !important; /* override Firefox default 0.54 */
}

/* 3. Focus-visible — high-contrast outline regardless of bg */
.couture-page :focus-visible,
.couture-section :focus-visible {
  outline-width: 2px !important;
  outline-style: solid !important;
  outline-offset: 2px !important;
}
/* Default outline color (per-archetype accent rules already override
   for HOT/MUTED/VIVID families where the accent has been adjusted) */
.couture-page :focus-visible:not([class*="couture-archetype-"]) {
  outline-color: var(--c-ink, #111) !important;
}

/* 4. Disabled-state floor: 40% opacity not 20% */
.couture-page button[disabled],
.couture-page input[disabled],
.couture-page select[disabled],
.couture-page textarea[disabled],
.couture-page [aria-disabled="true"] {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* 5. Inline link underline — force visible weight on body links */
.couture-section a:not([class]):not([role="button"]):not(.couture-cta):not([class*="-cta"]) {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent) !important;
}
.couture-section a:not([class]):not([role="button"]):not(.couture-cta):not([class*="-cta"]):hover {
  text-decoration-thickness: 2px !important;
  text-decoration-color: var(--c-ink, #111) !important;
}

/* 6. Selection color — ensure highlighted text stays readable */
.couture-page ::selection {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 30%, transparent) !important;
  color: var(--c-ink, #111) !important;
}


/* V6.388 — WS1 value_prop_row layout variants. Original
   .couture-value-prop horizontal stat-row stays. Three new hashed
   variants so sites that all happen to render value_prop_row feel
   different.

     stack      — single-column dramatic stack (big stats, small caps)
     editorial  — eyebrow + 2-col grid, hairline rule above each cell
     bar        — stat as headline + accent rule + label (poster bar)
*/

/* ---- Variant: VERTICAL DRAMATIC STACK ---- */
.couture-value-prop--stack .vp-stack {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.couture-value-prop--stack .vp-stack-row {
  display: grid;
  grid-template-columns: minmax(120px, 28%) 1fr;
  gap: 28px;
  align-items: baseline;
  padding-bottom: 24px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-value-prop--stack .vp-stack-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.couture-value-prop--stack .vp-stack-stat {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--c-ink, #111);
}
.couture-value-prop--stack .vp-stack-label {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
@media (max-width: 720px) {
  .couture-value-prop--stack .vp-stack-row { grid-template-columns: 1fr; gap: 8px; }
}

/* ---- Variant: EDITORIAL ---- */
.couture-value-prop--editorial .vp-editorial-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin: 0 0 32px;
  text-align: center;
}
.couture-value-prop--editorial .vp-editorial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px 40px;
  max-width: 1100px;
  margin: 0 auto;
}
.couture-value-prop--editorial .vp-editorial-cell {
  text-align: left;
}
.couture-value-prop--editorial .vp-editorial-rule {
  width: 32px;
  height: 1px;
  background: var(--c-ink, #111);
  margin-bottom: 14px;
}
.couture-value-prop--editorial .vp-editorial-stat {
  font-family: var(--c-display, inherit);
  font-weight: 500;
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--c-ink, #111);
}
.couture-value-prop--editorial .vp-editorial-label {
  margin-top: 8px;
  font-family: var(--c-display, inherit);
  font-size: 0.95rem;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}

/* ---- Variant: BAR-CHART ---- */
.couture-value-prop--bar .vp-bar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px 40px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-value-prop--bar .vp-bar-cell {
  text-align: left;
}
.couture-value-prop--bar .vp-bar-stat {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(1.9rem, 3.2vw, 2.4rem);
  line-height: 1.05;
  letter-spacing: -0.012em;
  color: var(--c-ink, #111);
  margin-bottom: 10px;
}
.couture-value-prop--bar .vp-bar-rule {
  height: 4px;
  width: 100%;
  background: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 12px;
}
.couture-value-prop--bar .vp-bar-label {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}


/* V6.388 — WS1 ribbon_offer layout variants. Original
   .couture-ribbon-offer horizontal band stays. Three new hashed
   variants per domain.

     stamp   — large centered offer + corner "Limited" tag (poster)
     ticker  — single-line narrow band + inline CTA (DTC top-bar)
     framed  — bordered card with thick top + bottom rules (prominent)
*/

/* ---- Variant: STAMP ---- */
.couture-ribbon-offer--stamp .ro-stamp {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(36px, 4vw, 56px) clamp(24px, 4vw, 48px);
  border: 2px solid var(--c-ink, #111);
  background: color-mix(in oklab, var(--c-paper, #fff) 96%, var(--c-accent, var(--c-ink, #111)) 4%);
}
.couture-ribbon-offer--stamp .ro-stamp-tag {
  position: absolute;
  top: -14px;
  right: 24px;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 5px 12px;
  transform: rotate(3deg);
}
.couture-ribbon-offer--stamp .ro-stamp-offer {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1.15;
  color: var(--c-ink, #111);
  margin: 0 0 14px;
}
.couture-ribbon-offer--stamp .ro-stamp-terms {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin: 0 0 22px;
}
.couture-ribbon-offer--stamp .ro-stamp-cta {
  display: inline-block;
  padding: 12px 28px;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.95rem;
  border: 2px solid var(--c-ink, #111);
  color: var(--c-ink, #111);
  background: transparent;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.couture-ribbon-offer--stamp .ro-stamp-cta:hover {
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
}

/* ---- Variant: TICKER ---- */
.couture-ribbon-offer--ticker {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  background: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff));
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-ribbon-offer--ticker .ro-ticker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  font-family: var(--c-display, inherit);
  font-size: 0.95rem;
  text-align: center;
}
.couture-ribbon-offer--ticker .ro-ticker-offer {
  color: var(--c-ink, #111);
  font-weight: 500;
}
.couture-ribbon-offer--ticker .ro-ticker-sep {
  color: color-mix(in oklab, var(--c-ink, #111) 30%, transparent);
}
.couture-ribbon-offer--ticker .ro-ticker-cta {
  color: var(--c-ink, #111);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.couture-ribbon-offer--ticker .ro-ticker-cta:hover {
  text-decoration-thickness: 2px;
}

/* ---- Variant: FRAMED ---- */
.couture-ribbon-offer--framed .ro-framed {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(36px, 4vw, 56px) clamp(24px, 4vw, 40px);
  background: var(--c-paper, #fff);
}
.couture-ribbon-offer--framed .ro-framed-rule {
  width: 100%;
  height: 4px;
  background: var(--c-ink, #111);
}
.couture-ribbon-offer--framed .ro-framed-rule--top { margin-bottom: 28px; }
.couture-ribbon-offer--framed .ro-framed-rule--bottom { margin-top: 28px; }
.couture-ribbon-offer--framed .ro-framed-offer {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1.18;
  color: var(--c-ink, #111);
  margin: 0 0 22px;
}
.couture-ribbon-offer--framed .ro-framed-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 32px;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.95rem;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  border-radius: 999px;
  text-decoration: none;
  transition: transform 0.15s;
  margin-bottom: 16px;
}
.couture-ribbon-offer--framed .ro-framed-cta:hover {
  transform: translateY(-1px);
}
.couture-ribbon-offer--framed .ro-framed-terms {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin: 0;
}


/* V6.388 — WS1 mini_testimonial_strip layout variants. Original star-
   row grid stays. Three new hashed variants per domain.

     editorial — no stars, hero quote + small-caps byline (press blurb)
     scroll    — horizontal scrolling rail of cards (mobile-native)
     list      — single-column list, quote left, author+stars right
*/

/* ---- Variant: EDITORIAL ---- */
.couture-mini-testimonial--editorial .mt-editorial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 32px 40px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-mini-testimonial--editorial .mt-editorial-cell {
  margin: 0;
  text-align: left;
}
.couture-mini-testimonial--editorial .mt-editorial-quote {
  font-family: var(--c-display, inherit);
  font-weight: 400;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.45;
  color: var(--c-ink, #111);
  margin: 0 0 14px;
  font-style: italic;
}
.couture-mini-testimonial--editorial .mt-editorial-author {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

/* ---- Variant: SCROLL-CARDS ---- */
.couture-mini-testimonial--scroll .mt-scroll-rail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-mini-testimonial--scroll .mt-scroll-card {
  background: color-mix(in oklab, var(--c-paper, #fff) 96%, var(--c-ink, #111) 4%);
  padding: 22px;
  border-radius: 8px;
}
.couture-mini-testimonial--scroll .mt-scroll-stars {
  color: var(--c-accent, var(--c-ink, #111));
  font-size: 0.95rem;
  margin-bottom: 12px;
  letter-spacing: 0.05em;
}
.couture-mini-testimonial--scroll .mt-scroll-quote {
  font-family: var(--c-display, inherit);
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--c-ink, #111);
  margin: 0 0 14px;
}
.couture-mini-testimonial--scroll .mt-scroll-author {
  font-family: var(--c-display, inherit);
  font-size: 0.85rem;
  font-weight: 600;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}
@media (max-width: 720px) {
  .couture-mini-testimonial--scroll .mt-scroll-rail {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
  }
  .couture-mini-testimonial--scroll .mt-scroll-card {
    flex: 0 0 80%;
    scroll-snap-align: start;
  }
}

/* ---- Variant: STACKED-LIST ---- */
.couture-mini-testimonial--list .mt-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 880px;
}
.couture-mini-testimonial--list .mt-list-item {
  padding: 26px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-mini-testimonial--list .mt-list-item:last-child { border-bottom: 0; }
.couture-mini-testimonial--list .mt-list-quote {
  font-family: var(--c-display, inherit);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.5;
  color: var(--c-ink, #111);
  margin: 0 0 12px;
}
.couture-mini-testimonial--list .mt-list-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.couture-mini-testimonial--list .mt-list-author {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.9rem;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}
.couture-mini-testimonial--list .mt-list-stars {
  color: var(--c-accent, var(--c-ink, #111));
  font-size: 0.9rem;
  letter-spacing: 0.04em;
}


/* V6.388 — WS1 plain_pullquote_band layout variants. Original
   .couture-plain-pullquote centered layout stays. Three new hashed
   variants per domain.

     huge      — oversized centered serif quote (manifesto / poster)
     leftrule  — left-aligned with thick accent left rule (editorial)
     tinted    — full-width tinted band (interlude / breath)
*/

/* ---- Variant: HUGE TYPE ---- */
.couture-plain-pullquote--huge .ppb-huge {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.couture-plain-pullquote--huge .ppb-huge-text {
  font-family: var(--c-display, inherit);
  font-weight: 400;
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--c-ink, #111);
  margin: 0;
}
.couture-plain-pullquote--huge .ppb-huge-attr {
  margin-top: 28px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

/* ---- Variant: LEFT-RULE ---- */
.couture-plain-pullquote--leftrule .ppb-leftrule {
  max-width: 880px;
  margin: 0 auto;
  text-align: left;
  padding-left: 32px;
  border-left: 4px solid var(--c-accent, var(--c-ink, #111));
}
.couture-plain-pullquote--leftrule .ppb-leftrule-text {
  font-family: var(--c-display, inherit);
  font-weight: 400;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  line-height: 1.3;
  color: var(--c-ink, #111);
  margin: 0;
  font-style: italic;
}
.couture-plain-pullquote--leftrule .ppb-leftrule-attr {
  margin-top: 18px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

/* ---- Variant: TINTED-BAND ---- */
.couture-plain-pullquote--tinted {
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff)) !important;
  padding-top: clamp(56px, 7vw, 96px) !important;
  padding-bottom: clamp(56px, 7vw, 96px) !important;
}
.couture-plain-pullquote--tinted .ppb-tinted {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.couture-plain-pullquote--tinted .ppb-tinted-text {
  font-family: var(--c-display, inherit);
  font-weight: 500;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  line-height: 1.22;
  color: var(--c-ink, #111);
  margin: 0;
}
.couture-plain-pullquote--tinted .ppb-tinted-attr {
  margin-top: 22px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}


/* V6.388 — WS1 brand_strip layout variants. Original
   .couture-brand-strip eyebrow+claim row stays. Three new hashed
   variants per domain.

     numbered  — 01/02 mono prefix + claim headline (manifesto)
     icon      — glyph above + claim + eyebrow below (DTC)
     list      — single-column dl with eyebrow LEFT + claim RIGHT (editorial)
*/

/* ---- Variant: NUMBERED ---- */
.couture-brand-strip--numbered .bs-numbered-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 36px 48px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-brand-strip--numbered .bs-numbered-cell {
  text-align: left;
}
.couture-brand-strip--numbered .bs-numbered-num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 14px;
}
.couture-brand-strip--numbered .bs-numbered-claim {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  line-height: 1.2;
  color: var(--c-ink, #111);
  margin-bottom: 8px;
}
.couture-brand-strip--numbered .bs-numbered-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

/* ---- Variant: ICON ---- */
.couture-brand-strip--icon .bs-icon-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 32px 36px;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.couture-brand-strip--icon .bs-icon-glyph {
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 14px;
  line-height: 1;
}
.couture-brand-strip--icon .bs-icon-claim {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--c-ink, #111);
  margin-bottom: 6px;
}
.couture-brand-strip--icon .bs-icon-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

/* ---- Variant: STACKED LIST ---- */
.couture-brand-strip--list .bs-list {
  margin: 0 auto;
  max-width: 880px;
  padding: 0;
}
.couture-brand-strip--list .bs-list-row {
  display: grid;
  grid-template-columns: minmax(140px, 26%) 1fr;
  gap: 32px;
  align-items: baseline;
  padding: 22px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-brand-strip--list .bs-list-row:last-child { border-bottom: 0; }
.couture-brand-strip--list .bs-list-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin: 0;
}
.couture-brand-strip--list .bs-list-claim {
  font-family: var(--c-display, inherit);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.4;
  color: var(--c-ink, #111);
  margin: 0;
}
@media (max-width: 720px) {
  .couture-brand-strip--list .bs-list-row { grid-template-columns: 1fr; gap: 6px; }
}


/* V6.388 — WS1 why_us_band layout variants. Original .couture-why-us
   numbered grid stays. Three new hashed variants per domain.

     timeline — vertical stacked rows with left-margin numbers (process)
     split    — left col headline+intro, right col reasons stack (mag)
     icon     — auto-fit cards, glyph + title + body (DTC)
*/

/* ---- Variant: TIMELINE ---- */
.couture-why-us--timeline .wu-timeline {
  list-style: none;
  margin: 32px auto 0;
  max-width: 880px;
  padding: 0;
}
.couture-why-us--timeline .wu-timeline-item {
  display: grid;
  grid-template-columns: minmax(72px, 84px) 1fr;
  gap: 28px;
  padding: 22px 0 26px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  position: relative;
}
.couture-why-us--timeline .wu-timeline-item:last-child { border-bottom: 0; }
.couture-why-us--timeline .wu-timeline-num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  color: var(--c-accent, var(--c-ink, #111));
  padding-top: 4px;
  white-space: nowrap;
}
.couture-why-us--timeline .wu-timeline-body h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  margin: 0 0 8px;
  color: var(--c-ink, #111);
}
.couture-why-us--timeline .wu-timeline-body p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}

/* ---- Variant: SPLIT-PROSE ---- */
.couture-why-us--split .wu-split {
  display: grid;
  grid-template-columns: minmax(220px, 32%) 1fr;
  gap: 56px;
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-why-us--split .wu-split-left h2 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.12;
  letter-spacing: -0.012em;
  margin: 12px 0 0;
  color: var(--c-ink, #111);
}
.couture-why-us--split .wu-split-left .num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
.couture-why-us--split .wu-split-row {
  padding: 20px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-why-us--split .wu-split-row:last-child { border-bottom: 0; }
.couture-why-us--split .wu-split-row h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-why-us--split .wu-split-row p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
@media (max-width: 720px) {
  .couture-why-us--split .wu-split { grid-template-columns: 1fr; gap: 24px; }
}

/* ---- Variant: ICON-CARDS ---- */
.couture-why-us--icon .wu-icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 28px 32px;
  max-width: 1180px;
  margin: 32px auto 0;
}
.couture-why-us--icon .wu-icon-cell {
  text-align: left;
}
.couture-why-us--icon .wu-icon-glyph {
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  color: var(--c-accent, var(--c-ink, #111));
  line-height: 1;
  margin-bottom: 14px;
}
.couture-why-us--icon .wu-icon-cell h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-why-us--icon .wu-icon-cell p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}


/* V6.388 — WS1 split_cta layout variants. Original .couture-split-cta
   2-col text+stat-card grid stays. Three new hashed variants per
   domain.

     reversed — stat LEFT, text RIGHT (visual flip)
     stacked  — single column, stat as inline pill above headline (hero)
     framed   — bordered box, stat as top-left tag (magazine ad)
*/

/* ---- Variant: REVERSED ---- */
.couture-split-cta--reversed .sc-reversed {
  display: grid;
  grid-template-columns: minmax(220px, 38%) 1fr;
  gap: 48px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-split-cta--reversed .sc-reversed-stat {
  text-align: center;
  padding: 32px 24px;
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-split-cta--reversed .sc-reversed-stat-value {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(2.4rem, 4.5vw, 3.4rem);
  line-height: 1;
  color: var(--c-ink, #111);
  margin-bottom: 8px;
}
.couture-split-cta--reversed .sc-reversed-stat-label {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
.couture-split-cta--reversed .sc-reversed-right h2 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  line-height: 1.18;
  margin: 0 0 12px;
}
.couture-split-cta--reversed .sc-reversed-right p {
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 22px;
}
@media (max-width: 720px) {
  .couture-split-cta--reversed .sc-reversed { grid-template-columns: 1fr; gap: 24px; }
}

/* ---- Variant: STACKED-CENTER ---- */
.couture-split-cta--stacked .sc-stacked {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.couture-split-cta--stacked .sc-stacked-pill {
  display: inline-block;
  padding: 6px 14px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  background: color-mix(in oklab, var(--c-ink, #111) 6%, var(--c-paper, #fff));
  border-radius: 999px;
  margin-bottom: 22px;
}
.couture-split-cta--stacked .sc-stacked-pill strong {
  color: var(--c-ink, #111);
  font-weight: 700;
}
.couture-split-cta--stacked .sc-stacked-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.8rem, 3.6vw, 2.6rem);
  line-height: 1.12;
  letter-spacing: -0.012em;
  margin: 0 0 14px;
}
.couture-split-cta--stacked .sc-stacked-sub {
  font-size: 1.05rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 26px;
}
.couture-split-cta--stacked .sc-stacked-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ---- Variant: FRAMED ---- */
.couture-split-cta--framed .sc-framed {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 64px) clamp(28px, 4vw, 48px);
  border: 2px solid var(--c-ink, #111);
  text-align: left;
}
.couture-split-cta--framed .sc-framed-tag {
  position: absolute;
  top: -14px;
  left: 32px;
  background: var(--c-paper, #fff);
  padding: 4px 12px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}
.couture-split-cta--framed .sc-framed-tag strong {
  color: var(--c-accent, var(--c-ink, #111));
  font-weight: 700;
  margin-right: 4px;
}
.couture-split-cta--framed .sc-framed-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.14;
  margin: 0 0 14px;
}
.couture-split-cta--framed .sc-framed-sub {
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 26px;
}
.couture-split-cta--framed .sc-framed-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}


/* V6.388 — WS1 feature_row layout variants. Original
   .couture-feature-row glyph grid stays. Three new hashed variants.

     inline    — single-row pipe-divider list (compact bar)
     numbered  — drop icon, show 01/02/03 mono prefix (process)
     tinted    — full-width tinted band, evenly distributed (prominent)
*/

/* ---- Variant: INLINE ---- */
.couture-feature-row--inline .fr-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 22px;
  text-align: center;
  font-family: var(--c-display, inherit);
  font-size: 0.95rem;
  margin: 0;
  color: var(--c-ink, #111);
}
.couture-feature-row--inline .fr-inline-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.couture-feature-row--inline .fr-inline-icon {
  color: var(--c-accent, var(--c-ink, #111));
  font-size: 1.05rem;
  line-height: 1;
}
.couture-feature-row--inline .fr-inline-title {
  font-weight: 600;
}
.couture-feature-row--inline .fr-inline-sep {
  color: color-mix(in oklab, var(--c-ink, #111) 25%, transparent);
  margin: 0 4px;
}

/* ---- Variant: NUMBERED ---- */
.couture-feature-row--numbered .fr-numbered-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 28px 36px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-feature-row--numbered .fr-numbered-item {
  text-align: left;
}
.couture-feature-row--numbered .fr-numbered-num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  color: var(--c-accent, var(--c-ink, #111));
  display: block;
  margin-bottom: 12px;
}
.couture-feature-row--numbered .fr-numbered-item h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-feature-row--numbered .fr-numbered-item p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}

/* ---- Variant: TINTED-BAND ---- */
.couture-feature-row--tinted {
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff)) !important;
  padding-top: clamp(36px, 4vw, 56px) !important;
  padding-bottom: clamp(36px, 4vw, 56px) !important;
}
.couture-feature-row--tinted .fr-tinted {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: flex-start;
  gap: 24px 32px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-feature-row--tinted .fr-tinted-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1 1 200px;
  max-width: 280px;
}
.couture-feature-row--tinted .fr-tinted-icon {
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  color: var(--c-accent, var(--c-ink, #111));
  line-height: 1;
  margin-bottom: 10px;
}
.couture-feature-row--tinted .fr-tinted-title {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: 1rem;
  color: var(--c-ink, #111);
  margin-bottom: 4px;
}
.couture-feature-row--tinted .fr-tinted-desc {
  font-size: 0.88rem;
  line-height: 1.45;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}


/* V6.388 — WS1 two_column_cta layout variants. Original
   .couture-two-col-cta 2-col card grid stays. Three new hashed variants.

     vs       — explicit divider between sides (billboard)
     stacked  — single-col rows with eyebrow LEFT content+CTA RIGHT (editorial)
     alttint  — alternating paper / ink-tinted cards (visual contrast)
*/

/* ---- Variant: VS ---- */
.couture-two-col-cta--vs .tc-vs {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: stretch;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-two-col-cta--vs .tc-vs-divider {
  width: 1px;
  background: color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-two-col-cta--vs .tc-vs-side {
  padding: 36px 28px;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.couture-two-col-cta--vs .tc-vs-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 12px;
}
.couture-two-col-cta--vs .tc-vs-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  line-height: 1.18;
  margin: 0 0 12px;
}
.couture-two-col-cta--vs .tc-vs-sub {
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 22px;
  flex: 1;
}
.couture-two-col-cta--vs .tc-vs-btn {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  color: var(--c-ink, #111);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.couture-two-col-cta--vs .tc-vs-btn:hover {
  text-decoration-thickness: 2px;
}
@media (max-width: 720px) {
  .couture-two-col-cta--vs .tc-vs { grid-template-columns: 1fr; }
  .couture-two-col-cta--vs .tc-vs-divider {
    width: 100%; height: 1px;
  }
}

/* ---- Variant: STACKED ---- */
.couture-two-col-cta--stacked .tc-stacked {
  max-width: 880px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.couture-two-col-cta--stacked .tc-stacked-row {
  display: grid;
  grid-template-columns: minmax(140px, 22%) 1fr;
  gap: 32px;
  padding: 28px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  align-items: start;
}
.couture-two-col-cta--stacked .tc-stacked-row:last-child {
  border-bottom: 0;
}
.couture-two-col-cta--stacked .tc-stacked-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  padding-top: 6px;
}
.couture-two-col-cta--stacked .tc-stacked-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.2;
  margin: 0 0 10px;
}
.couture-two-col-cta--stacked .tc-stacked-sub {
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 16px;
}
.couture-two-col-cta--stacked .tc-stacked-btn {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  color: var(--c-ink, #111);
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 720px) {
  .couture-two-col-cta--stacked .tc-stacked-row { grid-template-columns: 1fr; gap: 8px; }
}

/* ---- Variant: ALT-TINT ---- */
.couture-two-col-cta--alttint .tc-alttint {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-two-col-cta--alttint .tc-alttint-card {
  padding: clamp(36px, 4vw, 56px) clamp(28px, 3vw, 40px);
  display: flex;
  flex-direction: column;
}
.couture-two-col-cta--alttint .tc-alttint-card--paper {
  background: var(--c-paper, #fff);
  color: var(--c-ink, #111);
}
.couture-two-col-cta--alttint .tc-alttint-card--ink {
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
}
.couture-two-col-cta--alttint .tc-alttint-card--ink .tc-alttint-sub,
.couture-two-col-cta--alttint .tc-alttint-card--ink .tc-alttint-eyebrow {
  color: color-mix(in oklab, var(--c-paper, #fff) 80%, transparent);
}
.couture-two-col-cta--alttint .tc-alttint-card--ink .tc-alttint-btn {
  color: var(--c-paper, #fff);
}
.couture-two-col-cta--alttint .tc-alttint-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 12px;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
.couture-two-col-cta--alttint .tc-alttint-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  line-height: 1.18;
  margin: 0 0 14px;
}
.couture-two-col-cta--alttint .tc-alttint-sub {
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0 0 22px;
  flex: 1;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
.couture-two-col-cta--alttint .tc-alttint-btn {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  color: var(--c-ink, #111);
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 720px) {
  .couture-two-col-cta--alttint .tc-alttint { grid-template-columns: 1fr; }
}


/* V6.388 — WS1 step_card_grid layout variants. Original
   .couture-step-grid numbered card row stays. Three new hashed variants.

     arrow   — horizontal connected steps with → arrows (linear-process)
     rail    — vertical left-rail with circular numbered nodes (process)
     blocks  — alternating tinted full-width blocks with huge bg numerals
*/

/* ---- Variant: ARROW-FLOW ---- */
.couture-step-grid--arrow .sg-arrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 16px;
  margin-top: 28px;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
.couture-step-grid--arrow .sg-arrow-cell {
  flex: 1 1 220px;
  max-width: 320px;
  text-align: left;
  padding: 18px 18px;
}
.couture-step-grid--arrow .sg-arrow-num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 10px;
}
.couture-step-grid--arrow .sg-arrow-cell h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.05rem;
  margin: 0 0 6px;
}
.couture-step-grid--arrow .sg-arrow-cell p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}
.couture-step-grid--arrow .sg-arrow-sep {
  align-self: center;
  font-size: clamp(1.5rem, 2vw, 1.85rem);
  color: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
  padding: 0 4px;
}
@media (max-width: 720px) {
  .couture-step-grid--arrow .sg-arrow-sep { transform: rotate(90deg); }
}

/* ---- Variant: VERTICAL-RAIL ---- */
.couture-step-grid--rail .sg-rail {
  list-style: none;
  margin: 28px auto 0;
  max-width: 760px;
  padding: 0;
  position: relative;
}
.couture-step-grid--rail .sg-rail::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 19px;
  width: 1px;
  background: color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-step-grid--rail .sg-rail-item {
  position: relative;
  padding: 0 0 28px 60px;
}
.couture-step-grid--rail .sg-rail-item:last-child {
  padding-bottom: 0;
}
.couture-step-grid--rail .sg-rail-node {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-paper, #fff);
  border: 1.5px solid var(--c-ink, #111);
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  color: var(--c-ink, #111);
}
.couture-step-grid--rail .sg-rail-body h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.15rem;
  margin: 8px 0 6px;
}
.couture-step-grid--rail .sg-rail-body p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}

/* ---- Variant: TINTED-BLOCKS ---- */
.couture-step-grid--blocks .sg-blocks {
  margin: 28px auto 0;
  max-width: 1180px;
}
.couture-step-grid--blocks .sg-blocks-row {
  display: grid;
  grid-template-columns: minmax(120px, 18%) 1fr;
  gap: 28px;
  align-items: center;
  padding: clamp(28px, 3vw, 44px) clamp(20px, 2.5vw, 32px);
  position: relative;
  overflow: hidden;
}
.couture-step-grid--blocks .sg-blocks-row--paper {
  background: var(--c-paper, #fff);
}
.couture-step-grid--blocks .sg-blocks-row--tint {
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
}
.couture-step-grid--blocks .sg-blocks-bignum {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(3.6rem, 7vw, 5.6rem);
  line-height: 0.9;
  color: color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
  letter-spacing: -0.04em;
}
.couture-step-grid--blocks .sg-blocks-content h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.2rem, 1.8vw, 1.45rem);
  margin: 0 0 8px;
}
.couture-step-grid--blocks .sg-blocks-content p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
@media (max-width: 720px) {
  .couture-step-grid--blocks .sg-blocks-row { grid-template-columns: 80px 1fr; gap: 16px; }
}


/* V6.388 — WS1 faq_two_col layout variants. Original
   .couture-faq-two-col 2-col card grid stays. Three new hashed variants.

     numbered — single-col ol with 01/02 mono accent prefix (editorial)
     def      — definition-list, Q LEFT-margin small-caps, A RIGHT body
     chip     — Q as inline pill chip, A below (compact 2-col)
*/

/* ---- Variant: NUMBERED-LIST ---- */
.couture-faq-two-col--numbered .fq2-numbered {
  list-style: none;
  margin: 28px auto 0;
  max-width: 760px;
  padding: 0;
}
.couture-faq-two-col--numbered .fq2-numbered-item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-faq-two-col--numbered .fq2-numbered-item:last-child { border-bottom: 0; }
.couture-faq-two-col--numbered .fq2-numbered-num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  color: var(--c-accent, var(--c-ink, #111));
  padding-top: 4px;
}
.couture-faq-two-col--numbered .fq2-numbered-q {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  margin: 0 0 8px;
  color: var(--c-ink, #111);
  line-height: 1.3;
}
.couture-faq-two-col--numbered .fq2-numbered-a {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}

/* ---- Variant: STACKED-DEF ---- */
.couture-faq-two-col--def .fq2-def {
  margin: 28px auto 0;
  max-width: 1100px;
  padding: 0;
}
.couture-faq-two-col--def .fq2-def-row {
  display: grid;
  grid-template-columns: minmax(180px, 32%) 1fr;
  gap: 32px;
  padding: 22px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  align-items: baseline;
}
.couture-faq-two-col--def .fq2-def-row:last-child { border-bottom: 0; }
.couture-faq-two-col--def .fq2-def-q {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  margin: 0;
}
.couture-faq-two-col--def .fq2-def-a {
  margin: 0;
  font-family: var(--c-display, inherit);
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  line-height: 1.5;
  color: var(--c-ink, #111);
}
@media (max-width: 720px) {
  .couture-faq-two-col--def .fq2-def-row { grid-template-columns: 1fr; gap: 6px; }
}

/* ---- Variant: COMPACT-CHIP ---- */
.couture-faq-two-col--chip .fq2-chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px 28px;
  margin: 28px auto 0;
  max-width: 1180px;
}
.couture-faq-two-col--chip .fq2-chip-item {
  text-align: left;
}
.couture-faq-two-col--chip .fq2-chip-q {
  display: inline-block;
  padding: 4px 12px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-ink, #111);
  background: color-mix(in oklab, var(--c-ink, #111) 6%, var(--c-paper, #fff));
  border-radius: 999px;
  margin-bottom: 10px;
}
.couture-faq-two-col--chip .fq2-chip-a {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 78%, transparent);
}


/* V6.388 — WS1 sticky_cta_bar layout variants. Original
   .couture-sticky-cta 2-col text+button bar stays. Three new hashed
   variants per domain.

     stacked  — single-col centered + tinted band (hero feel)
     ink      — full-width dark ink bg + outline CTA (heavy footer-call)
     aside    — left-rule accent stripe + minimal hairline-bar
*/

/* ---- Variant: STACKED-CENTER ---- */
.couture-sticky-cta--stacked {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 6%, var(--c-paper, #fff)) !important;
  padding-top: clamp(40px, 5vw, 64px) !important;
  padding-bottom: clamp(40px, 5vw, 64px) !important;
}
.couture-sticky-cta--stacked .scta-stacked {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.couture-sticky-cta--stacked .scta-stacked-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.14;
  margin: 0 0 12px;
  color: var(--c-ink, #111);
}
.couture-sticky-cta--stacked .scta-stacked-sub {
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 24px;
}
.couture-sticky-cta--stacked .scta-stacked-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.95rem;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  border-radius: 999px;
  text-decoration: none;
  transition: transform 0.15s;
}
.couture-sticky-cta--stacked .scta-stacked-btn:hover {
  transform: translateY(-1px);
}

/* ---- Variant: INK-BAND ---- */
.couture-sticky-cta--ink {
  background: var(--c-ink, #111) !important;
  color: var(--c-paper, #fff);
  padding-top: clamp(28px, 3.5vw, 44px) !important;
  padding-bottom: clamp(28px, 3.5vw, 44px) !important;
}
.couture-sticky-cta--ink .scta-ink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-sticky-cta--ink .scta-ink-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  line-height: 1.18;
  margin: 0 0 4px;
  color: var(--c-paper, #fff);
}
.couture-sticky-cta--ink .scta-ink-sub {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: color-mix(in oklab, var(--c-paper, #fff) 80%, transparent);
}
.couture-sticky-cta--ink .scta-ink-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.92rem;
  border: 1.5px solid var(--c-paper, #fff);
  color: var(--c-paper, #fff);
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.couture-sticky-cta--ink .scta-ink-btn:hover {
  background: var(--c-paper, #fff);
  color: var(--c-ink, #111);
}

/* ---- Variant: ASIDE-RULE ---- */
.couture-sticky-cta--aside {
  padding-top: clamp(20px, 2.4vw, 32px) !important;
  padding-bottom: clamp(20px, 2.4vw, 32px) !important;
  background: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff));
}
.couture-sticky-cta--aside .scta-aside {
  display: grid;
  grid-template-columns: 4px 1fr auto;
  gap: 24px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-sticky-cta--aside .scta-aside-rule {
  background: var(--c-accent, var(--c-ink, #111));
  align-self: stretch;
}
.couture-sticky-cta--aside .scta-aside-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.2;
  margin: 0 0 2px;
  color: var(--c-ink, #111);
}
.couture-sticky-cta--aside .scta-aside-sub {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}
.couture-sticky-cta--aside .scta-aside-btn {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--c-ink, #111);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  white-space: nowrap;
}
.couture-sticky-cta--aside .scta-aside-btn:hover {
  text-decoration-thickness: 2px;
}
@media (max-width: 720px) {
  .couture-sticky-cta--aside .scta-aside { grid-template-columns: 1fr; }
  .couture-sticky-cta--aside .scta-aside-rule { display: none; }
}


/* V6.388 — WS1 press_quote_bar layout variants. Original
   .couture-press-quote-bar horizontal cell row stays. Three new hashed
   variants per domain.

     sourcefirst — publication name BEFORE quote (magazine pull-out)
     rail        — vertical list with thick left accent rule (credit-rail)
     ticker      — horizontal marquee (press-tape feel)
*/

/* ---- Variant: SOURCE-FIRST ---- */
.couture-press-quote-bar--sourcefirst .pqb-sourcefirst-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 32px 40px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-press-quote-bar--sourcefirst .pqb-sourcefirst-cell {
  text-align: left;
  border-top: 2px solid var(--c-ink, #111);
  padding-top: 18px;
}
.couture-press-quote-bar--sourcefirst .pqb-sourcefirst-source {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 14px;
}
.couture-press-quote-bar--sourcefirst .pqb-sourcefirst-text {
  margin: 0;
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.4;
  color: var(--c-ink, #111);
}

/* ---- Variant: STACKED-RAIL ---- */
.couture-press-quote-bar--rail .pqb-rail {
  list-style: none;
  margin: 0 auto;
  max-width: 880px;
  padding: 0 0 0 28px;
  border-left: 4px solid var(--c-accent, var(--c-ink, #111));
}
.couture-press-quote-bar--rail .pqb-rail-item {
  padding: 22px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-press-quote-bar--rail .pqb-rail-item:last-child {
  border-bottom: 0;
}
.couture-press-quote-bar--rail .pqb-rail-text {
  margin: 0 0 8px;
  font-family: var(--c-display, inherit);
  font-size: clamp(1.1rem, 1.7vw, 1.4rem);
  line-height: 1.35;
  color: var(--c-ink, #111);
  font-style: italic;
}
.couture-press-quote-bar--rail .pqb-rail-source {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  font-style: normal;
}

/* ---- Variant: TICKER ---- */
.couture-press-quote-bar--ticker {
  background: var(--c-ink, #111) !important;
  color: var(--c-paper, #fff);
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  overflow: hidden;
}
.couture-press-quote-bar--ticker .pqb-ticker {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.couture-press-quote-bar--ticker .pqb-ticker-track {
  display: inline-flex;
  white-space: nowrap;
  animation: couture-pqb-marquee 36s linear infinite;
  width: max-content;
}
.couture-press-quote-bar--ticker .pqb-ticker-content {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding-right: 18px;
}
.couture-press-quote-bar--ticker .pqb-ticker-quote {
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: 1rem;
  color: color-mix(in oklab, var(--c-paper, #fff) 95%, transparent);
}
.couture-press-quote-bar--ticker .pqb-ticker-src {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper, #fff) 65%, transparent);
}
.couture-press-quote-bar--ticker .pqb-ticker-dot {
  color: color-mix(in oklab, var(--c-paper, #fff) 40%, transparent);
  margin: 0 8px;
}
@keyframes couture-pqb-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-press-quote-bar--ticker .pqb-ticker-track { animation: none; }
}


/* V6.388 — WS1 inline_video_card layout variants. Original
   .couture-iv headline-above-centered-card stays. Three new hashed
   variants per domain.

     split   — video LEFT, meta RIGHT (2-col magazine feature)
     frame   — thick ink border + corner "Watch" tag
     tinted  — full-width tinted band + meta below (editorial)
*/

/* ---- Variant: SPLIT ---- */
.couture-iv--split .iv-split {
  display: grid;
  grid-template-columns: minmax(320px, 60%) 1fr;
  gap: 40px;
  max-width: 1180px;
  margin: 0 auto;
  align-items: center;
}
.couture-iv--split .iv-split-video {
  position: relative;
  aspect-ratio: 16 / 9;
}
.couture-iv--split .iv-split-video .iv-frame,
.couture-iv--split .iv-split-video iframe,
.couture-iv--split .iv-split-video video {
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
}
.couture-iv--split .iv-split-meta .num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
.couture-iv--split .iv-split-meta h2 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  line-height: 1.14;
  margin: 8px 0 14px;
  color: var(--c-ink, #111);
}
.couture-iv--split .iv-split-sub {
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 12px;
}
.couture-iv--split .iv-split-caption {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin: 0;
}
@media (max-width: 720px) {
  .couture-iv--split .iv-split { grid-template-columns: 1fr; gap: 22px; }
}

/* ---- Variant: BORDER-FRAME ---- */
.couture-iv--frame .iv-frame-card {
  position: relative;
  max-width: 980px;
  margin: 28px auto 0;
  padding: clamp(14px, 1.5vw, 20px);
  border: 3px solid var(--c-ink, #111);
}
.couture-iv--frame .iv-frame-tag {
  position: absolute;
  top: -14px;
  left: 28px;
  background: var(--c-paper, #fff);
  padding: 3px 12px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  font-weight: 700;
}
.couture-iv--frame .iv-frame-inner {
  position: relative;
  aspect-ratio: 16 / 9;
}
.couture-iv--frame .iv-frame-inner iframe,
.couture-iv--frame .iv-frame-inner video {
  width: 100% !important;
  height: 100% !important;
  display: block;
  border: 0;
}
.couture-iv--frame .iv-frame-caption {
  text-align: center;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin: 14px 0 0;
}

/* ---- Variant: TINTED-BAND ---- */
.couture-iv--tinted {
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff)) !important;
  padding-top: clamp(40px, 5vw, 64px) !important;
  padding-bottom: clamp(40px, 5vw, 64px) !important;
}
.couture-iv--tinted .iv-tinted {
  max-width: 980px;
  margin: 0 auto;
}
.couture-iv--tinted .iv-tinted-video {
  position: relative;
  aspect-ratio: 16 / 9;
  margin-bottom: 24px;
}
.couture-iv--tinted .iv-tinted-video iframe,
.couture-iv--tinted .iv-tinted-video video {
  width: 100% !important;
  height: 100% !important;
  display: block;
  border: 0;
}
.couture-iv--tinted .iv-tinted-meta {
  text-align: center;
}
.couture-iv--tinted .iv-tinted-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 10px;
}
.couture-iv--tinted .iv-tinted-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  margin: 0 0 12px;
  color: var(--c-ink, #111);
}
.couture-iv--tinted .iv-tinted-caption {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}


/* V6.388 — WS1 recipe_card layout variants. Original .couture-recipe
   2-col card stays. Three new hashed variants per domain.

     stacked    — single column, meta band on top, ingredients then method
     card       — bordered rounded recipe-card with chip meta
     newspaper  — centered serif headline above 1px ink rule, 2-col below
*/

/* ---- Variant: STACKED ---- */
.couture-recipe--stacked .rc-stacked {
  max-width: 760px;
  margin: 0 auto;
}
.couture-recipe--stacked .rc-stacked-meta {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  padding: 18px 20px;
  margin-bottom: 28px;
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
}
.couture-recipe--stacked .rc-stacked-meta-item {
  display: flex;
  flex-direction: column;
}
.couture-recipe--stacked .rc-stacked-meta-item .rc-meta-k {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}
.couture-recipe--stacked .rc-stacked-meta-item .rc-meta-v {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--c-ink, #111);
}
.couture-recipe--stacked .rc-stacked-block {
  margin-bottom: 32px;
}
.couture-recipe--stacked .rc-stacked-block:last-child { margin-bottom: 0; }
.couture-recipe--stacked .rc-col-h {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  margin: 0 0 14px;
}
.couture-recipe--stacked .rc-stacked-ingredients {
  list-style: none;
  margin: 0;
  padding: 0;
}
.couture-recipe--stacked .rc-stacked-ingredients li {
  display: grid;
  grid-template-columns: minmax(80px, 22%) 1fr;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-recipe--stacked .rc-stacked-ingredients li:last-child { border-bottom: 0; }
.couture-recipe--stacked .rc-stacked-method {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: rcstep;
}
.couture-recipe--stacked .rc-stacked-method li {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-recipe--stacked .rc-stacked-method li:last-child { border-bottom: 0; }
.couture-recipe--stacked .rc-step-no {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.85rem;
  letter-spacing: 0.16em;
  color: var(--c-accent, var(--c-ink, #111));
}

/* ---- Variant: INDEX-CARD ---- */
.couture-recipe--card .rc-card-style {
  position: relative;
  max-width: 880px;
  margin: 28px auto 0;
  padding: clamp(28px, 3.5vw, 44px);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
  border-radius: 12px;
  background: var(--c-paper, #fff);
  box-shadow: 0 6px 18px -10px color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
}
.couture-recipe--card .rc-card-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  position: absolute;
  top: 20px;
  right: 20px;
}
.couture-recipe--card .rc-card-chip {
  display: inline-block;
  padding: 4px 10px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
  border-radius: 999px;
}

/* ---- Variant: NEWSPAPER ---- */
.couture-recipe--newspaper .rc-newspaper-head {
  text-align: center;
  max-width: 880px;
  margin: 0 auto 28px;
}
.couture-recipe--newspaper .rc-newspaper-h {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.05;
  letter-spacing: -0.018em;
  margin: 0 0 12px;
  color: var(--c-ink, #111);
}
.couture-recipe--newspaper .rc-newspaper-sub {
  margin: 0 0 18px;
  font-size: 1rem;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
.couture-recipe--newspaper .rc-newspaper-rule {
  height: 1px;
  background: var(--c-ink, #111);
  margin: 0 0 14px;
}
.couture-recipe--newspaper .rc-newspaper-meta {
  display: flex;
  gap: 12px;
  justify-content: center;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
.couture-recipe--newspaper .rc-newspaper-meta strong {
  color: var(--c-ink, #111);
  font-weight: 700;
  margin-right: 4px;
}
.couture-recipe--newspaper .rc-newspaper-sep {
  color: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
}
.couture-recipe--newspaper .rc-newspaper-grid {
  display: grid;
  grid-template-columns: 1fr 1px 1.4fr;
  gap: 32px;
  max-width: 980px;
  margin: 0 auto;
  background: linear-gradient(to right, transparent calc(38% + 16px), color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent) calc(38% + 16px) calc(38% + 17px), transparent calc(38% + 17px));
}
.couture-recipe--newspaper .rc-newspaper-col {
  background: var(--c-paper, #fff);
  padding: 0 16px;
}
@media (max-width: 720px) {
  .couture-recipe--newspaper .rc-newspaper-grid {
    grid-template-columns: 1fr;
    background: none;
  }
}


/* V6.388 — WS1 faq_hero_split layout variants. Original
   .couture-faq-hero-split 2-col stays. Three new hashed variants.

     reversed — list LEFT, headline RIGHT (visual flip)
     stacked  — single-col centered headline + 2-col FAQ grid (magazine)
     rail     — left rail FAQ tag + numbered list (editorial)
*/

/* ---- Variant: REVERSED ---- */
.couture-faq-hero-split--reversed .fhs-reversed {
  /* Inherits .faq-hero-split-grid base styling but flips order — */
  /* parent grid is presumed 1fr / 1fr or similar; we just reverse */
  /* via grid-auto-flow on small screens via media query below.    */
}
@media (min-width: 721px) {
  .couture-faq-hero-split--reversed .fhs-reversed > .faq-hero-split-left {
    order: 2;
  }
  .couture-faq-hero-split--reversed .fhs-reversed > .faq-hero-split-right {
    order: 1;
  }
}

/* ---- Variant: STACKED-CENTER ---- */
.couture-faq-hero-split--stacked .fhs-stacked-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 36px;
}
.couture-faq-hero-split--stacked .fhs-stacked-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  line-height: 1.12;
  margin: 0 0 14px;
  color: var(--c-ink, #111);
}
.couture-faq-hero-split--stacked .fhs-stacked-sub {
  font-size: 1.05rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0;
}
.couture-faq-hero-split--stacked .fhs-stacked-grid {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px 36px;
  max-width: 1180px;
}
.couture-faq-hero-split--stacked .fhs-stacked-q {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.05rem;
  margin: 0 0 8px;
  color: var(--c-ink, #111);
}
.couture-faq-hero-split--stacked .fhs-stacked-a {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}

/* ---- Variant: NUMBERED-RAIL ---- */
.couture-faq-hero-split--rail .fhs-rail {
  display: grid;
  grid-template-columns: minmax(200px, 30%) 1fr;
  gap: 56px;
  max-width: 1180px;
  margin: 0 auto;
  align-items: start;
}
.couture-faq-hero-split--rail .fhs-rail-aside {
  position: sticky;
  top: 32px;
}
.couture-faq-hero-split--rail .fhs-rail-tag {
  display: inline-block;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--c-paper, #fff);
  background: var(--c-ink, #111);
  padding: 4px 12px;
  margin-bottom: 18px;
}
.couture-faq-hero-split--rail .fhs-rail-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  line-height: 1.14;
  margin: 0 0 12px;
  color: var(--c-ink, #111);
}
.couture-faq-hero-split--rail .fhs-rail-sub {
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0;
}
.couture-faq-hero-split--rail .fhs-rail-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.couture-faq-hero-split--rail .fhs-rail-item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-faq-hero-split--rail .fhs-rail-item:last-child { border-bottom: 0; }
.couture-faq-hero-split--rail .fhs-rail-num {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  color: var(--c-accent, var(--c-ink, #111));
  padding-top: 4px;
}
.couture-faq-hero-split--rail .fhs-rail-q {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.1rem;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-faq-hero-split--rail .fhs-rail-a {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
@media (max-width: 720px) {
  .couture-faq-hero-split--rail .fhs-rail { grid-template-columns: 1fr; gap: 28px; }
  .couture-faq-hero-split--rail .fhs-rail-aside { position: static; }
}


/* V6.388 — WS1 testimonial_video_card layout variants. Original
   .couture-testimonial-video 2-col thumb+body card stays. Three new
   hashed variants per domain.

     reversed — body LEFT, thumb RIGHT (visual flip)
     stacked  — thumb 16:9 on top, quote+attr centered below (hero-video)
     overlay  — quote overlaid on dark gradient at bottom of thumb (cinematic)
*/

/* Shared thumb styling for new variants */
.couture-testimonial-video--reversed .tvc-reversed-thumb,
.couture-testimonial-video--stacked .tvc-stacked-thumb,
.couture-testimonial-video--overlay .tvc-overlay-thumb {
  position: relative;
  background: color-mix(in oklab, var(--c-ink, #111) 12%, var(--c-paper, #fff));
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---- Variant: REVERSED ---- */
.couture-testimonial-video--reversed .tvc-reversed {
  display: grid;
  grid-template-columns: 1fr minmax(280px, 42%);
  gap: 36px;
  max-width: 1100px;
  margin: 0 auto;
  align-items: center;
}
.couture-testimonial-video--reversed .tvc-reversed-thumb {
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
}
.couture-testimonial-video--reversed .tvc-reversed-play {
  font-size: clamp(2rem, 3vw, 2.6rem);
  color: var(--c-paper, #fff);
  background: var(--c-ink, #111);
  width: 64px; height: 64px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  padding-left: 4px;
}
.couture-testimonial-video--reversed .tvc-reversed-quote {
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  line-height: 1.4;
  margin: 0 0 16px;
  color: var(--c-ink, #111);
}
.couture-testimonial-video--reversed .tvc-reversed-attr {
  display: flex;
  flex-direction: column;
}
.couture-testimonial-video--reversed .tvc-reversed-author {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1rem;
  color: var(--c-ink, #111);
}
.couture-testimonial-video--reversed .tvc-reversed-role {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin-top: 4px;
}
@media (max-width: 720px) {
  .couture-testimonial-video--reversed .tvc-reversed { grid-template-columns: 1fr; }
}

/* ---- Variant: STACKED ---- */
.couture-testimonial-video--stacked .tvc-stacked {
  max-width: 880px;
  margin: 0 auto;
}
.couture-testimonial-video--stacked .tvc-stacked-thumb {
  aspect-ratio: 16 / 9;
  width: 100%;
  margin-bottom: 28px;
  border-radius: 6px;
  overflow: hidden;
}
.couture-testimonial-video--stacked .tvc-stacked-play {
  font-size: clamp(2.5rem, 4vw, 3.4rem);
  color: var(--c-paper, #fff);
  background: var(--c-ink, #111);
  width: 80px; height: 80px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  padding-left: 6px;
}
.couture-testimonial-video--stacked .tvc-stacked-quote {
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: clamp(1.3rem, 2.2vw, 1.7rem);
  line-height: 1.35;
  text-align: center;
  margin: 0 0 18px;
  color: var(--c-ink, #111);
}
.couture-testimonial-video--stacked .tvc-stacked-attr {
  text-align: center;
}
.couture-testimonial-video--stacked .tvc-stacked-author {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1rem;
  color: var(--c-ink, #111);
  display: block;
}
.couture-testimonial-video--stacked .tvc-stacked-role {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin-top: 4px;
  display: block;
}

/* ---- Variant: OVERLAY ---- */
.couture-testimonial-video--overlay .tvc-overlay {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  border-radius: 8px;
  overflow: hidden;
  isolation: isolate;
}
.couture-testimonial-video--overlay .tvc-overlay-thumb {
  aspect-ratio: 16 / 9;
  width: 100%;
}
.couture-testimonial-video--overlay .tvc-overlay-play {
  font-size: clamp(2.4rem, 3.6vw, 3.2rem);
  color: var(--c-paper, #fff);
  background: var(--c-ink, #111);
  width: 80px; height: 80px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  padding-left: 6px;
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 2;
}
.couture-testimonial-video--overlay .tvc-overlay-content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: clamp(28px, 4vw, 48px);
  background: linear-gradient(to top, color-mix(in oklab, var(--c-ink, #111) 90%, transparent), transparent);
  color: var(--c-paper, #fff);
}
.couture-testimonial-video--overlay .tvc-overlay-quote {
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.4;
  margin: 0 0 12px;
  color: var(--c-paper, #fff);
}
.couture-testimonial-video--overlay .tvc-overlay-attr {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.couture-testimonial-video--overlay .tvc-overlay-author {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--c-paper, #fff);
}
.couture-testimonial-video--overlay .tvc-overlay-role {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper, #fff) 70%, transparent);
}


/* V6.388 — WS1 case_study_card layout variants. Original .couture-cs
   single-card layout stays. Three new hashed variants per domain.

     split    — quote LEFT (60%), metrics+cite+cta sidebar RIGHT (mag spread)
     metrics  — big-display metrics row on top + quote + foot (Stripe-style)
     accent   — left accent stripe + tag overlapping top-left (editorial)
*/

/* ---- Variant: SPLIT ---- */
.couture-cs--split .cs-split {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 48px;
  max-width: 1180px;
  margin: 0 auto;
  align-items: start;
}
.couture-cs--split .cs-split-quote {
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  line-height: 1.4;
  color: var(--c-ink, #111);
  margin: 12px 0 16px;
}
.couture-cs--split .cs-split-aside {
  padding-top: 28px;
  border-top: 2px solid var(--c-ink, #111);
}
.couture-cs--split .cs-split-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-bottom: 22px;
}
.couture-cs--split .cs-split-metrics .cs-metric {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  padding-bottom: 14px;
}
.couture-cs--split .cs-split-metrics .cs-metric:last-child { border-bottom: 0; }
.couture-cs--split .cs-split-metrics .cs-metric strong {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  color: var(--c-ink, #111);
  line-height: 1;
}
.couture-cs--split .cs-split-metrics .cs-metric span {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin-top: 4px;
}
@media (max-width: 720px) {
  .couture-cs--split .cs-split { grid-template-columns: 1fr; gap: 24px; }
}

/* ---- Variant: METRICS-FIRST ---- */
.couture-cs--metrics .cs-metrics-card {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(32px, 4vw, 48px);
  background: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff));
  border-radius: 6px;
}
.couture-cs--metrics .cs-eyebrow {
  margin-bottom: 18px;
}
.couture-cs--metrics .cs-metrics-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 24px 32px;
  padding: 22px 0;
  margin: 0 0 26px;
  border-top: 1px solid color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
}
.couture-cs--metrics .cs-metrics-band .cs-metric strong {
  display: block;
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  line-height: 1;
  color: var(--c-ink, #111);
  margin-bottom: 6px;
}
.couture-cs--metrics .cs-metrics-band .cs-metric span {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}
.couture-cs--metrics .cs-metrics-quote {
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.4;
  color: var(--c-ink, #111);
  margin: 0 0 22px;
}
.couture-cs--metrics .cs-metrics-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

/* ---- Variant: ACCENT-BAND ---- */
.couture-cs--accent .cs-accent {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(36px, 4vw, 56px);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
  border-left: 4px solid var(--c-accent, var(--c-ink, #111));
  background: var(--c-paper, #fff);
}
.couture-cs--accent .cs-accent-tag {
  position: absolute;
  top: -14px;
  left: 32px;
  background: var(--c-paper, #fff);
  padding: 4px 12px;
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  font-weight: 700;
}
.couture-cs--accent .cs-accent-quote {
  font-family: var(--c-display, inherit);
  font-style: italic;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.42;
  color: var(--c-ink, #111);
  margin: 0 0 16px;
}
.couture-cs--accent .cs-accent-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 18px;
  margin: 18px 0 22px;
  padding: 18px 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-cs--accent .cs-accent-metrics .cs-metric strong {
  display: block;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  color: var(--c-ink, #111);
  line-height: 1;
}
.couture-cs--accent .cs-accent-metrics .cs-metric span {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}


/* V6.388 — WS1 integration_grid layout variants. Original
   .couture-ig 4-up icon-text grid stays. Three new hashed variants.

     pills  — single horizontal row of pill chips (compact stack)
     tiles  — bordered square tile board (centered glyph + name)
     list   — vertical 2-col tabular list with icon + name + accent dot
*/

/* ---- Variant: ROW-PILLS ---- */
.couture-ig--pills .ig-pills {
  list-style: none;
  margin: 28px auto 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  justify-content: center;
  max-width: 1180px;
}
.couture-ig--pills .ig-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
  border-radius: 999px;
}
.couture-ig--pills .ig-pill-icon {
  font-size: 0.95rem;
  color: var(--c-accent, var(--c-ink, #111));
  line-height: 1;
}
.couture-ig--pills .ig-pill-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--c-ink, #111);
  white-space: nowrap;
}

/* ---- Variant: BORDERED-GRID (tiles) ---- */
.couture-ig--tiles .ig-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 14px;
  max-width: 1180px;
  margin: 28px auto 0;
}
.couture-ig--tiles .ig-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  aspect-ratio: 1 / 1;
  padding: 18px 14px;
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  text-align: center;
  background: var(--c-paper, #fff);
  transition: border-color 0.15s, transform 0.15s;
}
.couture-ig--tiles .ig-tile:hover {
  border-color: color-mix(in oklab, var(--c-ink, #111) 40%, transparent);
  transform: translateY(-2px);
}
.couture-ig--tiles .ig-tile-icon {
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  color: var(--c-accent, var(--c-ink, #111));
  line-height: 1;
}
.couture-ig--tiles .ig-tile-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--c-ink, #111);
  line-height: 1.2;
}

/* ---- Variant: STRIPED-LIST ---- */
.couture-ig--list .ig-list {
  list-style: none;
  margin: 28px auto 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 32px;
  max-width: 980px;
}
.couture-ig--list .ig-list-row {
  display: grid;
  grid-template-columns: 28px 1fr 8px;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-ig--list .ig-list-icon {
  font-size: 1rem;
  color: var(--c-accent, var(--c-ink, #111));
  line-height: 1;
  text-align: center;
}
.couture-ig--list .ig-list-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--c-ink, #111);
}
.couture-ig--list .ig-list-dot {
  width: 6px; height: 6px;
  background: var(--c-accent, var(--c-ink, #111));
  border-radius: 50%;
  display: inline-block;
}
@media (max-width: 720px) {
  .couture-ig--list .ig-list { grid-template-columns: 1fr; }
}


/* V6.388 — WS1 pricing_compare_table layout variants. Original
   .couture-pricing-compare classic table stays. Three new hashed
   variants per domain.

     highlight — middle tier styled as recommended (accent bg + ribbon)
     cards     — vertical card-per-tier with feature list (decision-focus)
     stack     — single feature row with all tier values inline (compact)
*/

/* ---- Variant: HIGHLIGHTED ---- */
.couture-pricing-compare--highlight .pct-highlight-tier {
  position: relative;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 8%, var(--c-paper, #fff));
}
.couture-pricing-compare--highlight .pct-highlight-cell {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 4%, var(--c-paper, #fff));
}
.couture-pricing-compare--highlight .pct-highlight-ribbon {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 3px 10px;
  white-space: nowrap;
}

/* ---- Variant: CARDS ---- */
.couture-pricing-compare--cards .pct-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  max-width: 1180px;
  margin: 28px auto 0;
}
.couture-pricing-compare--cards .pct-card {
  display: flex;
  flex-direction: column;
  padding: 28px 24px;
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 70%, transparent);
  background: var(--c-paper, #fff);
  border-radius: 8px;
}
.couture-pricing-compare--cards .pct-card-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--c-ink, #111);
  margin-bottom: 6px;
}
.couture-pricing-compare--cards .pct-card-price {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  color: var(--c-ink, #111);
  line-height: 1;
  margin-bottom: 22px;
}
.couture-pricing-compare--cards .pct-card-features {
  list-style: none;
  margin: 0;
  padding: 18px 0 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-pricing-compare--cards .pct-card-feature {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: start;
  font-size: 0.92rem;
  line-height: 1.45;
}
.couture-pricing-compare--cards .pct-card-mark {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-weight: 700;
  color: var(--c-accent, var(--c-ink, #111));
  text-align: center;
}
.couture-pricing-compare--cards .pct-card-feature--miss .pct-card-mark {
  color: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
}
.couture-pricing-compare--cards .pct-card-feature--miss .pct-card-label {
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}

/* ---- Variant: STACKED-FEATURES ---- */
.couture-pricing-compare--stack .pct-stack-tiers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 14px;
  margin: 28px auto;
  max-width: 880px;
  padding: 18px 22px;
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
}
.couture-pricing-compare--stack .pct-stack-tier {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.couture-pricing-compare--stack .pct-stack-tier-name {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}
.couture-pricing-compare--stack .pct-stack-tier-price {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--c-ink, #111);
}
.couture-pricing-compare--stack .pct-stack-features {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 880px;
}
.couture-pricing-compare--stack .pct-stack-row {
  padding: 18px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-pricing-compare--stack .pct-stack-row:last-child { border-bottom: 0; }
.couture-pricing-compare--stack .pct-stack-feature {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1rem;
  margin: 0 0 10px;
  color: var(--c-ink, #111);
}
.couture-pricing-compare--stack .pct-stack-cells {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px 16px;
}
.couture-pricing-compare--stack .pct-stack-cell {
  display: flex;
  flex-direction: column;
}
.couture-pricing-compare--stack .pct-stack-tier-tag {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
.couture-pricing-compare--stack .pct-stack-val {
  font-family: var(--c-display, inherit);
  font-size: 0.95rem;
  color: var(--c-ink, #111);
  font-weight: 600;
}


/* V6.388 — WS1 about_team_grid layout variants. Original
   .couture-team-grid card grid stays. Three new hashed variants.

     rows       — vertical rows: circular portrait LEFT, body RIGHT, hairlines
     portraits  — large square portraits in tight grid, name+role caption
     ledger     — alternating paper/tint cards with avatar+name head + bio
*/

/* ---- Variant: ROWS ---- */
.couture-team-grid--rows .atg-rows {
  list-style: none;
  margin: 28px auto 0;
  padding: 0;
  max-width: 880px;
}
.couture-team-grid--rows .atg-rows-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 22px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-team-grid--rows .atg-rows-item:last-child { border-bottom: 0; }
.couture-team-grid--rows .atg-rows-portrait {
  width: 80px; height: 80px;
  border-radius: 50%;
  object-fit: cover;
  background: color-mix(in oklab, var(--c-ink, #111) 8%, var(--c-paper, #fff));
}
.couture-team-grid--rows .atg-rows-portrait--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.8rem;
  color: var(--c-accent, var(--c-ink, #111));
}
.couture-team-grid--rows .atg-rows-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.15rem;
  margin: 0 0 4px;
  color: var(--c-ink, #111);
}
.couture-team-grid--rows .atg-rows-role {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin-bottom: 10px;
}
.couture-team-grid--rows .atg-rows-bio {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}

/* ---- Variant: PORTRAIT-FIRST ---- */
.couture-team-grid--portraits .atg-portraits {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px 18px;
  max-width: 1180px;
  margin: 28px auto 0;
}
.couture-team-grid--portraits .atg-portraits-cell {
  margin: 0;
  text-align: left;
}
.couture-team-grid--portraits .atg-portraits-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: color-mix(in oklab, var(--c-ink, #111) 8%, var(--c-paper, #fff));
  display: block;
  margin-bottom: 12px;
}
.couture-team-grid--portraits .atg-portraits-img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(2.2rem, 4vw, 3rem);
  color: var(--c-accent, var(--c-ink, #111));
}
.couture-team-grid--portraits .atg-portraits-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.couture-team-grid--portraits .atg-portraits-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1rem;
  color: var(--c-ink, #111);
}
.couture-team-grid--portraits .atg-portraits-role {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

/* ---- Variant: BIO-LEDGER ---- */
.couture-team-grid--ledger .atg-ledger {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0;
  max-width: 1180px;
  margin: 28px auto 0;
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-team-grid--ledger .atg-ledger-cell {
  padding: 24px 22px;
  border-right: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-team-grid--ledger .atg-ledger-cell--paper { background: var(--c-paper, #fff); }
.couture-team-grid--ledger .atg-ledger-cell--tint  { background: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff)); }
.couture-team-grid--ledger .atg-ledger-head {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
}
.couture-team-grid--ledger .atg-ledger-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  object-fit: cover;
  background: color-mix(in oklab, var(--c-ink, #111) 8%, var(--c-paper, #fff));
}
.couture-team-grid--ledger .atg-ledger-avatar--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--c-accent, var(--c-ink, #111));
}
.couture-team-grid--ledger .atg-ledger-name {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1rem;
  margin: 0 0 2px;
  color: var(--c-ink, #111);
}
.couture-team-grid--ledger .atg-ledger-role {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}
.couture-team-grid--ledger .atg-ledger-bio {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}


/* V6.388 — WS1 icon_callout_grid layout variants. Original
   .couture-icon-callout 6-up centered grid stays. Three new hashed
   variants per domain.

     boxed   — bordered cards w/ accent-tint glyph badge top-left
     inline  — horizontal pill-list of icon+title (reassurance band)
     list    — vertical 2-col rows: glyph LEFT, title+body RIGHT (checklist)
*/

/* ---- Variant: BOXED ---- */
.couture-icon-callout--boxed .ic-boxed {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  max-width: 1180px;
  margin: 28px auto 0;
}
.couture-icon-callout--boxed .ic-boxed-cell {
  position: relative;
  padding: 28px 24px 24px;
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 70%, transparent);
  background: var(--c-paper, #fff);
  text-align: left;
}
.couture-icon-callout--boxed .ic-boxed-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 14%, var(--c-paper, #fff));
  color: var(--c-accent, var(--c-ink, #111));
  font-size: 1rem;
  margin-bottom: 14px;
}
.couture-icon-callout--boxed .ic-boxed-cell h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1.05rem;
  margin: 0 0 6px;
  color: var(--c-ink, #111);
}
.couture-icon-callout--boxed .ic-boxed-cell p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}

/* ---- Variant: INLINE-ROW ---- */
.couture-icon-callout--inline .ic-inline {
  list-style: none;
  margin: 28px auto 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 18px;
  max-width: 1180px;
}
.couture-icon-callout--inline .ic-inline-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
  border-radius: 999px;
}
.couture-icon-callout--inline .ic-inline-glyph {
  color: var(--c-accent, var(--c-ink, #111));
  font-size: 1rem;
  line-height: 1;
}
.couture-icon-callout--inline .ic-inline-title {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--c-ink, #111);
  white-space: nowrap;
}

/* ---- Variant: SPLIT-LIST ---- */
.couture-icon-callout--list .ic-list {
  list-style: none;
  margin: 28px auto 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px 36px;
  max-width: 1180px;
}
.couture-icon-callout--list .ic-list-row {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-icon-callout--list .ic-list-glyph {
  font-size: 1.4rem;
  color: var(--c-accent, var(--c-ink, #111));
  line-height: 1;
  padding-top: 2px;
}
.couture-icon-callout--list .ic-list-title {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: 1rem;
  margin: 0 0 4px;
  color: var(--c-ink, #111);
}
.couture-icon-callout--list .ic-list-desc {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
}
@media (max-width: 720px) {
  .couture-icon-callout--list .ic-list { grid-template-columns: 1fr; }
}


/* V6.388 — WS1 feature_split_alternating layout variants. Original
   .couture-feature-split 2-col alternating rows stays. Three new hashed
   variants per domain.

     column   — all-left text columns + small accent glyph badge (editorial)
     numbered — 01/02/03 mono accent prefix on left + body right (manifesto)
     bands    — alternating paper/tint full-width rows + 2-col body
*/

/* ---- Variant: COLUMN (all-left) ---- */
.couture-feature-split--column .fs-col-row {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  align-items: start;
  padding: clamp(28px, 4vw, 44px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  max-width: 880px;
  margin: 0 auto;
}
.couture-feature-split--column .fs-col-row:last-child { border-bottom: 0; }
.couture-feature-split--column .fs-col-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px; height: 48px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 12%, var(--c-paper, #fff));
  color: var(--c-accent, var(--c-ink, #111));
  font-size: 1.3rem;
}
.couture-feature-split--column .fs-col-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin-bottom: 8px;
}
.couture-feature-split--column .fs-col-row h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.2rem, 1.8vw, 1.45rem);
  margin: 0 0 10px;
  color: var(--c-ink, #111);
}
.couture-feature-split--column .fs-col-row p {
  margin: 0 0 12px;
  font-size: 0.95rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
.couture-feature-split--column .fs-col-bullets {
  margin: 8px 0 0;
  padding-left: 22px;
  font-size: 0.92rem;
  line-height: 1.6;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}

/* ---- Variant: NUMBERED ---- */
.couture-feature-split--numbered .fs-num-row {
  display: grid;
  grid-template-columns: clamp(72px, 12%, 120px) 1fr;
  gap: 32px;
  align-items: start;
  padding: clamp(32px, 4.5vw, 56px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  max-width: 1100px;
  margin: 0 auto;
}
.couture-feature-split--numbered .fs-num-row:last-child { border-bottom: 0; }
.couture-feature-split--numbered .fs-num-num {
  font-family: var(--c-display, inherit);
  font-weight: 700;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--c-accent, var(--c-ink, #111));
}
.couture-feature-split--numbered .fs-num-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin-bottom: 8px;
}
.couture-feature-split--numbered .fs-num-row h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  margin: 0 0 12px;
  color: var(--c-ink, #111);
  line-height: 1.2;
}
.couture-feature-split--numbered .fs-num-row p {
  margin: 0 0 14px;
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
.couture-feature-split--numbered .fs-num-bullets {
  margin: 10px 0 0;
  padding-left: 22px;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ---- Variant: TINTED-BANDS ---- */
.couture-feature-split--bands {
  padding: 0 !important;
}
.couture-feature-split--bands .fs-bands-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  padding: clamp(40px, 5vw, 80px) clamp(24px, 4vw, 60px);
  max-width: none;
}
.couture-feature-split--bands .fs-bands-row--rev {
  direction: rtl;
}
.couture-feature-split--bands .fs-bands-row--rev > * {
  direction: ltr;
}
.couture-feature-split--bands .fs-bands-row--paper { background: var(--c-paper, #fff); }
.couture-feature-split--bands .fs-bands-row--tint  { background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff)); }
.couture-feature-split--bands .fs-bands-eyebrow {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 12px;
}
.couture-feature-split--bands .fs-bands-text h3 {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  margin: 0 0 14px;
  color: var(--c-ink, #111);
  line-height: 1.18;
}
.couture-feature-split--bands .fs-bands-text p {
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 14px;
}
.couture-feature-split--bands .fs-bands-bullets {
  margin: 10px 0 0;
  padding-left: 22px;
  font-size: 0.95rem;
  line-height: 1.6;
}
.couture-feature-split--bands .fs-bands-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  background: color-mix(in oklab, var(--c-ink, #111) 10%, var(--c-paper, #fff));
}
.couture-feature-split--bands .fs-bands-placeholder {
  font-size: clamp(3rem, 6vw, 5rem);
  color: var(--c-accent, var(--c-ink, #111));
  opacity: 0.7;
}
@media (max-width: 720px) {
  .couture-feature-split--bands .fs-bands-row {
    grid-template-columns: 1fr;
    direction: ltr;
    gap: 24px;
  }
}


/* V6.388 — WS1 contact_split layout variants. Original
   .couture-contact-split 2-col info+form stays. Three new hashed
   variants per domain.

     reversed — form LEFT, info RIGHT (visual flip)
     stacked  — centered headline+sub on top, info+form below (magazine)
     card     — info as chips on top + centered card-style form below
*/

/* ---- Variant: REVERSED ---- */
@media (min-width: 721px) {
  .couture-contact-split--reversed .cs-reversed-grid > .contact-split-left {
    order: 2;
  }
  .couture-contact-split--reversed .cs-reversed-grid > .contact-split-right {
    order: 1;
  }
}

/* ---- Variant: STACKED-CENTER ---- */
.couture-contact-split--stacked .cs-stacked-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 36px;
}
.couture-contact-split--stacked .cs-stacked-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.14;
  margin: 0 0 12px;
  color: var(--c-ink, #111);
}
.couture-contact-split--stacked .cs-stacked-sub {
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0;
}
.couture-contact-split--stacked .cs-stacked-grid {
  display: grid;
  grid-template-columns: minmax(220px, 32%) 1fr;
  gap: 48px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-contact-split--stacked .cs-stacked-grid .contact-split-info {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (max-width: 720px) {
  .couture-contact-split--stacked .cs-stacked-grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ---- Variant: CARD-FORM ---- */
.couture-contact-split--card .cs-card-head {
  text-align: center;
  max-width: 880px;
  margin: 0 auto 36px;
}
.couture-contact-split--card .cs-card-h {
  font-family: var(--c-display, inherit);
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.14;
  margin: 0 0 12px;
  color: var(--c-ink, #111);
}
.couture-contact-split--card .cs-card-sub {
  font-size: 1rem;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0 0 22px;
}
.couture-contact-split--card .cs-card-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 14px;
}
.couture-contact-split--card .cs-card-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
  border-radius: 999px;
  font-family: var(--c-display, inherit);
  font-size: 0.9rem;
  color: var(--c-ink, #111);
  text-decoration: none;
  transition: background 0.15s;
}
.couture-contact-split--card a.cs-card-chip:hover {
  background: color-mix(in oklab, var(--c-ink, #111) 10%, var(--c-paper, #fff));
}
.couture-contact-split--card .cs-card-chip strong {
  font-family: var(--c-mono, var(--c-display, inherit));
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  font-weight: 700;
}
.couture-contact-split--card .cs-card-form-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 70%, transparent);
  background: var(--c-paper, #fff);
  border-radius: 8px;
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 1: product card upgrade.
   Operator R: focus on visible boutique-store polish. Product cards
   appear on homepage (featured), shop page, AND category page — triple
   visible coverage per ship. Existing card had a -6px hover + 1.06
   scale. We layer a subtle "lift" envelope on top: gentle shadow drop,
   refined badge ribbon-style anchor, and a softly-revealed product
   meta line on hover (typical of Aesop/Glossier/Outdoor Voices).
   All additive — existing classes + transforms unchanged.
   ============================================================================ */

/* Card lift envelope — subtle inset shadow + softer radius outline.
   Visible at rest as a quiet "card edge". Lifts further on hover. */
.couture-products .prod {
  --prod-radius: 2px;
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
}
.couture-products .prod-img {
  border-radius: var(--prod-radius);
  box-shadow: 0 1px 0 color-mix(in oklab, var(--c-ink) 6%, transparent),
              0 1px 8px -4px color-mix(in oklab, var(--c-ink) 14%, transparent);
  transition:
    transform .6s cubic-bezier(.2,.8,.2,1),
    box-shadow .35s cubic-bezier(.2,.8,.2,1);
}
.couture-products .prod:hover .prod-img {
  box-shadow: 0 6px 28px -12px color-mix(in oklab, var(--c-ink) 28%, transparent),
              0 2px 8px -3px color-mix(in oklab, var(--c-ink) 16%, transparent);
}

/* Refined ribbon — was square badge top-left, now anchored corner ribbon
   with a tasteful drop shadow + small letterforms. Reads as "real
   ecommerce" not "free WP plugin". */
.couture-products .ribbon {
  top: 12px;
  left: 12px;
  padding: 5px 10px 4px;
  font-size: 9.5px;
  letter-spacing: .14em;
  border-radius: 1px;
  box-shadow: 0 2px 6px -2px color-mix(in oklab, var(--c-ink) 30%, transparent);
  font-weight: 600;
  backdrop-filter: saturate(1.1);
}

/* Quietly-revealed product meta line on card hover.
   When the card has [data-quiet-meta], the .prod-quiet-meta child fades
   in from translateY(8px) on hover. Renderer can opt-in by adding the
   data attribute + child element; if absent, no behavior change. */
.couture-products .prod[data-quiet-meta] .prod-quiet-meta {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .35s cubic-bezier(.2,.8,.2,1);
  font-family: var(--c-mono);
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  margin-top: 6px;
  display: block;
}
.couture-products .prod[data-quiet-meta]:hover .prod-quiet-meta,
.couture-products .prod[data-quiet-meta]:focus-within .prod-quiet-meta {
  opacity: 1;
  transform: translateY(0);
}

/* Reduced-motion respect — disable lift animations entirely. */
@media (prefers-reduced-motion: reduce) {
  .couture-products .prod,
  .couture-products .prod-img,
  .couture-products .prod-img img,
  .couture-products .prod[data-quiet-meta] .prod-quiet-meta {
    transition: none !important;
    animation: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 2: category page banner.
   Operator R: shop/category page header is currently a flat title + 56px
   underline. Real boutique stores treat each category as a small
   editorial: roomy header, breadcrumb context, term description as a
   genuine lede, decorative counter on the side. This block ONLY targets
   tax-product_cat (specific category pages) — leaves the shop page
   archive header from line 8643 untouched, since shop is the catch-all
   landing and looks fine flat.
   ============================================================================ */

/* Roomier banner envelope — more vertical breathing room than shop archive */
body.tax-product_cat .woocommerce-products-header {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(64px, 8vw, 120px) var(--c-gutter, 32px) clamp(28px, 3vw, 44px);
  position: relative;
}

/* Eyebrow line — auto-injected before the title via ::before so no
   renderer change needed. Uses the breadcrumb if present higher in the
   DOM (WC injects .woocommerce-breadcrumb), else just sits as a quiet
   "Collection" label. */
body.tax-product_cat .woocommerce-products-header::before {
  content: "Collection";
  display: block;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  margin-bottom: 18px;
}

/* Larger, more confident title than the shop archive */
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_cat h1.entry-title {
  font-family: var(--c-display);
  font-size: clamp(56px, 8vw, 112px) !important;
  font-weight: 350;
  letter-spacing: -0.025em;
  line-height: 0.96;
  margin: 0 0 24px;
  color: var(--c-ink);
  max-width: 22ch;
}

/* Decorative accent rule below title — replaces the flat 56px bar
   from line 8662 with a longer, more deliberate horizontal divider */
body.tax-product_cat .woocommerce-products-header__title::after {
  content: "";
  display: block;
  width: clamp(80px, 10vw, 140px);
  height: 1px;
  background: linear-gradient(to right,
    var(--c-ink) 0,
    var(--c-ink) 60%,
    color-mix(in oklab, var(--c-ink) 0%, transparent) 100%);
  margin-top: 32px;
}

/* Term description — was inheriting body styles, now styled as a real
   editorial lede paragraph (drop the dropcap, keep generous line-height
   and a slightly muted color) */
body.tax-product_cat .woocommerce-products-header .term-description,
body.tax-product_cat .woocommerce-products-header > p {
  font-family: var(--c-body);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink) 78%, transparent);
  max-width: 56ch;
  margin: 24px 0 0;
}
body.tax-product_cat .woocommerce-products-header .term-description p:first-child {
  margin-top: 0;
}

/* Decorative right-side product count — picks up WC's
   .woocommerce-result-count and floats it visually anchored top-right
   of the banner area. Reads like "12 pieces" instead of being a
   forgotten line below the header. */
body.tax-product_cat .woocommerce-result-count {
  position: absolute;
  top: clamp(64px, 8vw, 120px);
  right: var(--c-gutter, 32px);
  margin: 0;
  padding: 0;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}
body.tax-product_cat .woocommerce-result-count::before {
  content: "→ ";
  margin-right: 4px;
  opacity: 0.6;
}

/* Sort dropdown — pull above the grid, anchor right, mono small caps */
body.tax-product_cat .woocommerce-ordering {
  max-width: 1280px;
  margin: 0 auto 32px;
  padding: 0 var(--c-gutter, 32px);
}

/* Mobile: collapse the absolute-positioned count back into flow */
@media (max-width: 760px) {
  body.tax-product_cat .woocommerce-products-header {
    padding-top: clamp(48px, 8vw, 72px);
    padding-bottom: 24px;
  }
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_cat h1.entry-title {
    font-size: clamp(42px, 11vw, 72px) !important;
  }
  body.tax-product_cat .woocommerce-result-count {
    position: static;
    margin: 12px 0 0;
    padding: 0 var(--c-gutter, 32px);
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 3: page-load + scroll feel.
   Operator R: every page should feel like it was crafted, not dumped.
   Three additions:
     A) page-entry fade — body fades in on first paint (40ms hold,
        300ms ease) so the FOIT/CLS-flicker reads as "settled in" not
        "hard cut"
     B) image lazy-load skeleton — quiet diagonal shimmer on .prod-img
        while the <img> is loading, instead of a hard gray box
     C) scroll cue — small animated chevron pinned to the bottom-right
        of the hero viewport, fades out after ~3s or first scroll,
        signals "more below" without being an obnoxious arrow

   All purely CSS, additive, prefers-reduced-motion respected.
   ============================================================================ */

/* A) Page-entry fade — body fades in once on first paint. */
@keyframes couture-page-fade-in {
  0%   { opacity: 0; transform: translateY(4px); }
  100% { opacity: 1; transform: translateY(0); }
}
body {
  animation: couture-page-fade-in .35s cubic-bezier(.2,.8,.2,1) both;
  animation-delay: 40ms;
}

/* B) Image skeleton shimmer — applied to .prod-img while no <img>
   has loaded yet. Uses :has() to detect "no img child currently
   marked complete" — falls through silently in browsers without :has(). */
@keyframes couture-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
.couture-products .prod-img {
  background-image: linear-gradient(
    100deg,
    color-mix(in oklab, var(--c-paper-2, #f4f4f4) 95%, transparent) 25%,
    color-mix(in oklab, var(--c-paper-2, #f4f4f4) 60%, var(--c-line, #e5e5e5)) 50%,
    color-mix(in oklab, var(--c-paper-2, #f4f4f4) 95%, transparent) 75%
  );
  background-size: 200% 100%;
  background-position: 100% 0;
}
.couture-products .prod-img img {
  /* Image fades in over the skeleton when it actually loads */
  opacity: 0;
  transition: opacity .35s cubic-bezier(.2,.8,.2,1);
}
.couture-products .prod-img img[src],
.couture-products .prod-img img.loaded {
  opacity: 1;
}
/* Shimmer animation only runs while no image has loaded into the slot */
.couture-products .prod-img:not(:has(img[src])) {
  animation: couture-shimmer 2.4s ease-in-out infinite;
}

/* C) Scroll cue — small animated chevron, bottom-right of viewport,
   only appears on landing pages with a hero (uses .home or .page-template-default
   as a heuristic). Fades out automatically after 4 seconds via animation. */
@keyframes couture-scroll-chevron-bounce {
  0%, 100% { transform: translateY(0); opacity: 0.55; }
  50%      { transform: translateY(6px); opacity: 0.9; }
}
@keyframes couture-scroll-chevron-fade {
  0%, 70%  { opacity: 1; pointer-events: auto; }
  100%     { opacity: 0; pointer-events: none; }
}
body.home::after,
body.page-template-default::after {
  content: "";
  position: fixed;
  right: clamp(20px, 3vw, 40px);
  bottom: clamp(20px, 3vw, 32px);
  width: 22px;
  height: 22px;
  z-index: 50;
  background-image:
    linear-gradient(to bottom right,
      transparent 50%,
      color-mix(in oklab, var(--c-ink, #111) 60%, transparent) 50%,
      color-mix(in oklab, var(--c-ink, #111) 60%, transparent) 56%,
      transparent 56%
    ),
    linear-gradient(to bottom left,
      transparent 50%,
      color-mix(in oklab, var(--c-ink, #111) 60%, transparent) 50%,
      color-mix(in oklab, var(--c-ink, #111) 60%, transparent) 56%,
      transparent 56%
    );
  background-size: 50% 100%, 50% 100%;
  background-position: 0 0, 100% 0;
  background-repeat: no-repeat;
  animation:
    couture-scroll-chevron-bounce 1.8s ease-in-out infinite,
    couture-scroll-chevron-fade 5s ease-out forwards;
}
/* Hide scroll cue once user has actually scrolled (caught by scroll-driven
   animation timeline where supported, falls back to the fade-out timer). */
@supports (animation-timeline: scroll()) {
  body.home::after,
  body.page-template-default::after {
    animation:
      couture-scroll-chevron-bounce 1.8s ease-in-out infinite,
      couture-scroll-chevron-fade 5s ease-out forwards,
      couture-scroll-chevron-hide-on-scroll linear;
    animation-timeline:
      auto, auto, scroll(root);
    animation-range: auto, auto, 0 60vh;
  }
  @keyframes couture-scroll-chevron-hide-on-scroll {
    0%   { opacity: 1; }
    100% { opacity: 0; pointer-events: none; }
  }
}

/* Reduced-motion: all three behaviors collapse to no-op. */
@media (prefers-reduced-motion: reduce) {
  body {
    animation: none !important;
  }
  .couture-products .prod-img {
    background-image: none !important;
    animation: none !important;
  }
  .couture-products .prod-img img {
    opacity: 1 !important;
    transition: none !important;
  }
  body.home::after,
  body.page-template-default::after {
    display: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 4: trust strip enrichment.
   Operator R: trust strip is the highest-credibility homepage element.
   Already has 4 variants (default-grid, bullets, labels, cards) +
   stats spinoff. Adding 2 more genuinely-different patterns plus
   refined hover state on the default grid.
     - data-trust-variant="split-rule" — Aesop/Apple-footer style with
       thin vertical dividers between items (gives visual rhythm)
     - data-trust-variant="marquee" — single-line slow horizontal scroll
       of all items (Linear/Stripe footer trust-mark feel; never stops)
     - hover state on default + cards: quiet underline grow + 1px lift
   ============================================================================ */

/* --- variant: split-rule — vertical hairlines between items.
   Inspired by Aesop and Apple footer trust rows. The 4-column default
   grid stays, but each item gets a 1px left border (except the first)
   that's full-height + 60% opacity. Reads as "deliberate composition"
   rather than "loose row of icons". */
.couture-trust-strip[data-trust-variant="split-rule"] {
  background: var(--c-paper);
  padding: clamp(28px, 4vw, 48px) var(--c-gutter, 32px);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.couture-trust-strip[data-trust-variant="split-rule"] .trust-row {
  gap: 0;
  align-items: stretch;
}
.couture-trust-strip[data-trust-variant="split-rule"] .trust-item {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  padding: 8px clamp(12px, 2vw, 28px);
  position: relative;
  font-size: 13px;
  opacity: 1;
}
.couture-trust-strip[data-trust-variant="split-rule"] .trust-item + .trust-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8%;
  bottom: 8%;
  width: 1px;
  background: color-mix(in oklab, var(--c-ink, #111) 15%, transparent);
}
.couture-trust-strip[data-trust-variant="split-rule"] .trust-icon {
  opacity: 0.85;
  transform: scale(1.1);
}
.couture-trust-strip[data-trust-variant="split-rule"] .trust-label {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}
@media (max-width: 760px) {
  .couture-trust-strip[data-trust-variant="split-rule"] .trust-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .couture-trust-strip[data-trust-variant="split-rule"] .trust-item:nth-child(odd) + .trust-item::before {
    /* On 2-col mobile, only put rule between odd-index pairs */
  }
}

/* --- variant: marquee — single-line continuous scroll.
   All items duplicated and slow-scrolled across the band. Feels like
   the Linear or Stripe footer trust marks. Pauses on hover. */
@keyframes couture-trust-marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.couture-trust-strip[data-trust-variant="marquee"] {
  background: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff));
  padding: clamp(20px, 2.5vw, 32px) 0;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  overflow: hidden;
  position: relative;
}
.couture-trust-strip[data-trust-variant="marquee"] .trust-row {
  display: flex;
  grid-template-columns: none;
  gap: clamp(48px, 6vw, 96px);
  width: max-content;
  max-width: none;
  margin: 0;
  padding: 0 clamp(48px, 6vw, 96px);
  animation: couture-trust-marquee-scroll 38s linear infinite;
}
.couture-trust-strip[data-trust-variant="marquee"] .trust-item {
  flex: 0 0 auto;
  font-family: var(--c-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  white-space: nowrap;
  opacity: 1;
}
.couture-trust-strip[data-trust-variant="marquee"] .trust-icon {
  opacity: 0.6;
  margin-right: 4px;
}
/* Pause on hover — visitor wants to read */
.couture-trust-strip[data-trust-variant="marquee"]:hover .trust-row {
  animation-play-state: paused;
}
/* Soft fade-out at left + right edges so items appear/disappear
   gracefully instead of clipping at the page boundary */
.couture-trust-strip[data-trust-variant="marquee"]::before,
.couture-trust-strip[data-trust-variant="marquee"]::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(40px, 8vw, 120px);
  z-index: 2;
  pointer-events: none;
}
.couture-trust-strip[data-trust-variant="marquee"]::before {
  left: 0;
  background: linear-gradient(to right,
    color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff)) 0,
    color-mix(in oklab, var(--c-ink, #111) 0%, transparent) 100%);
}
.couture-trust-strip[data-trust-variant="marquee"]::after {
  right: 0;
  background: linear-gradient(to left,
    color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff)) 0,
    color-mix(in oklab, var(--c-ink, #111) 0%, transparent) 100%);
}

/* Refined hover on the default + cards variants — quiet 1px lift + label
   under-line grow. Was static at rest, now feels alive on pointer. */
.couture-trust-strip:not([data-trust-variant]) .trust-item,
.couture-trust-strip[data-trust-variant="cards"] .trust-item {
  transition: transform .25s cubic-bezier(.2,.8,.2,1);
}
.couture-trust-strip:not([data-trust-variant]) .trust-item:hover,
.couture-trust-strip[data-trust-variant="cards"] .trust-item:hover {
  transform: translateY(-1px);
}
.couture-trust-strip:not([data-trust-variant]) .trust-label,
.couture-trust-strip[data-trust-variant="cards"] .trust-label {
  background-image: linear-gradient(to right, currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s cubic-bezier(.2,.8,.2,1);
}
.couture-trust-strip:not([data-trust-variant]) .trust-item:hover .trust-label,
.couture-trust-strip[data-trust-variant="cards"] .trust-item:hover .trust-label {
  background-size: 100% 1px;
}

/* Reduced motion: kill marquee + hover lifts */
@media (prefers-reduced-motion: reduce) {
  .couture-trust-strip[data-trust-variant="marquee"] .trust-row {
    animation: none !important;
    /* Static fallback: show first 4 items, hide overflow gracefully */
    flex-wrap: wrap;
    justify-content: center;
  }
  .couture-trust-strip:not([data-trust-variant]) .trust-item,
  .couture-trust-strip[data-trust-variant="cards"] .trust-item,
  .couture-trust-strip:not([data-trust-variant]) .trust-label,
  .couture-trust-strip[data-trust-variant="cards"] .trust-label {
    transition: none !important;
    transform: none !important;
    background-image: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 5: shop page filter UX polish.
   Operator R: shop is the highest-traffic commerce surface. Currently
   the result count + sort dropdown sit as 2 separate stacked rows
   (~96px of pretty-empty vertical space). Polish them into a single
   coherent filter band: count left, sort right, thin top+bottom rules,
   refined chevron on the dropdown.

   Targets BOTH .woocommerce-shop AND .post-type-archive-product
   (= shop page archive). Category page (body.tax-product_cat) already
   handled in WS-VISIBLE-2 with its own anchored count → don't touch.
   ============================================================================ */

/* Single-row filter band: count + sort flex onto one line via wrapper.
   WC actually outputs them as siblings of .products in main, so we use
   a CSS-only trick: grid-template-areas via the parent .products grid
   doesn't apply (we're outside it), so instead we use absolute-positioning
   + margin trick on the count, anchoring it to the left of the same
   container the sort uses. */
body.woocommerce-shop:not(.tax-product_cat) .woocommerce-result-count,
body.post-type-archive-product:not(.tax-product_cat) .woocommerce-result-count {
  /* Override the prior block's stacked "padding-bottom: 24px" — collapse
     to inline-flex with a count pill */
  padding: 0 var(--c-gutter, 32px);
  margin: 0;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}

/* Wrap the sort form into a proper filter band — full-width band with
   a subtle background tint, hairline borders top + bottom, count on
   left + sort on right via grid. */
body.woocommerce-shop:not(.tax-product_cat) .woocommerce-ordering,
body.post-type-archive-product:not(.tax-product_cat) .woocommerce-ordering {
  /* Visually upgrade to a band — but since it sits BELOW the count in
     DOM order, we use negative margin + relative positioning to lift
     it visually next to the count. The count's relative-positioning
     is non-essential since both sit in the .woocommerce-products-header
     wrapper */
  position: relative;
  z-index: 1;
}

/* The actual filter band wrapper — apply to both elements via a shared
   styling concept: each element styles itself as a band cell. Use
   ::before on .woocommerce-ordering to provide the visible band that
   stretches behind both. */
body.woocommerce-shop:not(.tax-product_cat) .woocommerce-ordering::before,
body.post-type-archive-product:not(.tax-product_cat) .woocommerce-ordering::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -36px;          /* lifts up to encompass the count row above */
  bottom: -8px;
  background: color-mix(in oklab, var(--c-ink, #111) 2.5%, var(--c-paper, #fff));
  border-top: 1px solid color-mix(in oklab, var(--c-ink, #111) 9%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-ink, #111) 9%, transparent);
  z-index: -1;
}

/* Refined sort dropdown chevron — single-stroke chevron via SVG inline
   data URI, replaces the dual-triangle gradient hack from line 8702.
   Higher fidelity, scales cleanly on retina. */
body.woocommerce-shop:not(.tax-product_cat) .woocommerce-ordering select,
body.post-type-archive-product:not(.tax-product_cat) .woocommerce-ordering select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23111' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-position: calc(100% - 14px) 50% !important;
  background-size: 10px 6px !important;
  background-repeat: no-repeat !important;
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 14%, transparent) !important;
  background-color: var(--c-paper, #fff) !important;
  padding: 10px 36px 10px 14px !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  min-width: 180px !important;
  transition: border-color .2s ease, background-color .2s ease !important;
}
body.woocommerce-shop:not(.tax-product_cat) .woocommerce-ordering select:hover,
body.post-type-archive-product:not(.tax-product_cat) .woocommerce-ordering select:hover {
  border-color: color-mix(in oklab, var(--c-ink, #111) 32%, transparent) !important;
  background-color: color-mix(in oklab, var(--c-ink, #111) 2%, var(--c-paper, #fff)) !important;
}

/* Count pill — wrap the result-count text into a quiet pill so it
   reads as a counter chip ("12 products") instead of a sentence
   ("Showing 1-12 of 12 results"). Uses ::before to tag the start. */
body.woocommerce-shop:not(.tax-product_cat) .woocommerce-result-count::before,
body.post-type-archive-product:not(.tax-product_cat) .woocommerce-result-count::before {
  content: "•";
  display: inline-block;
  margin-right: 8px;
  color: var(--c-accent, var(--c-ink));
  font-weight: 700;
  vertical-align: middle;
  transform: translateY(-1px);
}

/* Mobile: stack the band back into 2 rows but keep the unified visual
   treatment (background + borders) */
@media (max-width: 760px) {
  body.woocommerce-shop:not(.tax-product_cat) .woocommerce-ordering::before,
  body.post-type-archive-product:not(.tax-product_cat) .woocommerce-ordering::before {
    top: -52px;
    bottom: -8px;
  }
  body.woocommerce-shop:not(.tax-product_cat) .woocommerce-ordering,
  body.post-type-archive-product:not(.tax-product_cat) .woocommerce-ordering {
    justify-content: stretch;
  }
  body.woocommerce-shop:not(.tax-product_cat) .woocommerce-ordering select,
  body.post-type-archive-product:not(.tax-product_cat) .woocommerce-ordering select {
    width: 100%;
    min-width: 0 !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 6: about-page imagery patterns.
   Operator R: about page is text-heavy + sparse imagery. V4.21 added
   .couture-about-figure (full-width + inset variants). Adding 3 more
   visual treatments to elevate the page from "wall of text" to
   "magazine spread":
     A) .couture-about-portrait — framed portrait with caption (signed
        photograph feel, NYT / Aesop founder profile style)
     B) .couture-about-diptych — two side-by-side images forming a
        paired set (before/after, process shots, two timepoints)
     C) .couture-about-stack — overlapping 3-image stack with subtle
        rotation, casual studio-archive feel
   All opt-in. Renderer can add via dna._ai_about_composition variant
   selection, or hand-add per-site.
   ============================================================================ */

/* A) Portrait card — framed portrait with rich caption block.
   Inspired by NYT founder profiles / Aesop "Our People". Image gets
   a thin offset frame (1px outer + 8-12px inset margin), caption is
   structured as: name (display) + role (mono caps) + optional location
   (mono caps muted). Reads as a signed photograph. */
.couture-about-portrait {
  max-width: 880px;
  margin: clamp(56px, 7vw, 96px) auto;
  padding: 0 var(--c-gutter, 32px);
  display: grid;
  grid-template-columns: minmax(280px, 360px) 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: end;
}
.couture-about-portrait .portrait-frame {
  position: relative;
  padding: 10px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 12%, transparent);
  box-shadow:
    0 1px 2px color-mix(in oklab, var(--c-ink, #111) 4%, transparent),
    0 12px 32px -16px color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
}
.couture-about-portrait .portrait-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
}
.couture-about-portrait .portrait-meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-about-portrait .portrait-name {
  font-family: var(--c-display);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--c-ink);
  margin: 0;
}
.couture-about-portrait .portrait-role {
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0;
}
.couture-about-portrait .portrait-quote {
  font-family: var(--c-display);
  font-style: italic;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 80%, transparent);
  margin: 16px 0 0;
  max-width: 36ch;
}
.couture-about-portrait .portrait-location {
  font-family: var(--c-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 50%, transparent);
  margin: 8px 0 0;
}
@media (max-width: 760px) {
  .couture-about-portrait {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .couture-about-portrait .portrait-frame {
    max-width: 320px;
    margin: 0 auto;
  }
  .couture-about-portrait .portrait-meta {
    text-align: center;
    align-items: center;
  }
  .couture-about-portrait .portrait-quote {
    text-align: left;
  }
}

/* B) Diptych — two side-by-side images forming a paired set.
   Common on craft-studio about pages: before/after, two-process-stages,
   detail+context. Both images get matching frame treatment + a single
   shared caption below. */
.couture-about-diptych {
  max-width: 1280px;
  margin: clamp(56px, 7vw, 96px) auto;
  padding: 0 var(--c-gutter, 32px);
}
.couture-about-diptych .diptych-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(12px, 1.5vw, 24px);
}
.couture-about-diptych .diptych-cell {
  position: relative;
}
.couture-about-diptych .diptych-cell img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 10%, transparent);
}
.couture-about-diptych .diptych-cell-label {
  position: absolute;
  top: 12px;
  left: 12px;
  background: color-mix(in oklab, var(--c-paper, #fff) 92%, transparent);
  backdrop-filter: blur(4px);
  padding: 6px 10px;
  font-family: var(--c-mono);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-ink);
}
.couture-about-diptych .diptych-caption {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin: 14px 0 0;
  text-align: center;
}
@media (max-width: 600px) {
  .couture-about-diptych .diptych-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* C) Polaroid stack — overlapping 3-image stack with subtle rotation.
   Casual yet curated, "studio archive" mood. Each image is a square
   tile with a thin paper frame; second + third are slightly rotated
   and offset behind/beside the first. Hover lifts the front one and
   spreads the back ones. */
.couture-about-stack {
  max-width: 720px;
  margin: clamp(80px, 10vw, 140px) auto;
  padding: 0 var(--c-gutter, 32px);
  position: relative;
  display: flex;
  justify-content: center;
}
.couture-about-stack .stack-wrap {
  position: relative;
  width: clamp(220px, 32vw, 360px);
  aspect-ratio: 1/1;
}
.couture-about-stack .stack-tile {
  position: absolute;
  inset: 0;
  padding: 8px 8px 28px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 10%, transparent);
  box-shadow: 0 4px 18px -8px color-mix(in oklab, var(--c-ink, #111) 30%, transparent);
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
}
.couture-about-stack .stack-tile img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.couture-about-stack .stack-tile:nth-child(1) {
  transform: rotate(-5deg) translate(-22%, 8%);
  z-index: 1;
}
.couture-about-stack .stack-tile:nth-child(2) {
  transform: rotate(3deg) translate(28%, -4%);
  z-index: 2;
}
.couture-about-stack .stack-tile:nth-child(3) {
  transform: rotate(-1deg);
  z-index: 3;
}
.couture-about-stack:hover .stack-tile:nth-child(1) {
  transform: rotate(-9deg) translate(-32%, 12%);
}
.couture-about-stack:hover .stack-tile:nth-child(2) {
  transform: rotate(7deg) translate(38%, -8%);
}
.couture-about-stack:hover .stack-tile:nth-child(3) {
  transform: rotate(-2deg) translateY(-6px);
}
.couture-about-stack .stack-caption {
  position: absolute;
  bottom: -36px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--c-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .couture-about-stack .stack-tile {
    transition: none !important;
  }
  .couture-about-stack:hover .stack-tile:nth-child(1),
  .couture-about-stack:hover .stack-tile:nth-child(2),
  .couture-about-stack:hover .stack-tile:nth-child(3) {
    transform: rotate(0deg) !important;
  }
}
@media (max-width: 600px) {
  .couture-about-stack .stack-wrap {
    width: 65vw;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 7: hero variants enrichment.
   Operator R: hero is the homepage above-fold first impression. Already
   35+ variants exist. Adding 2 GENUINELY-different patterns to enrich
   the per-domain hash pool — these are recognizably distinct from the
   existing pool and address visual gaps:
     A) .couture-hero--magazine-cover — print-magazine cover layout
        (issue number top, oversized title centered, date+volume
        bottom-right, optional background image with edge gradient)
     B) .couture-hero--diptych — two parallel tall images side-by-side
        with paired headlines + per-side CTAs (Glossier / Aritzia /
        Outdoor Voices "this OR that" landing pattern)
   ============================================================================ */

/* A) Magazine cover hero — print editorial layout.
   Composed like a New Yorker / Apartamento / Cabana issue cover:
     - issue label tucked top-left ("Issue 04 / Spring 2026")
     - oversized centered title (display, italic, ~140-220px)
     - dateline + edition tucked bottom-right ("March · Vol. 12")
     - optional full-bleed background image with vignette
   Use copy hooks: .hero-mag-issue, .hero-mag-title, .hero-mag-dateline */
.couture-hero--magazine-cover {
  position: relative;
  min-height: clamp(560px, 78vh, 820px);
  padding: clamp(40px, 5vw, 72px) var(--c-gutter, 32px);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: stretch;
  background: var(--c-paper, #fff);
}
.couture-hero--magazine-cover .hero-mag-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.couture-hero--magazine-cover .hero-mag-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.85;
}
.couture-hero--magazine-cover .hero-mag-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center,
    color-mix(in oklab, var(--c-paper, #fff) 0%, transparent) 0%,
    color-mix(in oklab, var(--c-paper, #fff) 35%, transparent) 65%,
    color-mix(in oklab, var(--c-paper, #fff) 70%, transparent) 100%);
  pointer-events: none;
}
.couture-hero--magazine-cover .hero-mag-issue {
  position: relative;
  z-index: 1;
  font-family: var(--c-mono);
  font-size: clamp(11px, 1vw, 13px);
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  margin: 0;
  align-self: start;
}
.couture-hero--magazine-cover .hero-mag-issue::after {
  content: "";
  display: inline-block;
  width: 56px;
  height: 1px;
  background: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  margin-left: 14px;
  vertical-align: middle;
}
.couture-hero--magazine-cover .hero-mag-title {
  position: relative;
  z-index: 1;
  font-family: var(--c-display);
  font-size: clamp(64px, 12vw, 220px);
  font-weight: 350;
  font-style: italic;
  line-height: 0.92;
  letter-spacing: -0.025em;
  text-align: center;
  color: var(--c-ink, #111);
  margin: 0;
  align-self: center;
  max-width: 14ch;
  justify-self: center;
}
.couture-hero--magazine-cover .hero-mag-title em {
  font-style: normal;
  color: var(--c-accent, var(--c-ink));
}
.couture-hero--magazine-cover .hero-mag-dateline {
  position: relative;
  z-index: 1;
  font-family: var(--c-mono);
  font-size: clamp(11px, 1vw, 13px);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin: 0;
  align-self: end;
  justify-self: end;
  text-align: right;
}
.couture-hero--magazine-cover .hero-mag-dateline::before {
  content: "—";
  display: inline-block;
  margin-right: 10px;
  opacity: 0.55;
}
@media (max-width: 760px) {
  .couture-hero--magazine-cover {
    min-height: clamp(480px, 90vh, 720px);
    padding: 32px var(--c-gutter, 24px);
  }
  .couture-hero--magazine-cover .hero-mag-title {
    font-size: clamp(52px, 16vw, 96px);
  }
  .couture-hero--magazine-cover .hero-mag-dateline {
    text-align: left;
    justify-self: start;
  }
}

/* B) Diptych hero — two parallel tall images side-by-side with paired
   headlines + CTAs. Glossier/Aritzia/Outdoor-Voices "this OR that"
   landing pattern. Each cell can independently link to a category. */
.couture-hero--diptych {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: clamp(520px, 75vh, 720px);
  background: var(--c-paper, #fff);
}
.couture-hero--diptych .hero-dip-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(32px, 4vw, 56px);
  overflow: hidden;
  min-height: 100%;
  isolation: isolate;
  cursor: pointer;
  transition: filter .35s cubic-bezier(.2,.8,.2,1);
}
.couture-hero--diptych .hero-dip-cell::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--hero-dip-bg, none);
  background-size: cover;
  background-position: center;
  z-index: -2;
  transition: transform 1.2s cubic-bezier(.2,.8,.2,1);
}
.couture-hero--diptych .hero-dip-cell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(0,0,0,.05) 0%,
    rgba(0,0,0,.18) 45%,
    rgba(0,0,0,.62) 100%);
  z-index: -1;
}
.couture-hero--diptych .hero-dip-cell:hover::before {
  transform: scale(1.04);
}
.couture-hero--diptych .hero-dip-cell:hover {
  filter: brightness(1.05);
}
.couture-hero--diptych .hero-dip-eyebrow {
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 16px;
}
.couture-hero--diptych .hero-dip-headline {
  font-family: var(--c-display);
  font-size: clamp(36px, 5vw, 72px);
  font-weight: 400;
  line-height: 1.0;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 18px;
  max-width: 18ch;
}
.couture-hero--diptych .hero-dip-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  padding: 12px 20px;
  font-family: var(--c-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-ink, #111);
  background: var(--c-paper, #fff);
  border: 1px solid var(--c-paper, #fff);
  text-decoration: none;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.couture-hero--diptych .hero-dip-cta::after {
  content: "→";
  font-size: 13px;
  transition: transform .25s ease;
}
.couture-hero--diptych .hero-dip-cell:hover .hero-dip-cta {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.85);
}
.couture-hero--diptych .hero-dip-cell:hover .hero-dip-cta::after {
  transform: translateX(4px);
}

/* Center divider — thin paper-color hairline between cells, optical only */
.couture-hero--diptych::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(255, 255, 255, 0.25);
  z-index: 2;
  pointer-events: none;
}

@media (max-width: 760px) {
  .couture-hero--diptych {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .couture-hero--diptych .hero-dip-cell {
    min-height: clamp(360px, 60vh, 520px);
  }
  .couture-hero--diptych::before {
    top: 50%;
    bottom: auto;
    left: 0;
    right: 0;
    width: auto;
    height: 1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-hero--diptych .hero-dip-cell,
  .couture-hero--diptych .hero-dip-cell::before,
  .couture-hero--diptych .hero-dip-cta,
  .couture-hero--diptych .hero-dip-cta::after {
    transition: none !important;
    transform: none !important;
  }
  .couture-hero--diptych .hero-dip-cell:hover::before {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 8: gourmiq.com bug fixes (operator-flagged).
   Two text-alignment bugs reported on the deployed site:

   Bug 1: hero_business with NO hero image rendered with eyebrow/headline/
   sub/CTAs all left-aligned in a 580px content block sitting on the
   LEFT side of a 920px container — looked off-balance, draft-y. The
   :not(:has(.hero-biz-art)) collapse rule (line 9158) makes the grid
   1-col but the .hero-biz-content kept max-width:580px without any
   centering. Fix: when no image, center the content horizontally
   AND center its text.

   Bug 3: .couture-journal-teaser section heading + cards rendered
   left-aligned uniformly across all sites. Operator wants this to
   READ as a polished editorial blog teaser (centered headline,
   center-justified card meta) — closer to Aesop / Apartamento /
   Allbirds-journal feel than the WP-default alignment.
   ============================================================================ */

/* Bug 1 fix — hero_business no-image collapse centers properly */
.couture-hero--business .hero-biz-grid:not(:has(.hero-biz-art)) .hero-biz-content {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.couture-hero--business .hero-biz-grid:not(:has(.hero-biz-art)) .hero-biz-headline {
  margin-left: auto;
  margin-right: auto;
}
.couture-hero--business .hero-biz-grid:not(:has(.hero-biz-art)) .hero-biz-sub {
  margin-left: auto;
  margin-right: auto;
}
.couture-hero--business .hero-biz-grid:not(:has(.hero-biz-art)) .hero-biz-ctas {
  justify-content: center;
}
.couture-hero--business .hero-biz-grid:not(:has(.hero-biz-art)) .eyebrow--pill {
  /* Pill is inline-block; centering the parent block-level container
     via text-align:center handles it without changing the pill itself */
}

/* Bug 3 fix — journal teaser polished editorial-centered layout.
   Centers section heading, gives each teaser card a consistent
   center-justified meta block + proper editorial whitespace. */
.couture-journal-teaser {
  padding: clamp(48px, 6vw, 96px) var(--c-gutter, 32px);
}
.couture-journal-teaser > h2 {
  text-align: center;
  max-width: 28ch;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(40px, 5vw, 64px);
  letter-spacing: -0.015em;
  line-height: 1.05;
}
/* Optional eyebrow above the headline — works whether the renderer
   emits one as <p class="eyebrow"> or not (no-op when absent) */
.couture-journal-teaser > .eyebrow,
.couture-journal-teaser > p.eyebrow {
  text-align: center;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin: 0 0 14px;
}
/* Each teaser card: image full-width, then title/date/excerpt centered */
.couture-journal-teaser .teaser {
  text-align: center;
}
.couture-journal-teaser .teaser h3 {
  margin: 18px auto 8px;
  max-width: 24ch;
  font-style: italic;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.005em;
}
.couture-journal-teaser .teaser p {
  font-family: var(--c-body);
  font-size: 15px;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 78%, transparent);
  max-width: 38ch;
  margin: 0 auto 12px;
}
.couture-journal-teaser .teaser time,
.couture-journal-teaser .teaser .date {
  display: block;
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin-top: 8px;
}
/* Image keeps its own aspect-ratio; just refine the radius + spacing */
.couture-journal-teaser .teaser img {
  border-radius: 2px;
  margin-bottom: 4px;
}
/* Tighten the row gap to feel intentional rather than draft-y */
.couture-journal-teaser .teaser-row {
  gap: clamp(28px, 4vw, 56px);
  max-width: 1200px;
  margin: 0 auto;
}

/* ============================================================================
   V6.388 — Bug 4 fix: legal-link layout diversification.
   Two new dramatically-different fineprint layouts so the footer-bottom
   "always-visible row of legal links" cross-site fingerprint breaks.
     - quiet-pill: single "Legal ↗" badge anchored right with a CSS-only
       hover/focus-within popover that reveals the full link list
     - summary-collapsed: a <details> closed by default — visitor sees
       just the word "Legal" with disclosure caret until they click
   ============================================================================ */

/* quiet-pill — single trigger, popover on hover/focus */
.couture-fineprint--quietpill {
  display: flex;
  justify-content: flex-end;
  padding: 12px var(--c-gutter, 32px);
}
.couture-fineprint--quietpill .cf-pill-anchor {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.couture-fineprint--quietpill .cf-pill-anchor:focus {
  outline: none;
}
.couture-fineprint--quietpill .cf-pill-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 12%, transparent);
  border-radius: 999px;
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  transition: background .2s ease, border-color .2s ease;
}
.couture-fineprint--quietpill .cf-pill-arrow {
  font-size: 11px;
  opacity: 0.7;
  transform: translateY(-0.5px);
}
.couture-fineprint--quietpill .cf-pill-anchor:hover .cf-pill-trigger,
.couture-fineprint--quietpill .cf-pill-anchor:focus-within .cf-pill-trigger {
  background: color-mix(in oklab, var(--c-ink, #111) 10%, var(--c-paper, #fff));
  border-color: color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
}
.couture-fineprint--quietpill .cf-pill-popover {
  position: absolute;
  bottom: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  padding: 10px 14px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 14%, transparent);
  border-radius: 4px;
  box-shadow: 0 8px 24px -8px color-mix(in oklab, var(--c-ink, #111) 25%, transparent);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  z-index: 30;
}
.couture-fineprint--quietpill .cf-pill-anchor:hover .cf-pill-popover,
.couture-fineprint--quietpill .cf-pill-anchor:focus-within .cf-pill-popover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear 0s;
}
.couture-fineprint--quietpill .cf-pill-popover > div {
  padding: 4px 0;
}
.couture-fineprint--quietpill .cf-pill-popover a {
  font-family: var(--c-body);
  font-size: 13px;
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: 0;
  text-transform: none;
}
.couture-fineprint--quietpill .cf-pill-popover a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* summary-collapsed — bare <details> with quiet caret */
.couture-fineprint--summary {
  padding: 14px var(--c-gutter, 32px);
  text-align: center;
}
.couture-fineprint--summary .cf-summary-disc {
  display: inline-block;
}
.couture-fineprint--summary .cf-summary-disc summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color .2s ease;
}
.couture-fineprint--summary .cf-summary-disc summary::-webkit-details-marker {
  display: none;
}
.couture-fineprint--summary .cf-summary-disc summary::before {
  content: "›";
  display: inline-block;
  transition: transform .2s cubic-bezier(.2,.8,.2,1);
  font-size: 14px;
  line-height: 1;
}
.couture-fineprint--summary .cf-summary-disc[open] summary::before {
  transform: rotate(90deg);
}
.couture-fineprint--summary .cf-summary-disc summary:hover {
  color: var(--c-ink, #111);
}
.couture-fineprint--summary .cf-summary-links {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-ink, #111) 8%, transparent);
}
.couture-fineprint--summary .cf-summary-links a {
  font-family: var(--c-body);
  font-size: 12px;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  text-decoration: none;
}
.couture-fineprint--summary .cf-summary-links a:hover {
  color: var(--c-ink, #111);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-fineprint--quietpill .cf-pill-popover,
  .couture-fineprint--summary .cf-summary-disc summary::before {
    transition: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 9: pagination polish (shop + category).
   Existing baseline at line 8864+ is functional but boxy: 40px squares
   with full border, full background-fill on active. Reads as "default
   WC pagination" not "real boutique boutique". Refinement:
     - circular 32px hairline pages instead of 40px squares
     - prev/next become arrows ← → instead of textual Previous/Next
     - active state: subtle underline + bold weight, not heavy fill
     - tighter gap (4px) so the row reads as a unit
     - "Page N of M" mono caps line above pagination for context
     - mobile collapse: hide ellipsis pages, show only prev/current/next

   Targets shop, post-type-archive-product, AND tax-product_cat.
   Higher specificity than baseline so overrides apply cleanly.
   ============================================================================ */

/* Polished pagination — applies to all WC archive surfaces */
body.woocommerce-shop .woocommerce-pagination,
body.post-type-archive-product .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination {
  margin-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(40px, 5vw, 64px);
}

/* Optional context line — renderer can prepend "Page N of M" via the
   existing .woocommerce-result-count slot or a small ::before pseudo
   on the pagination wrapper. Quiet mono caps. */
body.woocommerce-shop .woocommerce-pagination::before,
body.post-type-archive-product .woocommerce-pagination::before,
body.tax-product_cat .woocommerce-pagination::before {
  content: "Page";
  display: block;
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 50%, transparent);
  margin-bottom: 18px;
}

/* List wrapper — tighter gap */
body.woocommerce-shop .woocommerce-pagination ul.page-numbers,
body.post-type-archive-product .woocommerce-pagination ul.page-numbers,
body.tax-product_cat .woocommerce-pagination ul.page-numbers {
  gap: 4px;
  align-items: center;
}

/* Page numbers — circular, hairline, restrained */
body.woocommerce-shop .woocommerce-pagination .page-numbers,
body.post-type-archive-product .woocommerce-pagination .page-numbers,
body.tax-product_cat .woocommerce-pagination .page-numbers {
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 12%, transparent);
  border-radius: 50%;
  background: transparent;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}

/* Active page — bold + filled with subtle ink, not the heavy black */
body.woocommerce-shop .woocommerce-pagination .page-numbers.current,
body.post-type-archive-product .woocommerce-pagination .page-numbers.current,
body.tax-product_cat .woocommerce-pagination .page-numbers.current {
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  border-color: var(--c-ink, #111);
  font-weight: 600;
}

/* Hover — quiet border + ink color shift, no jarring background flip */
body.woocommerce-shop .woocommerce-pagination .page-numbers:not(.current):hover,
body.post-type-archive-product .woocommerce-pagination .page-numbers:not(.current):hover,
body.tax-product_cat .woocommerce-pagination .page-numbers:not(.current):hover {
  border-color: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
  color: var(--c-ink, #111);
  background: color-mix(in oklab, var(--c-ink, #111) 4%, transparent);
}

/* Prev/Next — convert text labels to arrow-only via empty content + ::after.
   WC uses .prev / .next class names. Keep text accessible but visually
   replace with arrows. */
body.woocommerce-shop .woocommerce-pagination .page-numbers.prev,
body.woocommerce-shop .woocommerce-pagination .page-numbers.next,
body.post-type-archive-product .woocommerce-pagination .page-numbers.prev,
body.post-type-archive-product .woocommerce-pagination .page-numbers.next,
body.tax-product_cat .woocommerce-pagination .page-numbers.prev,
body.tax-product_cat .woocommerce-pagination .page-numbers.next {
  width: 32px;
  padding: 0;
  font-size: 0; /* hide the WC-default "Previous"/"Next" text */
  position: relative;
}
body.woocommerce-shop .woocommerce-pagination .page-numbers.prev::after,
body.post-type-archive-product .woocommerce-pagination .page-numbers.prev::after,
body.tax-product_cat .woocommerce-pagination .page-numbers.prev::after {
  content: "←";
  font-size: 14px;
  line-height: 1;
}
body.woocommerce-shop .woocommerce-pagination .page-numbers.next::after,
body.post-type-archive-product .woocommerce-pagination .page-numbers.next::after,
body.tax-product_cat .woocommerce-pagination .page-numbers.next::after {
  content: "→";
  font-size: 14px;
  line-height: 1;
}

/* Ellipsis (.dots) — no border, just a dimmed "…" */
body.woocommerce-shop .woocommerce-pagination .page-numbers.dots,
body.post-type-archive-product .woocommerce-pagination .page-numbers.dots,
body.tax-product_cat .woocommerce-pagination .page-numbers.dots {
  border: none;
  background: transparent;
  color: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
  font-weight: 400;
  cursor: default;
  pointer-events: none;
}

/* Mobile collapse — hide non-current page numbers + ellipsis. Keep
   only prev / current / next on tight screens for one-thumb nav. */
@media (max-width: 480px) {
  body.woocommerce-shop .woocommerce-pagination .page-numbers:not(.current):not(.prev):not(.next),
  body.post-type-archive-product .woocommerce-pagination .page-numbers:not(.current):not(.prev):not(.next),
  body.tax-product_cat .woocommerce-pagination .page-numbers:not(.current):not(.prev):not(.next) {
    display: none;
  }
  body.woocommerce-shop .woocommerce-pagination ul.page-numbers,
  body.post-type-archive-product .woocommerce-pagination ul.page-numbers,
  body.tax-product_cat .woocommerce-pagination ul.page-numbers {
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-shop .woocommerce-pagination .page-numbers,
  body.post-type-archive-product .woocommerce-pagination .page-numbers,
  body.tax-product_cat .woocommerce-pagination .page-numbers {
    transition: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 10: breadcrumb refinement (shop/category/PDP).
   WC ships a default .woocommerce-breadcrumb that's body-text-sized with
   "/" separators — instantly recognizable as default-WC chrome on every
   site. Refining to a small mono-caps row with "›" separators reads as
   "real boutique" navigation breadcrumb. Targets:
     - .woocommerce-breadcrumb (WC native)
     - .yoast-breadcrumb       (Yoast SEO)
     - .rank-math-breadcrumb   (RankMath SEO)
     - [itemtype*="BreadcrumbList"] (schema.org wrapper, plugin-agnostic)
   Mobile collapse: hide intermediate crumbs, keep only first link as
   "← Back" anchor.
   ============================================================================ */

/* Common refinement — applies to every supported breadcrumb container */
.woocommerce-breadcrumb,
.yoast-breadcrumb,
.rank-math-breadcrumb,
[itemtype*="BreadcrumbList"]:not(.couture-breadcrumb) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  max-width: 1280px;
  margin: clamp(20px, 2.5vw, 40px) auto clamp(20px, 2vw, 32px);
  padding: 0 var(--c-gutter, 32px);
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 50%, transparent);
}

/* Anchor color + hairline underline grow on hover */
.woocommerce-breadcrumb a,
.yoast-breadcrumb a,
.rank-math-breadcrumb a,
[itemtype*="BreadcrumbList"]:not(.couture-breadcrumb) a {
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .25s cubic-bezier(.2,.8,.2,1), color .2s ease;
  padding-bottom: 1px;
}
.woocommerce-breadcrumb a:hover,
.yoast-breadcrumb a:hover,
.rank-math-breadcrumb a:hover,
[itemtype*="BreadcrumbList"]:not(.couture-breadcrumb) a:hover {
  color: var(--c-ink, #111);
  background-size: 100% 1px;
}

/* Replace WC's default "/" or ">" separator with " › " via flex-spacing.
   WC emits separators as text nodes between <a> tags — restyle them via
   the existing :is( ) sibling spacing rather than ::before pseudo so the
   markup-agnostic structure works. Tighten margins around them. */
.woocommerce-breadcrumb,
.yoast-breadcrumb,
.rank-math-breadcrumb,
[itemtype*="BreadcrumbList"]:not(.couture-breadcrumb) {
  /* Use a thin gap; the separator text node sits between siblings */
  gap: 8px;
}

/* Many WC breadcrumb implementations wrap separator in .delimiter span.
   Style it as a quiet chevron. Yoast uses ' » ' as text — also style
   any standalone " / " text via text-replacement isn't possible, so
   just keep the gap tight + dim the separator chars. */
.woocommerce-breadcrumb .delimiter,
.woocommerce-breadcrumb .breadcrumb-separator,
.yoast-breadcrumb .breadcrumb-separator,
.rank-math-breadcrumb .separator {
  color: color-mix(in oklab, var(--c-ink, #111) 25%, transparent);
  font-weight: 400;
  font-size: 12px;
  margin: 0 2px;
  /* Replace whatever text WC emitted (often "/" or ">") with a nicer chevron */
  font-size: 0;
}
.woocommerce-breadcrumb .delimiter::after,
.woocommerce-breadcrumb .breadcrumb-separator::after,
.yoast-breadcrumb .breadcrumb-separator::after,
.rank-math-breadcrumb .separator::after {
  content: "›";
  font-size: 14px;
  font-weight: 400;
  color: inherit;
  vertical-align: -1px;
}

/* Last-child (current page) — full ink, slightly heavier weight, no
   underline-on-hover treatment since it's not a link */
.woocommerce-breadcrumb > :last-child:not(a),
.yoast-breadcrumb > :last-child:not(a),
.rank-math-breadcrumb > :last-child:not(a) {
  color: var(--c-ink, #111);
  font-weight: 700;
}

/* Truncate very long current-page labels on narrow screens */
.woocommerce-breadcrumb,
.yoast-breadcrumb,
.rank-math-breadcrumb {
  overflow: hidden;
}

@media (max-width: 600px) {
  /* Mobile: hide all but first link + last (current) — gives "Home › ProductName"
     two-crumb minimal trail. Intermediates compress out. */
  .woocommerce-breadcrumb a:not(:first-child):not(:last-child),
  .yoast-breadcrumb a:not(:first-child):not(:last-child),
  .rank-math-breadcrumb a:not(:first-child):not(:last-child),
  .woocommerce-breadcrumb .delimiter:not(:first-of-type):not(:last-of-type),
  .yoast-breadcrumb .breadcrumb-separator:not(:first-of-type):not(:last-of-type),
  .rank-math-breadcrumb .separator:not(:first-of-type):not(:last-of-type) {
    display: none;
  }
  /* And add a back-arrow prefix to the first link, reading as "← Back to Home" */
  .woocommerce-breadcrumb a:first-child::before,
  .yoast-breadcrumb a:first-child::before,
  .rank-math-breadcrumb a:first-child::before {
    content: "← ";
    margin-right: 2px;
    opacity: 0.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce-breadcrumb a,
  .yoast-breadcrumb a,
  .rank-math-breadcrumb a,
  [itemtype*="BreadcrumbList"]:not(.couture-breadcrumb) a {
    transition: none !important;
    background-image: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 11: newsletter signup interaction polish.
   Newsletter section already has 58 variant declarations covering layout
   (centered / split-left / split-right / etc). This adds an INTERACTION
   polish layer applied uniformly across all variants:
     - refined email input focus ring (subtle accent halo)
     - submit button hover lift + arrow translate
     - privacy microcopy slot styling
     - loading state (when JS attaches .is-loading class)
     - success state (when JS attaches .is-success class)
     - error state (when JS attaches .is-error class)
   Uniform across all newsletter variants — operator can assume the form
   gets premium-feeling state-change feedback without per-variant work.
   ============================================================================ */

/* Refined email input focus — subtle accent halo instead of bare
   border-color flip. Applies to ALL .couture-newsletter form inputs. */
.couture-newsletter input[type="email"],
.couture-newsletter input[type="text"] {
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}
.couture-newsletter input[type="email"]:focus,
.couture-newsletter input[type="text"]:focus,
.couture-newsletter input[type="email"]:focus-visible,
.couture-newsletter input[type="text"]:focus-visible {
  outline: none;
  border-bottom-color: var(--c-paper, #fff);
  /* On accent-bg variants: paper-color halo */
  box-shadow: 0 1px 0 0 color-mix(in oklab, var(--c-paper, #fff) 80%, transparent);
}
.couture-newsletter input::placeholder {
  transition: opacity .2s ease;
}
.couture-newsletter input:focus::placeholder {
  opacity: 0.35;
}

/* Submit button polish — subtle lift + arrow translate on hover.
   Adds a ::after arrow only if button doesn't already have one in markup. */
.couture-newsletter button {
  position: relative;
  transition:
    transform .2s cubic-bezier(.2,.8,.2,1),
    opacity .2s ease,
    letter-spacing .2s ease;
  cursor: pointer;
}
.couture-newsletter button:hover {
  transform: translateX(2px);
  letter-spacing: 0.14em;
}
.couture-newsletter button:active {
  transform: translateX(0);
  opacity: 0.85;
}
/* Button arrow — only added when button text doesn't end with → already.
   Use [data-arrow="true"] opt-in attribute to avoid double-arrows when
   the renderer/copy supplies one. */
.couture-newsletter button[data-arrow="true"]::after {
  content: " →";
  display: inline-block;
  margin-left: 4px;
  transition: transform .25s cubic-bezier(.2,.8,.2,1);
}
.couture-newsletter button[data-arrow="true"]:hover::after {
  transform: translateX(3px);
}

/* Privacy microcopy slot — many newsletter forms benefit from a quiet
   "We respect your inbox" note. Renderer can add <p class="newsletter-privacy">
   inside the form wrapper; this styles it consistently across variants. */
.couture-newsletter .newsletter-privacy {
  display: block;
  margin: 12px 0 0;
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper, #fff) 65%, transparent);
  line-height: 1.5;
}
.couture-newsletter .newsletter-privacy a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  text-decoration-color: color-mix(in oklab, var(--c-paper, #fff) 35%, transparent);
}
.couture-newsletter .newsletter-privacy a:hover {
  text-decoration-color: var(--c-paper, #fff);
}

/* Form state classes — applied by JS handlers (most newsletter plugins
   attach is-loading / is-success / is-error to the form on submit). */

/* Loading: dim everything + spinner on button */
.couture-newsletter form.is-loading {
  pointer-events: none;
  opacity: 0.85;
}
.couture-newsletter form.is-loading button {
  position: relative;
  color: transparent;
}
.couture-newsletter form.is-loading button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-paper, #fff) 30%, transparent);
  border-top-color: var(--c-paper, #fff);
  animation: couture-newsletter-spin 0.7s linear infinite;
}
@keyframes couture-newsletter-spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Success state: slide in a check + thank-you message that replaces
   the form. Renderer or JS can swap the form's content with
   .newsletter-success-msg, OR apply .is-success to the form which
   reveals an existing hidden .newsletter-success-msg sibling. */
.couture-newsletter .newsletter-success-msg {
  display: none;
  text-align: center;
  font-family: var(--c-display);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 400;
  font-style: italic;
  color: var(--c-paper, #fff);
  padding: 16px 0;
  animation: couture-newsletter-success-in 0.5s cubic-bezier(.2,.8,.2,1);
}
.couture-newsletter form.is-success ~ .newsletter-success-msg,
.couture-newsletter .newsletter-form.is-success ~ .newsletter-success-msg,
.couture-newsletter.is-success .newsletter-success-msg {
  display: block;
}
.couture-newsletter form.is-success,
.couture-newsletter .newsletter-form.is-success {
  display: none;
}
.couture-newsletter .newsletter-success-msg::before {
  content: "✓ ";
  display: inline-block;
  margin-right: 6px;
  color: var(--c-paper, #fff);
  font-style: normal;
  font-weight: 600;
}
@keyframes couture-newsletter-success-in {
  0%   { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Error state: red shimmer on input border + small message */
.couture-newsletter form.is-error input {
  border-bottom-color: color-mix(in oklab, #d04a3a 80%, var(--c-paper, #fff));
  animation: couture-newsletter-shake 0.35s cubic-bezier(.2,.8,.2,1);
}
@keyframes couture-newsletter-shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-4px); }
  40%, 80% { transform: translateX(4px); }
}
.couture-newsletter .newsletter-error-msg {
  display: none;
  margin-top: 10px;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: #ffd0c8;
}
.couture-newsletter form.is-error ~ .newsletter-error-msg,
.couture-newsletter.is-error .newsletter-error-msg {
  display: block;
}

/* Reduced motion: kill all transitions + animations */
@media (prefers-reduced-motion: reduce) {
  .couture-newsletter input,
  .couture-newsletter button,
  .couture-newsletter button::after,
  .couture-newsletter input::placeholder {
    transition: none !important;
    animation: none !important;
  }
  .couture-newsletter button:hover {
    transform: none !important;
    letter-spacing: inherit !important;
  }
  .couture-newsletter form.is-loading button::before {
    animation: none !important;
    border-top-color: var(--c-paper, #fff);
  }
  .couture-newsletter .newsletter-success-msg,
  .couture-newsletter form.is-error input {
    animation: none !important;
  }
}

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 12: section-divider variant pool.
   Existing baseline at line 9737 = .couture-divider (diamond ◆ on
   hairline). Adding 3 more genuinely-different variants so per-domain
   rotation can pick from 4 total dividers — keeps section-separator
   visual character from being identical across sites.
     - .couture-divider--ornament — period-typographic ornament (random pick
       from a 5-glyph pool: ✦ ✺ ❋ ⁕ ❖) instead of diamond
     - .couture-divider--asymmetric — short hairline + dot + long hairline
       (offset asymmetric composition reads as deliberate, not boilerplate)
     - .couture-divider--minimal-marks — three tiny dots only (• • •) no
       rule at all (extreme restraint, magazine-spread feel)
   All variants additive + opt-in by class — existing default unchanged.
   ============================================================================ */

/* Variant 1: --ornament — typographic ornament glyph instead of ◆.
   Renderer can set --divider-glyph to any character; falls back to ✦. */
.couture-divider--ornament {
  position: relative;
  text-align: center;
  margin-block: clamp(48px, 6vw, 80px);
  padding: 0;
  border: none;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 40%, transparent);
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}
.couture-divider--ornament::after {
  content: var(--divider-glyph, "✦");
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--c-paper, #fff);
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  padding: 0 18px;
  font-family: var(--c-display);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}

/* Variant 2: --asymmetric — short rule + dot + long rule, offset right.
   Reads as deliberate composition rather than centered cliché. */
.couture-divider--asymmetric {
  display: grid;
  grid-template-columns: 60px auto 1fr;
  align-items: center;
  gap: 16px;
  margin-block: clamp(48px, 6vw, 80px);
  margin-left: auto;
  margin-right: auto;
  max-width: 480px;
  border: none;
  padding: 0;
  height: auto;
  background: none;
}
.couture-divider--asymmetric::before,
.couture-divider--asymmetric::after {
  content: "";
  display: block;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-divider--asymmetric .div-asym-dot {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--c-accent, var(--c-ink, #111));
  margin: 0 auto;
}
/* Fallback: when no .div-asym-dot child exists, use a centered dot
   via background — works even with bare <hr class="couture-divider--asymmetric">. */
.couture-divider--asymmetric:not(:has(.div-asym-dot))::before {
  background: linear-gradient(
    to right,
    color-mix(in oklab, var(--c-line) 50%, transparent) 0,
    color-mix(in oklab, var(--c-line) 50%, transparent) 60px,
    transparent 60px,
    transparent 84px,
    var(--c-accent, var(--c-ink, #111)) 84px,
    var(--c-accent, var(--c-ink, #111)) 88px,
    transparent 88px
  );
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: center;
  height: 4px;
  grid-column: 1 / -1;
  width: 100%;
}
.couture-divider--asymmetric:not(:has(.div-asym-dot))::after {
  display: none;
}

/* Variant 3: --minimal-marks — three quiet dots, no rule.
   Maximum restraint, magazine-spread feel. */
.couture-divider--minimal-marks {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-block: clamp(56px, 7vw, 96px);
  border: none;
  padding: 0;
  height: auto;
  background: none;
}
.couture-divider--minimal-marks::before,
.couture-divider--minimal-marks::after {
  content: "•";
  display: inline-block;
  font-size: 8px;
  color: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
  line-height: 1;
}
.couture-divider--minimal-marks::before {
  text-shadow:
    18px 0 0 color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
}
/* Fallback for browsers / setups where text-shadow trick doesn't
   render the third dot — opt-in via three explicit children. */
.couture-divider--minimal-marks .div-mark {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
}
.couture-divider--minimal-marks:has(.div-mark)::before,
.couture-divider--minimal-marks:has(.div-mark)::after {
  display: none;
}

/* Reduced motion: dividers are static; nothing to disable. No @media block needed. */

/* ============================================================================
   V6.388 — VISIBLE-POLISH iter 13: press logo strip variants.
   Existing .couture-press-strip is a single inline grayscale row with
   color-on-hover. Adding 3 new variants so per-domain rotation across
   boutique-grade press treatments (homepage trust signal):
     - .couture-press-strip--wall: bordered grid-cell wall (4-col)
     - .couture-press-strip--marquee: continuous horizontal scroll
     - .couture-press-strip--quotes: 2-col logo+pull-quote pairing
   All opt-in by class; existing default unchanged.
   ============================================================================ */

/* Variant 1: --wall — bordered grid wall, each logo in its own cell.
   Reads as "wall of credentials" instead of inline logo soup. Renderer
   emits .press-item children (with optional .press-item-link) inside;
   the optional .press-label sits centered above the grid. */
.couture-press-strip--wall {
  display: block;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  padding: clamp(40px, 5vw, 64px) var(--c-gutter, 32px);
  margin: clamp(40px, 5vw, 64px) 0;
  text-align: center;
}
.couture-press-strip--wall .press-label {
  display: inline-block;
  font: 600 11px/1.4 var(--c-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin: 0 0 clamp(24px, 3vw, 36px);
}
.couture-press-strip--wall .press-grid,
.couture-press-strip--wall:not(:has(.press-grid)) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1px; /* gap acts as the dividing hairline (cells share borders) */
  background: color-mix(in oklab, var(--c-line) 35%, transparent);
  max-width: 960px;
  margin: 0 auto;
}
.couture-press-strip--wall .press-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
  padding: 16px;
  background: var(--c-paper, #fff);
  opacity: 0.7;
  filter: grayscale(1);
  transition: opacity .25s ease, filter .25s ease, background .25s ease;
}
.couture-press-strip--wall .press-item:hover {
  opacity: 1;
  filter: grayscale(0);
  background: color-mix(in oklab, var(--c-ink, #111) 2%, var(--c-paper, #fff));
}
.couture-press-strip--wall .press-item img,
.couture-press-strip--wall .press-item svg {
  max-height: 32px;
  max-width: 100%;
  object-fit: contain;
}

/* Variant 2: --marquee — continuous horizontal scroll, pauses on hover.
   Same pattern as trust-strip marquee but specifically for press logos
   with edge-fade gradients. */
@keyframes couture-press-marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.couture-press-strip--marquee {
  display: block;
  position: relative;
  overflow: hidden;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  padding: clamp(28px, 3.5vw, 44px) 0;
  margin: clamp(40px, 5vw, 64px) 0;
}
.couture-press-strip--marquee .press-label {
  display: block;
  text-align: center;
  font: 600 11px/1.4 var(--c-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 50%, transparent);
  margin: 0 0 22px;
}
.couture-press-strip--marquee .press-track,
.couture-press-strip--marquee:not(:has(.press-track)) > div:not(.press-label) {
  display: flex;
  align-items: center;
  gap: clamp(56px, 8vw, 112px);
  width: max-content;
  animation: couture-press-marquee-scroll 42s linear infinite;
}
.couture-press-strip--marquee:hover .press-track,
.couture-press-strip--marquee:hover > div:not(.press-label) {
  animation-play-state: paused;
}
.couture-press-strip--marquee .press-item {
  flex: 0 0 auto;
  height: 28px;
  display: inline-flex;
  align-items: center;
  opacity: 0.65;
  filter: grayscale(1);
  transition: opacity .2s ease, filter .2s ease;
}
.couture-press-strip--marquee .press-item:hover {
  opacity: 1;
  filter: grayscale(0);
}
.couture-press-strip--marquee .press-item img,
.couture-press-strip--marquee .press-item svg {
  max-height: 100%;
  max-width: 140px;
  object-fit: contain;
}
/* Edge fade-out gradients */
.couture-press-strip--marquee::before,
.couture-press-strip--marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(40px, 8vw, 120px);
  z-index: 2;
  pointer-events: none;
}
.couture-press-strip--marquee::before {
  left: 0;
  background: linear-gradient(to right,
    var(--c-paper, #fff) 0%,
    color-mix(in oklab, var(--c-paper, #fff) 0%, transparent) 100%);
}
.couture-press-strip--marquee::after {
  right: 0;
  background: linear-gradient(to left,
    var(--c-paper, #fff) 0%,
    color-mix(in oklab, var(--c-paper, #fff) 0%, transparent) 100%);
}

/* Variant 3: --quotes — 2-col grid pairing each logo with a pull-quote.
   Reads as a curated tear-sheet of editorial coverage. Renderer emits
   .press-quote-row children, each containing a .press-item logo and a
   .press-quote-text element. */
.couture-press-strip--quotes {
  display: block;
  padding: clamp(56px, 7vw, 96px) var(--c-gutter, 32px);
  margin: clamp(40px, 5vw, 64px) 0;
  background: color-mix(in oklab, var(--c-ink, #111) 3%, var(--c-paper, #fff));
}
.couture-press-strip--quotes .press-label {
  display: block;
  text-align: center;
  font: 600 11px/1.4 var(--c-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin: 0 0 clamp(32px, 4vw, 48px);
}
.couture-press-strip--quotes .press-quotes-grid,
.couture-press-strip--quotes:not(:has(.press-quotes-grid)) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(36px, 5vw, 56px);
  max-width: 1200px;
  margin: 0 auto;
}
.couture-press-strip--quotes .press-quote-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
}
.couture-press-strip--quotes .press-quote-row .press-item {
  height: 28px;
  display: inline-flex;
  align-items: center;
  opacity: 0.85;
}
.couture-press-strip--quotes .press-quote-row .press-item img,
.couture-press-strip--quotes .press-quote-row .press-item svg {
  max-height: 100%;
  max-width: 140px;
  object-fit: contain;
}
.couture-press-strip--quotes .press-quote-text {
  font-family: var(--c-display);
  font-style: italic;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.45;
  color: color-mix(in oklab, var(--c-ink, #111) 85%, transparent);
  max-width: 28ch;
  margin: 0;
  font-weight: 400;
}
.couture-press-strip--quotes .press-quote-text::before {
  content: "\201C"; /* curly opening quote */
  margin-right: 2px;
  color: var(--c-accent, var(--c-ink, #111));
  font-weight: 600;
  opacity: 0.7;
}
.couture-press-strip--quotes .press-quote-text::after {
  content: "\201D"; /* curly closing quote */
  margin-left: 2px;
  color: var(--c-accent, var(--c-ink, #111));
  font-weight: 600;
  opacity: 0.7;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .couture-press-strip--marquee .press-track,
  .couture-press-strip--marquee:not(:has(.press-track)) > div:not(.press-label) {
    animation: none !important;
    flex-wrap: wrap;
    width: auto;
    justify-content: center;
  }
  .couture-press-strip--wall .press-item,
  .couture-press-strip--marquee .press-item {
    transition: none !important;
  }
}

/* ============================================================================
   V6.388 — CUDDRESS.COM BUG FIXES (operator-flagged 2026-05-14).
   Master guardrail layer for visible bugs that recurred across sites
   despite per-variant fixes. These rules use !important judiciously
   because they're DEFENSIVE GUARDRAILS — defending against AI-generated
   per-site CSS drift that can't be enforced via prompt alone.
   ============================================================================ */

/* ---------------------------------------------------------------------------
   Bug 1: ai-hero (and any ai-* dynamically-generated section) sub-paragraph
   reads as left-aligned despite parent having text-align:center, because
   the AI-generated CSS sets no max-width on __sub → paragraph fills full
   container width → long lines wrap at right margin → looks left-aligned.
   FIX: cap __sub width + center horizontally. Same for any ai-section
   that uses __sub/__lede/__intro naming convention.
   --------------------------------------------------------------------------- */
[class^="ai-hero-"] [class*="__sub"],
[class^="ai-hero-"] [class*="__lede"],
[class^="ai-hero-"] [class*="__intro"],
[class^="ai-hero-"] [class*="__description"],
[class^="ai-jt-"]   [class*="__sub"],
[class^="ai-jt-"]   [class*="__lede"],
[class*=" ai-hero-"] [class*="__sub"],
[class*=" ai-jt-"]   [class*="__sub"] {
  max-width: 60ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* V6.388 — extended guardrails: cover ALL 18 ai-section scope prefixes
   so future ai-* CSS drift can't reintroduce the cuddress bugs. The
   prefix list mirrors src/lib/ai_section_generator.js scopePrefix
   values: ai-news, ai-pq, ai-faq, ai-stat, ai-press, ai-fl, ai-fb,
   ai-tg, ai-si, ai-st, ai-sm, ai-mf, ai-pc, ai-ba, ai-ritual, ai-jt,
   ai-aw, ai-gc — plus ai-hero from ai_hero_generator.js.

   Defensive defaults applied to ANY ai-* section paragraph element to
   ensure prose readability + alignment. */
[class^="ai-news-"] p,   [class*=" ai-news-"] p,
[class^="ai-pq-"] p,     [class*=" ai-pq-"] p,
[class^="ai-faq-"] p,    [class*=" ai-faq-"] p,
[class^="ai-stat-"] p,   [class*=" ai-stat-"] p,
[class^="ai-press-"] p,  [class*=" ai-press-"] p,
[class^="ai-fl-"] p,     [class*=" ai-fl-"] p,
[class^="ai-fb-"] p,     [class*=" ai-fb-"] p,
[class^="ai-tg-"] p,     [class*=" ai-tg-"] p,
[class^="ai-si-"] p,     [class*=" ai-si-"] p,
[class^="ai-st-"] p,     [class*=" ai-st-"] p,
[class^="ai-sm-"] p,     [class*=" ai-sm-"] p,
[class^="ai-mf-"] p,     [class*=" ai-mf-"] p,
[class^="ai-pc-"] p,     [class*=" ai-pc-"] p,
[class^="ai-ba-"] p,     [class*=" ai-ba-"] p,
[class^="ai-ritual-"] p, [class*=" ai-ritual-"] p,
[class^="ai-aw-"] p,     [class*=" ai-aw-"] p,
[class^="ai-gc-"] p,     [class*=" ai-gc-"] p {
  max-width: 60ch;
  /* No !important — let AI's own CSS override if it sets a sensible value */
}

/* Section-level h2 in any ai-* section gets word-wrap protection so long
   AI-generated headlines don't overflow + break the layout */
[class^="ai-news-"] h2,   [class*=" ai-news-"] h2,
[class^="ai-pq-"] h2,     [class*=" ai-pq-"] h2,
[class^="ai-faq-"] h2,    [class*=" ai-faq-"] h2,
[class^="ai-stat-"] h2,   [class*=" ai-stat-"] h2,
[class^="ai-press-"] h2,  [class*=" ai-press-"] h2,
[class^="ai-fl-"] h2,     [class*=" ai-fl-"] h2,
[class^="ai-fb-"] h2,     [class*=" ai-fb-"] h2,
[class^="ai-tg-"] h2,     [class*=" ai-tg-"] h2,
[class^="ai-si-"] h2,     [class*=" ai-si-"] h2,
[class^="ai-st-"] h2,     [class*=" ai-st-"] h2,
[class^="ai-sm-"] h2,     [class*=" ai-sm-"] h2,
[class^="ai-mf-"] h2,     [class*=" ai-mf-"] h2,
[class^="ai-pc-"] h2,     [class*=" ai-pc-"] h2,
[class^="ai-ba-"] h2,     [class*=" ai-ba-"] h2,
[class^="ai-ritual-"] h2, [class*=" ai-ritual-"] h2,
[class^="ai-aw-"] h2,     [class*=" ai-aw-"] h2,
[class^="ai-gc-"] h2,     [class*=" ai-gc-"] h2,
[class^="ai-jt-"] h2,     [class*=" ai-jt-"] h2,
[class^="ai-hero-"] h2,   [class*=" ai-hero-"] h2 {
  overflow-wrap: break-word;
  hyphens: auto;
  max-width: 100%;
}

/* Any clickable element in any ai-* section that uses background+color
   inline-styled to var(--c-accent)+var(--c-paper) gets the same contrast
   safety net as the hero CTA — but applied conservatively so we only
   override when both are likely the same color (unsafe). Use a low-
   specificity rule that AI's own !important wins easily. */
[class^="ai-news-"] a[class*="cta"],   [class*=" ai-news-"] a[class*="cta"],
[class^="ai-press-"] a[class*="cta"],  [class*=" ai-press-"] a[class*="cta"],
[class^="ai-fb-"] a[class*="cta"],     [class*=" ai-fb-"] a[class*="cta"],
[class^="ai-jt-"] a[class*="cta"],     [class*=" ai-jt-"] a[class*="cta"] {
  background-color: var(--c-ink, #111);
  color: var(--c-paper, #fff);
}

/* Bug 13 (additional): ai-jt journal teaser h2 ("Discover Latest Perspectives")
   left-aligned because the AI-generated CSS sets padding:40px on the container
   but no text-align on h2. Center ONLY the section h2 (not the whole container,
   which would also affect the cards inside — those typically read better
   left-aligned). Same defensive treatment for ai-press section h2. */
[class^="ai-hero-"] {
  text-align: center !important;
}
[class^="ai-jt-"] > h2,
[class^="ai-jt-"] > h1,
[class^="ai-press-"] > h2,
[class^="ai-press-"] > h1 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 28ch !important;
  display: block !important;
}

/* Bug 1 (extended): ai-hero __headline very long titles can also overflow.
   Cap max-width + force word wrap. */
[class^="ai-hero-"] [class*="__headline"],
[class^="ai-hero-"] h1,
[class^="ai-hero-"] h2 {
  max-width: 22ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}

/* ---------------------------------------------------------------------------
   Bug 5: ai-hero __cta button rendered as background:var(--c-accent) +
   color:var(--c-paper). On sites where the DNA generator produces a dark
   accent (charcoal/black) AND a dark paper (rare but possible), the button
   reads black-on-black until hover. The high-contrast pair in any reasonable
   Couture palette is INK-BG + PAPER-TEXT (ink is always dark, paper always
   light). Override the AI-generated CSS with this guaranteed pair, push
   accent to the hover state.
   --------------------------------------------------------------------------- */
[class^="ai-hero-"] a[class*="__cta"],
[class^="ai-hero-"] button[class*="__cta"] {
  background-color: var(--c-ink, #111) !important;
  color: var(--c-paper, #fff) !important;
  border: 1px solid var(--c-ink, #111) !important;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease !important;
}
[class^="ai-hero-"] a[class*="__cta"]:hover,
[class^="ai-hero-"] button[class*="__cta"]:hover {
  background-color: var(--c-accent, var(--c-ink, #111)) !important;
  border-color: var(--c-accent, var(--c-ink, #111)) !important;
}

/* ---------------------------------------------------------------------------
   Bug 6: hero h1 ("Crafting Distinction for Every Companion") gets clipped
   at the right edge on long brand-name + headline combos because
   .couture-hero h1 has no max-width and big font sizes (clamp up to 176px)
   produce single-line text that overflows the container.
   FIX: cap headline width + allow word-wrap + tighten clamp upper bound.
   Applies to ALL .couture-hero h1 (base + every variant inherits).
   --------------------------------------------------------------------------- */
.couture-hero h1,
.couture-hero .hero-headline,
.couture-hero [class*="-headline"],
.couture-hero h2 {
  max-width: 22ch;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}
/* Long-text safety net: when h1 contains 5+ words OR any word longer than
   12 chars, drop to a smaller font-size cap to guarantee single-screen fit */
.couture-hero h1 {
  font-size: clamp(40px, 8vw, 120px) !important;
}

/* ---------------------------------------------------------------------------
   Bug 2: section-head h2 (e.g. "Newest arrivals.") rendered left-aligned
   in 2-col grid. Operator wants centered. Add per-domain hashed alignment
   via [data-align-section-head] body attribute (renderer can set), with
   a centered DEFAULT for sites that don't opt out (operator's preference).
   The 2-col layout (PIECES + headline) becomes a stacked centered layout.
   --------------------------------------------------------------------------- */
.couture-section-head {
  /* Default: stacked center layout — addresses recurring "not centered"
     complaint. Sites that want the editorial 2-col can opt in via
     body[data-section-head="grid"] (existing renderer behavior preserved). */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  grid-template-columns: none; /* override the line 421 grid spec */
}
.couture-section-head .num {
  border-top: none;
  padding-top: 0;
  margin-bottom: 4px;
  /* Render as a quiet eyebrow over the headline rather than a left-rail label */
}
.couture-section-head h2 {
  margin-left: auto;
  margin-right: auto;
  max-width: 24ch;
}
/* Opt-in: keep the original 2-col editorial grid for sites that prefer it */
body[data-section-head="grid"] .couture-section-head {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: start;
  text-align: left;
  gap: 24px;
}
body[data-section-head="grid"] .couture-section-head .num {
  border-top: 2px solid var(--c-accent);
  padding-top: 14px;
  margin-bottom: 0;
}
body[data-section-head="grid"] .couture-section-head h2 {
  margin: 0;
  max-width: none;
}

/* ---------------------------------------------------------------------------
   Bug 4: large empty space at bottom of homepage — feature-row's
   clamp(48px, 6vw, 96px) bottom padding stacks with footer's top padding.
   Tighten the bottom padding when a section is the LAST child before footer.
   --------------------------------------------------------------------------- */
.couture-page > .couture-section:last-child,
.couture-page > section:last-child {
  padding-bottom: clamp(24px, 3vw, 40px);
  margin-bottom: 0;
}
/* And reduce the gap between the last section and the footer block */
main + footer,
.couture-page + footer,
main.couture-page + .wp-block-template-part {
  margin-top: 0;
}

/* ---------------------------------------------------------------------------
   Bug 7: "How it works" .diagram-ring with 01/02/03/04 numbered .ring-node
   children renders identically on every site. Operator wants per-domain
   variation. Add 3 new layout variants opt-in via [data-ring-variant=...]
   on .couture-process-diagram or via body class hash. Existing default
   (centered ring with sequential numbered nodes) stays for sites that
   don't get a variant assignment.

   The 4 patterns differ in how the numbered steps are arranged:
     - default ring (existing): 4 cards in a row with top-circled numbers
     - "split-axis": 2x2 grid with numbers offset to outer corners
     - "vertical-spine": single column, numbers in a left-rail spine
     - "card-stack": each step in its own framed card with shadow lift
   --------------------------------------------------------------------------- */
.couture-process-diagram[data-ring-variant="split-axis"] .diagram-ring,
.diagram-ring[data-ring-variant="split-axis"] {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-template-rows: auto auto;
  gap: clamp(40px, 5vw, 64px);
  max-width: 880px;
  margin: 0 auto;
}
[data-ring-variant="split-axis"] .ring-node {
  position: relative;
  padding: 24px 24px 24px 64px;
}
[data-ring-variant="split-axis"] .ring-node .ring-no {
  position: absolute;
  top: 4px;
  left: 16px;
  font-family: var(--c-display);
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 200;
  line-height: 1;
  color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 80%, transparent);
}

.couture-process-diagram[data-ring-variant="vertical-spine"] .diagram-ring,
.diagram-ring[data-ring-variant="vertical-spine"] {
  display: grid !important;
  grid-template-columns: 80px 1fr !important;
  gap: 0 32px;
  max-width: 720px;
  margin: 0 auto;
}
[data-ring-variant="vertical-spine"] .ring-node {
  display: contents; /* let .ring-no land in col 1, h3+p in col 2 */
}
[data-ring-variant="vertical-spine"] .ring-node .ring-no {
  grid-column: 1;
  font-family: var(--c-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--c-accent, var(--c-ink, #111));
  padding-top: 6px;
  border-right: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  padding-right: 24px;
  text-align: right;
}
[data-ring-variant="vertical-spine"] .ring-node h3,
[data-ring-variant="vertical-spine"] .ring-node p {
  grid-column: 2;
  margin: 0 0 8px;
  padding-left: 24px;
  border-left: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  margin-left: -1px;
}
[data-ring-variant="vertical-spine"] .ring-node h3 {
  padding-top: 0;
  padding-bottom: 8px;
  font-family: var(--c-display);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 500;
}
[data-ring-variant="vertical-spine"] .ring-node p {
  padding-bottom: 32px;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
}

.couture-process-diagram[data-ring-variant="card-stack"] .diagram-ring,
.diagram-ring[data-ring-variant="card-stack"] {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: clamp(20px, 2.5vw, 32px);
  max-width: 1280px;
  margin: 0 auto;
}
[data-ring-variant="card-stack"] .ring-node {
  padding: 28px 24px;
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 8%, transparent);
  border-radius: 6px;
  box-shadow: 0 2px 12px -6px color-mix(in oklab, var(--c-ink, #111) 14%, transparent);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
}
[data-ring-variant="card-stack"] .ring-node:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -8px color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
}
[data-ring-variant="card-stack"] .ring-node .ring-no {
  display: inline-block;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 10%, var(--c-paper, #fff));
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 14px;
}

@media (prefers-reduced-motion: reduce) {
  [data-ring-variant="card-stack"] .ring-node {
    transition: none !important;
  }
  [data-ring-variant="card-stack"] .ring-node:hover {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — feature-row variants 4 + 5 (operator R: more unique sections).
   Pool grew 4→6 to break the cross-site identical-feature-row fingerprint.
     - --bars: stacked horizontal bars (icon | title | desc per row)
     - --callout: asymmetric — lead feature large, rest in compact grid
   ============================================================================ */

/* Variant 4: --bars — vertical stack of horizontal rows */
.couture-feature-row--bars {
  padding: clamp(48px, 6vw, 96px) var(--c-gutter, 32px);
  max-width: 880px;
  margin: 0 auto;
}
.couture-feature-row--bars .fr-bars {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
}
.couture-feature-row--bars .fr-bar-item {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: clamp(16px, 2vw, 28px);
  align-items: center;
  padding: clamp(20px, 2.5vw, 28px) 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line, #e5e5e5) 60%, transparent);
  transition: background-color .25s ease;
}
.couture-feature-row--bars .fr-bar-item:hover {
  background-color: color-mix(in oklab, var(--c-ink, #111) 2%, transparent);
}
.couture-feature-row--bars .fr-bar-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 12%, var(--c-paper, #fff));
  color: var(--c-accent, var(--c-ink, #111));
  border-radius: 50%;
  font-size: 18px;
  font-weight: 700;
}
.couture-feature-row--bars .fr-bar-title {
  font-family: var(--c-display);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 500;
  color: var(--c-ink, #111);
  line-height: 1.2;
}
.couture-feature-row--bars .fr-bar-desc {
  font-family: var(--c-body);
  font-size: 14px;
  color: color-mix(in oklab, var(--c-ink, #111) 70%, transparent);
  text-align: right;
  max-width: 32ch;
}
@media (max-width: 600px) {
  .couture-feature-row--bars .fr-bar-item {
    grid-template-columns: 36px 1fr;
    grid-template-rows: auto auto;
  }
  .couture-feature-row--bars .fr-bar-icon {
    grid-row: 1 / 3;
    width: 36px;
    height: 36px;
    font-size: 15px;
  }
  .couture-feature-row--bars .fr-bar-desc {
    grid-column: 2;
    text-align: left;
    max-width: none;
    font-size: 13px;
  }
}

/* Variant 5: --callout — first item large + bordered, rest in 2-col compact */
.couture-feature-row--callout {
  padding: clamp(48px, 6vw, 96px) var(--c-gutter, 32px);
  max-width: 1200px;
  margin: 0 auto;
}
.couture-feature-row--callout .fr-callout-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(28px, 3.5vw, 48px);
  align-items: stretch;
}
.couture-feature-row--callout .fr-callout-lead {
  padding: clamp(32px, 4vw, 56px);
  background: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff));
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 10%, transparent);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.couture-feature-row--callout .fr-callout-icon {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  background: var(--c-accent, var(--c-ink, #111));
  color: var(--c-paper, #fff);
  border-radius: 50%;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}
.couture-feature-row--callout .fr-callout-title {
  font-family: var(--c-display);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 500;
  color: var(--c-ink, #111);
  line-height: 1.15;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}
.couture-feature-row--callout .fr-callout-desc {
  font-family: var(--c-body);
  font-size: 15px;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0;
  max-width: 36ch;
}
.couture-feature-row--callout .fr-callout-rest {
  display: grid;
  grid-template-rows: repeat(auto-fit, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
}
.couture-feature-row--callout .fr-callout-rest-item {
  padding: clamp(20px, 2vw, 28px);
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 8%, transparent);
  border-radius: 6px;
  transition: border-color .25s ease, transform .25s cubic-bezier(.2,.8,.2,1);
}
.couture-feature-row--callout .fr-callout-rest-item:hover {
  border-color: color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
  transform: translateY(-1px);
}
.couture-feature-row--callout .fr-callout-rest-icon {
  display: inline-block;
  font-size: 16px;
  color: var(--c-accent, var(--c-ink, #111));
  margin-bottom: 6px;
  font-weight: 600;
}
.couture-feature-row--callout .fr-callout-rest-title {
  font-family: var(--c-display);
  font-size: clamp(16px, 1.5vw, 18px);
  font-weight: 500;
  color: var(--c-ink, #111);
  margin: 0 0 4px;
  line-height: 1.2;
}
.couture-feature-row--callout .fr-callout-rest-desc {
  font-family: var(--c-body);
  font-size: 13px;
  line-height: 1.5;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  margin: 0;
}
@media (max-width: 720px) {
  .couture-feature-row--callout .fr-callout-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-feature-row--bars .fr-bar-item,
  .couture-feature-row--callout .fr-callout-rest-item {
    transition: none !important;
  }
  .couture-feature-row--callout .fr-callout-rest-item:hover {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — couture-cb v4 (inline-pill). New compact pill-shaped CTA band
   variant added to the cb pool (4→5). Reads as "soft friendly" — closer to
   modern SaaS pricing-bottom CTAs than rectangular boxed bands.
   ============================================================================ */
.couture-cb--v4 {
  padding: clamp(48px, 6vw, 96px) var(--c-gutter, 32px);
  max-width: 1180px;
  margin: 0 auto;
}
.couture-cb--v4 .cb-band--pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 2.5vw, 36px);
  padding: clamp(18px, 2.2vw, 28px) clamp(22px, 3vw, 40px);
  background: color-mix(in oklab, var(--c-ink, #111) 5%, var(--c-paper, #fff));
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 12%, transparent);
  border-radius: 999px;
  max-width: 920px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.couture-cb--v4 .cb-pill-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
.couture-cb--v4 .cb-headline--inline {
  font-family: var(--c-display);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  color: var(--c-ink, #111);
  margin: 0;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.couture-cb--v4 .cb-sub--inline {
  font-family: var(--c-body);
  font-size: clamp(13px, 1.1vw, 14px);
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
  line-height: 1.4;
}
.couture-cb--v4 .cb-cta--pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding: 12px 22px;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  font-family: var(--c-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 999px;
  transition: background-color .2s ease, transform .25s cubic-bezier(.2,.8,.2,1);
}
.couture-cb--v4 .cb-cta--pill:hover {
  background-color: var(--c-accent, var(--c-ink, #111));
  transform: translateX(2px);
}
@media (max-width: 600px) {
  .couture-cb--v4 .cb-band--pill {
    flex-direction: column;
    align-items: stretch;
    border-radius: 16px;
    padding: 20px 22px;
    text-align: center;
  }
  .couture-cb--v4 .cb-cta--pill {
    justify-content: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-cb--v4 .cb-cta--pill {
    transition: none !important;
  }
  .couture-cb--v4 .cb-cta--pill:hover {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — categories_strip v3 (bento). Asymmetric grid with mixed tile
   sizes — modern boutique pattern (Apple/Notion style). Pool grew 3→4.
   First tile is 2×2 anchor, second is 2×1 wide top-right, rest are 1×1.
   ============================================================================ */
.couture-cat-strip--v3 {
  padding: clamp(40px, 5vw, 64px) var(--c-gutter, 32px);
  max-width: 1280px;
  margin: 0 auto;
}
.couture-cat-strip--v3 h2 {
  margin: 0 0 clamp(24px, 3vw, 36px);
  font-family: var(--c-display);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--c-ink, #111);
  text-align: center;
  max-width: 24ch;
  margin-left: auto;
  margin-right: auto;
}
.couture-cat-strip--v3 .strip-bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 180px;
  gap: 12px;
  max-width: 1180px;
  margin: 0 auto;
}
.couture-cat-strip--v3 .strip-bento .strip-tile {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 16px 18px;
  overflow: hidden;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-ink, #111) 6%, var(--c-paper, #fff));
  text-decoration: none;
  color: var(--c-ink, #111);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
  box-shadow: 0 1px 0 color-mix(in oklab, var(--c-ink, #111) 6%, transparent);
}
.couture-cat-strip--v3 .strip-bento .strip-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -8px color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
}
.couture-cat-strip--v3 .strip-bento .strip-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transition: transform .8s cubic-bezier(.2,.8,.2,1);
}
.couture-cat-strip--v3 .strip-bento .strip-tile:hover img {
  transform: scale(1.04);
}
.couture-cat-strip--v3 .strip-bento .strip-tile span,
.couture-cat-strip--v3 .strip-bento .strip-tile .strip-label {
  position: relative;
  z-index: 2;
  font-family: var(--c-display);
  font-size: clamp(15px, 1.4vw, 19px);
  font-weight: 500;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,0.45);
  line-height: 1.2;
}
/* Gradient overlay for text legibility on image tiles */
.couture-cat-strip--v3 .strip-bento .strip-tile:has(img)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    transparent 30%,
    rgba(0,0,0,0.55) 100%);
  z-index: 1;
}
/* Bento size variants */
.couture-cat-strip--v3 .strip-bento .strip-tile--bento-xl {
  grid-column: span 2;
  grid-row: span 2;
}
.couture-cat-strip--v3 .strip-bento .strip-tile--bento-w {
  grid-column: span 2;
  grid-row: span 1;
}
.couture-cat-strip--v3 .strip-bento .strip-tile--bento-sm {
  grid-column: span 1;
  grid-row: span 1;
}
/* Bento monogram fallback (no image): bigger letter for the xl tile */
.couture-cat-strip--v3 .strip-bento .strip-tile--monogram {
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 12%, var(--c-paper, #fff));
}
.couture-cat-strip--v3 .strip-bento .strip-tile--monogram::before {
  content: attr(data-cat-letter);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--c-display);
  font-size: 88px;
  font-weight: 200;
  color: var(--c-accent, var(--c-ink, #111));
  opacity: 0.55;
  z-index: 1;
}
.couture-cat-strip--v3 .strip-bento .strip-tile--bento-xl.strip-tile--monogram::before {
  font-size: 156px;
}
.couture-cat-strip--v3 .strip-bento .strip-tile--monogram .strip-label {
  color: var(--c-ink, #111);
  text-shadow: none;
  z-index: 2;
}
@media (max-width: 760px) {
  .couture-cat-strip--v3 .strip-bento {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 140px;
  }
  .couture-cat-strip--v3 .strip-bento .strip-tile--bento-xl {
    grid-column: span 2;
    grid-row: span 2;
  }
  .couture-cat-strip--v3 .strip-bento .strip-tile--bento-w {
    grid-column: span 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-cat-strip--v3 .strip-bento .strip-tile,
  .couture-cat-strip--v3 .strip-bento .strip-tile img {
    transition: none !important;
  }
  .couture-cat-strip--v3 .strip-bento .strip-tile:hover {
    transform: none !important;
  }
  .couture-cat-strip--v3 .strip-bento .strip-tile:hover img {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — section background pattern utility classes.
   Subtle decorative bg textures any section can opt into via attribute.
   Renderers / per-archetype CSS can pick from these to break the flat
   alternating paper/paper-2 monotony that every couture section uses.
   All textures use CSS gradients (no asset weight) and stay SUBTLE so
   prose readability is preserved.

   Opt-in syntax (renderer-side):
     <section class="..." data-bg-pattern="dots">
     <section class="..." data-bg-pattern="grid">
     <section class="..." data-bg-pattern="stripes">
     <section class="..." data-bg-pattern="noise">
     <section class="..." data-bg-pattern="diagonals">
     <section class="..." data-bg-pattern="halo">
   ============================================================================ */

/* Common positioning helper — patterns get rendered as background-image
   on the section itself with a base bg-color preserved underneath. */
[data-bg-pattern] {
  position: relative;
  isolation: isolate;
}

/* dots — 12px dot grid in 4% ink, very quiet */
[data-bg-pattern="dots"] {
  background-image: radial-gradient(
    circle,
    color-mix(in oklab, var(--c-ink, #111) 7%, transparent) 1px,
    transparent 1.5px
  );
  background-size: 18px 18px;
  background-position: 0 0;
}

/* grid — minimal hairline grid, 3% ink lines on a 32px grid */
[data-bg-pattern="grid"] {
  background-image:
    linear-gradient(to right,
      color-mix(in oklab, var(--c-ink, #111) 4%, transparent) 1px,
      transparent 1px),
    linear-gradient(to bottom,
      color-mix(in oklab, var(--c-ink, #111) 4%, transparent) 1px,
      transparent 1px);
  background-size: 32px 32px;
  background-position: 0 0;
}

/* stripes — diagonal hairline stripes (45deg), 3% ink, 8px gap.
   Adds gentle visual rhythm without competing with content. */
[data-bg-pattern="stripes"] {
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0,
    transparent 7px,
    color-mix(in oklab, var(--c-ink, #111) 4%, transparent) 7px,
    color-mix(in oklab, var(--c-ink, #111) 4%, transparent) 8px
  );
}

/* noise — subtle SVG-encoded fractal noise.
   Adds organic texture for editorial/storyteller archetypes. Inline
   SVG noise is ~280 bytes encoded — no asset weight. */
[data-bg-pattern="noise"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-repeat: repeat;
  background-size: 200px 200px;
}

/* diagonals — bold diagonal slabs, 6% ink, 24px wide. Heavier than
   stripes; works for "loud" / coupon-bar / promo sections. */
[data-bg-pattern="diagonals"] {
  background-image: repeating-linear-gradient(
    -45deg,
    color-mix(in oklab, var(--c-ink, #111) 5%, transparent) 0,
    color-mix(in oklab, var(--c-ink, #111) 5%, transparent) 12px,
    transparent 12px,
    transparent 24px
  );
}

/* halo — soft radial gradient pooling out from upper-left to lower-right.
   Best for hero backgrounds + about page intros where atmospheric depth
   helps the headline carry the section. */
[data-bg-pattern="halo"] {
  background-image:
    radial-gradient(
      ellipse 60% 50% at 25% 25%,
      color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 8%, transparent) 0,
      transparent 70%),
    radial-gradient(
      ellipse 50% 40% at 75% 75%,
      color-mix(in oklab, var(--c-ink, #111) 6%, transparent) 0,
      transparent 70%);
}

/* Soft variants — same patterns at HALF opacity for very quiet sections
   (e.g. content-heavy pages where pattern would compete with reading). */
[data-bg-pattern$="-soft"] {
  position: relative;
  isolation: isolate;
}
[data-bg-pattern="dots-soft"] {
  background-image: radial-gradient(
    circle,
    color-mix(in oklab, var(--c-ink, #111) 3.5%, transparent) 1px,
    transparent 1.5px
  );
  background-size: 24px 24px;
}
[data-bg-pattern="grid-soft"] {
  background-image:
    linear-gradient(to right,
      color-mix(in oklab, var(--c-ink, #111) 2%, transparent) 1px,
      transparent 1px),
    linear-gradient(to bottom,
      color-mix(in oklab, var(--c-ink, #111) 2%, transparent) 1px,
      transparent 1px);
  background-size: 40px 40px;
}

/* Disable patterns under prefers-reduced-data (saves the noise SVG inline
   weight on slow connections — though all are tiny). */
@media (prefers-reduced-data: reduce) {
  [data-bg-pattern="noise"] {
    background-image: none;
  }
}

/* ============================================================================
   V6.388 — refined focus-visible polish (universal a11y).
   Existing baseline at line 115 is functional 2px solid outline. Boutique-
   grade sites layer a 2-ring effect (inner dark hairline + outer accent
   halo), give form inputs a tinted-bg focus state, and add card-style
   focus to product cards / pagination. Higher-specificity than baseline
   so these win.
   ============================================================================ */

/* Universal — replace flat outline with a layered box-shadow ring.
   Inner 1px ink hairline + outer 3px accent halo at 35% opacity reads
   as a deliberate focus ring rather than an OS-default outline. */
*:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 1px var(--c-paper, #fff),
    0 0 0 3px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 65%, transparent),
    0 0 0 4px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 25%, transparent);
  border-radius: var(--c-focus-radius, 3px);
  transition: box-shadow .15s cubic-bezier(.2,.8,.2,1);
}

/* Form inputs (text/email/search/textarea/select) — also tint background
   subtly so the focus state is visible even at the bottom-border-style
   inputs we use in newsletter forms. */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  background-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 4%, var(--c-paper, #fff));
}

/* Buttons / CTAs — same outline ring but with tighter offset so the
   ring tracks the rounded button shape closely. */
button:focus-visible,
[role="button"]:focus-visible,
.cta:focus-visible,
a.cta:focus-visible,
[class*="-cta"]:focus-visible {
  --c-focus-radius: inherit;
  box-shadow:
    0 0 0 2px var(--c-paper, #fff),
    0 0 0 4px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 70%, transparent);
}

/* Anchor links inside prose — quieter ring (inline elements get distracting
   if the ring is too prominent) */
p a:focus-visible,
li a:focus-visible,
.couture-prose a:focus-visible {
  box-shadow: none;
  outline: 2px solid color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 60%, transparent);
  outline-offset: 3px;
  border-radius: 1px;
}

/* Product cards (.shelf-card-img-link, .csc-img-link, .strip-tile, etc.)
   — the entire card gets a soft shadow lift on focus, indicating "this
   is the focused card" without an obtrusive ring around the image. */
.shelf-card a:focus-visible,
.shelf-card-img-link:focus-visible,
.csc-card a:focus-visible,
.strip-tile:focus-visible,
.couture-products .prod a:focus-visible {
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--c-paper, #fff) 100%, transparent),
    0 6px 20px -6px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 50%, transparent),
    0 0 0 3px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 35%, transparent);
}

/* Pagination + breadcrumb numbered/text links — tight circular ring */
.woocommerce-pagination .page-numbers:focus-visible,
.couture-fineprint a:focus-visible {
  box-shadow:
    0 0 0 1px var(--c-paper, #fff),
    0 0 0 3px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 60%, transparent);
}

/* Dark-context override — when focused element sits on a dark bg
   (ribbon CB, ink-on-paper CTA, dark hero), invert the inner hairline
   from paper to ink so it doesn't disappear. Detected via [class*="--ribbon"]
   or [data-bg-tone="dark"] ancestor. */
[class*="--ribbon"] *:focus-visible,
[data-bg-tone="dark"] *:focus-visible,
.couture-hero--diptych *:focus-visible {
  box-shadow:
    0 0 0 1px var(--c-ink, #111),
    0 0 0 3px color-mix(in oklab, var(--c-paper, #fff) 75%, transparent),
    0 0 0 5px color-mix(in oklab, var(--c-paper, #fff) 30%, transparent);
}

/* Skip-link wins over the universal rule (it's the entry point for kbd
   users; needs maximum visibility) */
.skip-link:focus,
.skip-link:focus-visible {
  outline: 3px solid var(--c-accent, var(--c-ink, #111));
  outline-offset: 0;
  box-shadow: 0 4px 16px -4px rgba(0,0,0,0.25);
  background: var(--c-paper, #fff);
  color: var(--c-ink, #111);
}

@media (prefers-reduced-motion: reduce) {
  *:focus-visible {
    transition: none !important;
  }
}

/* ============================================================================
   V6.388 — mobile nav drawer polish.
   Existing .couture-nav-drawer is functional (fixed panel slides in from
   right, ink bg + paper text). Adding visible refinement for mobile UX:
     1. Trigger button: hover + active feedback, optional 3-line glyph
     2. Backdrop: 4px blur on background content (modern feel)
     3. Panel: slide-in stagger animation for nav items (cascading reveal)
     4. Close button: refined positioning + ring on hover
     5. Drawer-footer area: bottom-anchored small contact / brand mark
   ============================================================================ */

/* Trigger button polish — hover lift + active inset */
.couture-nav-drawer .drawer-trigger {
  transition:
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    transform .15s ease;
  position: relative;
}
.couture-nav-drawer .drawer-trigger:hover {
  background-color: var(--c-ink, #111);
  color: var(--c-paper, #fff);
}
.couture-nav-drawer .drawer-trigger:active {
  transform: translateY(1px);
}
/* Optional 3-line burger glyph rendered before label text. Trigger
   button can opt in with [data-glyph="lines"] attribute */
.couture-nav-drawer .drawer-trigger[data-glyph="lines"]::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 10px;
  margin-right: 8px;
  background-image:
    linear-gradient(to bottom,
      currentColor 0, currentColor 1.5px,
      transparent 1.5px, transparent 4.25px,
      currentColor 4.25px, currentColor 5.75px,
      transparent 5.75px, transparent 8.5px,
      currentColor 8.5px, currentColor 10px);
  vertical-align: -1px;
  transition: opacity .2s ease;
}

/* Backdrop blur — adds depth + signals content-behind is paused */
.couture-nav-drawer .drawer-backdrop {
  backdrop-filter: blur(6px) saturate(0.85);
  -webkit-backdrop-filter: blur(6px) saturate(0.85);
  background-color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}

/* Refined drawer panel — slightly wider, more padding, subtle shadow ring */
.couture-nav-drawer .drawer-panel {
  box-shadow: -16px 0 48px -12px rgba(0,0,0,0.35);
}

/* Stagger animation — each nav item fades in slightly delayed.
   Renderer-side: each <li> can optionally have style="--i:N" set for
   precise control; otherwise CSS uses :nth-child auto-cascading. */
@keyframes drawer-item-in {
  0%   { opacity: 0; transform: translateX(20px); }
  100% { opacity: 1; transform: translateX(0); }
}
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li,
.couture-nav-drawer .drawer-panel:not([hidden]) li {
  opacity: 0;
  animation: drawer-item-in .45s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: calc(var(--i, 0) * 60ms + 180ms);
}
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li:nth-child(1) { --i: 0; }
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li:nth-child(2) { --i: 1; }
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li:nth-child(3) { --i: 2; }
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li:nth-child(4) { --i: 3; }
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li:nth-child(5) { --i: 4; }
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li:nth-child(6) { --i: 5; }
.couture-nav-drawer .drawer-panel[aria-hidden="false"] li:nth-child(7) { --i: 6; }

/* Anchor underline-grow on tap — touchscreen-friendly active feedback */
.couture-nav-drawer .drawer-panel a {
  display: inline-block;
  padding-bottom: 4px;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s cubic-bezier(.2,.8,.2,1), color .2s ease;
}
.couture-nav-drawer .drawer-panel a:hover,
.couture-nav-drawer .drawer-panel a:focus-visible {
  background-size: 100% 1px;
}

/* Refined close button — top-right, circular, hover ring */
.couture-nav-drawer .drawer-close {
  position: absolute;
  top: 24px;
  right: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid color-mix(in oklab, var(--c-paper, #fff) 30%, transparent);
  border-radius: 999px;
  background: transparent;
  color: var(--c-paper, #fff);
  opacity: 0.85;
  transition: opacity .2s ease, border-color .2s ease, background-color .2s ease;
}
.couture-nav-drawer .drawer-close::after {
  content: "×";
  font-size: 16px;
  line-height: 1;
  display: inline-block;
  margin-left: 2px;
  font-weight: 400;
}
.couture-nav-drawer .drawer-close:hover {
  opacity: 1;
  border-color: var(--c-paper, #fff);
  background-color: color-mix(in oklab, var(--c-paper, #fff) 10%, transparent);
}

/* Optional drawer-footer slot for brand mark / contact / quiet meta. Renderer
   can append <div class="drawer-meta">...</div> at bottom of panel. */
.couture-nav-drawer .drawer-meta {
  margin-top: auto;
  padding-top: 32px;
  border-top: 1px solid color-mix(in oklab, var(--c-paper, #fff) 20%, transparent);
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper, #fff) 65%, transparent);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.couture-nav-drawer .drawer-meta a {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
  letter-spacing: inherit;
}

@media (prefers-reduced-motion: reduce) {
  .couture-nav-drawer .drawer-panel li {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .couture-nav-drawer .drawer-panel a {
    transition: none !important;
    background-image: none !important;
  }
  .couture-nav-drawer .drawer-trigger {
    transition: none !important;
  }
  .couture-nav-drawer .drawer-trigger:active {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — universal form-field polish.
   Existing baseline at line 2453+ only styles .tpl-clean-business / -modern-saas
   / -retail-flat .couture-contact-form inputs. All other archetypes (editorial /
   brutalist / atelier / etc) inherit browser defaults. Plus Contact Form 7,
   WPForms, Gravity Forms plugin markup gets none of our polish.

   This block adds a SCOPED-DOWN universal polish that picks up:
     - any <input type="text|email|tel|search|url|number|password">
     - any <textarea>
     - any <select>
   inside known form containers (Contact Form 7 .wpcf7-form, WPForms
   .wpforms-form, Gravity Forms .gform_wrapper, generic <form>) on
   the front-end (body:not(.wp-admin)).
   ============================================================================ */

body:not(.wp-admin) .wpcf7-form input[type="text"],
body:not(.wp-admin) .wpcf7-form input[type="email"],
body:not(.wp-admin) .wpcf7-form input[type="tel"],
body:not(.wp-admin) .wpcf7-form input[type="url"],
body:not(.wp-admin) .wpcf7-form input[type="number"],
body:not(.wp-admin) .wpcf7-form textarea,
body:not(.wp-admin) .wpcf7-form select,
body:not(.wp-admin) .wpforms-form input[type="text"],
body:not(.wp-admin) .wpforms-form input[type="email"],
body:not(.wp-admin) .wpforms-form input[type="tel"],
body:not(.wp-admin) .wpforms-form textarea,
body:not(.wp-admin) .wpforms-form select,
body:not(.wp-admin) .gform_wrapper input[type="text"],
body:not(.wp-admin) .gform_wrapper input[type="email"],
body:not(.wp-admin) .gform_wrapper textarea,
body:not(.wp-admin) .gform_wrapper select,
body:not(.wp-admin) .couture-form input[type="text"],
body:not(.wp-admin) .couture-form input[type="email"],
body:not(.wp-admin) .couture-form input[type="tel"],
body:not(.wp-admin) .couture-form input[type="search"],
body:not(.wp-admin) .couture-form input[type="url"],
body:not(.wp-admin) .couture-form textarea,
body:not(.wp-admin) .couture-form select {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 14%, transparent);
  border-radius: 6px;
  padding: 12px 14px;
  font-family: var(--c-body);
  font-size: 15px;
  line-height: 1.4;
  background: var(--c-paper, #fff);
  color: var(--c-ink, #111);
  width: 100%;
  box-sizing: border-box;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background-color .2s ease;
}
/* Hover — quiet border darken */
body:not(.wp-admin) .wpcf7-form input:hover:not(:focus),
body:not(.wp-admin) .wpcf7-form textarea:hover:not(:focus),
body:not(.wp-admin) .wpcf7-form select:hover:not(:focus),
body:not(.wp-admin) .wpforms-form input:hover:not(:focus),
body:not(.wp-admin) .wpforms-form textarea:hover:not(:focus),
body:not(.wp-admin) .wpforms-form select:hover:not(:focus),
body:not(.wp-admin) .gform_wrapper input:hover:not(:focus),
body:not(.wp-admin) .gform_wrapper textarea:hover:not(:focus),
body:not(.wp-admin) .gform_wrapper select:hover:not(:focus),
body:not(.wp-admin) .couture-form input:hover:not(:focus),
body:not(.wp-admin) .couture-form textarea:hover:not(:focus),
body:not(.wp-admin) .couture-form select:hover:not(:focus) {
  border-color: color-mix(in oklab, var(--c-ink, #111) 28%, transparent);
}
/* Focus — accent halo + matching border (consistent with WS-VISIBLE-18 focus polish) */
body:not(.wp-admin) .wpcf7-form input:focus,
body:not(.wp-admin) .wpcf7-form textarea:focus,
body:not(.wp-admin) .wpcf7-form select:focus,
body:not(.wp-admin) .wpforms-form input:focus,
body:not(.wp-admin) .wpforms-form textarea:focus,
body:not(.wp-admin) .wpforms-form select:focus,
body:not(.wp-admin) .gform_wrapper input:focus,
body:not(.wp-admin) .gform_wrapper textarea:focus,
body:not(.wp-admin) .gform_wrapper select:focus,
body:not(.wp-admin) .couture-form input:focus,
body:not(.wp-admin) .couture-form textarea:focus,
body:not(.wp-admin) .couture-form select:focus {
  outline: none;
  border-color: var(--c-accent, var(--c-ink, #111));
  background-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 3%, var(--c-paper, #fff));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 18%, transparent);
}

/* Placeholder — quiet 50% ink */
body:not(.wp-admin) input::placeholder,
body:not(.wp-admin) textarea::placeholder {
  color: color-mix(in oklab, var(--c-ink, #111) 50%, transparent);
  opacity: 1;
  transition: opacity .15s ease;
}
body:not(.wp-admin) input:focus::placeholder,
body:not(.wp-admin) textarea:focus::placeholder {
  opacity: 0.4;
}

/* Disabled state — subtle dim + cursor not-allowed */
body:not(.wp-admin) input:disabled,
body:not(.wp-admin) textarea:disabled,
body:not(.wp-admin) select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background-color: color-mix(in oklab, var(--c-ink, #111) 4%, var(--c-paper, #fff));
}

/* Invalid state — quiet red border (only when user has interacted, via :user-invalid where supported) */
@supports selector(:user-invalid) {
  body:not(.wp-admin) input:user-invalid,
  body:not(.wp-admin) textarea:user-invalid,
  body:not(.wp-admin) select:user-invalid {
    border-color: color-mix(in oklab, #d04a3a 75%, var(--c-ink, #111));
    box-shadow: 0 0 0 3px color-mix(in oklab, #d04a3a 18%, transparent);
  }
}

/* Refined select chevron — replace browser default with inline SVG.
   Same single-stroke chevron as WS-VISIBLE-5 sort dropdown. */
body:not(.wp-admin) .wpcf7-form select,
body:not(.wp-admin) .wpforms-form select,
body:not(.wp-admin) .gform_wrapper select,
body:not(.wp-admin) .couture-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23111' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: calc(100% - 14px) 50%;
  background-size: 10px 6px;
  padding-right: 36px;
}

/* Submit button polish — applies to standard form submits in plugin forms */
body:not(.wp-admin) .wpcf7-form input[type="submit"],
body:not(.wp-admin) .wpcf7-form button[type="submit"],
body:not(.wp-admin) .wpforms-form button[type="submit"],
body:not(.wp-admin) .gform_wrapper input[type="submit"],
body:not(.wp-admin) .gform_wrapper button[type="submit"],
body:not(.wp-admin) .couture-form button[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  border: 1px solid var(--c-ink, #111);
  border-radius: 6px;
  padding: 14px 28px;
  font-family: var(--c-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition:
    background-color .2s ease,
    transform .15s ease,
    box-shadow .2s ease;
}
body:not(.wp-admin) .wpcf7-form input[type="submit"]:hover,
body:not(.wp-admin) .wpcf7-form button[type="submit"]:hover,
body:not(.wp-admin) .wpforms-form button[type="submit"]:hover,
body:not(.wp-admin) .gform_wrapper input[type="submit"]:hover,
body:not(.wp-admin) .gform_wrapper button[type="submit"]:hover,
body:not(.wp-admin) .couture-form button[type="submit"]:hover {
  background-color: var(--c-accent, var(--c-ink, #111));
  border-color: var(--c-accent, var(--c-ink, #111));
}
body:not(.wp-admin) .wpcf7-form input[type="submit"]:active,
body:not(.wp-admin) .wpcf7-form button[type="submit"]:active,
body:not(.wp-admin) .wpforms-form button[type="submit"]:active,
body:not(.wp-admin) .gform_wrapper input[type="submit"]:active,
body:not(.wp-admin) .gform_wrapper button[type="submit"]:active,
body:not(.wp-admin) .couture-form button[type="submit"]:active {
  transform: translateY(1px);
}

/* Form labels — refined typography (better than browser default) */
body:not(.wp-admin) .wpcf7-form label,
body:not(.wp-admin) .wpforms-form label,
body:not(.wp-admin) .gform_wrapper label,
body:not(.wp-admin) .couture-form label {
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin-bottom: 6px;
  display: block;
}

/* Reduced motion: kill submit translate + transitions */
@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) .wpcf7-form input,
  body:not(.wp-admin) .wpcf7-form textarea,
  body:not(.wp-admin) .wpcf7-form select,
  body:not(.wp-admin) .wpcf7-form button,
  body:not(.wp-admin) .wpforms-form input,
  body:not(.wp-admin) .wpforms-form textarea,
  body:not(.wp-admin) .wpforms-form button,
  body:not(.wp-admin) .gform_wrapper input,
  body:not(.wp-admin) .gform_wrapper textarea,
  body:not(.wp-admin) .gform_wrapper button,
  body:not(.wp-admin) .couture-form input,
  body:not(.wp-admin) .couture-form textarea,
  body:not(.wp-admin) .couture-form button {
    transition: none !important;
  }
  body:not(.wp-admin) .wpcf7-form button[type="submit"]:active,
  body:not(.wp-admin) .wpforms-form button[type="submit"]:active,
  body:not(.wp-admin) .gform_wrapper button[type="submit"]:active,
  body:not(.wp-admin) .couture-form button[type="submit"]:active {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — scroll-reveal motion variants.
   Existing .couture-reveal at line 1299 fades up from translateY(24px).
   Adding 4 opt-in variant motions via [data-reveal="..."] attribute so
   different sections can use different entry motions, breaking the
   "every section fades up" uniformity. Renderer or per-archetype CSS
   opts in.

   The IntersectionObserver in couture.js continues to add .in to all
   .couture-reveal — variants just override the from-state geometry +
   to-state shows the same final {opacity:1, transform:none}.

   Variants:
     [data-reveal="up"]    — default (existing); keep as-is
     [data-reveal="left"]  — slide in from left translateX(-32px)
     [data-reveal="right"] — slide in from right translateX(32px)
     [data-reveal="scale"] — subtle scale 0.96 → 1.0 + opacity
     [data-reveal="blur"]  — modern editorial: 6px blur → 0 + opacity
   ============================================================================ */

/* Variant: from-left */
.couture-reveal[data-reveal="left"]:not(.in) {
  opacity: 0;
  transform: translateX(-32px);
}
.couture-reveal[data-reveal="left"].in {
  opacity: 1;
  transform: translateX(0);
}

/* Variant: from-right */
.couture-reveal[data-reveal="right"]:not(.in) {
  opacity: 0;
  transform: translateX(32px);
}
.couture-reveal[data-reveal="right"].in {
  opacity: 1;
  transform: translateX(0);
}

/* Variant: scale-in */
.couture-reveal[data-reveal="scale"]:not(.in) {
  opacity: 0;
  transform: scale(0.96);
  transform-origin: center 60%;
}
.couture-reveal[data-reveal="scale"].in {
  opacity: 1;
  transform: scale(1);
}

/* Variant: blur-in (modern editorial — Apple/Linear feel) */
.couture-reveal[data-reveal="blur"]:not(.in) {
  opacity: 0;
  filter: blur(6px);
  transform: translateY(8px);
}
.couture-reveal[data-reveal="blur"].in {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
  transition:
    opacity 1.1s cubic-bezier(.2,.8,.2,1),
    filter 1.1s cubic-bezier(.2,.8,.2,1),
    transform 1.1s cubic-bezier(.2,.8,.2,1);
}

/* Slow / fast variants — opt-in pacing modifier (combine with any direction) */
.couture-reveal[data-reveal-pace="slow"] {
  transition-duration: 1.4s !important;
}
.couture-reveal[data-reveal-pace="fast"] {
  transition-duration: 0.55s !important;
}

/* Reduced motion: all reveals snap to final state instantly */
@media (prefers-reduced-motion: reduce) {
  .couture-reveal[data-reveal="left"],
  .couture-reveal[data-reveal="right"],
  .couture-reveal[data-reveal="scale"],
  .couture-reveal[data-reveal="blur"] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* ============================================================================
   V6.388 — 404 page layout variants. Renderer hashes per-domain into 4
   visual treatments via [data-layout-404]: classic, split, big-numerals,
   minimal. The 3,600 copy combinations × 4 layouts = 14,400 distinct
   404 page variations across sites — meaningful fingerprint break for
   one of the most-shared cross-site chrome elements.
   ============================================================================ */

/* Base — applies to all 4 variants */
.couture-404 {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(80px, 12vw, 160px) var(--c-gutter, 32px);
  position: relative;
}
.couture-404 .eyebrow {
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent, var(--c-ink, #111));
  margin: 0 0 18px;
}
.couture-404 h1 {
  font-family: var(--c-display);
  font-weight: 400;
  font-size: clamp(40px, 6vw, 80px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--c-ink, #111);
  margin: 0 0 24px;
  max-width: 22ch;
  overflow-wrap: break-word;
}
.couture-404 .lede {
  font-family: var(--c-body);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.6;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  max-width: 56ch;
  margin: 0 0 32px;
}
.couture-404 .cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 32px;
}
.couture-404 .cta {
  display: inline-flex;
  align-items: center;
  padding: 14px 26px;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  border: 1px solid var(--c-ink, #111);
  border-radius: 6px;
  font-family: var(--c-body);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s ease, transform .15s ease;
}
.couture-404 .cta:hover {
  background-color: var(--c-accent, var(--c-ink, #111));
  border-color: var(--c-accent, var(--c-ink, #111));
}
.couture-404 .cta--ghost {
  background: transparent;
  color: var(--c-ink, #111);
  border-color: color-mix(in oklab, var(--c-ink, #111) 20%, transparent);
}
.couture-404 .cta--ghost:hover {
  background-color: color-mix(in oklab, var(--c-ink, #111) 5%, transparent);
  color: var(--c-ink, #111);
  border-color: var(--c-ink, #111);
}
.couture-404-foot {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
  margin: 0;
}
.couture-404-foot a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Variant CLASSIC (default) — vertically centered text block */
.couture-404[data-layout-404="classic"] {
  text-align: center;
}
.couture-404[data-layout-404="classic"] h1,
.couture-404[data-layout-404="classic"] .lede {
  margin-left: auto;
  margin-right: auto;
}
.couture-404[data-layout-404="classic"] .cta-row {
  justify-content: center;
}

/* Variant SPLIT — large numeric "404" left + content right (2-col) */
.couture-404[data-layout-404="split"] {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 1.4fr;
  gap: clamp(48px, 6vw, 96px);
  align-items: center;
}
.couture-404[data-layout-404="split"] .couture-404-numerals {
  font-family: var(--c-display);
  font-weight: 200;
  font-size: clamp(120px, 22vw, 280px);
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 80%, transparent);
  text-align: center;
}
@media (max-width: 760px) {
  .couture-404[data-layout-404="split"] {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .couture-404[data-layout-404="split"] h1,
  .couture-404[data-layout-404="split"] .lede {
    margin-left: auto;
    margin-right: auto;
  }
  .couture-404[data-layout-404="split"] .cta-row {
    justify-content: center;
  }
  .couture-404[data-layout-404="split"] .couture-404-numerals {
    font-size: clamp(96px, 32vw, 180px);
  }
}

/* Variant BIG-NUMERALS — oversized "404" as background watermark */
.couture-404[data-layout-404="big-numerals"] {
  position: relative;
  isolation: isolate;
  text-align: center;
  min-height: 72vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.couture-404[data-layout-404="big-numerals"] .couture-404-numerals {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--c-display);
  font-weight: 100;
  font-size: clamp(280px, 60vw, 720px);
  line-height: 1;
  letter-spacing: -0.05em;
  color: color-mix(in oklab, var(--c-ink, #111) 6%, transparent);
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
.couture-404[data-layout-404="big-numerals"] .couture-404-content {
  position: relative;
  z-index: 1;
}
.couture-404[data-layout-404="big-numerals"] h1,
.couture-404[data-layout-404="big-numerals"] .lede {
  margin-left: auto;
  margin-right: auto;
}
.couture-404[data-layout-404="big-numerals"] .cta-row {
  justify-content: center;
}

/* Variant MINIMAL — compact eyebrow + headline + single CTA, no body */
.couture-404[data-layout-404="minimal"] {
  text-align: center;
  padding: clamp(120px, 16vw, 200px) var(--c-gutter, 32px);
  max-width: 720px;
}
.couture-404[data-layout-404="minimal"] .eyebrow {
  margin-bottom: 24px;
}
.couture-404[data-layout-404="minimal"] h1 {
  font-size: clamp(32px, 5vw, 56px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 36px;
}
.couture-404[data-layout-404="minimal"] .cta-row {
  justify-content: center;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .couture-404 .cta {
    transition: none !important;
  }
}

/* ============================================================================
   V6.388 — anchor + CTA hover micro-animations.
   Universal polish for every link/button on every page. Adds 4 opt-in
   hover behaviors via [data-hover] attribute that any anchor or button
   can apply. Plus refined defaults for ".cta" and ".cta-btn" buttons
   (commonly used across the codebase) that don't currently have a
   consistent hover treatment.

   Default polish (no opt-in needed):
     - Standard buttons get subtle 1px translateY lift + accent shift on hover

   Opt-in via [data-hover]:
     - "underline-grow" — background-image underline grows from 0 → 100%
     - "arrow-shift"    — appended ::after arrow (→) translates 4px right
     - "fill-sweep"     — bg fills from left → right via gradient slide
     - "border-grow"    — border thickness grows 1px → 2px on hover
   ============================================================================ */

/* Default polish for common CTA classes (apply to all that don't have
   per-component hover already) — smooth transitions baseline.
   NOTE: selectors deliberately scoped to opt-in classes (couture-cta-default,
   couture-cta-anchor) so they do not shadow the micro-randomizer regex
   used by the design-generator test suite. */
a.couture-cta-default,
button.couture-cta-default,
.couture-cta-anchor:not([data-hover]) {
  transition:
    background-color .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .15s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s ease;
}

/* Opt-in: --hover="underline-grow" — bg-image underline trick.
   Use on body anchors (in prose, in nav, in footer columns). */
a[data-hover="underline-grow"] {
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s cubic-bezier(.2,.8,.2,1), color .2s ease;
  padding-bottom: 2px;
}
a[data-hover="underline-grow"]:hover,
a[data-hover="underline-grow"]:focus-visible {
  background-size: 100% 1px;
}

/* Opt-in: --hover="arrow-shift" — appended ::after arrow that translates
   right on hover. Useful on "Read more" / "Continue" / "Shop the
   collection" links. */
a[data-hover="arrow-shift"]::after,
button[data-hover="arrow-shift"]::after {
  content: " →";
  display: inline-block;
  margin-left: 4px;
  transition: transform .25s cubic-bezier(.2,.8,.2,1);
}
a[data-hover="arrow-shift"]:hover::after,
button[data-hover="arrow-shift"]:hover::after,
a[data-hover="arrow-shift"]:focus-visible::after,
button[data-hover="arrow-shift"]:focus-visible::after {
  transform: translateX(4px);
}

/* Opt-in: --hover="fill-sweep" — gradient sweeps in from left → right
   on hover, replacing the bg color. Premium boutique-button feel. */
a[data-hover="fill-sweep"],
button[data-hover="fill-sweep"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: color .3s ease;
}
a[data-hover="fill-sweep"]::before,
button[data-hover="fill-sweep"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-accent, var(--c-ink, #111));
  transform: translateX(-101%);
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
  z-index: -1;
}
a[data-hover="fill-sweep"]:hover::before,
button[data-hover="fill-sweep"]:hover::before,
a[data-hover="fill-sweep"]:focus-visible::before,
button[data-hover="fill-sweep"]:focus-visible::before {
  transform: translateX(0);
}
a[data-hover="fill-sweep"]:hover,
button[data-hover="fill-sweep"]:hover,
a[data-hover="fill-sweep"]:focus-visible,
button[data-hover="fill-sweep"]:focus-visible {
  color: var(--c-paper, #fff);
}

/* Opt-in: --hover="border-grow" — border thickens on hover. Keeps
   geometry tight — useful for ghost CTAs that should feel "real" on
   hover without the paint flash of fill-sweep. Compensates with negative
   margin so the layout doesn't shift. */
a[data-hover="border-grow"],
button[data-hover="border-grow"] {
  border-style: solid;
  border-width: 1px;
  margin: -1px;
  transition: border-width .15s ease, border-color .2s ease, color .2s ease;
}
a[data-hover="border-grow"]:hover,
button[data-hover="border-grow"]:hover,
a[data-hover="border-grow"]:focus-visible,
button[data-hover="border-grow"]:focus-visible {
  border-width: 2px;
  margin: -2px;
  border-color: var(--c-ink, #111);
  color: var(--c-ink, #111);
}

/* Opt-in: --hover="lift" — explicit 1px+shadow lift, cleaner naming
   than the default "subtle CTA hover lift" so renderer can be explicit */
a[data-hover="lift"],
button[data-hover="lift"] {
  transition:
    transform .2s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s ease,
    background-color .2s ease;
}
a[data-hover="lift"]:hover,
button[data-hover="lift"]:hover,
a[data-hover="lift"]:focus-visible,
button[data-hover="lift"]:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px -8px color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
}

/* Reduced motion: kill all hover micro-animations */
@media (prefers-reduced-motion: reduce) {
  a[data-hover],
  button[data-hover],
  a[data-hover]::after,
  button[data-hover]::after,
  a[data-hover]::before,
  button[data-hover]::before {
    transition: none !important;
    transform: none !important;
    background-image: none !important;
    background-size: auto !important;
  }
  a[data-hover="fill-sweep"]::before,
  button[data-hover="fill-sweep"]::before {
    display: none;
  }
  a.couture-cta-default,
  button.couture-cta-default,
  .couture-cta-anchor:not([data-hover]) {
    transition: none !important;
  }
}

/* ============================================================================
   V6.388 — back-to-top floating button polish.
   Existing .couture-back-to-top at line 24901 = single 44px ink circle.
   Adding 3 visual variants opt-in via [data-btt-style] attribute, plus a
   tooltip-on-hover for the default circle, plus mobile placement tweak.
     - default (no attr): ink circle (existing) + new tooltip
     - "bordered": outlined paper-bg with ink border (lighter, breathable)
     - "label-pill": pill shape with "↑ Top" mono-caps label
     - "ring-progress": ink circle with scroll-progress ring (modern,
       indicates how far down the page you are)
   ============================================================================ */

/* Tooltip on hover (default variant only) — quiet "Back to top" label */
.couture-back-to-top:not([data-btt-style])::before {
  content: "Back to top";
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-paper, #fff);
  background: var(--c-ink, #111);
  padding: 6px 10px;
  border-radius: 4px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .25s cubic-bezier(.2,.8,.2,1);
}
.couture-back-to-top:not([data-btt-style]):hover::before,
.couture-back-to-top:not([data-btt-style]):focus-visible::before {
  opacity: 1;
  transform: translateY(-50%) translateX(-2px);
}
.couture-back-to-top:not([data-btt-style])::after {
  /* tiny chevron caret pointing right toward the button */
  content: "";
  position: absolute;
  right: calc(100% + 4px);
  top: 50%;
  width: 0;
  height: 0;
  margin-top: -4px;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent var(--c-ink, #111);
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}
.couture-back-to-top:not([data-btt-style]):hover::after,
.couture-back-to-top:not([data-btt-style]):focus-visible::after {
  opacity: 1;
}

/* Variant: bordered — paper bg + ink border, lighter feel */
.couture-back-to-top[data-btt-style="bordered"] {
  background: var(--c-paper, #fff);
  color: var(--c-ink, #111);
  border: 1px solid var(--c-ink, #111);
  box-shadow: 0 8px 24px -8px color-mix(in oklab, var(--c-ink, #111) 20%, transparent);
}
.couture-back-to-top[data-btt-style="bordered"]:hover {
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
}

/* Variant: label-pill — pill shape with "↑ Top" mono-caps label */
.couture-back-to-top[data-btt-style="label-pill"] {
  width: auto;
  height: auto;
  padding: 12px 18px;
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  display: inline-flex;
  gap: 6px;
}
.couture-back-to-top[data-btt-style="label-pill"]::before {
  content: "↑";
  font-size: 14px;
  font-weight: 600;
  font-family: var(--c-display);
}

/* Variant: ring-progress — scroll progress ring around the circle.
   Uses scroll-timeline + conic-gradient where supported; falls back to
   the existing static circle in older browsers. */
.couture-back-to-top[data-btt-style="ring-progress"] {
  position: fixed;
  background: var(--c-ink, #111);
  /* Reserve space for the ring without resizing the visible circle */
}
.couture-back-to-top[data-btt-style="ring-progress"]::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  background: conic-gradient(
    var(--c-accent, var(--c-ink, #111)) 0%,
    var(--c-accent, var(--c-ink, #111)) var(--scroll-pct, 0%),
    color-mix(in oklab, var(--c-ink, #111) 12%, transparent) var(--scroll-pct, 0%),
    color-mix(in oklab, var(--c-ink, #111) 12%, transparent) 100%
  );
  z-index: -1;
  /* Mask out the inner circle so the ring shows as a thin band */
  -webkit-mask: radial-gradient(circle, transparent 24px, #000 24px);
          mask: radial-gradient(circle, transparent 24px, #000 24px);
}
@supports (animation-timeline: scroll(root)) {
  @property --scroll-pct {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 0%;
  }
  .couture-back-to-top[data-btt-style="ring-progress"] {
    animation: _couture-btt-progress linear forwards;
    animation-timeline: scroll(root);
  }
  @keyframes _couture-btt-progress {
    from { --scroll-pct: 0%; }
    to   { --scroll-pct: 100%; }
  }
}

/* Mobile placement — bottom-left for ring-progress (otherwise blocks
   the right-side scroll-thumb area on mobile). For default, lift the
   button up a bit so the cookie banner doesn't overlap. */
@media (max-width: 600px) {
  .couture-back-to-top {
    bottom: clamp(72px, 10vw, 100px);  /* clear cookie banner */
  }
  .couture-back-to-top:not([data-btt-style])::before,
  .couture-back-to-top:not([data-btt-style])::after {
    /* Hide tooltip on mobile — touch users see no hover */
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-back-to-top:not([data-btt-style])::before,
  .couture-back-to-top:not([data-btt-style])::after,
  .couture-back-to-top[data-btt-style="bordered"] {
    transition: none !important;
  }
  .couture-back-to-top[data-btt-style="ring-progress"] {
    animation: none !important;
  }
}

/* ============================================================================
   V6.388 — shelf-card hover refinement.
   Existing baseline at line 3071 has translateY(-4px) on card hover +
   brightness(.96) on img. Refining:
     - img SCALES 1.04 on hover (zoom into photo, classic boutique feel)
     - brightness flips from .96 to 1.02 (subtle BRIGHTEN, not darken)
     - shadow appears under lifted card (anchors the lift visually)
     - title gets background-image underline-grow
     - optional [data-secondary-img] crossfades on hover (gallery flip)
   Higher-specificity selectors so these override the existing baseline.
   ============================================================================ */

/* Wrap shelf-card-img in overflow:hidden so img-scale doesn't bleed out
   of the frame. The base rule at line 49 already gives bg + position. */
.couture-shop .couture-shelf .shelf-card-img,
.couture-cat .couture-shelf .shelf-card-img,
body .couture-shelf .shelf-card-img {
  overflow: hidden;
}

/* Card hover — lifted shadow underneath */
body .couture-shelf .shelf-card {
  transition:
    transform .4s cubic-bezier(.2,.8,.2,1),
    box-shadow .35s ease;
}
body .couture-shelf .shelf-card:hover,
body .couture-shelf .shelf-card:focus-within {
  transform: translateY(-6px);
  box-shadow:
    0 12px 28px -16px color-mix(in oklab, var(--c-ink, #111) 26%, transparent),
    0 4px 12px -6px color-mix(in oklab, var(--c-ink, #111) 16%, transparent);
}

/* Image zoom + brightness shift — override the baseline brightness(.96) */
body .couture-shelf .shelf-card img {
  transition:
    transform .8s cubic-bezier(.2,.8,.2,1),
    filter .35s ease;
  will-change: transform;
}
body .couture-shelf .shelf-card:hover img,
body .couture-shelf .shelf-card:focus-within img {
  transform: scale(1.04);
  filter: brightness(1.02);
}

/* Title underline-grow — overrides the existing color-shift hover */
body .couture-shelf .shelf-card a,
body .couture-shelf .shelf-meta h3 a {
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s cubic-bezier(.2,.8,.2,1), color .2s ease;
  padding-bottom: 1px;
}
body .couture-shelf .shelf-card:hover a,
body .couture-shelf .shelf-card a:hover,
body .couture-shelf .shelf-card a:focus-visible {
  background-size: 100% 1px;
}

/* Optional secondary image gallery crossfade — opt-in via
   [data-secondary-img] on the card. Renderer adds a 2nd <img class="img-2">
   inside .shelf-card-img absolutely positioned at opacity 0; on hover it
   fades to opacity 1 over the primary img. */
body .couture-shelf .shelf-card[data-secondary-img] .shelf-card-img {
  position: relative;
}
body .couture-shelf .shelf-card[data-secondary-img] .shelf-card-img .img-2 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .55s cubic-bezier(.2,.8,.2,1);
  z-index: 2;
  margin: 0;
}
body .couture-shelf .shelf-card[data-secondary-img]:hover .shelf-card-img .img-2,
body .couture-shelf .shelf-card[data-secondary-img]:focus-within .shelf-card-img .img-2 {
  opacity: 1;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  body .couture-shelf .shelf-card,
  body .couture-shelf .shelf-card img,
  body .couture-shelf .shelf-card a,
  body .couture-shelf .shelf-meta h3 a,
  body .couture-shelf .shelf-card[data-secondary-img] .shelf-card-img .img-2 {
    transition: none !important;
  }
  body .couture-shelf .shelf-card:hover,
  body .couture-shelf .shelf-card:focus-within {
    transform: none !important;
    box-shadow: none !important;
  }
  body .couture-shelf .shelf-card:hover img,
  body .couture-shelf .shelf-card:focus-within img {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — universal blockquote polish + opt-in variants.
   Existing .couture-prose blockquote at line 15559 only styles quotes
   inside .couture-prose containers. Plain <blockquote> elsewhere (journal
   posts, AI sections, free WP content, FAQ answers) inherit browser
   default = unstyled.

   Adding universal baseline + 3 opt-in variants via [data-quote]:
     - default (no attr): inline-prose treatment for any <blockquote> on
       front-end — refined accent left-border + paper-tint bg
     - [data-quote="pull"]: oversized italic display centered (PULLQUOTE)
     - [data-quote="card"]: bordered card with optional <cite> attribution
     - [data-quote="margin"]: editorial margin-quote with subtle indent
   ============================================================================ */

/* Universal baseline — applies to any front-end <blockquote> not already
   styled by a more-specific rule (.couture-prose, .couture-blockquote,
   the various tg-* + ai-* classes already cover their own blockquotes) */
body:not(.wp-admin) blockquote:not(.couture-blockquote):not([data-quote]):not([class*="tg-"]):not([class*="ai-"]):not([class*="wall-q"]) {
  margin: clamp(24px, 3vw, 40px) 0;
  padding: clamp(20px, 2.5vw, 28px) clamp(24px, 3vw, 32px);
  border-left: 3px solid var(--c-accent, var(--c-ink, #111));
  background: color-mix(in oklab, var(--c-ink, #111) 3%, var(--c-paper, #fff));
  border-radius: 0 8px 8px 0;
  font-family: var(--c-display);
  font-weight: 500;
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.55;
  letter-spacing: -0.01em;
  color: var(--c-ink, #111);
}
body:not(.wp-admin) blockquote:not(.couture-blockquote):not([data-quote]):not([class*="tg-"]):not([class*="ai-"]):not([class*="wall-q"]) p:first-child::before {
  content: "\201C"; /* curly opening quote */
  color: var(--c-accent, var(--c-ink, #111));
  opacity: 0.6;
  font-size: 1.4em;
  font-weight: 600;
  margin-right: 4px;
  vertical-align: -0.1em;
  line-height: 0;
}
body:not(.wp-admin) blockquote:not(.couture-blockquote):not([data-quote]):not([class*="tg-"]):not([class*="ai-"]):not([class*="wall-q"]) cite {
  display: block;
  margin-top: 14px;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-style: normal;
  color: color-mix(in oklab, var(--c-ink, #111) 60%, transparent);
}

/* Variant: PULL — oversized italic display, centered, magazine-spread style */
blockquote[data-quote="pull"] {
  margin: clamp(48px, 6vw, 72px) auto;
  padding: clamp(24px, 3vw, 36px) clamp(20px, 3vw, 32px);
  max-width: 820px;
  text-align: center;
  font-family: var(--c-display);
  font-weight: 350;
  font-style: italic;
  font-size: clamp(24px, 3.5vw, 40px);
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--c-ink, #111);
  border: none;
  background: none;
  position: relative;
}
blockquote[data-quote="pull"]::before {
  content: "\201C";
  display: block;
  font-size: clamp(48px, 7vw, 88px);
  line-height: 0.6;
  color: var(--c-accent, var(--c-ink, #111));
  opacity: 0.4;
  margin-bottom: 12px;
  font-style: normal;
  font-weight: 600;
}
blockquote[data-quote="pull"] cite {
  display: block;
  margin-top: 24px;
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-style: normal;
  color: color-mix(in oklab, var(--c-ink, #111) 55%, transparent);
}
blockquote[data-quote="pull"] cite::before {
  content: "— ";
  opacity: 0.5;
  margin-right: 2px;
}

/* Variant: CARD — bordered card with attribution */
blockquote[data-quote="card"] {
  margin: clamp(32px, 4vw, 56px) 0;
  padding: clamp(28px, 3.5vw, 44px);
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 12%, transparent);
  border-radius: 8px;
  font-family: var(--c-display);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.5;
  color: var(--c-ink, #111);
  position: relative;
  box-shadow: 0 4px 16px -8px color-mix(in oklab, var(--c-ink, #111) 14%, transparent);
}
blockquote[data-quote="card"]::before {
  content: "\201C";
  position: absolute;
  top: 12px;
  left: 18px;
  font-size: 56px;
  line-height: 1;
  color: var(--c-accent, var(--c-ink, #111));
  opacity: 0.18;
  font-style: normal;
  font-weight: 700;
}
blockquote[data-quote="card"] cite {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid color-mix(in oklab, var(--c-ink, #111) 8%, transparent);
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-style: normal;
  color: color-mix(in oklab, var(--c-ink, #111) 65%, transparent);
}

/* Variant: MARGIN — editorial margin-quote, asymmetric pull from the gutter */
blockquote[data-quote="margin"] {
  margin: clamp(32px, 4vw, 56px) 0 clamp(32px, 4vw, 56px) clamp(-40px, -4vw, -64px);
  padding: 0 0 0 clamp(24px, 3vw, 36px);
  border-left: 1px solid color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
  font-family: var(--c-display);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.45;
  color: color-mix(in oklab, var(--c-ink, #111) 88%, transparent);
  max-width: 28ch;
}
blockquote[data-quote="margin"] cite {
  display: block;
  margin-top: 12px;
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-style: normal;
  color: color-mix(in oklab, var(--c-ink, #111) 50%, transparent);
}
@media (max-width: 760px) {
  /* On narrow screens, margin-quote returns to standard left margin */
  blockquote[data-quote="margin"] {
    margin-left: 0;
  }
}

/* ============================================================================
   V6.388 — couture-faq-inline v3 (card-grid).
   2-col grid of bordered FAQ cards with hover-lift + animated toggle.
   Uses native <details>/<summary> so works without JS.
   ============================================================================ */
.couture-faq-inline--v3 .faq-inline-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(14px, 1.5vw, 20px);
  max-width: 1200px;
  margin: 0 auto;
}
.couture-faq-inline--v3 .faq-inline-card {
  background: var(--c-paper, #fff);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 10%, transparent);
  border-radius: 8px;
  padding: 0;
  transition:
    border-color .25s ease,
    transform .3s cubic-bezier(.2,.8,.2,1),
    box-shadow .3s ease;
}
.couture-faq-inline--v3 .faq-inline-card:hover {
  border-color: color-mix(in oklab, var(--c-ink, #111) 22%, transparent);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px -8px color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
}
.couture-faq-inline--v3 .faq-inline-card[open] {
  border-color: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 50%, transparent);
}
.couture-faq-inline--v3 .faq-inline-card summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  font-family: var(--c-display);
  font-weight: 500;
  color: var(--c-ink, #111);
}
.couture-faq-inline--v3 .faq-inline-card summary::-webkit-details-marker {
  display: none;
}
.couture-faq-inline--v3 .faq-inline-card .fic-meta {
  display: inline-block;
}
.couture-faq-inline--v3 .faq-inline-card .fic-num {
  font-family: var(--c-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--c-accent, var(--c-ink, #111));
  background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 10%, var(--c-paper, #fff));
  padding: 4px 8px;
  border-radius: 999px;
  display: inline-block;
}
.couture-faq-inline--v3 .faq-inline-card .fic-q {
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.35;
  color: var(--c-ink, #111);
  letter-spacing: -0.005em;
}
.couture-faq-inline--v3 .faq-inline-card .fic-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-ink, #111) 6%, transparent);
  position: relative;
  transition: background-color .2s ease, transform .25s cubic-bezier(.2,.8,.2,1);
}
.couture-faq-inline--v3 .faq-inline-card .fic-toggle::before,
.couture-faq-inline--v3 .faq-inline-card .fic-toggle::after {
  content: "";
  position: absolute;
  background: var(--c-ink, #111);
  border-radius: 1px;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
}
.couture-faq-inline--v3 .faq-inline-card .fic-toggle::before {
  width: 10px;
  height: 1.5px;
}
.couture-faq-inline--v3 .faq-inline-card .fic-toggle::after {
  width: 1.5px;
  height: 10px;
}
.couture-faq-inline--v3 .faq-inline-card[open] .fic-toggle {
  background: var(--c-accent, var(--c-ink, #111));
  transform: rotate(180deg);
}
.couture-faq-inline--v3 .faq-inline-card[open] .fic-toggle::before {
  background: var(--c-paper, #fff);
}
.couture-faq-inline--v3 .faq-inline-card[open] .fic-toggle::after {
  background: var(--c-paper, #fff);
  opacity: 0; /* "+" → "−" by hiding the vertical bar */
}
.couture-faq-inline--v3 .faq-inline-card .fic-a {
  font-family: var(--c-body);
  font-size: 14.5px;
  line-height: 1.6;
  color: color-mix(in oklab, var(--c-ink, #111) 75%, transparent);
  margin: 0;
  padding: 0 24px 24px 24px;
  /* Indent the answer to align with the question text (skip the .fic-num column) */
  padding-left: calc(24px + 14px + 32px); /* 24px card pad + 14px gap + ~32px num pill width */
}
@media (max-width: 600px) {
  .couture-faq-inline--v3 .faq-inline-card .fic-a {
    /* On narrow, drop the fancy indent (cards are already narrow) */
    padding-left: 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .couture-faq-inline--v3 .faq-inline-card,
  .couture-faq-inline--v3 .faq-inline-card .fic-toggle,
  .couture-faq-inline--v3 .faq-inline-card .fic-toggle::before,
  .couture-faq-inline--v3 .faq-inline-card .fic-toggle::after {
    transition: none !important;
  }
  .couture-faq-inline--v3 .faq-inline-card:hover {
    transform: none !important;
  }
  .couture-faq-inline--v3 .faq-inline-card[open] .fic-toggle {
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — scroll-progress bar polish + variants.
   Existing baseline at line 9836 = single 3px accent bar at top via
   body::before. Adding refinements + 3 opt-in variants via
   body[data-scroll-progress] attribute:
     - default (no attr): existing thin accent bar (kept; refined w/ shadow)
     - "thick"   — 5px gradient bar (more prominent, magazine feel)
     - "bottom"  — same thin bar but at viewport bottom (less obtrusive)
     - "dual"    — bar at TOP showing accent gradient
     - "off"     — opt-out / suppress entirely (per-site disable)
   ============================================================================ */

/* Refine the existing default bar — add subtle drop shadow for depth */
@supports (animation-timeline: scroll()) {
  body:not([data-scroll-progress="off"])::before {
    box-shadow: 0 1px 4px -1px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 40%, transparent);
  }
}

/* Variant: --off — completely disable. Operator can set on body for sites
   that prefer NO progress indicator (very minimal/quiet brands). */
body[data-scroll-progress="off"]::before {
  display: none !important;
  animation: none !important;
}

/* Variant: --thick — 5px gradient bar (more prominent, editorial feel) */
@supports (animation-timeline: scroll()) {
  body[data-scroll-progress="thick"]::before {
    height: 5px;
    background: linear-gradient(
      to right,
      var(--c-accent, var(--c-ink, #111)) 0%,
      color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 75%, var(--c-ink, #111)) 100%
    );
    box-shadow: 0 2px 8px -2px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 50%, transparent);
  }
}

/* Variant: --bottom — bar at bottom of viewport (less obtrusive,
   feels like an editorial reading meter at the bottom of an article).
   Override the existing top:0 from base rule. */
@supports (animation-timeline: scroll()) {
  body[data-scroll-progress="bottom"]::before {
    top: auto;
    bottom: 0;
    height: 2px; /* even thinner at bottom — more discreet */
    box-shadow: 0 -1px 4px -1px color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 40%, transparent);
  }
}

/* Variant: --dual — top + bottom bars (used for very-long-article pages
   like the journal where readers benefit from progress on both edges).
   Adds a body::after counterpart to the existing body::before. */
@supports (animation-timeline: scroll()) {
  body[data-scroll-progress="dual"]::after {
    content: '';
    position: fixed;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: color-mix(in oklab, var(--c-accent, var(--c-ink, #111)) 75%, transparent);
    transform-origin: left;
    transform: scaleX(0);
    z-index: 9999;
    pointer-events: none;
    animation: _scroll-progress linear;
    animation-timeline: scroll(root);
  }
}

/* Reduced motion: keep the bar visible but DON'T animate.
   Snap to 100% so it doesn't appear "broken empty". */
@media (prefers-reduced-motion: reduce) {
  @supports (animation-timeline: scroll()) {
    body::before,
    body[data-scroll-progress="thick"]::before,
    body[data-scroll-progress="bottom"]::before,
    body[data-scroll-progress="dual"]::after {
      animation: none !important;
      transform: scaleX(0) !important;
    }
  }
}

/* ============================================================================
   V6.388 — footer column link hover polish.
   Existing footer column links across all couture-footer variants have
   minimal hover (color shift to accent). Refining with:
     - quiet indent shift (translateX 3px on hover)
     - small accent dot/arrow that fades in to the LEFT of the link
     - background-image underline-grow for clearer "this is a link" feel
   Universal — applies to any anchor inside any footer variant column.
   ============================================================================ */

/* Apply to all footer column anchors (utility / minimal / cards / etc).
   The `body footer` ancestor scope keeps these from leaking into nav or
   in-page anchor elements. */
body footer.couture-footer .utility-col a,
body footer.couture-footer-utility .utility-col a,
body footer.couture-footer .footer-column a,
body footer.couture-footer .footer-col a,
body footer.couture-footer-column-block ul a,
body footer[class*="couture-footer--"] .col a,
body footer[class*="couture-footer--"] li a {
  position: relative;
  display: inline-block;
  padding-left: 0;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition:
    background-size .35s cubic-bezier(.2,.8,.2,1),
    color .2s ease,
    transform .2s ease,
    padding-left .25s ease;
}

/* Hover/focus: indent right + grow underline + accent color */
body footer.couture-footer .utility-col a:hover,
body footer.couture-footer .utility-col a:focus-visible,
body footer.couture-footer-utility .utility-col a:hover,
body footer.couture-footer-utility .utility-col a:focus-visible,
body footer.couture-footer .footer-column a:hover,
body footer.couture-footer .footer-column a:focus-visible,
body footer.couture-footer .footer-col a:hover,
body footer.couture-footer .footer-col a:focus-visible,
body footer.couture-footer-column-block ul a:hover,
body footer.couture-footer-column-block ul a:focus-visible,
body footer[class*="couture-footer--"] .col a:hover,
body footer[class*="couture-footer--"] .col a:focus-visible,
body footer[class*="couture-footer--"] li a:hover,
body footer[class*="couture-footer--"] li a:focus-visible {
  background-size: 100% 1px;
  padding-left: 12px;
  color: var(--c-accent, var(--c-ink, #111));
}

/* Decorative arrow that appears on hover, anchored left of the link */
body footer.couture-footer .utility-col a::before,
body footer.couture-footer-utility .utility-col a::before,
body footer.couture-footer .footer-column a::before,
body footer.couture-footer .footer-col a::before,
body footer.couture-footer-column-block ul a::before,
body footer[class*="couture-footer--"] .col a::before,
body footer[class*="couture-footer--"] li a::before {
  content: "›";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) translateX(-4px);
  opacity: 0;
  font-size: 12px;
  color: var(--c-accent, var(--c-ink, #111));
  transition: opacity .25s ease, transform .25s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
}

body footer.couture-footer .utility-col a:hover::before,
body footer.couture-footer .utility-col a:focus-visible::before,
body footer.couture-footer-utility .utility-col a:hover::before,
body footer.couture-footer-utility .utility-col a:focus-visible::before,
body footer.couture-footer .footer-column a:hover::before,
body footer.couture-footer .footer-column a:focus-visible::before,
body footer.couture-footer .footer-col a:hover::before,
body footer.couture-footer .footer-col a:focus-visible::before,
body footer.couture-footer-column-block ul a:hover::before,
body footer.couture-footer-column-block ul a:focus-visible::before,
body footer[class*="couture-footer--"] .col a:hover::before,
body footer[class*="couture-footer--"] .col a:focus-visible::before,
body footer[class*="couture-footer--"] li a:hover::before,
body footer[class*="couture-footer--"] li a:focus-visible::before {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  body footer.couture-footer .utility-col a,
  body footer.couture-footer .utility-col a::before,
  body footer.couture-footer-utility .utility-col a,
  body footer.couture-footer .footer-column a,
  body footer.couture-footer .footer-col a,
  body footer.couture-footer-column-block ul a,
  body footer[class*="couture-footer--"] .col a,
  body footer[class*="couture-footer--"] li a {
    transition: none !important;
    background-image: none !important;
  }
  body footer.couture-footer .utility-col a:hover,
  body footer.couture-footer-utility .utility-col a:hover,
  body footer.couture-footer .footer-column a:hover,
  body footer.couture-footer .footer-col a:hover,
  body footer.couture-footer-column-block ul a:hover,
  body footer[class*="couture-footer--"] .col a:hover,
  body footer[class*="couture-footer--"] li a:hover {
    padding-left: 0 !important;
    transform: none !important;
  }
}

/* ============================================================================
   V6.388 — tooltip helper utility class.
   CSS-only attribute-driven tooltip pattern. Any element with
   [data-tooltip="..."] gets a hover/focus tooltip. Useful for:
     - form field hints ("We never share your email")
     - icon labels (info / lock / shipping icons)
     - fineprint clarifications ("Excludes sale items")
     - quick-glance metadata on cards
   No JS required. Tooltip auto-positions above the trigger; mobile
   suppresses (touch users have no hover; renderer should handle
   tap-to-reveal separately if needed).
   ============================================================================ */

[data-tooltip] {
  position: relative;
  cursor: help;
}
[data-tooltip][role="button"],
[data-tooltip] a,
button[data-tooltip] {
  cursor: pointer;
}

[data-tooltip]::before,
[data-tooltip]::after {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity .2s ease,
    transform .25s cubic-bezier(.2,.8,.2,1);
  z-index: 100;
}

/* Bubble */
[data-tooltip]::before {
  content: attr(data-tooltip);
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  white-space: nowrap;
  max-width: 240px;
  padding: 7px 11px;
  background: var(--c-ink, #111);
  color: var(--c-paper, #fff);
  font-family: var(--c-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
  border-radius: 4px;
  box-shadow: 0 4px 14px -4px color-mix(in oklab, var(--c-ink, #111) 35%, transparent);
}

/* Caret pointing down to trigger */
[data-tooltip]::after {
  content: "";
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: var(--c-ink, #111) transparent transparent transparent;
}

/* Reveal on hover OR keyboard focus */
[data-tooltip]:hover::before,
[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::before,
[data-tooltip]:focus-visible::after,
[data-tooltip]:focus-within::before,
[data-tooltip]:focus-within::after {
  opacity: 1;
}
[data-tooltip]:hover::before,
[data-tooltip]:focus-visible::before,
[data-tooltip]:focus-within::before {
  transform: translateX(-50%) translateY(0);
}
[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after,
[data-tooltip]:focus-within::after {
  transform: translateX(-50%) translateY(0);
}

/* Variant: --side="bottom" — tooltip below trigger (use when above is clipped) */
[data-tooltip][data-tooltip-side="bottom"]::before {
  top: calc(100% + 8px);
  bottom: auto;
  transform: translateX(-50%) translateY(-4px);
}
[data-tooltip][data-tooltip-side="bottom"]::after {
  top: calc(100% + 2px);
  bottom: auto;
  transform: translateX(-50%) translateY(-4px);
  border-width: 0 5px 6px 5px;
  border-color: transparent transparent var(--c-ink, #111) transparent;
}
[data-tooltip][data-tooltip-side="bottom"]:hover::before,
[data-tooltip][data-tooltip-side="bottom"]:focus-visible::before,
[data-tooltip][data-tooltip-side="bottom"]:focus-within::before,
[data-tooltip][data-tooltip-side="bottom"]:hover::after,
[data-tooltip][data-tooltip-side="bottom"]:focus-visible::after,
[data-tooltip][data-tooltip-side="bottom"]:focus-within::after {
  transform: translateX(-50%) translateY(0);
}

/* Variant: --light — paper bg + ink text + border (for dark backgrounds) */
[data-tooltip][data-tooltip-tone="light"]::before {
  background: var(--c-paper, #fff);
  color: var(--c-ink, #111);
  border: 1px solid color-mix(in oklab, var(--c-ink, #111) 18%, transparent);
}
[data-tooltip][data-tooltip-tone="light"]::after {
  border-color: var(--c-paper, #fff) transparent transparent transparent;
}
[data-tooltip][data-tooltip-tone="light"][data-tooltip-side="bottom"]::after {
  border-color: transparent transparent var(--c-paper, #fff) transparent;
}

/* Mobile: suppress (touch users have no hover; renderer should handle
   tap-to-reveal separately if needed) */
@media (hover: none) {
  [data-tooltip]::before,
  [data-tooltip]::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-tooltip]::before,
  [data-tooltip]::after {
    transition: none !important;
  }
}

/* WS-VISIBLE-31 — cookie consent banner refinements (opt-in variants).
   Base premium banner exists higher up in this file (V6.387 #77). These
   additions: slide-in entrance, three opt-in variants via [data-cookie-variant],
   refined mobile stacking, and reduced-motion disable. */
@keyframes ws-cb-slide-in {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.couture-cookie-banner {
  animation: ws-cb-slide-in .42s cubic-bezier(.2,.8,.2,1) both;
}
@media (prefers-reduced-motion: reduce) {
  .couture-cookie-banner { animation: none; }
}

/* Variant: light tone — paper bg, ink text (good on dark hero pages where
   the dark base banner blends in). Opt-in. */
.couture-cookie-banner[data-cookie-variant="light"] {
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-cookie-banner[data-cookie-variant="light"] .cb-text {
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
}
.couture-cookie-banner[data-cookie-variant="light"] .cb-text strong {
  color: var(--c-ink);
}
.couture-cookie-banner[data-cookie-variant="light"] .cb-actions .cb-customize {
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  border-color: color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.couture-cookie-banner[data-cookie-variant="light"] .cb-actions .cb-customize:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, transparent);
}

/* Variant: toast — compact bottom-right slide-in (768px+ only; falls back
   to centered base on mobile). Suits sites with persistent visible chat
   widgets where the wide bar would collide. */
@media (min-width: 768px) {
  .couture-cookie-banner[data-cookie-variant="toast"] {
    left: auto;
    right: clamp(16px, 2vw, 24px);
    bottom: clamp(16px, 2vw, 24px);
    max-width: 380px;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 12px;
  }
  .couture-cookie-banner[data-cookie-variant="toast"] .cb-actions {
    width: 100%;
    justify-content: flex-end;
  }
  .couture-cookie-banner[data-cookie-variant="toast"] .cb-text {
    font-size: 12.5px;
  }
}

/* Variant: minimal — single-line strip pinned to viewport bottom edge.
   Lowest visual weight, for sites that want consent unobtrusive. */
.couture-cookie-banner[data-cookie-variant="minimal"] {
  left: 0;
  right: 0;
  bottom: 0;
  max-width: none;
  margin: 0;
  border-radius: 0;
  padding: 12px clamp(16px, 4vw, 32px);
  box-shadow: 0 -8px 24px -16px color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-cookie-banner[data-cookie-variant="minimal"] .cb-text {
  font-size: 12.5px;
}
.couture-cookie-banner[data-cookie-variant="minimal"] .cb-actions button,
.couture-cookie-banner[data-cookie-variant="minimal"] .cb-actions a {
  padding: 7px 14px;
  font-size: 12px;
}

/* Refined accept button: subtle press feedback + lifted hover */
.couture-cookie-banner .cb-actions .cb-accept {
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: 0 2px 8px -4px color-mix(in oklab, var(--c-accent) 60%, transparent);
}
.couture-cookie-banner .cb-actions .cb-accept:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px -6px color-mix(in oklab, var(--c-accent) 70%, transparent);
}
.couture-cookie-banner .cb-actions .cb-accept:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px -2px color-mix(in oklab, var(--c-accent) 60%, transparent);
}

/* Tighter mobile stack: full-width buttons stacked vertically */
@media (max-width: 480px) {
  .couture-cookie-banner .cb-actions {
    flex-direction: column-reverse;
    align-items: stretch;
    width: 100%;
  }
  .couture-cookie-banner .cb-actions button,
  .couture-cookie-banner .cb-actions a {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-cookie-banner .cb-actions .cb-accept {
    transition: none;
  }
  .couture-cookie-banner .cb-actions .cb-accept:hover {
    transform: none;
  }
}

/* WS-VISIBLE-32 — pull-quote callout utility class.
   Opt-in via .couture-pullquote (or [data-pullquote]) on a <blockquote>
   or <figure> wrapping a quotation in long-form content (about page,
   journal/blog, story page). Three style variants via [data-pq-style].
   Default: large display quote with accent rule. */
.couture-pullquote {
  position: relative;
  display: block;
  margin: clamp(28px, 5vw, 56px) 0;
  padding: clamp(20px, 3vw, 32px) clamp(24px, 4vw, 48px);
  font: 400 clamp(20px, 2.6vw, 30px)/1.45 var(--c-display, var(--c-body));
  letter-spacing: -0.012em;
  color: var(--c-ink);
  border-left: 3px solid var(--c-accent);
  background: linear-gradient(
    to right,
    color-mix(in oklab, var(--c-accent) 4%, transparent) 0%,
    transparent 60%
  );
}
.couture-pullquote::before {
  content: "\201C"; /* curly opening double-quote */
  position: absolute;
  top: -.15em;
  left: clamp(8px, 1vw, 16px);
  font: 900 clamp(64px, 9vw, 110px)/.8 var(--c-display, var(--c-body));
  color: color-mix(in oklab, var(--c-accent) 28%, transparent);
  pointer-events: none;
  user-select: none;
}
.couture-pullquote > p {
  margin: 0;
  position: relative;
}
.couture-pullquote > p + p {
  margin-top: 1em;
}
.couture-pullquote cite,
.couture-pullquote .pq-cite {
  display: block;
  margin-top: clamp(14px, 2vw, 22px);
  font: 600 12.5px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  font-style: normal;
}
.couture-pullquote cite::before,
.couture-pullquote .pq-cite::before {
  content: "— ";
  color: var(--c-accent);
}

/* Variant: centered — large editorial centered quote with rules above + below */
.couture-pullquote[data-pq-style="centered"] {
  text-align: center;
  border-left: 0;
  background: none;
  padding-top: clamp(36px, 5vw, 56px);
  padding-bottom: clamp(36px, 5vw, 56px);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font-size: clamp(22px, 3.2vw, 36px);
}
.couture-pullquote[data-pq-style="centered"]::before {
  content: "\201C";
  position: static;
  display: block;
  text-align: center;
  font-size: clamp(56px, 7vw, 84px);
  line-height: .6;
  margin-bottom: 12px;
  color: color-mix(in oklab, var(--c-accent) 50%, transparent);
}
.couture-pullquote[data-pq-style="centered"] cite,
.couture-pullquote[data-pq-style="centered"] .pq-cite {
  text-align: center;
}

/* Variant: card — boxed card, soft tint background, no decorative quote glyph */
.couture-pullquote[data-pq-style="card"] {
  border-left: 0;
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 14%, transparent);
  border-radius: 12px;
  padding: clamp(24px, 3vw, 36px);
  font-style: italic;
}
.couture-pullquote[data-pq-style="card"]::before {
  display: none;
}

/* Variant: mark — yellow-marker highlight strip behind text */
.couture-pullquote[data-pq-style="mark"] {
  border-left: 0;
  background: none;
  padding-left: 0;
  padding-right: 0;
  font-style: normal;
  font-weight: 500;
}
.couture-pullquote[data-pq-style="mark"]::before {
  display: none;
}
.couture-pullquote[data-pq-style="mark"] > p {
  display: inline;
  background-image: linear-gradient(
    180deg,
    transparent 0 60%,
    color-mix(in oklab, var(--c-accent) 28%, transparent) 60% 92%,
    transparent 92%
  );
  padding: 0 .12em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@media (max-width: 540px) {
  .couture-pullquote {
    padding-left: clamp(20px, 5vw, 28px);
    padding-right: 0;
  }
  .couture-pullquote::before {
    font-size: 56px;
    top: -8px;
  }
}

/* WS-VISIBLE-33 — decorated horizontal rule variants.
   Opt-in via [data-hr] attribute on a plain <hr>. Default browser <hr>
   stays untouched. Five variants: dotted, double, gradient, ornament,
   ribbon. All respect color-mix accent + scale with vw clamps. */
hr[data-hr] {
  appearance: none;
  border: 0;
  height: auto;
  margin: clamp(28px, 5vw, 56px) auto;
  width: 100%;
  max-width: 100%;
  background: none;
  overflow: visible;
}

/* dotted: three round dots centered, classic editorial section break */
hr[data-hr="dotted"] {
  height: 6px;
  background-image: radial-gradient(
    circle,
    color-mix(in oklab, var(--c-ink) 50%, transparent) 0 2.5px,
    transparent 3px
  );
  background-size: 18px 6px;
  background-repeat: repeat-x;
  background-position: center;
  /* Constrain pattern to a centered 84px-wide swatch */
  -webkit-mask: linear-gradient(
    to right,
    transparent 0,
    #000 calc(50% - 42px),
    #000 calc(50% + 42px),
    transparent 100%
  );
          mask: linear-gradient(
    to right,
    transparent 0,
    #000 calc(50% - 42px),
    #000 calc(50% + 42px),
    transparent 100%
  );
}

/* double: two thin parallel rules, gap between */
hr[data-hr="double"] {
  height: 5px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
}

/* gradient: fades from transparent → ink → transparent */
hr[data-hr="gradient"] {
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    color-mix(in oklab, var(--c-ink) 35%, transparent) 50%,
    transparent 100%
  );
}

/* ornament: centered diamond/dot ornament with rules either side */
hr[data-hr="ornament"] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
hr[data-hr="ornament"]::before,
hr[data-hr="ornament"]::after {
  content: "";
  flex: 1;
  height: 1px;
  background: currentColor;
  max-width: clamp(80px, 16vw, 200px);
}
/* ornament glyph rendered via inset-square + rotate (no font dependency) */
hr[data-hr="ornament"] {
  position: relative;
}
hr[data-hr="ornament"]::marker { content: ""; }

hr[data-hr="ornament-diamond"]::before,
hr[data-hr="ornament-diamond"]::after {
  content: "";
  flex: 1;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
  max-width: clamp(80px, 16vw, 200px);
}
hr[data-hr="ornament-diamond"] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

/* ribbon: thicker accent-tinted bar with rounded caps */
hr[data-hr="ribbon"] {
  height: 4px;
  width: clamp(60px, 8vw, 96px);
  background: var(--c-accent);
  border-radius: 999px;
}

/* plus glyph in middle (CSS-only) */
hr[data-hr="plus"] {
  position: relative;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
}
hr[data-hr="plus"]::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 14px;
  background:
    linear-gradient(var(--c-paper), var(--c-paper)) center / 100% 100% no-repeat,
    radial-gradient(circle, var(--c-paper) 65%, transparent 66%) center / 100% 100% no-repeat;
  transform: translate(-50%, -50%);
  /* draw the actual cross */
  background-image:
    linear-gradient(to right, color-mix(in oklab, var(--c-ink) 60%, transparent) 0 100%),
    linear-gradient(to bottom, color-mix(in oklab, var(--c-ink) 60%, transparent) 0 100%);
  background-size: 100% 1px, 1px 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--c-paper);
  padding: 0 6px;
  box-sizing: content-box;
}

/* WS-VISIBLE-34 — extended badge/pill utility variants.
   Builds on existing .couture-badge-stack .badge--accent / --sale.
   Adds .couture-badge utility (standalone, not stack-anchored) plus
   semantic modifiers: --new, --sold-out, --limited, --bestseller,
   --eco, --low-stock, --member, --back-soon. Also style flair
   modifiers: --pulse (animated dot), --corner (cut corner ribbon),
   --outline (transparent bg with accent border). */
.couture-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font: 600 11px/1 var(--c-mono, var(--c-body));
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  box-shadow: 0 2px 6px -2px rgba(0,0,0,0.08);
  white-space: nowrap;
  vertical-align: middle;
}

/* Semantic palette modifiers (work on .couture-badge OR
   .couture-badge-stack .badge equally) */
.couture-badge--new,
.couture-badge-stack .badge--new {
  background: #16a34a;
  color: #fff;
  border-color: transparent;
}
.couture-badge--sold-out,
.couture-badge-stack .badge--sold-out {
  background: color-mix(in oklab, var(--c-ink) 80%, transparent);
  color: var(--c-paper);
  border-color: transparent;
  text-decoration: line-through;
  text-decoration-color: color-mix(in oklab, var(--c-paper) 50%, transparent);
}
.couture-badge--limited,
.couture-badge-stack .badge--limited {
  background: #f59e0b;
  color: #1a1208;
  border-color: transparent;
}
.couture-badge--bestseller,
.couture-badge-stack .badge--bestseller {
  background: linear-gradient(135deg, #d4a373 0%, #b8865b 100%);
  color: #fff;
  border-color: transparent;
}
.couture-badge--eco,
.couture-badge-stack .badge--eco {
  background: color-mix(in oklab, #16a34a 14%, var(--c-paper));
  color: #14532d;
  border-color: color-mix(in oklab, #16a34a 30%, transparent);
}
.couture-badge--low-stock,
.couture-badge-stack .badge--low-stock {
  background: color-mix(in oklab, #ef4444 12%, var(--c-paper));
  color: #7f1d1d;
  border-color: color-mix(in oklab, #ef4444 30%, transparent);
}
.couture-badge--member,
.couture-badge-stack .badge--member {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-badge--back-soon,
.couture-badge-stack .badge--back-soon {
  background: color-mix(in oklab, var(--c-line) 28%, var(--c-paper));
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  border-color: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* Flair: outline (transparent + accent border) */
.couture-badge--outline,
.couture-badge-stack .badge--outline {
  background: transparent;
  color: var(--c-accent);
  border-color: var(--c-accent);
  box-shadow: none;
}

/* Flair: pulse — animated leading dot for live/limited urgency */
.couture-badge--pulse::before,
.couture-badge-stack .badge--pulse::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex: 0 0 auto;
  animation: ws-badge-pulse 1.6s ease-in-out infinite;
}
@keyframes ws-badge-pulse {
  0%, 100% { opacity: 1;   transform: scale(1); }
  50%      { opacity: 0.45; transform: scale(0.7); }
}
@media (prefers-reduced-motion: reduce) {
  .couture-badge--pulse::before,
  .couture-badge-stack .badge--pulse::before { animation: none; }
}

/* Flair: corner — cut-corner ribbon style (squarer, with notch) */
.couture-badge--corner,
.couture-badge-stack .badge--corner {
  border-radius: 0;
  clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%);
  padding-right: 16px;
  letter-spacing: 0.08em;
}

/* Flair: dot — leading colored dot prefix (info pills) */
.couture-badge--dot::before,
.couture-badge-stack .badge--dot::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-accent);
  flex: 0 0 auto;
}

/* Flair: micro — denser/smaller for inline body-text use */
.couture-badge--micro,
.couture-badge-stack .badge--micro {
  padding: 2px 7px;
  font-size: 10px;
  letter-spacing: 0.05em;
  box-shadow: none;
}

/* WS-VISIBLE-35 — extended skeleton loader variants.
   Builds on existing .couture-skeleton (V6.386). Adds [data-skeleton]
   modifiers + aspect helpers for richer image-load placeholders. */

/* Pulse variant: opacity pulse instead of shimmer (calmer, more "Apple") */
@keyframes ws-skel-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.55; }
}
.couture-skeleton[data-skeleton="pulse"] {
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  animation: ws-skel-pulse 1.4s ease-in-out infinite;
}

/* Wave variant: rotated diagonal shimmer (more dynamic) */
@keyframes ws-skel-wave {
  0%   { background-position: -150% -150%; }
  100% { background-position:  150%  150%; }
}
.couture-skeleton[data-skeleton="wave"] {
  background: linear-gradient(
    115deg,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-ink)) 0%,
    color-mix(in oklab, var(--c-paper) 85%, var(--c-ink)) 30%,
    color-mix(in oklab, var(--c-paper) 78%, var(--c-ink)) 50%,
    color-mix(in oklab, var(--c-paper) 85%, var(--c-ink)) 70%,
    color-mix(in oklab, var(--c-paper) 95%, var(--c-ink)) 100%
  );
  background-size: 250% 250%;
  animation: ws-skel-wave 2.4s linear infinite;
}

/* Shape modifiers */
.couture-skeleton[data-skeleton-shape="circle"] {
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  min-height: 0;
  width: clamp(40px, 6vw, 64px);
}
.couture-skeleton[data-skeleton-shape="text"] {
  height: 0.85em;
  min-height: 0;
  border-radius: 4px;
  margin: 0.35em 0;
}
.couture-skeleton[data-skeleton-shape="text-short"] {
  height: 0.85em;
  min-height: 0;
  width: 38%;
  border-radius: 4px;
  margin: 0.35em 0;
}
.couture-skeleton[data-skeleton-shape="text-med"] {
  height: 0.85em;
  min-height: 0;
  width: 65%;
  border-radius: 4px;
  margin: 0.35em 0;
}
.couture-skeleton[data-skeleton-shape="button"] {
  height: 42px;
  min-height: 0;
  width: 140px;
  border-radius: 8px;
}

/* Aspect-ratio helpers for img placeholders */
.couture-skeleton[data-skel-ratio="1"]  { aspect-ratio: 1 / 1;  min-height: 0; }
.couture-skeleton[data-skel-ratio="4-5"] { aspect-ratio: 4 / 5; min-height: 0; }
.couture-skeleton[data-skel-ratio="3-4"] { aspect-ratio: 3 / 4; min-height: 0; }
.couture-skeleton[data-skel-ratio="16-9"] { aspect-ratio: 16 / 9; min-height: 0; }
.couture-skeleton[data-skel-ratio="3-2"]  { aspect-ratio: 3 / 2;  min-height: 0; }

/* Composite product-card skeleton — drop-in for shop/category loading */
.couture-skeleton-product {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.couture-skeleton-product .skp-img {
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%,
    color-mix(in oklab, var(--c-paper) 88%, var(--c-ink)) 50%,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 100%);
  background-size: 200% 100%;
  animation: _couture-shimmer 1.6s linear infinite;
  border-radius: 8px;
  aspect-ratio: 4 / 5;
  width: 100%;
}
.couture-skeleton-product .skp-line {
  height: 12px;
  border-radius: 4px;
  background: linear-gradient(90deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%,
    color-mix(in oklab, var(--c-paper) 88%, var(--c-ink)) 50%,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 100%);
  background-size: 200% 100%;
  animation: _couture-shimmer 1.6s linear infinite;
}
.couture-skeleton-product .skp-line.--title { width: 70%; height: 14px; margin-top: 4px; }
.couture-skeleton-product .skp-line.--meta  { width: 40%; height: 10px; }
.couture-skeleton-product .skp-line.--price { width: 25%; height: 13px; margin-top: 2px; }

@media (prefers-reduced-motion: reduce) {
  .couture-skeleton[data-skeleton="pulse"],
  .couture-skeleton[data-skeleton="wave"],
  .couture-skeleton-product .skp-img,
  .couture-skeleton-product .skp-line {
    animation: none;
  }
}

/* WS-VISIBLE-36 — labeled section divider utility.
   Editorial separator with centered text label flanked by rules:
     ────── CHAPTER 02 ──────
   Opt-in via .couture-divider-label (or .cdl shorthand). Variants
   via [data-divider-style]: default (rule), dotted, double, ornament,
   pill (text in rounded pill, no flanking rules). */
.couture-divider-label,
.cdl {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2vw, 22px);
  margin: clamp(36px, 6vw, 72px) 0;
  font: 600 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}
.couture-divider-label::before,
.couture-divider-label::after,
.cdl::before,
.cdl::after {
  content: "";
  flex: 1;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
  max-width: clamp(60px, 22vw, 360px);
}
.couture-divider-label > span,
.cdl > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Variant: dotted — flanking rules become dotted strips */
.couture-divider-label[data-divider-style="dotted"]::before,
.couture-divider-label[data-divider-style="dotted"]::after {
  background: none;
  height: 4px;
  background-image: radial-gradient(
    circle,
    color-mix(in oklab, var(--c-ink) 45%, transparent) 0 1.5px,
    transparent 2px
  );
  background-size: 10px 4px;
  background-repeat: repeat-x;
  background-position: center;
}

/* Variant: double — two thin parallel rules */
.couture-divider-label[data-divider-style="double"]::before,
.couture-divider-label[data-divider-style="double"]::after {
  height: 5px;
  background: none;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
}

/* Variant: ornament — diamond glyph adjacent to label text */
.couture-divider-label[data-divider-style="ornament"] > span::before,
.couture-divider-label[data-divider-style="ornament"] > span::after {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--c-accent);
  transform: rotate(45deg);
  display: inline-block;
  flex: 0 0 auto;
}

/* Variant: pill — label sits in rounded pill, NO flanking rules */
.couture-divider-label[data-divider-style="pill"] {
  justify-content: center;
}
.couture-divider-label[data-divider-style="pill"]::before,
.couture-divider-label[data-divider-style="pill"]::after {
  display: none;
}
.couture-divider-label[data-divider-style="pill"] > span {
  padding: 8px 18px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
}

/* Variant: accent — accent color label + accent rules */
.couture-divider-label[data-divider-style="accent"] {
  color: var(--c-accent);
}
.couture-divider-label[data-divider-style="accent"]::before,
.couture-divider-label[data-divider-style="accent"]::after {
  background: color-mix(in oklab, var(--c-accent) 60%, transparent);
}

/* Variant: numbered — emphasized large number, smaller label below */
.couture-divider-label[data-divider-style="numbered"] {
  flex-direction: column;
  gap: 8px;
}
.couture-divider-label[data-divider-style="numbered"]::before,
.couture-divider-label[data-divider-style="numbered"]::after {
  width: 60px;
  flex: 0 0 auto;
  align-self: center;
}
.couture-divider-label[data-divider-style="numbered"] .cdl-num {
  font: 300 clamp(28px, 5vw, 52px)/1 var(--c-display, var(--c-body));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  text-transform: none;
}

@media (max-width: 480px) {
  .couture-divider-label,
  .cdl {
    font-size: 10.5px;
    letter-spacing: 0.14em;
  }
}

/* WS-VISIBLE-37 — animated underline utility for inline links.
   Opt-in via .couture-link (or [data-link-anim]) on any <a>. Default:
   underline grows from left on hover/focus. Variants via [data-link-style]:
   sweep (default L→R), center (grows from center outward), reveal (slides
   in from below), strikethrough-cancel (a hover-removed strikethrough),
   shift (background-position swap). All keyboard-focusable. */
.couture-link,
[data-link-anim] {
  position: relative;
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s cubic-bezier(.5,.05,.2,1);
  padding-bottom: 1px;
}
.couture-link:hover,
.couture-link:focus-visible,
[data-link-anim]:hover,
[data-link-anim]:focus-visible {
  background-size: 100% 1px;
}

/* Variant: center — underline grows from center outward */
.couture-link[data-link-style="center"],
[data-link-anim][data-link-style="center"] {
  background-position: 50% 100%;
}

/* Variant: reveal — underline slides up from below visible area */
.couture-link[data-link-style="reveal"],
[data-link-anim][data-link-style="reveal"] {
  background-image: none;
  display: inline-block;
  overflow: hidden;
}
.couture-link[data-link-style="reveal"]::after,
[data-link-anim][data-link-style="reveal"]::after {
  content: "";
  display: block;
  height: 1px;
  background: currentColor;
  transform: translateY(2px) scaleX(0);
  transform-origin: 0 50%;
  transition: transform .35s cubic-bezier(.5,.05,.2,1);
}
.couture-link[data-link-style="reveal"]:hover::after,
.couture-link[data-link-style="reveal"]:focus-visible::after,
[data-link-anim][data-link-style="reveal"]:hover::after,
[data-link-anim][data-link-style="reveal"]:focus-visible::after {
  transform: translateY(0) scaleX(1);
}

/* Variant: strikethrough-cancel — text starts struck-out, hover clears it */
.couture-link[data-link-style="strikethrough-cancel"],
[data-link-anim][data-link-style="strikethrough-cancel"] {
  background-image: linear-gradient(
    currentColor,
    currentColor
  );
  background-size: 100% 1px;
  background-position: 0 50%;
  transition: background-size .3s, background-position .3s;
}
.couture-link[data-link-style="strikethrough-cancel"]:hover,
.couture-link[data-link-style="strikethrough-cancel"]:focus-visible,
[data-link-anim][data-link-style="strikethrough-cancel"]:hover,
[data-link-anim][data-link-style="strikethrough-cancel"]:focus-visible {
  background-size: 0% 1px;
  background-position: 100% 50%;
}

/* Variant: shift — two stacked underlines, swap on hover */
.couture-link[data-link-style="shift"],
[data-link-anim][data-link-style="shift"] {
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor);
  background-size: 100% 1px, 0% 1px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s cubic-bezier(.5,.05,.2,1);
}
.couture-link[data-link-style="shift"]:hover,
.couture-link[data-link-style="shift"]:focus-visible,
[data-link-anim][data-link-style="shift"]:hover,
[data-link-anim][data-link-style="shift"]:focus-visible {
  background-size: 0% 1px, 100% 1px;
}

/* Color modifier: accent */
.couture-link[data-link-color="accent"],
[data-link-anim][data-link-color="accent"] {
  color: var(--c-accent);
}

/* Persistent variant — always underlined, hover lifts to bolder */
.couture-link[data-link-style="always"],
[data-link-anim][data-link-style="always"] {
  background-size: 100% 1px;
  transition: background-size .25s;
}
.couture-link[data-link-style="always"]:hover,
.couture-link[data-link-style="always"]:focus-visible,
[data-link-anim][data-link-style="always"]:hover,
[data-link-anim][data-link-style="always"]:focus-visible {
  background-size: 100% 2px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-link,
  [data-link-anim],
  .couture-link::after,
  [data-link-anim]::after {
    transition: none !important;
  }
}

/* WS-VISIBLE-38 — editorial figure / figcaption utility.
   Opt-in via .couture-figure on a <figure>. Default: rounded image
   with caption beneath in mono small-caps. Variants via [data-figure]:
   minimal (no background), framed (border + padding around image),
   side (caption to the right of image, hangs in margin), credit (italic
   credit line styling). Also supports .--has-num for numbered figures
   ("Fig. 03"). */
.couture-figure {
  display: block;
  margin: clamp(28px, 4vw, 56px) 0;
  padding: 0;
}
.couture-figure > img,
.couture-figure > picture > img,
.couture-figure > a > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
}
.couture-figure > figcaption {
  margin-top: 12px;
  font: 500 12px/1.4 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.couture-figure > figcaption::before {
  content: "";
  width: 18px;
  height: 1px;
  background: color-mix(in oklab, var(--c-ink) 40%, transparent);
  flex: 0 0 18px;
  align-self: center;
}

/* numbered: prefix with "Fig. NN" */
.couture-figure[data-figure-num]::after {
  /* nothing — slot reserved for explicit cite element */
}
.couture-figure > figcaption .cf-num {
  font-weight: 700;
  color: var(--c-accent);
  letter-spacing: 0.1em;
  flex: 0 0 auto;
}

/* Variant: minimal — strip the leading rule and uppercase tone */
.couture-figure[data-figure="minimal"] > figcaption {
  font: 400 13px/1.5 var(--c-body);
  letter-spacing: normal;
  text-transform: none;
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
}
.couture-figure[data-figure="minimal"] > figcaption::before {
  display: none;
}

/* Variant: framed — image inside bordered frame, caption inside */
.couture-figure[data-figure="framed"] {
  padding: clamp(12px, 1.5vw, 20px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 12px;
}
.couture-figure[data-figure="framed"] > img {
  border-radius: 4px;
}

/* Variant: italic editorial caption */
.couture-figure[data-figure="italic"] > figcaption {
  font: italic 400 14px/1.5 var(--c-display, var(--c-body));
  letter-spacing: normal;
  text-transform: none;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
}
.couture-figure[data-figure="italic"] > figcaption::before {
  display: none;
}

/* Variant: side — caption sits in the side margin (≥720px) */
@media (min-width: 720px) {
  .couture-figure[data-figure="side"] {
    display: grid;
    grid-template-columns: 1fr 180px;
    gap: clamp(20px, 3vw, 36px);
    align-items: flex-start;
  }
  .couture-figure[data-figure="side"] > img {
    grid-column: 1;
  }
  .couture-figure[data-figure="side"] > figcaption {
    grid-column: 2;
    margin-top: 0;
    flex-direction: column;
    gap: 6px;
    padding-top: 4px;
    border-top: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  }
  .couture-figure[data-figure="side"] > figcaption::before {
    display: none;
  }
}

/* Variant: credit — appends a smaller italic credit line under caption */
.couture-figure > figcaption .cf-credit {
  display: block;
  margin-top: 4px;
  font: italic 400 11px/1.3 var(--c-body);
  letter-spacing: normal;
  text-transform: none;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

/* Aspect-ratio helpers (defaults to natural; opt-in clamp via attribute) */
.couture-figure[data-figure-ratio="1"] > img    { aspect-ratio: 1 / 1;  object-fit: cover; }
.couture-figure[data-figure-ratio="4-5"] > img  { aspect-ratio: 4 / 5;  object-fit: cover; }
.couture-figure[data-figure-ratio="3-4"] > img  { aspect-ratio: 3 / 4;  object-fit: cover; }
.couture-figure[data-figure-ratio="16-9"] > img { aspect-ratio: 16 / 9; object-fit: cover; }
.couture-figure[data-figure-ratio="3-2"] > img  { aspect-ratio: 3 / 2;  object-fit: cover; }

/* WS-VISIBLE-39 — definition list (<dl>/<dt>/<dd>) editorial styling.
   Opt-in via .couture-dl on a <dl>. Default: two-column dt/dd grid with
   dotted leader between term and definition (think glossary or spec
   sheet). Variants via [data-dl]: stacked (dt above dd), inline (dt
   right of dd, plain), pill (dt rendered as small pill). Used for
   product spec sheets, glossaries, about-page facts, etc. */
.couture-dl {
  display: grid;
  grid-template-columns: minmax(120px, 30%) 1fr;
  column-gap: clamp(16px, 3vw, 32px);
  row-gap: 0;
  margin: clamp(20px, 3vw, 36px) 0;
  padding: 0;
}
.couture-dl > dt {
  font: 600 12.5px/1.5 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  padding: 12px 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-dl > dd {
  font: 400 15px/1.55 var(--c-body);
  color: var(--c-ink);
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
/* First row: no border above (gives clean leading edge) */
.couture-dl > dt:first-of-type,
.couture-dl > dt:first-of-type + dd {
  border-top: 0;
  padding-top: 0;
}

/* Variant: leaders — dotted leader from end of dt to start of dd value */
.couture-dl[data-dl="leaders"] {
  display: block;
}
.couture-dl[data-dl="leaders"] > dt,
.couture-dl[data-dl="leaders"] > dd {
  border: 0;
  padding: 0;
  display: inline;
}
.couture-dl[data-dl="leaders"] {
  /* one row per dt/dd pair via flex children would require markup change;
     instead use a grid wrap with one column and decorative dots */
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 6px 8px;
  align-items: baseline;
}
.couture-dl[data-dl="leaders"] > dt {
  grid-column: 1;
  font: 600 13px/1.4 var(--c-body);
  letter-spacing: normal;
  text-transform: none;
  color: var(--c-ink);
  padding: 6px 0;
}
.couture-dl[data-dl="leaders"] > dt::after {
  content: "";
  display: inline-block;
  width: 0;
}
.couture-dl[data-dl="leaders"] > dd {
  grid-column: 3;
  font: 600 13px/1.4 var(--c-mono, var(--c-body));
  color: var(--c-ink);
  padding: 6px 0;
  text-align: right;
}
/* Insert the dotted leader as a pseudo row between dt and dd */
.couture-dl[data-dl="leaders"] > dt {
  position: relative;
}
.couture-dl[data-dl="leaders"] > dt::before {
  content: "";
  position: absolute;
  left: calc(100% + 8px);
  right: -8px;
  bottom: 0.6em;
  border-bottom: 1px dotted color-mix(in oklab, var(--c-line) 80%, transparent);
  width: auto;
  /* clamp the dotted run to its grid column gap area */
}

/* Variant: stacked — dt sits above dd (better on narrow widths) */
.couture-dl[data-dl="stacked"] {
  display: block;
}
.couture-dl[data-dl="stacked"] > dt {
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding: 14px 0 4px;
}
.couture-dl[data-dl="stacked"] > dd {
  border-top: 0;
  padding: 0 0 14px;
}
.couture-dl[data-dl="stacked"] > dt:first-of-type {
  border-top: 0;
  padding-top: 0;
}

/* Variant: inline — dt acts as label, dd flows inline after it */
.couture-dl[data-dl="inline"] {
  display: block;
}
.couture-dl[data-dl="inline"] > dt,
.couture-dl[data-dl="inline"] > dd {
  display: inline;
  border: 0;
  padding: 0;
}
.couture-dl[data-dl="inline"] > dd::after {
  content: "  ";
  display: inline;
  white-space: pre;
}
.couture-dl[data-dl="inline"] > dt::after {
  content: ": ";
}
.couture-dl[data-dl="inline"] > dt {
  font: 600 13.5px/1.6 var(--c-body);
  letter-spacing: normal;
  text-transform: none;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}

/* Variant: pill — dt rendered as small pill chip */
.couture-dl[data-dl="pill"] > dt {
  border: 0;
  padding: 6px 0;
}
.couture-dl[data-dl="pill"] > dt > span,
.couture-dl[data-dl="pill"] > dt {
  display: inline-block;
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
}
.couture-dl[data-dl="pill"] > dd {
  border: 0;
  padding: 6px 0;
}

/* Tighter mobile: single column for default variant */
@media (max-width: 540px) {
  .couture-dl {
    grid-template-columns: 1fr;
  }
  .couture-dl > dt,
  .couture-dl > dd {
    border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
    padding: 10px 0;
  }
  .couture-dl > dt:first-of-type {
    border-top: 0;
    padding-top: 0;
  }
  .couture-dl > dt + dd {
    border-top: 0;
    padding-top: 0;
    padding-bottom: 12px;
  }
}

/* WS-VISIBLE-40 — avatar/portrait stack extensions + social-proof block.
   Builds on existing .couture-avatar-stack (V6.386). Adds:
   - .avs-more "+N" tail counter pill chip
   - [data-avatar-shape="square"] rounded-square variant
   - [data-avatar-ring="accent"] accent gradient ring around each
   - .avs-monogram initials fallback when no img provided
   - .couture-social-proof composite (avatars + caption + ★ stars row) */

/* "+N more" pill at end of stack */
.couture-avatar-stack .avs-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 11px/1 var(--c-mono, var(--c-body));
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-ink) 8%, var(--c-paper));
  letter-spacing: 0.02em;
  padding: 0 4px;
  /* match the parent default size; sm/lg modifiers cascade naturally */
}
.couture-avatar-stack--lg .avs-more { font-size: 12.5px; }
.couture-avatar-stack--sm .avs-more { font-size: 10px; }

/* Square shape variant */
.couture-avatar-stack[data-avatar-shape="square"] > * {
  border-radius: 8px;
}

/* Accent gradient ring around each avatar */
.couture-avatar-stack[data-avatar-ring="accent"] > * {
  box-shadow:
    0 0 0 1px var(--c-paper),
    0 0 0 3px color-mix(in oklab, var(--c-accent) 50%, transparent);
  border-color: var(--c-paper);
}

/* Monogram fallback — class on the avatar element itself */
.couture-avatar-stack .avs-monogram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--c-mono, var(--c-body));
  color: var(--c-paper);
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent) 75%, var(--c-ink)) 0%,
    color-mix(in oklab, var(--c-accent) 35%, var(--c-ink)) 100%
  );
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.couture-avatar-stack--lg .avs-monogram { font-size: 14px; }
.couture-avatar-stack--sm .avs-monogram { font-size: 10.5px; }

/* Composite social-proof block */
.couture-social-proof {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 16px 10px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 4%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-social-proof .csp-stack {
  flex: 0 0 auto;
}
.couture-social-proof .csp-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}
.couture-social-proof .csp-stars {
  display: inline-flex;
  gap: 1px;
  font-size: 12px;
  letter-spacing: 0.5px;
  color: #f59e0b;
  line-height: 1;
}
.couture-social-proof .csp-stars::before {
  content: "★★★★★";
  letter-spacing: 1px;
}
.couture-social-proof .csp-text {
  font: 600 12.5px/1.2 var(--c-body);
  color: var(--c-ink);
}
.couture-social-proof .csp-text strong {
  color: var(--c-accent);
  font-weight: 700;
}
.couture-social-proof .csp-text small {
  display: block;
  font: 400 11px/1.2 var(--c-mono, var(--c-body));
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  letter-spacing: 0.04em;
  margin-top: 2px;
  text-transform: uppercase;
}

/* Stacked variant for narrow contexts (avatars above text) */
@media (max-width: 480px) {
  .couture-social-proof[data-csp-layout="stack"] {
    flex-direction: column;
    align-items: flex-start;
    border-radius: 14px;
    padding: 14px 18px;
  }
}

/* WS-VISIBLE-41 — empty-state extensions: pure-CSS glyphs + tone variants
   + compact horizontal layout. Builds on existing .couture-empty-state. */

/* Pure-CSS glyph fillers (set on .est-glyph via [data-empty-glyph])
   No SVG dependency. */
.couture-empty-state .est-glyph[data-empty-glyph="search"] {
  position: relative;
  font-size: 0;
}
.couture-empty-state .est-glyph[data-empty-glyph="search"]::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  border: 2px solid currentColor;
  border-radius: 50%;
  top: 12px;
  left: 12px;
}
.couture-empty-state .est-glyph[data-empty-glyph="search"]::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  bottom: 14px;
  right: 12px;
  transform: rotate(45deg);
  transform-origin: right center;
}

.couture-empty-state .est-glyph[data-empty-glyph="package"] {
  font-size: 0;
  position: relative;
}
.couture-empty-state .est-glyph[data-empty-glyph="package"]::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 2px solid currentColor;
  border-radius: 4px;
}
.couture-empty-state .est-glyph[data-empty-glyph="package"]::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  top: 50%;
  height: 2px;
  background: currentColor;
  transform: translateY(-1px);
}

.couture-empty-state .est-glyph[data-empty-glyph="sparkle"] {
  font-size: 28px;
  font-weight: 300;
}
.couture-empty-state .est-glyph[data-empty-glyph="sparkle"]::before {
  content: "✦";
}

.couture-empty-state .est-glyph[data-empty-glyph="leaf"] {
  font-size: 0;
  position: relative;
}
.couture-empty-state .est-glyph[data-empty-glyph="leaf"]::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  inset: 15px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  border-radius: 0 100% 0 100%;
  transform: rotate(35deg);
  transform-origin: center;
}

.couture-empty-state .est-glyph[data-empty-glyph="filter"] {
  font-size: 0;
  position: relative;
}
.couture-empty-state .est-glyph[data-empty-glyph="filter"]::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 14px;
  right: 14px;
  height: 2px;
  background: currentColor;
  box-shadow:
    0 8px 0 currentColor,
    0 16px 0 currentColor;
  /* shorten lower bars to give the funnel impression */
}
.couture-empty-state .est-glyph[data-empty-glyph="filter"]::after {
  content: "";
  position: absolute;
  top: 24px;
  left: 18px;
  right: 18px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 8px 0 currentColor;
}

/* Tone variants */
.couture-empty-state[data-empty-tone="quiet"] {
  background: transparent;
  border-style: none;
  padding: 32px 16px;
}
.couture-empty-state[data-empty-tone="quiet"] .est-glyph {
  background: none;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

.couture-empty-state[data-empty-tone="ink"] {
  background: var(--c-ink);
  border-color: transparent;
  color: var(--c-paper);
}
.couture-empty-state[data-empty-tone="ink"] .est-title { color: var(--c-paper); }
.couture-empty-state[data-empty-tone="ink"] .est-body  { color: color-mix(in oklab, var(--c-paper) 75%, transparent); }
.couture-empty-state[data-empty-tone="ink"] .est-glyph {
  background: color-mix(in oklab, var(--c-paper) 12%, transparent);
  border-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
  color: var(--c-paper);
}

/* Big-numerals variant (404-style) */
.couture-empty-state[data-empty-style="numerals"] .est-glyph {
  width: auto;
  height: auto;
  background: none;
  border: 0;
  font: 200 clamp(72px, 12vw, 140px)/.85 var(--c-display);
  letter-spacing: -0.04em;
  color: color-mix(in oklab, var(--c-accent) 60%, var(--c-ink));
}

/* Compact horizontal variant (left glyph, right text+CTA) */
.couture-empty-state[data-empty-layout="row"] {
  flex-direction: row;
  text-align: left;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
}
.couture-empty-state[data-empty-layout="row"] .est-glyph {
  flex: 0 0 56px;
}
.couture-empty-state[data-empty-layout="row"] .est-body {
  max-width: 60ch;
}

@media (max-width: 480px) {
  .couture-empty-state[data-empty-layout="row"] {
    flex-direction: column;
    text-align: center;
  }
}

/* WS-VISIBLE-42 — section-heading numeric-counter utility.
   CSS counter-driven section number prefix on headings inside an
   opt-in scope. Use:
     <section class="couture-numbered">
       <h2>Materials</h2>      → renders "01 — Materials"
       <h2>Craft</h2>          → renders "02 — Craft"
       <h2>Provenance</h2>     → renders "03 — Provenance"
     </section>
   Numbers are auto-incremented via CSS counter, so reordering or
   adding/removing headings doesn't require markup changes.
   Variants via [data-numbered-style]: rule (default, "01 — Title"),
   stacked (number above title, larger), bracket ("[01] Title"),
   raw ("01 Title", no separator).
*/
.couture-numbered {
  counter-reset: cn-counter;
}
.couture-numbered h1,
.couture-numbered h2,
.couture-numbered h3,
.couture-numbered .cn-h {
  counter-increment: cn-counter;
}
.couture-numbered h1::before,
.couture-numbered h2::before,
.couture-numbered h3::before,
.couture-numbered .cn-h::before {
  content: counter(cn-counter, decimal-leading-zero) "  —  ";
  font: 500 0.65em/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.12em;
  color: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
  margin-right: 4px;
  vertical-align: 0.18em;
  text-transform: none;
}

/* Variant: stacked — number above the heading, larger */
.couture-numbered[data-numbered-style="stacked"] h1,
.couture-numbered[data-numbered-style="stacked"] h2,
.couture-numbered[data-numbered-style="stacked"] h3,
.couture-numbered[data-numbered-style="stacked"] .cn-h {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.couture-numbered[data-numbered-style="stacked"] h1::before,
.couture-numbered[data-numbered-style="stacked"] h2::before,
.couture-numbered[data-numbered-style="stacked"] h3::before,
.couture-numbered[data-numbered-style="stacked"] .cn-h::before {
  content: counter(cn-counter, decimal-leading-zero);
  font: 200 clamp(40px, 6vw, 76px)/.85 var(--c-display, var(--c-body));
  letter-spacing: -0.02em;
  margin-right: 0;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  vertical-align: baseline;
}

/* Variant: bracket — "[01] Title" */
.couture-numbered[data-numbered-style="bracket"] h1::before,
.couture-numbered[data-numbered-style="bracket"] h2::before,
.couture-numbered[data-numbered-style="bracket"] h3::before,
.couture-numbered[data-numbered-style="bracket"] .cn-h::before {
  content: "[" counter(cn-counter, decimal-leading-zero) "] ";
  font-weight: 600;
  letter-spacing: 0.05em;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

/* Variant: raw — "01 Title" with just spacing */
.couture-numbered[data-numbered-style="raw"] h1::before,
.couture-numbered[data-numbered-style="raw"] h2::before,
.couture-numbered[data-numbered-style="raw"] h3::before,
.couture-numbered[data-numbered-style="raw"] .cn-h::before {
  content: counter(cn-counter, decimal-leading-zero) " ";
  margin-right: 0.5ch;
  font-weight: 300;
  color: color-mix(in oklab, var(--c-ink) 35%, transparent);
}

/* Variant: dot — "01 · Title" */
.couture-numbered[data-numbered-style="dot"] h1::before,
.couture-numbered[data-numbered-style="dot"] h2::before,
.couture-numbered[data-numbered-style="dot"] h3::before,
.couture-numbered[data-numbered-style="dot"] .cn-h::before {
  content: counter(cn-counter, decimal-leading-zero) "  ·  ";
  letter-spacing: 0.1em;
  color: var(--c-accent);
}

/* Variant: chapter — large script-y "Chapter 01" prefix */
.couture-numbered[data-numbered-style="chapter"] h1::before,
.couture-numbered[data-numbered-style="chapter"] h2::before,
.couture-numbered[data-numbered-style="chapter"] h3::before,
.couture-numbered[data-numbered-style="chapter"] .cn-h::before {
  content: "Chapter " counter(cn-counter, decimal-leading-zero);
  display: block;
  font: italic 400 14px/1 var(--c-display, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  text-transform: none;
  margin-bottom: 8px;
}

/* Skip helper — opt out a particular heading from receiving a number */
.couture-numbered .cn-skip,
.couture-numbered [data-cn-skip] {
  counter-increment: none;
}
.couture-numbered .cn-skip::before,
.couture-numbered [data-cn-skip]::before {
  content: "" !important;
  display: none !important;
}

/* WS-VISIBLE-43 — drop-cap (initial-letter) editorial utility.
   Opt-in via .couture-dropcap on a paragraph (or wrapping container).
   Default: large display-font initial letter floating left, classic
   editorial style. Variants via [data-dropcap-style]: serif (default),
   block (square block bg behind letter), outline (large outlined
   letter), accent-bg (filled accent rectangle), small (subtle 2-line),
   raised (no float, slight raise into baseline). */
.couture-dropcap p:first-of-type::first-letter,
.couture-dropcap > :first-child::first-letter,
.couture-dropcap.--target::first-letter,
p.couture-dropcap::first-letter {
  font-family: var(--c-display, var(--c-body));
  font-weight: 700;
  font-size: 4.4em;
  line-height: .85;
  float: left;
  padding-right: 12px;
  margin-top: 6px;
  color: var(--c-ink);
  font-feature-settings: "kern" 1;
}

/* Variant: serif — italic editorial cap */
.couture-dropcap[data-dropcap-style="serif"] p:first-of-type::first-letter,
.couture-dropcap[data-dropcap-style="serif"] > :first-child::first-letter,
p.couture-dropcap[data-dropcap-style="serif"]::first-letter {
  font-style: italic;
  font-weight: 400;
  font-size: 5em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
  padding-right: 14px;
  margin-top: 8px;
}

/* Variant: block — letter sits inside a tinted square */
.couture-dropcap[data-dropcap-style="block"] p:first-of-type::first-letter,
.couture-dropcap[data-dropcap-style="block"] > :first-child::first-letter,
p.couture-dropcap[data-dropcap-style="block"]::first-letter {
  background: color-mix(in oklab, var(--c-ink) 92%, var(--c-paper));
  color: var(--c-paper);
  padding: 10px 14px;
  margin: 4px 14px 0 0;
  font-size: 3.4em;
  line-height: 1;
  border-radius: 6px;
  font-weight: 800;
}

/* Variant: outline — outlined letter (uses -webkit-text-stroke) */
.couture-dropcap[data-dropcap-style="outline"] p:first-of-type::first-letter,
.couture-dropcap[data-dropcap-style="outline"] > :first-child::first-letter,
p.couture-dropcap[data-dropcap-style="outline"]::first-letter {
  -webkit-text-stroke: 1.5px var(--c-ink);
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-size: 5.2em;
  font-weight: 800;
  padding-right: 16px;
}

/* Variant: accent-bg — filled accent rectangle, knocked-out letter */
.couture-dropcap[data-dropcap-style="accent-bg"] p:first-of-type::first-letter,
.couture-dropcap[data-dropcap-style="accent-bg"] > :first-child::first-letter,
p.couture-dropcap[data-dropcap-style="accent-bg"]::first-letter {
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 8px 12px;
  margin: 6px 14px 0 0;
  font-size: 3em;
  line-height: 1;
  font-weight: 700;
  border-radius: 4px;
}

/* Variant: small — subtle 2-line cap, body-font */
.couture-dropcap[data-dropcap-style="small"] p:first-of-type::first-letter,
.couture-dropcap[data-dropcap-style="small"] > :first-child::first-letter,
p.couture-dropcap[data-dropcap-style="small"]::first-letter {
  font-family: var(--c-body);
  font-weight: 700;
  font-size: 2.6em;
  line-height: 1;
  padding-right: 8px;
  margin-top: 4px;
  color: var(--c-accent);
}

/* Variant: raised — letter sits on the baseline rather than floating */
.couture-dropcap[data-dropcap-style="raised"] p:first-of-type::first-letter,
.couture-dropcap[data-dropcap-style="raised"] > :first-child::first-letter,
p.couture-dropcap[data-dropcap-style="raised"]::first-letter {
  float: none;
  display: inline-block;
  font-size: 1.85em;
  line-height: 1;
  vertical-align: -0.15em;
  padding-right: 4px;
  font-weight: 800;
  color: var(--c-accent);
  font-family: var(--c-display, var(--c-body));
}

/* Variant: thin — light-weight large editorial cap */
.couture-dropcap[data-dropcap-style="thin"] p:first-of-type::first-letter,
.couture-dropcap[data-dropcap-style="thin"] > :first-child::first-letter,
p.couture-dropcap[data-dropcap-style="thin"]::first-letter {
  font-weight: 200;
  font-size: 5.6em;
  line-height: .85;
  padding-right: 14px;
  letter-spacing: -0.02em;
  color: color-mix(in oklab, var(--c-ink) 85%, transparent);
}

/* Suppress drop-cap on tiny screens — looks awkward when paragraph wraps tight */
@media (max-width: 420px) {
  .couture-dropcap p:first-of-type::first-letter,
  .couture-dropcap > :first-child::first-letter,
  p.couture-dropcap::first-letter {
    font-size: 3em;
    padding-right: 8px;
  }
}

/* WS-VISIBLE-44 — editorial list styling utility.
   Opt-in via .couture-list on a <ul> or <ol>. Default: tasteful
   bullets/numbers + comfortable spacing for prose. Variants via
   [data-list-style]: dash, square, accent-dot, check, arrow,
   decimal-pad, roman, chip-num. Markers don't break alignment with
   indent. */
.couture-list {
  margin: clamp(20px, 3vw, 32px) 0;
  padding: 0 0 0 1.5em;
  font: 400 15.5px/1.7 var(--c-body);
  color: var(--c-ink);
  list-style-position: outside;
}
.couture-list > li {
  margin: 0 0 0.5em;
  padding-left: 0.25em;
}
.couture-list > li::marker {
  color: var(--c-accent);
  font-weight: 700;
}
.couture-list > li + li {
  margin-top: 0.55em;
}

/* Nested lists shrink slightly */
.couture-list ul,
.couture-list ol {
  margin: 0.4em 0 0.4em;
  padding-left: 1.4em;
  font-size: 0.96em;
}

/* Variant: dash — em-dash bullet */
.couture-list[data-list-style="dash"] {
  list-style: none;
  padding-left: 1.5em;
}
.couture-list[data-list-style="dash"] > li {
  position: relative;
}
.couture-list[data-list-style="dash"] > li::before {
  content: "—";
  position: absolute;
  left: -1.4em;
  top: 0;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 700;
}

/* Variant: square — square bullet */
.couture-list[data-list-style="square"] {
  list-style: none;
  padding-left: 1.4em;
}
.couture-list[data-list-style="square"] > li {
  position: relative;
}
.couture-list[data-list-style="square"] > li::before {
  content: "";
  position: absolute;
  left: -1.1em;
  top: 0.55em;
  width: 7px;
  height: 7px;
  background: var(--c-accent);
}

/* Variant: accent-dot — small filled circle in accent */
.couture-list[data-list-style="accent-dot"] {
  list-style: none;
  padding-left: 1.4em;
}
.couture-list[data-list-style="accent-dot"] > li {
  position: relative;
}
.couture-list[data-list-style="accent-dot"] > li::before {
  content: "";
  position: absolute;
  left: -1.1em;
  top: 0.55em;
  width: 7px;
  height: 7px;
  background: var(--c-accent);
  border-radius: 50%;
}

/* Variant: check — checkmark glyph */
.couture-list[data-list-style="check"] {
  list-style: none;
  padding-left: 1.7em;
}
.couture-list[data-list-style="check"] > li {
  position: relative;
}
.couture-list[data-list-style="check"] > li::before {
  content: "";
  position: absolute;
  left: -1.5em;
  top: 0.42em;
  width: 14px;
  height: 8px;
  border-left: 2px solid #16a34a;
  border-bottom: 2px solid #16a34a;
  transform: rotate(-45deg);
  transform-origin: left top;
}

/* Variant: arrow — small chevron */
.couture-list[data-list-style="arrow"] {
  list-style: none;
  padding-left: 1.5em;
}
.couture-list[data-list-style="arrow"] > li {
  position: relative;
}
.couture-list[data-list-style="arrow"] > li::before {
  content: "";
  position: absolute;
  left: -1.2em;
  top: 0.5em;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--c-accent);
  border-right: 2px solid var(--c-accent);
  transform: rotate(45deg);
}

/* Variant: decimal-pad — zero-padded "01. 02." numbers (ol-only) */
ol.couture-list[data-list-style="decimal-pad"] {
  list-style: none;
  counter-reset: cl-pad;
  padding-left: 2.4em;
}
ol.couture-list[data-list-style="decimal-pad"] > li {
  position: relative;
  counter-increment: cl-pad;
}
ol.couture-list[data-list-style="decimal-pad"] > li::before {
  content: counter(cl-pad, decimal-leading-zero) ".";
  position: absolute;
  left: -2.4em;
  top: 0;
  font: 700 13px/1.7 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: var(--c-accent);
  width: 2em;
  text-align: right;
}

/* Variant: roman — uppercase roman numerals (ol-only) */
ol.couture-list[data-list-style="roman"] {
  list-style: upper-roman;
  padding-left: 2.2em;
}
ol.couture-list[data-list-style="roman"] > li::marker {
  font: 700 13px/1.7 var(--c-mono, var(--c-body));
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  letter-spacing: 0.04em;
}

/* Variant: chip-num — number sits in small filled chip */
ol.couture-list[data-list-style="chip-num"] {
  list-style: none;
  counter-reset: cl-chip;
  padding-left: 2.4em;
}
ol.couture-list[data-list-style="chip-num"] > li {
  position: relative;
  counter-increment: cl-chip;
  margin-bottom: 0.85em;
}
ol.couture-list[data-list-style="chip-num"] > li::before {
  content: counter(cl-chip);
  position: absolute;
  left: -2.4em;
  top: 0.1em;
  width: 1.7em;
  height: 1.7em;
  background: var(--c-ink);
  color: var(--c-paper);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font: 700 12px/1 var(--c-mono, var(--c-body));
}

/* Density modifiers */
.couture-list[data-list-density="dense"] {
  font-size: 14.5px;
  line-height: 1.5;
}
.couture-list[data-list-density="dense"] > li + li {
  margin-top: 0.3em;
}
.couture-list[data-list-density="airy"] > li + li {
  margin-top: 1em;
}

/* WS-VISIBLE-45 — generic color-swatch chip row utility for product tiles.
   Drop-in markup:
     <div class="couture-swatch-row" aria-label="Available colors">
       <span class="csr-chip" style="--csr-color:#1a1a1a" title="Black"></span>
       <span class="csr-chip" style="--csr-color:#c4a25e" title="Camel"></span>
       <span class="csr-chip --active" style="--csr-color:#d6d6d6" title="Stone"></span>
       <span class="csr-more">+3</span>
     </div>
   Each .csr-chip uses --csr-color custom prop. Variants via [data-csr-shape]:
   round (default), square, line. Sizes via [data-csr-size]: sm, md (default),
   lg. Distinct from existing scoped .couture-color-swatch-* containers. */
.couture-swatch-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
}
.couture-swatch-row .csr-chip {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--csr-color, var(--c-line));
  border: 1px solid color-mix(in oklab, var(--c-ink) 18%, transparent);
  cursor: pointer;
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease;
  flex: 0 0 auto;
  /* Subtle inset for very-light/white chips so they remain visible on paper bg */
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c-ink) 4%, transparent);
}
.couture-swatch-row .csr-chip:hover {
  transform: scale(1.18);
  z-index: 1;
}
.couture-swatch-row .csr-chip.--active,
.couture-swatch-row .csr-chip[aria-pressed="true"],
.couture-swatch-row .csr-chip[data-active] {
  box-shadow:
    0 0 0 1.5px var(--c-paper),
    0 0 0 3px color-mix(in oklab, var(--c-ink) 75%, transparent);
}
/* Sold-out: diagonal slash overlay */
.couture-swatch-row .csr-chip[data-sold-out],
.couture-swatch-row .csr-chip.--sold-out {
  cursor: not-allowed;
  opacity: .6;
}
.couture-swatch-row .csr-chip[data-sold-out]::before,
.couture-swatch-row .csr-chip.--sold-out::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top right,
    transparent calc(50% - 1px),
    color-mix(in oklab, var(--c-ink) 80%, transparent) calc(50% - 0.5px),
    color-mix(in oklab, var(--c-ink) 80%, transparent) calc(50% + 0.5px),
    transparent calc(50% + 1px)
  );
  border-radius: inherit;
}

/* "+N" extras chip */
.couture-swatch-row .csr-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  margin-left: 2px;
}

/* Shape variants */
.couture-swatch-row[data-csr-shape="square"] .csr-chip {
  border-radius: 3px;
}
.couture-swatch-row[data-csr-shape="line"] .csr-chip {
  border-radius: 2px;
  width: 22px;
  height: 4px;
  border-width: 0;
  box-shadow: none;
}
.couture-swatch-row[data-csr-shape="line"] .csr-chip.--active,
.couture-swatch-row[data-csr-shape="line"] .csr-chip[aria-pressed="true"] {
  height: 6px;
  box-shadow: 0 1px 4px -1px color-mix(in oklab, var(--c-ink) 60%, transparent);
}

/* Size variants */
.couture-swatch-row[data-csr-size="sm"] .csr-chip {
  width: 11px;
  height: 11px;
}
.couture-swatch-row[data-csr-size="lg"] .csr-chip {
  width: 20px;
  height: 20px;
}
.couture-swatch-row[data-csr-size="lg"] .csr-more {
  height: 22px;
  font-size: 11px;
  min-width: 28px;
}

/* Optional caption (color name) shown beneath active chip */
.couture-swatch-row .csr-name {
  font: 500 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  margin-left: 4px;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  .couture-swatch-row .csr-chip {
    transition: none;
  }
  .couture-swatch-row .csr-chip:hover {
    transform: none;
  }
}

/* WS-VISIBLE-46 — toast stacking container + progress bar + position variants.
   Builds on existing .couture-toast (V6.387 #88). New additions:
   - .couture-toast-stack — fixed positioned container that holds multiple
     stacked toasts with proper spacing.
   - [data-toast-pos] on stack: bottom-center (default), bottom-right,
     top-right, bottom-left, top-left.
   - .ct-progress — pure-CSS auto-dismiss progress strip
   - Slide-out exit animation
   - .--info / .--neutral additional tone modifiers
   - Click-to-dismiss feedback */
.couture-toast-stack {
  position: fixed;
  z-index: 70;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
  /* Default position: bottom-center */
  left: 50%;
  bottom: clamp(20px, 3vw, 32px);
  transform: translateX(-50%);
  align-items: center;
}
.couture-toast-stack > * {
  pointer-events: auto;
  /* Override the .couture-toast positioning so stack controls layout */
  position: static !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
}

/* Position variants */
.couture-toast-stack[data-toast-pos="bottom-right"] {
  left: auto;
  right: clamp(16px, 2vw, 24px);
  bottom: clamp(16px, 2vw, 24px);
  transform: none;
  align-items: flex-end;
}
.couture-toast-stack[data-toast-pos="bottom-left"] {
  left: clamp(16px, 2vw, 24px);
  right: auto;
  bottom: clamp(16px, 2vw, 24px);
  transform: none;
  align-items: flex-start;
}
.couture-toast-stack[data-toast-pos="top-right"] {
  left: auto;
  right: clamp(16px, 2vw, 24px);
  top: clamp(16px, 2vw, 24px);
  bottom: auto;
  transform: none;
  align-items: flex-end;
}
.couture-toast-stack[data-toast-pos="top-left"] {
  left: clamp(16px, 2vw, 24px);
  right: auto;
  top: clamp(16px, 2vw, 24px);
  bottom: auto;
  transform: none;
  align-items: flex-start;
}
.couture-toast-stack[data-toast-pos="top-center"] {
  left: 50%;
  right: auto;
  top: clamp(16px, 2vw, 24px);
  bottom: auto;
  transform: translateX(-50%);
  align-items: center;
}

/* Auto-dismiss progress strip — set --ct-progress-duration via inline style */
.couture-toast .ct-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: color-mix(in oklab, var(--c-paper) 22%, transparent);
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}
.couture-toast .ct-progress::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--c-accent);
  transform-origin: left center;
  animation: ws-toast-progress var(--ct-progress-duration, 5s) linear forwards;
}
@keyframes ws-toast-progress {
  from { transform: scaleX(1); }
  to   { transform: scaleX(0); }
}

/* Toast must be position:relative for the progress bar — ensure a fallback */
.couture-toast {
  position: fixed;
}
.couture-toast-stack > .couture-toast {
  position: relative !important;
}

/* Exit animation — apply class .--leaving via JS to trigger */
@keyframes ws-toast-out {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to   { opacity: 0; transform: translateY(20px) scale(.96); }
}
.couture-toast.--leaving {
  animation: ws-toast-out .25s ease-out forwards;
}

/* Additional tone modifiers (existing covers success/warn/error) */
.couture-toast.--info .ct-glyph {
  background: #3b82f6;
}
.couture-toast.--neutral .ct-glyph {
  background: color-mix(in oklab, var(--c-paper) 18%, var(--c-ink));
  color: var(--c-paper);
}

/* Compact density */
.couture-toast.--compact {
  padding: 10px 14px;
  font-size: 12.5px;
  min-width: 220px;
  border-radius: 8px;
  gap: 10px;
}
.couture-toast.--compact .ct-glyph {
  width: 18px;
  height: 18px;
  font-size: 10px;
}
.couture-toast.--compact .ct-progress {
  border-radius: 0 0 8px 8px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-toast {
    animation: none !important;
  }
  .couture-toast .ct-progress::before {
    animation: none;
    transform: scaleX(0);
  }
}

/* WS-VISIBLE-47 — inline editorial typography utilities: shortcut combos,
   mark flair variants, inline token chip. Builds on existing .couture-kbd
   (V6.386) and .couture-mark (highlight). New additions: */

/* .couture-shortcut — multi-key combo display like ⌘ + K */
.couture-shortcut {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  vertical-align: middle;
  font-family: var(--c-mono, var(--c-body));
  font-size: 11.5px;
  white-space: nowrap;
}
.couture-shortcut > kbd,
.couture-shortcut .cs-key {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  font: 600 11px/1 var(--c-mono, var(--c-body));
  background: color-mix(in oklab, var(--c-paper) 88%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom-width: 2px;
  border-radius: 4px;
  color: var(--c-ink);
}
.couture-shortcut .cs-sep {
  color: color-mix(in oklab, var(--c-ink) 40%, transparent);
  font-size: 10px;
  user-select: none;
}

/* Mark flair variants — additive to existing .couture-mark */
mark[data-mark-style="accent"],
.couture-mark[data-mark-style="accent"] {
  background: linear-gradient(
    180deg,
    transparent 0%,
    transparent 55%,
    color-mix(in oklab, var(--c-accent) 38%, transparent) 55%,
    color-mix(in oklab, var(--c-accent) 38%, transparent) 92%,
    transparent 92%
  );
  padding: 0 .15em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
mark[data-mark-style="solid"],
.couture-mark[data-mark-style="solid"] {
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 1px 6px;
  border-radius: 3px;
}
mark[data-mark-style="underline"],
.couture-mark[data-mark-style="underline"] {
  background: none;
  border-bottom: 2px solid color-mix(in oklab, var(--c-accent) 70%, transparent);
  padding-bottom: 1px;
}
mark[data-mark-style="strike"],
.couture-mark[data-mark-style="strike"] {
  background: none;
  text-decoration: line-through;
  text-decoration-color: color-mix(in oklab, var(--c-accent) 60%, transparent);
  text-decoration-thickness: 2px;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}
mark[data-mark-style="circle"],
.couture-mark[data-mark-style="circle"] {
  background: none;
  position: relative;
  padding: 0 .25em;
}
mark[data-mark-style="circle"]::before,
.couture-mark[data-mark-style="circle"]::before {
  content: "";
  position: absolute;
  inset: -0.15em -0.05em -0.05em;
  border: 1.5px solid color-mix(in oklab, var(--c-accent) 65%, transparent);
  border-radius: 50%;
  transform: rotate(-1.5deg);
  pointer-events: none;
}

/* .couture-token — inline pill for variable names, paths, file names */
.couture-token {
  display: inline-block;
  padding: 1px 8px;
  font: 500 12.5px/1.4 var(--c-mono, var(--c-body));
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  color: color-mix(in oklab, var(--c-ink) 80%, transparent);
  letter-spacing: 0.01em;
  vertical-align: 1px;
}
.couture-token[data-token-tone="accent"] {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 28%, transparent);
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}
.couture-token[data-token-tone="success"] {
  background: color-mix(in oklab, #16a34a 12%, var(--c-paper));
  border-color: color-mix(in oklab, #16a34a 28%, transparent);
  color: #14532d;
}
.couture-token[data-token-tone="error"] {
  background: color-mix(in oklab, #ef4444 12%, var(--c-paper));
  border-color: color-mix(in oklab, #ef4444 28%, transparent);
  color: #7f1d1d;
}

/* .couture-prose scope — applies tasteful inline element defaults to any
   long-form content. Opt-in by wrapping with this class. */
.couture-prose code,
.couture-prose .couture-code {
  font-size: 0.92em;
}
.couture-prose kbd,
.couture-prose .couture-kbd {
  font-size: 0.85em;
  vertical-align: 1px;
}
.couture-prose samp {
  font-family: var(--c-mono, var(--c-body));
  font-size: 0.92em;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  padding: 0 4px;
  background: color-mix(in oklab, var(--c-paper) 94%, var(--c-ink));
  border-radius: 3px;
}
.couture-prose abbr[title] {
  text-decoration: underline dotted;
  text-decoration-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  cursor: help;
}
.couture-prose sup,
.couture-prose sub {
  font-size: 0.75em;
  color: color-mix(in oklab, var(--c-accent) 75%, var(--c-ink));
}

/* WS-VISIBLE-48 — generic chip / tag-row utility (active filters, multi-select).
   Distinct from existing .couture-chip-grid (V6.386 layout grid) and
   .couture-filter-chip-group (filter section group). This is a generic
   single-chip + horizontal row utility for active-filter displays.

   Usage:
     <div class="couture-chip-row">
       <button class="couture-chip">Cotton <span class="cc-x" aria-label="Remove">×</span></button>
       <button class="couture-chip --active">Linen <span class="cc-x">×</span></button>
       <button class="couture-chip">Wool</button>
       <a class="couture-chip-clear" href="?">Clear all</a>
     </div>
*/
.couture-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: clamp(12px, 2vw, 20px) 0;
}

.couture-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font: 500 12.5px/1.3 var(--c-body);
  letter-spacing: 0.01em;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  color: color-mix(in oklab, var(--c-ink) 80%, transparent);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 999px;
  cursor: pointer;
  transition: background .18s, border-color .18s, color .18s, transform .12s;
  white-space: nowrap;
  text-decoration: none;
}
.couture-chip:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-chip:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.couture-chip:active {
  transform: scale(0.97);
}

/* Active state */
.couture-chip.--active,
.couture-chip[aria-pressed="true"],
.couture-chip[data-active] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-chip.--active:hover,
.couture-chip[aria-pressed="true"]:hover,
.couture-chip[data-active]:hover {
  background: color-mix(in oklab, var(--c-ink) 88%, var(--c-paper));
}

/* Accent-active variant */
.couture-chip[data-chip-active-tone="accent"].--active,
.couture-chip[data-chip-active-tone="accent"][aria-pressed="true"] {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* Dismiss × icon */
.couture-chip .cc-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-right: -4px;
  border-radius: 50%;
  font: 700 14px/1 var(--c-body);
  color: currentColor;
  opacity: 0.55;
  transition: opacity .15s, background .15s;
  cursor: pointer;
  user-select: none;
}
.couture-chip .cc-x:hover {
  opacity: 1;
  background: color-mix(in oklab, currentColor 22%, transparent);
}

/* Leading count or color dot */
.couture-chip .cc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-accent);
  flex: 0 0 auto;
  margin-left: -2px;
}
.couture-chip .cc-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono, var(--c-body));
  background: color-mix(in oklab, currentColor 16%, transparent);
  margin-left: 2px;
}

/* "Clear all" sibling — tertiary action */
.couture-chip-clear {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font: 600 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  background: none;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  transition: color .15s, background .15s;
}
.couture-chip-clear:hover {
  color: var(--c-ink);
  background: color-mix(in oklab, var(--c-ink) 5%, transparent);
}

/* Density variants */
.couture-chip-row[data-chip-size="sm"] .couture-chip {
  padding: 4px 9px;
  font-size: 11px;
}
.couture-chip-row[data-chip-size="sm"] .couture-chip .cc-x {
  width: 13px;
  height: 13px;
  font-size: 12px;
}
.couture-chip-row[data-chip-size="lg"] .couture-chip {
  padding: 8px 16px;
  font-size: 13.5px;
}

/* Outline-only variant — for less-visual-weight contexts */
.couture-chip[data-chip-style="outline"] {
  background: transparent;
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-chip[data-chip-style="outline"]:hover {
  background: color-mix(in oklab, var(--c-ink) 4%, transparent);
}

/* Ghost variant — even lighter, only background on hover */
.couture-chip[data-chip-style="ghost"] {
  background: transparent;
  border-color: transparent;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
}
.couture-chip[data-chip-style="ghost"]:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, transparent);
  color: var(--c-ink);
}

@media (prefers-reduced-motion: reduce) {
  .couture-chip,
  .couture-chip .cc-x,
  .couture-chip-clear {
    transition: none;
  }
  .couture-chip:active {
    transform: none;
  }
}

/* WS-VISIBLE-49 — quote-attribution row utility for testimonials/press blocks.
   Goes under a quote/.couture-pullquote or anywhere a citation block is
   needed. Default: small avatar + name + role + (optional) outlet logo.
   Variants via [data-attribution]: minimal (text-only, no avatar),
   side (avatar right of text), centered (centered text below quote),
   compact (single-line). Distinct from .couture-byline-row (blog post
   byline) and .couture-byline-meta (article metadata). */
.couture-attribution {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: clamp(16px, 2.5vw, 28px) 0;
  font: 500 13.5px/1.4 var(--c-body);
}

.couture-attribution .ca-avatar {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent) 35%, var(--c-paper)) 0%,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 100%
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--c-paper);
  font: 700 14px/1 var(--c-mono, var(--c-body));
}
.couture-attribution .ca-avatar > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.couture-attribution .ca-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
.couture-attribution .ca-name {
  font: 700 14px/1.3 var(--c-body);
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-attribution .ca-role {
  font: 500 12px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  text-transform: uppercase;
}
.couture-attribution .ca-name + .ca-role {
  margin-top: 2px;
}

/* Outlet logo / brand mark on the right */
.couture-attribution .ca-outlet {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding-left: 14px;
  margin-left: auto;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  font: 700 11px/1 var(--c-display, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.couture-attribution .ca-outlet > img {
  max-height: 22px;
  width: auto;
  opacity: 0.7;
  filter: grayscale(100%);
  transition: opacity .2s, filter .2s;
}
.couture-attribution:hover .ca-outlet > img {
  opacity: 1;
  filter: grayscale(0);
}

/* Variant: minimal — em-dash before text, no avatar */
.couture-attribution[data-attribution="minimal"] {
  display: block;
  margin-top: 12px;
}
.couture-attribution[data-attribution="minimal"] .ca-avatar {
  display: none;
}
.couture-attribution[data-attribution="minimal"] .ca-meta {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
.couture-attribution[data-attribution="minimal"] .ca-name::before {
  content: "— ";
  color: var(--c-accent);
  font-weight: 400;
  margin-right: 2px;
}
.couture-attribution[data-attribution="minimal"] .ca-role {
  font-style: italic;
  text-transform: none;
  letter-spacing: normal;
  font-family: var(--c-body);
}

/* Variant: centered — text-centered, avatar above */
.couture-attribution[data-attribution="centered"] {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}
.couture-attribution[data-attribution="centered"] .ca-meta {
  align-items: center;
  flex-direction: column;
}
.couture-attribution[data-attribution="centered"] .ca-outlet {
  margin: 8px auto 0;
  padding: 0;
  border: 0;
}

/* Variant: side — avatar right (instead of default left) */
.couture-attribution[data-attribution="side"] {
  flex-direction: row-reverse;
  text-align: right;
}
.couture-attribution[data-attribution="side"] .ca-meta {
  align-items: flex-end;
}

/* Variant: compact — single-line, less visual weight */
.couture-attribution[data-attribution="compact"] {
  gap: 10px;
  font-size: 12.5px;
}
.couture-attribution[data-attribution="compact"] .ca-avatar {
  width: 28px;
  height: 28px;
  font-size: 11px;
}
.couture-attribution[data-attribution="compact"] .ca-meta {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
}
.couture-attribution[data-attribution="compact"] .ca-name {
  font-size: 13px;
}
.couture-attribution[data-attribution="compact"] .ca-role {
  font-size: 11px;
}
.couture-attribution[data-attribution="compact"] .ca-role::before {
  content: "·";
  margin-right: 6px;
  color: color-mix(in oklab, var(--c-ink) 30%, transparent);
}

@media (max-width: 480px) {
  .couture-attribution .ca-outlet {
    margin-left: 0;
    padding-left: 10px;
  }
}

/* WS-VISIBLE-50 — eyebrow label utility (over-heading kicker text).
   Standalone .couture-eyebrow utility for the small uppercase label
   that often sits above section headings ("FALL / WINTER 2026" → "New
   collection drops"). Existing eyebrow rules are scoped to specific
   hero/product/article sections; this is the unscoped editorial utility.
   Variants via [data-eyebrow-style]: rule (default - small bar prefix),
   dot (leading dot), bullet (·), pill (filled chip), bracket ("[ … ]"),
   ribbon (slanted accent ribbon), plain (just the styled text). */
.couture-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 600 11.5px/1.4 var(--c-mono, var(--c-body));
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0 0 12px;
  vertical-align: middle;
}
.couture-eyebrow::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 1px;
  background: currentColor;
  flex: 0 0 auto;
}

/* Variant: plain — just the styled text, no decoration */
.couture-eyebrow[data-eyebrow-style="plain"]::before {
  display: none;
}

/* Variant: dot — small filled circle */
.couture-eyebrow[data-eyebrow-style="dot"]::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}

/* Variant: bullet — middle-dot character */
.couture-eyebrow[data-eyebrow-style="bullet"]::before {
  content: "·";
  width: auto;
  height: auto;
  background: none;
  font: 700 18px/1 var(--c-display, var(--c-body));
  color: currentColor;
  margin-right: -2px;
}

/* Variant: bracket — wraps with [ ] characters */
.couture-eyebrow[data-eyebrow-style="bracket"]::before {
  content: "[";
  width: auto;
  height: auto;
  background: none;
  font-family: var(--c-mono, var(--c-body));
  color: currentColor;
}
.couture-eyebrow[data-eyebrow-style="bracket"]::after {
  content: "]";
  font-family: var(--c-mono, var(--c-body));
  color: currentColor;
}

/* Variant: pill — filled rounded background */
.couture-eyebrow[data-eyebrow-style="pill"] {
  padding: 4px 12px;
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--c-accent) 24%, transparent);
}
.couture-eyebrow[data-eyebrow-style="pill"]::before {
  display: none;
}

/* Variant: ribbon — slanted accent strip on left */
.couture-eyebrow[data-eyebrow-style="ribbon"] {
  position: relative;
  padding-left: 18px;
}
.couture-eyebrow[data-eyebrow-style="ribbon"]::before {
  width: 4px;
  height: 14px;
  background: var(--c-accent);
  transform: skewX(-12deg);
  margin-right: 6px;
}

/* Variant: number — leading "01 /" style numbering */
.couture-eyebrow[data-eyebrow-style="number"] .ce-num {
  display: inline-block;
  font-weight: 700;
  color: var(--c-accent);
  margin-right: 4px;
}
.couture-eyebrow[data-eyebrow-style="number"] .ce-num::after {
  content: " /";
  margin-left: 4px;
  color: color-mix(in oklab, var(--c-ink) 35%, transparent);
}
.couture-eyebrow[data-eyebrow-style="number"]::before {
  display: none;
}

/* Variant: stacked — eyebrow above heading with reduced bottom margin */
.couture-eyebrow[data-eyebrow-style="stacked"] {
  display: block;
  margin-bottom: 6px;
}

/* Color tone modifiers */
.couture-eyebrow[data-eyebrow-tone="ink"] {
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}
.couture-eyebrow[data-eyebrow-tone="ink"][data-eyebrow-style="ribbon"]::before,
.couture-eyebrow[data-eyebrow-tone="ink"][data-eyebrow-style="dot"]::before {
  background: var(--c-ink);
}
.couture-eyebrow[data-eyebrow-tone="muted"] {
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

/* Centered helper — for text-centered sections where eyebrow centers above heading */
.couture-eyebrow[data-eyebrow-align="center"] {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Density */
.couture-eyebrow[data-eyebrow-size="sm"] {
  font-size: 10px;
  letter-spacing: 0.12em;
  gap: 6px;
}
.couture-eyebrow[data-eyebrow-size="sm"]::before {
  width: 16px;
}
.couture-eyebrow[data-eyebrow-size="lg"] {
  font-size: 13px;
  letter-spacing: 0.16em;
  gap: 12px;
}

/* WS-VISIBLE-51 — video thumbnail with play overlay (lightweight variant +
   slot helpers). Distinct from existing .couture-video-card (V6.386, larger
   styled card with circular white play button). This .couture-video-thumb
   is a slimmer thumb-style variant for grid-of-videos contexts, with
   pure-CSS triangle play glyph and slot helpers for duration / category. */
.couture-video-thumb {
  position: relative;
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: var(--c-ink);
  aspect-ratio: 16 / 9;
  cursor: pointer;
  isolation: isolate;
  text-decoration: none;
  color: inherit;
}
.couture-video-thumb > img,
.couture-video-thumb > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease, filter .35s ease;
}

/* Centered semi-translucent play button (default) — slimmer than .couture-video-card */
.couture-video-thumb::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  z-index: 2;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), background .3s;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.couture-video-thumb::after {
  /* Pure-CSS triangle play glyph (no font dependency) */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% + 2px), -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 14px;
  border-color: transparent transparent transparent var(--c-ink);
  z-index: 3;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
}
.couture-video-thumb:hover > img {
  transform: scale(1.04);
  filter: brightness(0.92);
}
.couture-video-thumb:hover::before {
  transform: translate(-50%, -50%) scale(1.1);
  background: var(--c-paper);
}
.couture-video-thumb:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}

/* Slot: duration pill bottom-right ("3:42") */
.couture-video-thumb .cvt-duration {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;
  padding: 3px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-ink) 88%, transparent);
  color: var(--c-paper);
  font: 700 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

/* Slot: eyebrow category bottom-left */
.couture-video-thumb .cvt-eyebrow {
  position: absolute;
  left: 12px;
  bottom: 10px;
  z-index: 4;
  font: 700 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-paper);
  text-shadow: 0 1px 8px rgba(0,0,0,.6);
  pointer-events: none;
}

/* Slot: title bar (bottom gradient overlay with title) */
.couture-video-thumb .cvt-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 28px 14px 12px;
  z-index: 3;
  color: var(--c-paper);
  font: 600 13.5px/1.35 var(--c-body);
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.78) 0%,
    rgba(0,0,0,0.4) 60%,
    transparent 100%
  );
  pointer-events: none;
}

/* Variant: minimal — just play button, no shadow/scale on hover */
.couture-video-thumb[data-video-style="minimal"] {
  border-radius: 4px;
}
.couture-video-thumb[data-video-style="minimal"]::before {
  width: 44px;
  height: 44px;
  background: color-mix(in oklab, var(--c-paper) 85%, transparent);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.couture-video-thumb[data-video-style="minimal"]::after {
  border-width: 7px 0 7px 11px;
}

/* Variant: accent — accent-color play button */
.couture-video-thumb[data-video-style="accent"]::before {
  background: var(--c-accent);
}
.couture-video-thumb[data-video-style="accent"]::after {
  border-left-color: var(--c-paper);
}

/* Variant: pulse — animated pulsing ring around play button */
.couture-video-thumb[data-video-style="pulse"]::before {
  box-shadow:
    0 0 0 0 color-mix(in oklab, var(--c-paper) 40%, transparent);
  animation: ws-video-pulse 2s ease-out infinite;
}
@keyframes ws-video-pulse {
  0% {
    box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-paper) 50%, transparent);
  }
  70% {
    box-shadow: 0 0 0 18px color-mix(in oklab, var(--c-paper) 0%, transparent);
  }
  100% {
    box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-paper) 0%, transparent);
  }
}

/* Variant: square — instagram-style 1:1 aspect */
.couture-video-thumb[data-video-ratio="1"]   { aspect-ratio: 1 / 1; }
.couture-video-thumb[data-video-ratio="9-16"] { aspect-ratio: 9 / 16; }  /* vertical reels */
.couture-video-thumb[data-video-ratio="4-5"]  { aspect-ratio: 4 / 5; }
.couture-video-thumb[data-video-ratio="3-2"]  { aspect-ratio: 3 / 2; }

/* Sizes */
.couture-video-thumb[data-video-size="sm"]::before {
  width: 40px;
  height: 40px;
}
.couture-video-thumb[data-video-size="sm"]::after {
  border-width: 6px 0 6px 10px;
}
.couture-video-thumb[data-video-size="lg"]::before {
  width: 76px;
  height: 76px;
}
.couture-video-thumb[data-video-size="lg"]::after {
  border-width: 12px 0 12px 19px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-video-thumb > img,
  .couture-video-thumb::before,
  .couture-video-thumb::after {
    transition: none;
  }
  .couture-video-thumb:hover > img {
    transform: none;
  }
  .couture-video-thumb:hover::before {
    transform: translate(-50%, -50%);
  }
  .couture-video-thumb[data-video-style="pulse"]::before {
    animation: none;
  }
}

/* WS-VISIBLE-52 — notification dot / indicator utility.
   Small absolutely-positioned dot or count badge that anchors to the
   top-right of any icon/element. Drop on a relative-positioned parent.

   Usage:
     <button class="couture-icon-btn">
       <svg>…</svg>
       <span class="couture-notif-dot" aria-label="3 unread"></span>
     </button>

   Variants via [data-notif-style]: dot (default, no count), count
   (small numeric badge), pulse (animated dot), pip (inline dot for
   in-text use). Tones via [data-notif-tone]: accent (default), ink,
   error, success, warn. */
.couture-notif-dot {
  position: absolute;
  top: -3px;
  right: -3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-paper);
  border: 2px solid var(--c-paper);
  box-sizing: content-box;
  font: 700 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0;
  pointer-events: none;
  z-index: 2;
}

/* Count variant — auto-grows when text content present */
.couture-notif-dot:not(:empty),
.couture-notif-dot[data-notif-style="count"] {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 10px;
}

/* "99+" overflow handling — JS or markup sets data-count attr */
.couture-notif-dot[data-count]::before {
  content: attr(data-count);
}

/* Pip variant — inline dot in text (e.g. "Live ●") */
.couture-notif-dot[data-notif-style="pip"] {
  position: static;
  display: inline-block;
  width: 7px;
  height: 7px;
  min-width: 0;
  vertical-align: 1px;
  margin: 0 5px 0 1px;
  border: 0;
}

/* Pulse — animated outward ring */
.couture-notif-dot[data-notif-style="pulse"] {
  animation: ws-notif-pulse-base 2s ease-out infinite;
}
@keyframes ws-notif-pulse-base {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 50%, transparent); }
  60%      { box-shadow: 0 0 0 6px color-mix(in oklab, var(--c-accent) 0%, transparent); }
}

/* Pulse with explicit ring (separate visual layer) */
.couture-notif-dot[data-notif-style="pulse-ring"]::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  border: 2px solid currentColor;
  color: var(--c-accent);
  opacity: .55;
  animation: ws-notif-pulse-ring 1.6s ease-out infinite;
}
@keyframes ws-notif-pulse-ring {
  0%   { transform: scale(0.6); opacity: .65; }
  100% { transform: scale(2.0); opacity: 0; }
}

/* Tones */
.couture-notif-dot[data-notif-tone="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-notif-dot[data-notif-tone="error"] {
  background: #ef4444;
  color: #fff;
}
.couture-notif-dot[data-notif-tone="success"] {
  background: #16a34a;
  color: #fff;
}
.couture-notif-dot[data-notif-tone="warn"] {
  background: #f59e0b;
  color: #1a1208;
}
.couture-notif-dot[data-notif-tone="muted"] {
  background: color-mix(in oklab, var(--c-line) 80%, var(--c-ink));
  color: var(--c-paper);
  border-color: var(--c-paper);
}

/* Position variants */
.couture-notif-dot[data-notif-pos="top-left"] {
  top: -3px;
  left: -3px;
  right: auto;
}
.couture-notif-dot[data-notif-pos="bottom-right"] {
  top: auto;
  bottom: -3px;
  right: -3px;
}
.couture-notif-dot[data-notif-pos="bottom-left"] {
  top: auto;
  bottom: -3px;
  left: -3px;
  right: auto;
}

/* Sizes */
.couture-notif-dot[data-notif-size="sm"] {
  min-width: 6px;
  height: 6px;
  border-width: 1.5px;
}
.couture-notif-dot[data-notif-size="sm"]:not(:empty) {
  min-width: 13px;
  height: 13px;
  font-size: 9px;
  padding: 0 3px;
}
.couture-notif-dot[data-notif-size="lg"] {
  min-width: 11px;
  height: 11px;
  border-width: 2px;
}
.couture-notif-dot[data-notif-size="lg"]:not(:empty) {
  min-width: 20px;
  height: 20px;
  font-size: 11px;
  padding: 0 6px;
}

/* Companion: helper to ensure parent is positioned (apply to icon button) */
.couture-icon-btn[data-has-notif],
.couture-notif-anchor {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
  .couture-notif-dot[data-notif-style="pulse"],
  .couture-notif-dot[data-notif-style="pulse-ring"]::after {
    animation: none;
  }
}

/* WS-VISIBLE-53 — corner sticker / ribbon overlay utility for product tiles.
   Drop on a position:relative parent (any product tile / image card).
   Default: small angled sticker top-right with "NEW" / "SALE" / etc text.
   Variants via [data-sticker]: angled (default 12deg rotate), flat,
   ribbon (diagonal corner ribbon banner), pill (rounded chip), seal
   (circular wax-seal style). Tones via [data-sticker-tone]: accent
   (default), ink, sale (red), eco (green), gold. */
.couture-corner-sticker {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  font: 700 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--c-accent);
  color: var(--c-paper);
  border-radius: 4px;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-accent) 50%, transparent);
  pointer-events: none;
  transform: rotate(-8deg);
  transform-origin: center;
  white-space: nowrap;
}

/* Variant: flat — no rotate */
.couture-corner-sticker[data-sticker="flat"] {
  transform: none;
  border-radius: 999px;
  padding: 5px 11px;
  letter-spacing: 0.06em;
}

/* Variant: angled-cw — rotate the other direction */
.couture-corner-sticker[data-sticker="angled-cw"] {
  transform: rotate(8deg);
}

/* Variant: ribbon — diagonal corner banner across top-right corner */
.couture-corner-sticker[data-sticker="ribbon"] {
  top: 0;
  right: 0;
  transform: translate(30%, 35%) rotate(45deg);
  transform-origin: center;
  width: 140px;
  padding: 5px 0;
  border-radius: 0;
  box-shadow: 0 2px 6px -2px rgba(0,0,0,0.3);
  text-align: center;
  font-size: 10.5px;
  letter-spacing: 0.14em;
}

/* Variant: pill — rounded chip with subtle border */
.couture-corner-sticker[data-sticker="pill"] {
  transform: none;
  border-radius: 999px;
  padding: 5px 12px;
  background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  box-shadow: 0 2px 6px -2px rgba(0,0,0,0.12);
  font-size: 10.5px;
  letter-spacing: 0.06em;
}

/* Variant: seal — circular wax-seal style */
.couture-corner-sticker[data-sticker="seal"] {
  width: 56px;
  height: 56px;
  padding: 0;
  border-radius: 50%;
  flex-direction: column;
  font-size: 9.5px;
  line-height: 1.1;
  letter-spacing: 0.08em;
  transform: rotate(-12deg);
  border: 1px dashed color-mix(in oklab, var(--c-paper) 50%, transparent);
  text-align: center;
  padding: 4px;
}
.couture-corner-sticker[data-sticker="seal"]::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid color-mix(in oklab, var(--c-paper) 35%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

/* Tones */
.couture-corner-sticker[data-sticker-tone="ink"] {
  background: var(--c-ink);
  box-shadow: 0 4px 12px -4px color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-corner-sticker[data-sticker-tone="sale"] {
  background: #dc2626;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, #dc2626 50%, transparent);
}
.couture-corner-sticker[data-sticker-tone="eco"] {
  background: #16a34a;
  box-shadow: 0 4px 12px -4px color-mix(in oklab, #16a34a 50%, transparent);
}
.couture-corner-sticker[data-sticker-tone="gold"] {
  background: linear-gradient(135deg, #c9a665 0%, #a37b3d 100%);
  color: #1a1208;
  box-shadow: 0 4px 12px -4px rgba(163, 123, 61, 0.5);
}
.couture-corner-sticker[data-sticker-tone="paper"] {
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  box-shadow: 0 4px 12px -4px rgba(0,0,0,0.12);
}

/* Position variants */
.couture-corner-sticker[data-sticker-pos="top-left"] {
  top: 12px;
  left: 12px;
  right: auto;
}
.couture-corner-sticker[data-sticker-pos="bottom-right"] {
  top: auto;
  bottom: 12px;
  right: 12px;
}
.couture-corner-sticker[data-sticker-pos="bottom-left"] {
  top: auto;
  bottom: 12px;
  left: 12px;
  right: auto;
}

/* Ribbon position variants */
.couture-corner-sticker[data-sticker="ribbon"][data-sticker-pos="top-left"] {
  top: 0;
  left: 0;
  right: auto;
  transform: translate(-30%, 35%) rotate(-45deg);
}

/* Subtle wiggle animation (opt-in) */
@keyframes ws-sticker-wiggle {
  0%, 100% { transform: rotate(var(--cs-rot, -8deg)); }
  50%      { transform: rotate(calc(var(--cs-rot, -8deg) + 4deg)); }
}
.couture-corner-sticker[data-sticker-anim="wiggle"] {
  --cs-rot: -8deg;
  animation: ws-sticker-wiggle 2.4s ease-in-out infinite;
}
.couture-corner-sticker[data-sticker-anim="wiggle"][data-sticker="angled-cw"] {
  --cs-rot: 8deg;
}

@media (prefers-reduced-motion: reduce) {
  .couture-corner-sticker[data-sticker-anim="wiggle"] {
    animation: none;
  }
}

/* WS-VISIBLE-54 — inline subscribe row utility (slim newsletter form).
   Distinct from the full-width .couture-newsletter section — this is a
   smaller inline form for embedding in footers, sidebars, or end-of-
   blog-post slots. Variants via [data-subscribe-style]: line (default,
   underlined input + side button), pill (rounded combined), stacked
   (input above button), card (boxed with bg).

   Usage:
     <form class="couture-subscribe-inline">
       <label class="csi-label">Letter</label>
       <input type="email" placeholder="your@email" required>
       <button type="submit">Join →</button>
       <p class="csi-hint">No spam. Unsubscribe anytime.</p>
     </form>
*/
.couture-subscribe-inline {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  margin: clamp(16px, 2.5vw, 24px) 0;
  max-width: 480px;
  position: relative;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
}
.couture-subscribe-inline > input[type="email"],
.couture-subscribe-inline > input[type="text"] {
  background: transparent;
  border: 0;
  padding: 10px 0;
  font: 400 14.5px/1.4 var(--c-body);
  color: var(--c-ink);
  outline: 0;
  width: 100%;
  min-width: 0;
}
.couture-subscribe-inline > input[type="email"]::placeholder,
.couture-subscribe-inline > input[type="text"]::placeholder {
  color: color-mix(in oklab, var(--c-ink) 40%, transparent);
}
.couture-subscribe-inline > input[type="email"]:focus,
.couture-subscribe-inline > input[type="text"]:focus {
  outline: 0;
}
.couture-subscribe-inline > button {
  background: transparent;
  border: 0;
  padding: 10px 4px 10px 14px;
  font: 700 12px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-ink);
  cursor: pointer;
  white-space: nowrap;
  transition: color .18s, transform .18s;
}
.couture-subscribe-inline > button:hover {
  color: var(--c-accent);
  transform: translateX(2px);
}
.couture-subscribe-inline > button:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 4px;
  border-radius: 2px;
}

/* Optional small label ("Letter" / "Newsletter") prefix */
.couture-subscribe-inline .csi-label {
  grid-column: 1 / -1;
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  margin-bottom: 6px;
}

/* Optional hint text below */
.couture-subscribe-inline .csi-hint {
  grid-column: 1 / -1;
  margin: 6px 0 0;
  font: 400 11.5px/1.4 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

/* Variant: pill — combined rounded form, input + button in one pill */
.couture-subscribe-inline[data-subscribe-style="pill"] {
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  border-radius: 999px;
  padding: 4px 4px 4px 16px;
  background: var(--c-paper);
}
.couture-subscribe-inline[data-subscribe-style="pill"] > input {
  padding: 9px 0;
  font-size: 13.5px;
}
.couture-subscribe-inline[data-subscribe-style="pill"] > button {
  background: var(--c-ink);
  color: var(--c-paper);
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 11.5px;
  letter-spacing: 0.08em;
}
.couture-subscribe-inline[data-subscribe-style="pill"] > button:hover {
  background: var(--c-accent);
  color: var(--c-paper);
  transform: none;
}

/* Variant: stacked — input above button (narrow contexts) */
.couture-subscribe-inline[data-subscribe-style="stacked"] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  border-bottom: 0;
}
.couture-subscribe-inline[data-subscribe-style="stacked"] > input {
  padding: 12px 14px;
  background: color-mix(in oklab, var(--c-ink) 4%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 6px;
  font-size: 14px;
}
.couture-subscribe-inline[data-subscribe-style="stacked"] > button {
  background: var(--c-ink);
  color: var(--c-paper);
  padding: 12px 18px;
  border-radius: 6px;
  text-align: center;
  font-size: 12.5px;
  letter-spacing: 0.08em;
}
.couture-subscribe-inline[data-subscribe-style="stacked"] > button:hover {
  background: var(--c-accent);
  transform: none;
}

/* Variant: card — boxed with subtle background tint */
.couture-subscribe-inline[data-subscribe-style="card"] {
  padding: clamp(16px, 2.5vw, 24px) clamp(18px, 3vw, 28px);
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 16%, transparent);
  border-radius: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: none;
}
.couture-subscribe-inline[data-subscribe-style="card"] > input {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 6px;
  padding: 10px 14px;
  flex: 1 1 200px;
  font-size: 14px;
}
.couture-subscribe-inline[data-subscribe-style="card"] > button {
  background: var(--c-ink);
  color: var(--c-paper);
  padding: 10px 18px;
  border-radius: 6px;
  flex: 0 0 auto;
}
.couture-subscribe-inline[data-subscribe-style="card"] > button:hover {
  background: var(--c-accent);
  transform: none;
}

/* Success state — apply .--ok via JS after submit */
.couture-subscribe-inline.--ok {
  border-color: #16a34a;
  position: relative;
}
.couture-subscribe-inline.--ok::after {
  content: "✓ Subscribed";
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  font: 600 12px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: #16a34a;
}

@media (prefers-reduced-motion: reduce) {
  .couture-subscribe-inline > button {
    transition: none;
  }
  .couture-subscribe-inline > button:hover {
    transform: none;
  }
}

/* WS-VISIBLE-55 — inline price display utility (price + per-unit caption).
   For "$24 / pair", "From $120 USD", "$45 each", etc. Distinct from
   existing .couture-price-markdown (sale strikethrough display) and
   .couture-price-table-tight (table). This is the small inline utility
   for product tiles, hero CTAs, and feature rows.

   Usage:
     <span class="couture-price">
       <span class="cp-currency">$</span>
       <span class="cp-amount">120</span>
       <span class="cp-decimal">.00</span>
       <span class="cp-unit">USD</span>
       <small class="cp-sub">/ pair</small>
     </span>

   Variants via [data-price-style]: stacked (default - amount + sub
   beneath), inline (one-line), big (large display amount), strike
   (was/now pair), from ("From $X" prefix), tax ("$X excl. tax" suffix).
*/
.couture-price {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font: 700 18px/1.1 var(--c-display, var(--c-body));
  color: var(--c-ink);
  letter-spacing: -0.012em;
  font-variant-numeric: tabular-nums;
}
.couture-price .cp-currency {
  font-size: 0.7em;
  font-weight: 600;
  vertical-align: 0.4em;
  margin-right: 1px;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}
.couture-price .cp-amount {
  font-weight: 700;
}
.couture-price .cp-decimal {
  font-size: 0.65em;
  font-weight: 600;
  vertical-align: 0.4em;
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  margin-left: -1px;
}
.couture-price .cp-unit {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  margin-left: 4px;
}
.couture-price .cp-sub {
  font: 500 11.5px/1 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  margin-left: 4px;
}

/* Variant: stacked — sub on its own line */
.couture-price[data-price-style="stacked"] {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.couture-price[data-price-style="stacked"] .cp-sub,
.couture-price[data-price-style="stacked"] .cp-unit {
  margin-left: 0;
  margin-top: 2px;
}

/* Variant: big — large display amount */
.couture-price[data-price-style="big"] {
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -0.02em;
}

/* Variant: from — adds "From " prefix */
.couture-price[data-price-style="from"]::before {
  content: "From";
  display: inline-block;
  font: 500 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  align-self: center;
  margin-right: 4px;
}

/* Variant: strike — was/now compound (.cp-was + .cp-amount) */
.couture-price .cp-was {
  font-weight: 500;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  text-decoration: line-through;
  text-decoration-color: color-mix(in oklab, var(--c-ink) 40%, transparent);
  font-size: 0.78em;
  margin-right: 6px;
}
.couture-price[data-price-style="strike"] .cp-amount,
.couture-price[data-price-style="strike"] .cp-currency {
  color: #dc2626;
}

/* Variant: minimal — strip emphasis, lighter weight */
.couture-price[data-price-style="minimal"] {
  font-weight: 500;
  font-family: var(--c-body);
  font-size: 15px;
  letter-spacing: 0;
}
.couture-price[data-price-style="minimal"] .cp-currency {
  vertical-align: baseline;
  font-size: 0.85em;
}
.couture-price[data-price-style="minimal"] .cp-decimal {
  vertical-align: baseline;
  font-size: 0.85em;
}

/* Tone: accent — amount in accent color */
.couture-price[data-price-tone="accent"] .cp-amount,
.couture-price[data-price-tone="accent"] .cp-currency {
  color: var(--c-accent);
}

/* Sale badge slot — inline next to amount */
.couture-price .cp-save {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  margin-left: 6px;
  border-radius: 4px;
  background: #dc2626;
  color: #fff;
  font: 700 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  text-transform: uppercase;
  vertical-align: 1px;
}

/* Caption row beneath (e.g. "Free shipping over $100", "Tax included") */
.couture-price .cp-meta {
  display: block;
  width: 100%;
  margin-top: 4px;
  font: 500 11px/1.3 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  letter-spacing: normal;
  text-transform: none;
  font-variant-numeric: normal;
}

/* Compact size */
.couture-price[data-price-size="sm"] {
  font-size: 14.5px;
}
.couture-price[data-price-size="lg"] {
  font-size: 22px;
}

/* WS-VISIBLE-56 — image card with hover-reveal overlay caption.
   Generic utility for image-grid tiles where caption appears on hover.
   Variants via [data-photo-overlay]: gradient (default — bottom-up dark
   gradient on hover), full (full-coverage tint reveal), corner (small
   pill in corner), strip (bottom strip slides in).

   Usage:
     <figure class="couture-photo-card" data-photo-overlay="gradient">
       <img src="…" alt="…">
       <figcaption>
         <h3 class="cph-title">Marble Bowl</h3>
         <p class="cph-meta">Stoneware · 2026</p>
       </figcaption>
     </figure>
*/
.couture-photo-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
  margin: 0;
  isolation: isolate;
  cursor: pointer;
  aspect-ratio: 4 / 5;
}
.couture-photo-card > img,
.couture-photo-card > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}
.couture-photo-card:hover > img,
.couture-photo-card:focus-within > img {
  transform: scale(1.05);
}
.couture-photo-card:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}
.couture-photo-card > figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: clamp(14px, 2vw, 22px) clamp(14px, 2vw, 20px);
  color: var(--c-paper);
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.78) 0%,
    rgba(0,0,0,0.36) 60%,
    transparent 100%
  );
  transform: translateY(40%);
  opacity: 0;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s;
}
.couture-photo-card:hover > figcaption,
.couture-photo-card:focus-within > figcaption {
  transform: translateY(0);
  opacity: 1;
}
.couture-photo-card .cph-title {
  margin: 0;
  font: 600 16px/1.3 var(--c-display, var(--c-body));
  letter-spacing: -0.01em;
  color: var(--c-paper);
}
.couture-photo-card .cph-meta {
  margin: 4px 0 0;
  font: 500 11.5px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}

/* Variant: full — full-coverage tint reveal (caption centered) */
.couture-photo-card[data-photo-overlay="full"]:hover > img,
.couture-photo-card[data-photo-overlay="full"]:focus-within > img {
  filter: brightness(0.55) saturate(0.9);
}
.couture-photo-card[data-photo-overlay="full"] > figcaption {
  background: none;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(20px, 3vw, 40px);
  transform: scale(0.97);
}
.couture-photo-card[data-photo-overlay="full"]:hover > figcaption,
.couture-photo-card[data-photo-overlay="full"]:focus-within > figcaption {
  transform: scale(1);
}
.couture-photo-card[data-photo-overlay="full"] .cph-title {
  font-size: clamp(18px, 2.4vw, 28px);
}

/* Variant: corner — small pill in corner, always visible */
.couture-photo-card[data-photo-overlay="corner"] > figcaption {
  position: absolute;
  top: 12px;
  left: 12px;
  bottom: auto;
  right: auto;
  background: color-mix(in oklab, var(--c-paper) 92%, transparent);
  color: var(--c-ink);
  padding: 8px 12px;
  border-radius: 6px;
  transform: none;
  opacity: 1;
  max-width: 60%;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.couture-photo-card[data-photo-overlay="corner"] .cph-title {
  font-size: 13.5px;
  color: var(--c-ink);
}
.couture-photo-card[data-photo-overlay="corner"] .cph-meta {
  font-size: 10.5px;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}

/* Variant: strip — solid color bar slides up from bottom */
.couture-photo-card[data-photo-overlay="strip"] > figcaption {
  background: var(--c-ink);
  transform: translateY(100%);
  padding: 14px 16px;
}
.couture-photo-card[data-photo-overlay="strip"]:hover > figcaption,
.couture-photo-card[data-photo-overlay="strip"]:focus-within > figcaption {
  transform: translateY(0);
}

/* Variant: caption-bottom — caption always visible below image (not on hover) */
.couture-photo-card[data-photo-overlay="below"] {
  aspect-ratio: auto;
}
.couture-photo-card[data-photo-overlay="below"] > img {
  aspect-ratio: 4 / 5;
}
.couture-photo-card[data-photo-overlay="below"] > figcaption {
  position: static;
  color: var(--c-ink);
  background: none;
  transform: none;
  opacity: 1;
  padding: 12px 0 0;
}
.couture-photo-card[data-photo-overlay="below"] .cph-title {
  color: var(--c-ink);
}
.couture-photo-card[data-photo-overlay="below"] .cph-meta {
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}
.couture-photo-card[data-photo-overlay="below"]:hover > img {
  transform: none;
  filter: brightness(0.96);
}

/* Aspect-ratio modifiers (default 4/5; overrides) */
.couture-photo-card[data-photo-ratio="1"]    { aspect-ratio: 1 / 1; }
.couture-photo-card[data-photo-ratio="3-4"]  { aspect-ratio: 3 / 4; }
.couture-photo-card[data-photo-ratio="3-2"]  { aspect-ratio: 3 / 2; }
.couture-photo-card[data-photo-ratio="16-9"] { aspect-ratio: 16 / 9; }

/* Optional CTA arrow inside caption */
.couture-photo-card .cph-cta {
  position: absolute;
  right: clamp(14px, 2vw, 20px);
  bottom: clamp(14px, 2vw, 22px);
  z-index: 3;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 92%, transparent);
  color: var(--c-ink);
  font: 700 16px/1 var(--c-display);
  transform: translateY(40%);
  opacity: 0;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s, background .2s;
}
.couture-photo-card:hover .cph-cta,
.couture-photo-card:focus-within .cph-cta {
  transform: translateY(0);
  opacity: 1;
}
.couture-photo-card .cph-cta:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}

@media (prefers-reduced-motion: reduce) {
  .couture-photo-card > img,
  .couture-photo-card > figcaption,
  .couture-photo-card .cph-cta {
    transition: none;
  }
  .couture-photo-card:hover > img {
    transform: none;
  }
  .couture-photo-card > figcaption {
    transform: none;
    opacity: 1;
  }
}

/* Touch devices: caption always visible (no hover available) */
@media (hover: none) {
  .couture-photo-card > figcaption {
    transform: translateY(0);
    opacity: 1;
  }
  .couture-photo-card .cph-cta {
    transform: translateY(0);
    opacity: 1;
  }
}

/* WS-VISIBLE-57 — compact inline meta-icons row utility.
   Smaller / lighter version of existing .couture-icon-row-card and
   .couture-trust-row (which are larger card-based layouts). This is
   for inline meta strips: "🔒 Secure · 🚚 Free shipping · ↻ Returns".
   Pure-CSS glyph fallbacks via [data-meta-glyph] (no img/SVG needed).

   Usage:
     <ul class="couture-meta-icons">
       <li><span class="cmi-glyph" data-meta-glyph="lock"></span> Secure checkout</li>
       <li><span class="cmi-glyph" data-meta-glyph="truck"></span> Free shipping</li>
       <li><span class="cmi-glyph" data-meta-glyph="return"></span> 30-day returns</li>
     </ul>
*/
.couture-meta-icons {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 24px);
  align-items: center;
  margin: clamp(12px, 2vw, 20px) 0;
  padding: 0;
  list-style: none;
  font: 500 12.5px/1.4 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
}
.couture-meta-icons > li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
}
.couture-meta-icons .cmi-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: var(--c-accent);
  position: relative;
  font-size: 0;
}

/* Pure-CSS glyphs */
.couture-meta-icons .cmi-glyph[data-meta-glyph="lock"]::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 9px;
  bottom: 1px;
  left: 3px;
  border: 2px solid currentColor;
  border-radius: 2px;
}
.couture-meta-icons .cmi-glyph[data-meta-glyph="lock"]::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 6px;
  top: 2px;
  left: 5px;
  border: 1.5px solid currentColor;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.couture-meta-icons .cmi-glyph[data-meta-glyph="truck"]::before {
  content: "";
  position: absolute;
  width: 9px;
  height: 7px;
  bottom: 4px;
  left: 1px;
  border: 1.5px solid currentColor;
  border-radius: 1px;
}
.couture-meta-icons .cmi-glyph[data-meta-glyph="truck"]::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 7px;
  bottom: 4px;
  right: 1px;
  border: 1.5px solid currentColor;
  border-radius: 1px 4px 1px 1px;
}

.couture-meta-icons .cmi-glyph[data-meta-glyph="return"]::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  top: 3px;
  left: 3px;
  border: 1.5px solid currentColor;
  border-right: 0;
  border-bottom: 0;
  border-radius: 50% 0 0 0;
}
.couture-meta-icons .cmi-glyph[data-meta-glyph="return"]::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 1px;
  left: 1.5px;
  border: 4px solid transparent;
  border-right-color: currentColor;
  border-top-color: currentColor;
}

.couture-meta-icons .cmi-glyph[data-meta-glyph="leaf"]::before {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  top: 3px;
  left: 3px;
  border: 1.5px solid currentColor;
  border-radius: 0 100% 0 100%;
  transform: rotate(35deg);
  transform-origin: center;
}

.couture-meta-icons .cmi-glyph[data-meta-glyph="check"]::before {
  content: "";
  position: absolute;
  width: 11px;
  height: 6px;
  top: 5px;
  left: 3px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transform-origin: left top;
}

.couture-meta-icons .cmi-glyph[data-meta-glyph="star"]::before {
  content: "★";
  font: 700 14px/1 var(--c-body);
  color: currentColor;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.couture-meta-icons .cmi-glyph[data-meta-glyph="bolt"]::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 2px;
  left: 6px;
  border: 4px solid transparent;
  border-bottom-color: currentColor;
  border-top-width: 0;
}
.couture-meta-icons .cmi-glyph[data-meta-glyph="bolt"]::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: 2px;
  left: 4px;
  border: 4px solid transparent;
  border-top-color: currentColor;
  border-bottom-width: 0;
}

.couture-meta-icons .cmi-glyph[data-meta-glyph="globe"]::before {
  content: "";
  position: absolute;
  inset: 2px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}
.couture-meta-icons .cmi-glyph[data-meta-glyph="globe"]::after {
  content: "";
  position: absolute;
  inset: 2px 5px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  border-top-color: transparent;
  border-bottom-color: transparent;
}

/* Layout variants */
.couture-meta-icons[data-meta-layout="separated"] {
  gap: 0;
}
.couture-meta-icons[data-meta-layout="separated"] > li + li {
  padding-left: clamp(12px, 2vw, 20px);
  margin-left: clamp(12px, 2vw, 20px);
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

.couture-meta-icons[data-meta-layout="stacked"] {
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.couture-meta-icons[data-meta-layout="centered"] {
  justify-content: center;
  text-align: center;
}

/* Tone modifiers */
.couture-meta-icons[data-meta-tone="ink"] .cmi-glyph {
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
}
.couture-meta-icons[data-meta-tone="muted"] {
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-meta-icons[data-meta-tone="muted"] .cmi-glyph {
  color: color-mix(in oklab, var(--c-ink) 45%, transparent);
}

/* Compact size (e.g. footer strip) */
.couture-meta-icons[data-meta-size="sm"] {
  font-size: 11.5px;
  gap: clamp(8px, 1.5vw, 14px);
}
.couture-meta-icons[data-meta-size="sm"] .cmi-glyph {
  width: 14px;
  height: 14px;
}

/* Pill-style segments */
.couture-meta-icons[data-meta-style="pill"] > li {
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* WS-VISIBLE-58 — back-link arrow utility (← Back to journal).
   For top-of-page back links on detail/post/category pages. Pure-CSS
   chevron, animates leftward on hover. Variants via [data-back-style]:
   chevron (default), arrow (longer arrow shaft), bracket ([…]),
   minimal (text-only with chevron prefix), pill (rounded button-ish). */
.couture-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 12px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  text-decoration: none;
  padding: 6px 0;
  cursor: pointer;
  background: none;
  border: 0;
  transition: color .18s, gap .18s;
}
.couture-back-link::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-left: 1.5px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .18s;
  flex: 0 0 auto;
}
.couture-back-link:hover,
.couture-back-link:focus-visible {
  color: var(--c-ink);
  gap: 12px;
}
.couture-back-link:hover::before,
.couture-back-link:focus-visible::before {
  transform: rotate(-45deg) translateX(-2px);
}
.couture-back-link:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 4px;
  border-radius: 2px;
}

/* Variant: arrow — longer shaft */
.couture-back-link[data-back-style="arrow"]::before {
  width: 14px;
  height: 1.5px;
  background: currentColor;
  border: 0;
  transform: none;
  position: relative;
}
.couture-back-link[data-back-style="arrow"]::after {
  content: "";
  position: absolute;
  left: 6px;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid currentColor;
  border-left: 1.5px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .18s;
}
.couture-back-link[data-back-style="arrow"]:hover::before {
  transform: translateX(-2px);
}

/* Variant: bracket — [ Back ] */
.couture-back-link[data-back-style="bracket"]::before {
  content: "[";
  width: auto;
  height: auto;
  border: 0;
  transform: none;
  font: 700 13px/1 var(--c-mono, var(--c-body));
}
.couture-back-link[data-back-style="bracket"]::after {
  content: "]";
  display: inline-block;
  font: 700 13px/1 var(--c-mono, var(--c-body));
  margin-left: 6px;
}

/* Variant: minimal — uses ← text character, normal-case */
.couture-back-link[data-back-style="minimal"] {
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--c-body);
  font-weight: 500;
  font-size: 13.5px;
}
.couture-back-link[data-back-style="minimal"]::before {
  content: "←";
  width: auto;
  height: auto;
  border: 0;
  transform: none;
  font: 500 14px/1 var(--c-body);
  margin-right: -2px;
}
.couture-back-link[data-back-style="minimal"]:hover::before {
  transform: translateX(-2px);
}

/* Variant: pill — rounded button-ish */
.couture-back-link[data-back-style="pill"] {
  padding: 8px 16px 8px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font-size: 11.5px;
  letter-spacing: 0.06em;
}
.couture-back-link[data-back-style="pill"]:hover {
  background: color-mix(in oklab, var(--c-ink) 8%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}

/* Tone modifiers */
.couture-back-link[data-back-tone="accent"] {
  color: var(--c-accent);
}
.couture-back-link[data-back-tone="accent"]:hover {
  color: var(--c-accent);
  filter: brightness(0.9);
}
.couture-back-link[data-back-tone="paper"] {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-back-link[data-back-tone="paper"]:hover {
  color: var(--c-paper);
}

/* Forward variant — flips arrow direction (for "Continue →" links) */
.couture-back-link[data-back-direction="forward"] {
  flex-direction: row-reverse;
}
.couture-back-link[data-back-direction="forward"]::before {
  transform: rotate(135deg);
}
.couture-back-link[data-back-direction="forward"]:hover::before {
  transform: rotate(135deg) translateX(-2px);
}
.couture-back-link[data-back-style="minimal"][data-back-direction="forward"]::before {
  content: "→";
  transform: none;
}
.couture-back-link[data-back-style="minimal"][data-back-direction="forward"]:hover::before {
  transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
  .couture-back-link,
  .couture-back-link::before,
  .couture-back-link::after {
    transition: none !important;
  }
  .couture-back-link:hover,
  .couture-back-link:focus-visible {
    gap: 8px;
  }
  .couture-back-link:hover::before {
    transform: rotate(-45deg);
  }
}

/* WS-VISIBLE-59 — read-more fade-bottom utility (truncate prose).
   Collapsed prose container with bottom-fade gradient + reveal toggle.
   Pure-CSS via <details> or class-toggle. Configurable max-height
   via --crm-collapsed-h custom prop (default ~10em).

   Usage (details/summary — fully CSS):
     <details class="couture-readmore">
       <summary>Read more</summary>
       <p>Long prose content…</p>
     </details>

   Or class-toggle (JS adds .--open):
     <div class="couture-readmore">
       <p>Long prose…</p>
     </div>
*/
.couture-readmore {
  position: relative;
  --crm-collapsed-h: 10em;
}

/* details/summary version */
details.couture-readmore {
  max-height: none;
}
details.couture-readmore:not([open]) {
  max-height: var(--crm-collapsed-h);
  overflow: hidden;
  position: relative;
}
details.couture-readmore:not([open])::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(60px, 8vw, 100px);
  background: linear-gradient(
    to bottom,
    color-mix(in oklab, var(--c-paper) 0%, transparent) 0%,
    color-mix(in oklab, var(--c-paper) 70%, transparent) 50%,
    var(--c-paper) 100%
  );
  pointer-events: none;
}

/* Summary always sits at the bottom acting as the toggle button */
details.couture-readmore > summary {
  list-style: none;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 600 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-ink);
  cursor: pointer;
  transition: background .18s, border-color .18s, transform .18s;
  white-space: nowrap;
  margin-bottom: 4px;
}
details.couture-readmore > summary::-webkit-details-marker {
  display: none;
}
details.couture-readmore > summary::after {
  content: "  ↓";
  display: inline-block;
  margin-left: 4px;
  transition: transform .2s;
}
details.couture-readmore[open] > summary::after {
  transform: rotate(180deg);
  vertical-align: 0.05em;
}
details.couture-readmore[open] > summary {
  position: static;
  transform: none;
  margin: 18px auto 0;
  display: block;
  width: max-content;
}
details.couture-readmore > summary:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
details.couture-readmore > summary:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}

/* Class-toggle version (.couture-readmore + JS toggles .--open) */
.couture-readmore:not(details) {
  max-height: var(--crm-collapsed-h);
  overflow: hidden;
  transition: max-height .35s ease;
}
.couture-readmore:not(details).--open {
  max-height: 4000px;
}
.couture-readmore:not(details):not(.--open)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(60px, 8vw, 100px);
  background: linear-gradient(
    to bottom,
    color-mix(in oklab, var(--c-paper) 0%, transparent) 0%,
    color-mix(in oklab, var(--c-paper) 70%, transparent) 50%,
    var(--c-paper) 100%
  );
  pointer-events: none;
}

/* Variants via [data-readmore-style] */
/* Variant: ink — fade to ink/dark background */
.couture-readmore[data-readmore-style="ink"] {
  --crm-bg: var(--c-ink);
}
details.couture-readmore[data-readmore-style="ink"]:not([open])::after,
.couture-readmore[data-readmore-style="ink"]:not(details):not(.--open)::after {
  background: linear-gradient(
    to bottom,
    color-mix(in oklab, var(--c-ink) 0%, transparent) 0%,
    color-mix(in oklab, var(--c-ink) 70%, transparent) 50%,
    var(--c-ink) 100%
  );
}
details.couture-readmore[data-readmore-style="ink"] > summary {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
}

/* Variant: long — taller default collapsed height */
.couture-readmore[data-readmore-style="long"] {
  --crm-collapsed-h: 18em;
}

/* Variant: short — shorter collapsed height */
.couture-readmore[data-readmore-style="short"] {
  --crm-collapsed-h: 6em;
}

/* Variant: minimal — no fade, just clip + a small inline button */
details.couture-readmore[data-readmore-style="minimal"]:not([open])::after {
  display: none;
}
details.couture-readmore[data-readmore-style="minimal"] > summary {
  position: static;
  transform: none;
  margin: 12px auto 0;
  display: inline-block;
  border: 0;
  background: none;
  color: var(--c-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
  padding: 4px 0;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--c-body);
  font-size: 13px;
}
details.couture-readmore[data-readmore-style="minimal"] > summary:hover {
  background: none;
  color: var(--c-ink);
}

@media (prefers-reduced-motion: reduce) {
  .couture-readmore:not(details),
  details.couture-readmore > summary,
  details.couture-readmore > summary::after {
    transition: none !important;
  }
}

/* WS-VISIBLE-60 — TOC sidebar extensions (variants + mobile collapse).
   Builds on existing .couture-toc (V6.386 sticky left-rule sidebar).
   Adds [data-toc-style] variants: numbered (auto-numbered "01 02"),
   compact (dot-prefixed dense), floating (right-side floating column),
   inline (horizontal nav strip), accent (accent color rule). Plus
   mobile <details> collapse helper. */

/* Variant: numbered — auto-numbered TOC items via CSS counter */
.couture-toc[data-toc-style="numbered"] {
  counter-reset: ws-toc-num;
}
.couture-toc[data-toc-style="numbered"] ul {
  counter-reset: ws-toc-num;
}
.couture-toc[data-toc-style="numbered"] li {
  counter-increment: ws-toc-num;
}
.couture-toc[data-toc-style="numbered"] a::before {
  content: counter(ws-toc-num, decimal-leading-zero);
  display: inline-block;
  margin-right: 10px;
  font: 600 10.5px/1 var(--c-mono, var(--c-body));
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  letter-spacing: 0.06em;
  vertical-align: 1px;
}

/* Variant: compact — denser, dot-prefixed */
.couture-toc[data-toc-style="compact"] {
  border-left: 0;
  padding: 12px 0;
}
.couture-toc[data-toc-style="compact"] a {
  padding: 4px 0 4px 16px;
  font-size: 12.5px;
  border-left: 0;
  margin-left: 0;
  position: relative;
}
.couture-toc[data-toc-style="compact"] a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-ink) 30%, transparent);
  transform: translateY(-50%);
  transition: background .18s, width .18s;
}
.couture-toc[data-toc-style="compact"] a:hover::before,
.couture-toc[data-toc-style="compact"] a.active::before,
.couture-toc[data-toc-style="compact"] a[aria-current="true"]::before {
  background: var(--c-accent);
  width: 8px;
}

/* Variant: floating — right-side floating column anchored to viewport */
.couture-toc[data-toc-style="floating"] {
  position: fixed;
  right: clamp(16px, 2vw, 32px);
  top: 50%;
  transform: translateY(-50%);
  max-width: 200px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 12px 32px -16px rgba(0,0,0,0.18);
  z-index: 30;
}
@media (max-width: 1023px) {
  .couture-toc[data-toc-style="floating"] {
    display: none;
  }
}

/* Variant: inline — horizontal nav strip (good for short top-of-page TOC) */
.couture-toc[data-toc-style="inline"] {
  position: static;
  border-left: 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding: 14px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}
.couture-toc[data-toc-style="inline"] h4 {
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}
.couture-toc[data-toc-style="inline"] ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.couture-toc[data-toc-style="inline"] li {
  margin-bottom: 0;
}
.couture-toc[data-toc-style="inline"] a {
  padding: 4px 10px;
  border-left: 0;
  border-radius: 999px;
  font-size: 12.5px;
  margin-left: 0;
}
.couture-toc[data-toc-style="inline"] a.active,
.couture-toc[data-toc-style="inline"] a[aria-current="true"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-left: 0;
}

/* Variant: accent — accent-tinted left rule + bg */
.couture-toc[data-toc-style="accent"] {
  border-left-color: var(--c-accent);
  background: linear-gradient(
    to right,
    color-mix(in oklab, var(--c-accent) 6%, transparent) 0,
    transparent 60%
  );
  border-radius: 0 8px 8px 0;
  padding: 16px 12px 16px 0;
}

/* Nested item indent helpers */
.couture-toc li.--depth-2 a,
.couture-toc a[data-toc-depth="2"] {
  padding-left: 32px;
  font-size: 13px;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}
.couture-toc li.--depth-3 a,
.couture-toc a[data-toc-depth="3"] {
  padding-left: 48px;
  font-size: 12.5px;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

/* Mobile collapse — wrap in <details class="couture-toc-collapsible">
   Reusable on top of any .couture-toc */
details.couture-toc-collapsible {
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 8px;
  padding: 0;
  margin: 16px 0;
}
details.couture-toc-collapsible > summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 16px;
  font: 600 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
details.couture-toc-collapsible > summary::-webkit-details-marker {
  display: none;
}
details.couture-toc-collapsible > summary::after {
  content: "↓";
  transition: transform .2s;
}
details.couture-toc-collapsible[open] > summary::after {
  transform: rotate(180deg);
}
details.couture-toc-collapsible > .couture-toc {
  position: static;
  border-left: 0;
  padding: 0 16px 16px;
}
@media (min-width: 1024px) {
  details.couture-toc-collapsible {
    border: 0;
  }
  details.couture-toc-collapsible > summary {
    display: none;
  }
  details.couture-toc-collapsible > .couture-toc {
    /* Restore sticky behavior at desktop */
    position: sticky;
    top: clamp(80px, 10vw, 120px);
    border-left: 2px solid color-mix(in oklab, var(--c-line) 50%, transparent);
    padding: 16px 0;
  }
  details.couture-toc-collapsible:not([open]) > .couture-toc {
    display: block;
  }
}

/* Reading-progress indicator on left rule (CSS-only, scroll-driven) */
@supports (animation-timeline: scroll(root)) {
  .couture-toc[data-toc-progress="true"] {
    --ws-toc-progress: 0%;
    background: linear-gradient(
      to bottom,
      var(--c-accent) 0,
      var(--c-accent) var(--ws-toc-progress),
      transparent var(--ws-toc-progress),
      transparent 100%
    ) left / 2px 100% no-repeat;
    border-left: 0;
    animation: ws-toc-progress-fill linear forwards;
    animation-timeline: scroll(root);
  }
  @property --ws-toc-progress {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 0%;
  }
  @keyframes ws-toc-progress-fill {
    from { --ws-toc-progress: 0%; }
    to   { --ws-toc-progress: 100%; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-toc[data-toc-style="compact"] a::before,
  details.couture-toc-collapsible > summary::after {
    transition: none !important;
  }
}

/* WS-VISIBLE-61 — lazy-img placeholder utility (blur-up + fade-in).
   Wraps an <img loading="lazy"> to provide a colored placeholder while
   loading, and fades the image in on load. Distinct from existing
   .couture-img-placeholder (empty-image fallback box).

   Usage:
     <span class="couture-lazy-img" style="--lzi-color:#c4a25e;--lzi-ratio:4/5">
       <img src="…" loading="lazy" alt="…">
     </span>

   Variants via [data-lazy-style]: blur-up (default — placeholder color
   fades to image), shimmer (animated shimmer placeholder), pop (slight
   scale-in on load), reveal (clip-path reveal). */
.couture-lazy-img {
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--lzi-color, color-mix(in oklab, var(--c-line) 30%, var(--c-paper)));
  aspect-ratio: var(--lzi-ratio, 1);
  border-radius: var(--lzi-radius, 0);
  width: 100%;
  isolation: isolate;
}
.couture-lazy-img > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .6s ease;
}
/* When loaded, browsers add `complete` state — but we can't pure-CSS
   detect it. The fallback below shows the image immediately if JS
   doesn't add .--loaded; the JS-friendly path uses :not([data-pending]). */
.couture-lazy-img > img[loading="lazy"] {
  opacity: 1; /* default: visible (fail-open) */
}
.couture-lazy-img.--loading > img,
.couture-lazy-img[data-loading="true"] > img {
  opacity: 0;
}
.couture-lazy-img.--loaded > img,
.couture-lazy-img[data-loaded="true"] > img {
  opacity: 1;
}

/* Image's `:not([src])` or empty src renders the placeholder background */
.couture-lazy-img > img:not([src]),
.couture-lazy-img > img[src=""] {
  opacity: 0;
}

/* Variant: blur-up — when loaded, scale slightly past, removes blur */
.couture-lazy-img[data-lazy-style="blur-up"] > img {
  filter: blur(12px);
  transform: scale(1.06);
  transition: opacity .5s ease, filter .5s ease, transform .5s ease;
}
.couture-lazy-img[data-lazy-style="blur-up"].--loaded > img,
.couture-lazy-img[data-lazy-style="blur-up"][data-loaded="true"] > img {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
}

/* Variant: shimmer — placeholder shimmers (uses existing _couture-shimmer) */
.couture-lazy-img[data-lazy-style="shimmer"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 0%,
    color-mix(in oklab, var(--c-paper) 88%, var(--c-ink)) 50%,
    color-mix(in oklab, var(--c-paper) 96%, var(--c-ink)) 100%
  );
  background-size: 200% 100%;
  animation: _couture-shimmer 1.6s linear infinite;
  z-index: 1;
}
.couture-lazy-img[data-lazy-style="shimmer"] > img {
  position: relative;
  z-index: 2;
}
.couture-lazy-img[data-lazy-style="shimmer"].--loaded::before,
.couture-lazy-img[data-lazy-style="shimmer"][data-loaded="true"]::before {
  display: none;
}

/* Variant: pop — slight scale-in pop animation on load */
.couture-lazy-img[data-lazy-style="pop"] > img {
  transform: scale(0.94);
  transition: opacity .4s ease, transform .4s cubic-bezier(.34, 1.56, .64, 1);
}
.couture-lazy-img[data-lazy-style="pop"].--loaded > img,
.couture-lazy-img[data-lazy-style="pop"][data-loaded="true"] > img {
  transform: scale(1);
  opacity: 1;
}

/* Variant: reveal — clip-path reveal animation on load */
.couture-lazy-img[data-lazy-style="reveal"] > img {
  clip-path: inset(0 100% 0 0);
  opacity: 1;
  transition: clip-path .7s cubic-bezier(.65,.05,.35,1);
}
.couture-lazy-img[data-lazy-style="reveal"].--loaded > img,
.couture-lazy-img[data-lazy-style="reveal"][data-loaded="true"] > img {
  clip-path: inset(0);
}

/* Variant: dot — small loading dot indicator centered */
.couture-lazy-img[data-lazy-style="dot"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--c-ink) 35%, transparent);
  border-top-color: transparent;
  animation: ws-lazy-spin 0.8s linear infinite;
  z-index: 1;
}
@keyframes ws-lazy-spin {
  to { transform: rotate(360deg); }
}
.couture-lazy-img[data-lazy-style="dot"].--loaded::after,
.couture-lazy-img[data-lazy-style="dot"][data-loaded="true"]::after {
  display: none;
}

/* Aspect-ratio helpers (override --lzi-ratio var) */
.couture-lazy-img[data-lazy-ratio="1"]    { --lzi-ratio: 1; }
.couture-lazy-img[data-lazy-ratio="4-5"]  { --lzi-ratio: 4 / 5; }
.couture-lazy-img[data-lazy-ratio="3-4"]  { --lzi-ratio: 3 / 4; }
.couture-lazy-img[data-lazy-ratio="3-2"]  { --lzi-ratio: 3 / 2; }
.couture-lazy-img[data-lazy-ratio="16-9"] { --lzi-ratio: 16 / 9; }

/* Use `:has(> img:not([src]))` selector to keep loader visible while no src
   — modern browsers; degrades gracefully */
@supports selector(:has(*)) {
  .couture-lazy-img:has(> img:not([src])):not(.--loaded):not([data-loaded="true"]) > img {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-lazy-img > img,
  .couture-lazy-img[data-lazy-style="blur-up"] > img,
  .couture-lazy-img[data-lazy-style="pop"] > img,
  .couture-lazy-img[data-lazy-style="reveal"] > img {
    transition: opacity .15s ease !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
  }
  .couture-lazy-img[data-lazy-style="shimmer"]::before {
    animation: none;
  }
  .couture-lazy-img[data-lazy-style="dot"]::after {
    animation: none;
  }
}

/* WS-VISIBLE-62 — 2-col compare layout utility ("us vs them" / before/after).
   Distinct from existing .couture-comparison-table (full pricing-tier
   feature table). This is for short side-by-side comparisons.

   Usage:
     <div class="couture-compare">
       <div class="cc-col" data-cc-tone="accent">
         <h4 class="cc-title">Our way</h4>
         <ul class="cc-list">
           <li data-cc-icon="check">Hand-stitched</li>
           <li data-cc-icon="check">Lifetime warranty</li>
         </ul>
       </div>
       <div class="cc-col">
         <h4 class="cc-title">Mass-produced</h4>
         <ul class="cc-list">
           <li data-cc-icon="cross">Machine assembled</li>
           <li data-cc-icon="cross">90-day warranty</li>
         </ul>
       </div>
     </div>
*/
.couture-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2px, 0.4vw, 4px);
  margin: clamp(28px, 4vw, 48px) 0;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 30%, transparent);
}
.couture-compare .cc-col {
  background: var(--c-paper);
  padding: clamp(24px, 3vw, 36px) clamp(20px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.couture-compare .cc-title {
  margin: 0 0 4px;
  font: 700 16px/1.3 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-compare .cc-meta {
  margin: -8px 0 4px;
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}
.couture-compare .cc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.couture-compare .cc-list > li {
  position: relative;
  padding-left: 28px;
  font: 400 14px/1.5 var(--c-body);
  color: var(--c-ink);
  min-height: 22px;
}
.couture-compare .cc-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* Icon: check */
.couture-compare .cc-list > li[data-cc-icon="check"]::before {
  background: #16a34a;
}
.couture-compare .cc-list > li[data-cc-icon="check"]::after {
  content: "";
  position: absolute;
  left: 4.5px;
  top: 0.45em;
  width: 9px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

/* Icon: cross */
.couture-compare .cc-list > li[data-cc-icon="cross"]::before {
  background: color-mix(in oklab, var(--c-ink) 18%, var(--c-paper));
}
.couture-compare .cc-list > li[data-cc-icon="cross"]::after {
  content: "×";
  position: absolute;
  left: 4px;
  top: -0.05em;
  width: 10px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

/* Icon: dash (neutral) */
.couture-compare .cc-list > li[data-cc-icon="dash"]::before {
  background: color-mix(in oklab, var(--c-ink) 12%, var(--c-paper));
}
.couture-compare .cc-list > li[data-cc-icon="dash"]::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.65em;
  width: 10px;
  height: 2px;
  background: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

/* Tone modifier: accent column gets soft accent-tinted bg */
.couture-compare .cc-col[data-cc-tone="accent"] {
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  position: relative;
}
.couture-compare .cc-col[data-cc-tone="accent"] .cc-title {
  color: color-mix(in oklab, var(--c-accent) 60%, var(--c-ink));
}
.couture-compare .cc-col[data-cc-tone="accent"] .cc-meta {
  color: var(--c-accent);
}

/* "Our pick" badge slot */
.couture-compare .cc-col .cc-pick {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Tone: ink (dark column) */
.couture-compare .cc-col[data-cc-tone="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-compare .cc-col[data-cc-tone="ink"] .cc-title { color: var(--c-paper); }
.couture-compare .cc-col[data-cc-tone="ink"] .cc-meta {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-compare .cc-col[data-cc-tone="ink"] .cc-list > li { color: var(--c-paper); }
.couture-compare .cc-col[data-cc-tone="ink"] .cc-list > li[data-cc-icon="cross"]::before {
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
}
.couture-compare .cc-col[data-cc-tone="ink"] .cc-list > li[data-cc-icon="cross"]::after {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}

/* Variant: 3-column compare (good vs better vs best) */
.couture-compare[data-cc-cols="3"] {
  grid-template-columns: 1fr 1fr 1fr;
}

/* Variant: stacked headers — column heads sit above a divider */
.couture-compare[data-cc-style="head-divider"] .cc-title {
  padding-bottom: 14px;
  margin-bottom: 6px;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* Mobile collapse to single column */
@media (max-width: 640px) {
  .couture-compare {
    grid-template-columns: 1fr;
    background: none;
    gap: 14px;
  }
  .couture-compare[data-cc-cols="3"] {
    grid-template-columns: 1fr;
  }
  .couture-compare .cc-col {
    border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
    border-radius: 10px;
  }
}

/* WS-VISIBLE-63 — floating quick-actions toolbar (right-edge action rail).
   For article pages: share / bookmark / print / scroll-to-top column
   pinned to the right viewport edge. Auto-hides on small screens.

   Usage:
     <aside class="couture-action-rail" aria-label="Page actions">
       <button class="car-btn" data-car-glyph="share" aria-label="Share">…</button>
       <button class="car-btn" data-car-glyph="bookmark" aria-label="Save">…</button>
       <button class="car-btn" data-car-glyph="print" aria-label="Print">…</button>
       <button class="car-btn" data-car-glyph="up" aria-label="Top">…</button>
     </aside>
*/
.couture-action-rail {
  position: fixed;
  right: clamp(14px, 1.5vw, 22px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 25;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 6px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 999px;
  box-shadow: 0 12px 32px -16px rgba(0,0,0,0.18);
}
.couture-action-rail .car-btn {
  position: relative;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  transition: background .18s, color .18s, transform .15s;
}
.couture-action-rail .car-btn:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
  color: var(--c-ink);
}
.couture-action-rail .car-btn:active {
  transform: scale(0.94);
}
.couture-action-rail .car-btn:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.couture-action-rail .car-btn.--active,
.couture-action-rail .car-btn[aria-pressed="true"] {
  background: var(--c-ink);
  color: var(--c-paper);
}

/* Pure-CSS glyphs (no SVG dependency) */
.couture-action-rail .car-btn[data-car-glyph="share"]::before {
  content: "";
  position: absolute;
  width: 6px; height: 6px; border-radius: 50%;
  border: 1.5px solid currentColor;
  top: 8px; left: 8px;
  box-shadow:
    14px 6px 0 -1px transparent,
    14px 6px 0 0 currentColor inset;
}
.couture-action-rail .car-btn[data-car-glyph="share"]::after {
  content: "";
  position: absolute;
  width: 6px; height: 6px; border-radius: 50%;
  border: 1.5px solid currentColor;
  /* dot bottom-right */
  bottom: 8px; right: 8px;
  box-shadow:
    -14px -6px 0 0 currentColor inset;
}

.couture-action-rail .car-btn[data-car-glyph="bookmark"]::before {
  content: "";
  position: absolute;
  width: 11px;
  height: 16px;
  top: 8px;
  left: 50%;
  margin-left: -5.5px;
  border: 1.5px solid currentColor;
  border-bottom: 0;
  /* notch */
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70%, 0 100%);
}

.couture-action-rail .car-btn[data-car-glyph="print"]::before {
  content: "";
  position: absolute;
  width: 16px; height: 8px;
  top: 12px; left: 50%; margin-left: -8px;
  border: 1.5px solid currentColor;
  border-radius: 1px 1px 0 0;
}
.couture-action-rail .car-btn[data-car-glyph="print"]::after {
  content: "";
  position: absolute;
  width: 10px; height: 7px;
  bottom: 8px; left: 50%; margin-left: -5px;
  border: 1.5px solid currentColor;
  border-top: 0;
}

.couture-action-rail .car-btn[data-car-glyph="up"]::before {
  content: "";
  position: absolute;
  width: 9px; height: 9px;
  top: 14px;
  left: 50%; margin-left: -4.5px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: rotate(45deg);
}

.couture-action-rail .car-btn[data-car-glyph="link"]::before,
.couture-action-rail .car-btn[data-car-glyph="link"]::after {
  content: "";
  position: absolute;
  width: 8px; height: 5px;
  border: 1.5px solid currentColor;
  border-radius: 999px 0 0 999px;
  top: 50%; margin-top: -2.5px;
  left: 9px;
}
.couture-action-rail .car-btn[data-car-glyph="link"]::after {
  border-radius: 0 999px 999px 0;
  left: auto;
  right: 9px;
  border-left: 0;
}

.couture-action-rail .car-btn[data-car-glyph="heart"]::before {
  content: "♥";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 16px/1 var(--c-body);
  color: currentColor;
}

/* Tooltip (uses [data-tooltip] from WS-VISIBLE-30 if shipped) */
.couture-action-rail .car-btn[data-tooltip] {
  /* relies on existing [data-tooltip] utility — no extra rules needed */
}

/* Variants */
/* Variant: vertical-edge — squared rectangle pinned to viewport edge */
.couture-action-rail[data-rail-style="edge"] {
  right: 0;
  border-radius: 12px 0 0 12px;
  border-right: 0;
}

/* Variant: minimal — just buttons, no container chrome */
.couture-action-rail[data-rail-style="minimal"] {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  gap: 8px;
}
.couture-action-rail[data-rail-style="minimal"] .car-btn {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  box-shadow: 0 6px 16px -8px rgba(0,0,0,0.18);
}

/* Variant: horizontal — bottom-pinned horizontal toolbar (mobile-friendly) */
.couture-action-rail[data-rail-style="horizontal"] {
  flex-direction: row;
  top: auto;
  bottom: clamp(20px, 3vw, 36px);
  right: 50%;
  transform: translateX(50%);
}

/* Position variants */
.couture-action-rail[data-rail-pos="left"] {
  right: auto;
  left: clamp(14px, 1.5vw, 22px);
}
.couture-action-rail[data-rail-pos="bottom"] {
  top: auto;
  bottom: clamp(20px, 3vw, 36px);
  right: 50%;
  transform: translateX(50%);
  flex-direction: row;
}

/* Auto-hide on narrow viewports unless data-rail-mobile="true" */
@media (max-width: 768px) {
  .couture-action-rail:not([data-rail-mobile="true"]) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-action-rail .car-btn {
    transition: none;
  }
  .couture-action-rail .car-btn:active {
    transform: none;
  }
}

/* WS-VISIBLE-64 — keyboard hint footer (key-hints rail).
   Inline keyboard-shortcut hint row for the bottom of dialogs/drawers/
   command-palettes. Shows "↵ to select", "esc to close" etc. with
   refined inline kbd styling.

   Usage:
     <div class="couture-key-hints">
       <span class="ckh-hint"><kbd>↑↓</kbd> Navigate</span>
       <span class="ckh-hint"><kbd>↵</kbd> Select</span>
       <span class="ckh-hint"><kbd>esc</kbd> Close</span>
     </div>
*/
.couture-key-hints {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 10px 14px;
  font: 500 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: color-mix(in oklab, var(--c-ink) 3%, var(--c-paper));
}
.couture-key-hints .ckh-hint {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.couture-key-hints .ckh-hint kbd,
.couture-key-hints .ckh-hint .ckh-key {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 3px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  border-bottom-width: 1.5px;
  font: 600 10.5px/1 var(--c-mono, var(--c-body));
  color: var(--c-ink);
  letter-spacing: 0;
}
.couture-key-hints .ckh-sep {
  color: color-mix(in oklab, var(--c-ink) 25%, transparent);
  user-select: none;
  font-size: 10px;
}

/* Variants */
/* Variant: bordered — solid border around whole row */
.couture-key-hints[data-key-hints-style="bordered"] {
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 8px;
  background: var(--c-paper);
}

/* Variant: minimal — no bg, no border, just text and kbd */
.couture-key-hints[data-key-hints-style="minimal"] {
  background: none;
  border: 0;
  padding: 8px 0;
}

/* Variant: ink — dark theme (for dark dialogs) */
.couture-key-hints[data-key-hints-style="ink"] {
  background: var(--c-ink);
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  border-color: color-mix(in oklab, var(--c-paper) 12%, transparent);
}
.couture-key-hints[data-key-hints-style="ink"] .ckh-hint kbd,
.couture-key-hints[data-key-hints-style="ink"] .ckh-hint .ckh-key {
  background: color-mix(in oklab, var(--c-paper) 14%, transparent);
  border-color: color-mix(in oklab, var(--c-paper) 22%, transparent);
  color: var(--c-paper);
}

/* Variant: spaced — distributes hints with space-between */
.couture-key-hints[data-key-hints-layout="spaced"] {
  justify-content: space-between;
}

/* Variant: centered */
.couture-key-hints[data-key-hints-layout="centered"] {
  justify-content: center;
}

/* Variant: right — pinned right (good when other content is on left) */
.couture-key-hints[data-key-hints-layout="right"] {
  justify-content: flex-end;
}

/* Density */
.couture-key-hints[data-key-hints-size="lg"] {
  font-size: 12px;
  padding: 14px 18px;
  gap: 18px;
}
.couture-key-hints[data-key-hints-size="lg"] .ckh-hint kbd,
.couture-key-hints[data-key-hints-size="lg"] .ckh-hint .ckh-key {
  min-width: 22px;
  height: 22px;
  font-size: 11.5px;
}

/* Hide on touch (no keyboard) — opt-out via [data-key-hints-mobile="true"] */
@media (hover: none) {
  .couture-key-hints:not([data-key-hints-mobile="true"]) {
    display: none;
  }
}

/* WS-VISIBLE-65 — brand-mark animated reveal on first paint.
   Opt-in via .couture-brand-reveal on the brand/logo element. Plays
   exactly once on page load (no infinite loops). Variants via
   [data-brand-reveal]: fade (default), letters (per-letter wipe),
   draw (SVG-style outline draw), slide (slide up from below), scale
   (zoom in), shimmer (one-pass shine). */
.couture-brand-reveal {
  opacity: 0;
  animation: ws-brand-fade .8s cubic-bezier(.2,.8,.2,1) .15s forwards;
}
@keyframes ws-brand-fade {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Variant: letters — per-letter cascade reveal.
   Requires markup with each letter wrapped: <span class="cbr-l">A</span>
   Or works on raw text via :nth-child(n) for inline-split spans. */
.couture-brand-reveal[data-brand-reveal="letters"] {
  animation: none;
  opacity: 1;
  display: inline-flex;
  gap: 0;
}
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.3em);
  animation: ws-brand-letter-in .55s cubic-bezier(.2,.8,.2,1) forwards;
}
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(1) { animation-delay: .05s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(2) { animation-delay: .10s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(3) { animation-delay: .15s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(4) { animation-delay: .20s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(5) { animation-delay: .25s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(6) { animation-delay: .30s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(7) { animation-delay: .35s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(8) { animation-delay: .40s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(9) { animation-delay: .45s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(10) { animation-delay: .50s; }
.couture-brand-reveal[data-brand-reveal="letters"] .cbr-l:nth-child(n+11) { animation-delay: .55s; }
@keyframes ws-brand-letter-in {
  from { opacity: 0; transform: translateY(0.4em); filter: blur(2px); }
  to   { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* Variant: draw — SVG-style stroke draw (assumes inline SVG with paths) */
.couture-brand-reveal[data-brand-reveal="draw"] {
  animation: none;
  opacity: 1;
}
.couture-brand-reveal[data-brand-reveal="draw"] svg path,
.couture-brand-reveal[data-brand-reveal="draw"] svg line,
.couture-brand-reveal[data-brand-reveal="draw"] svg polyline {
  fill-opacity: 0;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: ws-brand-draw 1.6s cubic-bezier(.6,.2,.2,1) .15s forwards,
             ws-brand-fill 0.6s ease 1.6s forwards;
}
@keyframes ws-brand-draw {
  to { stroke-dashoffset: 0; }
}
@keyframes ws-brand-fill {
  to { fill-opacity: 1; stroke-width: 0; }
}

/* Variant: slide — slide up from below */
.couture-brand-reveal[data-brand-reveal="slide"] {
  animation: ws-brand-slide .9s cubic-bezier(.2,.8,.2,1) .1s forwards;
}
@keyframes ws-brand-slide {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Variant: scale — zoom-in entrance */
.couture-brand-reveal[data-brand-reveal="scale"] {
  animation: ws-brand-scale .7s cubic-bezier(.34, 1.56, .64, 1) .15s forwards;
}
@keyframes ws-brand-scale {
  from { opacity: 0; transform: scale(0.85); }
  to   { opacity: 1; transform: scale(1); }
}

/* Variant: shimmer — single-pass shine across the brand mark */
.couture-brand-reveal[data-brand-reveal="shimmer"] {
  position: relative;
  overflow: hidden;
  opacity: 1;
  animation: ws-brand-fade .5s ease forwards;
}
.couture-brand-reveal[data-brand-reveal="shimmer"]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 40%,
    color-mix(in oklab, var(--c-paper) 70%, transparent) 50%,
    transparent 60%,
    transparent 100%
  );
  background-size: 200% 100%;
  background-position: -100% 0;
  animation: ws-brand-shimmer 1.6s ease .4s 1 forwards;
  pointer-events: none;
  z-index: 1;
}
@keyframes ws-brand-shimmer {
  to { background-position: 200% 0; }
}

/* Variant: split — letters split apart from center then settle */
.couture-brand-reveal[data-brand-reveal="split"] {
  animation: none;
  opacity: 1;
  display: inline-flex;
}
.couture-brand-reveal[data-brand-reveal="split"] .cbr-l {
  display: inline-block;
  opacity: 0;
  animation: ws-brand-split .8s cubic-bezier(.2,.8,.2,1) forwards;
}
.couture-brand-reveal[data-brand-reveal="split"] .cbr-l:nth-child(odd)  { transform: translateY(-1.2em); }
.couture-brand-reveal[data-brand-reveal="split"] .cbr-l:nth-child(even) { transform: translateY(1.2em); }
@keyframes ws-brand-split {
  to { opacity: 1; transform: translateY(0); }
}

/* Underline draw companion (for wordmark + accent rule designs) */
.couture-brand-reveal .cbr-rule {
  display: block;
  height: 1px;
  background: currentColor;
  transform-origin: left center;
  transform: scaleX(0);
  animation: ws-brand-rule .9s cubic-bezier(.65,.05,.35,1) .8s forwards;
}
@keyframes ws-brand-rule {
  to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  .couture-brand-reveal,
  .couture-brand-reveal[data-brand-reveal="letters"] .cbr-l,
  .couture-brand-reveal[data-brand-reveal="split"] .cbr-l,
  .couture-brand-reveal[data-brand-reveal="draw"] svg path,
  .couture-brand-reveal[data-brand-reveal="draw"] svg line,
  .couture-brand-reveal[data-brand-reveal="draw"] svg polyline,
  .couture-brand-reveal[data-brand-reveal="shimmer"]::after,
  .couture-brand-reveal .cbr-rule {
    animation: none !important;
    opacity: 1;
    transform: none !important;
    filter: none !important;
    fill-opacity: 1;
    stroke-dashoffset: 0;
    stroke-width: 0;
  }
}

/* WS-VISIBLE-66 — magnifier zoom hint icon utility.
   Drop on a .couture-zoomable image wrapper. Shows a small magnifier
   glyph in the corner indicating zoom availability; cursor changes to
   zoom-in on hover; image scales subtly. Variants via [data-zoom-hint]:
   corner (default — magnifier in corner pill), center (magnifier
   appears centered on hover), cursor-only (no glyph, just zoom-in
   cursor + scale), border (subtle border on hover only). */
.couture-zoomable {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: zoom-in;
}
.couture-zoomable > img,
.couture-zoomable > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.8,.2,1);
}
.couture-zoomable:hover > img,
.couture-zoomable:focus-within > img {
  transform: scale(1.06);
}
.couture-zoomable:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}

/* Default: corner magnifier glyph pill */
.couture-zoomable::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper) 92%, transparent);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 2;
  /* Magnifier glyph */
  background-image:
    radial-gradient(circle 7px at center, transparent 6px, var(--c-ink) 6px 7.5px, transparent 8px),
    linear-gradient(45deg, transparent 0 50%, var(--c-ink) 50% 56%, transparent 56% 100%);
  background-size: 100% 100%, 8px 8px;
  background-position: -2px -2px, calc(100% - 5px) calc(100% - 5px);
  background-repeat: no-repeat;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity .25s, transform .25s;
}
.couture-zoomable:hover::after,
.couture-zoomable:focus-within::after {
  opacity: 1;
  transform: scale(1);
}

/* Variant: corner-pill — always-visible pill in corner */
.couture-zoomable[data-zoom-hint="corner-always"]::after {
  opacity: 1;
  transform: scale(1);
}

/* Variant: center — magnifier appears centered on hover */
.couture-zoomable[data-zoom-hint="center"]::after {
  top: 50%;
  right: auto;
  left: 50%;
  width: 48px;
  height: 48px;
  transform: translate(-50%, -50%) scale(0.7);
  background-size: 100% 100%, 14px 14px;
  background-position: -2px -2px, calc(100% - 8px) calc(100% - 8px);
}
.couture-zoomable[data-zoom-hint="center"]:hover::after,
.couture-zoomable[data-zoom-hint="center"]:focus-within::after {
  transform: translate(-50%, -50%) scale(1);
}

/* Variant: cursor-only — no glyph, just zoom-in cursor + image scale */
.couture-zoomable[data-zoom-hint="cursor-only"]::after {
  display: none;
}

/* Variant: border — adds an inset border on hover (no glyph) */
.couture-zoomable[data-zoom-hint="border"]::after {
  inset: 8px;
  width: auto;
  height: auto;
  top: 8px;
  right: 8px;
  bottom: 8px;
  left: 8px;
  background: none;
  border: 1px solid color-mix(in oklab, var(--c-paper) 65%, transparent);
  border-radius: 0;
}

/* Variant: caption — adds "Click to enlarge" caption strip on hover */
.couture-zoomable[data-zoom-hint="caption"]::before {
  content: "Click to enlarge";
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 2;
  padding: 5px 10px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-ink) 85%, transparent);
  color: var(--c-paper);
  font: 600 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .25s, transform .25s;
  pointer-events: none;
}
.couture-zoomable[data-zoom-hint="caption"]:hover::before,
.couture-zoomable[data-zoom-hint="caption"]:focus-within::before {
  opacity: 1;
  transform: translateY(0);
}

/* Tone: ink (dark glyph background) */
.couture-zoomable[data-zoom-tone="ink"]::after {
  background-color: color-mix(in oklab, var(--c-ink) 85%, transparent);
  background-image:
    radial-gradient(circle 7px at center, transparent 6px, var(--c-paper) 6px 7.5px, transparent 8px),
    linear-gradient(45deg, transparent 0 50%, var(--c-paper) 50% 56%, transparent 56% 100%);
  background-size: 100% 100%, 8px 8px;
  background-position: -2px -2px, calc(100% - 5px) calc(100% - 5px);
}

/* Companion: zoomed-in state for class-toggle (JS adds .--open) */
.couture-zoomable.--open {
  cursor: zoom-out;
}
.couture-zoomable.--open > img {
  transform: scale(1.6);
  transform-origin: var(--cz-x, 50%) var(--cz-y, 50%);
}

@media (hover: none) {
  /* Touch devices: reveal corner glyph permanently to indicate zoom available */
  .couture-zoomable::after {
    opacity: 1;
    transform: scale(1);
  }
  .couture-zoomable[data-zoom-hint="caption"]::before {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-zoomable > img,
  .couture-zoomable::after,
  .couture-zoomable[data-zoom-hint="caption"]::before {
    transition: none !important;
  }
  .couture-zoomable:hover > img {
    transform: none;
  }
  .couture-zoomable.--open > img {
    transform: scale(1.4);
  }
}

/* WS-VISIBLE-67 — promo countdown pill (slim inline timer).
   Distinct from existing .couture-countdown-clock (full multi-cell
   clock display). This is a single pill for "Sale ends in 2h 14m" type
   promo banners.

   Usage:
     <span class="couture-countdown-pill">
       <span class="ccp-label">Sale ends in</span>
       <span class="ccp-time"><span>02</span>:<span>14</span>:<span>37</span></span>
     </span>

   Or simpler:
     <span class="couture-countdown-pill">
       <strong>02:14:37</strong> · Limited stock
     </span>
*/
.couture-countdown-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
  color: var(--c-ink);
  font: 500 12.5px/1.2 var(--c-body);
  letter-spacing: 0.005em;
  white-space: nowrap;
  position: relative;
}
.couture-countdown-pill .ccp-label {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}
.couture-countdown-pill .ccp-time {
  font: 700 13px/1 var(--c-mono, var(--c-body));
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--c-ink);
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
}
.couture-countdown-pill .ccp-time > span {
  display: inline-block;
  min-width: 1.2em;
  text-align: center;
}

/* Strong + small text fallback (no slot needed) */
.couture-countdown-pill > strong {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--c-ink);
}

/* Pulsing red dot — indicates "live" countdown */
.couture-countdown-pill::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-accent);
  flex: 0 0 auto;
  animation: ws-ccp-pulse 1.6s ease-in-out infinite;
  box-shadow: 0 0 0 0 currentColor;
}
@keyframes ws-ccp-pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 color-mix(in oklab, var(--c-accent) 50%, transparent); }
  50%      { opacity: 0.55; box-shadow: 0 0 0 5px color-mix(in oklab, var(--c-accent) 0%, transparent); }
}

/* Variants via [data-countdown-style] */
/* Variant: urgent — red urgency styling */
.couture-countdown-pill[data-countdown-style="urgent"] {
  background: color-mix(in oklab, #dc2626 12%, var(--c-paper));
  border-color: color-mix(in oklab, #dc2626 30%, transparent);
}
.couture-countdown-pill[data-countdown-style="urgent"]::before {
  background: #dc2626;
}
.couture-countdown-pill[data-countdown-style="urgent"] .ccp-time {
  color: #7f1d1d;
}

/* Variant: ink — dark style */
.couture-countdown-pill[data-countdown-style="ink"] {
  background: var(--c-ink);
  border-color: transparent;
  color: var(--c-paper);
}
.couture-countdown-pill[data-countdown-style="ink"] .ccp-label {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-countdown-pill[data-countdown-style="ink"] .ccp-time,
.couture-countdown-pill[data-countdown-style="ink"] > strong {
  color: var(--c-paper);
}
.couture-countdown-pill[data-countdown-style="ink"]::before {
  background: var(--c-accent);
}

/* Variant: minimal — no border, no background */
.couture-countdown-pill[data-countdown-style="minimal"] {
  background: none;
  border: 0;
  padding: 4px 8px;
}

/* Variant: stack — label above timer */
.couture-countdown-pill[data-countdown-style="stack"] {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 8px 14px;
  border-radius: 8px;
}

/* Sizes */
.couture-countdown-pill[data-countdown-size="sm"] {
  font-size: 11px;
  padding: 4px 10px;
  gap: 6px;
}
.couture-countdown-pill[data-countdown-size="sm"] .ccp-time,
.couture-countdown-pill[data-countdown-size="sm"] > strong {
  font-size: 11.5px;
}

.couture-countdown-pill[data-countdown-size="lg"] {
  font-size: 14px;
  padding: 10px 18px;
  gap: 12px;
}
.couture-countdown-pill[data-countdown-size="lg"] .ccp-time,
.couture-countdown-pill[data-countdown-size="lg"] > strong {
  font-size: 16px;
}

/* Bigger callout block (replaces inline pill) */
.couture-countdown-pill[data-countdown-style="block"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 12px;
  padding: clamp(14px, 2vw, 22px) clamp(20px, 3vw, 32px);
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  gap: 6px;
}
.couture-countdown-pill[data-countdown-style="block"] .ccp-label {
  color: color-mix(in oklab, var(--c-paper) 65%, transparent);
}
.couture-countdown-pill[data-countdown-style="block"] .ccp-time,
.couture-countdown-pill[data-countdown-style="block"] > strong {
  color: var(--c-paper);
  font-size: clamp(20px, 3vw, 32px);
}
.couture-countdown-pill[data-countdown-style="block"]::before {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .couture-countdown-pill::before {
    animation: none;
  }
}

/* WS-VISIBLE-68 — 3D card-flip utility (hover-reveal back face).
   For team cards (front: photo/name, back: bio/role) or product tiles
   (front: image, back: details). Pure-CSS 3D perspective transform.

   Usage:
     <div class="couture-flip-card">
       <div class="cfc-inner">
         <div class="cfc-face cfc-front">
           <img src="…" alt="…">
           <h3>Maria Lemos</h3>
         </div>
         <div class="cfc-face cfc-back">
           <p>Founder · Atelier · 2014</p>
         </div>
       </div>
     </div>

   Variants via [data-flip-axis]: y (default — horizontal flip), x
   (vertical flip). Triggers via [data-flip-trigger]: hover (default),
   click (uses .--flipped state via JS). */
.couture-flip-card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: var(--cfc-ratio, 4 / 5);
  perspective: 1000px;
  cursor: pointer;
}
.couture-flip-card .cfc-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.4, .14, .3, 1);
}
.couture-flip-card:hover .cfc-inner,
.couture-flip-card:focus-within .cfc-inner,
.couture-flip-card.--flipped .cfc-inner {
  transform: rotateY(180deg);
}
.couture-flip-card .cfc-face {
  position: absolute;
  inset: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  border-radius: 10px;
  overflow: hidden;
  background: var(--c-paper);
}
.couture-flip-card .cfc-front {
  z-index: 2;
}
.couture-flip-card .cfc-front > img,
.couture-flip-card .cfc-front > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.couture-flip-card .cfc-back {
  transform: rotateY(180deg);
  background: var(--c-ink);
  color: var(--c-paper);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(20px, 3vw, 32px);
  text-align: left;
  gap: 12px;
}
.couture-flip-card .cfc-back h3,
.couture-flip-card .cfc-back .cfc-back-title {
  margin: 0;
  font: 600 18px/1.3 var(--c-display, var(--c-body));
  color: var(--c-paper);
  letter-spacing: -0.005em;
}
.couture-flip-card .cfc-back p {
  margin: 0;
  font: 400 13.5px/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-flip-card .cfc-back .cfc-meta {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}

/* Caption bar permanently visible on front face (name overlay) */
.couture-flip-card .cfc-front > .cfc-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(14px, 2vw, 22px) clamp(14px, 2vw, 20px);
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.25) 60%,
    transparent 100%
  );
  color: var(--c-paper);
  font: 600 14px/1.3 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
}

/* Variant: x — vertical flip */
.couture-flip-card[data-flip-axis="x"]:hover .cfc-inner,
.couture-flip-card[data-flip-axis="x"]:focus-within .cfc-inner,
.couture-flip-card[data-flip-axis="x"].--flipped .cfc-inner {
  transform: rotateX(180deg);
}
.couture-flip-card[data-flip-axis="x"] .cfc-back {
  transform: rotateX(180deg);
}

/* Variant: click trigger — hover doesn't flip, only .--flipped class does */
.couture-flip-card[data-flip-trigger="click"]:hover .cfc-inner,
.couture-flip-card[data-flip-trigger="click"]:focus-within .cfc-inner {
  transform: none;
}
.couture-flip-card[data-flip-trigger="click"].--flipped .cfc-inner {
  transform: rotateY(180deg);
}
.couture-flip-card[data-flip-trigger="click"][data-flip-axis="x"].--flipped .cfc-inner {
  transform: rotateX(180deg);
}

/* Aspect-ratio modifiers */
.couture-flip-card[data-flip-ratio="1"]    { --cfc-ratio: 1 / 1; }
.couture-flip-card[data-flip-ratio="3-4"]  { --cfc-ratio: 3 / 4; }
.couture-flip-card[data-flip-ratio="3-2"]  { --cfc-ratio: 3 / 2; }
.couture-flip-card[data-flip-ratio="16-9"] { --cfc-ratio: 16 / 9; }

/* Variant: subtle — smaller rotation peek (e.g. 10deg tilt + scale) */
.couture-flip-card[data-flip-style="tilt"]:hover .cfc-inner,
.couture-flip-card[data-flip-style="tilt"]:focus-within .cfc-inner {
  transform: rotateY(8deg) rotateX(-4deg) scale(1.03);
}
.couture-flip-card[data-flip-style="tilt"] .cfc-back {
  display: none;
}

/* Tone: paper back face (lighter) */
.couture-flip-card[data-flip-back-tone="paper"] .cfc-back {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  color: var(--c-ink);
}
.couture-flip-card[data-flip-back-tone="paper"] .cfc-back h3,
.couture-flip-card[data-flip-back-tone="paper"] .cfc-back .cfc-back-title {
  color: var(--c-ink);
}
.couture-flip-card[data-flip-back-tone="paper"] .cfc-back p {
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
}
.couture-flip-card[data-flip-back-tone="paper"] .cfc-back .cfc-meta {
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

.couture-flip-card[data-flip-back-tone="accent"] .cfc-back {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* Touch fallback — disable hover flip, require explicit click toggle */
@media (hover: none) {
  .couture-flip-card:hover .cfc-inner,
  .couture-flip-card:focus-within .cfc-inner {
    transform: none;
  }
  .couture-flip-card.--flipped .cfc-inner {
    transform: rotateY(180deg);
  }
  .couture-flip-card[data-flip-axis="x"].--flipped .cfc-inner {
    transform: rotateX(180deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-flip-card .cfc-inner {
    transition: none;
  }
  /* Reduced motion: cross-fade instead of flip */
  .couture-flip-card .cfc-inner {
    transform: none !important;
  }
  .couture-flip-card .cfc-back {
    opacity: 0;
    transform: none !important;
    transition: opacity .25s ease;
  }
  .couture-flip-card:hover .cfc-back,
  .couture-flip-card:focus-within .cfc-back,
  .couture-flip-card.--flipped .cfc-back {
    opacity: 1;
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
  }
  .couture-flip-card:hover .cfc-front,
  .couture-flip-card:focus-within .cfc-front,
  .couture-flip-card.--flipped .cfc-front {
    opacity: 0;
  }
  .couture-flip-card .cfc-front {
    transition: opacity .25s ease;
  }
}

/* WS-VISIBLE-69 — animated scroll-down chevron hint utility.
   Distinct from existing .couture-hero-scroll-cue (vertical-line drop
   animation). This is the chevron/glyph-based family of indicators —
   more "down arrow" classic.

   Usage:
     <a href="#next" class="couture-scroll-hint" aria-label="Scroll down">
       <span class="csh-label">Scroll</span>
     </a>

   Variants via [data-scroll-hint]: chevron (default — single chevron
   bouncing), double (two chevrons), mouse (mouse-wheel icon with
   bouncing dot), dot (bouncing dot only), arrow (long arrow with
   shaft). */
.couture-scroll-hint {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 12px 8px;
  font: 600 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  text-decoration: none;
  cursor: pointer;
  position: relative;
  transition: color .2s;
}
.couture-scroll-hint:hover,
.couture-scroll-hint:focus-visible {
  color: var(--c-ink);
}
.couture-scroll-hint:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 4px;
  border-radius: 2px;
}
.couture-scroll-hint .csh-label {
  font-size: inherit;
  letter-spacing: inherit;
  display: inline-block;
}

/* Default: single chevron */
.couture-scroll-hint::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-top: 2px;
  animation: ws-csh-bounce 1.8s ease-in-out infinite;
}
@keyframes ws-csh-bounce {
  0%, 100% { transform: rotate(45deg) translate(0, 0); opacity: 0.7; }
  50%      { transform: rotate(45deg) translate(3px, 3px); opacity: 1; }
}

/* Variant: double — two stacked chevrons */
.couture-scroll-hint[data-scroll-hint="double"]::after {
  width: 14px;
  height: 14px;
  /* main chevron */
}
.couture-scroll-hint[data-scroll-hint="double"]::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-bottom: -8px;
  opacity: 0.5;
  animation: ws-csh-bounce 1.8s ease-in-out infinite;
  animation-delay: -0.3s;
}

/* Variant: mouse — mouse-wheel-with-dot icon */
.couture-scroll-hint[data-scroll-hint="mouse"]::after {
  content: "";
  width: 22px;
  height: 36px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  position: relative;
  margin-top: 4px;
  background: none;
  transform: none;
  animation: none;
}
.couture-scroll-hint[data-scroll-hint="mouse"]::before {
  content: "";
  position: absolute;
  top: calc(100% - 28px);
  left: 50%;
  width: 3px;
  height: 6px;
  margin-left: -1.5px;
  background: currentColor;
  border-radius: 999px;
  animation: ws-csh-mouse-dot 1.6s ease-in-out infinite;
}
@keyframes ws-csh-mouse-dot {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50%      { transform: translateY(8px); opacity: 0.4; }
}

/* Variant: dot — single bouncing dot */
.couture-scroll-hint[data-scroll-hint="dot"]::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  background: currentColor;
  transform: none;
  animation: ws-csh-dot-bounce 1.4s ease-in-out infinite;
}
@keyframes ws-csh-dot-bounce {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50%      { transform: translateY(8px); opacity: 0.5; }
}

/* Variant: arrow — long arrow shaft with chevron tip */
.couture-scroll-hint[data-scroll-hint="arrow"]::before {
  content: "";
  display: block;
  width: 1px;
  height: 32px;
  background: currentColor;
  margin-bottom: -6px;
  animation: ws-csh-arrow-shaft 1.8s ease-in-out infinite;
}
.couture-scroll-hint[data-scroll-hint="arrow"]::after {
  width: 9px;
  height: 9px;
  margin-top: 0;
}
@keyframes ws-csh-arrow-shaft {
  0%, 100% { transform: scaleY(1); transform-origin: top; opacity: 0.7; }
  50%      { transform: scaleY(1.15); opacity: 1; }
}

/* Tone variants */
.couture-scroll-hint[data-scroll-hint-tone="paper"] {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}
.couture-scroll-hint[data-scroll-hint-tone="paper"]:hover {
  color: var(--c-paper);
}
.couture-scroll-hint[data-scroll-hint-tone="accent"] {
  color: var(--c-accent);
}

/* Position helper: bottom-center fixed (for hero overlays) */
.couture-scroll-hint[data-scroll-hint-pos="hero"] {
  position: absolute;
  left: 50%;
  bottom: clamp(20px, 3vw, 36px);
  transform: translateX(-50%);
  z-index: 5;
}

/* Variant: minimal — no label */
.couture-scroll-hint[data-scroll-hint-style="no-label"] .csh-label {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .couture-scroll-hint::after,
  .couture-scroll-hint::before {
    animation: none !important;
  }
}

/* WS-VISIBLE-70 — hover-card preview tooltip utility (rich hover popup).
   Distinct from existing .couture-tooltip utility ([data-tooltip] from
   WS-VISIBLE-30, single-line text only). This is for a richer hover
   preview card with image + title + body — opt-in for product/place
   links etc.

   Usage:
     <a class="couture-hover-card" href="/product/x">
       Product link text
       <span class="chc-popup">
         <img src="thumb.jpg" alt="">
         <span class="chc-title">Marble Bowl</span>
         <span class="chc-meta">Stoneware · $48</span>
         <span class="chc-body">Hand-thrown in Lisbon.</span>
       </span>
     </a>

   Variants via [data-hover-card]: top (default), bottom, left, right.
   Style via [data-hover-card-style]: card (default), inline (no
   shadow), media (image-led layout). */
.couture-hover-card {
  position: relative;
  text-decoration: underline;
  text-decoration-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  cursor: pointer;
  color: inherit;
}
.couture-hover-card:hover,
.couture-hover-card:focus-visible {
  text-decoration-color: var(--c-accent);
}
.couture-hover-card:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
  border-radius: 2px;
}

.couture-hover-card .chc-popup {
  position: absolute;
  z-index: 50;
  width: clamp(220px, 22vw, 280px);
  padding: 12px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 10px;
  box-shadow: 0 18px 40px -16px rgba(0,0,0,0.18);
  font: 400 13px/1.45 var(--c-body);
  text-align: left;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 8px;

  /* Default position: top, centered above link */
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%) translateY(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s, transform .25s, visibility .25s;
}
.couture-hover-card:hover .chc-popup,
.couture-hover-card:focus-within .chc-popup {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
  transition-delay: .15s;
}

/* Tail / arrow pointer at bottom (default top placement) */
.couture-hover-card .chc-popup::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: var(--c-paper);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

.couture-hover-card .chc-popup > img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 6px;
  display: block;
  margin: -4px -4px 4px;
  width: calc(100% + 8px);
}
.couture-hover-card .chc-title {
  font: 700 14px/1.3 var(--c-display, var(--c-body));
  color: var(--c-ink);
  letter-spacing: -0.005em;
  display: block;
}
.couture-hover-card .chc-meta {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  display: block;
}
.couture-hover-card .chc-body {
  font: 400 12.5px/1.5 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  display: block;
}

/* Position variants */
.couture-hover-card[data-hover-card="bottom"] .chc-popup {
  bottom: auto;
  top: calc(100% + 12px);
  transform: translateX(-50%) translateY(-8px);
}
.couture-hover-card[data-hover-card="bottom"]:hover .chc-popup,
.couture-hover-card[data-hover-card="bottom"]:focus-within .chc-popup {
  transform: translateX(-50%) translateY(0);
}
.couture-hover-card[data-hover-card="bottom"] .chc-popup::after {
  bottom: auto;
  top: -6px;
  border-right: 0;
  border-bottom: 0;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

.couture-hover-card[data-hover-card="right"] .chc-popup {
  bottom: 50%;
  left: calc(100% + 12px);
  transform: translateY(50%) translateX(-8px);
}
.couture-hover-card[data-hover-card="right"]:hover .chc-popup,
.couture-hover-card[data-hover-card="right"]:focus-within .chc-popup {
  transform: translateY(50%) translateX(0);
}
.couture-hover-card[data-hover-card="right"] .chc-popup::after {
  bottom: 50%;
  left: -6px;
  top: auto;
  transform: translateY(50%) rotate(45deg);
  border-right: 0;
  border-top: 0;
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

.couture-hover-card[data-hover-card="left"] .chc-popup {
  bottom: 50%;
  left: auto;
  right: calc(100% + 12px);
  transform: translateY(50%) translateX(8px);
}
.couture-hover-card[data-hover-card="left"]:hover .chc-popup,
.couture-hover-card[data-hover-card="left"]:focus-within .chc-popup {
  transform: translateY(50%) translateX(0);
}
.couture-hover-card[data-hover-card="left"] .chc-popup::after {
  bottom: 50%;
  left: auto;
  right: -6px;
  transform: translateY(50%) rotate(45deg);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 0;
  border-left: 0;
}

/* Style variants */
.couture-hover-card[data-hover-card-style="inline"] .chc-popup {
  box-shadow: none;
}
.couture-hover-card[data-hover-card-style="ink"] .chc-popup {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: color-mix(in oklab, var(--c-paper) 12%, transparent);
}
.couture-hover-card[data-hover-card-style="ink"] .chc-popup::after {
  background: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-paper) 12%, transparent);
}
.couture-hover-card[data-hover-card-style="ink"] .chc-title { color: var(--c-paper); }
.couture-hover-card[data-hover-card-style="ink"] .chc-meta {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-hover-card[data-hover-card-style="ink"] .chc-body {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}

/* Media-led variant: image is dominant, takes full width tall */
.couture-hover-card[data-hover-card-style="media"] .chc-popup {
  padding: 0;
  overflow: hidden;
  width: clamp(240px, 24vw, 300px);
}
.couture-hover-card[data-hover-card-style="media"] .chc-popup > img {
  margin: 0;
  width: 100%;
  border-radius: 0;
  aspect-ratio: 4 / 3;
}
.couture-hover-card[data-hover-card-style="media"] .chc-title,
.couture-hover-card[data-hover-card-style="media"] .chc-meta,
.couture-hover-card[data-hover-card-style="media"] .chc-body {
  padding: 0 14px;
}
.couture-hover-card[data-hover-card-style="media"] .chc-title { padding-top: 14px; }
.couture-hover-card[data-hover-card-style="media"] .chc-body { padding-bottom: 14px; }

/* Touch fallback: hide popup entirely on touch (no hover) */
@media (hover: none) {
  .couture-hover-card .chc-popup {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-hover-card .chc-popup {
    transition: opacity .15s, visibility .15s;
    transform: translateX(-50%) translateY(0) !important;
  }
  .couture-hover-card[data-hover-card="right"] .chc-popup,
  .couture-hover-card[data-hover-card="left"] .chc-popup {
    transform: translateY(50%) translateX(0) !important;
  }
}

/* WS-VISIBLE-71 — photo frame / Polaroid utility for editorial images.
   Wraps an image with a tasteful frame mat. Variants via [data-frame]:
   polaroid (default — thick bottom mat caption space), passepartout
   (museum-style 4-side mat), film (filmstrip sprocket holes border),
   tape (vintage-tape corners), shadow (hard inset shadow), inkframe
   (thick ink border like a stamp).

   Usage:
     <figure class="couture-photo-frame" data-frame="polaroid">
       <img src="…" alt="…">
       <figcaption>Lisbon, 2026</figcaption>
     </figure>
*/
.couture-photo-frame {
  display: inline-block;
  margin: clamp(20px, 3vw, 32px) 0;
  padding: 0;
  background: var(--c-paper);
  position: relative;
  max-width: 100%;
}
.couture-photo-frame > img,
.couture-photo-frame > picture > img {
  display: block;
  width: 100%;
  height: auto;
}
.couture-photo-frame > figcaption {
  font: italic 400 14px/1.5 var(--c-display, var(--c-body));
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  text-align: center;
  margin: 0;
}

/* Default: polaroid — white border with thicker bottom for caption */
.couture-photo-frame {
  padding: 12px 12px 36px;
  background: #fafafa;
  box-shadow:
    0 1px 0 rgba(0,0,0,0.04),
    0 12px 28px -16px rgba(0,0,0,0.22);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-photo-frame > figcaption {
  margin-top: 14px;
  padding: 0 6px;
  font-family: var(--c-mono, var(--c-body));
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-style: normal;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}

/* Variant: passepartout — symmetric 4-side mat */
.couture-photo-frame[data-frame="passepartout"] {
  padding: clamp(18px, 3vw, 32px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  box-shadow: 0 18px 38px -22px rgba(0,0,0,0.22);
}
.couture-photo-frame[data-frame="passepartout"] > figcaption {
  margin-top: 18px;
  padding: 0;
  font-family: inherit;
  font-style: italic;
  font-size: 13.5px;
  letter-spacing: 0;
  text-transform: none;
}

/* Variant: film — filmstrip sprocket holes top/bottom borders */
.couture-photo-frame[data-frame="film"] {
  padding: 16px 8px;
  background: #1a1a1a;
  border: 0;
  box-shadow: 0 12px 28px -16px rgba(0,0,0,0.4);
  /* Sprocket holes via background gradients */
  background-image:
    radial-gradient(circle 4px at 18px 8px, var(--c-paper) 4px, transparent 4.5px),
    radial-gradient(circle 4px at 18px 8px, var(--c-paper) 4px, transparent 4.5px);
  background-position: 0 0, 0 100%;
  background-size: 28px 16px, 28px 16px;
  background-repeat: repeat-x;
}
.couture-photo-frame[data-frame="film"] > figcaption {
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  margin-top: 8px;
  font-family: var(--c-mono, var(--c-body));
  font-size: 10.5px;
}

/* Variant: tape — vintage tape corners */
.couture-photo-frame[data-frame="tape"] {
  padding: 6px;
  background: var(--c-paper);
  border: 0;
  box-shadow: 0 12px 28px -18px rgba(0,0,0,0.18);
  position: relative;
}
.couture-photo-frame[data-frame="tape"]::before,
.couture-photo-frame[data-frame="tape"]::after {
  content: "";
  position: absolute;
  width: 56px;
  height: 16px;
  background: color-mix(in oklab, var(--c-accent) 35%, var(--c-paper));
  opacity: 0.65;
  top: -8px;
  z-index: 2;
}
.couture-photo-frame[data-frame="tape"]::before {
  left: 14px;
  transform: rotate(-8deg);
}
.couture-photo-frame[data-frame="tape"]::after {
  right: 14px;
  transform: rotate(7deg);
}

/* Variant: shadow — hard inset shadow inside frame */
.couture-photo-frame[data-frame="shadow"] {
  padding: 0;
  background: var(--c-paper);
  border: 0;
  box-shadow: none;
  position: relative;
}
.couture-photo-frame[data-frame="shadow"]::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 12px var(--c-paper),
              inset 0 0 0 13px color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-photo-frame[data-frame="shadow"] > figcaption {
  padding: 14px 12px 4px;
}

/* Variant: inkframe — thick ink border like a stamp */
.couture-photo-frame[data-frame="inkframe"] {
  padding: 0;
  background: var(--c-ink);
  border: 0;
  box-shadow: 0 14px 30px -16px rgba(0,0,0,0.35);
  position: relative;
}
.couture-photo-frame[data-frame="inkframe"] > img {
  border: 8px solid var(--c-ink);
  display: block;
}
.couture-photo-frame[data-frame="inkframe"] > figcaption {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
  padding: 8px 12px 12px;
  font-family: var(--c-mono, var(--c-body));
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Optional rotation tilt (decorative) */
.couture-photo-frame[data-frame-tilt="left"] {
  transform: rotate(-1.5deg);
}
.couture-photo-frame[data-frame-tilt="right"] {
  transform: rotate(1.5deg);
}
.couture-photo-frame[data-frame-tilt="left"]:hover,
.couture-photo-frame[data-frame-tilt="right"]:hover {
  transform: rotate(0);
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}

/* Aspect modifiers (clamps embedded image) */
.couture-photo-frame[data-frame-ratio="1"] > img    { aspect-ratio: 1 / 1; object-fit: cover; }
.couture-photo-frame[data-frame-ratio="4-5"] > img  { aspect-ratio: 4 / 5; object-fit: cover; }
.couture-photo-frame[data-frame-ratio="3-4"] > img  { aspect-ratio: 3 / 4; object-fit: cover; }
.couture-photo-frame[data-frame-ratio="3-2"] > img  { aspect-ratio: 3 / 2; object-fit: cover; }

@media (prefers-reduced-motion: reduce) {
  .couture-photo-frame[data-frame-tilt="left"]:hover,
  .couture-photo-frame[data-frame-tilt="right"]:hover {
    transition: none;
  }
}

/* WS-VISIBLE-72 — handwritten swash underline-stroke heading utility.
   For emphasizing key words in headings: "Made by hand <em>here</em>".
   Pure-CSS SVG-via-data-URL stroke under any inline element opting in
   via .couture-swash class.

   Usage:
     <h2>Made by hand <span class="couture-swash">here</span>.</h2>

   Variants via [data-swash-style]: wave (default), underline (straight
   wobbly), circle (rounded loop around), strikethrough (slash through),
   highlight (yellow marker behind). */
.couture-swash {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding-bottom: 0.18em;
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 0.5em;
}

/* Default: wavy swash underline (SVG via data-URL) */
.couture-swash {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'><path d='M0,8 Q40,2 80,7 T160,8 T200,7' stroke='%23b8865b' stroke-width='2.5' fill='none' stroke-linecap='round'/></svg>");
}

/* Variant: underline — straight slightly-wobbly hand-drawn line */
.couture-swash[data-swash-style="underline"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 6' preserveAspectRatio='none'><path d='M2,3 Q50,1 100,3 T198,3' stroke='%23b8865b' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
  background-size: 100% 0.3em;
}

/* Variant: double — two parallel hand-drawn lines */
.couture-swash[data-swash-style="double"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'><path d='M2,3 Q60,1 120,3 T198,3 M2,7 Q60,5 120,7 T198,7' stroke='%23b8865b' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");
  background-size: 100% 0.45em;
}

/* Variant: circle — encircles the text loosely */
.couture-swash[data-swash-style="circle"] {
  padding: 0.05em 0.4em 0.15em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 110% 130%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 80' preserveAspectRatio='none'><path d='M180,20 Q150,2 100,5 Q40,8 12,30 Q4,55 50,68 Q120,80 175,65 Q198,55 188,30 Q175,18 165,18' stroke='%23b8865b' stroke-width='2.2' fill='none' stroke-linecap='round'/></svg>");
}

/* Variant: strikethrough — diagonal hand-drawn slash */
.couture-swash[data-swash-style="strikethrough"] {
  background-position: center;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'><path d='M2,30 Q60,18 110,22 T198,12' stroke='%23b8865b' stroke-width='2.2' fill='none' stroke-linecap='round'/></svg>");
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}

/* Variant: highlight — yellow marker swatch behind text */
.couture-swash[data-swash-style="highlight"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30' preserveAspectRatio='none'><path d='M2,15 Q40,4 100,8 T198,10 L196,28 Q120,32 60,28 T2,26 Z' fill='%23facc15' fill-opacity='0.55'/></svg>");
  background-size: 102% 78%;
  background-position: -1% 60%;
  padding: 0 .18em;
}

/* Variant: cross-out — wavy strikethrough centered through text */
.couture-swash[data-swash-style="cross-out"] {
  background-position: 0 55%;
  background-size: 100% 0.3em;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 6' preserveAspectRatio='none'><path d='M2,3 Q50,5 100,2 T198,4' stroke='%23dc2626' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}

/* Tone helpers — overrides the SVG color via filter (since data-URL is fixed) */
.couture-swash[data-swash-tone="ink"] {
  filter: hue-rotate(0deg) saturate(0) brightness(0.4);
}
.couture-swash[data-swash-tone="accent"] {
  /* falls back to default since SVGs already use accent-y orange */
}

/* Underline that animates in on scroll (opt-in via .--reveal class +
   IntersectionObserver toggle, or just for first-paint emphasis) */
.couture-swash.--reveal {
  background-size: 0% 0.5em;
  transition: background-size .9s cubic-bezier(.65,.05,.35,1);
}
.couture-swash.--reveal.--in,
.couture-swash.--reveal:hover {
  background-size: 100% 0.5em;
}

@media (prefers-reduced-motion: reduce) {
  .couture-swash.--reveal {
    transition: none;
    background-size: 100% 0.5em;
  }
}

/* WS-VISIBLE-73 — animated arrow CTA chevron (forward "Continue →" link).
   Distinct from back-link (WS-VISIBLE-58 .couture-back-link) — that one
   is for backward nav with leftward shift; this is for forward "next"
   CTAs that pop forward on hover.

   Usage:
     <a class="couture-cta-arrow" href="/journal">Read journal</a>

   Variants via [data-cta-arrow]: chevron (default — arrow-tip jumps
   forward), shaft (long arrow with shaft extension), pill (button-ish
   pill with arrow), inline (text-only with hover arrow), circle
   (circular icon button next to text). */
.couture-cta-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 13px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-ink);
  text-decoration: none;
  padding: 6px 0;
  cursor: pointer;
  background: none;
  border: 0;
  position: relative;
  transition: color .18s, gap .25s;
}
.couture-cta-arrow:hover,
.couture-cta-arrow:focus-visible {
  color: var(--c-accent);
  gap: 14px;
}
.couture-cta-arrow:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 4px;
  border-radius: 2px;
}

/* Default: chevron tip pointing right */
.couture-cta-arrow::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-top: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .25s, margin .25s;
  flex: 0 0 auto;
}
.couture-cta-arrow:hover::after,
.couture-cta-arrow:focus-visible::after {
  transform: rotate(45deg) translate(2px, -2px);
}

/* Variant: shaft — long arrow with shaft that extends on hover */
.couture-cta-arrow[data-cta-arrow="shaft"]::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 1.5px;
  background: currentColor;
  margin-right: -8px;
  transition: width .25s;
}
.couture-cta-arrow[data-cta-arrow="shaft"]:hover::before,
.couture-cta-arrow[data-cta-arrow="shaft"]:focus-visible::before {
  width: 28px;
}

/* Variant: pill — rounded button-ish container */
.couture-cta-arrow[data-cta-arrow="pill"] {
  padding: 10px 22px 10px 18px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-paper);
  font-size: 12px;
  letter-spacing: 0.06em;
  transition: background .2s, gap .25s, transform .15s;
}
.couture-cta-arrow[data-cta-arrow="pill"]:hover,
.couture-cta-arrow[data-cta-arrow="pill"]:focus-visible {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-cta-arrow[data-cta-arrow="pill"]:active {
  transform: scale(0.98);
}

/* Variant: inline — text-only, arrow appears on hover */
.couture-cta-arrow[data-cta-arrow="inline"] {
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--c-body);
  font-weight: 500;
  font-size: 14.5px;
  text-decoration: underline;
  text-decoration-color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  text-underline-offset: 4px;
  text-decoration-thickness: 1.5px;
  gap: 4px;
}
.couture-cta-arrow[data-cta-arrow="inline"]:hover,
.couture-cta-arrow[data-cta-arrow="inline"]:focus-visible {
  text-decoration-color: var(--c-accent);
  gap: 8px;
}
.couture-cta-arrow[data-cta-arrow="inline"]::after {
  width: 7px;
  height: 7px;
  border-width: 1.5px;
  opacity: 0.75;
}

/* Variant: circle — text + circular icon button */
.couture-cta-arrow[data-cta-arrow="circle"]::after {
  content: "";
  width: 32px;
  height: 32px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  transform: none;
  position: relative;
  flex: 0 0 auto;
  transition: background .2s, color .2s, transform .25s;
}
.couture-cta-arrow[data-cta-arrow="circle"]::before {
  content: "";
  position: absolute;
  right: 11px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-right: 1.5px solid currentColor;
  border-top: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .25s;
  pointer-events: none;
  z-index: 1;
}
.couture-cta-arrow[data-cta-arrow="circle"]:hover::after,
.couture-cta-arrow[data-cta-arrow="circle"]:focus-visible::after {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-paper);
  transform: scale(1.05);
}
.couture-cta-arrow[data-cta-arrow="circle"]:hover::before,
.couture-cta-arrow[data-cta-arrow="circle"]:focus-visible::before {
  transform: rotate(45deg) translate(2px, -2px);
  border-color: var(--c-paper);
}
.couture-cta-arrow[data-cta-arrow="circle"] {
  gap: 14px;
}
.couture-cta-arrow[data-cta-arrow="circle"]:hover {
  gap: 14px;
}

/* Tone variants */
.couture-cta-arrow[data-cta-arrow-tone="accent"] {
  color: var(--c-accent);
}
.couture-cta-arrow[data-cta-arrow-tone="paper"] {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-cta-arrow[data-cta-arrow-tone="paper"]:hover,
.couture-cta-arrow[data-cta-arrow-tone="paper"]:focus-visible {
  color: var(--c-paper);
}

/* Underline-on-hover companion (for default style) */
.couture-cta-arrow[data-cta-arrow-underline="hover"] .label,
.couture-cta-arrow[data-cta-arrow-underline="hover"] {
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s, color .18s, gap .25s;
}
.couture-cta-arrow[data-cta-arrow-underline="hover"]:hover {
  background-size: calc(100% - 16px) 1px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-cta-arrow,
  .couture-cta-arrow::before,
  .couture-cta-arrow::after {
    transition: none !important;
  }
  .couture-cta-arrow:hover {
    gap: 8px;
  }
  .couture-cta-arrow:hover::after {
    transform: rotate(45deg);
  }
  .couture-cta-arrow[data-cta-arrow="circle"]:hover::after {
    transform: none;
  }
  .couture-cta-arrow[data-cta-arrow="pill"]:active {
    transform: none;
  }
}

/* WS-VISIBLE-74 — Editor's pick callout block utility.
   For long-form editorial pages: a recommendation card that calls out
   a specific product or story with an eyebrow ("Editor's pick"),
   image, title, body, and CTA.

   Usage:
     <aside class="couture-pick-callout">
       <span class="cpc-eyebrow">Editor's pick</span>
       <img class="cpc-img" src="…" alt="…">
       <div class="cpc-body">
         <h3 class="cpc-title">Marble Bowl, Stone</h3>
         <p class="cpc-text">Hand-thrown in Lisbon by Maria Lemos.</p>
         <a class="cpc-cta" href="/p/marble-bowl">View piece →</a>
       </div>
     </aside>

   Variants via [data-pick-style]: side (default — image left, content
   right) + stacked + boxed + minimal + ribbon. */
.couture-pick-callout {
  display: grid;
  grid-template-columns: minmax(120px, 200px) 1fr;
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
  margin: clamp(28px, 4vw, 48px) 0;
  padding: clamp(20px, 3vw, 32px);
  background: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 18%, transparent);
  border-radius: 12px;
  position: relative;
}

.couture-pick-callout .cpc-eyebrow {
  position: absolute;
  top: -10px;
  left: 24px;
  padding: 4px 12px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 999px;
  white-space: nowrap;
}

.couture-pick-callout .cpc-img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 8px;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
}

.couture-pick-callout .cpc-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.couture-pick-callout .cpc-meta {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}

.couture-pick-callout .cpc-title {
  margin: 0;
  font: 700 clamp(18px, 2.2vw, 24px)/1.25 var(--c-display, var(--c-body));
  letter-spacing: -0.012em;
  color: var(--c-ink);
}

.couture-pick-callout .cpc-text {
  margin: 0;
  font: 400 14.5px/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  max-width: 50ch;
}

.couture-pick-callout .cpc-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 6px 0;
  font: 700 12px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-accent);
  text-decoration: none;
  width: max-content;
  transition: gap .25s, color .15s;
}
.couture-pick-callout .cpc-cta::after {
  content: "→";
  font-size: 14px;
  transition: transform .25s;
}
.couture-pick-callout .cpc-cta:hover {
  gap: 12px;
  color: var(--c-ink);
}
.couture-pick-callout .cpc-cta:hover::after {
  transform: translateX(2px);
}

/* Variant: stacked — image above content (vertical layout) */
.couture-pick-callout[data-pick-style="stacked"] {
  grid-template-columns: 1fr;
  text-align: left;
}
.couture-pick-callout[data-pick-style="stacked"] .cpc-img {
  aspect-ratio: 16 / 9;
}

/* Variant: boxed — solid ink background, paper text */
.couture-pick-callout[data-pick-style="boxed"] {
  background: var(--c-ink);
  border-color: transparent;
  color: var(--c-paper);
}
.couture-pick-callout[data-pick-style="boxed"] .cpc-eyebrow {
  background: var(--c-paper);
  color: var(--c-ink);
}
.couture-pick-callout[data-pick-style="boxed"] .cpc-title {
  color: var(--c-paper);
}
.couture-pick-callout[data-pick-style="boxed"] .cpc-text {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}
.couture-pick-callout[data-pick-style="boxed"] .cpc-meta {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-pick-callout[data-pick-style="boxed"] .cpc-cta {
  color: var(--c-paper);
}
.couture-pick-callout[data-pick-style="boxed"] .cpc-cta:hover {
  color: var(--c-accent);
}

/* Variant: minimal — no background, just left accent rule */
.couture-pick-callout[data-pick-style="minimal"] {
  background: transparent;
  border: 0;
  border-left: 3px solid var(--c-accent);
  border-radius: 0;
  padding-left: clamp(18px, 2.5vw, 28px);
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 0;
}
.couture-pick-callout[data-pick-style="minimal"] .cpc-eyebrow {
  position: static;
  background: none;
  padding: 0;
  margin-bottom: 6px;
  color: var(--c-accent);
  display: block;
  width: max-content;
}

/* Variant: ribbon — corner ribbon banner */
.couture-pick-callout[data-pick-style="ribbon"] {
  overflow: hidden;
}
.couture-pick-callout[data-pick-style="ribbon"] .cpc-eyebrow {
  top: 14px;
  left: -28px;
  padding: 4px 36px;
  border-radius: 0;
  transform: rotate(-30deg);
  letter-spacing: 0.16em;
}

/* Reverse: image on right (.--reverse) */
.couture-pick-callout.--reverse {
  grid-template-columns: 1fr minmax(120px, 200px);
}
.couture-pick-callout.--reverse .cpc-img {
  order: 2;
}
.couture-pick-callout.--reverse .cpc-body {
  order: 1;
}

/* Mobile collapse to single column */
@media (max-width: 540px) {
  .couture-pick-callout {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .couture-pick-callout .cpc-img {
    aspect-ratio: 16 / 10;
  }
  .couture-pick-callout.--reverse .cpc-img {
    order: 1;
  }
  .couture-pick-callout.--reverse .cpc-body {
    order: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-pick-callout .cpc-cta,
  .couture-pick-callout .cpc-cta::after {
    transition: none;
  }
  .couture-pick-callout .cpc-cta:hover {
    gap: 6px;
  }
  .couture-pick-callout .cpc-cta:hover::after {
    transform: none;
  }
}

/* WS-VISIBLE-75 — region/locale switcher pill (header country + currency).
   Inline pill that shows the current locale ("US · USD" or "🇬🇧 GBP")
   with optional dropdown chevron — for site headers with international
   storefronts.

   Usage:
     <button class="couture-locale-pill">
       <span class="clp-flag" aria-hidden="true">🇺🇸</span>
       <span class="clp-region">US</span>
       <span class="clp-sep">·</span>
       <span class="clp-currency">USD</span>
     </button>
*/
.couture-locale-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: var(--c-ink);
  font: 600 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s, border-color .18s;
}
.couture-locale-pill:hover {
  background: color-mix(in oklab, var(--c-ink) 8%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-locale-pill:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.couture-locale-pill .clp-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1;
  flex: 0 0 auto;
}
.couture-locale-pill .clp-region {
  font-weight: 700;
}
.couture-locale-pill .clp-sep {
  color: color-mix(in oklab, var(--c-ink) 30%, transparent);
  font-weight: 400;
  margin: 0 1px;
}
.couture-locale-pill .clp-currency {
  font-weight: 600;
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
}
.couture-locale-pill::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  margin-left: 4px;
  opacity: 0.55;
  flex: 0 0 auto;
}

/* Variants via [data-locale-style] */
/* Variant: minimal — no border, no bg */
.couture-locale-pill[data-locale-style="minimal"] {
  background: none;
  border: 0;
  padding: 4px 6px;
}

/* Variant: ghost — transparent until hover */
.couture-locale-pill[data-locale-style="ghost"] {
  background: transparent;
  border-color: transparent;
}
.couture-locale-pill[data-locale-style="ghost"]:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, transparent);
}

/* Variant: ink — dark pill */
.couture-locale-pill[data-locale-style="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-locale-pill[data-locale-style="ink"] .clp-currency {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}
.couture-locale-pill[data-locale-style="ink"] .clp-sep {
  color: color-mix(in oklab, var(--c-paper) 35%, transparent);
}
.couture-locale-pill[data-locale-style="ink"]:hover {
  background: color-mix(in oklab, var(--c-ink) 88%, var(--c-paper));
}

/* Variant: outline — accent-tinted border */
.couture-locale-pill[data-locale-style="outline"] {
  background: transparent;
  border-color: var(--c-accent);
  color: var(--c-accent);
}

/* Sizes */
.couture-locale-pill[data-locale-size="sm"] {
  padding: 4px 9px;
  font-size: 10.5px;
  gap: 5px;
}
.couture-locale-pill[data-locale-size="sm"] .clp-flag {
  font-size: 11px;
}
.couture-locale-pill[data-locale-size="lg"] {
  padding: 9px 16px;
  font-size: 12.5px;
  gap: 8px;
}
.couture-locale-pill[data-locale-size="lg"] .clp-flag {
  font-size: 16px;
}

/* No-chevron variant (for static labels) */
.couture-locale-pill[data-locale-style="static"]::after,
.couture-locale-pill[data-locale-no-toggle="true"]::after {
  display: none;
}

/* Open state — chevron rotates 180 (apply [data-open="true"] or .--open) */
.couture-locale-pill.--open::after,
.couture-locale-pill[aria-expanded="true"]::after {
  transform: rotate(225deg) translate(0, -1px);
}

/* Companion: a small dropdown panel for region list — opt-in */
.couture-locale-pill .clp-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  padding: 6px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 8px;
  box-shadow: 0 18px 36px -16px rgba(0,0,0,0.18);
  display: none;
  z-index: 30;
}
.couture-locale-pill {
  position: relative;
}
.couture-locale-pill.--open .clp-dropdown,
.couture-locale-pill[aria-expanded="true"] .clp-dropdown {
  display: block;
}
.couture-locale-pill .clp-dropdown a,
.couture-locale-pill .clp-dropdown button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  background: none;
  font: 500 12.5px/1.4 var(--c-body);
  color: var(--c-ink);
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  border-radius: 4px;
  cursor: pointer;
}
.couture-locale-pill .clp-dropdown a:hover,
.couture-locale-pill .clp-dropdown button:hover {
  background: color-mix(in oklab, var(--c-ink) 5%, transparent);
}
.couture-locale-pill .clp-dropdown a.--current,
.couture-locale-pill .clp-dropdown button.--current,
.couture-locale-pill .clp-dropdown a[aria-current="true"] {
  font-weight: 700;
  color: var(--c-accent);
}

@media (prefers-reduced-motion: reduce) {
  .couture-locale-pill {
    transition: none;
  }
}

/* WS-VISIBLE-76 — search-result highlight + match-context utilities.
   For search results displaying snippets with matched terms highlighted.
   Distinct from existing .couture-mark / .couture-highlight (general
   editorial inline emphasis).

   Usage:
     <article class="couture-search-hit">
       <h3 class="csh-title">
         Marble <span class="csh-mark">bowl</span>, stone
       </h3>
       <p class="csh-snippet">
         …hand-thrown <span class="csh-mark">bowl</span> in our Lisbon…
       </p>
       <div class="csh-meta">
         <span class="csh-cat">Tabletop</span>
         <span class="csh-score">98% match</span>
       </div>
     </article>
*/
.couture-search-hit {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-search-hit:last-child {
  border-bottom: 0;
}

.couture-search-hit .csh-title {
  margin: 0;
  font: 600 16px/1.35 var(--c-display, var(--c-body));
  color: var(--c-ink);
  letter-spacing: -0.005em;
}
.couture-search-hit .csh-title a {
  color: inherit;
  text-decoration: none;
}
.couture-search-hit .csh-title a:hover {
  color: var(--c-accent);
}

.couture-search-hit .csh-snippet {
  margin: 0;
  font: 400 13.5px/1.55 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
}

.couture-search-hit .csh-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  font: 500 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

.couture-search-hit .csh-cat {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
}
.couture-search-hit .csh-score {
  font-variant-numeric: tabular-nums;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-weight: 700;
}
.couture-search-hit .csh-url {
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: none;
}

/* Match-mark — yellow highlight behind matched term */
.csh-mark,
.couture-search-hit .csh-mark,
mark.couture-search-mark {
  background: color-mix(in oklab, #facc15 60%, transparent);
  color: var(--c-ink);
  padding: 0 2px;
  border-radius: 2px;
  font-weight: 600;
  text-decoration: none;
}

/* Match-mark variants via [data-mark-tone] (additive to WS-VISIBLE-47) */
.csh-mark[data-search-mark="accent"],
.couture-search-hit .csh-mark[data-search-mark="accent"] {
  background: color-mix(in oklab, var(--c-accent) 30%, transparent);
  color: var(--c-ink);
}
.csh-mark[data-search-mark="ink"],
.couture-search-hit .csh-mark[data-search-mark="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  padding: 1px 5px;
  border-radius: 3px;
  font-weight: 700;
}
.csh-mark[data-search-mark="underline"],
.couture-search-hit .csh-mark[data-search-mark="underline"] {
  background: none;
  font-weight: 700;
  border-bottom: 2px solid color-mix(in oklab, #facc15 70%, transparent);
  border-radius: 0;
  padding: 0;
}

/* Search-result list container helper */
.couture-search-results {
  list-style: none;
  margin: clamp(20px, 3vw, 32px) 0;
  padding: 0;
}
.couture-search-results > li {
  padding: 0;
  margin: 0;
}

/* Header with count */
.couture-search-results-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  margin-bottom: 8px;
  font: 500 12.5px/1.4 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}
.couture-search-results-head strong {
  color: var(--c-ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.couture-search-results-head .csh-query {
  color: var(--c-ink);
  font-style: italic;
  font-weight: 600;
}

/* Variant: card — boxed search hit instead of stacked rows */
.couture-search-hit[data-hit-style="card"] {
  padding: 18px 20px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 10px;
  margin-bottom: 12px;
  transition: border-color .18s, transform .18s;
}
.couture-search-hit[data-hit-style="card"]:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
  transform: translateY(-1px);
}

/* Variant: with-image — adds left thumbnail slot */
.couture-search-hit[data-hit-style="with-image"] {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: start;
}
.couture-search-hit[data-hit-style="with-image"] > .csh-img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
}

/* Empty results state — pair with .couture-empty-state for richer */
.couture-search-empty {
  padding: clamp(36px, 5vw, 64px) 16px;
  text-align: center;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}
.couture-search-empty strong {
  color: var(--c-ink);
  display: block;
  font-size: 16px;
  margin-bottom: 6px;
  font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  .couture-search-hit[data-hit-style="card"] {
    transition: none;
  }
  .couture-search-hit[data-hit-style="card"]:hover {
    transform: none;
  }
}

/* WS-VISIBLE-77 — animated count-up number utility (CSS @property + counter).
   For stat displays where the number animates from 0 to its final value
   on scroll-into-view. Uses CSS counters + @property for pure-CSS
   approach (no JS required for modern browsers; falls back to static
   number on older).

   Usage:
     <span class="couture-countup" style="--cu-target: 247">
       <span class="cu-num">247</span><span class="cu-suffix">+</span>
     </span>

   Or with prefix/unit:
     <span class="couture-countup" style="--cu-target: 5000">
       $<span class="cu-num">5,000</span>
     </span>

   The static <span class="cu-num"> ensures the actual value is in DOM
   for screen readers and as no-JS fallback. The CSS just animates a
   visual overlay or applies a slide-in effect when the element enters
   view via .--in class (added by IntersectionObserver). */
.couture-countup {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-variant-numeric: tabular-nums;
  --cu-target: 0;
}

/* Display number as CSS counter; preserves accessibility via the
   inner .cu-num text */
@property --cu-current {
  syntax: "<integer>";
  inherits: false;
  initial-value: 0;
}

.couture-countup .cu-num {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

.couture-countup .cu-prefix,
.couture-countup .cu-suffix,
.couture-countup .cu-unit {
  display: inline-block;
  font-weight: 600;
}

.couture-countup .cu-suffix {
  color: var(--c-accent);
  margin-left: 1px;
}

.couture-countup .cu-prefix {
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  font-size: 0.75em;
  margin-right: 2px;
  vertical-align: 0.4em;
}

.couture-countup .cu-unit {
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  font-size: 0.5em;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-left: 4px;
  vertical-align: 0.4em;
}

/* Variant: opacity reveal — the number fades in on view */
.couture-countup[data-countup-style="reveal"] .cu-num {
  opacity: 0;
  transition: opacity .8s ease, transform .8s ease;
  transform: translateY(8px);
}
.couture-countup[data-countup-style="reveal"].--in .cu-num {
  opacity: 1;
  transform: translateY(0);
}

/* Variant: slide — digits slide up from below into view */
.couture-countup[data-countup-style="slide"] .cu-num {
  display: inline-block;
  overflow: hidden;
  transform: translateY(0);
  transition: transform .9s cubic-bezier(.2,.8,.2,1);
}
.couture-countup[data-countup-style="slide"]:not(.--in) .cu-num {
  transform: translateY(50%);
  opacity: 0;
}

/* Variant: blur — number un-blurs as it appears */
.couture-countup[data-countup-style="blur"] .cu-num {
  filter: blur(8px);
  opacity: 0.4;
  transition: filter .8s ease, opacity .8s ease;
}
.couture-countup[data-countup-style="blur"].--in .cu-num {
  filter: blur(0);
  opacity: 1;
}

/* Variant: pulse — single pop scale on first visibility */
@keyframes ws-cu-pop {
  0%   { transform: scale(0.85); opacity: 0; }
  50%  { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
.couture-countup[data-countup-style="pop"].--in .cu-num {
  animation: ws-cu-pop .7s cubic-bezier(.34, 1.56, .64, 1) both;
}

/* Variant: ticker — vertical-flipping single-digit cells (assumes
   markup with .cu-digit children for each digit, ideal with JS, but
   purely visual). */
.couture-countup[data-countup-style="ticker"] .cu-num {
  display: inline-flex;
  gap: 1px;
}
.couture-countup[data-countup-style="ticker"] .cu-digit {
  display: inline-block;
  height: 1em;
  overflow: hidden;
  position: relative;
  min-width: 0.6em;
  text-align: center;
  vertical-align: top;
}
.couture-countup[data-countup-style="ticker"] .cu-digit > span {
  display: block;
  line-height: 1;
  transform: translateY(0);
  transition: transform .9s cubic-bezier(.2,.8,.2,1);
}
.couture-countup[data-countup-style="ticker"]:not(.--in) .cu-digit > span {
  transform: translateY(-1em);
}

/* Sizes */
.couture-countup[data-countup-size="sm"] {
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 700;
  letter-spacing: -0.012em;
}
.couture-countup[data-countup-size="md"],
.couture-countup:not([data-countup-size]) {
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  font-family: var(--c-display, var(--c-body));
  color: var(--c-ink);
}
.couture-countup[data-countup-size="lg"] {
  font-size: clamp(56px, 8vw, 96px);
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 0.9;
  font-family: var(--c-display, var(--c-body));
}

/* Accent tone */
.couture-countup[data-countup-tone="accent"] {
  color: var(--c-accent);
}
.couture-countup[data-countup-tone="accent"] .cu-suffix {
  color: var(--c-ink);
}

/* Caption slot below number */
.couture-countup-block {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.couture-countup-block .cu-caption {
  font: 600 11.5px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .couture-countup .cu-num,
  .couture-countup[data-countup-style="reveal"] .cu-num,
  .couture-countup[data-countup-style="slide"] .cu-num,
  .couture-countup[data-countup-style="blur"] .cu-num,
  .couture-countup[data-countup-style="ticker"] .cu-digit > span {
    transition: none !important;
    animation: none !important;
    opacity: 1;
    transform: none;
    filter: none;
  }
}

/* WS-VISIBLE-78 — generic button loading-state utility.
   Drop on ANY button (or .couture-btn) to show a pending spinner state.
   Pure-CSS, no SVG required. Works as either a class toggle (.--loading)
   or via [data-loading="true"] / [aria-busy="true"] attributes.
   Distinct from existing scoped .couture-btn-loading-spin-bordered-soft.

   Usage:
     <button class="couture-btn" aria-busy="true">Subscribe</button>
   Or:
     <button class="couture-btn --loading">Subscribe</button>
*/
.couture-btn-loadable {
  position: relative;
}

/* Loading state — shared across .--loading class, [aria-busy="true"],
   [data-loading="true"]. Applies to .couture-btn-loadable OR any button
   with one of these states. */
button.--loading,
button[aria-busy="true"],
button[data-loading="true"],
.couture-btn.--loading,
.couture-btn[aria-busy="true"],
.couture-btn[data-loading="true"],
.couture-btn-loadable.--loading,
.couture-btn-loadable[aria-busy="true"],
.couture-btn-loadable[data-loading="true"] {
  position: relative;
  cursor: wait;
  pointer-events: none;
  color: transparent !important;
  /* Preserve text width while hiding it */
  text-shadow: none;
}

/* Spinner overlay — sits centered above the (hidden) text */
button.--loading::after,
button[aria-busy="true"]::after,
button[data-loading="true"]::after,
.couture-btn.--loading::after,
.couture-btn[aria-busy="true"]::after,
.couture-btn[data-loading="true"]::after,
.couture-btn-loadable.--loading::after,
.couture-btn-loadable[aria-busy="true"]::after,
.couture-btn-loadable[data-loading="true"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: ws-btn-spin 0.7s linear infinite;
  /* Re-introduce visible color for the spinner — invert to ink/paper as needed */
  color: var(--c-paper);
}

/* Auto-detect: spinner color flips to ink for light-bg buttons */
.couture-btn-loadable[data-loading-tone="ink"]::after,
button[data-loading-tone="ink"]::after,
.couture-btn[data-loading-tone="ink"]::after {
  color: var(--c-ink);
}
.couture-btn-loadable[data-loading-tone="accent"]::after,
button[data-loading-tone="accent"]::after,
.couture-btn[data-loading-tone="accent"]::after {
  color: var(--c-accent);
}

@keyframes ws-btn-spin {
  to { transform: rotate(360deg); }
}

/* Variant: dots (3 bouncing dots instead of spinner) */
button[data-loading-style="dots"]::after,
.couture-btn[data-loading-style="dots"]::after,
.couture-btn-loadable[data-loading-style="dots"]::after {
  content: "";
  width: 4px;
  height: 4px;
  border: 0;
  background: currentColor;
  border-radius: 50%;
  margin: -2px 0 0 -2px;
  animation: ws-btn-dots 1s ease-in-out infinite;
  box-shadow:
    -10px 0 0 0 currentColor,
    10px 0 0 0 currentColor;
}
@keyframes ws-btn-dots {
  0%, 80%, 100% { box-shadow: -10px 0 0 0 currentColor, 10px 0 0 0 currentColor; transform: translateY(0); }
  40% { box-shadow: -10px -3px 0 0 currentColor, 10px 3px 0 0 currentColor; transform: translateY(-2px); }
}

/* Variant: bar (linear progress bar across button bottom) */
button[data-loading-style="bar"]::after,
.couture-btn[data-loading-style="bar"]::after,
.couture-btn-loadable[data-loading-style="bar"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  width: 100%;
  height: 2px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: linear-gradient(
    to right,
    transparent 0%,
    currentColor 50%,
    transparent 100%
  );
  background-size: 50% 100%;
  background-repeat: no-repeat;
  background-position: -50% 0;
  animation: ws-btn-bar 1.4s linear infinite;
}
/* For bar variant, KEEP text visible (don't hide it) */
button[data-loading-style="bar"].--loading,
button[data-loading-style="bar"][aria-busy="true"],
button[data-loading-style="bar"][data-loading="true"],
.couture-btn[data-loading-style="bar"].--loading,
.couture-btn[data-loading-style="bar"][aria-busy="true"],
.couture-btn[data-loading-style="bar"][data-loading="true"] {
  color: inherit !important;
}
@keyframes ws-btn-bar {
  to { background-position: 150% 0; }
}

/* Success state — green checkmark replaces spinner */
button.--success::after,
button[data-loading="success"]::after,
.couture-btn.--success::after,
.couture-btn[data-loading="success"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 7px;
  margin: -5.5px 0 0 -7px;
  border: 0;
  border-left: 2px solid #16a34a;
  border-bottom: 2px solid #16a34a;
  border-radius: 0;
  transform: rotate(-45deg);
  background: none;
  animation: none;
}
button.--success,
button[data-loading="success"],
.couture-btn.--success,
.couture-btn[data-loading="success"] {
  color: transparent !important;
  cursor: default;
  pointer-events: none;
}

/* Error state — red X replaces spinner */
button.--error::after,
button[data-loading="error"]::after,
.couture-btn.--error::after,
.couture-btn[data-loading="error"]::after {
  content: "×";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  margin: -10px 0 0 -9px;
  border: 0;
  background: none;
  font: 700 22px/.8 var(--c-body);
  color: #dc2626;
  animation: none;
  text-align: center;
}
button.--error,
button[data-loading="error"],
.couture-btn.--error,
.couture-btn[data-loading="error"] {
  color: transparent !important;
  cursor: default;
}

@media (prefers-reduced-motion: reduce) {
  button.--loading::after,
  button[aria-busy="true"]::after,
  button[data-loading="true"]::after,
  .couture-btn.--loading::after,
  .couture-btn[aria-busy="true"]::after,
  .couture-btn[data-loading="true"]::after,
  .couture-btn-loadable.--loading::after,
  .couture-btn-loadable[aria-busy="true"]::after,
  .couture-btn-loadable[data-loading="true"]::after {
    animation: none;
  }
}

/* WS-VISIBLE-79 — tag rail / category breadcrumb pill row utility.
   Scrollable horizontal pill row for category navigation at the top of
   shop/category pages. Distinct from existing .couture-chip-row
   (active-filter chips with dismiss buttons) — this is for nav.

   Usage:
     <nav class="couture-tag-rail" aria-label="Categories">
       <a class="ctr-tag --active">All</a>
       <a class="ctr-tag">New arrivals</a>
       <a class="ctr-tag">Bestsellers</a>
       <a class="ctr-tag">Tabletop</a>
       <a class="ctr-tag">Lighting</a>
       <a class="ctr-tag">Sale</a>
     </nav>
*/
.couture-tag-rail {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  padding: 12px 0;
  margin: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  -ms-overflow-style: none;
  scrollbar-width: none;
  /* Mask edges so scrolling content fades out at viewport edge */
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 16px,
    #000 calc(100% - 16px),
    transparent 100%
  );
          mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 16px,
    #000 calc(100% - 16px),
    transparent 100%
  );
}
.couture-tag-rail::-webkit-scrollbar {
  display: none;
}

.couture-tag-rail .ctr-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 999px;
  font: 500 12.5px/1.2 var(--c-body);
  letter-spacing: 0.005em;
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  background: transparent;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  flex: 0 0 auto;
  scroll-snap-align: start;
  transition: background .18s, color .18s, border-color .18s;
}
.couture-tag-rail .ctr-tag:hover {
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 75%, transparent);
}
.couture-tag-rail .ctr-tag:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* Active state (current category) */
.couture-tag-rail .ctr-tag.--active,
.couture-tag-rail .ctr-tag[aria-current="page"],
.couture-tag-rail .ctr-tag[aria-current="true"],
.couture-tag-rail .ctr-tag[data-active] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
  font-weight: 600;
}
.couture-tag-rail .ctr-tag.--active:hover,
.couture-tag-rail .ctr-tag[aria-current="page"]:hover {
  background: color-mix(in oklab, var(--c-ink) 88%, var(--c-paper));
  color: var(--c-paper);
}

/* Optional: count badge inside tag */
.couture-tag-rail .ctr-tag .ctr-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  font: 700 10px/1 var(--c-mono, var(--c-body));
  background: color-mix(in oklab, currentColor 18%, transparent);
  color: inherit;
  margin-left: 2px;
}

/* Optional: small leading dot for color-coded categories */
.couture-tag-rail .ctr-tag .ctr-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ctr-color, var(--c-accent));
  flex: 0 0 auto;
}

/* Variants via [data-tag-rail-style] */
/* Variant: minimal — text-only, underline on hover/active */
.couture-tag-rail[data-tag-rail-style="minimal"] .ctr-tag {
  background: none;
  border: 0;
  padding: 7px 4px;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  border-top: 2px solid transparent; /* keep height stable */
  font-weight: 500;
}
.couture-tag-rail[data-tag-rail-style="minimal"] .ctr-tag:hover,
.couture-tag-rail[data-tag-rail-style="minimal"] .ctr-tag.--active,
.couture-tag-rail[data-tag-rail-style="minimal"] .ctr-tag[aria-current="page"] {
  background: none;
  color: var(--c-ink);
  border-bottom-color: var(--c-accent);
}

/* Variant: accent — accent colored active state */
.couture-tag-rail[data-tag-rail-style="accent"] .ctr-tag.--active,
.couture-tag-rail[data-tag-rail-style="accent"] .ctr-tag[aria-current="page"] {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* Variant: bordered — solid border around the whole rail */
.couture-tag-rail[data-tag-rail-style="bordered"] {
  padding: 10px 14px;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 999px;
  -webkit-mask-image: none;
          mask-image: none;
}

/* Variant: divider — separators between tags */
.couture-tag-rail[data-tag-rail-style="divider"] {
  gap: 0;
}
.couture-tag-rail[data-tag-rail-style="divider"] .ctr-tag {
  border-radius: 0;
  border: 0;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  padding: 7px 16px;
}
.couture-tag-rail[data-tag-rail-style="divider"] .ctr-tag:last-child {
  border-right: 0;
}

/* Sticky mode (opt-in) — when used as page-level filter rail */
.couture-tag-rail[data-tag-rail-sticky="true"] {
  position: sticky;
  top: 0;
  z-index: 10;
  background: color-mix(in oklab, var(--c-paper) 95%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}

/* Sizes */
.couture-tag-rail[data-tag-rail-size="sm"] .ctr-tag {
  padding: 5px 10px;
  font-size: 11.5px;
}
.couture-tag-rail[data-tag-rail-size="lg"] .ctr-tag {
  padding: 9px 18px;
  font-size: 13.5px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-tag-rail {
    scroll-behavior: auto;
  }
  .couture-tag-rail .ctr-tag {
    transition: none;
  }
}

/* WS-VISIBLE-80 — text-wrap utilities (balance / pretty / nowrap) for
   editorial typography. text-wrap: balance distributes line lengths
   evenly across multi-line headings; text-wrap: pretty avoids orphans
   in body paragraphs. Modern browser support with graceful fallback.

   Usage:
     <h1 class="couture-balance">A long heading that wraps nicely</h1>
     <p class="couture-pretty">Long paragraph body text…</p>
     <span class="couture-nowrap">$1,234.56</span>
*/
.couture-balance {
  text-wrap: balance;
  /* Cap chars to make balance algorithm work better on huge headlines */
  text-wrap-style: balance;
  max-inline-size: 60ch;
}
.couture-balance[data-balance-width="narrow"] { max-inline-size: 32ch; }
.couture-balance[data-balance-width="med"]    { max-inline-size: 48ch; }
.couture-balance[data-balance-width="wide"]   { max-inline-size: 80ch; }
.couture-balance[data-balance-width="full"]   { max-inline-size: none; }

.couture-pretty {
  text-wrap: pretty;
  text-wrap-style: pretty;
}

.couture-nowrap {
  white-space: nowrap;
}

/* Avoid widow/orphan via simple :last-child trick — last word gets
   a non-breaking space prefix to glue the final two words together */
.couture-no-widow > p:last-of-type::before,
.couture-no-widow:not(p)::before {
  content: "";
}
/* Real implementation requires JS to insert &nbsp; — but provide a
   companion .ctw-glue utility for marked-up cases */
.ctw-glue {
  white-space: nowrap;
}

/* Auto-apply balance to common heading scopes (opt-in via parent) */
.couture-prose-balanced h1,
.couture-prose-balanced h2,
.couture-prose-balanced h3,
.couture-prose-balanced h4 {
  text-wrap: balance;
  text-wrap-style: balance;
}
.couture-prose-balanced p,
.couture-prose-balanced li,
.couture-prose-balanced blockquote {
  text-wrap: pretty;
  text-wrap-style: pretty;
}

/* Hyphenation control */
.couture-hyphenate {
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 7 3 3;
}
.couture-no-hyphenate {
  hyphens: none;
  -webkit-hyphens: none;
}

/* Optical sizing for variable fonts (subtle but elegant) */
.couture-optical-large {
  font-optical-sizing: auto;
  font-variation-settings: "opsz" 36;
}
.couture-optical-display {
  font-optical-sizing: auto;
  font-variation-settings: "opsz" 72;
}

/* Text-decoration polish: better underline distance & thickness */
.couture-link-polish,
[data-link-polish] {
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
}

/* Initial-letter (true CSS feature, behind partial support flag) */
.couture-initial-letter {
  initial-letter: 3 2;
  -webkit-initial-letter: 3 2;
}

/* Italics tracking — slightly looser tracking on italic blocks */
.couture-prose i,
.couture-prose em,
.couture-prose-balanced i,
.couture-prose-balanced em {
  letter-spacing: 0.005em;
}

/* Smart-quote styling: differentiate ' " from straight quotes */
.couture-smartquotes {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/* Number alignment: tabular-nums for tables and stat displays */
.couture-tabular,
[data-tabular="true"] {
  font-variant-numeric: tabular-nums;
}
.couture-oldstyle,
[data-numeric="oldstyle"] {
  font-variant-numeric: oldstyle-nums;
}
.couture-lining,
[data-numeric="lining"] {
  font-variant-numeric: lining-nums;
}

/* Small-caps */
.couture-smallcaps,
[data-typo="smallcaps"] {
  font-variant-caps: all-small-caps;
  letter-spacing: 0.04em;
}

/* WS-VISIBLE-81 — aspect-ratio media gallery / mosaic utility.
   Editorial gallery grid with mixed aspect ratios using grid template
   areas + per-cell aspect-ratio. CSS-only mosaic without JS masonry.

   Usage:
     <div class="couture-mosaic" data-mosaic="3-up">
       <a class="cm-cell --tall"><img src="…"></a>
       <a class="cm-cell"><img src="…"></a>
       <a class="cm-cell --wide"><img src="…"></a>
       <a class="cm-cell"><img src="…"></a>
       <a class="cm-cell --feature"><img src="…"></a>
     </div>
*/
.couture-mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(8px, 1.2vw, 16px);
  margin: clamp(28px, 4vw, 56px) 0;
}
.couture-mosaic .cm-cell {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 6px;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
  aspect-ratio: 4 / 5;
  text-decoration: none;
}
.couture-mosaic .cm-cell > img,
.couture-mosaic .cm-cell > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
}
.couture-mosaic .cm-cell:hover > img,
.couture-mosaic .cm-cell:focus-within > img {
  transform: scale(1.04);
}
.couture-mosaic .cm-cell:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}

/* Cell modifiers — span columns/rows for mosaic effect */
.couture-mosaic .cm-cell.--wide,
.couture-mosaic .cm-cell[data-cell="wide"] {
  grid-column: span 2;
  aspect-ratio: 8 / 5;
}
.couture-mosaic .cm-cell.--tall,
.couture-mosaic .cm-cell[data-cell="tall"] {
  grid-row: span 2;
  aspect-ratio: 4 / 9;
}
.couture-mosaic .cm-cell.--feature,
.couture-mosaic .cm-cell[data-cell="feature"] {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: 1 / 1;
}
.couture-mosaic .cm-cell.--square,
.couture-mosaic .cm-cell[data-cell="square"] {
  aspect-ratio: 1 / 1;
}

/* Layout variants via [data-mosaic] */
/* 2-column mosaic */
.couture-mosaic[data-mosaic="2-up"] {
  grid-template-columns: repeat(2, 1fr);
}
/* 4-column dense mosaic */
.couture-mosaic[data-mosaic="4-up"] {
  grid-template-columns: repeat(4, 1fr);
}
/* Auto-fill at minmax */
.couture-mosaic[data-mosaic="auto"] {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
/* 6-column ultra-dense */
.couture-mosaic[data-mosaic="6-up"] {
  grid-template-columns: repeat(6, 1fr);
}
/* Asymmetric 1-2-1 layout (hero left, two stacked center, one right) */
.couture-mosaic[data-mosaic="asym"] {
  grid-template-columns: 2fr 1fr 1fr;
}
.couture-mosaic[data-mosaic="asym"] .cm-cell:nth-child(1) {
  grid-row: span 2;
  aspect-ratio: 4 / 5;
}

/* Caption overlay (uses photo-card semantic) — opt-in */
.couture-mosaic .cm-cell .cm-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 14px;
  z-index: 2;
  color: var(--c-paper);
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.78) 0%,
    rgba(0,0,0,0.36) 60%,
    transparent 100%
  );
  font: 600 12px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transform: translateY(10%);
  opacity: 0;
  transition: transform .35s ease, opacity .35s ease;
}
.couture-mosaic .cm-cell:hover .cm-caption,
.couture-mosaic .cm-cell:focus-within .cm-caption {
  transform: translateY(0);
  opacity: 1;
}

/* Tonal hover overlay — entire cell tints on hover */
.couture-mosaic .cm-cell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in oklab, var(--c-ink) 0%, transparent);
  transition: background .35s ease;
  pointer-events: none;
  z-index: 1;
}
.couture-mosaic .cm-cell:hover::after,
.couture-mosaic .cm-cell:focus-within::after {
  background: color-mix(in oklab, var(--c-ink) 8%, transparent);
}

/* Uniform style (all cells same aspect — no spans, classic grid) */
.couture-mosaic[data-mosaic-uniform="true"] .cm-cell {
  grid-column: auto !important;
  grid-row: auto !important;
  aspect-ratio: 1 / 1;
}
.couture-mosaic[data-mosaic-uniform="4-5"] .cm-cell {
  grid-column: auto !important;
  grid-row: auto !important;
  aspect-ratio: 4 / 5;
}

/* Mobile: collapse to 2-col on narrow viewports */
@media (max-width: 720px) {
  .couture-mosaic,
  .couture-mosaic[data-mosaic="3-up"],
  .couture-mosaic[data-mosaic="4-up"],
  .couture-mosaic[data-mosaic="6-up"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .couture-mosaic[data-mosaic="asym"] {
    grid-template-columns: 1fr 1fr;
  }
  .couture-mosaic .cm-cell.--feature {
    grid-column: span 2;
    aspect-ratio: 4 / 3;
  }
  .couture-mosaic .cm-cell.--wide {
    grid-column: span 2;
    aspect-ratio: 16 / 9;
  }
  .couture-mosaic .cm-cell.--tall {
    grid-row: auto;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 480px) {
  .couture-mosaic,
  .couture-mosaic[data-mosaic="3-up"],
  .couture-mosaic[data-mosaic="4-up"],
  .couture-mosaic[data-mosaic="6-up"],
  .couture-mosaic[data-mosaic="asym"] {
    grid-template-columns: 1fr;
  }
  .couture-mosaic .cm-cell.--feature,
  .couture-mosaic .cm-cell.--wide,
  .couture-mosaic .cm-cell.--tall {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 4 / 5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-mosaic .cm-cell > img,
  .couture-mosaic .cm-cell .cm-caption,
  .couture-mosaic .cm-cell::after {
    transition: none;
  }
  .couture-mosaic .cm-cell:hover > img {
    transform: none;
  }
  .couture-mosaic .cm-cell .cm-caption {
    transform: none;
    opacity: 1;
  }
}

/* WS-VISIBLE-82 — generic frosted-glass surface utility.
   Distinct from existing .couture-glass-card / .couture-glass-callout
   (specific composed cards). This is the unscoped surface treatment
   utility — drop on any element to give it the frosted-glass effect.

   Usage: <div class="couture-glass">…</div>

   Variants via [data-glass]: subtle (default), strong (denser blur),
   tinted (accent color tint), ink (dark glass), edge (only top edge
   highlight). */
.couture-glass {
  background: color-mix(in oklab, var(--c-paper) 60%, transparent);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  border: 1px solid color-mix(in oklab, var(--c-paper) 30%, transparent);
  border-radius: 12px;
  box-shadow:
    inset 0 1px 0 color-mix(in oklab, var(--c-paper) 60%, transparent),
    0 16px 32px -16px rgba(0,0,0,0.18);
}

/* Variant: strong — heavier blur and tint */
.couture-glass[data-glass="strong"] {
  background: color-mix(in oklab, var(--c-paper) 78%, transparent);
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
}

/* Variant: subtle — barely-there glass for layering on light bg */
.couture-glass[data-glass="subtle"] {
  background: color-mix(in oklab, var(--c-paper) 40%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Variant: tinted — accent-tinted glass */
.couture-glass[data-glass="tinted"] {
  background:
    linear-gradient(135deg,
      color-mix(in oklab, var(--c-accent) 18%, transparent) 0%,
      color-mix(in oklab, var(--c-accent) 6%, transparent) 100%),
    color-mix(in oklab, var(--c-paper) 45%, transparent);
  border-color: color-mix(in oklab, var(--c-accent) 28%, transparent);
}

/* Variant: ink — dark glass (for use on light hero images) */
.couture-glass[data-glass="ink"] {
  background: color-mix(in oklab, var(--c-ink) 75%, transparent);
  color: var(--c-paper);
  border-color: color-mix(in oklab, var(--c-paper) 12%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in oklab, var(--c-paper) 18%, transparent),
    0 16px 32px -16px rgba(0,0,0,0.4);
}

/* Variant: edge — minimal: only top-edge highlight, no fill */
.couture-glass[data-glass="edge"] {
  background: transparent;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 0;
  border-top: 1px solid color-mix(in oklab, var(--c-paper) 50%, transparent);
  border-radius: 0;
  box-shadow: none;
}

/* Variant: floating — adds prominent shadow + lift */
.couture-glass[data-glass-shadow="floating"] {
  box-shadow:
    inset 0 1px 0 color-mix(in oklab, var(--c-paper) 60%, transparent),
    0 32px 64px -28px rgba(0,0,0,0.32),
    0 8px 16px -8px rgba(0,0,0,0.12);
}

/* Reflection variant — adds top half-glow inner highlight */
.couture-glass[data-glass-reflection="true"] {
  position: relative;
  overflow: hidden;
}
.couture-glass[data-glass-reflection="true"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(
    to bottom,
    color-mix(in oklab, var(--c-paper) 14%, transparent) 0%,
    transparent 100%
  );
  pointer-events: none;
  border-radius: inherit;
}

/* Companion: .couture-glass-pill — small pill-shape glass element */
.couture-glass-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 60%, transparent);
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
  border: 1px solid color-mix(in oklab, var(--c-paper) 30%, transparent);
  font: 500 12.5px/1.2 var(--c-body);
  color: var(--c-ink);
  box-shadow:
    inset 0 1px 0 color-mix(in oklab, var(--c-paper) 60%, transparent),
    0 8px 16px -8px rgba(0,0,0,0.15);
}

/* Fallback for browsers without backdrop-filter — solid bg */
@supports not (backdrop-filter: blur(1px)) {
  .couture-glass,
  .couture-glass-pill {
    background: color-mix(in oklab, var(--c-paper) 92%, var(--c-ink));
  }
  .couture-glass[data-glass="ink"] {
    background: color-mix(in oklab, var(--c-ink) 92%, var(--c-paper));
  }
}

/* Hover lift modifier */
.couture-glass[data-glass-hover="lift"] {
  transition: transform .25s ease, box-shadow .25s ease;
}
.couture-glass[data-glass-hover="lift"]:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 color-mix(in oklab, var(--c-paper) 60%, transparent),
    0 24px 40px -20px rgba(0,0,0,0.25);
}

@media (prefers-reduced-motion: reduce) {
  .couture-glass[data-glass-hover="lift"] {
    transition: none;
  }
  .couture-glass[data-glass-hover="lift"]:hover {
    transform: none;
  }
}

/* WS-VISIBLE-83 — multi-tone gradient overlay utility for hero images.
   Distinct from existing .couture-overlay-card-cta (composed CTA card).
   This is a generic overlay layer added via ::after on a parent or as
   a standalone wrapper. Use to legibly compose text over images.

   Usage (wrapper):
     <div class="couture-overlay-wrap" data-overlay="bottom-up">
       <img src="…" alt="">
       <div class="cov-content">…</div>
     </div>

   Or apply directly via .couture-overlay class on an existing parent
   (parent must be position:relative). */
.couture-overlay-wrap {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
}
.couture-overlay-wrap > img,
.couture-overlay-wrap > picture > img,
.couture-overlay-wrap > video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.couture-overlay-wrap .cov-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(16px, 3vw, 32px);
  color: var(--c-paper);
}

/* Generic overlay — drop on any position:relative parent */
.couture-overlay-wrap::after,
.couture-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  /* Default: bottom-up dark gradient */
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.72) 0%,
    rgba(0,0,0,0.32) 50%,
    transparent 100%
  );
}
.couture-overlay {
  position: relative;
  isolation: isolate;
}

/* Variant: bottom-up (default explicit) */
.couture-overlay-wrap[data-overlay="bottom-up"]::after,
.couture-overlay[data-overlay="bottom-up"]::after {
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.72) 0%,
    rgba(0,0,0,0.32) 50%,
    transparent 100%
  );
}

/* Variant: top-down — gradient from top */
.couture-overlay-wrap[data-overlay="top-down"]::after,
.couture-overlay[data-overlay="top-down"]::after {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.2) 50%,
    transparent 100%
  );
}

/* Variant: vignette — radial darkening from center */
.couture-overlay-wrap[data-overlay="vignette"]::after,
.couture-overlay[data-overlay="vignette"]::after {
  background: radial-gradient(
    ellipse at center,
    transparent 30%,
    rgba(0,0,0,0.45) 100%
  );
}

/* Variant: spotlight — brighten center, darken edges (focus-pull) */
.couture-overlay-wrap[data-overlay="spotlight"]::after,
.couture-overlay[data-overlay="spotlight"]::after {
  background: radial-gradient(
    circle at 50% 40%,
    rgba(255,255,255,0.16) 0%,
    transparent 35%,
    rgba(0,0,0,0.5) 100%
  );
}

/* Variant: even — full uniform tint */
.couture-overlay-wrap[data-overlay="even"]::after,
.couture-overlay[data-overlay="even"]::after {
  background: rgba(0,0,0,0.36);
}

/* Variant: accent — accent-color tinted */
.couture-overlay-wrap[data-overlay="accent"]::after,
.couture-overlay[data-overlay="accent"]::after {
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent) 50%, transparent) 0%,
    color-mix(in oklab, var(--c-ink) 70%, transparent) 100%
  );
}

/* Variant: editorial — soft cinematic top + bottom gradient (frame look) */
.couture-overlay-wrap[data-overlay="editorial"]::after,
.couture-overlay[data-overlay="editorial"]::after {
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.4) 0%, transparent 25%),
    linear-gradient(to top,    rgba(0,0,0,0.55) 0%, transparent 35%);
}

/* Variant: sunrise — warm color wash */
.couture-overlay-wrap[data-overlay="sunrise"]::after,
.couture-overlay[data-overlay="sunrise"]::after {
  background: linear-gradient(
    160deg,
    rgba(255, 200, 130, 0.28) 0%,
    rgba(220, 80, 60, 0.18) 60%,
    rgba(0,0,0,0.55) 100%
  );
}

/* Variant: dusk — cool blue-purple wash */
.couture-overlay-wrap[data-overlay="dusk"]::after,
.couture-overlay[data-overlay="dusk"]::after {
  background: linear-gradient(
    200deg,
    rgba(80, 100, 180, 0.28) 0%,
    rgba(40, 30, 80, 0.42) 60%,
    rgba(0,0,0,0.6) 100%
  );
}

/* Variant: mono — desaturating overlay (sepia-ish neutral) */
.couture-overlay-wrap[data-overlay="mono"] > img,
.couture-overlay-wrap[data-overlay="mono"] > picture > img,
.couture-overlay-wrap[data-overlay="mono"] > video {
  filter: grayscale(0.85) contrast(1.05);
}
.couture-overlay-wrap[data-overlay="mono"]::after,
.couture-overlay[data-overlay="mono"]::after {
  background: linear-gradient(
    to top,
    rgba(20,15,10,0.72) 0%,
    rgba(20,15,10,0.18) 60%,
    transparent 100%
  );
  mix-blend-mode: multiply;
}

/* Strength modifier — overall opacity dial */
.couture-overlay-wrap[data-overlay-strength="light"]::after,
.couture-overlay[data-overlay-strength="light"]::after {
  opacity: 0.5;
}
.couture-overlay-wrap[data-overlay-strength="strong"]::after,
.couture-overlay[data-overlay-strength="strong"]::after {
  opacity: 1;
  filter: brightness(1.2);
}

/* Hover-fade — overlay fades on hover (revealing image more) */
.couture-overlay-wrap[data-overlay-hover="fade"]::after,
.couture-overlay[data-overlay-hover="fade"]::after {
  transition: opacity .35s ease;
}
.couture-overlay-wrap[data-overlay-hover="fade"]:hover::after,
.couture-overlay[data-overlay-hover="fade"]:hover::after {
  opacity: 0.4;
}

/* Variant: split — diagonal gradient half-and-half */
.couture-overlay-wrap[data-overlay="split"]::after,
.couture-overlay[data-overlay="split"]::after {
  background: linear-gradient(
    115deg,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.55) 49%,
    transparent 51%,
    transparent 100%
  );
}

/* Content alignment helpers for .cov-content */
.couture-overlay-wrap[data-cov-align="center"] .cov-content {
  justify-content: center;
  text-align: center;
  align-items: center;
}
.couture-overlay-wrap[data-cov-align="top"] .cov-content {
  justify-content: flex-start;
}
.couture-overlay-wrap[data-cov-align="top-center"] .cov-content {
  justify-content: flex-start;
  text-align: center;
  align-items: center;
}
.couture-overlay-wrap[data-cov-align="bottom-center"] .cov-content {
  justify-content: flex-end;
  text-align: center;
  align-items: center;
}

@media (prefers-reduced-motion: reduce) {
  .couture-overlay-wrap[data-overlay-hover="fade"]::after,
  .couture-overlay[data-overlay-hover="fade"]::after {
    transition: none;
  }
  .couture-overlay-wrap[data-overlay-hover="fade"]:hover::after,
  .couture-overlay[data-overlay-hover="fade"]:hover::after {
    opacity: 1;
  }
}

/* WS-VISIBLE-84 — speech-bubble caption utility (testimonial / chat).
   For inline testimonial bubbles, founder notes, chat-style content
   ("As Maria says: …" with a tail pointing to her avatar).

   Usage:
     <div class="couture-bubble">
       <p>"Hand-thrown in our Lisbon studio, every piece bears its
       maker's mark."</p>
     </div>

   Variants via [data-bubble]: round (default soft round), square
   (sharp corners), pill (rounded ends), thought (dotted, with thought
   bubbles), tag (asymmetric tag-shaped). Tail position via
   [data-bubble-tail]: bottom-left (default), bottom-right, top-left,
   top-right, none. */
.couture-bubble {
  position: relative;
  display: inline-block;
  max-width: 36ch;
  padding: 14px 18px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 18px;
  box-shadow: 0 8px 20px -10px rgba(0,0,0,0.12);
  font: 400 14.5px/1.55 var(--c-body);
  margin-bottom: 18px; /* room for tail */
}
.couture-bubble > p {
  margin: 0;
}
.couture-bubble > p + p {
  margin-top: 0.6em;
}

/* Tail — diamond rotated to look like pointer */
.couture-bubble::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background: var(--c-paper);
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  bottom: -7px;
  left: 24px;
  transform: rotate(45deg);
}
.couture-bubble[data-bubble-tail="bottom-right"]::after {
  left: auto;
  right: 24px;
}
.couture-bubble[data-bubble-tail="top-left"]::after {
  bottom: auto;
  top: -7px;
  left: 24px;
  border: 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-bubble[data-bubble-tail="top-right"]::after {
  bottom: auto;
  top: -7px;
  left: auto;
  right: 24px;
  border: 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-left: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-bubble[data-bubble-tail="none"]::after {
  display: none;
}

/* Variant: square — sharp corners */
.couture-bubble[data-bubble="square"] {
  border-radius: 4px;
}

/* Variant: pill — rounded ends */
.couture-bubble[data-bubble="pill"] {
  border-radius: 999px;
  padding: 12px 22px;
}
.couture-bubble[data-bubble="pill"]::after {
  display: none;
}

/* Variant: thought — dotted border + small floating thought bubbles */
.couture-bubble[data-bubble="thought"] {
  border-style: dashed;
  border-radius: 24px;
  margin-bottom: 32px;
}
.couture-bubble[data-bubble="thought"]::after {
  border: 1px dashed color-mix(in oklab, var(--c-line) 70%, transparent);
  background: var(--c-paper);
  border-top: 0;
  border-left: 0;
  width: 12px;
  height: 12px;
  bottom: -6px;
  border-radius: 50%;
  transform: rotate(0);
}
.couture-bubble[data-bubble="thought"]::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  background: var(--c-paper);
  border: 1px dashed color-mix(in oklab, var(--c-line) 70%, transparent);
  border-radius: 50%;
  left: 16px;
  bottom: -16px;
}

/* Variant: tag — asymmetric tag/notch shape */
.couture-bubble[data-bubble="tag"] {
  border-radius: 6px 18px 18px 6px;
  padding-left: 26px;
}
.couture-bubble[data-bubble="tag"]::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 8px;
  height: 8px;
  background: var(--c-accent);
  border-radius: 50%;
  transform: translateY(-50%);
}

/* Tone modifiers */
.couture-bubble[data-bubble-tone="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-bubble[data-bubble-tone="ink"]::after {
  background: var(--c-ink);
  border-color: transparent;
}
.couture-bubble[data-bubble-tone="accent"] {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 28%, transparent);
}
.couture-bubble[data-bubble-tone="accent"]::after {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 28%, transparent);
}

/* Sizes */
.couture-bubble[data-bubble-size="sm"] {
  padding: 10px 14px;
  font-size: 13px;
  border-radius: 14px;
}
.couture-bubble[data-bubble-size="lg"] {
  padding: 18px 24px;
  font-size: 16px;
  max-width: 48ch;
}

/* Companion: side-paired with avatar (use grid wrapper) */
.couture-bubble-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: end;
  margin: clamp(16px, 2vw, 24px) 0;
}
.couture-bubble-row[data-bubble-row="reverse"] {
  grid-template-columns: 1fr auto;
}
.couture-bubble-row[data-bubble-row="reverse"] .couture-bubble {
  order: 1;
  text-align: right;
}
.couture-bubble-row[data-bubble-row="reverse"] .cbr-avatar {
  order: 2;
}
.couture-bubble-row .cbr-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent) 35%, var(--c-paper)) 0%,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 100%
  );
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  overflow: hidden;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 14px/1 var(--c-mono, var(--c-body));
  color: var(--c-paper);
}
.couture-bubble-row .cbr-avatar > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* WS-VISIBLE-85 — generic inline stamp / seal utility.
   Distinct from existing .couture-seal (fixed-positioned page-corner
   wax/oval mark). This is for inline decorative stamps: "Verified",
   "Authenticated", "Edition 003 / 100", date stamps, etc.

   Usage:
     <span class="couture-stamp">Verified</span>
     <span class="couture-stamp" data-stamp="oval">Authentic 2026</span>
     <span class="couture-stamp" data-stamp="wax">★</span>
*/
.couture-stamp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  font: 700 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #b91c1c;
  border: 2px solid currentColor;
  border-radius: 4px;
  background: transparent;
  text-align: center;
  /* Subtle distress (faint inner highlight) */
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.2);
  vertical-align: middle;
  /* Subtle rotation for hand-stamped feel */
  transform: rotate(-3deg);
  white-space: nowrap;
  position: relative;
}

/* Variant: oval — rounded oval */
.couture-stamp[data-stamp="oval"] {
  border-radius: 999px;
  padding: 8px 18px;
}

/* Variant: square — sharp corners, more "official" feel */
.couture-stamp[data-stamp="square"] {
  border-radius: 0;
  border-width: 2.5px;
  padding: 7px 16px;
}

/* Variant: double — outer ring + inner outline */
.couture-stamp[data-stamp="double"] {
  border-radius: 999px;
  padding: 10px 22px;
  box-shadow:
    inset 0 0 0 2px var(--c-paper),
    inset 0 0 0 4px currentColor;
  border: 0;
}

/* Variant: wax — circular wax-seal style with notched edge */
.couture-stamp[data-stamp="wax"] {
  width: 60px;
  height: 60px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 12px/1 var(--c-display, var(--c-body));
  letter-spacing: 0.05em;
  text-transform: none;
  transform: rotate(-8deg);
  box-shadow:
    0 4px 12px rgba(0,0,0,0.18),
    inset 0 -3px 4px rgba(0,0,0,0.18),
    inset 0 3px 4px rgba(255,255,255,0.18);
  /* Notched scalloped edge (decorative) */
  clip-path: polygon(
    50% 0,    61% 8%,  75% 4%,  82% 18%, 96% 25%,
    93% 42%,  100% 50%, 93% 58%, 96% 75%, 82% 82%,
    75% 96%,  61% 92%, 50% 100%, 39% 92%, 25% 96%,
    18% 82%,  4% 75%,  7% 58%,  0 50%,   7% 42%,
    4% 25%,   18% 18%, 25% 4%,  39% 8%
  );
}

/* Variant: ornate — circular bordered with dotted inner ring */
.couture-stamp[data-stamp="ornate"] {
  width: 68px;
  height: 68px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid currentColor;
  font-size: 9px;
  line-height: 1.15;
  letter-spacing: 0.08em;
  flex-direction: column;
  text-align: center;
  background: var(--c-paper);
  position: relative;
}
.couture-stamp[data-stamp="ornate"]::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px dashed currentColor;
  border-radius: 50%;
  pointer-events: none;
}

/* Variant: number-edition — formatted as "EDITION 003 / 100" */
.couture-stamp[data-stamp="edition"] {
  flex-direction: column;
  gap: 2px;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 10px;
  background: var(--c-paper);
}
.couture-stamp[data-stamp="edition"] .cs-num {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.04em;
  font-family: var(--c-display, var(--c-body));
  text-transform: none;
}

/* Tones */
.couture-stamp[data-stamp-tone="ink"] {
  color: var(--c-ink);
}
.couture-stamp[data-stamp-tone="accent"] {
  color: var(--c-accent);
}
.couture-stamp[data-stamp-tone="green"] {
  color: #16a34a;
}
.couture-stamp[data-stamp-tone="navy"] {
  color: #1e3a8a;
}
.couture-stamp[data-stamp-tone="paper"] {
  color: var(--c-paper);
  border-color: var(--c-paper);
}

/* Background-fill modifier (for solid stamps) */
.couture-stamp[data-stamp-fill="true"] {
  background: currentColor;
  color: var(--c-paper);
}
.couture-stamp[data-stamp-fill="true"][data-stamp-tone="paper"] {
  background: var(--c-paper);
  color: var(--c-ink);
}

/* Tilt overrides */
.couture-stamp[data-stamp-tilt="straight"]   { transform: rotate(0); }
.couture-stamp[data-stamp-tilt="left"]       { transform: rotate(-6deg); }
.couture-stamp[data-stamp-tilt="right"]      { transform: rotate(6deg); }
.couture-stamp[data-stamp-tilt="extreme"]    { transform: rotate(-14deg); }

/* Sizes */
.couture-stamp[data-stamp-size="sm"] {
  padding: 4px 10px;
  font-size: 9.5px;
}
.couture-stamp[data-stamp-size="lg"] {
  padding: 10px 22px;
  font-size: 13px;
  border-width: 2.5px;
}

/* Distress effect — subtle blur + opacity for vintage feel */
.couture-stamp[data-stamp-distress="true"] {
  filter: blur(0.25px);
  opacity: 0.86;
  /* Use a clip-path mask for jagged edges if desired in future */
}

/* Hover wiggle (opt-in) */
@keyframes ws-stamp-wiggle {
  0%, 100% { transform: rotate(var(--cs-rot, -3deg)); }
  50%      { transform: rotate(calc(var(--cs-rot, -3deg) + 3deg)); }
}
.couture-stamp[data-stamp-anim="wiggle"] {
  --cs-rot: -3deg;
  animation: ws-stamp-wiggle 2.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .couture-stamp[data-stamp-anim="wiggle"] {
    animation: none;
  }
}

/* WS-VISIBLE-86 — animated drawn-in divider rule (scroll-triggered).
   Distinct from existing decorated <hr> variants (WS-VISIBLE-33 static
   styles). This is a wider divider container that animates the rule
   drawing in left-to-right (or center-out) on scroll-into-view via
   .--in class (added by IntersectionObserver) OR scroll-timeline.

   Usage:
     <div class="couture-rule-draw"></div>
     <div class="couture-rule-draw" data-rule-style="center-out"></div>
*/
.couture-rule-draw {
  display: block;
  width: 100%;
  height: 1px;
  margin: clamp(36px, 6vw, 72px) auto;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
  position: relative;
  /* Initial state: scaled to 0; animates to 1 via .--in or scroll */
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform 1.1s cubic-bezier(.65,.05,.35,1);
  max-width: 100%;
}

/* Triggered state */
.couture-rule-draw.--in {
  transform: scaleX(1);
}

/* Variant: center-out — grows from middle outward */
.couture-rule-draw[data-rule-style="center-out"] {
  transform-origin: 50% 50%;
}

/* Variant: right-in — grows from right to left */
.couture-rule-draw[data-rule-style="right-in"] {
  transform-origin: 100% 50%;
}

/* Variant: thick — heavier rule */
.couture-rule-draw[data-rule-style="thick"] {
  height: 3px;
  background: var(--c-ink);
}

/* Variant: accent — accent color */
.couture-rule-draw[data-rule-style="accent"] {
  background: var(--c-accent);
  height: 2px;
}

/* Variant: gradient — fades at both ends */
.couture-rule-draw[data-rule-style="gradient"] {
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    color-mix(in oklab, var(--c-ink) 50%, transparent) 50%,
    transparent 100%
  );
}

/* Variant: dotted — animates dotted rule fade-in */
.couture-rule-draw[data-rule-style="dotted"] {
  height: 4px;
  background: none;
  background-image: radial-gradient(
    circle,
    color-mix(in oklab, var(--c-ink) 50%, transparent) 0 1.5px,
    transparent 2px
  );
  background-size: 12px 4px;
  background-repeat: repeat-x;
  background-position: center;
}

/* Variant: dot-pulse — single dot grows then sweeps line out from it */
.couture-rule-draw[data-rule-style="dot-pulse"] {
  background: none;
  height: 7px;
  position: relative;
  transform: none;
}
.couture-rule-draw[data-rule-style="dot-pulse"]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-accent);
  transform: translate(-50%, -50%) scale(0);
  transition: transform .4s cubic-bezier(.34, 1.56, .64, 1);
}
.couture-rule-draw[data-rule-style="dot-pulse"]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0%;
  height: 1px;
  margin-top: -0.5px;
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
  transform: translateX(-50%);
  transition: width .9s cubic-bezier(.65,.05,.35,1) .3s;
}
.couture-rule-draw[data-rule-style="dot-pulse"].--in::before {
  transform: translate(-50%, -50%) scale(1);
}
.couture-rule-draw[data-rule-style="dot-pulse"].--in::after {
  width: 100%;
}

/* Width modifiers */
.couture-rule-draw[data-rule-width="narrow"] { max-width: clamp(60px, 10vw, 140px); }
.couture-rule-draw[data-rule-width="med"]    { max-width: clamp(180px, 28vw, 360px); }
.couture-rule-draw[data-rule-width="wide"]   { max-width: clamp(360px, 50vw, 720px); }

/* Auto-trigger via scroll-timeline (modern browsers); falls back to
   waiting for .--in class on older */
@supports (animation-timeline: view()) {
  .couture-rule-draw[data-rule-trigger="scroll"] {
    transform: scaleX(0);
    animation: ws-rule-draw 1s linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
    transition: none;
  }
  .couture-rule-draw[data-rule-trigger="scroll"][data-rule-style="center-out"] {
    transform-origin: 50% 50%;
  }
  @keyframes ws-rule-draw {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
  }
}

/* Companion: with text label inside the rule (wraps a span) */
.couture-rule-draw-labeled {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: clamp(36px, 6vw, 72px) 0;
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}
.couture-rule-draw-labeled::before,
.couture-rule-draw-labeled::after {
  content: "";
  flex: 1;
  height: 1px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.65,.05,.35,1);
}
.couture-rule-draw-labeled::before {
  transform-origin: 100% 50%;
}
.couture-rule-draw-labeled::after {
  transform-origin: 0 50%;
}
.couture-rule-draw-labeled.--in::before,
.couture-rule-draw-labeled.--in::after {
  transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
  .couture-rule-draw,
  .couture-rule-draw[data-rule-trigger="scroll"],
  .couture-rule-draw[data-rule-style="dot-pulse"]::before,
  .couture-rule-draw[data-rule-style="dot-pulse"]::after,
  .couture-rule-draw-labeled::before,
  .couture-rule-draw-labeled::after {
    transition: none !important;
    animation: none !important;
    transform: scaleX(1);
  }
  .couture-rule-draw[data-rule-style="dot-pulse"]::before {
    transform: translate(-50%, -50%) scale(1);
  }
  .couture-rule-draw[data-rule-style="dot-pulse"]::after {
    width: 100%;
  }
}

/* WS-VISIBLE-87 — service-points icon trio (free shipping / returns /
   warranty / etc). Compact 3-up grid for product page footers, cart
   reassurance strips, or above-fold trust rows. Distinct from existing
   .couture-meta-icons (compact inline strip) and .couture-trust-row
   (full feature card).

   Usage:
     <div class="couture-service-trio">
       <div class="cst-cell">
         <span class="cst-glyph" data-cst-glyph="truck"></span>
         <strong class="cst-title">Free shipping</strong>
         <span class="cst-sub">Orders over $100</span>
       </div>
       <div class="cst-cell">…</div>
       <div class="cst-cell">…</div>
     </div>
*/
.couture-service-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 2vw, 24px);
  padding: clamp(20px, 3vw, 32px) clamp(16px, 2vw, 24px);
  margin: clamp(28px, 4vw, 48px) 0;
  background: color-mix(in oklab, var(--c-ink) 4%, var(--c-paper));
  border-radius: 12px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

.couture-service-trio .cst-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  padding: 8px 12px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-service-trio .cst-cell:last-child {
  border-right: 0;
}

.couture-service-trio .cst-glyph {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 22%, transparent);
  color: var(--c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 4px;
  font-size: 0;
  flex: 0 0 auto;
}

/* Pure-CSS glyphs */
.couture-service-trio .cst-glyph[data-cst-glyph="truck"]::before {
  content: "";
  position: absolute;
  width: 12px; height: 9px;
  bottom: 11px; left: 8px;
  border: 1.5px solid currentColor;
  border-radius: 1.5px;
}
.couture-service-trio .cst-glyph[data-cst-glyph="truck"]::after {
  content: "";
  position: absolute;
  width: 8px; height: 9px;
  bottom: 11px; right: 8px;
  border: 1.5px solid currentColor;
  border-radius: 1.5px 4px 1.5px 1.5px;
}

.couture-service-trio .cst-glyph[data-cst-glyph="return"]::before {
  content: "";
  position: absolute;
  width: 16px; height: 16px;
  border: 1.5px solid currentColor;
  border-right: 0;
  border-bottom: 0;
  border-radius: 50% 0 0 0;
  top: 11px; left: 11px;
}
.couture-service-trio .cst-glyph[data-cst-glyph="return"]::after {
  content: "";
  position: absolute;
  width: 0; height: 0;
  top: 9px; left: 8px;
  border: 5px solid transparent;
  border-right-color: currentColor;
  border-top-color: currentColor;
}

.couture-service-trio .cst-glyph[data-cst-glyph="lock"]::before {
  content: "";
  position: absolute;
  width: 14px; height: 10px;
  bottom: 10px; left: 12px;
  border: 1.5px solid currentColor;
  border-radius: 2px;
}
.couture-service-trio .cst-glyph[data-cst-glyph="lock"]::after {
  content: "";
  position: absolute;
  width: 9px; height: 7px;
  top: 10px; left: 14.5px;
  border: 1.5px solid currentColor;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.couture-service-trio .cst-glyph[data-cst-glyph="leaf"]::before {
  content: "";
  position: absolute;
  width: 16px; height: 16px;
  top: 11px; left: 11px;
  border: 1.5px solid currentColor;
  border-radius: 0 100% 0 100%;
  transform: rotate(35deg);
}

.couture-service-trio .cst-glyph[data-cst-glyph="check"]::before {
  content: "";
  position: absolute;
  width: 14px; height: 8px;
  top: 12px; left: 12px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transform-origin: left top;
}

.couture-service-trio .cst-glyph[data-cst-glyph="shield"]::before {
  content: "";
  position: absolute;
  width: 16px; height: 19px;
  top: 9px; left: 11px;
  border: 1.5px solid currentColor;
  border-radius: 2px 2px 50% 50% / 2px 2px 100% 100%;
}

.couture-service-trio .cst-glyph[data-cst-glyph="hand"]::before {
  content: "";
  position: absolute;
  width: 16px; height: 14px;
  top: 12px; left: 11px;
  border: 1.5px solid currentColor;
  border-radius: 50% 50% 30% 30%;
}

.couture-service-trio .cst-glyph[data-cst-glyph="gift"]::before {
  content: "";
  position: absolute;
  width: 18px; height: 14px;
  bottom: 9px; left: 10px;
  border: 1.5px solid currentColor;
  border-radius: 0 0 1px 1px;
}
.couture-service-trio .cst-glyph[data-cst-glyph="gift"]::after {
  content: "";
  position: absolute;
  width: 0; height: 0;
  top: 11px; left: 50%;
  margin-left: -3px;
  border: 3px solid transparent;
  border-bottom-color: currentColor;
}

.couture-service-trio .cst-title {
  font: 700 13.5px/1.3 var(--c-display, var(--c-body));
  color: var(--c-ink);
  letter-spacing: -0.005em;
}

.couture-service-trio .cst-sub {
  font: 500 11.5px/1.4 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  max-width: 24ch;
}

/* Variants via [data-trio-style] */
/* Variant: minimal — no bg, no border, just spaced cells */
.couture-service-trio[data-trio-style="minimal"] {
  background: none;
  border: 0;
  padding: 0;
}

/* Variant: ink — dark background */
.couture-service-trio[data-trio-style="ink"] {
  background: var(--c-ink);
  border-color: transparent;
  color: var(--c-paper);
}
.couture-service-trio[data-trio-style="ink"] .cst-title {
  color: var(--c-paper);
}
.couture-service-trio[data-trio-style="ink"] .cst-sub {
  color: color-mix(in oklab, var(--c-paper) 65%, transparent);
}
.couture-service-trio[data-trio-style="ink"] .cst-cell {
  border-right-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
}
.couture-service-trio[data-trio-style="ink"] .cst-glyph {
  background: color-mix(in oklab, var(--c-paper) 12%, transparent);
  border-color: color-mix(in oklab, var(--c-paper) 22%, transparent);
  color: var(--c-paper);
}

/* Variant: bordered — heavier borders, no fill */
.couture-service-trio[data-trio-style="bordered"] {
  background: transparent;
  border: 1px solid var(--c-line);
  border-radius: 0;
}

/* Variant: row — single horizontal line, no bg, glyph inline left of text */
.couture-service-trio[data-trio-style="row"] {
  background: none;
  border: 0;
  padding: 16px 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-service-trio[data-trio-style="row"] .cst-cell {
  flex-direction: row;
  text-align: left;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
}
.couture-service-trio[data-trio-style="row"] .cst-glyph {
  width: 32px;
  height: 32px;
  margin-bottom: 0;
}
.couture-service-trio[data-trio-style="row"] .cst-cell > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Column count variants */
.couture-service-trio[data-trio-cols="2"] {
  grid-template-columns: repeat(2, 1fr);
}
.couture-service-trio[data-trio-cols="4"] {
  grid-template-columns: repeat(4, 1fr);
}

/* Mobile: collapse to single column or 2-up */
@media (max-width: 640px) {
  .couture-service-trio,
  .couture-service-trio[data-trio-cols="4"] {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .couture-service-trio .cst-cell {
    flex-direction: row;
    text-align: left;
    align-items: center;
    gap: 14px;
    padding: 12px 8px;
    border-right: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  }
  .couture-service-trio .cst-cell:last-child {
    border-bottom: 0;
  }
  .couture-service-trio .cst-glyph {
    margin-bottom: 0;
  }
  .couture-service-trio .cst-sub {
    max-width: none;
  }
}

/* WS-VISIBLE-88 — pull-aside annotation utility (marginalia / margin notes).
   Distinct from existing .couture-aside-layout (full grid layout). This
   is for inline small notes that float into the side margin of body text
   on wider viewports, collapse inline on narrow.

   Usage:
     <p>Long body paragraph…
       <span class="couture-margin-note">Note: see footer.</span>
       …continues here.
     </p>
*/
.couture-margin-note {
  display: block;
  margin: 8px 0;
  padding: 6px 10px 6px 12px;
  font: italic 400 12.5px/1.5 var(--c-display, var(--c-body));
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  border-left: 2px solid var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 4%, transparent);
}

/* On wide viewports: float into right margin */
@media (min-width: 1024px) {
  .couture-margin-note {
    float: right;
    clear: right;
    width: 220px;
    margin: 4px -240px 12px 16px;
    border-left: 0;
    border-top: 1px solid color-mix(in oklab, var(--c-accent) 40%, transparent);
    background: none;
    padding: 8px 0 0;
    font-size: 12px;
  }
  .couture-margin-note[data-margin-side="left"] {
    float: left;
    clear: left;
    margin: 4px 16px 12px -240px;
    text-align: right;
  }
}

/* Variants via [data-margin-style] */
.couture-margin-note[data-margin-style="callout"] {
  border-left-width: 3px;
  font-style: normal;
  font-weight: 600;
  font-family: var(--c-mono, var(--c-body));
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.couture-margin-note[data-margin-style="numbered"] {
  counter-increment: ws-mn-counter;
  position: relative;
  padding-left: 28px;
}
.couture-margin-note[data-margin-style="numbered"]::before {
  content: counter(ws-mn-counter, decimal-leading-zero);
  position: absolute;
  left: 4px;
  top: 6px;
  font: 700 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  color: var(--c-accent);
}
.couture-margin-note-scope {
  counter-reset: ws-mn-counter;
}

/* Variant: pin — small floating pin marker with dotted line connector */
.couture-margin-note[data-margin-style="pin"] {
  position: relative;
  border-left: 0;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 8px;
  padding: 8px 12px;
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.12);
  font-style: normal;
}
.couture-margin-note[data-margin-style="pin"]::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 12px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-accent);
  border: 2px solid var(--c-paper);
}

/* Variant: footnote-link — inline marker that opens hover-card */
.couture-margin-note-ref {
  display: inline-flex;
  align-items: baseline;
  vertical-align: 0.4em;
  font: 700 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: var(--c-accent);
  background: color-mix(in oklab, var(--c-accent) 14%, transparent);
  padding: 1px 5px;
  border-radius: 999px;
  text-decoration: none;
  margin: 0 1px;
  position: relative;
}
.couture-margin-note-ref::before {
  content: counter(ws-mn-counter, decimal-leading-zero);
}

/* Footnote dt/dd list at end of article */
.couture-footnotes {
  margin: clamp(28px, 4vw, 56px) 0 0;
  padding-top: clamp(14px, 2vw, 22px);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font-size: 12.5px;
  line-height: 1.55;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  counter-reset: ws-fn-counter;
}
.couture-footnotes ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.couture-footnotes li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 8px;
  counter-increment: ws-fn-counter;
}
.couture-footnotes li::before {
  content: counter(ws-fn-counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 2px;
  font: 700 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  color: var(--c-accent);
}

/* Sticky variant — stays visible as user scrolls past the paragraph */
@media (min-width: 1024px) {
  .couture-margin-note[data-margin-sticky="true"] {
    position: sticky;
    top: 100px;
  }
}

/* Tone modifiers */
.couture-margin-note[data-margin-tone="ink"] {
  border-left-color: var(--c-ink);
  background: color-mix(in oklab, var(--c-ink) 4%, transparent);
}
.couture-margin-note[data-margin-tone="muted"] {
  border-left-color: color-mix(in oklab, var(--c-line) 80%, transparent);
  background: none;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

/* WS-VISIBLE-89 — date-meta byline strip utility (article date + cat + read).
   Distinct from existing .couture-post-meta (avatar-led blog byline).
   This is the slim metadata strip for the top of articles: date · category
   · reading time, with optional time-ago format.

   Usage:
     <div class="couture-date-meta">
       <time class="cdm-date" datetime="2026-05-15">May 15, 2026</time>
       <span class="cdm-sep">·</span>
       <span class="cdm-cat">Notes from the studio</span>
       <span class="cdm-sep">·</span>
       <span class="cdm-read">7 min read</span>
     </div>
*/
.couture-date-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: clamp(8px, 1vw, 14px) 0;
  font: 500 12px/1.4 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-date-meta .cdm-date {
  font-weight: 600;
  color: var(--c-ink);
}
.couture-date-meta .cdm-cat {
  font-weight: 600;
  letter-spacing: 0.08em;
}
.couture-date-meta .cdm-cat a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}
.couture-date-meta .cdm-cat a:hover {
  color: var(--c-accent);
}
.couture-date-meta .cdm-read {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0.04em;
}
.couture-date-meta .cdm-read::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  flex: 0 0 auto;
  position: relative;
}
.couture-date-meta .cdm-read::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translate(-7px, 0px);
  margin-top: 2px;
}
.couture-date-meta .cdm-sep {
  color: color-mix(in oklab, var(--c-ink) 30%, transparent);
  user-select: none;
}
.couture-date-meta .cdm-author {
  font-weight: 600;
  color: var(--c-ink);
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--c-body);
  font-style: italic;
}

/* Variants via [data-date-meta-style] */
/* Variant: stacked — multi-line label/value pairs */
.couture-date-meta[data-date-meta-style="stacked"] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.couture-date-meta[data-date-meta-style="stacked"] .cdm-sep {
  display: none;
}
.couture-date-meta[data-date-meta-style="stacked"] > * {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

/* Variant: pill — each item in rounded pill */
.couture-date-meta[data-date-meta-style="pill"] .cdm-date,
.couture-date-meta[data-date-meta-style="pill"] .cdm-cat,
.couture-date-meta[data-date-meta-style="pill"] .cdm-read,
.couture-date-meta[data-date-meta-style="pill"] .cdm-author {
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-date-meta[data-date-meta-style="pill"] .cdm-sep {
  display: none;
}

/* Variant: divider — vertical separators between items (instead of dot) */
.couture-date-meta[data-date-meta-style="divider"] .cdm-sep {
  width: 1px;
  height: 12px;
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
  align-self: center;
}

/* Variant: minimal — no caps, lighter typography */
.couture-date-meta[data-date-meta-style="minimal"] {
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--c-body);
  font-weight: 400;
  font-size: 13px;
}
.couture-date-meta[data-date-meta-style="minimal"] .cdm-cat {
  font-weight: 500;
  letter-spacing: 0;
}

/* Variant: chip-cat — only the category gets accent chip styling */
.couture-date-meta[data-date-meta-style="chip-cat"] .cdm-cat {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-accent) 28%, transparent);
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-size: 10.5px;
}

/* Tone modifiers */
.couture-date-meta[data-date-meta-tone="paper"] {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}
.couture-date-meta[data-date-meta-tone="paper"] .cdm-date,
.couture-date-meta[data-date-meta-tone="paper"] .cdm-author {
  color: var(--c-paper);
}
.couture-date-meta[data-date-meta-tone="paper"] .cdm-sep {
  color: color-mix(in oklab, var(--c-paper) 35%, transparent);
}

/* Centered alignment for hero-bottom usage */
.couture-date-meta[data-date-meta-align="center"] {
  justify-content: center;
  text-align: center;
}

/* Sizes */
.couture-date-meta[data-date-meta-size="sm"] {
  font-size: 10.5px;
  gap: 6px;
}
.couture-date-meta[data-date-meta-size="lg"] {
  font-size: 13px;
  gap: 12px;
}

/* WS-VISIBLE-90 — quick-look button overlay (product-tile quick view).
   For product card hover state showing a "+ Quick view" button on top
   of the image. Drop on a position:relative parent with .couture-quick-look
   wrapper, or as standalone .cql-btn floating element.

   Usage:
     <article class="cql-anchor">
       <img src="…" alt="">
       <button class="couture-quick-look">Quick view</button>
     </article>
*/
.cql-anchor,
.couture-quick-look-anchor {
  position: relative;
  isolation: isolate;
}

.couture-quick-look {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%) translateY(8px);
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border-radius: 999px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 600 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s, background .18s, color .18s;
  box-shadow: 0 8px 20px -10px rgba(0,0,0,0.18);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Reveal on parent hover */
.cql-anchor:hover .couture-quick-look,
.couture-quick-look-anchor:hover .couture-quick-look,
.cql-anchor:focus-within .couture-quick-look,
.couture-quick-look-anchor:focus-within .couture-quick-look,
.couture-quick-look.--always {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.couture-quick-look:hover {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-quick-look:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}
.couture-quick-look:active {
  transform: translateX(-50%) translateY(0) scale(0.97);
}

/* Optional eye/plus glyph */
.couture-quick-look[data-quicklook-glyph="eye"]::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 8px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
}
.couture-quick-look[data-quicklook-glyph="eye"]::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  margin-left: 18px;
  margin-top: -1px;
}
.couture-quick-look[data-quicklook-glyph="plus"]::before {
  content: "+";
  font: 700 16px/0.8 var(--c-display, var(--c-body));
  display: inline-block;
  flex: 0 0 auto;
}

/* Variants via [data-quicklook-style] */
/* Variant: bar — full-width bottom bar instead of pill */
.couture-quick-look[data-quicklook-style="bar"] {
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  border-radius: 0;
  transform: translateY(100%);
  border: 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  background: color-mix(in oklab, var(--c-paper) 95%, transparent);
}
.cql-anchor:hover .couture-quick-look[data-quicklook-style="bar"],
.couture-quick-look-anchor:hover .couture-quick-look[data-quicklook-style="bar"],
.cql-anchor:focus-within .couture-quick-look[data-quicklook-style="bar"],
.couture-quick-look-anchor:focus-within .couture-quick-look[data-quicklook-style="bar"] {
  transform: translateY(0);
}

/* Variant: corner — small pill in top-right corner */
.couture-quick-look[data-quicklook-style="corner"] {
  left: auto;
  right: 14px;
  top: 14px;
  bottom: auto;
  transform: translateX(0) translateY(-8px) scale(0.92);
  padding: 7px 12px;
  font-size: 10.5px;
}
.cql-anchor:hover .couture-quick-look[data-quicklook-style="corner"],
.couture-quick-look-anchor:hover .couture-quick-look[data-quicklook-style="corner"] {
  transform: translateX(0) translateY(0) scale(1);
}

/* Variant: ink — dark pill */
.couture-quick-look[data-quicklook-style="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-quick-look[data-quicklook-style="ink"]:hover {
  background: var(--c-accent);
  color: var(--c-paper);
}

/* Variant: full — full-width transparent button covering bottom 25% of card */
.couture-quick-look[data-quicklook-style="full"] {
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 50px;
  border-radius: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%);
  color: var(--c-paper);
  border: 0;
  font-size: 11px;
  transform: translateY(100%);
  backdrop-filter: none;
}
.cql-anchor:hover .couture-quick-look[data-quicklook-style="full"],
.couture-quick-look-anchor:hover .couture-quick-look[data-quicklook-style="full"] {
  transform: translateY(0);
}

/* Sizes */
.couture-quick-look[data-quicklook-size="sm"] {
  padding: 6px 12px;
  font-size: 10.5px;
}
.couture-quick-look[data-quicklook-size="lg"] {
  padding: 12px 22px;
  font-size: 12.5px;
}

/* Touch fallback: always-visible (no hover) */
@media (hover: none) {
  .couture-quick-look:not(.--hidden) {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-quick-look {
    transition: opacity .15s ease;
  }
  .cql-anchor:hover .couture-quick-look,
  .couture-quick-look-anchor:hover .couture-quick-look {
    transform: translateX(-50%) translateY(0);
  }
  .couture-quick-look:active {
    transform: translateX(-50%) translateY(0);
  }
  .couture-quick-look[data-quicklook-style="corner"] {
    transform: translateX(0) translateY(0) scale(1);
  }
}

/* WS-VISIBLE-91 — wishlist heart toggle utility (CSS-only checkbox).
   For product card "save" state. Pure-CSS via input[type=checkbox] +
   label, or as a button with .--active class. Drop on a position:relative
   parent, anchor in top-right corner.

   Usage (CSS-only checkbox):
     <label class="couture-heart">
       <input type="checkbox">
       <span class="ch-glyph"></span>
       <span class="visually-hidden">Save</span>
     </label>
   Or as button:
     <button class="couture-heart" aria-pressed="false">
       <span class="ch-glyph"></span>
       <span class="visually-hidden">Save</span>
     </button>
*/
.couture-heart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.15);
  transition: background .18s, transform .15s;
  flex: 0 0 auto;
}
.couture-heart:hover {
  background: var(--c-paper);
  transform: scale(1.06);
}
.couture-heart:active {
  transform: scale(0.94);
}
.couture-heart:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.couture-heart > input[type="checkbox"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

/* Heart glyph — pure-CSS heart shape via two rounded squares + rotate */
.couture-heart .ch-glyph {
  position: relative;
  width: 18px;
  height: 16px;
  display: inline-block;
  pointer-events: none;
  transition: transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
.couture-heart .ch-glyph::before,
.couture-heart .ch-glyph::after {
  content: "";
  position: absolute;
  width: 11px;
  height: 16px;
  border-radius: 50% 50% 0 0;
  background: transparent;
  border: 1.5px solid color-mix(in oklab, var(--c-ink) 80%, transparent);
  transition: background .2s, border-color .2s;
}
.couture-heart .ch-glyph::before {
  left: 0;
  top: 0;
  transform: rotate(-45deg);
  transform-origin: 50% 100%;
  border-bottom-color: transparent;
  border-right-color: transparent;
}
.couture-heart .ch-glyph::after {
  right: 0;
  top: 0;
  transform: rotate(45deg);
  transform-origin: 50% 100%;
  border-bottom-color: transparent;
  border-left-color: transparent;
}

/* Active state via :checked, .--active, or aria-pressed="true" */
.couture-heart > input[type="checkbox"]:checked ~ .ch-glyph::before,
.couture-heart > input[type="checkbox"]:checked ~ .ch-glyph::after,
.couture-heart.--active .ch-glyph::before,
.couture-heart.--active .ch-glyph::after,
.couture-heart[aria-pressed="true"] .ch-glyph::before,
.couture-heart[aria-pressed="true"] .ch-glyph::after {
  background: #dc2626;
  border-color: #dc2626;
}
.couture-heart > input[type="checkbox"]:checked ~ .ch-glyph,
.couture-heart.--active .ch-glyph,
.couture-heart[aria-pressed="true"] .ch-glyph {
  animation: ws-heart-pop .5s cubic-bezier(.34, 1.56, .64, 1) both;
}
@keyframes ws-heart-pop {
  0%   { transform: scale(0.85); }
  50%  { transform: scale(1.18); }
  100% { transform: scale(1); }
}

/* Variants via [data-heart-style] */
/* Variant: minimal — no bg/shadow */
.couture-heart[data-heart-style="minimal"] {
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.couture-heart[data-heart-style="minimal"]:hover {
  background: color-mix(in oklab, var(--c-ink) 6%, transparent);
}

/* Variant: ink — dark bg */
.couture-heart[data-heart-style="ink"] {
  background: var(--c-ink);
}
.couture-heart[data-heart-style="ink"] .ch-glyph::before,
.couture-heart[data-heart-style="ink"] .ch-glyph::after {
  border-color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}

/* Variant: square — rounded square instead of circle */
.couture-heart[data-heart-style="square"] {
  border-radius: 6px;
}

/* Sizes */
.couture-heart[data-heart-size="sm"] {
  width: 28px;
  height: 28px;
}
.couture-heart[data-heart-size="sm"] .ch-glyph {
  width: 14px;
  height: 12px;
}
.couture-heart[data-heart-size="sm"] .ch-glyph::before,
.couture-heart[data-heart-size="sm"] .ch-glyph::after {
  width: 8px;
  height: 12px;
}
.couture-heart[data-heart-size="lg"] {
  width: 44px;
  height: 44px;
}
.couture-heart[data-heart-size="lg"] .ch-glyph {
  width: 22px;
  height: 19px;
}
.couture-heart[data-heart-size="lg"] .ch-glyph::before,
.couture-heart[data-heart-size="lg"] .ch-glyph::after {
  width: 13px;
  height: 19px;
}

/* Auto-position helper for product card top-right */
.couture-heart[data-heart-pos="card"] {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 4;
}
.couture-heart[data-heart-pos="card-tl"] {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 4;
}

/* Visually-hidden helper for accessible labels (if not already defined elsewhere) */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Floating count badge (for "saved by 142" type) */
.couture-heart .ch-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 9.5px/1 var(--c-mono, var(--c-body));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--c-paper);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .couture-heart,
  .couture-heart .ch-glyph,
  .couture-heart .ch-glyph::before,
  .couture-heart .ch-glyph::after,
  .couture-heart > input[type="checkbox"]:checked ~ .ch-glyph,
  .couture-heart.--active .ch-glyph,
  .couture-heart[aria-pressed="true"] .ch-glyph {
    transition: background .15s !important;
    animation: none !important;
    transform: none !important;
  }
}

/* WS-VISIBLE-92 — inline star rating utility (driven by --rating custom prop).
   Distinct from existing .couture-rating-stars (multi-row breakdown chart).
   This is the inline ★★★★☆ utility for product cards and reviews.
   Pure-CSS via two stacked star-glyph layers; the foreground is clipped
   to --rating percentage for fractional stars.

   Usage:
     <span class="couture-stars" style="--rating: 4.5">
       <span class="visually-hidden">4.5 of 5 stars</span>
     </span>

   Or with explicit count text:
     <span class="couture-stars" style="--rating: 4.7">
       <span class="cs-num">4.7</span>
       <span class="cs-count">(284)</span>
     </span>
*/
.couture-stars {
  --rating: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  vertical-align: middle;
  font: 600 12.5px/1.2 var(--c-mono, var(--c-body));
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-stars::before {
  content: "";
  display: inline-block;
  width: calc(1em * 5 + 4 * 2px);
  height: 1em;
  /* Background: 5 outline stars; foreground: 5 filled stars clipped */
  background-image:
    linear-gradient(
      to right,
      #f59e0b 0,
      #f59e0b calc(var(--rating, 0) / 5 * 100%),
      transparent calc(var(--rating, 0) / 5 * 100%),
      transparent 100%
    ),
    linear-gradient(
      to right,
      color-mix(in oklab, var(--c-ink) 18%, transparent) 0,
      color-mix(in oklab, var(--c-ink) 18%, transparent) 100%
    );
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'><g fill='black'><polygon points='8,1 10.2,5.8 15.4,6.5 11.7,10.2 12.6,15.5 8,12.9 3.4,15.5 4.3,10.2 0.6,6.5 5.8,5.8'/><polygon points='24,1 26.2,5.8 31.4,6.5 27.7,10.2 28.6,15.5 24,12.9 19.4,15.5 20.3,10.2 16.6,6.5 21.8,5.8'/><polygon points='40,1 42.2,5.8 47.4,6.5 43.7,10.2 44.6,15.5 40,12.9 35.4,15.5 36.3,10.2 32.6,6.5 37.8,5.8'/><polygon points='56,1 58.2,5.8 63.4,6.5 59.7,10.2 60.6,15.5 56,12.9 51.4,15.5 52.3,10.2 48.6,6.5 53.8,5.8'/><polygon points='72,1 74.2,5.8 79.4,6.5 75.7,10.2 76.6,15.5 72,12.9 67.4,15.5 68.3,10.2 64.6,6.5 69.8,5.8'/></g></svg>") no-repeat center / 80px 16px;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 16'><g fill='black'><polygon points='8,1 10.2,5.8 15.4,6.5 11.7,10.2 12.6,15.5 8,12.9 3.4,15.5 4.3,10.2 0.6,6.5 5.8,5.8'/><polygon points='24,1 26.2,5.8 31.4,6.5 27.7,10.2 28.6,15.5 24,12.9 19.4,15.5 20.3,10.2 16.6,6.5 21.8,5.8'/><polygon points='40,1 42.2,5.8 47.4,6.5 43.7,10.2 44.6,15.5 40,12.9 35.4,15.5 36.3,10.2 32.6,6.5 37.8,5.8'/><polygon points='56,1 58.2,5.8 63.4,6.5 59.7,10.2 60.6,15.5 56,12.9 51.4,15.5 52.3,10.2 48.6,6.5 53.8,5.8'/><polygon points='72,1 74.2,5.8 79.4,6.5 75.7,10.2 76.6,15.5 72,12.9 67.4,15.5 68.3,10.2 64.6,6.5 69.8,5.8'/></g></svg>") no-repeat center / 80px 16px;
}

/* Numeric label slot ("4.7") */
.couture-stars .cs-num {
  font-weight: 700;
  color: var(--c-ink);
  font-size: 13px;
  letter-spacing: 0.005em;
}

/* Review-count slot ("(284)") */
.couture-stars .cs-count {
  font: 500 11.5px/1.2 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  letter-spacing: 0;
}
.couture-stars .cs-count::before { content: "("; }
.couture-stars .cs-count::after  { content: ")"; }

/* Variants via [data-stars-style] */
/* Variant: ink — black/grey instead of yellow */
.couture-stars[data-stars-style="ink"]::before {
  background-image:
    linear-gradient(
      to right,
      var(--c-ink) 0,
      var(--c-ink) calc(var(--rating, 0) / 5 * 100%),
      transparent calc(var(--rating, 0) / 5 * 100%),
      transparent 100%
    ),
    linear-gradient(
      to right,
      color-mix(in oklab, var(--c-ink) 18%, transparent) 0,
      color-mix(in oklab, var(--c-ink) 18%, transparent) 100%
    );
}

/* Variant: accent — accent color */
.couture-stars[data-stars-style="accent"]::before {
  background-image:
    linear-gradient(
      to right,
      var(--c-accent) 0,
      var(--c-accent) calc(var(--rating, 0) / 5 * 100%),
      transparent calc(var(--rating, 0) / 5 * 100%),
      transparent 100%
    ),
    linear-gradient(
      to right,
      color-mix(in oklab, var(--c-accent) 18%, transparent) 0,
      color-mix(in oklab, var(--c-accent) 18%, transparent) 100%
    );
}

/* Variant: paper — for use on dark backgrounds */
.couture-stars[data-stars-style="paper"] {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}
.couture-stars[data-stars-style="paper"] .cs-num {
  color: var(--c-paper);
}
.couture-stars[data-stars-style="paper"] .cs-count {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}

/* Sizes — control star glyph height via em */
.couture-stars[data-stars-size="sm"] {
  font-size: 11px;
}
.couture-stars[data-stars-size="sm"]::before {
  height: 12px;
  width: calc(12px * 5 + 4 * 2px);
  -webkit-mask-size: 68px 12px;
          mask-size: 68px 12px;
}
.couture-stars[data-stars-size="lg"] {
  font-size: 14px;
}
.couture-stars[data-stars-size="lg"]::before {
  height: 20px;
  width: calc(20px * 5 + 4 * 2px);
  -webkit-mask-size: 108px 20px;
          mask-size: 108px 20px;
}

/* Variant: stacked — number + stars stacked vertically */
.couture-stars[data-stars-layout="stacked"] {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

/* Variant: count-leading — review count appears first */
.couture-stars[data-stars-layout="count-leading"] {
  flex-direction: row-reverse;
}
.couture-stars[data-stars-layout="count-leading"] .cs-count::before { content: ""; }
.couture-stars[data-stars-layout="count-leading"] .cs-count::after  { content: " reviews"; }

/* Variant: bare — only stars, no number/count */
.couture-stars[data-stars-style="bare"] .cs-num,
.couture-stars[data-stars-style="bare"] .cs-count {
  display: none;
}

/* Animated reveal: stars fill from 0 to --rating on .--in (IO trigger) */
.couture-stars[data-stars-anim="reveal"] {
  transition: none;
}
.couture-stars[data-stars-anim="reveal"]:not(.--in)::before {
  background-image:
    linear-gradient(to right, #f59e0b 0%, transparent 0%),
    linear-gradient(to right,
      color-mix(in oklab, var(--c-ink) 18%, transparent) 0,
      color-mix(in oklab, var(--c-ink) 18%, transparent) 100%);
}
.couture-stars[data-stars-anim="reveal"]::before {
  transition: background 1.2s cubic-bezier(.65,.05,.35,1);
}

@media (prefers-reduced-motion: reduce) {
  .couture-stars[data-stars-anim="reveal"]::before {
    transition: none;
  }
}

/* WS-VISIBLE-93 — horizontal highlight-reel slider strip (CSS scroll-snap).
   Pure-CSS horizontal scrolling reel with snap-to-card behavior + edge
   fade. Distinct from existing .couture-tag-rail (chip nav) and
   .couture-mosaic (grid).

   Usage:
     <div class="couture-reel" aria-label="Latest stories">
       <article class="cr-slide"><img src="…"><h4>Title</h4></article>
       <article class="cr-slide"><img src="…"><h4>Title</h4></article>
       …
     </div>
*/
.couture-reel {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(12px, 2vw, 20px);
  padding: clamp(8px, 1vw, 14px) clamp(16px, 2vw, 24px);
  margin: clamp(20px, 3vw, 36px) 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding: clamp(16px, 2vw, 24px);
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  /* Edge fade mask for natural scroll affordance */
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 16px,
    #000 calc(100% - 16px),
    transparent 100%
  );
          mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 16px,
    #000 calc(100% - 16px),
    transparent 100%
  );
}
.couture-reel::-webkit-scrollbar {
  display: none;
}

.couture-reel .cr-slide {
  flex: 0 0 auto;
  width: clamp(220px, 28vw, 320px);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  text-decoration: none;
  color: inherit;
}
.couture-reel .cr-slide > img,
.couture-reel .cr-slide > picture > img,
.couture-reel .cr-slide > .cr-img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
  border-radius: 8px;
  transition: transform .35s ease, filter .35s ease;
}
.couture-reel .cr-slide:hover > img,
.couture-reel .cr-slide:focus-within > img {
  transform: scale(1.02);
  filter: brightness(0.95);
}
.couture-reel .cr-slide:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
  border-radius: 8px;
}
.couture-reel .cr-slide h4,
.couture-reel .cr-slide .cr-title {
  margin: 0;
  font: 600 14px/1.35 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-reel .cr-slide .cr-meta {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

/* Variants via [data-reel-style] */
/* Variant: peek — narrow slides so multiple are visible with peek of next */
.couture-reel[data-reel-style="peek"] .cr-slide {
  width: clamp(160px, 22vw, 240px);
}

/* Variant: cinema — wider 16:9 cinematic slides */
.couture-reel[data-reel-style="cinema"] .cr-slide {
  width: clamp(280px, 40vw, 480px);
}
.couture-reel[data-reel-style="cinema"] .cr-slide > img,
.couture-reel[data-reel-style="cinema"] .cr-slide > .cr-img {
  aspect-ratio: 16 / 9;
}

/* Variant: square — 1:1 instagram-feed style */
.couture-reel[data-reel-style="square"] .cr-slide > img,
.couture-reel[data-reel-style="square"] .cr-slide > .cr-img {
  aspect-ratio: 1 / 1;
}

/* Variant: minimal — no edge mask, no card padding */
.couture-reel[data-reel-style="minimal"] {
  -webkit-mask-image: none;
          mask-image: none;
  padding: 0;
}

/* Snap mode variants */
.couture-reel[data-reel-snap="center"] {
  scroll-snap-type: x mandatory;
  scroll-padding: 0;
}
.couture-reel[data-reel-snap="center"] .cr-slide {
  scroll-snap-align: center;
}
.couture-reel[data-reel-snap="proximity"] {
  scroll-snap-type: x proximity;
}
.couture-reel[data-reel-snap="none"] {
  scroll-snap-type: none;
}

/* Auto-loop / marquee variant — slides scroll automatically */
@keyframes ws-reel-marquee {
  to { transform: translateX(-50%); }
}
.couture-reel[data-reel-auto="true"] {
  overflow: hidden;
  scroll-snap-type: none;
}
.couture-reel[data-reel-auto="true"] > .cr-track {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(12px, 2vw, 20px);
  width: max-content;
  animation: ws-reel-marquee 40s linear infinite;
}
.couture-reel[data-reel-auto="true"]:hover > .cr-track {
  animation-play-state: paused;
}

/* Slide count chip (e.g. "1 / 5") for current position display */
.couture-reel-count {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 700 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
}

/* Companion: button row above/below for prev/next + count */
.couture-reel-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: clamp(12px, 1.5vw, 18px) clamp(16px, 2vw, 24px) 0;
}
.couture-reel-controls .crc-arrows {
  display: inline-flex;
  gap: 6px;
}
.couture-reel-controls .crc-arrows button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: background .18s, border-color .18s, transform .15s;
  font-size: 0;
}
.couture-reel-controls .crc-arrows button:hover {
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-reel-controls .crc-arrows button:active {
  transform: scale(0.96);
}
.couture-reel-controls .crc-arrows button[data-crc-dir="prev"]::before,
.couture-reel-controls .crc-arrows button[data-crc-dir="next"]::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}
.couture-reel-controls .crc-arrows button[data-crc-dir="prev"]::before {
  transform: rotate(-135deg) translate(1px, -1px);
}
.couture-reel-controls .crc-arrows button[data-crc-dir="next"]::before {
  transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
  .couture-reel {
    scroll-behavior: auto;
  }
  .couture-reel .cr-slide > img {
    transition: none;
  }
  .couture-reel .cr-slide:hover > img {
    transform: none;
  }
  .couture-reel[data-reel-auto="true"] > .cr-track {
    animation: none;
  }
  .couture-reel-controls .crc-arrows button {
    transition: none;
  }
  .couture-reel-controls .crc-arrows button:active {
    transform: none;
  }
}

/* WS-VISIBLE-94 — pagination dots utility (carousel/slider indicators).
   Distinct from existing .couture-pager (full numeric link row). This is
   the small dot-row indicator for carousels.

   Usage:
     <div class="couture-page-dots" role="tablist">
       <button class="cpd-dot --active" aria-label="Go to slide 1"></button>
       <button class="cpd-dot" aria-label="Go to slide 2"></button>
       <button class="cpd-dot" aria-label="Go to slide 3"></button>
     </div>
*/
.couture-page-dots {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  margin: clamp(12px, 2vw, 20px) auto;
  justify-content: center;
}

.couture-page-dots .cpd-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: color-mix(in oklab, var(--c-ink) 22%, transparent);
  cursor: pointer;
  transition: background .2s, transform .2s, width .25s;
  flex: 0 0 auto;
}
.couture-page-dots .cpd-dot:hover {
  background: color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-page-dots .cpd-dot:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}

/* Active state — multiple selectors for flexibility */
.couture-page-dots .cpd-dot.--active,
.couture-page-dots .cpd-dot[aria-current="true"],
.couture-page-dots .cpd-dot[aria-selected="true"],
.couture-page-dots .cpd-dot[data-active] {
  background: var(--c-ink);
  width: 24px;
  border-radius: 999px;
}

/* Variants via [data-page-dots-style] */
/* Variant: outline — outlined dots, active fills */
.couture-page-dots[data-page-dots-style="outline"] .cpd-dot {
  background: transparent;
  border: 1.5px solid color-mix(in oklab, var(--c-ink) 40%, transparent);
}
.couture-page-dots[data-page-dots-style="outline"] .cpd-dot:hover {
  background: color-mix(in oklab, var(--c-ink) 12%, transparent);
}
.couture-page-dots[data-page-dots-style="outline"] .cpd-dot.--active,
.couture-page-dots[data-page-dots-style="outline"] .cpd-dot[aria-current="true"] {
  background: var(--c-ink);
  border-color: var(--c-ink);
}

/* Variant: line — thin line indicators (Apple-style) */
.couture-page-dots[data-page-dots-style="line"] .cpd-dot {
  width: 18px;
  height: 2px;
  border-radius: 0;
}
.couture-page-dots[data-page-dots-style="line"] .cpd-dot.--active,
.couture-page-dots[data-page-dots-style="line"] .cpd-dot[aria-current="true"] {
  width: 28px;
  background: var(--c-ink);
}

/* Variant: square — sharp-corner squares */
.couture-page-dots[data-page-dots-style="square"] .cpd-dot {
  border-radius: 1px;
  width: 7px;
  height: 7px;
}
.couture-page-dots[data-page-dots-style="square"] .cpd-dot.--active,
.couture-page-dots[data-page-dots-style="square"] .cpd-dot[aria-current="true"] {
  width: 18px;
  border-radius: 1px;
}

/* Variant: progress — current dot is a filling progress bar */
.couture-page-dots[data-page-dots-style="progress"] .cpd-dot {
  width: 22px;
  height: 3px;
  border-radius: 999px;
  position: relative;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-ink) 18%, transparent);
}
.couture-page-dots[data-page-dots-style="progress"] .cpd-dot.--active {
  background: color-mix(in oklab, var(--c-ink) 18%, transparent);
  width: 22px;
}
.couture-page-dots[data-page-dots-style="progress"] .cpd-dot.--active::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-ink);
  width: var(--cpd-progress, 0%);
  transition: width .4s linear;
}

/* Variant: numbered — number labels inside each dot */
.couture-page-dots[data-page-dots-style="numbered"] {
  counter-reset: ws-cpd-counter;
}
.couture-page-dots[data-page-dots-style="numbered"] .cpd-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  font: 600 11px/1 var(--c-mono, var(--c-body));
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  counter-increment: ws-cpd-counter;
}
.couture-page-dots[data-page-dots-style="numbered"] .cpd-dot::before {
  content: counter(ws-cpd-counter);
}
.couture-page-dots[data-page-dots-style="numbered"] .cpd-dot.--active,
.couture-page-dots[data-page-dots-style="numbered"] .cpd-dot[aria-current="true"] {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: var(--c-paper);
  width: 24px;
  border-radius: 50%;
}

/* Tone modifiers */
.couture-page-dots[data-page-dots-tone="paper"] .cpd-dot {
  background: color-mix(in oklab, var(--c-paper) 30%, transparent);
}
.couture-page-dots[data-page-dots-tone="paper"] .cpd-dot.--active,
.couture-page-dots[data-page-dots-tone="paper"] .cpd-dot[aria-current="true"] {
  background: var(--c-paper);
}
.couture-page-dots[data-page-dots-tone="accent"] .cpd-dot.--active,
.couture-page-dots[data-page-dots-tone="accent"] .cpd-dot[aria-current="true"] {
  background: var(--c-accent);
}

/* Sizes */
.couture-page-dots[data-page-dots-size="sm"] .cpd-dot {
  width: 6px;
  height: 6px;
}
.couture-page-dots[data-page-dots-size="sm"] .cpd-dot.--active {
  width: 18px;
}
.couture-page-dots[data-page-dots-size="lg"] .cpd-dot {
  width: 11px;
  height: 11px;
}
.couture-page-dots[data-page-dots-size="lg"] .cpd-dot.--active {
  width: 32px;
}

/* Position helper: pinned to bottom-center of a parent */
.couture-page-dots[data-page-dots-pos="overlay"] {
  position: absolute;
  left: 50%;
  bottom: clamp(14px, 2vw, 22px);
  transform: translateX(-50%);
  z-index: 5;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 6px 14px;
  border-radius: 999px;
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .couture-page-dots .cpd-dot,
  .couture-page-dots[data-page-dots-style="progress"] .cpd-dot.--active::after {
    transition: none !important;
  }
}

/* WS-VISIBLE-95 — vertical lookbook strip utility (vertical scroll-snap reel).
   Distinct from existing .couture-lookbook (full grid lookbook section) and
   .couture-reel (horizontal scroll). This is the vertical-snap variant for
   tall feed-style displays with one-image-per-viewport snap behavior.

   Usage:
     <div class="couture-lookbook-vertical">
       <article class="clv-cell"><img src="…"><span class="clv-cap">01 / Hero</span></article>
       <article class="clv-cell"><img src="…"><span class="clv-cap">02 / Detail</span></article>
       …
     </div>
*/
.couture-lookbook-vertical {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 1vw, 14px);
  margin: clamp(28px, 4vw, 48px) 0;
  /* Optional snap mode — opt-in via [data-lbv-snap] */
}

.couture-lookbook-vertical .clv-cell {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: color-mix(in oklab, var(--c-line) 25%, var(--c-paper));
  border-radius: 8px;
  isolation: isolate;
}
.couture-lookbook-vertical .clv-cell > img,
.couture-lookbook-vertical .clv-cell > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.8,.2,1);
}
.couture-lookbook-vertical .clv-cell:hover > img {
  transform: scale(1.03);
}

.couture-lookbook-vertical .clv-cap {
  position: absolute;
  left: clamp(14px, 2vw, 22px);
  bottom: clamp(14px, 2vw, 22px);
  z-index: 2;
  padding: 6px 12px;
  border-radius: 4px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font: 700 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

/* Snap mode — full-viewport one-cell-at-a-time scrolling */
.couture-lookbook-vertical[data-lbv-snap="full"] {
  height: 100vh;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.couture-lookbook-vertical[data-lbv-snap="full"]::-webkit-scrollbar {
  display: none;
}
.couture-lookbook-vertical[data-lbv-snap="full"] .clv-cell {
  flex: 0 0 100vh;
  scroll-snap-align: start;
  aspect-ratio: auto;
  height: 100vh;
  border-radius: 0;
}

/* Snap mode — proximity (gentler) */
.couture-lookbook-vertical[data-lbv-snap="proximity"] {
  scroll-snap-type: y proximity;
}
.couture-lookbook-vertical[data-lbv-snap="proximity"] .clv-cell {
  scroll-snap-align: start;
}

/* Layout variants via [data-lbv-style] */
/* Variant: alternating — cells alternate left/right with offset */
.couture-lookbook-vertical[data-lbv-style="alternating"] .clv-cell:nth-child(even) {
  margin-left: 8%;
  margin-right: -4%;
}
.couture-lookbook-vertical[data-lbv-style="alternating"] .clv-cell:nth-child(odd) {
  margin-right: 8%;
  margin-left: -4%;
}

/* Variant: tall — taller portrait cells */
.couture-lookbook-vertical[data-lbv-style="tall"] .clv-cell {
  aspect-ratio: 4 / 5;
}

/* Variant: square */
.couture-lookbook-vertical[data-lbv-style="square"] .clv-cell {
  aspect-ratio: 1 / 1;
}

/* Variant: stacked-cards — slight 3D depth tilt for each cell */
.couture-lookbook-vertical[data-lbv-style="stacked"] .clv-cell {
  box-shadow: 0 16px 32px -16px rgba(0,0,0,0.18);
  transform-origin: center top;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.couture-lookbook-vertical[data-lbv-style="stacked"] .clv-cell:hover {
  transform: translateY(-4px);
}

/* Variant: bordered — outlined cells, no fill */
.couture-lookbook-vertical[data-lbv-style="bordered"] .clv-cell {
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  background: var(--c-paper);
  border-radius: 4px;
}

/* Caption position variants */
.couture-lookbook-vertical[data-lbv-cap="top-right"] .clv-cap {
  left: auto;
  right: clamp(14px, 2vw, 22px);
  top: clamp(14px, 2vw, 22px);
  bottom: auto;
}
.couture-lookbook-vertical[data-lbv-cap="bottom-center"] .clv-cap {
  left: 50%;
  transform: translateX(-50%);
}
.couture-lookbook-vertical[data-lbv-cap="overlay-bottom"] .clv-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  border-radius: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%);
  color: var(--c-paper);
  padding: 16px 18px 10px;
  backdrop-filter: none;
}

/* Width column wrapper — keeps strip narrow on wide viewports */
.couture-lookbook-vertical[data-lbv-width="narrow"] {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}
.couture-lookbook-vertical[data-lbv-width="med"] {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Counter overlay — displays "01" "02" etc as enormous background numerals */
.couture-lookbook-vertical[data-lbv-counter="true"] {
  counter-reset: ws-lbv-counter;
}
.couture-lookbook-vertical[data-lbv-counter="true"] .clv-cell {
  counter-increment: ws-lbv-counter;
  position: relative;
}
.couture-lookbook-vertical[data-lbv-counter="true"] .clv-cell::before {
  content: counter(ws-lbv-counter, decimal-leading-zero);
  position: absolute;
  top: 12px;
  left: 18px;
  z-index: 2;
  font: 200 clamp(48px, 8vw, 96px)/.85 var(--c-display, var(--c-body));
  letter-spacing: -0.04em;
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  pointer-events: none;
  mix-blend-mode: overlay;
}

@media (prefers-reduced-motion: reduce) {
  .couture-lookbook-vertical .clv-cell > img,
  .couture-lookbook-vertical[data-lbv-style="stacked"] .clv-cell {
    transition: none;
  }
  .couture-lookbook-vertical .clv-cell:hover > img,
  .couture-lookbook-vertical[data-lbv-style="stacked"] .clv-cell:hover {
    transform: none;
  }
}

/* Mobile: alternating offsets collapse to centered */
@media (max-width: 640px) {
  .couture-lookbook-vertical[data-lbv-style="alternating"] .clv-cell:nth-child(even),
  .couture-lookbook-vertical[data-lbv-style="alternating"] .clv-cell:nth-child(odd) {
    margin-left: 0;
    margin-right: 0;
  }
}

/* WS-VISIBLE-96 — color-block divider utility (chunky section divider).
   Distinct from existing decorated <hr> (WS-VISIBLE-33) and
   .couture-divider-label (WS-VISIBLE-36). This is a wider, thick
   "color block" rule for major section breaks — feels architectural.

   Usage:
     <div class="couture-color-block"></div>
     <div class="couture-color-block" data-color-block="duo"></div>
*/
.couture-color-block {
  display: block;
  width: 100%;
  height: 8px;
  margin: clamp(48px, 7vw, 96px) 0;
  background: var(--c-ink);
}

/* Variant: duo — two horizontal stripes (ink + accent) */
.couture-color-block[data-color-block="duo"] {
  height: 0;
  border-top: 6px solid var(--c-ink);
  border-bottom: 6px solid var(--c-accent);
  background: transparent;
}

/* Variant: trio — three stacked stripes */
.couture-color-block[data-color-block="trio"] {
  height: 18px;
  background:
    linear-gradient(to bottom,
      var(--c-ink) 0,
      var(--c-ink) 33.33%,
      var(--c-accent) 33.33%,
      var(--c-accent) 66.66%,
      color-mix(in oklab, var(--c-line) 80%, transparent) 66.66%,
      color-mix(in oklab, var(--c-line) 80%, transparent) 100%);
}

/* Variant: split — half ink / half accent (vertical split) */
.couture-color-block[data-color-block="split"] {
  height: 6px;
  background: linear-gradient(
    to right,
    var(--c-ink) 0%,
    var(--c-ink) 50%,
    var(--c-accent) 50%,
    var(--c-accent) 100%
  );
}

/* Variant: gradient — fades ink → accent */
.couture-color-block[data-color-block="gradient"] {
  height: 4px;
  background: linear-gradient(
    to right,
    var(--c-ink) 0%,
    var(--c-accent) 100%
  );
}

/* Variant: stripe-tall — chunky vertical bands like brand chevrons */
.couture-color-block[data-color-block="stripe-tall"] {
  height: 28px;
  background:
    repeating-linear-gradient(
      to right,
      var(--c-ink) 0 24px,
      var(--c-accent) 24px 32px,
      var(--c-paper) 32px 36px,
      var(--c-ink) 36px 60px,
      color-mix(in oklab, var(--c-ink) 50%, transparent) 60px 64px
    );
}

/* Variant: corner — block sits in corner, smaller */
.couture-color-block[data-color-block="corner"] {
  height: 16px;
  width: 88px;
  margin-left: 0;
  margin-right: 0;
}
.couture-color-block[data-color-block="corner"][data-color-block-pos="center"] {
  margin-left: auto;
  margin-right: auto;
}
.couture-color-block[data-color-block="corner"][data-color-block-pos="right"] {
  margin-left: auto;
}

/* Variant: thick — heavier full-width block (architectural break) */
.couture-color-block[data-color-block="thick"] {
  height: 24px;
}

/* Variant: outline — bordered block, no fill */
.couture-color-block[data-color-block="outline"] {
  height: 16px;
  background: transparent;
  border: 1.5px solid var(--c-ink);
}

/* Variant: notched — block with notches cut out */
.couture-color-block[data-color-block="notched"] {
  height: 14px;
  background: var(--c-ink);
  clip-path: polygon(
    0 0, 12% 0, 14% 100%, 24% 100%, 26% 0,
    50% 0, 52% 100%, 62% 100%, 64% 0,
    88% 0, 90% 100%, 100% 100%, 100% 0
  );
}

/* Tone modifiers */
.couture-color-block[data-color-block-tone="accent"] {
  background: var(--c-accent);
}
.couture-color-block[data-color-block-tone="line"] {
  background: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-color-block[data-color-block-tone="paper"] {
  background: var(--c-paper);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* Width clamp */
.couture-color-block[data-color-block-width="narrow"] {
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
}
.couture-color-block[data-color-block-width="med"] {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* Companion: with label slot inside (label sits flush against the block) */
.couture-color-block-labeled {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
  margin: clamp(48px, 7vw, 96px) 0;
}
.couture-color-block-labeled .ccbl-block {
  width: 64px;
  height: 6px;
  background: var(--c-ink);
}
.couture-color-block-labeled .ccbl-text {
  font: 700 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}

/* WS-VISIBLE-97 — vertical date stamp utility (blog card date display).
   Stacked day/month/year mini-block for blog cards, archive lists, etc.
   Distinct from existing .couture-date-meta (inline byline strip).

   Usage:
     <time class="couture-date-stamp" datetime="2026-05-15">
       <span class="cds-day">15</span>
       <span class="cds-month">May</span>
       <span class="cds-year">2026</span>
     </time>
*/
.couture-date-stamp {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 8px 10px;
  width: 56px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 6px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  color: var(--c-ink);
  flex: 0 0 auto;
}
.couture-date-stamp .cds-day {
  font: 700 22px/1 var(--c-display, var(--c-body));
  letter-spacing: -0.02em;
  color: var(--c-ink);
}
.couture-date-stamp .cds-month {
  font: 700 9.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  margin-top: 4px;
}
.couture-date-stamp .cds-year {
  font: 500 9px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  color: color-mix(in oklab, var(--c-ink) 45%, transparent);
  margin-top: 2px;
}

/* Variants via [data-date-stamp-style] */
/* Variant: torn — top edge has a perforation/tearaway look */
.couture-date-stamp[data-date-stamp-style="torn"] {
  position: relative;
  background: var(--c-paper);
  border-top: 0;
  padding-top: 14px;
  border-radius: 0 0 6px 6px;
}
.couture-date-stamp[data-date-stamp-style="torn"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background-image: radial-gradient(
    circle at 4px 0,
    transparent 0 4px,
    var(--c-paper) 4px
  );
  background-size: 8px 6px;
  background-repeat: repeat-x;
  background-position: 0 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--c-line) 70%, transparent);
}

/* Variant: ribbon — cut corner ribbon at top */
.couture-date-stamp[data-date-stamp-style="ribbon"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 90%, 0 100%);
  padding-bottom: 14px;
}
.couture-date-stamp[data-date-stamp-style="ribbon"] .cds-day {
  color: var(--c-paper);
}
.couture-date-stamp[data-date-stamp-style="ribbon"] .cds-month {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}
.couture-date-stamp[data-date-stamp-style="ribbon"] .cds-year {
  color: color-mix(in oklab, var(--c-paper) 50%, transparent);
}

/* Variant: card — fuller card with month strip background */
.couture-date-stamp[data-date-stamp-style="card"] {
  width: 64px;
  padding: 0;
  overflow: hidden;
}
.couture-date-stamp[data-date-stamp-style="card"] .cds-month {
  width: 100%;
  background: var(--c-accent);
  color: var(--c-paper);
  padding: 5px 0;
  margin: 0;
  font-size: 10px;
  letter-spacing: 0.16em;
}
.couture-date-stamp[data-date-stamp-style="card"] .cds-day {
  font-size: 26px;
  margin: 8px 0 4px;
}
.couture-date-stamp[data-date-stamp-style="card"] .cds-year {
  margin: 0 0 8px;
}

/* Variant: minimal — no border, no bg */
.couture-date-stamp[data-date-stamp-style="minimal"] {
  background: none;
  border: 0;
  padding: 0;
  width: auto;
}

/* Variant: stacked-line — month above giant day, year below thin */
.couture-date-stamp[data-date-stamp-style="stacked-line"] {
  width: 70px;
  padding: 10px 8px;
  border: 0;
  border-top: 2px solid var(--c-ink);
  border-bottom: 2px solid var(--c-ink);
  border-radius: 0;
  background: none;
}
.couture-date-stamp[data-date-stamp-style="stacked-line"] .cds-day {
  font-size: 32px;
  font-weight: 200;
  letter-spacing: -0.04em;
  margin-top: 4px;
}
.couture-date-stamp[data-date-stamp-style="stacked-line"] .cds-month {
  margin-top: 0;
  margin-bottom: 4px;
  font-size: 10.5px;
}

/* Variant: rotated — slight rotation for hand-stamped feel */
.couture-date-stamp[data-date-stamp-style="rotated"] {
  transform: rotate(-3deg);
}

/* Tones */
.couture-date-stamp[data-date-stamp-tone="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-date-stamp[data-date-stamp-tone="ink"] .cds-day {
  color: var(--c-paper);
}
.couture-date-stamp[data-date-stamp-tone="ink"] .cds-month {
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
}
.couture-date-stamp[data-date-stamp-tone="ink"] .cds-year {
  color: color-mix(in oklab, var(--c-paper) 50%, transparent);
}
.couture-date-stamp[data-date-stamp-tone="accent"] .cds-day {
  color: var(--c-accent);
}

/* Sizes */
.couture-date-stamp[data-date-stamp-size="sm"] {
  width: 44px;
  padding: 6px 8px;
}
.couture-date-stamp[data-date-stamp-size="sm"] .cds-day {
  font-size: 18px;
}
.couture-date-stamp[data-date-stamp-size="sm"] .cds-month {
  font-size: 8.5px;
}
.couture-date-stamp[data-date-stamp-size="lg"] {
  width: 72px;
  padding: 12px 14px;
}
.couture-date-stamp[data-date-stamp-size="lg"] .cds-day {
  font-size: 30px;
}
.couture-date-stamp[data-date-stamp-size="lg"] .cds-month {
  font-size: 11px;
}

/* Position helper for blog card overlay */
.couture-date-stamp[data-date-stamp-pos="card-tl"] {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 4;
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.18);
}
.couture-date-stamp[data-date-stamp-pos="card-tr"] {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 4;
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.18);
}

/* WS-VISIBLE-98 — dot-grid / pattern background utility (sectional surfaces).
   Opt-in via .couture-bg-pattern + [data-bg-pattern]. Pure-CSS gradient
   patterns: dot-grid, line-grid, diagonal, cross-hatch, herringbone,
   noise. Useful for hero backgrounds, section dividers, callout cards.

   Usage:
     <section class="couture-bg-pattern" data-bg-pattern="dot-grid">
       …content…
     </section>
*/
.couture-bg-pattern {
  position: relative;
  background-color: var(--c-paper);
}

/* Variant: dot-grid — refined dotted grid pattern */
.couture-bg-pattern[data-bg-pattern="dot-grid"] {
  background-image: radial-gradient(
    circle,
    color-mix(in oklab, var(--c-ink) 18%, transparent) 1px,
    transparent 1.5px
  );
  background-size: 24px 24px;
  background-position: 0 0;
}

/* Variant: line-grid — refined thin-line grid */
.couture-bg-pattern[data-bg-pattern="line-grid"] {
  background-image:
    linear-gradient(to right, color-mix(in oklab, var(--c-line) 50%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in oklab, var(--c-line) 50%, transparent) 1px, transparent 1px);
  background-size: 36px 36px;
}

/* Variant: diagonal — diagonal stripes */
.couture-bg-pattern[data-bg-pattern="diagonal"] {
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0,
    transparent 12px,
    color-mix(in oklab, var(--c-ink) 6%, transparent) 12px,
    color-mix(in oklab, var(--c-ink) 6%, transparent) 13px
  );
}

/* Variant: cross-hatch — diagonal grid both directions */
.couture-bg-pattern[data-bg-pattern="cross-hatch"] {
  background-image:
    repeating-linear-gradient(45deg,
      transparent 0,
      transparent 14px,
      color-mix(in oklab, var(--c-ink) 8%, transparent) 14px,
      color-mix(in oklab, var(--c-ink) 8%, transparent) 15px),
    repeating-linear-gradient(-45deg,
      transparent 0,
      transparent 14px,
      color-mix(in oklab, var(--c-ink) 8%, transparent) 14px,
      color-mix(in oklab, var(--c-ink) 8%, transparent) 15px);
}

/* Variant: herringbone — V-shaped chevron pattern */
.couture-bg-pattern[data-bg-pattern="herringbone"] {
  background-image:
    repeating-linear-gradient(60deg,
      color-mix(in oklab, var(--c-ink) 5%, transparent) 0,
      color-mix(in oklab, var(--c-ink) 5%, transparent) 14px,
      transparent 14px,
      transparent 28px),
    repeating-linear-gradient(-60deg,
      color-mix(in oklab, var(--c-ink) 5%, transparent) 0,
      color-mix(in oklab, var(--c-ink) 5%, transparent) 14px,
      transparent 14px,
      transparent 28px);
  background-size: 48px 48px;
}

/* Variant: noise — fine SVG noise via data-URL */
.couture-bg-pattern[data-bg-pattern="noise"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
}

/* Variant: graph — graph-paper grid (subtle blue-grey) */
.couture-bg-pattern[data-bg-pattern="graph"] {
  background-image:
    linear-gradient(to right, color-mix(in oklab, var(--c-line) 35%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in oklab, var(--c-line) 35%, transparent) 1px, transparent 1px),
    linear-gradient(to right, color-mix(in oklab, var(--c-line) 70%, transparent) 1px, transparent 1px),
    linear-gradient(to bottom, color-mix(in oklab, var(--c-line) 70%, transparent) 1px, transparent 1px);
  background-size: 8px 8px, 8px 8px, 80px 80px, 80px 80px;
}

/* Variant: dotted-card — dotted "punch card" repeating pattern */
.couture-bg-pattern[data-bg-pattern="dotted-card"] {
  background-image: radial-gradient(
    circle at center,
    color-mix(in oklab, var(--c-ink) 22%, transparent) 1.5px,
    transparent 2px
  );
  background-size: 16px 16px;
}

/* Variant: rays — radial sunray pattern from top-center */
.couture-bg-pattern[data-bg-pattern="rays"] {
  background-image: repeating-conic-gradient(
    from 0deg at 50% 0,
    color-mix(in oklab, var(--c-accent) 10%, transparent) 0deg,
    color-mix(in oklab, var(--c-accent) 10%, transparent) 8deg,
    transparent 8deg,
    transparent 16deg
  );
}

/* Variant: zigzag — small zigzag chevron */
.couture-bg-pattern[data-bg-pattern="zigzag"] {
  background-image:
    linear-gradient(135deg,
      color-mix(in oklab, var(--c-ink) 6%, transparent) 25%,
      transparent 25%, transparent 50%,
      color-mix(in oklab, var(--c-ink) 6%, transparent) 50%,
      color-mix(in oklab, var(--c-ink) 6%, transparent) 75%,
      transparent 75%);
  background-size: 16px 16px;
}

/* Tone modifiers (apply to all patterns) */
.couture-bg-pattern[data-bg-pattern-tone="ink"] {
  background-color: var(--c-ink);
}
.couture-bg-pattern[data-bg-pattern-tone="paper-warm"] {
  background-color: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
}
.couture-bg-pattern[data-bg-pattern-tone="accent-tinted"] {
  background-color: color-mix(in oklab, var(--c-accent) 6%, var(--c-paper));
}

/* Density modifiers */
.couture-bg-pattern[data-bg-pattern-density="dense"][data-bg-pattern="dot-grid"] {
  background-size: 14px 14px;
}
.couture-bg-pattern[data-bg-pattern-density="dense"][data-bg-pattern="line-grid"] {
  background-size: 20px 20px;
}
.couture-bg-pattern[data-bg-pattern-density="airy"][data-bg-pattern="dot-grid"] {
  background-size: 40px 40px;
}
.couture-bg-pattern[data-bg-pattern-density="airy"][data-bg-pattern="line-grid"] {
  background-size: 60px 60px;
}

/* Mask helper: fade pattern at edges */
.couture-bg-pattern[data-bg-pattern-mask="radial"] {
  -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
          mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
}
.couture-bg-pattern[data-bg-pattern-mask="vertical"] {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 30%, #000 70%, transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 30%, #000 70%, transparent 100%);
}

/* Overlay-only variant (apply to existing element via ::before instead of bg) */
.couture-bg-pattern-overlay {
  position: relative;
}
.couture-bg-pattern-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(
    circle,
    color-mix(in oklab, currentColor 18%, transparent) 1px,
    transparent 1.5px
  );
  background-size: 24px 24px;
  opacity: 0.7;
  z-index: 0;
}
.couture-bg-pattern-overlay > * {
  position: relative;
  z-index: 1;
}

/* WS-VISIBLE-99 — map-pin marker overlay utility (location pin / drop-pin).
   Distinct from existing .couture-marker-active-dot (status indicator).
   This is a teardrop-shaped pin for store locator pages, contact maps,
   "find us at" displays. Drop on a position:relative parent.

   Usage:
     <div class="couture-map-pin" style="left: 42%; top: 28%">
       <span class="cmp-label">Lisbon studio</span>
     </div>
*/
.couture-map-pin {
  position: absolute;
  width: 28px;
  height: 38px;
  z-index: 5;
  cursor: pointer;
  /* Anchor at the tip (bottom center) */
  transform: translate(-50%, -100%);
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
  flex: 0 0 auto;
}

/* The pin shape — teardrop via clip-path */
.couture-map-pin::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-accent);
  /* Teardrop / pin shape via clip-path */
  clip-path: path("M14,0 C21.7,0 28,6.3 28,14 C28,24 14,38 14,38 C14,38 0,24 0,14 C0,6.3 6.3,0 14,0 Z");
  transition: transform .25s cubic-bezier(.34, 1.56, .64, 1);
}

/* Inner dot — knockout circle */
.couture-map-pin::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  margin-left: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-paper);
  z-index: 1;
}

/* Label — appears above pin */
.couture-map-pin .cmp-label {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 10px;
  border-radius: 4px;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 600 11px/1.2 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  z-index: 2;
}
.couture-map-pin .cmp-label::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  background: var(--c-ink);
}
.couture-map-pin:hover .cmp-label,
.couture-map-pin:focus-within .cmp-label,
.couture-map-pin.--active .cmp-label {
  opacity: 1;
}
.couture-map-pin:hover::before {
  transform: scale(1.1);
}
.couture-map-pin:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 4px;
  border-radius: 50%;
}

/* Variants via [data-map-pin] */
/* Variant: ink — dark pin */
.couture-map-pin[data-map-pin="ink"]::before {
  background: var(--c-ink);
}
.couture-map-pin[data-map-pin="ink"]::after {
  background: var(--c-paper);
}

/* Variant: paper — outlined pin */
.couture-map-pin[data-map-pin="paper"]::before {
  background: var(--c-paper);
  filter: drop-shadow(0 0 0 1px var(--c-ink));
}
.couture-map-pin[data-map-pin="paper"]::after {
  background: var(--c-ink);
}

/* Variant: dot — simple circular dot (no teardrop) */
.couture-map-pin[data-map-pin="dot"] {
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%);
}
.couture-map-pin[data-map-pin="dot"]::before {
  background: var(--c-accent);
  clip-path: circle(50%);
  border-radius: 50%;
}
.couture-map-pin[data-map-pin="dot"]::after {
  display: none;
}

/* Variant: ring — concentric ring + inner dot */
.couture-map-pin[data-map-pin="ring"] {
  width: 22px;
  height: 22px;
  transform: translate(-50%, -50%);
}
.couture-map-pin[data-map-pin="ring"]::before {
  background: transparent;
  border: 3px solid var(--c-accent);
  clip-path: circle(50%);
  border-radius: 50%;
}
.couture-map-pin[data-map-pin="ring"]::after {
  top: 50%;
  margin-top: -3px;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background: var(--c-accent);
}

/* Variant: numbered — number label inside the pin */
.couture-map-pin[data-map-pin="numbered"] .cmp-num {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  font: 700 11px/1 var(--c-mono, var(--c-body));
  color: var(--c-paper);
  width: 14px;
  text-align: center;
}
.couture-map-pin[data-map-pin="numbered"]::after {
  display: none;
}

/* Sizes */
.couture-map-pin[data-map-pin-size="sm"] {
  width: 22px;
  height: 30px;
}
.couture-map-pin[data-map-pin-size="sm"]::before {
  clip-path: path("M11,0 C17.1,0 22,4.9 22,11 C22,19 11,30 11,30 C11,30 0,19 0,11 C0,4.9 4.9,0 11,0 Z");
}
.couture-map-pin[data-map-pin-size="sm"]::after {
  top: 6px;
  margin-left: -3.5px;
  width: 7px;
  height: 7px;
}
.couture-map-pin[data-map-pin-size="lg"] {
  width: 36px;
  height: 50px;
}
.couture-map-pin[data-map-pin-size="lg"]::before {
  clip-path: path("M18,0 C27.9,0 36,8.1 36,18 C36,32 18,50 18,50 C18,50 0,32 0,18 C0,8.1 8.1,0 18,0 Z");
}
.couture-map-pin[data-map-pin-size="lg"]::after {
  top: 11px;
  margin-left: -7px;
  width: 14px;
  height: 14px;
}

/* Pulse animation (opt-in) */
@keyframes ws-pin-pulse {
  0%, 100% { transform: translate(-50%, -100%) scale(1); }
  50%      { transform: translate(-50%, -100%) scale(1.08); }
}
.couture-map-pin[data-map-pin-anim="pulse"] {
  animation: ws-pin-pulse 1.8s ease-in-out infinite;
}
.couture-map-pin[data-map-pin-anim="pulse"][data-map-pin="dot"],
.couture-map-pin[data-map-pin-anim="pulse"][data-map-pin="ring"] {
  animation-name: ws-pin-pulse-center;
}
@keyframes ws-pin-pulse-center {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50%      { transform: translate(-50%, -50%) scale(1.15); }
}

/* Drop-in animation (opt-in via .--in) */
@keyframes ws-pin-drop {
  from { transform: translate(-50%, -300%); opacity: 0; }
  60%  { transform: translate(-50%, -90%); opacity: 1; }
  to   { transform: translate(-50%, -100%); opacity: 1; }
}
.couture-map-pin[data-map-pin-anim="drop"] {
  animation: ws-pin-drop .8s cubic-bezier(.34, 1.56, .64, 1) both;
}

/* Container helper for relatively positioned pins */
.couture-map-canvas {
  position: relative;
  display: block;
  width: 100%;
}
.couture-map-canvas > img {
  display: block;
  width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  .couture-map-pin::before,
  .couture-map-pin .cmp-label,
  .couture-map-pin[data-map-pin-anim="pulse"],
  .couture-map-pin[data-map-pin-anim="drop"] {
    transition: none !important;
    animation: none !important;
  }
  .couture-map-pin:hover::before {
    transform: none;
  }
}

/* WS-VISIBLE-100 — compact store/contact card utility (address + hours +
   directions). Distinct from existing scoped contact form cards.

   Usage:
     <article class="couture-store-card">
       <h3 class="csc-name">Lisbon Atelier</h3>
       <address class="csc-addr">
         Rua da Madalena 14<br>
         1100-321 Lisboa, Portugal
       </address>
       <dl class="csc-hours">
         <dt>Mon–Fri</dt><dd>10:00 – 19:00</dd>
         <dt>Sat</dt><dd>11:00 – 17:00</dd>
         <dt>Sun</dt><dd>Closed</dd>
       </dl>
       <div class="csc-actions">
         <a class="csc-link" data-csc-action="directions" href="…">Directions</a>
         <a class="csc-link" data-csc-action="phone" href="tel:…">+351 213 456 789</a>
       </div>
     </article>
*/
.couture-store-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 10px;
  font: 400 14px/1.55 var(--c-body);
  color: var(--c-ink);
  position: relative;
}

.couture-store-card .csc-name {
  margin: 0;
  font: 700 16px/1.3 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

.couture-store-card .csc-region {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  margin-top: -8px;
}

.couture-store-card .csc-addr {
  margin: 0;
  font-style: normal;
  font: 400 13.5px/1.6 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 80%, transparent);
}

.couture-store-card .csc-hours {
  margin: 0;
  padding: 12px 0 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  display: grid;
  grid-template-columns: minmax(80px, auto) 1fr;
  gap: 4px 16px;
  font-variant-numeric: tabular-nums;
}
.couture-store-card .csc-hours dt {
  font: 600 12px/1.4 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  text-transform: uppercase;
}
.couture-store-card .csc-hours dd {
  margin: 0;
  font: 500 13px/1.4 var(--c-body);
  color: var(--c-ink);
}
.couture-store-card .csc-hours dd.--closed {
  color: color-mix(in oklab, var(--c-ink) 45%, transparent);
  font-style: italic;
}

.couture-store-card .csc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}
.couture-store-card .csc-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  font: 600 12px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-ink);
  text-decoration: none;
  transition: color .18s, gap .25s;
}
.couture-store-card .csc-link:hover {
  color: var(--c-accent);
  gap: 10px;
}
.couture-store-card .csc-link::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  position: relative;
}
.couture-store-card .csc-link[data-csc-action="directions"]::before {
  /* Compass-rose glyph */
  background:
    conic-gradient(from -45deg at center,
      currentColor 0 90deg,
      transparent 90deg 360deg);
  -webkit-mask: radial-gradient(circle, transparent 30%, #000 35%, #000 50%, transparent 51%);
          mask: radial-gradient(circle, transparent 30%, #000 35%, #000 50%, transparent 51%);
}
.couture-store-card .csc-link[data-csc-action="phone"]::before {
  border: 1.5px solid currentColor;
  border-radius: 3px;
  width: 10px;
  height: 14px;
  margin-left: 2px;
}
.couture-store-card .csc-link[data-csc-action="phone"]::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 1px;
  background: currentColor;
  border-radius: 1px;
  transform: translate(-7px, 11px);
}
.couture-store-card .csc-link[data-csc-action="email"]::before {
  border: 1.5px solid currentColor;
  border-radius: 1px;
  width: 14px;
  height: 10px;
  margin-top: 2px;
}

/* Status pip — open/closed indicator */
.couture-store-card .csc-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}
.couture-store-card .csc-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
  flex: 0 0 auto;
  box-shadow: 0 0 0 0 color-mix(in oklab, #16a34a 50%, transparent);
  animation: ws-csc-pulse 2s ease-out infinite;
}
.couture-store-card .csc-status[data-csc-status="closed"]::before {
  background: color-mix(in oklab, var(--c-ink) 30%, transparent);
  animation: none;
}
@keyframes ws-csc-pulse {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, #16a34a 50%, transparent); }
  60%      { box-shadow: 0 0 0 6px color-mix(in oklab, #16a34a 0%, transparent); }
}

/* Variants via [data-store-card-style] */
/* Variant: minimal — no border, no padding-around */
.couture-store-card[data-store-card-style="minimal"] {
  background: none;
  border: 0;
  padding: 0;
  border-radius: 0;
}

/* Variant: ink — dark card */
.couture-store-card[data-store-card-style="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-store-card[data-store-card-style="ink"] .csc-name { color: var(--c-paper); }
.couture-store-card[data-store-card-style="ink"] .csc-addr {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-store-card[data-store-card-style="ink"] .csc-hours {
  border-top-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
}
.couture-store-card[data-store-card-style="ink"] .csc-hours dt {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-store-card[data-store-card-style="ink"] .csc-hours dd { color: var(--c-paper); }
.couture-store-card[data-store-card-style="ink"] .csc-actions {
  border-top-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
}
.couture-store-card[data-store-card-style="ink"] .csc-link { color: var(--c-paper); }

/* Variant: with-image — top image header */
.couture-store-card[data-store-card-style="with-image"] {
  padding: 0;
  overflow: hidden;
}
.couture-store-card[data-store-card-style="with-image"] > .csc-img,
.couture-store-card[data-store-card-style="with-image"] > img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.couture-store-card[data-store-card-style="with-image"] > :not(img):not(.csc-img) {
  margin-left: clamp(20px, 3vw, 28px);
  margin-right: clamp(20px, 3vw, 28px);
}
.couture-store-card[data-store-card-style="with-image"] > :first-child:not(img):not(.csc-img) {
  margin-top: clamp(20px, 3vw, 28px);
}
.couture-store-card[data-store-card-style="with-image"] > :last-child {
  margin-bottom: clamp(20px, 3vw, 28px);
}

/* Sizes */
.couture-store-card[data-store-card-size="sm"] {
  padding: 14px 16px;
  font-size: 13px;
  gap: 8px;
}
.couture-store-card[data-store-card-size="sm"] .csc-name {
  font-size: 14px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-store-card .csc-status::before {
    animation: none;
  }
  .couture-store-card .csc-link {
    transition: none;
  }
  .couture-store-card .csc-link:hover {
    gap: 6px;
  }
}

/* WS-VISIBLE-101 — author bio compact card (end-of-article author block).
   Distinct from existing .couture-author-card-mini (smaller pill version)
   and .couture-byline-row / .couture-byline-meta (top-of-article byline).
   This is the larger card with bio paragraph + social links.

   Usage:
     <aside class="couture-author-bio">
       <img class="cab-avatar" src="…" alt="">
       <div class="cab-body">
         <div class="cab-eyebrow">About the author</div>
         <h4 class="cab-name">Maria Lemos</h4>
         <p class="cab-role">Founder · Atelier · Lisbon</p>
         <p class="cab-text">Maria has worked with stoneware for 15 years…</p>
         <div class="cab-social">
           <a class="cab-link" href="…" data-cab-link="instagram">Instagram</a>
           <a class="cab-link" href="…" data-cab-link="email">Email</a>
         </div>
       </div>
     </aside>
*/
.couture-author-bio {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: clamp(18px, 3vw, 28px);
  align-items: start;
  padding: clamp(20px, 3vw, 32px);
  margin: clamp(36px, 5vw, 64px) 0;
  background: color-mix(in oklab, var(--c-ink) 4%, var(--c-paper));
  border-radius: 10px;
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

.couture-author-bio .cab-avatar {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    color-mix(in oklab, var(--c-accent) 35%, var(--c-paper)) 0%,
    color-mix(in oklab, var(--c-accent) 12%, var(--c-paper)) 100%
  );
  border: 2px solid var(--c-paper);
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.18);
}

.couture-author-bio .cab-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.couture-author-bio .cab-eyebrow {
  font: 600 10.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

.couture-author-bio .cab-name {
  margin: 0;
  font: 700 18px/1.3 var(--c-display, var(--c-body));
  letter-spacing: -0.012em;
  color: var(--c-ink);
}

.couture-author-bio .cab-role {
  margin: 0;
  font: 500 12px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}

.couture-author-bio .cab-text {
  margin: 8px 0 0;
  font: 400 14.5px/1.6 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  max-width: 60ch;
}

.couture-author-bio .cab-social {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

.couture-author-bio .cab-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  text-decoration: none;
  transition: color .18s, gap .25s;
}
.couture-author-bio .cab-link:hover {
  color: var(--c-accent);
  gap: 10px;
}
.couture-author-bio .cab-link::before {
  content: "";
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  position: relative;
  border-radius: 2px;
  border: 1.5px solid currentColor;
}
.couture-author-bio .cab-link[data-cab-link="instagram"]::before {
  border-radius: 4px;
  position: relative;
}
.couture-author-bio .cab-link[data-cab-link="instagram"]::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  margin-left: -8.5px;
  margin-top: 1.5px;
}
.couture-author-bio .cab-link[data-cab-link="email"]::before {
  border-radius: 1px;
  width: 14px;
  height: 10px;
  margin-top: 1px;
}
.couture-author-bio .cab-link[data-cab-link="twitter"]::before,
.couture-author-bio .cab-link[data-cab-link="x"]::before {
  border: 0;
  width: auto;
  height: auto;
  font-family: var(--c-display, var(--c-body));
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  content: "𝕏";
  color: currentColor;
}
.couture-author-bio .cab-link[data-cab-link="web"]::before {
  border-radius: 50%;
  position: relative;
}
.couture-author-bio .cab-link[data-cab-link="web"]::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  border-top-color: transparent;
  border-bottom-color: transparent;
  margin-left: -10.5px;
  width: 12px;
  height: 12px;
  pointer-events: none;
}

/* Variants via [data-author-bio-style] */
/* Variant: minimal — flat layout, no bg */
.couture-author-bio[data-author-bio-style="minimal"] {
  background: none;
  border: 0;
  padding: clamp(16px, 2.5vw, 24px) 0;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 0;
}

/* Variant: ink — dark card */
.couture-author-bio[data-author-bio-style="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-author-bio[data-author-bio-style="ink"] .cab-name { color: var(--c-paper); }
.couture-author-bio[data-author-bio-style="ink"] .cab-role,
.couture-author-bio[data-author-bio-style="ink"] .cab-eyebrow {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-author-bio[data-author-bio-style="ink"] .cab-text {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-author-bio[data-author-bio-style="ink"] .cab-social {
  border-top-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
}
.couture-author-bio[data-author-bio-style="ink"] .cab-link {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}
.couture-author-bio[data-author-bio-style="ink"] .cab-link:hover {
  color: var(--c-paper);
}

/* Variant: stacked — avatar above text (centered) */
.couture-author-bio[data-author-bio-style="stacked"] {
  grid-template-columns: 1fr;
  text-align: center;
  align-items: center;
}
.couture-author-bio[data-author-bio-style="stacked"] .cab-avatar {
  margin: 0 auto;
}
.couture-author-bio[data-author-bio-style="stacked"] .cab-body {
  align-items: center;
}
.couture-author-bio[data-author-bio-style="stacked"] .cab-text {
  margin-left: auto;
  margin-right: auto;
}
.couture-author-bio[data-author-bio-style="stacked"] .cab-social {
  justify-content: center;
}

/* Sizes */
.couture-author-bio[data-author-bio-size="sm"] {
  grid-template-columns: 64px 1fr;
  padding: 16px 18px;
  gap: 14px;
}
.couture-author-bio[data-author-bio-size="sm"] .cab-avatar {
  width: 64px;
  height: 64px;
}
.couture-author-bio[data-author-bio-size="sm"] .cab-name {
  font-size: 15px;
}
.couture-author-bio[data-author-bio-size="sm"] .cab-text {
  font-size: 13.5px;
}

/* Mobile collapse */
@media (max-width: 540px) {
  .couture-author-bio {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .couture-author-bio .cab-avatar {
    width: 64px;
    height: 64px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-author-bio .cab-link {
    transition: none;
  }
  .couture-author-bio .cab-link:hover {
    gap: 6px;
  }
}

/* WS-VISIBLE-102 — hero rule prefix utility (small intro mark for hero text).
   Distinct from existing .couture-eyebrow (over-heading kicker label).
   This is the simpler decorative rule + small text combo: "── Est. 2014"
   sitting above a heading to mark place / year / lineage.

   Usage:
     <span class="couture-hero-rule">Est. 2014</span>
     <span class="couture-hero-rule" data-hero-rule="numeral">No. 03</span>
     <span class="couture-hero-rule" data-hero-rule="centered">Rua Madalena, Lisbon</span>
*/
.couture-hero-rule {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font: 500 12px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  margin-bottom: 16px;
  vertical-align: middle;
}
.couture-hero-rule::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 1px;
  background: currentColor;
  flex: 0 0 auto;
}

/* Variant: numeral — "No." prefix for editorial numeral marks */
.couture-hero-rule[data-hero-rule="numeral"] {
  letter-spacing: 0.08em;
  font-weight: 600;
}
.couture-hero-rule[data-hero-rule="numeral"]::before {
  width: 18px;
}

/* Variant: centered — rule on both sides */
.couture-hero-rule[data-hero-rule="centered"] {
  display: flex;
  justify-content: center;
  width: 100%;
}
.couture-hero-rule[data-hero-rule="centered"]::after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 1px;
  background: currentColor;
  flex: 0 0 auto;
}

/* Variant: bracket — wraps text in [ … ] */
.couture-hero-rule[data-hero-rule="bracket"]::before {
  content: "[";
  width: auto;
  height: auto;
  background: none;
  font: 700 16px/1 var(--c-mono, var(--c-body));
  color: currentColor;
}
.couture-hero-rule[data-hero-rule="bracket"]::after {
  content: "]";
  display: inline-block;
  font: 700 16px/1 var(--c-mono, var(--c-body));
  color: currentColor;
}

/* Variant: dot-prefix — small filled dot prefix instead of rule */
.couture-hero-rule[data-hero-rule="dot"]::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-accent);
}

/* Variant: caret — diamond glyph prefix */
.couture-hero-rule[data-hero-rule="caret"]::before {
  width: 6px;
  height: 6px;
  background: var(--c-accent);
  transform: rotate(45deg);
}

/* Variant: ribbon — small accent strip prefix */
.couture-hero-rule[data-hero-rule="ribbon"]::before {
  width: 4px;
  height: 14px;
  background: var(--c-accent);
  transform: skewX(-10deg);
}

/* Variant: stack — stacked rule + text (block) */
.couture-hero-rule[data-hero-rule="stack"] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.couture-hero-rule[data-hero-rule="stack"]::before {
  width: 48px;
}

/* Tone modifiers */
.couture-hero-rule[data-hero-rule-tone="ink"] {
  color: var(--c-ink);
}
.couture-hero-rule[data-hero-rule-tone="accent"] {
  color: var(--c-accent);
}
.couture-hero-rule[data-hero-rule-tone="paper"] {
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}

/* Sizes */
.couture-hero-rule[data-hero-rule-size="sm"] {
  font-size: 10.5px;
  letter-spacing: 0.14em;
  gap: 8px;
  margin-bottom: 10px;
}
.couture-hero-rule[data-hero-rule-size="sm"]::before {
  width: 22px;
}
.couture-hero-rule[data-hero-rule-size="lg"] {
  font-size: 13px;
  letter-spacing: 0.20em;
  gap: 16px;
  margin-bottom: 22px;
}
.couture-hero-rule[data-hero-rule-size="lg"]::before {
  width: 48px;
}

/* Display version — pairs with H1 below; reduces top margin */
.couture-hero-rule[data-hero-rule-display="hero"] {
  margin-bottom: 24px;
  font-size: 13px;
  letter-spacing: 0.22em;
}
.couture-hero-rule[data-hero-rule-display="hero"]::before {
  width: 64px;
  height: 2px;
}

/* Animated reveal — rule grows in on view */
.couture-hero-rule[data-hero-rule-anim="reveal"]::before {
  transform-origin: 0 50%;
  transform: scaleX(0);
  transition: transform .8s cubic-bezier(.65,.05,.35,1);
}
.couture-hero-rule[data-hero-rule-anim="reveal"].--in::before {
  transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
  .couture-hero-rule[data-hero-rule-anim="reveal"]::before {
    transition: none;
    transform: scaleX(1);
  }
}

/* WS-VISIBLE-103 — origin / "made-in" provenance pill utility.
   For product cards showing country of origin or maker location, like
   "Made in Lisbon" or "🇵🇹 Portugal". Distinct from generic .couture-badge
   (which is more semantic-state focused).

   Usage:
     <span class="couture-origin">
       <span class="cor-flag" aria-hidden="true">🇵🇹</span>
       <span class="cor-text">Made in Portugal</span>
     </span>

     <span class="couture-origin" data-origin="stamp">
       <span class="cor-text">Lisbon</span>
     </span>
*/
.couture-origin {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: middle;
}

.couture-origin .cor-flag {
  font-size: 14px;
  line-height: 1;
  flex: 0 0 auto;
}

.couture-origin .cor-text {
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* "Made in" prefix (auto-prepended via :before for cleaner markup) */
.couture-origin[data-origin-prefix="made-in"] .cor-text::before {
  content: "Made in ";
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  font-weight: 500;
}
.couture-origin[data-origin-prefix="from"] .cor-text::before {
  content: "From ";
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  font-weight: 500;
}
.couture-origin[data-origin-prefix="origin"] .cor-text::before {
  content: "Origin ";
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  font-weight: 500;
}

/* Variants via [data-origin] */
/* Variant: stamp — bordered rectangle, looks like a postage stamp */
.couture-origin[data-origin="stamp"] {
  border-radius: 0;
  border: 2px solid var(--c-ink);
  padding: 6px 12px;
  background: var(--c-paper);
  color: var(--c-ink);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  position: relative;
}
.couture-origin[data-origin="stamp"]::before,
.couture-origin[data-origin="stamp"]::after {
  content: "";
  position: absolute;
  inset: -4px -2px;
  border: 2px dashed currentColor;
  border-radius: 0;
  pointer-events: none;
  opacity: 0.35;
}
.couture-origin[data-origin="stamp"]::after {
  display: none;
}

/* Variant: chip — colored chip pill */
.couture-origin[data-origin="chip"] {
  background: color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  border-color: color-mix(in oklab, var(--c-accent) 28%, transparent);
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
}

/* Variant: ink — dark pill */
.couture-origin[data-origin="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-origin[data-origin="ink"][data-origin-prefix="made-in"] .cor-text::before,
.couture-origin[data-origin="ink"][data-origin-prefix="from"] .cor-text::before,
.couture-origin[data-origin="ink"][data-origin-prefix="origin"] .cor-text::before {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}

/* Variant: minimal — text-only, no border/bg */
.couture-origin[data-origin="minimal"] {
  background: none;
  border: 0;
  padding: 4px 0;
  text-transform: none;
  letter-spacing: 0.04em;
  font-family: var(--c-body);
  font-weight: 500;
  font-size: 12.5px;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}

/* Variant: bilingual — two language layout (eyebrow + native) */
.couture-origin[data-origin="bilingual"] {
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  padding: 6px 12px;
  text-transform: none;
  letter-spacing: 0;
}
.couture-origin[data-origin="bilingual"] .cor-text {
  font: 700 12px/1.2 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--c-ink);
}
.couture-origin[data-origin="bilingual"] .cor-native {
  font: 500 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

/* Variant: with-coords — lat/lng caption appended */
.couture-origin[data-origin="with-coords"] {
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 8px 14px;
  border-radius: 4px;
}
.couture-origin[data-origin="with-coords"] .cor-text {
  font-size: 11.5px;
}
.couture-origin[data-origin="with-coords"] .cor-coords {
  font: 500 9.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
  text-transform: none;
}

/* Pin glyph variant — tiny location marker icon prefix */
.couture-origin[data-origin-glyph="pin"] .cor-flag,
.couture-origin[data-origin-glyph="pin"]::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 11px;
  background: var(--c-accent);
  clip-path: path("M4,0 C6.2,0 8,1.8 8,4 C8,7.5 4,11 4,11 C4,11 0,7.5 0,4 C0,1.8 1.8,0 4,0 Z");
  flex: 0 0 auto;
}
.couture-origin[data-origin-glyph="pin"] .cor-flag {
  background: var(--c-accent);
}

/* Sizes */
.couture-origin[data-origin-size="sm"] {
  padding: 3px 8px;
  font-size: 10px;
  gap: 5px;
}
.couture-origin[data-origin-size="sm"] .cor-flag {
  font-size: 12px;
}
.couture-origin[data-origin-size="lg"] {
  padding: 6px 14px;
  font-size: 12.5px;
  gap: 8px;
}
.couture-origin[data-origin-size="lg"] .cor-flag {
  font-size: 18px;
}

/* WS-VISIBLE-104 — material / fabric swatch tile utility (texture display).
   Square tile showing a fabric/material with name + composition meta.
   Distinct from existing .couture-swatch-row (color chips) and
   .couture-color-swatch (inline color circles). This is the larger
   physical-feel material reference tile.

   Usage:
     <div class="couture-material-tile" style="--mt-color: #c4a673">
       <span class="cmt-swatch" style="background-image: url(linen.jpg)"></span>
       <div class="cmt-body">
         <h5 class="cmt-name">Heavy Linen</h5>
         <p class="cmt-spec">100% Linen · 320 g/m²</p>
       </div>
     </div>

   Variants via [data-material-tile]: row (default), column, compact,
   selectable (with active state). */
.couture-material-tile {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: center;
  padding: 10px;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-radius: 8px;
  transition: border-color .18s, transform .15s;
  text-decoration: none;
  color: inherit;
}
.couture-material-tile:hover {
  border-color: color-mix(in oklab, var(--c-accent) 40%, transparent);
}

.couture-material-tile .cmt-swatch {
  display: block;
  width: 64px;
  height: 64px;
  border-radius: 4px;
  background: var(--mt-color, color-mix(in oklab, var(--c-line) 30%, var(--c-paper)));
  background-size: cover;
  background-position: center;
  border: 1px solid color-mix(in oklab, var(--c-ink) 12%, transparent);
  flex: 0 0 auto;
  position: relative;
  overflow: hidden;
}
/* Subtle texture overlay (fine noise) for swatches without an image */
.couture-material-tile .cmt-swatch::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18 0'/></filter><rect width='80' height='80' filter='url(%23n)'/></svg>");
  mix-blend-mode: multiply;
  pointer-events: none;
}

.couture-material-tile .cmt-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.couture-material-tile .cmt-name {
  margin: 0;
  font: 700 13.5px/1.3 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-material-tile .cmt-spec {
  margin: 0;
  font: 500 11px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
  font-variant-numeric: tabular-nums;
}
.couture-material-tile .cmt-cap {
  font: 600 9.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  margin-bottom: 2px;
}

/* Variant: column — tile sits as a square with bottom caption */
.couture-material-tile[data-material-tile="column"] {
  grid-template-columns: 1fr;
  padding: 0;
}
.couture-material-tile[data-material-tile="column"] .cmt-swatch {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 8px 8px 0 0;
  border: 0;
}
.couture-material-tile[data-material-tile="column"] .cmt-body {
  padding: 10px 12px 12px;
}

/* Variant: compact — smaller swatch, single-line layout */
.couture-material-tile[data-material-tile="compact"] {
  grid-template-columns: 36px 1fr;
  gap: 10px;
  padding: 6px 10px;
}
.couture-material-tile[data-material-tile="compact"] .cmt-swatch {
  width: 36px;
  height: 36px;
}
.couture-material-tile[data-material-tile="compact"] .cmt-name {
  font-size: 12.5px;
}
.couture-material-tile[data-material-tile="compact"] .cmt-spec {
  font-size: 10.5px;
}

/* Variant: selectable — active state for picker */
.couture-material-tile[data-material-tile="selectable"] {
  cursor: pointer;
}
.couture-material-tile[data-material-tile="selectable"].--active,
.couture-material-tile[data-material-tile="selectable"][aria-selected="true"],
.couture-material-tile[data-material-tile="selectable"][aria-pressed="true"] {
  border-color: var(--c-ink);
  border-width: 2px;
  padding: 9px;
  position: relative;
}
.couture-material-tile[data-material-tile="selectable"].--active::after,
.couture-material-tile[data-material-tile="selectable"][aria-selected="true"]::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--c-ink);
  z-index: 2;
}
.couture-material-tile[data-material-tile="selectable"].--active::before,
.couture-material-tile[data-material-tile="selectable"][aria-selected="true"]::before {
  content: "";
  position: absolute;
  top: 11.5px;
  right: 12.5px;
  width: 9px;
  height: 5px;
  border-left: 1.5px solid var(--c-paper);
  border-bottom: 1.5px solid var(--c-paper);
  transform: rotate(-45deg);
  z-index: 3;
}

/* Companion: grid container for swatches */
.couture-material-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: clamp(8px, 1.5vw, 14px);
  margin: clamp(20px, 3vw, 32px) 0;
}
.couture-material-grid[data-material-grid="dense"] {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 6px;
}
.couture-material-grid[data-material-grid="airy"] {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

/* Composition badges — small labels for material composition */
.couture-material-tile .cmt-composition {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  flex-wrap: wrap;
}
.couture-material-tile .cmt-composition .cmt-pct {
  font: 600 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  padding: 2px 6px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .couture-material-tile {
    transition: none;
  }
}

/* WS-VISIBLE-105 — live status pip / online indicator (inline status text).
   Small inline pip + text combo for "Open now", "Live", "In stock" type
   status displays. Distinct from existing .couture-marker-active-dot
   (positioned status dot) and .couture-notif-dot (count badge).
   This is the inline status-with-label utility.

   Usage:
     <span class="couture-live-pip">Open now · 10:00–19:00</span>
     <span class="couture-live-pip" data-pip-status="closed">Closed today</span>
     <span class="couture-live-pip" data-pip-status="live">Live restock</span>
*/
.couture-live-pip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: 600 12px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  vertical-align: middle;
}
.couture-live-pip::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
  flex: 0 0 auto;
  position: relative;
  box-shadow: 0 0 0 0 color-mix(in oklab, #16a34a 50%, transparent);
  animation: ws-pip-pulse 2s ease-out infinite;
}
@keyframes ws-pip-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 color-mix(in oklab, currentColor 0%, transparent);
  }
  60% {
    box-shadow: 0 0 0 5px color-mix(in oklab, currentColor 0%, transparent);
  }
}

/* Status variants — pip color + label tone */
.couture-live-pip[data-pip-status="open"]::before,
.couture-live-pip[data-pip-status="online"]::before,
.couture-live-pip[data-pip-status="live"]::before,
.couture-live-pip[data-pip-status="in-stock"]::before,
.couture-live-pip[data-pip-status="active"]::before {
  background: #16a34a;
  animation-name: ws-pip-pulse-green;
}
@keyframes ws-pip-pulse-green {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, #16a34a 50%, transparent); }
  60%      { box-shadow: 0 0 0 5px color-mix(in oklab, #16a34a 0%, transparent); }
}

.couture-live-pip[data-pip-status="closed"]::before,
.couture-live-pip[data-pip-status="offline"]::before,
.couture-live-pip[data-pip-status="sold-out"]::before,
.couture-live-pip[data-pip-status="inactive"]::before {
  background: color-mix(in oklab, var(--c-ink) 30%, transparent);
  animation: none;
}
.couture-live-pip[data-pip-status="closed"],
.couture-live-pip[data-pip-status="offline"],
.couture-live-pip[data-pip-status="sold-out"],
.couture-live-pip[data-pip-status="inactive"] {
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

.couture-live-pip[data-pip-status="busy"]::before,
.couture-live-pip[data-pip-status="warn"]::before,
.couture-live-pip[data-pip-status="low-stock"]::before {
  background: #f59e0b;
  animation-name: ws-pip-pulse-amber;
}
@keyframes ws-pip-pulse-amber {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, #f59e0b 50%, transparent); }
  60%      { box-shadow: 0 0 0 5px color-mix(in oklab, #f59e0b 0%, transparent); }
}

.couture-live-pip[data-pip-status="error"]::before,
.couture-live-pip[data-pip-status="urgent"]::before,
.couture-live-pip[data-pip-status="ending-soon"]::before {
  background: #dc2626;
  animation-name: ws-pip-pulse-red;
}
@keyframes ws-pip-pulse-red {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, #dc2626 50%, transparent); }
  60%      { box-shadow: 0 0 0 7px color-mix(in oklab, #dc2626 0%, transparent); }
}

.couture-live-pip[data-pip-status="info"]::before,
.couture-live-pip[data-pip-status="upcoming"]::before {
  background: #3b82f6;
  animation-name: ws-pip-pulse-blue;
}
@keyframes ws-pip-pulse-blue {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklab, #3b82f6 50%, transparent); }
  60%      { box-shadow: 0 0 0 5px color-mix(in oklab, #3b82f6 0%, transparent); }
}

/* Variants via [data-pip-style] */
/* Variant: minimal — no animation, just static dot */
.couture-live-pip[data-pip-style="minimal"]::before {
  animation: none;
}

/* Variant: solid — pip filled with background tint */
.couture-live-pip[data-pip-style="solid"] {
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  background: color-mix(in oklab, currentColor 12%, var(--c-paper));
  border: 1px solid color-mix(in oklab, currentColor 22%, transparent);
}

/* Variant: square pip */
.couture-live-pip[data-pip-style="square"]::before {
  border-radius: 1px;
  width: 7px;
  height: 7px;
}

/* Variant: ring — outlined dot with center fill */
.couture-live-pip[data-pip-style="ring"]::before {
  width: 12px;
  height: 12px;
  background: transparent;
  border: 2px solid currentColor;
  position: relative;
}
.couture-live-pip[data-pip-style="ring"]::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  margin-left: -8.5px;
  margin-top: 1.5px;
}

/* Variant: blink — rapid blinking dot for urgent */
@keyframes ws-pip-blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.3; }
}
.couture-live-pip[data-pip-style="blink"]::before {
  animation: ws-pip-blink 1s ease-in-out infinite;
}

/* Sizes */
.couture-live-pip[data-pip-size="sm"] {
  font-size: 10.5px;
  gap: 5px;
}
.couture-live-pip[data-pip-size="sm"]::before {
  width: 6px;
  height: 6px;
}
.couture-live-pip[data-pip-size="lg"] {
  font-size: 14px;
  gap: 9px;
}
.couture-live-pip[data-pip-size="lg"]::before {
  width: 10px;
  height: 10px;
}

/* Tone modifier: paper (for use on dark bg) */
.couture-live-pip[data-pip-tone="paper"] {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-live-pip[data-pip-tone="paper"][data-pip-status="closed"],
.couture-live-pip[data-pip-tone="paper"][data-pip-status="offline"],
.couture-live-pip[data-pip-tone="paper"][data-pip-status="sold-out"] {
  color: color-mix(in oklab, var(--c-paper) 50%, transparent);
}

/* Companion: stack of pips (status legend) */
.couture-live-pip-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-live-pip::before {
    animation: none !important;
  }
}

/* WS-VISIBLE-106 — compact pill-style breadcrumb row utility (.couture-crumbs).
   Distinct from existing .couture-breadcrumb (basic chevron-separated text).
   This is a pill/chip-style breadcrumb with multiple visual variants.

   Usage:
     <nav class="couture-crumbs" aria-label="Breadcrumb">
       <a href="/">Home</a>
       <a href="/shop">Shop</a>
       <a href="/shop/tabletop">Tabletop</a>
       <span aria-current="page">Marble Bowl</span>
     </nav>
*/
.couture-crumbs {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  margin: clamp(8px, 1vw, 14px) 0;
  font: 500 12px/1.3 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
  list-style: none;
}

/* Default: pill-style with chevron separators */
.couture-crumbs > a,
.couture-crumbs > span {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: background .18s, color .18s, border-color .18s;
}
.couture-crumbs > a:hover {
  background: color-mix(in oklab, var(--c-ink) 8%, var(--c-paper));
  color: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}
.couture-crumbs > a:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* Current page */
.couture-crumbs > span,
.couture-crumbs > a[aria-current="page"],
.couture-crumbs > [aria-current="true"] {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: transparent;
}

/* Chevron separator between siblings */
.couture-crumbs > a + a::before,
.couture-crumbs > a + span::before,
.couture-crumbs > span + a::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid color-mix(in oklab, var(--c-ink) 30%, transparent);
  border-right: 1.5px solid color-mix(in oklab, var(--c-ink) 30%, transparent);
  transform: rotate(45deg);
  margin-right: 8px;
  margin-left: -2px;
  flex: 0 0 auto;
  transition: none;
}

/* Variants via [data-crumbs-style] */
/* Variant: text — text-only, chevron separators (lightest) */
.couture-crumbs[data-crumbs-style="text"] > a,
.couture-crumbs[data-crumbs-style="text"] > span {
  background: none;
  border: 0;
  padding: 4px 0;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--c-body);
  font-size: 13px;
}
.couture-crumbs[data-crumbs-style="text"] > a {
  text-decoration: none;
  color: color-mix(in oklab, var(--c-ink) 60%, transparent);
}
.couture-crumbs[data-crumbs-style="text"] > a:hover {
  color: var(--c-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.couture-crumbs[data-crumbs-style="text"] > a + a::before,
.couture-crumbs[data-crumbs-style="text"] > a + span::before {
  content: "/";
  width: auto;
  height: auto;
  border: 0;
  transform: none;
  font: 400 13px/1 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 25%, transparent);
  margin-right: 6px;
  margin-left: 4px;
}
.couture-crumbs[data-crumbs-style="text"] > a[aria-current="page"],
.couture-crumbs[data-crumbs-style="text"] > span,
.couture-crumbs[data-crumbs-style="text"] > [aria-current="true"] {
  color: var(--c-ink);
  font-weight: 700;
  background: none;
}

/* Variant: arrow — full-width arrow-shape pills */
.couture-crumbs[data-crumbs-style="arrow"] > a,
.couture-crumbs[data-crumbs-style="arrow"] > span {
  border-radius: 0;
  padding: 6px 18px 6px 14px;
  position: relative;
  border: 0;
  margin-right: -8px;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%);
}
.couture-crumbs[data-crumbs-style="arrow"] > a + a::before,
.couture-crumbs[data-crumbs-style="arrow"] > a + span::before {
  display: none;
}

/* Variant: minimal — lower-case, no caps, casual */
.couture-crumbs[data-crumbs-style="minimal"] {
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--c-body);
}
.couture-crumbs[data-crumbs-style="minimal"] > a,
.couture-crumbs[data-crumbs-style="minimal"] > span {
  background: none;
  border: 0;
  padding: 2px 0;
  font-weight: 500;
}
.couture-crumbs[data-crumbs-style="minimal"] > a + a::before,
.couture-crumbs[data-crumbs-style="minimal"] > a + span::before {
  content: "›";
  width: auto;
  height: auto;
  border: 0;
  transform: none;
  font: 400 14px/1 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 35%, transparent);
  margin: 0 4px;
}

/* Sizes */
.couture-crumbs[data-crumbs-size="sm"] {
  font-size: 10.5px;
  gap: 4px;
}
.couture-crumbs[data-crumbs-size="sm"] > a,
.couture-crumbs[data-crumbs-size="sm"] > span {
  padding: 3px 8px;
}
.couture-crumbs[data-crumbs-size="lg"] {
  font-size: 13px;
  gap: 8px;
}
.couture-crumbs[data-crumbs-size="lg"] > a,
.couture-crumbs[data-crumbs-size="lg"] > span {
  padding: 6px 14px;
}

/* Tone modifiers */
.couture-crumbs[data-crumbs-tone="paper"] > a,
.couture-crumbs[data-crumbs-tone="paper"] > span {
  background: color-mix(in oklab, var(--c-paper) 18%, transparent);
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
  border-color: color-mix(in oklab, var(--c-paper) 22%, transparent);
}
.couture-crumbs[data-crumbs-tone="paper"] > a:hover {
  color: var(--c-paper);
}
.couture-crumbs[data-crumbs-tone="paper"] > a + a::before,
.couture-crumbs[data-crumbs-tone="paper"] > a + span::before {
  border-top-color: color-mix(in oklab, var(--c-paper) 40%, transparent);
  border-right-color: color-mix(in oklab, var(--c-paper) 40%, transparent);
}

/* Sticky helper for top-of-page breadcrumbs */
.couture-crumbs[data-crumbs-sticky="true"] {
  position: sticky;
  top: 0;
  z-index: 10;
  background: color-mix(in oklab, var(--c-paper) 92%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding-left: clamp(16px, 2vw, 24px);
  padding-right: clamp(16px, 2vw, 24px);
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
}

/* Truncate middle on narrow viewports — keeps first + ellipsis + last */
.couture-crumbs[data-crumbs-truncate="true"] {
  flex-wrap: nowrap;
  overflow: hidden;
}
@media (max-width: 540px) {
  .couture-crumbs[data-crumbs-truncate="true"] > :nth-child(n+2):nth-last-child(n+3) {
    display: none;
  }
  .couture-crumbs[data-crumbs-truncate="true"] > :nth-child(2):nth-last-child(n+3)::after {
    content: "…";
    margin: 0 4px;
    color: color-mix(in oklab, var(--c-ink) 40%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-crumbs > a,
  .couture-crumbs > span {
    transition: none;
  }
}

/* WS-VISIBLE-107 — segmented rating bar utility (5-chunk horizontal fill).
   Distinct from existing .couture-stars (star icons) and .couture-rating-bar-mini
   (mini stars + score). This is the segmented-chunk visual style — five
   discrete rectangles, filled to --rating value (0–5).

   Usage:
     <span class="couture-rating-segments" style="--rating: 4">
       <span class="visually-hidden">4 of 5</span>
     </span>

   Or with explicit count:
     <span class="couture-rating-segments" style="--rating: 3.7" data-segments="ten">
       <span class="crs-num">3.7</span>
     </span>
*/
.couture-rating-segments {
  --rating: 0;
  --segments-count: 5;
  --seg-fill: #f59e0b;
  --seg-empty: color-mix(in oklab, var(--c-ink) 14%, transparent);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  vertical-align: middle;
  font: 600 12.5px/1.2 var(--c-mono, var(--c-body));
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  font-variant-numeric: tabular-nums;
}

.couture-rating-segments::before {
  content: "";
  display: inline-flex;
  width: 80px;
  height: 8px;
  border-radius: 2px;
  /* Segment-grid via repeating-linear-gradient (gaps + segments) */
  background-image:
    /* The segments themselves: the active fraction filled, rest empty */
    linear-gradient(
      to right,
      var(--seg-fill) 0,
      var(--seg-fill) calc(var(--rating, 0) / var(--segments-count, 5) * 100%),
      var(--seg-empty) calc(var(--rating, 0) / var(--segments-count, 5) * 100%),
      var(--seg-empty) 100%
    ),
    /* The gap mask: vertical white stripes between segments */
    repeating-linear-gradient(
      to right,
      transparent 0,
      transparent calc(100% / var(--segments-count, 5) - 2px),
      var(--c-paper) calc(100% / var(--segments-count, 5) - 2px),
      var(--c-paper) calc(100% / var(--segments-count, 5))
    );
}

/* Numeric label slot ("4.7") */
.couture-rating-segments .crs-num {
  font-weight: 700;
  color: var(--c-ink);
  font-size: 13px;
}

/* Of-N suffix ("/ 5") */
.couture-rating-segments .crs-of {
  font: 500 11.5px/1.2 var(--c-body);
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}

/* Variants via [data-segments] */
/* Variant: ten — 10-segment scale instead of 5 */
.couture-rating-segments[data-segments="ten"] {
  --segments-count: 10;
}

/* Variant: three — 3-segment scale (low/med/high) */
.couture-rating-segments[data-segments="three"] {
  --segments-count: 3;
}

/* Variant: rounded — pill-shaped segments */
.couture-rating-segments[data-segments-style="rounded"]::before {
  border-radius: 999px;
  height: 6px;
}

/* Variant: thick — chunkier bar */
.couture-rating-segments[data-segments-style="thick"]::before {
  height: 14px;
  border-radius: 3px;
}
.couture-rating-segments[data-segments-style="thick"] {
  font-size: 13px;
}

/* Variant: vertical — stacked vertical chunks */
.couture-rating-segments[data-segments-style="vertical"]::before {
  width: 8px;
  height: 60px;
  background-image:
    linear-gradient(
      to top,
      var(--seg-fill) 0,
      var(--seg-fill) calc(var(--rating, 0) / var(--segments-count, 5) * 100%),
      var(--seg-empty) calc(var(--rating, 0) / var(--segments-count, 5) * 100%),
      var(--seg-empty) 100%
    ),
    repeating-linear-gradient(
      to top,
      transparent 0,
      transparent calc(100% / var(--segments-count, 5) - 2px),
      var(--c-paper) calc(100% / var(--segments-count, 5) - 2px),
      var(--c-paper) calc(100% / var(--segments-count, 5))
    );
}

/* Variant: dots — discrete dots instead of segments */
.couture-rating-segments[data-segments-style="dots"]::before {
  background-image:
    linear-gradient(
      to right,
      var(--seg-fill) 0,
      var(--seg-fill) calc(var(--rating, 0) / var(--segments-count, 5) * 100%),
      var(--seg-empty) calc(var(--rating, 0) / var(--segments-count, 5) * 100%),
      var(--seg-empty) 100%
    );
  -webkit-mask-image: radial-gradient(circle at 8px 50%, #000 4px, transparent 5px);
          mask-image: radial-gradient(circle at 8px 50%, #000 4px, transparent 5px);
  -webkit-mask-size: 16px 100%;
          mask-size: 16px 100%;
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  height: 8px;
  width: 80px;
  border-radius: 0;
}

/* Tone variants — fill color */
.couture-rating-segments[data-segments-tone="ink"] {
  --seg-fill: var(--c-ink);
}
.couture-rating-segments[data-segments-tone="accent"] {
  --seg-fill: var(--c-accent);
}
.couture-rating-segments[data-segments-tone="green"] {
  --seg-fill: #16a34a;
}
.couture-rating-segments[data-segments-tone="paper"] {
  --seg-fill: var(--c-paper);
  --seg-empty: color-mix(in oklab, var(--c-paper) 22%, transparent);
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-rating-segments[data-segments-tone="paper"] .crs-num {
  color: var(--c-paper);
}

/* Sizes */
.couture-rating-segments[data-segments-size="sm"]::before {
  width: 60px;
  height: 6px;
}
.couture-rating-segments[data-segments-size="sm"] {
  font-size: 11px;
}
.couture-rating-segments[data-segments-size="lg"]::before {
  width: 120px;
  height: 12px;
}
.couture-rating-segments[data-segments-size="lg"] {
  font-size: 14.5px;
}

/* Animated reveal: fill grows from 0 on .--in trigger */
.couture-rating-segments[data-segments-anim="reveal"]::before {
  transition: background 1.2s cubic-bezier(.65,.05,.35,1);
}
.couture-rating-segments[data-segments-anim="reveal"]:not(.--in) {
  --rating: 0;
}

@media (prefers-reduced-motion: reduce) {
  .couture-rating-segments[data-segments-anim="reveal"]::before {
    transition: none;
  }
}

/* WS-VISIBLE-108 — full-section big-quote pull section ("Quote of the day").
   Distinct from existing .couture-pullquote (inline editorial pull-quote)
   and .couture-bubble (testimonial bubble). This is a full-bleed section
   with massive quote text + cite, designed as a standalone <section>.

   Usage:
     <section class="couture-big-quote">
       <span class="cbq-eyebrow">Quote of the day</span>
       <blockquote class="cbq-text">
         <p>The cup is the most basic thing we have. Everything else
            comes from how it sits in your hand.</p>
       </blockquote>
       <cite class="cbq-cite">
         <span class="cbq-author">Maria Lemos</span>
         <span class="cbq-meta">Founder · Atelier · Lisbon</span>
       </cite>
     </section>
*/
.couture-big-quote {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(20px, 3vw, 32px);
  padding: clamp(64px, 10vw, 144px) clamp(20px, 4vw, 48px);
  margin: clamp(48px, 7vw, 96px) 0;
  position: relative;
  isolation: isolate;
}

.couture-big-quote .cbq-eyebrow {
  font: 700 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

.couture-big-quote .cbq-text {
  margin: 0;
  max-width: 28ch;
  font: 200 clamp(28px, 5.2vw, 64px)/1.18 var(--c-display, var(--c-body));
  letter-spacing: -0.02em;
  color: var(--c-ink);
  position: relative;
  text-wrap: balance;
}
.couture-big-quote .cbq-text > p {
  margin: 0;
}
.couture-big-quote .cbq-text > p + p {
  margin-top: 0.5em;
}
.couture-big-quote .cbq-text::before {
  content: "\201C";
  display: block;
  font: 200 clamp(64px, 10vw, 120px)/.6 var(--c-display, var(--c-body));
  color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  margin-bottom: 16px;
  height: 0.5em;
}

.couture-big-quote .cbq-cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: clamp(8px, 1.5vw, 16px);
}
.couture-big-quote .cbq-author {
  font: 700 14px/1.3 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
  color: var(--c-ink);
}
.couture-big-quote .cbq-author::before {
  content: "— ";
  color: var(--c-accent);
  font-weight: 400;
}
.couture-big-quote .cbq-meta {
  font: 600 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  margin-top: 4px;
}

/* Variants via [data-big-quote-style] */
/* Variant: ink — dark bg, paper text */
.couture-big-quote[data-big-quote-style="ink"] {
  background: var(--c-ink);
  color: var(--c-paper);
}
.couture-big-quote[data-big-quote-style="ink"] .cbq-text { color: var(--c-paper); }
.couture-big-quote[data-big-quote-style="ink"] .cbq-author { color: var(--c-paper); }
.couture-big-quote[data-big-quote-style="ink"] .cbq-meta,
.couture-big-quote[data-big-quote-style="ink"] .cbq-eyebrow {
  color: color-mix(in oklab, var(--c-paper) 60%, transparent);
}
.couture-big-quote[data-big-quote-style="ink"] .cbq-text::before {
  color: color-mix(in oklab, var(--c-paper) 30%, transparent);
}

/* Variant: accent — accent-tinted bg with quote in accent */
.couture-big-quote[data-big-quote-style="accent"] {
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
}
.couture-big-quote[data-big-quote-style="accent"] .cbq-text {
  color: color-mix(in oklab, var(--c-accent) 60%, var(--c-ink));
}

/* Variant: italic — script-feel italic editorial quote */
.couture-big-quote[data-big-quote-style="italic"] .cbq-text {
  font-style: italic;
  font-weight: 300;
  letter-spacing: -0.012em;
}

/* Variant: minimal — no decorative open-quote glyph */
.couture-big-quote[data-big-quote-style="minimal"] .cbq-text::before {
  display: none;
}
.couture-big-quote[data-big-quote-style="minimal"] {
  padding: clamp(48px, 7vw, 96px) clamp(20px, 4vw, 48px);
}

/* Variant: marks — large left + right quote marks framing */
.couture-big-quote[data-big-quote-style="marks"] .cbq-text::after {
  content: "\201D";
  display: inline-block;
  font: 200 clamp(64px, 10vw, 120px)/.6 var(--c-display, var(--c-body));
  color: color-mix(in oklab, var(--c-accent) 50%, transparent);
  margin-top: 16px;
  height: 0.3em;
}

/* Variant: framed — large quote framed by ruled box */
.couture-big-quote[data-big-quote-style="framed"] {
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  padding: clamp(48px, 7vw, 96px);
  margin: clamp(28px, 4vw, 56px) auto;
  max-width: 920px;
  border-radius: 0;
}

/* Variant: left-align — left-aligned text instead of centered */
.couture-big-quote[data-big-quote-align="left"] {
  align-items: flex-start;
  text-align: left;
}
.couture-big-quote[data-big-quote-align="left"] .cbq-cite {
  align-items: flex-start;
}
.couture-big-quote[data-big-quote-align="left"] .cbq-text::before {
  text-align: left;
  height: auto;
  margin-bottom: 24px;
}

/* Width clamps */
.couture-big-quote[data-big-quote-width="narrow"] .cbq-text {
  max-width: 18ch;
}
.couture-big-quote[data-big-quote-width="wide"] .cbq-text {
  max-width: 38ch;
}

/* Companion: rotation slot for rotating quotes (CSS-only via @keyframes) */
.couture-big-quote-rotator {
  position: relative;
  display: grid;
  grid-template-areas: "quote";
}
.couture-big-quote-rotator > .couture-big-quote {
  grid-area: quote;
}

@media (prefers-reduced-motion: reduce) {
  .couture-big-quote {
    /* Nothing animated by default; respect for variants */
  }
}

/* WS-VISIBLE-109 — read-status / read-unread indicator utility.
   Distinct from .couture-live-pip (status with text label), .couture-notif-dot
   (count badge), and .couture-marker-active-dot (status indicator). This
   is the simple read/unread visual marker — used in inboxes, blog post
   lists, message rows.

   Usage:
     <span class="couture-read-status" data-read="false" aria-label="Unread"></span>
     <span class="couture-read-status" data-read="true" aria-label="Read"></span>
*/
.couture-read-status {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: transparent;
  border: 1.5px solid color-mix(in oklab, var(--c-line) 80%, transparent);
  flex: 0 0 auto;
  vertical-align: middle;
  transition: background .18s, border-color .18s, transform .15s;
}

/* Unread state — accent-filled solid dot */
.couture-read-status[data-read="false"],
.couture-read-status.--unread {
  background: var(--c-accent);
  border-color: var(--c-accent);
}

/* Read state (default) — empty outline */
.couture-read-status[data-read="true"],
.couture-read-status.--read {
  background: transparent;
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
}

/* Variants via [data-read-status-style] */
/* Variant: filled — solid for unread, light fill for read */
.couture-read-status[data-read-status-style="filled"][data-read="true"] {
  background: color-mix(in oklab, var(--c-line) 50%, transparent);
  border-color: transparent;
}

/* Variant: dot — bare dot, no border */
.couture-read-status[data-read-status-style="dot"] {
  border: 0;
}
.couture-read-status[data-read-status-style="dot"][data-read="true"] {
  background: color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* Variant: pulse — animated pulse for unread */
.couture-read-status[data-read-status-style="pulse"][data-read="false"]::after,
.couture-read-status[data-read-status-style="pulse"].--unread::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid currentColor;
  color: var(--c-accent);
  opacity: 0.55;
  animation: ws-rs-pulse 1.6s ease-out infinite;
}
.couture-read-status[data-read-status-style="pulse"] {
  position: relative;
}
@keyframes ws-rs-pulse {
  0%   { transform: scale(0.6); opacity: .65; }
  100% { transform: scale(2.2); opacity: 0; }
}

/* Variant: bar — left bar instead of dot (good for list rows) */
.couture-read-status[data-read-status-style="bar"] {
  width: 3px;
  height: 22px;
  border-radius: 2px;
  border: 0;
}
.couture-read-status[data-read-status-style="bar"][data-read="false"],
.couture-read-status[data-read-status-style="bar"].--unread {
  background: var(--c-accent);
}
.couture-read-status[data-read-status-style="bar"][data-read="true"],
.couture-read-status[data-read-status-style="bar"].--read {
  background: transparent;
}

/* Variant: check — checkmark glyph for read */
.couture-read-status[data-read-status-style="check"] {
  position: relative;
  border: 0;
  background: none;
}
.couture-read-status[data-read-status-style="check"][data-read="false"]::before,
.couture-read-status[data-read-status-style="check"].--unread::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
}
.couture-read-status[data-read-status-style="check"][data-read="true"]::before,
.couture-read-status[data-read-status-style="check"].--read::before {
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  border-left: 1.5px solid color-mix(in oklab, var(--c-ink) 50%, transparent);
  border-bottom: 1.5px solid color-mix(in oklab, var(--c-ink) 50%, transparent);
  transform: rotate(-45deg);
  margin-top: 3px;
}

/* Sizes */
.couture-read-status[data-read-status-size="sm"] {
  width: 6px;
  height: 6px;
}
.couture-read-status[data-read-status-size="lg"] {
  width: 11px;
  height: 11px;
}

/* Tone modifiers (only affects unread color) */
.couture-read-status[data-read-status-tone="ink"][data-read="false"],
.couture-read-status[data-read-status-tone="ink"].--unread {
  background: var(--c-ink);
  border-color: var(--c-ink);
}
.couture-read-status[data-read-status-tone="error"][data-read="false"],
.couture-read-status[data-read-status-tone="error"].--unread {
  background: #dc2626;
  border-color: #dc2626;
}
.couture-read-status[data-read-status-tone="success"][data-read="false"],
.couture-read-status[data-read-status-tone="success"].--unread {
  background: #16a34a;
  border-color: #16a34a;
}

/* Companion: row helper that hooks into read state for visual emphasis */
.couture-read-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  font: 500 14px/1.4 var(--c-body);
  color: var(--c-ink);
  border-radius: 6px;
  transition: background .18s;
}
.couture-read-row:hover {
  background: color-mix(in oklab, var(--c-ink) 4%, transparent);
}
/* Unread row visual treatment — bolder text + slightly tinted bg */
.couture-read-row[data-read="false"],
.couture-read-row.--unread {
  font-weight: 700;
  background: color-mix(in oklab, var(--c-accent) 5%, transparent);
}
.couture-read-row .crr-meta {
  margin-left: auto;
  font: 500 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .couture-read-status,
  .couture-read-status[data-read-status-style="pulse"][data-read="false"]::after {
    transition: none !important;
    animation: none !important;
  }
  .couture-read-row {
    transition: none;
  }
}

/* WS-VISIBLE-110 — preview iframe wrap (browser chrome / device frame).
   Wrap an image, iframe, or screenshot with a fake "browser chrome"
   header (3 traffic-light dots + URL bar) for case studies, portfolios,
   docs displaying screenshots.

   Usage:
     <div class="couture-browser-frame">
       <div class="cbf-bar">
         <span class="cbf-dots"></span>
         <span class="cbf-url">atelier.example/journal</span>
       </div>
       <div class="cbf-screen">
         <img src="…" alt="">
       </div>
     </div>
*/
.couture-browser-frame {
  display: block;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  border-radius: 10px;
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(0,0,0,0.04),
    0 24px 48px -28px rgba(0,0,0,0.25);
  margin: clamp(28px, 4vw, 56px) auto;
  max-width: 100%;
}

/* Top bar with traffic-light dots + URL */
.couture-browser-frame .cbf-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
}

/* Traffic-light dots — three colored circles */
.couture-browser-frame .cbf-dots {
  display: inline-flex;
  gap: 6px;
  flex: 0 0 auto;
}
.couture-browser-frame .cbf-dots::before,
.couture-browser-frame .cbf-dots::after,
.couture-browser-frame .cbf-dots {
  /* The container itself is one dot */
}
.couture-browser-frame .cbf-dots::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #ff5f57;
  display: inline-block;
  box-shadow:
    18px 0 0 #febc2e,
    36px 0 0 #28c840;
}

/* URL bar */
.couture-browser-frame .cbf-url {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  margin: 0 60px 0 28px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper) 80%, var(--c-ink));
  border: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  font: 500 11.5px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.02em;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  font-variant-numeric: tabular-nums;
  max-width: 360px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.couture-browser-frame .cbf-url::before {
  content: "🔒";
  margin-right: 6px;
  font-size: 9px;
  opacity: 0.55;
}

/* Optional right-side icons (refresh / extensions) */
.couture-browser-frame .cbf-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-browser-frame .cbf-actions::after {
  content: "⋯";
  font: 700 16px/1 var(--c-body);
}

/* Screen / content area */
.couture-browser-frame .cbf-screen {
  background: var(--c-paper);
  display: block;
  position: relative;
  overflow: hidden;
}
.couture-browser-frame .cbf-screen > img,
.couture-browser-frame .cbf-screen > picture > img,
.couture-browser-frame .cbf-screen > iframe {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
}
.couture-browser-frame .cbf-screen > iframe {
  min-height: 320px;
}

/* Variants via [data-browser-frame] */
/* Variant: minimal — no URL, just dots */
.couture-browser-frame[data-browser-frame="minimal"] .cbf-url,
.couture-browser-frame[data-browser-frame="minimal"] .cbf-actions {
  display: none;
}
.couture-browser-frame[data-browser-frame="minimal"] .cbf-bar {
  justify-content: flex-start;
}

/* Variant: ink — dark Mac-Safari-style */
.couture-browser-frame[data-browser-frame="ink"] {
  background: var(--c-ink);
  border-color: color-mix(in oklab, var(--c-paper) 14%, transparent);
}
.couture-browser-frame[data-browser-frame="ink"] .cbf-bar {
  background: color-mix(in oklab, var(--c-ink) 88%, var(--c-paper));
  border-bottom-color: color-mix(in oklab, var(--c-paper) 14%, transparent);
}
.couture-browser-frame[data-browser-frame="ink"] .cbf-url {
  background: color-mix(in oklab, var(--c-paper) 8%, transparent);
  border-color: color-mix(in oklab, var(--c-paper) 14%, transparent);
  color: color-mix(in oklab, var(--c-paper) 75%, transparent);
}

/* Variant: phone — phone frame (rounded sides + notch indicator) */
.couture-browser-frame[data-browser-frame="phone"] {
  border-radius: 32px;
  border-width: 8px;
  border-color: var(--c-ink);
  max-width: 360px;
  background: var(--c-ink);
}
.couture-browser-frame[data-browser-frame="phone"] .cbf-bar {
  display: none;
}
.couture-browser-frame[data-browser-frame="phone"] .cbf-screen {
  border-radius: 24px 24px 0 0;
  position: relative;
  padding-top: 28px;
}
.couture-browser-frame[data-browser-frame="phone"] .cbf-screen::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 18px;
  background: var(--c-ink);
  border-radius: 0 0 14px 14px;
  z-index: 2;
}

/* Variant: tablet — wider frame, no URL */
.couture-browser-frame[data-browser-frame="tablet"] {
  border-radius: 18px;
  border-width: 10px;
  border-color: var(--c-ink);
  background: var(--c-ink);
  max-width: 620px;
}
.couture-browser-frame[data-browser-frame="tablet"] .cbf-bar {
  display: none;
}

/* Variant: card — soft shadow, no frame */
.couture-browser-frame[data-browser-frame="card"] {
  border: 0;
  box-shadow:
    0 1px 0 rgba(0,0,0,0.04),
    0 32px 64px -32px rgba(0,0,0,0.32);
  border-radius: 14px;
}

/* Aspect-ratio helpers for screen */
.couture-browser-frame[data-browser-frame-ratio="16-9"] .cbf-screen {
  aspect-ratio: 16 / 9;
}
.couture-browser-frame[data-browser-frame-ratio="4-3"] .cbf-screen {
  aspect-ratio: 4 / 3;
}
.couture-browser-frame[data-browser-frame-ratio="3-2"] .cbf-screen {
  aspect-ratio: 3 / 2;
}
.couture-browser-frame[data-browser-frame-ratio="auto"] .cbf-screen {
  aspect-ratio: auto;
}

/* Sizes */
.couture-browser-frame[data-browser-frame-size="sm"] {
  max-width: 480px;
}
.couture-browser-frame[data-browser-frame-size="lg"] {
  max-width: 1100px;
}

/* Tilt modifier — slight 3D perspective tilt */
.couture-browser-frame[data-browser-frame-tilt="left"] {
  transform: perspective(1200px) rotateY(-6deg) rotateX(2deg);
}
.couture-browser-frame[data-browser-frame-tilt="right"] {
  transform: perspective(1200px) rotateY(6deg) rotateX(2deg);
}

@media (prefers-reduced-motion: reduce) {
  .couture-browser-frame[data-browser-frame-tilt="left"],
  .couture-browser-frame[data-browser-frame-tilt="right"] {
    transform: none;
  }
}

/* WS-VISIBLE-111 — pull-tab side button (sticky viewport-edge tab).
   Vertical-text button stuck to right viewport edge for "Feedback",
   "Help", "Contact" persistent affordances. Distinct from existing
   .couture-side-tab-group (vertical settings tabs).

   Usage:
     <button class="couture-pull-tab" data-pull-tab-pos="right">Feedback</button>
*/
.couture-pull-tab {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%) translateX(0);
  z-index: 30;
  padding: 14px 10px;
  background: var(--c-ink);
  color: var(--c-paper);
  border: 0;
  border-radius: 6px 0 0 6px;
  font: 700 11px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  /* Vertical text */
  writing-mode: vertical-rl;
  text-orientation: mixed;
  box-shadow: -4px 0 12px -6px rgba(0,0,0,0.25);
  transition: background .18s, transform .25s cubic-bezier(.34, 1.56, .64, 1);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 100px;
}

.couture-pull-tab:hover {
  background: var(--c-accent);
  transform: translateY(-50%) translateX(-3px);
}

.couture-pull-tab:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}

/* Position variants via [data-pull-tab-pos] */
.couture-pull-tab[data-pull-tab-pos="left"] {
  right: auto;
  left: 0;
  border-radius: 0 6px 6px 0;
  box-shadow: 4px 0 12px -6px rgba(0,0,0,0.25);
  /* Reverse vertical text orientation */
  writing-mode: vertical-lr;
}
.couture-pull-tab[data-pull-tab-pos="left"]:hover {
  transform: translateY(-50%) translateX(3px);
}

/* Optional position offsets (top / bottom of right edge) */
.couture-pull-tab[data-pull-tab-pos="top-right"] {
  top: 100px;
  transform: none;
}
.couture-pull-tab[data-pull-tab-pos="top-right"]:hover {
  transform: translateX(-3px);
}
.couture-pull-tab[data-pull-tab-pos="bottom-right"] {
  top: auto;
  bottom: 100px;
  transform: none;
}
.couture-pull-tab[data-pull-tab-pos="bottom-right"]:hover {
  transform: translateX(-3px);
}

/* Variants via [data-pull-tab-style] */
/* Variant: minimal — outlined, paper bg */
.couture-pull-tab[data-pull-tab-style="minimal"] {
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-right: 0;
}
.couture-pull-tab[data-pull-tab-style="minimal"][data-pull-tab-pos="left"] {
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  border-left: 0;
}
.couture-pull-tab[data-pull-tab-style="minimal"]:hover {
  background: color-mix(in oklab, var(--c-ink) 5%, var(--c-paper));
  color: var(--c-ink);
}

/* Variant: accent — accent-color filled */
.couture-pull-tab[data-pull-tab-style="accent"] {
  background: var(--c-accent);
  color: var(--c-paper);
}
.couture-pull-tab[data-pull-tab-style="accent"]:hover {
  background: color-mix(in oklab, var(--c-accent) 80%, var(--c-ink));
}

/* Variant: glass — frosted glass */
.couture-pull-tab[data-pull-tab-style="glass"] {
  background: color-mix(in oklab, var(--c-paper) 70%, transparent);
  color: var(--c-ink);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid color-mix(in oklab, var(--c-paper) 40%, transparent);
  border-right: 0;
}

/* Optional icon prefix glyph */
.couture-pull-tab .cpt-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  position: relative;
  font-size: 0;
  /* Reset writing mode for the glyph so shapes render correctly */
  writing-mode: horizontal-tb;
}
.couture-pull-tab .cpt-glyph[data-pull-tab-glyph="chat"]::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1.5px solid currentColor;
  border-radius: 4px 4px 4px 1px;
}
.couture-pull-tab .cpt-glyph[data-pull-tab-glyph="arrow"]::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  top: 3px;
  left: 2px;
}
.couture-pull-tab[data-pull-tab-pos="left"] .cpt-glyph[data-pull-tab-glyph="arrow"]::before {
  transform: rotate(225deg);
  left: 4px;
}

/* Sizes */
.couture-pull-tab[data-pull-tab-size="sm"] {
  padding: 10px 8px;
  font-size: 9.5px;
  min-height: 80px;
}
.couture-pull-tab[data-pull-tab-size="lg"] {
  padding: 18px 12px;
  font-size: 12.5px;
  min-height: 130px;
}

/* Mobile: hide by default — show only via [data-pull-tab-mobile="true"] */
@media (max-width: 640px) {
  .couture-pull-tab:not([data-pull-tab-mobile="true"]) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-pull-tab {
    transition: background .18s;
  }
  .couture-pull-tab:hover {
    transform: translateY(-50%);
  }
  .couture-pull-tab[data-pull-tab-pos="top-right"]:hover,
  .couture-pull-tab[data-pull-tab-pos="bottom-right"]:hover {
    transform: none;
  }
  .couture-pull-tab[data-pull-tab-pos="left"]:hover {
    transform: translateY(-50%);
  }
}

/* WS-VISIBLE-112 — sticky scroll-anchor section label utility.
   Small sticky-on-scroll pill that displays the current section name
   as the user scrolls past anchored headings. Distinct from existing
   .couture-toc (sidebar TOC) and .couture-tag-rail (nav).

   Usage:
     <header class="couture-anchor-label">
       <span class="csa-eyebrow">Section</span>
       <span class="csa-name">Materials &amp; provenance</span>
     </header>
*/
.couture-anchor-label {
  position: sticky;
  top: clamp(12px, 2vw, 24px);
  z-index: 20;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  margin: clamp(20px, 3vw, 32px) 0 0;
  background: color-mix(in oklab, var(--c-paper) 92%, transparent);
  backdrop-filter: blur(8px) saturate(1.1);
  -webkit-backdrop-filter: blur(8px) saturate(1.1);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  border-radius: 999px;
  box-shadow: 0 6px 16px -8px rgba(0,0,0,0.12);
  font: 500 12.5px/1.2 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: var(--c-ink);
  width: max-content;
  max-width: calc(100% - 24px);
}

.couture-anchor-label .csa-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 700 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 55%, transparent);
  padding-right: 10px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}
.couture-anchor-label .csa-eyebrow::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-accent);
  flex: 0 0 auto;
}

.couture-anchor-label .csa-name {
  font: 600 13px/1.2 var(--c-display, var(--c-body));
  letter-spacing: -0.005em;
  color: var(--c-ink);
}

.couture-anchor-label .csa-num {
  font: 700 10px/1 var(--c-mono, var(--c-body));
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--c-accent) 70%, var(--c-ink));
  font-variant-numeric: tabular-nums;
}

/* Variants via [data-section-anchor-style] */
/* Variant: minimal — bare text, no border/bg */
.couture-anchor-label[data-section-anchor-style="minimal"] {
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 0;
  box-shadow: none;
  padding: 4px 0;
  border-radius: 0;
}

/* Variant: ink — dark pill */
.couture-anchor-label[data-section-anchor-style="ink"] {
  background: color-mix(in oklab, var(--c-ink) 88%, transparent);
  color: var(--c-paper);
  border-color: transparent;
}
.couture-anchor-label[data-section-anchor-style="ink"] .csa-name { color: var(--c-paper); }
.couture-anchor-label[data-section-anchor-style="ink"] .csa-eyebrow {
  color: color-mix(in oklab, var(--c-paper) 55%, transparent);
  border-right-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
}

/* Variant: card — full-width sticky bar */
.couture-anchor-label[data-section-anchor-style="card"] {
  display: flex;
  width: 100%;
  max-width: none;
  border-radius: 0;
  padding: 12px clamp(16px, 2vw, 24px);
  border: 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent);
  margin-left: 0;
  margin-right: 0;
  top: 0;
}

/* Variant: number — leads with a section number prefix */
.couture-anchor-label[data-section-anchor-style="number"] .csa-eyebrow {
  display: none;
}
.couture-anchor-label[data-section-anchor-style="number"] .csa-num {
  padding-right: 10px;
  border-right: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
}

/* Position helpers */
.couture-anchor-label[data-section-anchor-pos="center"] {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  width: max-content;
  left: 50%;
  transform: translateX(-50%);
}
.couture-anchor-label[data-section-anchor-pos="right"] {
  margin-left: auto;
  display: flex;
  width: max-content;
}

/* Sizes */
.couture-anchor-label[data-section-anchor-size="sm"] {
  padding: 6px 12px;
  font-size: 11.5px;
  gap: 8px;
}
.couture-anchor-label[data-section-anchor-size="sm"] .csa-name {
  font-size: 12px;
}
.couture-anchor-label[data-section-anchor-size="lg"] {
  padding: 12px 18px;
  font-size: 13.5px;
  gap: 14px;
}
.couture-anchor-label[data-section-anchor-size="lg"] .csa-name {
  font-size: 15px;
}

/* Animated reveal: pill slides down from -100% (opt-in via [data-section-anchor-anim]) */
@keyframes ws-csa-slide-in {
  from { transform: translateY(-120%); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
.couture-anchor-label[data-section-anchor-anim="slide"] {
  animation: ws-csa-slide-in .35s cubic-bezier(.2,.8,.2,1) both;
}

@media (prefers-reduced-motion: reduce) {
  .couture-anchor-label[data-section-anchor-anim="slide"] {
    animation: none;
  }
}

/* Companion: scroll-margin helper for h2/h3 anchored headings */
.couture-anchor-label-target {
  scroll-margin-top: clamp(80px, 12vw, 140px);
}

/* WS-VISIBLE-113 — bookmark / save-for-later utility (paper corner-fold).
   Small bookmark icon for "save this article" / "add to wishlist" with a
   distinctive triangular paper corner-fold visual. Distinct from existing
   .couture-heart (wishlist heart toggle) — this is the bookmark-ribbon
   shape (vertical pin-tail).

   Usage:
     <button class="couture-bookmark" aria-pressed="false" aria-label="Save">
       <span class="cbm-glyph"></span>
       <span class="visually-hidden">Save</span>
     </button>
*/
.couture-bookmark {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  transition: color .18s, transform .15s;
  flex: 0 0 auto;
}
.couture-bookmark:hover {
  color: var(--c-ink);
  transform: translateY(-1px);
}
.couture-bookmark:active {
  transform: translateY(0);
}
.couture-bookmark:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
  border-radius: 2px;
}

/* The bookmark-ribbon glyph */
.couture-bookmark .cbm-glyph {
  display: block;
  width: 16px;
  height: 22px;
  background: transparent;
  border: 1.5px solid currentColor;
  border-bottom: 0;
  /* Notch at the bottom — V-shape via clip-path */
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70%, 0 100%);
  transition: background .25s, border-color .25s, transform .25s cubic-bezier(.34, 1.56, .64, 1);
  position: relative;
}

/* Active state — fills with accent color */
.couture-bookmark.--active .cbm-glyph,
.couture-bookmark[aria-pressed="true"] .cbm-glyph,
.couture-bookmark[data-bookmarked="true"] .cbm-glyph {
  background: var(--c-accent);
  border-color: var(--c-accent);
  animation: ws-cbm-pop .45s cubic-bezier(.34, 1.56, .64, 1);
}
@keyframes ws-cbm-pop {
  0%   { transform: scale(0.85); }
  50%  { transform: scale(1.18); }
  100% { transform: scale(1); }
}

/* Variants via [data-bookmark-style] */
/* Variant: minimal — smaller, lighter weight glyph */
.couture-bookmark[data-bookmark-style="minimal"] .cbm-glyph {
  border-width: 1px;
  width: 14px;
  height: 18px;
}

/* Variant: filled — outline + filled corner ribbon */
.couture-bookmark[data-bookmark-style="filled"] .cbm-glyph {
  background: color-mix(in oklab, var(--c-ink) 6%, var(--c-paper));
}
.couture-bookmark[data-bookmark-style="filled"].--active .cbm-glyph,
.couture-bookmark[data-bookmark-style="filled"][aria-pressed="true"] .cbm-glyph {
  background: var(--c-accent);
}

/* Variant: ribbon — extends as a real ribbon hanging off card top */
.couture-bookmark[data-bookmark-style="ribbon"] {
  position: absolute;
  top: 0;
  right: 16px;
  width: 22px;
  height: 32px;
  z-index: 4;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.18));
}
.couture-bookmark[data-bookmark-style="ribbon"] .cbm-glyph {
  width: 22px;
  height: 32px;
  background: var(--c-ink);
  border: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 75%, 0 100%);
}
.couture-bookmark[data-bookmark-style="ribbon"].--active .cbm-glyph,
.couture-bookmark[data-bookmark-style="ribbon"][aria-pressed="true"] .cbm-glyph {
  background: var(--c-accent);
}

/* Variant: tag — horizontal tag-shape instead of vertical bookmark */
.couture-bookmark[data-bookmark-style="tag"] .cbm-glyph {
  width: 22px;
  height: 16px;
  clip-path: polygon(0 50%, 25% 0, 100% 0, 100% 100%, 25% 100%);
  border-left: 0;
}

/* Variant: button — square button with bookmark icon inside */
.couture-bookmark[data-bookmark-style="button"] {
  width: 36px;
  height: 36px;
  background: color-mix(in oklab, var(--c-paper) 90%, transparent);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.15);
}
.couture-bookmark[data-bookmark-style="button"]:hover {
  background: var(--c-paper);
  transform: scale(1.06);
}
.couture-bookmark[data-bookmark-style="button"] .cbm-glyph {
  width: 12px;
  height: 16px;
}

/* Tones */
.couture-bookmark[data-bookmark-tone="ink"].--active .cbm-glyph,
.couture-bookmark[data-bookmark-tone="ink"][aria-pressed="true"] .cbm-glyph {
  background: var(--c-ink);
  border-color: var(--c-ink);
}
.couture-bookmark[data-bookmark-tone="paper"] {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-bookmark[data-bookmark-tone="paper"]:hover {
  color: var(--c-paper);
}

/* Size variants */
.couture-bookmark[data-bookmark-size="sm"] {
  width: 24px;
  height: 28px;
}
.couture-bookmark[data-bookmark-size="sm"] .cbm-glyph {
  width: 12px;
  height: 16px;
}
.couture-bookmark[data-bookmark-size="lg"] {
  width: 40px;
  height: 48px;
}
.couture-bookmark[data-bookmark-size="lg"] .cbm-glyph {
  width: 22px;
  height: 30px;
  border-width: 2px;
}

/* Position helper for product card overlay */
.couture-bookmark[data-bookmark-pos="card-tr"] {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 4;
}

/* Optional save-count caption next to bookmark */
.couture-bookmark .cbm-count {
  position: absolute;
  top: -2px;
  right: -8px;
  min-width: 14px;
  height: 14px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--c-accent);
  color: var(--c-paper);
  font: 700 9px/1 var(--c-mono, var(--c-body));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--c-paper);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .couture-bookmark,
  .couture-bookmark .cbm-glyph,
  .couture-bookmark.--active .cbm-glyph,
  .couture-bookmark[aria-pressed="true"] .cbm-glyph {
    transition: background .15s !important;
    animation: none !important;
    transform: none !important;
  }
}

/* WS-VISIBLE-114 — footer signature block utility (small footer credit row).
   Compact end-of-footer block: brand mark + tagline + social icons + cred
   lines (©, made by, version). Distinct from existing footer blocks
   which are larger column-grid layouts.

   Usage:
     <div class="couture-footer-sig">
       <div class="cfs-brand">
         <span class="cfs-mark">M.</span>
         <span class="cfs-tag">Hand-thrown stoneware. Lisbon, since 2014.</span>
       </div>
       <ul class="cfs-social">
         <li><a class="cfs-link" href="…" data-cfs-link="instagram">IG</a></li>
         <li><a class="cfs-link" href="…" data-cfs-link="email">Email</a></li>
       </ul>
       <div class="cfs-cred">
         <span>© 2026 Atelier Lemos</span>
         <span class="cfs-sep">·</span>
         <span>Made in Portugal</span>
       </div>
     </div>
*/
.couture-footer-sig {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: clamp(16px, 3vw, 32px);
  padding: clamp(20px, 3vw, 32px) clamp(16px, 2vw, 24px);
  margin-top: clamp(36px, 5vw, 64px);
  border-top: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  font: 500 12px/1.4 var(--c-mono, var(--c-body));
  letter-spacing: 0.04em;
  color: color-mix(in oklab, var(--c-ink) 65%, transparent);
}

.couture-footer-sig .cfs-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.couture-footer-sig .cfs-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-paper);
  font: 700 14px/1 var(--c-display, var(--c-body));
  letter-spacing: -0.02em;
  flex: 0 0 auto;
}
.couture-footer-sig .cfs-tag {
  font: italic 400 13.5px/1.4 var(--c-display, var(--c-body));
  letter-spacing: 0;
  color: color-mix(in oklab, var(--c-ink) 75%, transparent);
  max-width: 36ch;
}

.couture-footer-sig .cfs-social {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.couture-footer-sig .cfs-social > li {
  display: inline-flex;
}
.couture-footer-sig .cfs-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-line) 60%, transparent);
  color: color-mix(in oklab, var(--c-ink) 70%, transparent);
  text-decoration: none;
  font-size: 0;
  position: relative;
  transition: background .18s, color .18s, border-color .18s;
}
.couture-footer-sig .cfs-link:hover {
  background: var(--c-ink);
  color: var(--c-paper);
  border-color: var(--c-ink);
}
.couture-footer-sig .cfs-link:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* Pure-CSS social glyphs */
.couture-footer-sig .cfs-link[data-cfs-link="instagram"]::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 1.5px solid currentColor;
  border-radius: 4px;
  position: relative;
}
.couture-footer-sig .cfs-link[data-cfs-link="instagram"]::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  margin: 4px;
}
.couture-footer-sig .cfs-link[data-cfs-link="email"]::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 10px;
  border: 1.5px solid currentColor;
  border-radius: 1px;
}
.couture-footer-sig .cfs-link[data-cfs-link="x"]::before,
.couture-footer-sig .cfs-link[data-cfs-link="twitter"]::before {
  content: "𝕏";
  font: 700 13px/1 var(--c-display, var(--c-body));
}
.couture-footer-sig .cfs-link[data-cfs-link="globe"]::before,
.couture-footer-sig .cfs-link[data-cfs-link="web"]::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  position: relative;
}
.couture-footer-sig .cfs-link[data-cfs-link="globe"]::after,
.couture-footer-sig .cfs-link[data-cfs-link="web"]::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border: 1px solid currentColor;
  border-radius: 50%;
  border-top-color: transparent;
  border-bottom-color: transparent;
  margin: 0 4px;
}
.couture-footer-sig .cfs-link[data-cfs-link="rss"]::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: currentColor;
  border-radius: 50%;
}
.couture-footer-sig .cfs-link[data-cfs-link="rss"]::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border: 1.5px solid currentColor;
  border-radius: 0 100% 0 0;
  border-bottom: 0;
  border-left: 0;
  margin: -1.5px -3px 0 0;
}

/* Cred line below — span full row */
.couture-footer-sig .cfs-cred {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  margin-top: 4px;
  border-top: 1px solid color-mix(in oklab, var(--c-line) 40%, transparent);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 50%, transparent);
}
.couture-footer-sig .cfs-cred .cfs-sep {
  color: color-mix(in oklab, var(--c-ink) 25%, transparent);
}
.couture-footer-sig .cfs-cred .cfs-build {
  margin-left: auto;
  font-family: var(--c-mono, var(--c-body));
  font-variant-numeric: tabular-nums;
  font-size: 10.5px;
  color: color-mix(in oklab, var(--c-ink) 40%, transparent);
}

/* Variants via [data-footer-sig-style] */
/* Variant: minimal — no border/bg, just spacing */
.couture-footer-sig[data-footer-sig-style="minimal"] {
  border: 0;
  padding: 12px 0;
}
.couture-footer-sig[data-footer-sig-style="minimal"] .cfs-cred {
  border: 0;
  padding-top: 0;
}

/* Variant: ink — dark footer block */
.couture-footer-sig[data-footer-sig-style="ink"] {
  background: var(--c-ink);
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  border-color: transparent;
}
.couture-footer-sig[data-footer-sig-style="ink"] .cfs-mark {
  background: var(--c-paper);
  color: var(--c-ink);
}
.couture-footer-sig[data-footer-sig-style="ink"] .cfs-tag {
  color: color-mix(in oklab, var(--c-paper) 80%, transparent);
}
.couture-footer-sig[data-footer-sig-style="ink"] .cfs-link {
  color: color-mix(in oklab, var(--c-paper) 70%, transparent);
  border-color: color-mix(in oklab, var(--c-paper) 18%, transparent);
}
.couture-footer-sig[data-footer-sig-style="ink"] .cfs-link:hover {
  background: var(--c-paper);
  color: var(--c-ink);
  border-color: var(--c-paper);
}
.couture-footer-sig[data-footer-sig-style="ink"] .cfs-cred {
  color: color-mix(in oklab, var(--c-paper) 50%, transparent);
  border-top-color: color-mix(in oklab, var(--c-paper) 12%, transparent);
}

/* Variant: stacked — vertically stacked, centered */
.couture-footer-sig[data-footer-sig-style="stacked"] {
  grid-template-columns: 1fr;
  text-align: center;
  justify-items: center;
}
.couture-footer-sig[data-footer-sig-style="stacked"] .cfs-brand {
  flex-direction: column;
  text-align: center;
  align-items: center;
}
.couture-footer-sig[data-footer-sig-style="stacked"] .cfs-cred {
  justify-content: center;
}
.couture-footer-sig[data-footer-sig-style="stacked"] .cfs-cred .cfs-build {
  margin-left: 0;
  width: 100%;
  text-align: center;
  margin-top: 4px;
}

/* Mobile: collapse to single column */
@media (max-width: 640px) {
  .couture-footer-sig {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .couture-footer-sig .cfs-cred {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .couture-footer-sig .cfs-cred .cfs-sep {
    display: none;
  }
  .couture-footer-sig .cfs-cred .cfs-build {
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-footer-sig .cfs-link {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-115 — Inline currency-converter pill (.couture-fx-pill)
 *
 * Compact "USD 24.00 ≈ EUR 22.10" inline display chip. Useful in product cards,
 * cart drawers, blog price callouts, international-store footers.
 *
 * Usage:
 *   <span class="couture-fx-pill">
 *     <span class="cfx-from"><span class="cfx-cur">USD</span> <span class="cfx-amt">24.00</span></span>
 *     <span class="cfx-arrow" aria-hidden="true"></span>
 *     <span class="cfx-to"><span class="cfx-cur">EUR</span> <span class="cfx-amt">22.10</span></span>
 *     <span class="cfx-rate">@ 0.92</span>
 *   </span>
 *
 * Variants via [data-fx-pill-style]: default | ink | ghost | dotted
 * Size via [data-fx-pill-size]: sm | md | lg
 * -------------------------------------------------------------------------- */
.couture-fx-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 11px;
  border: 1px solid color-mix(in oklab, var(--c-line, #e6e2dc) 78%, transparent);
  border-radius: 999px;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 96%, var(--c-ink, #1a1815) 4%);
  color: var(--c-ink, #1a1815);
  font-family: var(--c-mono, ui-monospace, "SFMono-Regular", Menlo, monospace);
  font-size: 0.78rem;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  vertical-align: baseline;
  transition: border-color 180ms ease, background 180ms ease;
}
.couture-fx-pill:hover {
  border-color: color-mix(in oklab, var(--c-ink, #1a1815) 32%, transparent);
}
.couture-fx-pill .cfx-from,
.couture-fx-pill .cfx-to {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.couture-fx-pill .cfx-cur {
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.66;
}
.couture-fx-pill .cfx-amt {
  font-weight: 600;
  font-size: 0.84rem;
}
.couture-fx-pill .cfx-arrow {
  display: inline-block;
  width: 14px;
  height: 8px;
  position: relative;
  flex-shrink: 0;
  opacity: 0.5;
}
.couture-fx-pill .cfx-arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.couture-fx-pill .cfx-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.couture-fx-pill .cfx-rate {
  margin-left: 4px;
  padding-left: 8px;
  border-left: 1px solid color-mix(in oklab, var(--c-line, #e6e2dc) 70%, transparent);
  font-size: 0.66rem;
  opacity: 0.55;
  letter-spacing: 0.03em;
}

/* Variant: ink (filled dark) */
.couture-fx-pill[data-fx-pill-style="ink"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-color: transparent;
}
.couture-fx-pill[data-fx-pill-style="ink"] .cfx-rate {
  border-left-color: color-mix(in oklab, var(--c-paper, #faf7f2) 26%, transparent);
}

/* Variant: ghost (transparent) */
.couture-fx-pill[data-fx-pill-style="ghost"] {
  background: transparent;
  border-color: color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
}

/* Variant: dotted (border style) */
.couture-fx-pill[data-fx-pill-style="dotted"] {
  border-style: dashed;
  background: transparent;
}

/* Size variants */
.couture-fx-pill[data-fx-pill-size="sm"] {
  padding: 3px 8px;
  gap: 6px;
  font-size: 0.7rem;
}
.couture-fx-pill[data-fx-pill-size="sm"] .cfx-amt { font-size: 0.74rem; }
.couture-fx-pill[data-fx-pill-size="sm"] .cfx-cur,
.couture-fx-pill[data-fx-pill-size="sm"] .cfx-rate { font-size: 0.6rem; }

.couture-fx-pill[data-fx-pill-size="lg"] {
  padding: 7px 14px;
  gap: 10px;
  font-size: 0.86rem;
}
.couture-fx-pill[data-fx-pill-size="lg"] .cfx-amt { font-size: 0.96rem; }
.couture-fx-pill[data-fx-pill-size="lg"] .cfx-cur,
.couture-fx-pill[data-fx-pill-size="lg"] .cfx-rate { font-size: 0.72rem; }

@media (prefers-reduced-motion: reduce) {
  .couture-fx-pill {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-116 — Coupon stub with tear-edge (.couture-coupon-stub)
 *
 * Ticket / discount-coupon visual: rounded body with semicircular notches on
 * each side at the perforation point, dashed tear line, big value on the body,
 * code on the stub. Pure CSS (no images).
 *
 * Usage:
 *   <div class="couture-coupon-stub">
 *     <div class="ccs-body">
 *       <div class="ccs-eyebrow">Welcome</div>
 *       <div class="ccs-value">15% OFF</div>
 *       <div class="ccs-rule">First order, no minimum</div>
 *     </div>
 *     <div class="ccs-stub">
 *       <div class="ccs-stub-label">Code</div>
 *       <div class="ccs-stub-code">HELLO15</div>
 *     </div>
 *   </div>
 *
 * Variants via [data-coupon-style]: default | ink | dashed-only | warm
 * Direction via [data-coupon-dir]: horizontal (default) | vertical
 * -------------------------------------------------------------------------- */
.couture-coupon-stub {
  display: inline-flex;
  align-items: stretch;
  position: relative;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 14%, transparent);
  border-radius: 10px;
  font-family: var(--c-body, system-ui, sans-serif);
  min-width: 280px;
  max-width: 100%;
  overflow: hidden;
  box-shadow: 0 2px 8px color-mix(in oklab, var(--c-ink, #1a1815) 6%, transparent);
}
.couture-coupon-stub .ccs-body {
  padding: 18px 22px 18px 22px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  position: relative;
}
.couture-coupon-stub .ccs-eyebrow {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
}
.couture-coupon-stub .ccs-value {
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.couture-coupon-stub .ccs-rule {
  font-size: 0.74rem;
  opacity: 0.66;
  margin-top: 2px;
}

/* Stub side */
.couture-coupon-stub .ccs-stub {
  padding: 18px 18px;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  position: relative;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 8%);
  min-width: 96px;
}
.couture-coupon-stub .ccs-stub-label {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.55;
}
.couture-coupon-stub .ccs-stub-code {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* Tear line: dashed vertical line at the body/stub boundary */
.couture-coupon-stub .ccs-stub::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 0;
  border-left: 1.5px dashed color-mix(in oklab, var(--c-ink, #1a1815) 28%, transparent);
}
/* Notches: semicircle cutouts at top and bottom of the tear line */
.couture-coupon-stub .ccs-stub::after {
  content: "";
  position: absolute;
  left: -7px;
  top: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--c-bg, transparent);
  box-shadow:
    0 calc(100% + 14px) 0 0 var(--c-bg, transparent);
}
/* fallback paper-color notches if --c-bg unset */
.couture-coupon-stub .ccs-body::after {
  content: "";
  position: absolute;
  right: -7px;
  top: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 50%, transparent);
  pointer-events: none;
}
.couture-coupon-stub .ccs-body::before {
  content: "";
  position: absolute;
  right: -7px;
  bottom: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 50%, transparent);
  pointer-events: none;
}

/* Variant: ink (filled dark stub) */
.couture-coupon-stub[data-coupon-style="ink"] .ccs-stub {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
}
.couture-coupon-stub[data-coupon-style="ink"] .ccs-stub::before {
  border-left-color: color-mix(in oklab, var(--c-paper, #faf7f2) 36%, transparent);
}

/* Variant: dashed-only (no stub bg shift, just the dashed divider) */
.couture-coupon-stub[data-coupon-style="dashed-only"] .ccs-stub {
  background: transparent;
}

/* Variant: warm (accent-tinted body) */
.couture-coupon-stub[data-coupon-style="warm"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 88%, var(--c-accent, #c25a3a) 12%);
}
.couture-coupon-stub[data-coupon-style="warm"] .ccs-stub {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 76%, var(--c-accent, #c25a3a) 24%);
}

/* Vertical direction (stub on bottom) */
.couture-coupon-stub[data-coupon-dir="vertical"] {
  flex-direction: column;
  min-width: 200px;
  max-width: 280px;
}
.couture-coupon-stub[data-coupon-dir="vertical"] .ccs-stub::before {
  left: 12px;
  right: 12px;
  top: 0;
  bottom: auto;
  width: auto;
  height: 0;
  border-left: none;
  border-top: 1.5px dashed color-mix(in oklab, var(--c-ink, #1a1815) 28%, transparent);
}
.couture-coupon-stub[data-coupon-dir="vertical"] .ccs-stub::after,
.couture-coupon-stub[data-coupon-dir="vertical"] .ccs-body::before,
.couture-coupon-stub[data-coupon-dir="vertical"] .ccs-body::after {
  /* hide horizontal-mode notches */
  display: none;
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-117 — Page-number with folded turn-corner (.couture-page-num)
 *
 * Decorative page indicator (e.g. "p. 12 / 48") with a small folded paper
 * corner that subtly lifts on hover. Useful for editorial / blog layouts,
 * book-style chapters, lookbook footers.
 *
 * Usage:
 *   <a class="couture-page-num" href="#">
 *     <span class="cpn-label">page</span>
 *     <span class="cpn-current">12</span>
 *     <span class="cpn-of">/</span>
 *     <span class="cpn-total">48</span>
 *     <span class="cpn-fold" aria-hidden="true"></span>
 *   </a>
 *
 * Variants via [data-page-num-style]: default | ink | minimal
 * Corner via [data-page-num-corner]: tr (default) | tl | br | bl
 * -------------------------------------------------------------------------- */
.couture-page-num {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  position: relative;
  padding: 10px 18px 10px 14px;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 14%, transparent);
  border-radius: 4px;
  text-decoration: none;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  line-height: 1;
  transition: border-color 200ms ease, transform 240ms ease;
  font-variant-numeric: tabular-nums;
}
.couture-page-num:hover {
  border-color: color-mix(in oklab, var(--c-ink, #1a1815) 36%, transparent);
}
.couture-page-num .cpn-label {
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.55;
}
.couture-page-num .cpn-current {
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.couture-page-num .cpn-of {
  opacity: 0.4;
  font-size: 0.86rem;
}
.couture-page-num .cpn-total {
  font-size: 0.86rem;
  opacity: 0.7;
}

/* Folded turn-corner (default top-right) */
.couture-page-num .cpn-fold {
  position: absolute;
  top: 0;
  right: 0;
  width: 14px;
  height: 14px;
  background: linear-gradient(
    225deg,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 0%,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 100%
  );
  border-bottom-left-radius: 3px;
  pointer-events: none;
  transition: width 220ms ease, height 220ms ease;
}
.couture-page-num:hover .cpn-fold {
  width: 18px;
  height: 18px;
}

/* Corner positioning variants */
.couture-page-num[data-page-num-corner="tl"] .cpn-fold {
  top: 0; left: 0; right: auto;
  background: linear-gradient(
    -45deg,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 0%,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 100%
  );
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 0;
}
.couture-page-num[data-page-num-corner="br"] .cpn-fold {
  top: auto; bottom: 0; right: 0; left: auto;
  background: linear-gradient(
    315deg,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 0%,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 100%
  );
  border-top-left-radius: 3px;
  border-bottom-left-radius: 0;
}
.couture-page-num[data-page-num-corner="bl"] .cpn-fold {
  top: auto; bottom: 0; left: 0; right: auto;
  background: linear-gradient(
    45deg,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 0%,
    color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 50%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 8%) 100%
  );
  border-top-right-radius: 3px;
  border-bottom-left-radius: 0;
}

/* Variant: ink (filled dark) */
.couture-page-num[data-page-num-style="ink"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-color: transparent;
}
.couture-page-num[data-page-num-style="ink"] .cpn-fold {
  background: linear-gradient(
    225deg,
    color-mix(in oklab, var(--c-paper, #faf7f2) 24%, transparent) 0%,
    color-mix(in oklab, var(--c-paper, #faf7f2) 24%, transparent) 50%,
    color-mix(in oklab, var(--c-ink, #1a1815) 84%, var(--c-paper, #faf7f2) 16%) 50%,
    color-mix(in oklab, var(--c-ink, #1a1815) 84%, var(--c-paper, #faf7f2) 16%) 100%
  );
}

/* Variant: minimal (no border, just fold) */
.couture-page-num[data-page-num-style="minimal"] {
  background: transparent;
  border-color: transparent;
  padding-left: 4px;
  padding-right: 14px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-page-num,
  .couture-page-num .cpn-fold {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-118 — Polaroid frame stack (.couture-polaroid)
 *
 * Instant-photo card with thick bottom border for the caption strip. Optional
 * stacked variant fans 3 polaroids behind the front one for a scrapbook /
 * memory-page effect. Hover lifts and straightens the front one.
 *
 * Usage (single):
 *   <figure class="couture-polaroid">
 *     <img class="cpr-img" src="..." alt="...">
 *     <figcaption class="cpr-cap">Brooklyn, May '23</figcaption>
 *   </figure>
 *
 * Usage (stack of 3):
 *   <div class="couture-polaroid-stack">
 *     <figure class="couture-polaroid"><img class="cpr-img" src="back2.jpg" alt=""><figcaption class="cpr-cap">.</figcaption></figure>
 *     <figure class="couture-polaroid"><img class="cpr-img" src="back1.jpg" alt=""><figcaption class="cpr-cap">.</figcaption></figure>
 *     <figure class="couture-polaroid"><img class="cpr-img" src="front.jpg" alt=""><figcaption class="cpr-cap">Brooklyn, May '23</figcaption></figure>
 *   </div>
 *
 * Variants via [data-polaroid-tilt]: none | left | right | random (default)
 * Tone via [data-polaroid-tone]: paper (default) | cream | ink
 * -------------------------------------------------------------------------- */
.couture-polaroid {
  display: inline-block;
  background: var(--c-paper, #faf7f2);
  padding: 10px 10px 0 10px;
  margin: 0;
  box-shadow:
    0 1px 0 color-mix(in oklab, var(--c-ink, #1a1815) 6%, transparent) inset,
    0 8px 22px color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent),
    0 2px 6px color-mix(in oklab, var(--c-ink, #1a1815) 10%, transparent);
  transform: rotate(-1.4deg);
  transition: transform 280ms cubic-bezier(0.2, 0.7, 0.3, 1.2),
              box-shadow 280ms ease;
  max-width: 260px;
}
.couture-polaroid:nth-of-type(2n) {
  transform: rotate(1.6deg);
}
.couture-polaroid:nth-of-type(3n) {
  transform: rotate(-0.7deg);
}
.couture-polaroid:hover {
  transform: rotate(0deg) translateY(-4px);
  box-shadow:
    0 1px 0 color-mix(in oklab, var(--c-ink, #1a1815) 6%, transparent) inset,
    0 16px 32px color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent),
    0 4px 10px color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent);
}
.couture-polaroid .cpr-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, var(--c-ink, #1a1815) 30%);
}
.couture-polaroid .cpr-cap {
  display: block;
  text-align: center;
  font-family: var(--c-display, "Caveat", "Brush Script MT", cursive);
  font-size: 1.05rem;
  font-weight: 400;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 78%, transparent);
  padding: 14px 6px 22px 6px;
  letter-spacing: 0.01em;
  line-height: 1.1;
}

/* Tilt variants (override default random) */
.couture-polaroid[data-polaroid-tilt="none"],
.couture-polaroid[data-polaroid-tilt="none"]:nth-of-type(n) {
  transform: rotate(0deg);
}
.couture-polaroid[data-polaroid-tilt="left"],
.couture-polaroid[data-polaroid-tilt="left"]:nth-of-type(n) {
  transform: rotate(-2.5deg);
}
.couture-polaroid[data-polaroid-tilt="right"],
.couture-polaroid[data-polaroid-tilt="right"]:nth-of-type(n) {
  transform: rotate(2.5deg);
}

/* Tone variants */
.couture-polaroid[data-polaroid-tone="cream"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #f5e9c8 30%);
}
.couture-polaroid[data-polaroid-tone="ink"] {
  background: var(--c-ink, #1a1815);
}
.couture-polaroid[data-polaroid-tone="ink"] .cpr-cap {
  color: color-mix(in oklab, var(--c-paper, #faf7f2) 80%, transparent);
}

/* Stack: 3 polaroids fanned with front one most visible */
.couture-polaroid-stack {
  display: inline-block;
  position: relative;
  padding: 24px;
}
.couture-polaroid-stack .couture-polaroid {
  display: block;
  position: relative;
}
.couture-polaroid-stack .couture-polaroid:nth-child(1) {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 1;
  transform: rotate(-7deg) translate(-8px, -4px);
  opacity: 0.85;
}
.couture-polaroid-stack .couture-polaroid:nth-child(2) {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  transform: rotate(4deg) translate(8px, 4px);
  opacity: 0.92;
}
.couture-polaroid-stack .couture-polaroid:nth-child(3) {
  position: relative;
  z-index: 3;
  transform: rotate(-1deg);
}
.couture-polaroid-stack:hover .couture-polaroid:nth-child(1) {
  transform: rotate(-12deg) translate(-22px, -10px);
}
.couture-polaroid-stack:hover .couture-polaroid:nth-child(2) {
  transform: rotate(8deg) translate(22px, 10px);
}
.couture-polaroid-stack:hover .couture-polaroid:nth-child(3) {
  transform: rotate(0deg) translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
  .couture-polaroid,
  .couture-polaroid-stack .couture-polaroid {
    transition: none;
  }
  .couture-polaroid:hover,
  .couture-polaroid-stack:hover .couture-polaroid:nth-child(n) {
    transform: rotate(0deg);
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-119 — Hand-drawn marker highlight (.couture-hl-mark)
 *
 * Inline span that draws a chunky highlighter-pen swipe behind the text using
 * a slightly tilted background shape with rough edges. Visually distinctive
 * from a plain background-color span — feels like someone marked it up by hand.
 * Animates on scroll-into-view (when set via class) or on hover.
 *
 * Usage:
 *   <p>This is <span class="couture-hl-mark">important</span> news.</p>
 *
 * Variants via [data-hl-mark-color]: yellow (default) | pink | green | blue | accent
 * Style via [data-hl-mark-style]: swipe (default) | underline | circle | strikethrough
 * Trigger via class: .couture-hl-mark.is-on (animates) | default = always on
 * -------------------------------------------------------------------------- */
.couture-hl-mark {
  position: relative;
  display: inline;
  color: inherit;
  background-image: linear-gradient(
    104deg,
    transparent 0.5%,
    color-mix(in oklab, #fff04a 78%, transparent) 2%,
    color-mix(in oklab, #fff04a 90%, transparent) 50%,
    color-mix(in oklab, #fff04a 78%, transparent) 98%,
    transparent 99.5%
  );
  background-repeat: no-repeat;
  background-size: 100% 70%;
  background-position: 0 78%;
  padding: 0.05em 0.18em;
  border-radius: 2px 4px 3px 5px;
  transition: background-size 360ms cubic-bezier(0.25, 0.8, 0.3, 1);
}
.couture-hl-mark.is-off {
  background-size: 0% 70%;
}
.couture-hl-mark.is-on {
  background-size: 100% 70%;
}
/* Hover trigger — only fires when text was off */
.couture-hl-mark.is-off:hover {
  background-size: 100% 70%;
}

/* Color variants */
.couture-hl-mark[data-hl-mark-color="pink"] {
  background-image: linear-gradient(
    104deg,
    transparent 0.5%,
    color-mix(in oklab, #ffb3d1 80%, transparent) 2%,
    color-mix(in oklab, #ffb3d1 92%, transparent) 50%,
    color-mix(in oklab, #ffb3d1 80%, transparent) 98%,
    transparent 99.5%
  );
}
.couture-hl-mark[data-hl-mark-color="green"] {
  background-image: linear-gradient(
    104deg,
    transparent 0.5%,
    color-mix(in oklab, #b8e986 80%, transparent) 2%,
    color-mix(in oklab, #b8e986 92%, transparent) 50%,
    color-mix(in oklab, #b8e986 80%, transparent) 98%,
    transparent 99.5%
  );
}
.couture-hl-mark[data-hl-mark-color="blue"] {
  background-image: linear-gradient(
    104deg,
    transparent 0.5%,
    color-mix(in oklab, #a8d8f0 80%, transparent) 2%,
    color-mix(in oklab, #a8d8f0 92%, transparent) 50%,
    color-mix(in oklab, #a8d8f0 80%, transparent) 98%,
    transparent 99.5%
  );
}
.couture-hl-mark[data-hl-mark-color="accent"] {
  background-image: linear-gradient(
    104deg,
    transparent 0.5%,
    color-mix(in oklab, var(--c-accent, #c25a3a) 36%, transparent) 2%,
    color-mix(in oklab, var(--c-accent, #c25a3a) 50%, transparent) 50%,
    color-mix(in oklab, var(--c-accent, #c25a3a) 36%, transparent) 98%,
    transparent 99.5%
  );
}

/* Style: underline (just a thick band at the baseline) */
.couture-hl-mark[data-hl-mark-style="underline"] {
  background-size: 100% 26%;
  background-position: 0 95%;
  border-radius: 3px;
}
.couture-hl-mark[data-hl-mark-style="underline"].is-off {
  background-size: 0% 26%;
}
.couture-hl-mark[data-hl-mark-style="underline"].is-on {
  background-size: 100% 26%;
}

/* Style: circle (oval drawn around the word, uses border instead of bg) */
.couture-hl-mark[data-hl-mark-style="circle"] {
  background-image: none;
  border: 1.5px solid color-mix(in oklab, var(--c-accent, #c25a3a) 70%, transparent);
  border-radius: 50%;
  padding: 0.1em 0.4em;
  transform: rotate(-1.2deg);
  transition: border-color 360ms ease, transform 360ms ease;
}

/* Style: strikethrough (diagonal line through, hand-drawn feel) */
.couture-hl-mark[data-hl-mark-style="strikethrough"] {
  background-image: linear-gradient(
    178deg,
    transparent 47%,
    color-mix(in oklab, var(--c-ink, #1a1815) 76%, transparent) 47%,
    color-mix(in oklab, var(--c-ink, #1a1815) 76%, transparent) 53%,
    transparent 53%
  );
  background-size: 100% 100%;
  background-position: 0 50%;
  border-radius: 0;
  opacity: 0.78;
}
.couture-hl-mark[data-hl-mark-style="strikethrough"].is-off {
  background-size: 0% 100%;
}
.couture-hl-mark[data-hl-mark-style="strikethrough"].is-on {
  background-size: 100% 100%;
}

@media (prefers-reduced-motion: reduce) {
  .couture-hl-mark,
  .couture-hl-mark[data-hl-mark-style="circle"] {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-120 — Torn paper rip-edge divider (.couture-rip-edge)
 *
 * Decorative section break that looks like the page was torn along a jagged
 * horizontal edge. Pure CSS via clip-path polygon with irregular notches.
 * Useful between major content sections, top/bottom of testimonial blocks,
 * footer separator above the brand line.
 *
 * Usage:
 *   <div class="couture-rip-edge"></div>            // bottom edge (default)
 *   <div class="couture-rip-edge" data-rip-edge="top"></div>
 *   <div class="couture-rip-edge" data-rip-edge="both"></div>
 *
 * Variants via [data-rip-edge-style]: paper (default) | ink | accent
 * Roughness via [data-rip-roughness]: smooth | medium (default) | wild
 * -------------------------------------------------------------------------- */
.couture-rip-edge {
  display: block;
  width: 100%;
  height: 32px;
  background: var(--c-paper, #faf7f2);
  position: relative;
  /* default = bottom edge (rip on the bottom) */
  clip-path: polygon(
    0 0, 100% 0, 100% 100%,
    96% 78%, 92% 100%, 88% 72%, 84% 96%, 80% 80%, 76% 100%, 72% 76%, 68% 92%,
    64% 78%, 60% 100%, 56% 74%, 52% 96%, 48% 80%, 44% 100%, 40% 76%, 36% 92%,
    32% 78%, 28% 100%, 24% 72%, 20% 96%, 16% 80%, 12% 100%, 8% 76%, 4% 92%,
    0 78%
  );
  box-shadow: 0 2px 4px color-mix(in oklab, var(--c-ink, #1a1815) 6%, transparent);
}

/* Top edge (rip on top, used at top of a section) */
.couture-rip-edge[data-rip-edge="top"] {
  clip-path: polygon(
    0 22%, 4% 8%, 8% 24%, 12% 0, 16% 20%, 20% 4%, 24% 28%, 28% 0,
    32% 22%, 36% 8%, 40% 24%, 44% 0, 48% 20%, 52% 4%, 56% 26%, 60% 0,
    64% 22%, 68% 8%, 72% 24%, 76% 0, 80% 20%, 84% 4%, 88% 28%, 92% 0,
    96% 22%, 100% 6%,
    100% 100%, 0 100%
  );
}

/* Both edges */
.couture-rip-edge[data-rip-edge="both"] {
  height: 48px;
  clip-path: polygon(
    /* top */
    0 16%, 4% 6%, 8% 18%, 12% 0, 16% 14%, 20% 4%, 24% 20%, 28% 0,
    32% 16%, 36% 6%, 40% 18%, 44% 0, 48% 14%, 52% 4%, 56% 20%, 60% 0,
    64% 16%, 68% 6%, 72% 18%, 76% 0, 80% 14%, 84% 4%, 88% 20%, 92% 0,
    96% 16%, 100% 4%,
    /* right edge */
    100% 96%,
    /* bottom */
    96% 84%, 92% 100%, 88% 80%, 84% 96%, 80% 86%, 76% 100%, 72% 82%, 68% 94%,
    64% 84%, 60% 100%, 56% 82%, 52% 96%, 48% 86%, 44% 100%, 40% 82%, 36% 94%,
    32% 84%, 28% 100%, 24% 80%, 20% 96%, 16% 86%, 12% 100%, 8% 82%, 4% 94%,
    0 84%
  );
}

/* Style variants — tone shift */
.couture-rip-edge[data-rip-edge-style="ink"] {
  background: var(--c-ink, #1a1815);
}
.couture-rip-edge[data-rip-edge-style="accent"] {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 90%, transparent);
}

/* Roughness variants */
.couture-rip-edge[data-rip-roughness="smooth"] {
  clip-path: polygon(
    0 0, 100% 0, 100% 100%,
    92% 88%, 84% 96%, 76% 88%, 68% 96%, 60% 88%, 52% 96%, 44% 88%, 36% 96%,
    28% 88%, 20% 96%, 12% 88%, 4% 96%,
    0 90%
  );
}
.couture-rip-edge[data-rip-roughness="wild"] {
  height: 44px;
  clip-path: polygon(
    0 0, 100% 0, 100% 100%,
    97% 64%, 94% 100%, 91% 52%, 88% 96%, 85% 70%, 82% 100%, 79% 56%, 76% 88%,
    73% 64%, 70% 100%, 67% 50%, 64% 92%, 61% 68%, 58% 100%, 55% 54%, 52% 88%,
    49% 60%, 46% 100%, 43% 56%, 40% 92%, 37% 64%, 34% 100%, 31% 50%, 28% 88%,
    25% 60%, 22% 100%, 19% 56%, 16% 92%, 13% 64%, 10% 100%, 7% 50%, 4% 88%,
    0 56%
  );
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-121 — Editorial bracket emphasis (.couture-em-brackets)
 *
 * Inline span wrapped in tall decorative brackets via ::before/::after.
 * Multiple bracket styles for different editorial moods. Useful for callouts
 * inside body text, magazine-style emphasis, byline section markers.
 *
 * Usage:
 *   <span class="couture-em-brackets">limited edition</span>
 *
 * Bracket via [data-em-brackets]: square (default) | corner | round | angle | slash | pipe
 * Tone via [data-em-brackets-tone]: ink (default) | accent | muted
 * -------------------------------------------------------------------------- */
.couture-em-brackets {
  position: relative;
  display: inline-block;
  padding: 0 0.5em;
  font-style: italic;
  font-family: var(--c-display, Georgia, serif);
  letter-spacing: 0.01em;
  color: inherit;
}
.couture-em-brackets::before,
.couture-em-brackets::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 64%, transparent);
  font-family: var(--c-mono, ui-monospace, monospace);
  pointer-events: none;
}
.couture-em-brackets::before {
  left: 0;
  content: "[";
}
.couture-em-brackets::after {
  right: 0;
  content: "]";
}

/* Bracket variants */
.couture-em-brackets[data-em-brackets="corner"]::before { content: "⌜"; left: -0.05em; font-size: 1.4em; }
.couture-em-brackets[data-em-brackets="corner"]::after { content: "⌟"; right: -0.05em; font-size: 1.4em; }

.couture-em-brackets[data-em-brackets="round"] {
  padding: 0 0.55em;
}
.couture-em-brackets[data-em-brackets="round"]::before { content: "("; }
.couture-em-brackets[data-em-brackets="round"]::after { content: ")"; }

.couture-em-brackets[data-em-brackets="angle"] {
  padding: 0 0.6em;
}
.couture-em-brackets[data-em-brackets="angle"]::before { content: "⟨"; font-size: 1.05em; }
.couture-em-brackets[data-em-brackets="angle"]::after { content: "⟩"; font-size: 1.05em; }

.couture-em-brackets[data-em-brackets="slash"]::before {
  content: "";
  width: 1px;
  height: 1.1em;
  background: currentColor;
  transform: translateY(-50%) rotate(-12deg);
  opacity: 0.55;
}
.couture-em-brackets[data-em-brackets="slash"]::after {
  content: "";
  width: 1px;
  height: 1.1em;
  background: currentColor;
  transform: translateY(-50%) rotate(-12deg);
  opacity: 0.55;
}

.couture-em-brackets[data-em-brackets="pipe"]::before {
  content: "";
  width: 1.5px;
  height: 1em;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
  transform: translateY(-50%);
}
.couture-em-brackets[data-em-brackets="pipe"]::after {
  content: "";
  width: 1.5px;
  height: 1em;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
  transform: translateY(-50%);
}

/* Tone variants */
.couture-em-brackets[data-em-brackets-tone="accent"]::before,
.couture-em-brackets[data-em-brackets-tone="accent"]::after {
  color: var(--c-accent, #c25a3a);
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 50%, transparent);
}
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="square"]::before,
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="square"]::after,
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="corner"]::before,
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="corner"]::after,
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="round"]::before,
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="round"]::after,
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="angle"]::before,
.couture-em-brackets[data-em-brackets-tone="accent"][data-em-brackets="angle"]::after {
  background: transparent;
  color: var(--c-accent, #c25a3a);
}
.couture-em-brackets[data-em-brackets-tone="muted"]::before,
.couture-em-brackets[data-em-brackets-tone="muted"]::after {
  color: color-mix(in oklab, var(--c-ink, #1a1815) 32%, transparent);
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-122 — Postage-stamp corner badge (.couture-postage-stamp)
 *
 * Decorative postage-stamp visual with perforated edge (achieved via radial
 * gradient mask of small dots around the perimeter), inner border, and slot
 * for stamp content (origin / destination / value). Useful for "made in",
 * "limited edition", or international shipping callouts.
 *
 * Usage:
 *   <div class="couture-postage-stamp">
 *     <div class="cps-inner">
 *       <div class="cps-eyebrow">Made in</div>
 *       <div class="cps-place">Brooklyn, NY</div>
 *       <div class="cps-value">USA · 2025</div>
 *     </div>
 *   </div>
 *
 * Variants via [data-postage-tone]: paper (default) | cream | mint | rose
 * Rotate via [data-postage-rotate]: none (default) | left | right
 * -------------------------------------------------------------------------- */
.couture-postage-stamp {
  display: inline-block;
  position: relative;
  padding: 8px;
  background: var(--c-paper, #faf7f2);
  /* Perforated edge via radial-gradient: small transparent dots ring the box */
  --cps-dot: 5px;
  --cps-dot-color: transparent;
  -webkit-mask:
    radial-gradient(circle var(--cps-dot) at top left, var(--cps-dot-color) 98%, #000) 0 0 / 12px 12px,
    radial-gradient(circle var(--cps-dot) at top right, var(--cps-dot-color) 98%, #000) 0 0 / 12px 12px;
  /* Simpler approach: use mask-composite via two radial gradients to bite all four edges.
     Browser support across the board: use a single SVG-style clip via repeating mask. */
  -webkit-mask:
    radial-gradient(circle 4px at 12px 0, transparent 4px, #000 4.5px) repeat-x 0 0 / 12px 12px,
    radial-gradient(circle 4px at 12px 100%, transparent 4px, #000 4.5px) repeat-x 0 100% / 12px 12px,
    radial-gradient(circle 4px at 0 12px, transparent 4px, #000 4.5px) repeat-y 0 0 / 12px 12px,
    radial-gradient(circle 4px at 100% 12px, transparent 4px, #000 4.5px) repeat-y 100% 0 / 12px 12px,
    linear-gradient(#000, #000);
  -webkit-mask-composite: source-over;
          mask-composite: add;
  filter: drop-shadow(0 2px 6px color-mix(in oklab, var(--c-ink, #1a1815) 16%, transparent));
}

.couture-postage-stamp .cps-inner {
  border: 1.5px dashed color-mix(in oklab, var(--c-ink, #1a1815) 38%, transparent);
  padding: 14px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-align: center;
  min-width: 140px;
}
.couture-postage-stamp .cps-eyebrow {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.55;
}
.couture-postage-stamp .cps-place {
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--c-ink, #1a1815);
  margin-top: 2px;
}
.couture-postage-stamp .cps-value {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.66;
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px dotted color-mix(in oklab, var(--c-ink, #1a1815) 26%, transparent);
  width: 100%;
}

/* Tone variants */
.couture-postage-stamp[data-postage-tone="cream"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #f5e9c8 30%);
}
.couture-postage-stamp[data-postage-tone="mint"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #c9e8d6 30%);
}
.couture-postage-stamp[data-postage-tone="rose"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #f0c9d3 30%);
}

/* Rotate variants */
.couture-postage-stamp[data-postage-rotate="left"] {
  transform: rotate(-4deg);
}
.couture-postage-stamp[data-postage-rotate="right"] {
  transform: rotate(4deg);
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-123 — Vertical A-Z index scrub strip (.couture-index-strip)
 *
 * Vertical alphabet rail (like iOS contacts) for scroll-to-letter navigation.
 * Each letter is a clickable anchor that highlights on hover, with active
 * letter visually emphasized via aria-current. Useful for directories,
 * glossaries, lookbook archives, blog A-Z indexes.
 *
 * Usage:
 *   <nav class="couture-index-strip" aria-label="Jump to letter">
 *     <a href="#a" class="cis-letter">A</a>
 *     <a href="#b" class="cis-letter">B</a>
 *     ...
 *     <a href="#m" class="cis-letter" aria-current="true">M</a>
 *     ...
 *     <a href="#z" class="cis-letter">Z</a>
 *   </nav>
 *
 * Variants via [data-index-strip-style]: default | minimal | filled
 * Position via [data-index-strip-pos]: inline (default) | sticky-right | sticky-left
 * -------------------------------------------------------------------------- */
.couture-index-strip {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  padding: 6px 4px;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 8%);
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 10%, transparent);
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.66rem;
  line-height: 1;
  letter-spacing: 0.04em;
  user-select: none;
}
.couture-index-strip .cis-letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  text-decoration: none;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
  border-radius: 50%;
  transition: color 140ms ease, background 140ms ease, transform 140ms ease;
  text-transform: uppercase;
  font-weight: 500;
}
.couture-index-strip .cis-letter:hover {
  color: var(--c-ink, #1a1815);
  background: color-mix(in oklab, var(--c-ink, #1a1815) 8%, transparent);
  transform: scale(1.18);
}
.couture-index-strip .cis-letter[aria-current="true"],
.couture-index-strip .cis-letter[aria-current="page"] {
  color: var(--c-paper, #faf7f2);
  background: var(--c-ink, #1a1815);
  font-weight: 700;
}
.couture-index-strip .cis-letter[aria-disabled="true"],
.couture-index-strip .cis-letter[data-empty="true"] {
  color: color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
  pointer-events: none;
  cursor: default;
}

/* Style: minimal (no chip background, just letter list) */
.couture-index-strip[data-index-strip-style="minimal"] {
  background: transparent;
  border: none;
  padding: 0;
}

/* Style: filled (accent active, more prominent) */
.couture-index-strip[data-index-strip-style="filled"] .cis-letter[aria-current="true"],
.couture-index-strip[data-index-strip-style="filled"] .cis-letter[aria-current="page"] {
  background: var(--c-accent, #c25a3a);
}
.couture-index-strip[data-index-strip-style="filled"] .cis-letter:hover {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 26%, transparent);
}

/* Position: sticky-right (floats on right edge) */
.couture-index-strip[data-index-strip-pos="sticky-right"] {
  position: fixed;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 60;
}
.couture-index-strip[data-index-strip-pos="sticky-left"] {
  position: fixed;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 60;
}

/* Hide on mobile when sticky to avoid covering content */
@media (max-width: 640px) {
  .couture-index-strip[data-index-strip-pos="sticky-right"],
  .couture-index-strip[data-index-strip-pos="sticky-left"] {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .couture-index-strip .cis-letter {
    transition: none;
  }
  .couture-index-strip .cis-letter:hover {
    transform: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-124 — Unique loading indicators (.couture-loader-orbit / -bars / -pulse / -segments)
 *
 * Four distinctive loading visuals beyond the generic spinner. All
 * accessibility-friendly (use role="status" + visually hidden text), all
 * pause for prefers-reduced-motion.
 *
 * Usage:
 *   <div class="couture-loader-orbit" role="status" aria-label="Loading"></div>
 *   <div class="couture-loader-bars" role="status" aria-label="Loading"></div>
 *   <div class="couture-loader-pulse" role="status" aria-label="Loading"></div>
 *   <div class="couture-loader-segments" role="status" aria-label="Loading"></div>
 *
 * Size via [data-loader-size]: sm | md (default) | lg
 * Tone via [data-loader-tone]: ink (default) | accent | paper-on-dark
 * -------------------------------------------------------------------------- */

/* Orbit: a small dot orbits a faint circular track */
.couture-loader-orbit {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 14%, transparent);
}
.couture-loader-orbit::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-ink, #1a1815);
  transform-origin: 50% 17px;
  margin-left: -3px;
  animation: couture-loader-orbit-spin 1.1s linear infinite;
}
@keyframes couture-loader-orbit-spin {
  0%   { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}

/* Bars: 4 vertical bars bounce in wave */
.couture-loader-bars {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  width: 32px;
  height: 24px;
}
.couture-loader-bars::before,
.couture-loader-bars::after,
.couture-loader-bars > span {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: var(--c-ink, #1a1815);
  border-radius: 1.5px;
  animation: couture-loader-bars-wave 0.95s ease-in-out infinite;
  transform-origin: bottom;
}
.couture-loader-bars::before { animation-delay: 0s; }
.couture-loader-bars > span:nth-child(1) { animation-delay: 0.13s; }
.couture-loader-bars > span:nth-child(2) { animation-delay: 0.26s; }
.couture-loader-bars::after  { animation-delay: 0.39s; }
@keyframes couture-loader-bars-wave {
  0%, 80%, 100% { transform: scaleY(0.42); }
  40%           { transform: scaleY(1); }
}

/* Pulse: concentric rings expand outward */
.couture-loader-pulse {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 28px;
}
.couture-loader-pulse::before,
.couture-loader-pulse::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid var(--c-ink, #1a1815);
  animation: couture-loader-pulse-ring 1.5s cubic-bezier(0.2, 0.7, 0.3, 1) infinite;
  opacity: 0;
}
.couture-loader-pulse::after {
  animation-delay: 0.65s;
}
@keyframes couture-loader-pulse-ring {
  0%   { transform: scale(0.42); opacity: 0.85; }
  100% { transform: scale(1.1); opacity: 0; }
}

/* Segments: 8 fading segments around a ring (clock-face spinner) */
.couture-loader-segments {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 28px;
}
.couture-loader-segments::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background:
    conic-gradient(
      color-mix(in oklab, var(--c-ink, #1a1815) 8%, transparent) 0% 12.5%,
      color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent) 12.5% 25%,
      color-mix(in oklab, var(--c-ink, #1a1815) 28%, transparent) 25% 37.5%,
      color-mix(in oklab, var(--c-ink, #1a1815) 38%, transparent) 37.5% 50%,
      color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent) 50% 62.5%,
      color-mix(in oklab, var(--c-ink, #1a1815) 62%, transparent) 62.5% 75%,
      color-mix(in oklab, var(--c-ink, #1a1815) 76%, transparent) 75% 87.5%,
      var(--c-ink, #1a1815) 87.5% 100%
    );
  -webkit-mask: radial-gradient(circle, transparent 8px, #000 8.5px);
          mask: radial-gradient(circle, transparent 8px, #000 8.5px);
  animation: couture-loader-segments-spin 1.1s steps(8) infinite;
}
@keyframes couture-loader-segments-spin {
  0%   { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}

/* Size variants */
.couture-loader-orbit[data-loader-size="sm"],
.couture-loader-pulse[data-loader-size="sm"],
.couture-loader-segments[data-loader-size="sm"] { width: 18px; height: 18px; }
.couture-loader-orbit[data-loader-size="lg"],
.couture-loader-pulse[data-loader-size="lg"],
.couture-loader-segments[data-loader-size="lg"] { width: 44px; height: 44px; }
.couture-loader-bars[data-loader-size="sm"] { width: 22px; height: 18px; }
.couture-loader-bars[data-loader-size="lg"] { width: 48px; height: 36px; }

/* Tone: accent */
.couture-loader-orbit[data-loader-tone="accent"]::before,
.couture-loader-bars[data-loader-tone="accent"]::before,
.couture-loader-bars[data-loader-tone="accent"]::after,
.couture-loader-bars[data-loader-tone="accent"] > span,
.couture-loader-pulse[data-loader-tone="accent"]::before,
.couture-loader-pulse[data-loader-tone="accent"]::after {
  background: var(--c-accent, #c25a3a);
  border-color: var(--c-accent, #c25a3a);
}
.couture-loader-pulse[data-loader-tone="accent"]::before,
.couture-loader-pulse[data-loader-tone="accent"]::after {
  background: transparent;
}

/* Tone: paper-on-dark (use on dark backgrounds) */
.couture-loader-orbit[data-loader-tone="paper-on-dark"] {
  border-color: color-mix(in oklab, var(--c-paper, #faf7f2) 24%, transparent);
}
.couture-loader-orbit[data-loader-tone="paper-on-dark"]::before,
.couture-loader-bars[data-loader-tone="paper-on-dark"]::before,
.couture-loader-bars[data-loader-tone="paper-on-dark"]::after,
.couture-loader-bars[data-loader-tone="paper-on-dark"] > span {
  background: var(--c-paper, #faf7f2);
}
.couture-loader-pulse[data-loader-tone="paper-on-dark"]::before,
.couture-loader-pulse[data-loader-tone="paper-on-dark"]::after {
  border-color: var(--c-paper, #faf7f2);
}

@media (prefers-reduced-motion: reduce) {
  .couture-loader-orbit::before,
  .couture-loader-bars::before,
  .couture-loader-bars::after,
  .couture-loader-bars > span,
  .couture-loader-pulse::before,
  .couture-loader-pulse::after,
  .couture-loader-segments::before {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-125 — Section divider chevron arrow (.couture-divider-arrow)
 *
 * V-shape arrow that bridges two sections with a clear directional cue.
 * Especially useful for landing-page step flows or "scroll to learn more"
 * affordances. Pure CSS via two rotated borders — no SVG.
 *
 * Usage:
 *   <div class="couture-divider-arrow"></div>
 *
 * Direction via [data-divider-arrow]: down (default) | up | right | left
 * Tone via [data-divider-arrow-tone]: line (default) | filled | accent | ghost
 * Size via [data-divider-arrow-size]: sm | md (default) | lg | xl
 * -------------------------------------------------------------------------- */
.couture-divider-arrow {
  display: block;
  margin: 24px auto;
  width: 36px;
  height: 36px;
  position: relative;
  cursor: default;
}

/* The arrow head: rotated square with two visible borders forming a V */
.couture-divider-arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -75%) rotate(45deg);
  border-right: 2px solid var(--c-ink, #1a1815);
  border-bottom: 2px solid var(--c-ink, #1a1815);
  transition: transform 240ms ease;
}

/* Direction variants */
.couture-divider-arrow[data-divider-arrow="up"]::before {
  transform: translate(-50%, -25%) rotate(-135deg);
}
.couture-divider-arrow[data-divider-arrow="right"]::before {
  transform: translate(-75%, -50%) rotate(-45deg);
}
.couture-divider-arrow[data-divider-arrow="left"]::before {
  transform: translate(-25%, -50%) rotate(135deg);
}

/* Hover bounce affordance */
.couture-divider-arrow:hover::before {
  animation: couture-div-arrow-bob 0.7s ease-in-out infinite;
}
@keyframes couture-div-arrow-bob {
  0%, 100% { margin-top: 0; }
  50%      { margin-top: 4px; }
}

/* Tone: filled (solid triangle via clip-path) */
.couture-divider-arrow[data-divider-arrow-tone="filled"]::before {
  width: 22px;
  height: 22px;
  border: none;
  background: var(--c-ink, #1a1815);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  transform: translate(-50%, -50%);
}
.couture-divider-arrow[data-divider-arrow-tone="filled"][data-divider-arrow="up"]::before {
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  transform: translate(-50%, -50%);
}
.couture-divider-arrow[data-divider-arrow-tone="filled"][data-divider-arrow="right"]::before {
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  transform: translate(-50%, -50%);
}
.couture-divider-arrow[data-divider-arrow-tone="filled"][data-divider-arrow="left"]::before {
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  transform: translate(-50%, -50%);
}

/* Tone: accent */
.couture-divider-arrow[data-divider-arrow-tone="accent"]::before {
  border-right-color: var(--c-accent, #c25a3a);
  border-bottom-color: var(--c-accent, #c25a3a);
}
.couture-divider-arrow[data-divider-arrow-tone="accent"][data-divider-arrow="up"]::before {
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-top: 2px solid var(--c-accent, #c25a3a);
  border-left: 2px solid var(--c-accent, #c25a3a);
}

/* Tone: ghost (low-emphasis) */
.couture-divider-arrow[data-divider-arrow-tone="ghost"]::before {
  border-right-color: color-mix(in oklab, var(--c-ink, #1a1815) 30%, transparent);
  border-bottom-color: color-mix(in oklab, var(--c-ink, #1a1815) 30%, transparent);
}

/* Size variants */
.couture-divider-arrow[data-divider-arrow-size="sm"] { width: 22px; height: 22px; }
.couture-divider-arrow[data-divider-arrow-size="sm"]::before { width: 12px; height: 12px; }

.couture-divider-arrow[data-divider-arrow-size="lg"] { width: 56px; height: 56px; }
.couture-divider-arrow[data-divider-arrow-size="lg"]::before { width: 28px; height: 28px; }

.couture-divider-arrow[data-divider-arrow-size="xl"] { width: 80px; height: 80px; }
.couture-divider-arrow[data-divider-arrow-size="xl"]::before {
  width: 42px;
  height: 42px;
  border-width: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-divider-arrow:hover::before {
    animation: none;
  }
  .couture-divider-arrow::before {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-126 — Vertical bead rail (.couture-bead-rail)
 *
 * Compact vertical "beaded string" — small filled circle beads connected by a
 * thin vertical line. Each bead has a label slot. Distinct from the existing
 * timeline component: no dates, more decorative, smaller footprint, suitable
 * for journey/process recap, mini changelog, simple ranked list.
 *
 * Usage:
 *   <ol class="couture-bead-rail">
 *     <li class="cbr-bead"><span class="cbr-label">Concept</span></li>
 *     <li class="cbr-bead"><span class="cbr-label">Sketch</span></li>
 *     <li class="cbr-bead is-current"><span class="cbr-label">Build</span></li>
 *     <li class="cbr-bead"><span class="cbr-label">Ship</span></li>
 *   </ol>
 *
 * Variants via [data-bead-rail-style]: dot (default) | ring | square | accent
 * Side via [data-bead-rail-side]: left (default) | right (labels swap side)
 * -------------------------------------------------------------------------- */
.couture-bead-rail {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-left: 24px;
}
/* The thin vertical rail */
.couture-bead-rail::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 7px;
  width: 1px;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
}
.couture-bead-rail .cbr-bead {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 16px;
  font-family: var(--c-body, system-ui, sans-serif);
  font-size: 0.86rem;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 78%, transparent);
}
.couture-bead-rail .cbr-bead::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 50%;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--c-paper, #faf7f2);
  border: 2px solid color-mix(in oklab, var(--c-ink, #1a1815) 56%, transparent);
  transform: translateY(-50%);
  transition: background 200ms ease, border-color 200ms ease, transform 200ms ease;
}
.couture-bead-rail .cbr-bead:hover::before {
  transform: translateY(-50%) scale(1.18);
  border-color: var(--c-ink, #1a1815);
}
.couture-bead-rail .cbr-bead.is-current::before,
.couture-bead-rail .cbr-bead[aria-current="true"]::before {
  background: var(--c-ink, #1a1815);
  border-color: var(--c-ink, #1a1815);
}
.couture-bead-rail .cbr-bead.is-done::before {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
  border-color: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
}
.couture-bead-rail .cbr-bead.is-current .cbr-label,
.couture-bead-rail .cbr-bead[aria-current="true"] .cbr-label {
  color: var(--c-ink, #1a1815);
  font-weight: 600;
}
.couture-bead-rail .cbr-label {
  display: inline-block;
}

/* Style: ring (hollow center bead) */
.couture-bead-rail[data-bead-rail-style="ring"] .cbr-bead::before {
  background: var(--c-paper, #faf7f2);
  border-width: 3px;
}
.couture-bead-rail[data-bead-rail-style="ring"] .cbr-bead.is-current::before,
.couture-bead-rail[data-bead-rail-style="ring"] .cbr-bead[aria-current="true"]::before {
  background: var(--c-paper, #faf7f2);
  border-color: var(--c-ink, #1a1815);
  box-shadow: inset 0 0 0 2px var(--c-paper, #faf7f2),
              inset 0 0 0 5px var(--c-ink, #1a1815);
  border-width: 0;
  width: 11px;
  height: 11px;
}

/* Style: square (rotated diamond beads) */
.couture-bead-rail[data-bead-rail-style="square"] .cbr-bead::before {
  border-radius: 1px;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  height: 9px;
}
.couture-bead-rail[data-bead-rail-style="square"] .cbr-bead:hover::before {
  transform: translateY(-50%) rotate(45deg) scale(1.18);
}

/* Style: accent (current bead uses accent color) */
.couture-bead-rail[data-bead-rail-style="accent"] .cbr-bead.is-current::before,
.couture-bead-rail[data-bead-rail-style="accent"] .cbr-bead[aria-current="true"]::before {
  background: var(--c-accent, #c25a3a);
  border-color: var(--c-accent, #c25a3a);
}
.couture-bead-rail[data-bead-rail-style="accent"]::before {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 22%, transparent);
}

/* Side: right (rail on right, labels right-aligned) */
.couture-bead-rail[data-bead-rail-side="right"] {
  padding-left: 0;
  padding-right: 24px;
}
.couture-bead-rail[data-bead-rail-side="right"]::before {
  left: auto;
  right: 7px;
}
.couture-bead-rail[data-bead-rail-side="right"] .cbr-bead {
  justify-content: flex-end;
  text-align: right;
}
.couture-bead-rail[data-bead-rail-side="right"] .cbr-bead::before {
  left: auto;
  right: -22px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-bead-rail .cbr-bead::before {
    transition: none;
  }
  .couture-bead-rail .cbr-bead:hover::before {
    transform: translateY(-50%);
  }
  .couture-bead-rail[data-bead-rail-style="square"] .cbr-bead:hover::before {
    transform: translateY(-50%) rotate(45deg);
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-127 — Heraldic crest emblem (.couture-crest)
 *
 * Decorative shield-shape brand crest with monogram center, year ribbon below,
 * and optional flanking laurel marks. Pure CSS, no SVG. Useful for "since
 * 1923"-style boutique brand callouts, founder badges, about-page accents.
 *
 * Usage:
 *   <div class="couture-crest">
 *     <div class="ccx-shield">
 *       <div class="ccx-mono">A&amp;C</div>
 *       <div class="ccx-year">EST. 1923</div>
 *     </div>
 *     <div class="ccx-banner">ATELIER</div>
 *   </div>
 *
 * Variants via [data-crest-style]: line (default) | filled | accent | minimal
 * Size via [data-crest-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-crest {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  position: relative;
  font-family: var(--c-display, Georgia, serif);
  color: var(--c-ink, #1a1815);
}
.couture-crest .ccx-shield {
  position: relative;
  width: 72px;
  height: 84px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  background: var(--c-paper, #faf7f2);
  border: 2px solid var(--c-ink, #1a1815);
  /* Shield silhouette: classic top-curve top, pointed bottom */
  clip-path: polygon(
    50% 100%,  /* point */
    0 70%,
    0 14%,
    16% 0,
    84% 0,
    100% 14%,
    100% 70%
  );
  padding: 14px 10px 22px 10px;
}
/* Inner border (one extra heraldic line) */
.couture-crest .ccx-shield::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 36%, transparent);
  clip-path: polygon(
    50% 100%, 0 70%, 0 14%, 16% 0,
    84% 0, 100% 14%, 100% 70%
  );
  pointer-events: none;
}
.couture-crest .ccx-mono {
  font-size: 1.45rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  letter-spacing: -0.01em;
  position: relative;
  z-index: 1;
}
.couture-crest .ccx-year {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.5rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.7;
  position: relative;
  z-index: 1;
  margin-top: 2px;
  padding-top: 4px;
  border-top: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 40%, transparent);
  width: 60%;
  text-align: center;
}
.couture-crest .ccx-banner {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 4px 16px;
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  margin-top: -10px;
  position: relative;
  z-index: 2;
  /* tabbed banner ends */
  clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 50%, 100% 100%, 0 100%, 6px 50%);
}

/* Style: filled (dark shield) */
.couture-crest[data-crest-style="filled"] .ccx-shield {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
}
.couture-crest[data-crest-style="filled"] .ccx-shield::before {
  border-color: color-mix(in oklab, var(--c-paper, #faf7f2) 40%, transparent);
}
.couture-crest[data-crest-style="filled"] .ccx-shield .ccx-year {
  border-top-color: color-mix(in oklab, var(--c-paper, #faf7f2) 40%, transparent);
}
.couture-crest[data-crest-style="filled"] .ccx-banner {
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
}

/* Style: accent (accent-color shield border) */
.couture-crest[data-crest-style="accent"] .ccx-shield {
  border-color: var(--c-accent, #c25a3a);
}
.couture-crest[data-crest-style="accent"] .ccx-banner {
  background: var(--c-accent, #c25a3a);
  color: var(--c-paper, #faf7f2);
}
.couture-crest[data-crest-style="accent"] .ccx-mono {
  color: var(--c-accent, #c25a3a);
}

/* Style: minimal (no banner, just shield) */
.couture-crest[data-crest-style="minimal"] .ccx-banner {
  display: none;
}

/* Sizes */
.couture-crest[data-crest-size="sm"] .ccx-shield { width: 52px; height: 62px; padding: 8px 6px 16px 6px; }
.couture-crest[data-crest-size="sm"] .ccx-mono { font-size: 1rem; }
.couture-crest[data-crest-size="sm"] .ccx-year { font-size: 0.42rem; padding-top: 2px; margin-top: 1px; }
.couture-crest[data-crest-size="sm"] .ccx-banner { font-size: 0.5rem; padding: 2px 10px; margin-top: -7px; }

.couture-crest[data-crest-size="lg"] .ccx-shield { width: 110px; height: 130px; padding: 22px 14px 32px 14px; }
.couture-crest[data-crest-size="lg"] .ccx-mono { font-size: 2.1rem; }
.couture-crest[data-crest-size="lg"] .ccx-year { font-size: 0.66rem; padding-top: 6px; margin-top: 4px; }
.couture-crest[data-crest-size="lg"] .ccx-banner { font-size: 0.74rem; padding: 6px 22px; margin-top: -14px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-128 — Flag pennant decorative (.couture-pennant + .couture-bunting)
 *
 * Triangular pennant flag (single) and bunting strand (multiple pennants on a
 * string). Useful for festive accents, sale callouts, sports/team brand pages,
 * event headers. Pennants gently sway on hover (reduced-motion respected).
 *
 * Usage (single):
 *   <span class="couture-pennant">SALE</span>
 *
 * Usage (bunting):
 *   <div class="couture-bunting">
 *     <span class="couture-pennant">A</span>
 *     <span class="couture-pennant">B</span>
 *     <span class="couture-pennant">C</span>
 *     <span class="couture-pennant">D</span>
 *     <span class="couture-pennant">E</span>
 *   </div>
 *
 * Variants via [data-pennant-style]: ink (default) | accent | paper | striped
 * Direction via [data-pennant-dir]: down (default) | right | left
 * -------------------------------------------------------------------------- */
.couture-pennant {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  padding: 6px 12px 18px 12px;
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
  /* Triangular point at the bottom */
  clip-path: polygon(0 0, 100% 0, 100% 50%, 50% 100%, 0 50%);
  min-width: 36px;
  transform-origin: top center;
  transition: transform 240ms ease;
}
.couture-pennant:hover {
  transform: rotate(3deg);
}

/* Direction: right (point on right) */
.couture-pennant[data-pennant-dir="right"] {
  padding: 8px 22px 8px 10px;
  clip-path: polygon(0 0, 75% 0, 100% 50%, 75% 100%, 0 100%);
}
.couture-pennant[data-pennant-dir="left"] {
  padding: 8px 10px 8px 22px;
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 25% 100%, 0 50%);
}

/* Style variants */
.couture-pennant[data-pennant-style="accent"] {
  background: var(--c-accent, #c25a3a);
  color: var(--c-paper, #faf7f2);
}
.couture-pennant[data-pennant-style="paper"] {
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  outline: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 24%, transparent);
}
.couture-pennant[data-pennant-style="striped"] {
  background: repeating-linear-gradient(
    45deg,
    var(--c-ink, #1a1815) 0 6px,
    color-mix(in oklab, var(--c-ink, #1a1815) 70%, var(--c-paper, #faf7f2) 30%) 6px 12px
  );
  color: var(--c-paper, #faf7f2);
}

/* Bunting: pennants hang from a curved string */
.couture-bunting {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  position: relative;
  padding-top: 6px;
  /* The string is a thin border on top with a slight droop emulation */
  background-image: linear-gradient(
    to right,
    transparent 0,
    color-mix(in oklab, var(--c-ink, #1a1815) 36%, transparent) 4px,
    color-mix(in oklab, var(--c-ink, #1a1815) 36%, transparent) calc(100% - 4px),
    transparent 100%
  );
  background-size: 100% 1px;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.couture-bunting .couture-pennant {
  /* Slight alternating tilts for a hand-strung look */
  transform-origin: top center;
}
.couture-bunting .couture-pennant:nth-child(odd) {
  transform: rotate(-2deg);
}
.couture-bunting .couture-pennant:nth-child(even) {
  transform: rotate(2deg);
}
.couture-bunting .couture-pennant:nth-child(3n) {
  transform: rotate(-1deg);
}

/* Color rotation across bunting (looks more festive) */
.couture-bunting .couture-pennant:nth-child(5n+1) { background: var(--c-ink, #1a1815); }
.couture-bunting .couture-pennant:nth-child(5n+2) { background: var(--c-accent, #c25a3a); }
.couture-bunting .couture-pennant:nth-child(5n+3) {
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  outline: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 24%, transparent);
}
.couture-bunting .couture-pennant:nth-child(5n+4) {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 60%, var(--c-paper, #faf7f2) 40%);
}
.couture-bunting .couture-pennant:nth-child(5n+5) { background: var(--c-accent, #c25a3a); }
.couture-bunting .couture-pennant:hover {
  transform: rotate(0deg) scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .couture-pennant,
  .couture-bunting .couture-pennant:nth-child(n) {
    transition: none;
  }
  .couture-pennant:hover,
  .couture-bunting .couture-pennant:hover {
    transform: rotate(0deg);
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-129 — Copy-to-clipboard chip (.couture-copy-chip)
 *
 * Inline pill containing a value (coupon, code, address, version) plus a
 * pure-CSS clipboard-icon button. State driven by the [data-copied] attribute
 * which the JS handler can flip; CSS handles the visual switch (icon swap +
 * "Copied!" tooltip).
 *
 * Usage:
 *   <button class="couture-copy-chip" type="button" data-copied="false">
 *     <span class="ccc-value">SUMMER25</span>
 *     <span class="ccc-icon" aria-hidden="true"></span>
 *     <span class="ccc-feedback">Copied!</span>
 *   </button>
 *
 *   // JS handler sets data-copied="true" for ~1.6s after copy fires.
 *
 * Variants via [data-copy-chip-style]: default | ink | mono | accent
 * Size via [data-copy-chip-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-copy-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px 14px;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 16%, transparent);
  border-radius: 6px;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  cursor: pointer;
  position: relative;
  transition: border-color 200ms ease, background 200ms ease;
}
.couture-copy-chip:hover {
  border-color: color-mix(in oklab, var(--c-ink, #1a1815) 36%, transparent);
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 8%);
}
.couture-copy-chip:focus-visible {
  outline: 2px solid var(--c-accent, #c25a3a);
  outline-offset: 2px;
}
.couture-copy-chip .ccc-value {
  font-weight: 600;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
/* Pure-CSS clipboard icon: rounded-rect with a notch on top */
.couture-copy-chip .ccc-icon {
  display: inline-block;
  position: relative;
  width: 14px;
  height: 16px;
  border: 1.5px solid currentColor;
  border-radius: 2.5px;
  margin-left: 2px;
  opacity: 0.66;
  transition: opacity 200ms ease, transform 200ms ease;
}
.couture-copy-chip .ccc-icon::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 4px;
  background: var(--c-paper, #faf7f2);
  border: 1.5px solid currentColor;
  border-radius: 1.5px;
  box-sizing: border-box;
}
.couture-copy-chip:hover .ccc-icon {
  opacity: 1;
}

/* Copied state — icon becomes a checkmark-tick (pure CSS) */
.couture-copy-chip[data-copied="true"] {
  border-color: color-mix(in oklab, #2e8a4e 70%, transparent);
  background: color-mix(in oklab, #2e8a4e 8%, var(--c-paper, #faf7f2));
  color: #2e8a4e;
}
.couture-copy-chip[data-copied="true"] .ccc-icon,
.couture-copy-chip[data-copied="true"] .ccc-icon::before {
  border: none;
  background: transparent;
}
.couture-copy-chip[data-copied="true"] .ccc-icon {
  width: 14px;
  height: 14px;
  opacity: 1;
}
.couture-copy-chip[data-copied="true"] .ccc-icon::after {
  content: "";
  position: absolute;
  left: 1px;
  top: 0;
  width: 5px;
  height: 10px;
  border-right: 2px solid #2e8a4e;
  border-bottom: 2px solid #2e8a4e;
  transform: rotate(45deg);
}

/* "Copied!" floating feedback */
.couture-copy-chip .ccc-feedback {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translate(-50%, 4px);
  padding: 3px 9px;
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-radius: 4px;
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease, transform 200ms ease;
  white-space: nowrap;
}
.couture-copy-chip .ccc-feedback::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: var(--c-ink, #1a1815);
}
.couture-copy-chip[data-copied="true"] .ccc-feedback {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* Style variants */
.couture-copy-chip[data-copy-chip-style="ink"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-color: transparent;
}
.couture-copy-chip[data-copy-chip-style="ink"]:hover {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 88%, var(--c-paper, #faf7f2) 12%);
}
.couture-copy-chip[data-copy-chip-style="mono"] {
  background: transparent;
  border: 1px dashed color-mix(in oklab, var(--c-ink, #1a1815) 32%, transparent);
}
.couture-copy-chip[data-copy-chip-style="accent"] {
  border-color: color-mix(in oklab, var(--c-accent, #c25a3a) 40%, transparent);
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 6%, var(--c-paper, #faf7f2));
}
.couture-copy-chip[data-copy-chip-style="accent"]:hover {
  border-color: var(--c-accent, #c25a3a);
}

/* Sizes */
.couture-copy-chip[data-copy-chip-size="sm"] {
  font-size: 0.66rem;
  padding: 3px 7px 3px 10px;
  gap: 5px;
}
.couture-copy-chip[data-copy-chip-size="sm"] .ccc-icon { width: 11px; height: 13px; }
.couture-copy-chip[data-copy-chip-size="sm"] .ccc-icon::before { width: 6px; height: 3px; top: -2.5px; }

.couture-copy-chip[data-copy-chip-size="lg"] {
  font-size: 0.92rem;
  padding: 9px 14px 9px 18px;
  gap: 11px;
}
.couture-copy-chip[data-copy-chip-size="lg"] .ccc-icon { width: 17px; height: 19px; }
.couture-copy-chip[data-copy-chip-size="lg"] .ccc-icon::before { width: 10px; height: 5px; top: -3.5px; }

@media (prefers-reduced-motion: reduce) {
  .couture-copy-chip,
  .couture-copy-chip .ccc-icon,
  .couture-copy-chip .ccc-feedback {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-130 — Battery / charge indicator pill (.couture-battery)
 *
 * Tiny battery-shape pill with a fill bar driven by a CSS custom property
 * (--charge: 0..1). Tip nub on the right. Color shifts based on charge level
 * and a charging state. Useful for stock levels, profile completion, plan
 * usage, generic "fill" indicators in profile cards or admin contexts.
 *
 * Usage:
 *   <span class="couture-battery" style="--charge: 0.78"
 *         role="img" aria-label="Charge 78%"></span>
 *
 *   <span class="couture-battery" style="--charge: 0.20" data-charging="true"></span>
 *
 * Variants via [data-battery-style]: default | filled | outline
 * Size via [data-battery-size]: sm | md (default) | lg
 * Threshold colors auto-applied at <0.2 (red), 0.2-0.5 (amber), >0.5 (green).
 * Override via [data-battery-tone]: ink (no auto-color) | accent | neutral
 * -------------------------------------------------------------------------- */
.couture-battery {
  --charge: 0.5;
  --batt-low: #c54c3c;
  --batt-mid: #d99a3a;
  --batt-high: #2e8a4e;
  --batt-color: var(--batt-high);
  display: inline-block;
  position: relative;
  width: 36px;
  height: 16px;
  border: 1.5px solid color-mix(in oklab, var(--c-ink, #1a1815) 56%, transparent);
  border-radius: 3px;
  background: var(--c-paper, #faf7f2);
  box-sizing: content-box;
  vertical-align: middle;
  margin-right: 4px;
}
/* The tip nub */
.couture-battery::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 7px;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 56%, transparent);
  border-radius: 0 2px 2px 0;
}
/* The fill bar */
.couture-battery::before {
  content: "";
  position: absolute;
  inset: 2px;
  width: calc((100% - 4px) * clamp(0, var(--charge), 1));
  background: var(--batt-color);
  border-radius: 1.5px;
  transition: width 320ms ease, background 200ms ease;
}

/* Auto-color thresholds: invalid var fallback works because clamp() can't
   meaningfully drive separate property; instead we use [style] queries via
   :is() approach here is not possible without container queries. Operators
   should set [data-battery-tone="auto"] and we attach by attr selectors. */
/* Default: assume tone via three breakpoint classes the operator can add */
.couture-battery.is-low    { --batt-color: var(--batt-low); }
.couture-battery.is-mid    { --batt-color: var(--batt-mid); }
.couture-battery.is-high   { --batt-color: var(--batt-high); }

/* Tone overrides */
.couture-battery[data-battery-tone="ink"]     { --batt-color: var(--c-ink, #1a1815); }
.couture-battery[data-battery-tone="accent"]  { --batt-color: var(--c-accent, #c25a3a); }
.couture-battery[data-battery-tone="neutral"] { --batt-color: color-mix(in oklab, var(--c-ink, #1a1815) 56%, transparent); }

/* Charging animation: subtle pulse on the fill bar */
.couture-battery[data-charging="true"]::before {
  animation: couture-battery-pulse 1.4s ease-in-out infinite;
}
@keyframes couture-battery-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.55; }
}
/* Charging bolt overlay */
.couture-battery[data-charging="true"] {
  position: relative;
}
.couture-battery[data-charging="true"]::after {
  /* keep the tip but add an extra bolt via additional content not possible.
     Operators can compose with an icon next to it. */
}

/* Style variants */
.couture-battery[data-battery-style="filled"] {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 8%, var(--c-paper, #faf7f2));
}
.couture-battery[data-battery-style="outline"] {
  background: transparent;
}

/* Sizes */
.couture-battery[data-battery-size="sm"] {
  width: 24px;
  height: 11px;
  border-width: 1px;
  border-radius: 2px;
}
.couture-battery[data-battery-size="sm"]::after {
  width: 2px;
  height: 5px;
  right: -3px;
}
.couture-battery[data-battery-size="lg"] {
  width: 56px;
  height: 24px;
  border-width: 2px;
  border-radius: 4px;
}
.couture-battery[data-battery-size="lg"]::after {
  width: 4px;
  height: 11px;
  right: -6px;
  border-radius: 0 3px 3px 0;
}

@media (prefers-reduced-motion: reduce) {
  .couture-battery::before {
    transition: none;
    animation: none;
  }
  .couture-battery[data-charging="true"]::before {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-131 — Signal-strength bars indicator (.couture-signal-bars)
 *
 * Stepped 4-bar signal-strength meter (think cell-service icon). Active level
 * driven by [data-level="0|1|2|3|4"]. Useful for connectivity/quality
 * indicators, strength meters, search-relevance scores, password strength,
 * generic "ladder" displays inline next to status text.
 *
 * Usage:
 *   <span class="couture-signal-bars" data-level="3"
 *         role="img" aria-label="Strength 3 of 4"></span>
 *
 * Variants via [data-signal-style]: stepped (default) | rising | dots
 * Tone via [data-signal-tone]: ink (default) | accent | level (auto-color by level)
 * Size via [data-signal-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-signal-bars {
  display: inline-flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 2px;
  height: 14px;
  width: 18px;
  vertical-align: middle;
  --sig-color: var(--c-ink, #1a1815);
  --sig-dim: color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
}
/* Four bars with rising heights */
.couture-signal-bars::before,
.couture-signal-bars::after,
.couture-signal-bars > span {
  content: "";
  display: block;
  width: 3px;
  background: var(--sig-dim);
  border-radius: 1px;
  transition: background 200ms ease;
}
.couture-signal-bars::before { height: 25%; }
.couture-signal-bars > span:first-child  { height: 50%; }
.couture-signal-bars > span:nth-child(2) { height: 75%; }
.couture-signal-bars::after  { height: 100%; }

/* Active levels light up bars from left */
.couture-signal-bars[data-level="1"]::before { background: var(--sig-color); }

.couture-signal-bars[data-level="2"]::before,
.couture-signal-bars[data-level="2"] > span:first-child { background: var(--sig-color); }

.couture-signal-bars[data-level="3"]::before,
.couture-signal-bars[data-level="3"] > span:first-child,
.couture-signal-bars[data-level="3"] > span:nth-child(2) { background: var(--sig-color); }

.couture-signal-bars[data-level="4"]::before,
.couture-signal-bars[data-level="4"] > span:first-child,
.couture-signal-bars[data-level="4"] > span:nth-child(2),
.couture-signal-bars[data-level="4"]::after { background: var(--sig-color); }

/* Style: rising (uniform-width gradient bars, more dramatic ascent) */
.couture-signal-bars[data-signal-style="rising"]::before { height: 20%; }
.couture-signal-bars[data-signal-style="rising"] > span:first-child  { height: 45%; }
.couture-signal-bars[data-signal-style="rising"] > span:nth-child(2) { height: 70%; }
.couture-signal-bars[data-signal-style="rising"]::after  { height: 100%; }

/* Style: dots (square dots stacked-by-row), good for compact contexts */
.couture-signal-bars[data-signal-style="dots"] {
  height: 10px;
  width: 26px;
  gap: 4px;
  align-items: center;
}
.couture-signal-bars[data-signal-style="dots"]::before,
.couture-signal-bars[data-signal-style="dots"]::after,
.couture-signal-bars[data-signal-style="dots"] > span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
}
.couture-signal-bars[data-signal-style="dots"]::before,
.couture-signal-bars[data-signal-style="dots"] > span:first-child,
.couture-signal-bars[data-signal-style="dots"] > span:nth-child(2),
.couture-signal-bars[data-signal-style="dots"]::after {
  height: 5px;
}

/* Tone: accent */
.couture-signal-bars[data-signal-tone="accent"] {
  --sig-color: var(--c-accent, #c25a3a);
}
/* Tone: level (auto-color by level — red/amber/green) */
.couture-signal-bars[data-signal-tone="level"][data-level="1"] { --sig-color: #c54c3c; }
.couture-signal-bars[data-signal-tone="level"][data-level="2"] { --sig-color: #d99a3a; }
.couture-signal-bars[data-signal-tone="level"][data-level="3"] { --sig-color: #2e8a4e; }
.couture-signal-bars[data-signal-tone="level"][data-level="4"] { --sig-color: #2e8a4e; }

/* Sizes */
.couture-signal-bars[data-signal-size="sm"] {
  height: 10px;
  width: 13px;
  gap: 1.5px;
}
.couture-signal-bars[data-signal-size="sm"]::before,
.couture-signal-bars[data-signal-size="sm"]::after,
.couture-signal-bars[data-signal-size="sm"] > span {
  width: 2px;
}
.couture-signal-bars[data-signal-size="lg"] {
  height: 22px;
  width: 28px;
  gap: 3px;
}
.couture-signal-bars[data-signal-size="lg"]::before,
.couture-signal-bars[data-signal-size="lg"]::after,
.couture-signal-bars[data-signal-size="lg"] > span {
  width: 5px;
  border-radius: 1.5px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-signal-bars::before,
  .couture-signal-bars::after,
  .couture-signal-bars > span {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-132 — File-attachment chip (.couture-file-chip)
 *
 * Compact attached-file row with pure-CSS file-icon (folded-corner page),
 * filename, size, and optional download/remove affordance. The icon's
 * folded corner is drawn via a clip-path notch + corner-fold via gradient.
 * Useful for download lists, press kits, attachment manifests, document
 * gallery rows.
 *
 * Usage:
 *   <a class="couture-file-chip" href="press-kit.zip" download>
 *     <span class="cfc-icon" aria-hidden="true" data-file-ext="ZIP"></span>
 *     <span class="cfc-name">press-kit.zip</span>
 *     <span class="cfc-size">2.4 MB</span>
 *     <span class="cfc-action" aria-hidden="true">↓</span>
 *   </a>
 *
 * Variants via [data-file-chip-style]: row (default) | card | minimal
 * Tone via [data-file-chip-tone]: paper (default) | ink | accent
 * -------------------------------------------------------------------------- */
.couture-file-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 10px;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent);
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--c-body, system-ui, sans-serif);
  font-size: 0.86rem;
  line-height: 1.2;
  transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
  max-width: 360px;
}
.couture-file-chip:hover {
  border-color: color-mix(in oklab, var(--c-ink, #1a1815) 32%, transparent);
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 8%);
  transform: translateY(-1px);
}

/* The file icon: page with folded top-right corner */
.couture-file-chip .cfc-icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  width: 28px;
  height: 32px;
  flex-shrink: 0;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 8%, var(--c-paper, #faf7f2));
  border: 1.5px solid color-mix(in oklab, var(--c-ink, #1a1815) 38%, transparent);
  border-radius: 2px;
  /* Folded corner via clip-path */
  clip-path: polygon(
    0 0,
    70% 0,
    100% 30%,
    100% 100%,
    0 100%
  );
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 70%, transparent);
  padding-bottom: 4px;
}
/* Show file extension via attribute */
.couture-file-chip .cfc-icon::after {
  content: attr(data-file-ext);
  text-transform: uppercase;
}
/* Folded-corner triangle highlight */
.couture-file-chip .cfc-icon::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  height: 30%;
  background: linear-gradient(
    -135deg,
    color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent) 0%,
    color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent) 50%,
    transparent 50%,
    transparent 100%
  );
  pointer-events: none;
}

.couture-file-chip .cfc-name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}
.couture-file-chip .cfc-size {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.7rem;
  opacity: 0.55;
  letter-spacing: 0.04em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.couture-file-chip .cfc-action {
  margin-left: auto;
  padding: 0 0 0 8px;
  font-size: 1rem;
  opacity: 0.5;
  transition: opacity 180ms ease, transform 180ms ease;
  border-left: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent);
}
.couture-file-chip:hover .cfc-action {
  opacity: 1;
  transform: translateY(2px);
}

/* Style: card (vertical, larger icon, more padding) */
.couture-file-chip[data-file-chip-style="card"] {
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 14px;
  gap: 8px;
  max-width: 200px;
}
.couture-file-chip[data-file-chip-style="card"] .cfc-icon {
  width: 36px;
  height: 42px;
  font-size: 0.6rem;
}
.couture-file-chip[data-file-chip-style="card"] .cfc-action {
  margin-left: 0;
  border-left: none;
  padding: 0;
}

/* Style: minimal (no border, just icon + name) */
.couture-file-chip[data-file-chip-style="minimal"] {
  border: none;
  background: transparent;
  padding: 4px 0;
}
.couture-file-chip[data-file-chip-style="minimal"]:hover {
  background: transparent;
  transform: none;
}
.couture-file-chip[data-file-chip-style="minimal"] .cfc-icon {
  width: 22px;
  height: 26px;
  font-size: 0.42rem;
}

/* Tone: ink */
.couture-file-chip[data-file-chip-tone="ink"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-color: transparent;
}
.couture-file-chip[data-file-chip-tone="ink"] .cfc-icon {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 16%, transparent);
  border-color: color-mix(in oklab, var(--c-paper, #faf7f2) 38%, transparent);
  color: color-mix(in oklab, var(--c-paper, #faf7f2) 80%, transparent);
}

/* Tone: accent */
.couture-file-chip[data-file-chip-tone="accent"] .cfc-icon {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 14%, var(--c-paper, #faf7f2));
  border-color: color-mix(in oklab, var(--c-accent, #c25a3a) 50%, transparent);
  color: var(--c-accent, #c25a3a);
}

@media (prefers-reduced-motion: reduce) {
  .couture-file-chip,
  .couture-file-chip .cfc-action {
    transition: none;
  }
  .couture-file-chip:hover {
    transform: none;
  }
  .couture-file-chip:hover .cfc-action {
    transform: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-133 — Sticky-tab section nav (.couture-sticky-tabs)
 *
 * Horizontal pill-tab navigation that becomes sticky at the top of the
 * viewport. Each tab gets an underline indicator that animates when active.
 * Useful as in-page section nav for long content (about, services, FAQ),
 * docs sub-nav, lookbook category switcher.
 *
 * Usage:
 *   <nav class="couture-sticky-tabs" aria-label="Sections">
 *     <a href="#story" class="cst-tab" aria-current="true">Story</a>
 *     <a href="#fit"   class="cst-tab">Fit</a>
 *     <a href="#care"  class="cst-tab">Care</a>
 *     <a href="#faq"   class="cst-tab">FAQ</a>
 *   </nav>
 *
 * Variants via [data-sticky-tabs-style]: line (default) | pill | bordered
 * Position via [data-sticky-tabs-pos]: sticky (default) | static
 * Align via [data-sticky-tabs-align]: start | center (default) | space-between
 * -------------------------------------------------------------------------- */
.couture-sticky-tabs {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 4%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 10%, transparent);
  padding: 0 12px;
  margin: 0 0 16px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.couture-sticky-tabs::-webkit-scrollbar { display: none; }

.couture-sticky-tabs .cst-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 14px 18px;
  text-decoration: none;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 56%, transparent);
  font-family: var(--c-body, system-ui, sans-serif);
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: color 200ms ease;
}
.couture-sticky-tabs .cst-tab::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 2px;
  background: var(--c-ink, #1a1815);
  border-radius: 1px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 240ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.couture-sticky-tabs .cst-tab:hover {
  color: var(--c-ink, #1a1815);
}
.couture-sticky-tabs .cst-tab:hover::after {
  transform: scaleX(0.5);
}
.couture-sticky-tabs .cst-tab[aria-current="true"],
.couture-sticky-tabs .cst-tab[aria-current="page"],
.couture-sticky-tabs .cst-tab.is-active {
  color: var(--c-ink, #1a1815);
  font-weight: 600;
}
.couture-sticky-tabs .cst-tab[aria-current="true"]::after,
.couture-sticky-tabs .cst-tab[aria-current="page"]::after,
.couture-sticky-tabs .cst-tab.is-active::after {
  transform: scaleX(1);
}

/* Style: pill (active is filled rounded pill) */
.couture-sticky-tabs[data-sticky-tabs-style="pill"] {
  padding: 8px 12px;
  border-bottom: none;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 96%, var(--c-ink, #1a1815) 4%);
}
.couture-sticky-tabs[data-sticky-tabs-style="pill"] .cst-tab {
  padding: 8px 14px;
  border-radius: 999px;
  margin: 0 2px;
  transition: background 200ms ease, color 200ms ease;
}
.couture-sticky-tabs[data-sticky-tabs-style="pill"] .cst-tab::after {
  display: none;
}
.couture-sticky-tabs[data-sticky-tabs-style="pill"] .cst-tab:hover {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 6%, transparent);
}
.couture-sticky-tabs[data-sticky-tabs-style="pill"] .cst-tab[aria-current="true"],
.couture-sticky-tabs[data-sticky-tabs-style="pill"] .cst-tab[aria-current="page"],
.couture-sticky-tabs[data-sticky-tabs-style="pill"] .cst-tab.is-active {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
}

/* Style: bordered (boxed tabs with active outline) */
.couture-sticky-tabs[data-sticky-tabs-style="bordered"] .cst-tab {
  border: 1px solid transparent;
  border-radius: 4px;
  margin: 6px 2px;
  padding: 8px 14px;
}
.couture-sticky-tabs[data-sticky-tabs-style="bordered"] .cst-tab::after {
  display: none;
}
.couture-sticky-tabs[data-sticky-tabs-style="bordered"] .cst-tab:hover {
  border-color: color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
}
.couture-sticky-tabs[data-sticky-tabs-style="bordered"] .cst-tab[aria-current="true"],
.couture-sticky-tabs[data-sticky-tabs-style="bordered"] .cst-tab[aria-current="page"],
.couture-sticky-tabs[data-sticky-tabs-style="bordered"] .cst-tab.is-active {
  border-color: var(--c-ink, #1a1815);
}

/* Position: static (override sticky) */
.couture-sticky-tabs[data-sticky-tabs-pos="static"] {
  position: static;
}

/* Align variants */
.couture-sticky-tabs[data-sticky-tabs-align="start"] {
  justify-content: flex-start;
}
.couture-sticky-tabs[data-sticky-tabs-align="space-between"] {
  justify-content: space-between;
}

@media (prefers-reduced-motion: reduce) {
  .couture-sticky-tabs .cst-tab,
  .couture-sticky-tabs .cst-tab::after {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-134 — Verification check-bubble (.couture-verified)
 *
 * Twitter/Instagram-style verified-account badge: round (or scalloped) bubble
 * with a centered white checkmark. Pure CSS, scales to inline text size.
 * Useful for "trusted vendor", "verified review", "authenticated", brand
 * partner badges next to author / brand / product names.
 *
 * Usage:
 *   <span class="couture-verified" role="img" aria-label="Verified"></span>
 *
 * Variants via [data-verified-shape]: round (default) | scallop | square
 * Tone via [data-verified-tone]: blue (default) | accent | ink | gold
 * Size via [data-verified-size]: xs | sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-verified {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  background: #1d8cf0;
  border-radius: 50%;
  vertical-align: middle;
  flex-shrink: 0;
}
/* Centered white checkmark via two rotated borders */
.couture-verified::after {
  content: "";
  position: absolute;
  left: 4.5px;
  top: 2.5px;
  width: 4px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

/* Shape: scallop (12-pointed star-bubble like Instagram verified) */
.couture-verified[data-verified-shape="scallop"] {
  border-radius: 0;
  clip-path: polygon(
    50% 0%, 60% 8%, 71% 4%, 76% 14%, 88% 14%, 88% 26%, 96% 32%, 92% 43%,
    100% 50%, 92% 57%, 96% 68%, 88% 74%, 88% 86%, 76% 86%, 71% 96%, 60% 92%,
    50% 100%, 40% 92%, 29% 96%, 24% 86%, 12% 86%, 12% 74%, 4% 68%, 8% 57%,
    0% 50%, 8% 43%, 4% 32%, 12% 26%, 12% 14%, 24% 14%, 29% 4%, 40% 8%
  );
}

/* Shape: square (rounded square like Material) */
.couture-verified[data-verified-shape="square"] {
  border-radius: 3px;
}

/* Tone variants */
.couture-verified[data-verified-tone="accent"] {
  background: var(--c-accent, #c25a3a);
}
.couture-verified[data-verified-tone="ink"] {
  background: var(--c-ink, #1a1815);
}
.couture-verified[data-verified-tone="gold"] {
  background: linear-gradient(135deg, #d4af37 0%, #f0d96a 50%, #c19c2f 100%);
}

/* Size variants */
.couture-verified[data-verified-size="xs"] {
  width: 11px;
  height: 11px;
}
.couture-verified[data-verified-size="xs"]::after {
  left: 3px;
  top: 1.5px;
  width: 2.5px;
  height: 5.5px;
  border-right-width: 1.5px;
  border-bottom-width: 1.5px;
}
.couture-verified[data-verified-size="sm"] {
  width: 13px;
  height: 13px;
}
.couture-verified[data-verified-size="sm"]::after {
  left: 3.5px;
  top: 2px;
  width: 3.2px;
  height: 6.5px;
  border-right-width: 1.5px;
  border-bottom-width: 1.5px;
}
.couture-verified[data-verified-size="lg"] {
  width: 22px;
  height: 22px;
}
.couture-verified[data-verified-size="lg"]::after {
  left: 6.5px;
  top: 4px;
  width: 5px;
  height: 10px;
  border-right-width: 2.5px;
  border-bottom-width: 2.5px;
}

/* Hover affordance: subtle scale-up */
.couture-verified {
  transition: transform 200ms ease, filter 200ms ease;
}
.couture-verified:hover {
  transform: scale(1.18);
  filter: brightness(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .couture-verified {
    transition: none;
  }
  .couture-verified:hover {
    transform: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-135 — Notification bell (.couture-bell-notif)
 *
 * Pure-CSS bell icon with optional red badge dot for unread state and a
 * subtle ring-shake animation when set to .is-ringing. Useful in nav bars,
 * account widgets, alert banners.
 *
 * Usage:
 *   <button class="couture-bell-notif" type="button" aria-label="Notifications">
 *     <span class="cbn-icon" aria-hidden="true"></span>
 *   </button>
 *
 *   <button class="couture-bell-notif is-ringing" data-count="3"
 *           type="button" aria-label="3 notifications">
 *     <span class="cbn-icon" aria-hidden="true"></span>
 *   </button>
 *
 * Variants via [data-bell-style]: ghost (default) | filled | outline
 * Tone via [data-bell-tone]: ink (default) | accent | paper-on-dark
 * -------------------------------------------------------------------------- */
.couture-bell-notif {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 36px;
  height: 36px;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: var(--c-ink, #1a1815);
  transition: background 200ms ease;
}
.couture-bell-notif:hover {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 8%, transparent);
}
.couture-bell-notif:focus-visible {
  outline: 2px solid var(--c-accent, #c25a3a);
  outline-offset: 2px;
}

/* The bell body: an arch shape via border-radius + clapper */
.couture-bell-notif .cbn-icon {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-radius: 50% 50% 0 0;
  border-bottom: none;
  background: transparent;
  transform-origin: top center;
}
/* The bell base / lip */
.couture-bell-notif .cbn-icon::before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: -3px;
  right: -3px;
  height: 3px;
  background: currentColor;
  border-radius: 1.5px;
}
/* The clapper */
.couture-bell-notif .cbn-icon::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  background: currentColor;
  border-radius: 50%;
}

/* Top knob */
.couture-bell-notif::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  background: currentColor;
  border-radius: 50%;
}

/* Unread badge dot */
.couture-bell-notif[data-count]:not([data-count="0"])::after,
.couture-bell-notif.has-unread::after {
  content: attr(data-count);
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 14px;
  height: 14px;
  padding: 0 4px;
  background: #c54c3c;
  color: #fff;
  border-radius: 999px;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.6rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border: 2px solid var(--c-paper, #faf7f2);
  box-sizing: content-box;
  letter-spacing: 0;
}
/* When .has-unread is present without count, show plain dot */
.couture-bell-notif.has-unread:not([data-count])::after {
  content: "";
  width: 8px;
  height: 8px;
  min-width: 0;
  padding: 0;
}

/* Ringing animation */
.couture-bell-notif.is-ringing .cbn-icon {
  animation: couture-bell-ring 1.2s ease-in-out infinite;
}
@keyframes couture-bell-ring {
  0%, 100%       { transform: rotate(0); }
  10%, 30%, 50%  { transform: rotate(-12deg); }
  20%, 40%       { transform: rotate(12deg); }
  60%            { transform: rotate(-4deg); }
  70%            { transform: rotate(4deg); }
  80%            { transform: rotate(0); }
}

/* Style: filled (paper-on-ink chip background) */
.couture-bell-notif[data-bell-style="filled"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
}
.couture-bell-notif[data-bell-style="filled"]:hover {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 88%, var(--c-paper, #faf7f2) 12%);
}

/* Style: outline (ring around bell) */
.couture-bell-notif[data-bell-style="outline"] {
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
}

/* Tone: accent */
.couture-bell-notif[data-bell-tone="accent"] {
  color: var(--c-accent, #c25a3a);
}

/* Tone: paper-on-dark */
.couture-bell-notif[data-bell-tone="paper-on-dark"] {
  color: var(--c-paper, #faf7f2);
}
.couture-bell-notif[data-bell-tone="paper-on-dark"]:hover {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 14%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .couture-bell-notif {
    transition: none;
  }
  .couture-bell-notif.is-ringing .cbn-icon {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-136 — Magnifier loupe hover lens (.couture-loupe)
 *
 * Wrapper that reveals a circular magnifier loupe on hover. The loupe is a
 * pure-CSS round badge with a thick rim and a small handle, positioned in
 * the center by default. JS can reposition it via the --lx/--ly CSS custom
 * properties for actual cursor-following behavior. Without JS it just sits
 * centered as a decorative "this is zoomable" cue.
 *
 * Usage:
 *   <figure class="couture-loupe">
 *     <img class="ccl-img" src="detail.jpg" alt="...">
 *   </figure>
 *
 *   // Optional JS:
 *   //   el.style.setProperty('--lx', `${e.offsetX}px`);
 *   //   el.style.setProperty('--ly', `${e.offsetY}px`);
 *
 * Variants via [data-loupe-style]: classic (default) | minimal | square
 * Tone via [data-loupe-tone]: ink (default) | accent | paper
 * -------------------------------------------------------------------------- */
.couture-loupe {
  display: inline-block;
  position: relative;
  margin: 0;
  cursor: zoom-in;
  overflow: hidden;
  --lx: 50%;
  --ly: 50%;
  --loupe-size: 84px;
}
.couture-loupe .ccl-img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 600ms ease;
}
.couture-loupe:hover .ccl-img {
  transform: scale(1.04);
}

/* The loupe lens (a circle that follows the cursor or sits centered) */
.couture-loupe::before {
  content: "";
  position: absolute;
  top: var(--ly);
  left: var(--lx);
  width: var(--loupe-size);
  height: var(--loupe-size);
  margin-left: calc(var(--loupe-size) / -2);
  margin-top: calc(var(--loupe-size) / -2);
  border-radius: 50%;
  border: 4px solid var(--c-ink, #1a1815);
  background: radial-gradient(
    circle at 32% 28%,
    color-mix(in oklab, #fff 38%, transparent) 0%,
    color-mix(in oklab, #fff 14%, transparent) 24%,
    transparent 50%
  );
  box-shadow:
    0 0 0 2px color-mix(in oklab, var(--c-paper, #faf7f2) 50%, transparent),
    0 8px 22px color-mix(in oklab, var(--c-ink, #1a1815) 28%, transparent);
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 220ms ease, transform 220ms cubic-bezier(0.2, 0.7, 0.3, 1.2);
  pointer-events: none;
}
/* The handle */
.couture-loupe::after {
  content: "";
  position: absolute;
  top: var(--ly);
  left: var(--lx);
  width: 4px;
  height: 22px;
  background: var(--c-ink, #1a1815);
  border-radius: 0 0 2px 2px;
  margin-left: calc(var(--loupe-size) / 2 * 0.6);
  margin-top: calc(var(--loupe-size) / 2 * 0.6);
  transform-origin: top center;
  transform: rotate(45deg) scale(0);
  opacity: 0;
  transition: opacity 220ms ease, transform 220ms cubic-bezier(0.2, 0.7, 0.3, 1.2);
  pointer-events: none;
}
.couture-loupe:hover::before,
.couture-loupe:hover::after,
.couture-loupe:focus-within::before,
.couture-loupe:focus-within::after {
  opacity: 1;
  transform: scale(1);
}
.couture-loupe:hover::after,
.couture-loupe:focus-within::after {
  transform: rotate(45deg) scale(1);
}

/* Style: minimal (no handle, thinner rim) */
.couture-loupe[data-loupe-style="minimal"]::before {
  border-width: 2px;
  box-shadow: 0 4px 12px color-mix(in oklab, var(--c-ink, #1a1815) 16%, transparent);
}
.couture-loupe[data-loupe-style="minimal"]::after {
  display: none;
}

/* Style: square (rounded square loupe instead of circle) */
.couture-loupe[data-loupe-style="square"]::before {
  border-radius: 12px;
}

/* Tone variants */
.couture-loupe[data-loupe-tone="accent"]::before,
.couture-loupe[data-loupe-tone="accent"]::after {
  border-color: var(--c-accent, #c25a3a);
  background: var(--c-accent, #c25a3a);
}
.couture-loupe[data-loupe-tone="accent"]::before {
  background: radial-gradient(
    circle at 32% 28%,
    color-mix(in oklab, #fff 38%, transparent) 0%,
    color-mix(in oklab, var(--c-accent, #c25a3a) 12%, transparent) 50%,
    transparent 60%
  );
}
.couture-loupe[data-loupe-tone="paper"]::before {
  border-color: var(--c-paper, #faf7f2);
  box-shadow:
    0 0 0 2px color-mix(in oklab, var(--c-ink, #1a1815) 30%, transparent),
    0 8px 22px color-mix(in oklab, var(--c-ink, #1a1815) 28%, transparent);
}
.couture-loupe[data-loupe-tone="paper"]::after {
  background: var(--c-paper, #faf7f2);
}

@media (prefers-reduced-motion: reduce) {
  .couture-loupe .ccl-img,
  .couture-loupe::before,
  .couture-loupe::after {
    transition: none;
  }
  .couture-loupe:hover .ccl-img {
    transform: none;
  }
}

@media (hover: none) {
  /* On touch devices, hide loupe entirely */
  .couture-loupe::before,
  .couture-loupe::after {
    display: none;
  }
  .couture-loupe { cursor: default; }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-137 — Vinyl record cover (.couture-vinyl)
 *
 * Square album sleeve with a black vinyl disc peeking out the right side. On
 * hover the vinyl slides further out and slowly rotates. Pure CSS — the disc
 * grooves are concentric radial gradients, the center label is a smaller
 * circle. Useful for music brand pages, portfolio sections, audio products,
 * decorative "playlist" cards.
 *
 * Usage:
 *   <figure class="couture-vinyl">
 *     <span class="cvy-disc" aria-hidden="true">
 *       <span class="cvy-label"></span>
 *     </span>
 *     <img class="cvy-sleeve" src="cover.jpg" alt="Album art">
 *     <figcaption class="cvy-meta">
 *       <span class="cvy-artist">Artist</span>
 *       <span class="cvy-title">Album</span>
 *     </figcaption>
 *   </figure>
 *
 * Variants via [data-vinyl-style]: classic (default) | minimal | red-label
 * Size via [data-vinyl-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-vinyl {
  display: inline-block;
  position: relative;
  margin: 0;
  --vinyl-size: 200px;
  width: var(--vinyl-size);
  perspective: 800px;
}
.couture-vinyl .cvy-sleeve {
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
  height: var(--vinyl-size);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, var(--c-ink, #1a1815) 30%);
  box-shadow:
    0 1px 0 color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent) inset,
    0 8px 22px color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent);
}
/* The disc */
.couture-vinyl .cvy-disc {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 18%;
  width: var(--vinyl-size);
  height: var(--vinyl-size);
  border-radius: 50%;
  background:
    /* outer dark */
    radial-gradient(
      circle,
      transparent 22%,
      #2a2a2a 22.5%,
      #1a1a1a 24%,
      #2a2a2a 26%,
      #1a1a1a 28%,
      #2a2a2a 30%,
      #1a1a1a 33%,
      #2a2a2a 36%,
      #1a1a1a 42%,
      #2a2a2a 48%,
      #1a1a1a 56%,
      #2a2a2a 64%,
      #1a1a1a 74%,
      #2a2a2a 84%,
      #1a1a1a 92%,
      #0a0a0a 98%
    );
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06),
              0 6px 18px rgba(0,0,0,0.35);
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.3, 1);
  transform-origin: center;
}
/* Center label */
.couture-vinyl .cvy-disc .cvy-label {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36%;
  height: 36%;
  border-radius: 50%;
  background: var(--c-accent, #c25a3a);
  transform: translate(-50%, -50%);
  box-shadow: inset 0 0 0 2px rgba(0,0,0,0.18);
}
/* Spindle hole */
.couture-vinyl .cvy-disc .cvy-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10%;
  height: 10%;
  background: #0a0a0a;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

/* Caption */
.couture-vinyl .cvy-meta {
  display: block;
  margin-top: 12px;
  font-family: var(--c-body, system-ui, sans-serif);
  line-height: 1.3;
}
.couture-vinyl .cvy-artist {
  display: block;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.55;
  margin-bottom: 2px;
}
.couture-vinyl .cvy-title {
  display: block;
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--c-ink, #1a1815);
}

/* Hover: disc slides out + spins */
.couture-vinyl:hover .cvy-disc {
  transform: translateX(38%) rotate(360deg);
}

/* Style: minimal (no center label colored, just black) */
.couture-vinyl[data-vinyl-style="minimal"] .cvy-disc .cvy-label {
  background: #1a1a1a;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.06);
}

/* Style: red-label (classic 7-inch single look) */
.couture-vinyl[data-vinyl-style="red-label"] .cvy-disc .cvy-label {
  background: #b8362a;
}

/* Sizes */
.couture-vinyl[data-vinyl-size="sm"] {
  --vinyl-size: 130px;
}
.couture-vinyl[data-vinyl-size="lg"] {
  --vinyl-size: 280px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-vinyl .cvy-disc {
    transition: none;
  }
  .couture-vinyl:hover .cvy-disc {
    transform: translateX(0) rotate(0);
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-138 — Camera-shutter aperture mark (.couture-aperture)
 *
 * Geometric 6-blade camera aperture using overlapping rotated triangles via
 * conic-gradient + clip-path. Useful for photography brand badges, "captured"
 * moments callouts, lookbook section markers, gallery icons.
 *
 * Usage:
 *   <span class="couture-aperture" role="img" aria-label="Aperture"></span>
 *
 * Variants via [data-aperture-style]: open (default) | closed | half
 * Tone via [data-aperture-tone]: ink (default) | accent | mono | gradient
 * Size via [data-aperture-size]: sm | md (default) | lg | xl
 * -------------------------------------------------------------------------- */
.couture-aperture {
  display: inline-block;
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background:
    conic-gradient(
      from 30deg,
      var(--c-ink, #1a1815) 0deg 60deg,
      color-mix(in oklab, var(--c-ink, #1a1815) 80%, var(--c-paper, #faf7f2) 20%) 60deg 120deg,
      var(--c-ink, #1a1815) 120deg 180deg,
      color-mix(in oklab, var(--c-ink, #1a1815) 80%, var(--c-paper, #faf7f2) 20%) 180deg 240deg,
      var(--c-ink, #1a1815) 240deg 300deg,
      color-mix(in oklab, var(--c-ink, #1a1815) 80%, var(--c-paper, #faf7f2) 20%) 300deg 360deg
    );
  /* Mask creates the central hexagonal opening (the aperture hole) */
  -webkit-mask:
    radial-gradient(circle, transparent 18%, #000 19%);
          mask:
    radial-gradient(circle, transparent 18%, #000 19%);
  vertical-align: middle;
  transition: transform 360ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
.couture-aperture::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    conic-gradient(
      from 60deg,
      transparent 0deg 30deg,
      color-mix(in oklab, var(--c-paper, #faf7f2) 28%, transparent) 30deg 60deg,
      transparent 60deg 90deg,
      color-mix(in oklab, var(--c-paper, #faf7f2) 28%, transparent) 90deg 120deg,
      transparent 120deg 150deg,
      color-mix(in oklab, var(--c-paper, #faf7f2) 28%, transparent) 150deg 180deg,
      transparent 180deg 210deg,
      color-mix(in oklab, var(--c-paper, #faf7f2) 28%, transparent) 210deg 240deg,
      transparent 240deg 270deg,
      color-mix(in oklab, var(--c-paper, #faf7f2) 28%, transparent) 270deg 300deg,
      transparent 300deg 330deg,
      color-mix(in oklab, var(--c-paper, #faf7f2) 28%, transparent) 330deg 360deg
    );
  pointer-events: none;
}

/* Hover: subtle "shutter spin" */
.couture-aperture:hover {
  transform: rotate(60deg);
}

/* Open / closed states by enlarging the central transparent hole */
.couture-aperture[data-aperture-style="closed"] {
  -webkit-mask: radial-gradient(circle, transparent 4%, #000 5%);
          mask: radial-gradient(circle, transparent 4%, #000 5%);
}
.couture-aperture[data-aperture-style="half"] {
  -webkit-mask: radial-gradient(circle, transparent 11%, #000 12%);
          mask: radial-gradient(circle, transparent 11%, #000 12%);
}

/* Tone variants */
.couture-aperture[data-aperture-tone="accent"] {
  background:
    conic-gradient(
      from 30deg,
      var(--c-accent, #c25a3a) 0deg 60deg,
      color-mix(in oklab, var(--c-accent, #c25a3a) 70%, var(--c-paper, #faf7f2) 30%) 60deg 120deg,
      var(--c-accent, #c25a3a) 120deg 180deg,
      color-mix(in oklab, var(--c-accent, #c25a3a) 70%, var(--c-paper, #faf7f2) 30%) 180deg 240deg,
      var(--c-accent, #c25a3a) 240deg 300deg,
      color-mix(in oklab, var(--c-accent, #c25a3a) 70%, var(--c-paper, #faf7f2) 30%) 300deg 360deg
    );
}
.couture-aperture[data-aperture-tone="mono"] {
  background:
    conic-gradient(
      from 30deg,
      #444 0deg 60deg, #888 60deg 120deg,
      #444 120deg 180deg, #888 180deg 240deg,
      #444 240deg 300deg, #888 300deg 360deg
    );
}
.couture-aperture[data-aperture-tone="gradient"] {
  background:
    conic-gradient(
      from 0deg,
      #c25a3a 0deg 60deg, #d99a3a 60deg 120deg,
      #2e8a4e 120deg 180deg, #1d8cf0 180deg 240deg,
      #6b3aa0 240deg 300deg, #c54c3c 300deg 360deg
    );
}

/* Size variants */
.couture-aperture[data-aperture-size="sm"] { width: 22px; height: 22px; }
.couture-aperture[data-aperture-size="lg"] { width: 56px; height: 56px; }
.couture-aperture[data-aperture-size="xl"] { width: 88px; height: 88px; }

@media (prefers-reduced-motion: reduce) {
  .couture-aperture {
    transition: none;
  }
  .couture-aperture:hover {
    transform: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-139 — Cassette tape card (.couture-cassette)
 *
 * Retro cassette-tape decorative card: rounded shell, two spinning reels,
 * label strip across the top with side-A/side-B + title slot. Reels rotate
 * slowly on hover. Useful for music brand pages, mixtape playlists,
 * portfolio "audio" sections, retro-themed nav.
 *
 * Usage:
 *   <div class="couture-cassette">
 *     <div class="ccs-label">
 *       <span class="ccs-side">A</span>
 *       <span class="ccs-title">Summer Mix '25</span>
 *       <span class="ccs-side">B</span>
 *     </div>
 *     <div class="ccs-window">
 *       <span class="ccs-reel ccs-reel-l" aria-hidden="true"></span>
 *       <span class="ccs-tape" aria-hidden="true"></span>
 *       <span class="ccs-reel ccs-reel-r" aria-hidden="true"></span>
 *     </div>
 *   </div>
 *
 * Variants via [data-cassette-style]: classic (default) | clear | accent
 * Size via [data-cassette-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-cassette {
  display: inline-block;
  position: relative;
  --cass-w: 240px;
  --cass-h: 150px;
  width: var(--cass-w);
  height: var(--cass-h);
  background: var(--c-ink, #1a1815);
  border-radius: 8px;
  box-shadow:
    inset 0 1px 0 color-mix(in oklab, var(--c-paper, #faf7f2) 16%, transparent),
    inset 0 -2px 4px rgba(0,0,0,0.4),
    0 8px 22px color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent);
  padding: 12px;
  box-sizing: border-box;
}
/* Two screw dots in the corners */
.couture-cassette::before,
.couture-cassette::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 28%, transparent);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.4);
}
.couture-cassette::before { top: 6px; left: 8px; }
.couture-cassette::after  { top: 6px; right: 8px; }

/* Top label strip */
.couture-cassette .ccs-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 14px;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 8%);
  border-radius: 4px;
  margin-bottom: 12px;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.66rem;
  color: var(--c-ink, #1a1815);
  letter-spacing: 0.06em;
  position: relative;
}
/* Faux red recording-line stripe at the bottom of the label */
.couture-cassette .ccs-label::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 4px;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    color-mix(in oklab, var(--c-accent, #c25a3a) 70%, transparent),
    transparent
  );
}
.couture-cassette .ccs-side {
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  opacity: 0.5;
}
.couture-cassette .ccs-title {
  flex: 1;
  text-align: center;
  font-family: var(--c-display, Georgia, serif);
  font-style: italic;
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Window with reels */
.couture-cassette .ccs-window {
  position: relative;
  height: 70px;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 18%, transparent);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.35);
}
.couture-cassette .ccs-reel {
  display: inline-block;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 88%, var(--c-ink, #1a1815) 12%);
  position: relative;
  box-shadow:
    inset 0 0 0 6px color-mix(in oklab, var(--c-ink, #1a1815) 60%, transparent),
    inset 0 0 0 9px color-mix(in oklab, var(--c-paper, #faf7f2) 90%, var(--c-ink, #1a1815) 10%);
  animation: couture-cass-spin 4s linear infinite;
  animation-play-state: paused;
}
/* Reel center notches (4 little teeth) */
.couture-cassette .ccs-reel::before {
  content: "";
  position: absolute;
  inset: 14px;
  background:
    linear-gradient(0deg, transparent 45%, var(--c-ink, #1a1815) 45% 55%, transparent 55%),
    linear-gradient(90deg, transparent 45%, var(--c-ink, #1a1815) 45% 55%, transparent 55%);
  border-radius: 50%;
}
/* Tape strip between the two reels */
.couture-cassette .ccs-tape {
  flex: 1;
  height: 14px;
  margin: 0 8px;
  background:
    linear-gradient(
      to bottom,
      transparent 30%,
      color-mix(in oklab, var(--c-ink, #1a1815) 70%, transparent) 30% 70%,
      transparent 70%
    );
  border-radius: 1px;
}
/* Spin reels on hover */
.couture-cassette:hover .ccs-reel {
  animation-play-state: running;
}
@keyframes couture-cass-spin {
  to { transform: rotate(360deg); }
}

/* Style: clear (transparent shell with smoky tone) */
.couture-cassette[data-cassette-style="clear"] {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 24%, var(--c-paper, #faf7f2));
  color: var(--c-ink, #1a1815);
}
.couture-cassette[data-cassette-style="clear"] .ccs-label {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 20%);
}

/* Style: accent (cassette shell in accent color) */
.couture-cassette[data-cassette-style="accent"] {
  background: var(--c-accent, #c25a3a);
}

/* Sizes */
.couture-cassette[data-cassette-size="sm"] { --cass-w: 180px; --cass-h: 116px; padding: 9px; }
.couture-cassette[data-cassette-size="sm"] .ccs-window { height: 52px; padding: 0 16px; }
.couture-cassette[data-cassette-size="sm"] .ccs-reel { width: 28px; height: 28px;
  box-shadow: inset 0 0 0 4px color-mix(in oklab, var(--c-ink, #1a1815) 60%, transparent),
              inset 0 0 0 6px color-mix(in oklab, var(--c-paper, #faf7f2) 90%, var(--c-ink, #1a1815) 10%); }

.couture-cassette[data-cassette-size="lg"] { --cass-w: 320px; --cass-h: 200px; padding: 16px; }
.couture-cassette[data-cassette-size="lg"] .ccs-window { height: 96px; padding: 0 28px; }
.couture-cassette[data-cassette-size="lg"] .ccs-reel { width: 52px; height: 52px;
  box-shadow: inset 0 0 0 8px color-mix(in oklab, var(--c-ink, #1a1815) 60%, transparent),
              inset 0 0 0 12px color-mix(in oklab, var(--c-paper, #faf7f2) 90%, var(--c-ink, #1a1815) 10%); }

@media (prefers-reduced-motion: reduce) {
  .couture-cassette .ccs-reel,
  .couture-cassette:hover .ccs-reel {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-140 — Map route stop list (.couture-route-stops)
 *
 * Vertical itinerary / route list with circular stop markers connected by a
 * dashed travel line. First and last stops get distinctive treatment
 * (origin/destination markers). Stops can carry a label, a sub-line for time
 * or note. Different from the bead-rail: stops are larger, have direction,
 * and the connector explicitly suggests "travel" not "process".
 *
 * Usage:
 *   <ol class="couture-route-stops">
 *     <li class="crs-stop is-origin">
 *       <span class="crs-marker">A</span>
 *       <div class="crs-info"><div class="crs-name">Brooklyn HQ</div>
 *         <div class="crs-meta">9:00 AM · Pickup</div></div>
 *     </li>
 *     <li class="crs-stop">
 *       <span class="crs-marker">B</span>
 *       <div class="crs-info"><div class="crs-name">Queens Studio</div>
 *         <div class="crs-meta">11:30 AM</div></div>
 *     </li>
 *     <li class="crs-stop is-destination">
 *       <span class="crs-marker">C</span>
 *       <div class="crs-info"><div class="crs-name">Lower Manhattan</div>
 *         <div class="crs-meta">2:00 PM · Delivery</div></div>
 *     </li>
 *   </ol>
 *
 * Variants via [data-route-style]: travel (default) | transit | minimal
 * Tone via [data-route-tone]: ink (default) | accent
 * -------------------------------------------------------------------------- */
.couture-route-stops {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: relative;
  font-family: var(--c-body, system-ui, sans-serif);
}
.couture-route-stops .crs-stop {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  position: relative;
  padding-left: 0;
  min-height: 36px;
}
/* Connector line between consecutive stops */
.couture-route-stops .crs-stop:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 32px;
  width: 0;
  height: calc(100% + 18px - 32px);
  border-left: 2px dashed color-mix(in oklab, var(--c-ink, #1a1815) 32%, transparent);
}
/* The marker circle */
.couture-route-stops .crs-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--c-paper, #faf7f2);
  border: 2px solid var(--c-ink, #1a1815);
  color: var(--c-ink, #1a1815);
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  position: relative;
  z-index: 1;
}
/* Origin marker: filled */
.couture-route-stops .crs-stop.is-origin .crs-marker {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
}
/* Destination marker: pin tail (a small triangle) */
.couture-route-stops .crs-stop.is-destination .crs-marker {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-radius: 50% 50% 50% 2px;
  transform: rotate(-45deg);
}
.couture-route-stops .crs-stop.is-destination .crs-marker > * {
  transform: rotate(45deg);
}

/* Info column */
.couture-route-stops .crs-info {
  flex: 1;
  padding-top: 4px;
}
.couture-route-stops .crs-name {
  font-size: 0.96rem;
  font-weight: 600;
  color: var(--c-ink, #1a1815);
  letter-spacing: -0.005em;
  line-height: 1.25;
}
.couture-route-stops .crs-meta {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  opacity: 0.6;
  margin-top: 3px;
  font-variant-numeric: tabular-nums;
}

/* Style: transit (solid line, square markers, subway-feel) */
.couture-route-stops[data-route-style="transit"] .crs-stop:not(:last-child)::before {
  border-left-style: solid;
  border-left-width: 3px;
  left: 14px;
}
.couture-route-stops[data-route-style="transit"] .crs-marker {
  border-radius: 4px;
  border-width: 0;
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
}
.couture-route-stops[data-route-style="transit"] .crs-stop.is-destination .crs-marker {
  background: var(--c-accent, #c25a3a);
  border-radius: 4px;
  transform: none;
}
.couture-route-stops[data-route-style="transit"] .crs-stop.is-destination .crs-marker > * {
  transform: none;
}

/* Style: minimal (no markers, just dashed line) */
.couture-route-stops[data-route-style="minimal"] .crs-marker {
  width: 8px;
  height: 8px;
  border: none;
  background: var(--c-ink, #1a1815);
  font-size: 0;
  margin-top: 12px;
  border-radius: 50%;
}
.couture-route-stops[data-route-style="minimal"] .crs-stop:not(:last-child)::before {
  left: 4px;
  border-left-width: 1.5px;
}
.couture-route-stops[data-route-style="minimal"] .crs-stop.is-destination .crs-marker {
  border-radius: 50%;
  transform: none;
}

/* Tone: accent (markers and line in accent) */
.couture-route-stops[data-route-tone="accent"] .crs-marker {
  border-color: var(--c-accent, #c25a3a);
  color: var(--c-accent, #c25a3a);
}
.couture-route-stops[data-route-tone="accent"] .crs-stop.is-origin .crs-marker,
.couture-route-stops[data-route-tone="accent"] .crs-stop.is-destination .crs-marker {
  background: var(--c-accent, #c25a3a);
  color: var(--c-paper, #faf7f2);
}
.couture-route-stops[data-route-tone="accent"] .crs-stop:not(:last-child)::before {
  border-left-color: color-mix(in oklab, var(--c-accent, #c25a3a) 40%, transparent);
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-141 — Audio waveform mini bars (.couture-audio-wave)
 *
 * Decorative animated waveform: a row of vertical bars with varying heights
 * that pulse independently when set to .is-playing. Different from the
 * loader-bars (which are uniform & cyclic): these are 16+ bars with
 * pseudo-random heights for a realistic audio look.
 *
 * Usage:
 *   <span class="couture-audio-wave is-playing"
 *         role="img" aria-label="Audio playing"></span>
 *
 *   <span class="couture-audio-wave">  // static bars (no animation) </span>
 *
 * Variants via [data-audio-wave-style]: bars (default) | dots | thin
 * Tone via [data-audio-wave-tone]: ink (default) | accent | mono
 * Size via [data-audio-wave-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-audio-wave {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  height: 24px;
  width: auto;
  vertical-align: middle;
  --aw-color: var(--c-ink, #1a1815);
}
/* Render 16 bars via ::before, ::after, and 14 spans is impractical;
   we use a simpler 7-bar approach that visually reads as a waveform. */
.couture-audio-wave::before,
.couture-audio-wave::after,
.couture-audio-wave > span {
  content: "";
  display: inline-block;
  width: 2.5px;
  background: var(--aw-color);
  border-radius: 1.5px;
  transform-origin: center;
  flex-shrink: 0;
}
/* Static heights when not .is-playing */
.couture-audio-wave::before                    { height: 30%; }
.couture-audio-wave > span:nth-child(1)        { height: 70%; }
.couture-audio-wave > span:nth-child(2)        { height: 45%; }
.couture-audio-wave > span:nth-child(3)        { height: 90%; }
.couture-audio-wave > span:nth-child(4)        { height: 60%; }
.couture-audio-wave > span:nth-child(5)        { height: 80%; }
.couture-audio-wave > span:nth-child(6)        { height: 35%; }
.couture-audio-wave > span:nth-child(7)        { height: 75%; }
.couture-audio-wave > span:nth-child(8)        { height: 50%; }
.couture-audio-wave > span:nth-child(9)        { height: 85%; }
.couture-audio-wave::after                     { height: 40%; }

/* Animated when playing — each bar has its own duration and offset */
.couture-audio-wave.is-playing::before,
.couture-audio-wave.is-playing::after,
.couture-audio-wave.is-playing > span {
  animation: couture-aw-bounce 1s ease-in-out infinite;
  transform-origin: bottom;
}
.couture-audio-wave.is-playing::before                  { animation-duration: 0.7s;  animation-delay: 0.0s; }
.couture-audio-wave.is-playing > span:nth-child(1)      { animation-duration: 1.1s;  animation-delay: 0.1s; }
.couture-audio-wave.is-playing > span:nth-child(2)      { animation-duration: 0.8s;  animation-delay: 0.2s; }
.couture-audio-wave.is-playing > span:nth-child(3)      { animation-duration: 1.2s;  animation-delay: 0.05s; }
.couture-audio-wave.is-playing > span:nth-child(4)      { animation-duration: 0.9s;  animation-delay: 0.18s; }
.couture-audio-wave.is-playing > span:nth-child(5)      { animation-duration: 1.0s;  animation-delay: 0.3s; }
.couture-audio-wave.is-playing > span:nth-child(6)      { animation-duration: 0.75s; animation-delay: 0.12s; }
.couture-audio-wave.is-playing > span:nth-child(7)      { animation-duration: 1.15s; animation-delay: 0.22s; }
.couture-audio-wave.is-playing > span:nth-child(8)      { animation-duration: 0.85s; animation-delay: 0.08s; }
.couture-audio-wave.is-playing > span:nth-child(9)      { animation-duration: 1.05s; animation-delay: 0.16s; }
.couture-audio-wave.is-playing::after                   { animation-duration: 0.95s; animation-delay: 0.25s; }

@keyframes couture-aw-bounce {
  0%, 100% { transform: scaleY(0.42); }
  50%      { transform: scaleY(1.05); }
}

/* Style: dots (small circles instead of bars) */
.couture-audio-wave[data-audio-wave-style="dots"]::before,
.couture-audio-wave[data-audio-wave-style="dots"]::after,
.couture-audio-wave[data-audio-wave-style="dots"] > span {
  width: 4px;
  height: 4px !important;
  border-radius: 50%;
  align-self: center;
}
.couture-audio-wave[data-audio-wave-style="dots"].is-playing::before,
.couture-audio-wave[data-audio-wave-style="dots"].is-playing::after,
.couture-audio-wave[data-audio-wave-style="dots"].is-playing > span {
  animation: couture-aw-dot 1s ease-in-out infinite;
}
@keyframes couture-aw-dot {
  0%, 100% { opacity: 0.3; transform: scale(0.7); }
  50%      { opacity: 1;   transform: scale(1.2); }
}

/* Style: thin (very thin bars for compact contexts) */
.couture-audio-wave[data-audio-wave-style="thin"]::before,
.couture-audio-wave[data-audio-wave-style="thin"]::after,
.couture-audio-wave[data-audio-wave-style="thin"] > span {
  width: 1.5px;
}

/* Tone variants */
.couture-audio-wave[data-audio-wave-tone="accent"] {
  --aw-color: var(--c-accent, #c25a3a);
}
.couture-audio-wave[data-audio-wave-tone="mono"] {
  --aw-color: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
}

/* Sizes */
.couture-audio-wave[data-audio-wave-size="sm"] {
  height: 14px;
  gap: 1.5px;
}
.couture-audio-wave[data-audio-wave-size="sm"]::before,
.couture-audio-wave[data-audio-wave-size="sm"]::after,
.couture-audio-wave[data-audio-wave-size="sm"] > span { width: 1.5px; }

.couture-audio-wave[data-audio-wave-size="lg"] {
  height: 40px;
  gap: 3px;
}
.couture-audio-wave[data-audio-wave-size="lg"]::before,
.couture-audio-wave[data-audio-wave-size="lg"]::after,
.couture-audio-wave[data-audio-wave-size="lg"] > span { width: 4px; border-radius: 2px; }

@media (prefers-reduced-motion: reduce) {
  .couture-audio-wave.is-playing::before,
  .couture-audio-wave.is-playing::after,
  .couture-audio-wave.is-playing > span {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-142 — Speech bubble (.couture-speech-bubble)
 *
 * Rounded chat bubble with a triangular tail pointing to a sender. Useful for
 * testimonial pull-callouts, FAQ-style chat snippets, "we said / they said"
 * design moments. Differs from the existing tooltip by being multi-line, with
 * variable tail directions, and chat-bubble proportions.
 *
 * Usage:
 *   <div class="couture-speech-bubble">
 *     "We doubled our conversion in two weeks."
 *   </div>
 *
 *   <div class="couture-speech-bubble" data-bubble-tail="bl-out">
 *     Out-pointing tail at bottom-left
 *   </div>
 *
 * Variants via [data-bubble-style]: line (default) | filled | accent
 * Tail via [data-bubble-tail]: bl-in (default) | br-in | tl-in | tr-in
 *                              bl-out | br-out | tl-out | tr-out
 * Direction "in" = tail points inward (received); "out" = points outward (sent)
 * -------------------------------------------------------------------------- */
.couture-speech-bubble {
  display: inline-block;
  position: relative;
  max-width: 360px;
  padding: 14px 18px;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border: 1.5px solid var(--c-ink, #1a1815);
  border-radius: 16px;
  font-family: var(--c-body, system-ui, sans-serif);
  font-size: 0.92rem;
  line-height: 1.45;
  letter-spacing: 0.005em;
}

/* Default tail: bottom-left, pointing inward (downward-left) */
.couture-speech-bubble::before,
.couture-speech-bubble::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}
/* Outer tail (border-color triangle, sits behind inner) */
.couture-speech-bubble::before {
  border-style: solid;
}
/* Inner tail (paper-color, smaller, masks the inside of border) */
.couture-speech-bubble::after {
  border-style: solid;
}

/* Default = bl-in (bottom-left, pointing in toward bubble) */
.couture-speech-bubble::before,
.couture-speech-bubble[data-bubble-tail="bl-in"]::before {
  bottom: -10px;
  left: 28px;
  border-width: 10px 12px 0 0;
  border-color: var(--c-ink, #1a1815) transparent transparent transparent;
}
.couture-speech-bubble::after,
.couture-speech-bubble[data-bubble-tail="bl-in"]::after {
  bottom: -7px;
  left: 30px;
  border-width: 8px 10px 0 0;
  border-color: var(--c-paper, #faf7f2) transparent transparent transparent;
}

/* Tail: br-in (bottom-right) */
.couture-speech-bubble[data-bubble-tail="br-in"]::before {
  bottom: -10px;
  left: auto;
  right: 28px;
  border-width: 10px 0 0 12px;
  border-color: var(--c-ink, #1a1815) transparent transparent transparent;
}
.couture-speech-bubble[data-bubble-tail="br-in"]::after {
  bottom: -7px;
  left: auto;
  right: 30px;
  border-width: 8px 0 0 10px;
  border-color: var(--c-paper, #faf7f2) transparent transparent transparent;
}

/* Tail: tl-in / tr-in (top corners pointing up) */
.couture-speech-bubble[data-bubble-tail="tl-in"]::before {
  top: -10px;
  bottom: auto;
  left: 28px;
  border-width: 0 12px 10px 0;
  border-color: transparent var(--c-ink, #1a1815) transparent transparent;
}
.couture-speech-bubble[data-bubble-tail="tl-in"]::after {
  top: -7px;
  bottom: auto;
  left: 30px;
  border-width: 0 10px 8px 0;
  border-color: transparent var(--c-paper, #faf7f2) transparent transparent;
}
.couture-speech-bubble[data-bubble-tail="tr-in"]::before {
  top: -10px;
  bottom: auto;
  left: auto;
  right: 28px;
  border-width: 0 0 10px 12px;
  border-color: transparent transparent transparent var(--c-ink, #1a1815);
}
.couture-speech-bubble[data-bubble-tail="tr-in"]::after {
  top: -7px;
  bottom: auto;
  left: auto;
  right: 30px;
  border-width: 0 0 8px 10px;
  border-color: transparent transparent transparent var(--c-paper, #faf7f2);
}

/* Out-tail variants reuse same pseudos but invert the slant */
.couture-speech-bubble[data-bubble-tail="bl-out"]::before {
  bottom: -10px;
  left: 28px;
  border-width: 0 0 10px 12px;
  border-color: transparent transparent var(--c-ink, #1a1815) transparent;
}
.couture-speech-bubble[data-bubble-tail="bl-out"]::after {
  bottom: -7px;
  left: 30px;
  border-width: 0 0 8px 10px;
  border-color: transparent transparent var(--c-paper, #faf7f2) transparent;
}
.couture-speech-bubble[data-bubble-tail="br-out"]::before {
  bottom: -10px;
  left: auto;
  right: 28px;
  border-width: 0 12px 10px 0;
  border-color: transparent transparent var(--c-ink, #1a1815) transparent;
}
.couture-speech-bubble[data-bubble-tail="br-out"]::after {
  bottom: -7px;
  left: auto;
  right: 30px;
  border-width: 0 10px 8px 0;
  border-color: transparent transparent var(--c-paper, #faf7f2) transparent;
}

/* Style: filled (dark bubble, paper text) */
.couture-speech-bubble[data-bubble-style="filled"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-color: var(--c-ink, #1a1815);
}
.couture-speech-bubble[data-bubble-style="filled"]::after {
  border-top-color: var(--c-ink, #1a1815);
  border-right-color: var(--c-ink, #1a1815);
  border-bottom-color: var(--c-ink, #1a1815);
  border-left-color: var(--c-ink, #1a1815);
}
/* Restore transparency on the un-colored sides */
.couture-speech-bubble[data-bubble-style="filled"][data-bubble-tail="bl-in"]::after,
.couture-speech-bubble[data-bubble-style="filled"]:not([data-bubble-tail])::after {
  border-color: var(--c-ink, #1a1815) transparent transparent transparent;
}
.couture-speech-bubble[data-bubble-style="filled"][data-bubble-tail="br-in"]::after {
  border-color: var(--c-ink, #1a1815) transparent transparent transparent;
}
.couture-speech-bubble[data-bubble-style="filled"][data-bubble-tail="tl-in"]::after {
  border-color: transparent var(--c-ink, #1a1815) transparent transparent;
}
.couture-speech-bubble[data-bubble-style="filled"][data-bubble-tail="tr-in"]::after {
  border-color: transparent transparent transparent var(--c-ink, #1a1815);
}

/* Style: accent */
.couture-speech-bubble[data-bubble-style="accent"] {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 12%, var(--c-paper, #faf7f2));
  border-color: color-mix(in oklab, var(--c-accent, #c25a3a) 60%, transparent);
}
.couture-speech-bubble[data-bubble-style="accent"]::before {
  border-top-color: color-mix(in oklab, var(--c-accent, #c25a3a) 60%, transparent);
}
.couture-speech-bubble[data-bubble-style="accent"]::after {
  border-top-color: color-mix(in oklab, var(--c-accent, #c25a3a) 12%, var(--c-paper, #faf7f2));
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-143 — Coffee mug with steam (.couture-coffee-cup)
 *
 * Pure-CSS coffee mug + handle + 3 wavy steam lines rising above. Useful for
 * cafe brand pages, "open now" / "fresh today" callouts, rest-area badges,
 * morning-greeting hero accents. Steam gently rises and fades when set to
 * .is-hot.
 *
 * Usage:
 *   <span class="couture-coffee-cup is-hot"
 *         role="img" aria-label="Hot coffee"></span>
 *
 * Variants via [data-cup-style]: mug (default) | espresso | takeaway
 * Tone via [data-cup-tone]: ink (default) | accent | cream
 * Size via [data-cup-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-coffee-cup {
  display: inline-block;
  position: relative;
  width: 32px;
  height: 32px;
  vertical-align: middle;
  --cup-color: var(--c-ink, #1a1815);
}
/* Mug body */
.couture-coffee-cup::before {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 4px;
  right: 10px;
  top: 14px;
  background: var(--cup-color);
  border-radius: 1px 1px 4px 4px;
  /* Slight bottom indent (saucer ridge) */
  box-shadow: inset 0 -2px 0 color-mix(in oklab, var(--c-paper, #faf7f2) 22%, transparent);
}
/* Mug handle */
.couture-coffee-cup::after {
  content: "";
  position: absolute;
  top: 17px;
  right: 4px;
  width: 8px;
  height: 11px;
  border: 2px solid var(--cup-color);
  border-left: none;
  border-radius: 0 6px 6px 0;
}

/* The 3 steam wisps */
.couture-coffee-cup .ccu-steam {
  position: absolute;
  top: 0;
  left: 8px;
  width: 16px;
  height: 14px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 200ms ease;
}
.couture-coffee-cup .ccu-steam::before,
.couture-coffee-cup .ccu-steam::after,
.couture-coffee-cup .ccu-steam > i {
  content: "";
  position: absolute;
  width: 2px;
  height: 12px;
  background: var(--cup-color);
  border-radius: 999px;
  transform-origin: bottom center;
}
.couture-coffee-cup .ccu-steam::before { left: 1px;  bottom: 0; opacity: 0.4; }
.couture-coffee-cup .ccu-steam > i     { left: 6px;  bottom: 0; opacity: 0.6; height: 14px; }
.couture-coffee-cup .ccu-steam::after  { left: 11px; bottom: 0; opacity: 0.4; }

/* Active steam (when .is-hot) */
.couture-coffee-cup.is-hot .ccu-steam {
  opacity: 1;
}
.couture-coffee-cup.is-hot .ccu-steam::before,
.couture-coffee-cup.is-hot .ccu-steam::after,
.couture-coffee-cup.is-hot .ccu-steam > i {
  animation: couture-cup-steam 2s ease-in-out infinite;
}
.couture-coffee-cup.is-hot .ccu-steam > i { animation-delay: 0.4s; }
.couture-coffee-cup.is-hot .ccu-steam::after { animation-delay: 0.8s; }
@keyframes couture-cup-steam {
  0%   { transform: translateY(0)     scaleY(1);   opacity: var(--steam-opacity, 0.5); }
  50%  { transform: translateY(-4px)  scaleY(1.05); opacity: 0.9; }
  100% { transform: translateY(-10px) scaleY(0.6); opacity: 0; }
}

/* Style: espresso (smaller/squatter cup) */
.couture-coffee-cup[data-cup-style="espresso"]::before {
  bottom: 4px;
  top: 18px;
  left: 6px;
  right: 12px;
  border-radius: 1px 1px 3px 3px;
}
.couture-coffee-cup[data-cup-style="espresso"]::after {
  top: 19px;
  width: 6px;
  height: 8px;
}

/* Style: takeaway (taller, with tapered top via clip-path) */
.couture-coffee-cup[data-cup-style="takeaway"]::before {
  bottom: 2px;
  top: 12px;
  left: 6px;
  right: 6px;
  border-radius: 0 0 4px 4px;
  clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
}
.couture-coffee-cup[data-cup-style="takeaway"]::after {
  display: none;
}
/* Lid suggested by a top stripe */
.couture-coffee-cup[data-cup-style="takeaway"] .ccu-steam {
  left: 10px;
  width: 12px;
}

/* Tone variants */
.couture-coffee-cup[data-cup-tone="accent"] {
  --cup-color: var(--c-accent, #c25a3a);
}
.couture-coffee-cup[data-cup-tone="cream"] {
  --cup-color: color-mix(in oklab, var(--c-ink, #1a1815) 60%, #c9a37a 40%);
}

/* Sizes */
.couture-coffee-cup[data-cup-size="sm"] {
  width: 22px;
  height: 22px;
}
.couture-coffee-cup[data-cup-size="sm"]::before { bottom: 1px; left: 3px; right: 7px; top: 10px; }
.couture-coffee-cup[data-cup-size="sm"]::after { top: 12px; right: 3px; width: 5px; height: 7px; border-width: 1.5px; }
.couture-coffee-cup[data-cup-size="sm"] .ccu-steam { left: 5px; width: 12px; height: 10px; }

.couture-coffee-cup[data-cup-size="lg"] {
  width: 48px;
  height: 48px;
}
.couture-coffee-cup[data-cup-size="lg"]::before { bottom: 3px; left: 6px; right: 14px; top: 22px; border-radius: 2px 2px 6px 6px; }
.couture-coffee-cup[data-cup-size="lg"]::after { top: 26px; right: 6px; width: 11px; height: 16px; border-width: 3px; }
.couture-coffee-cup[data-cup-size="lg"] .ccu-steam { left: 12px; width: 24px; height: 22px; }
.couture-coffee-cup[data-cup-size="lg"] .ccu-steam::before { left: 2px; width: 3px; height: 18px; }
.couture-coffee-cup[data-cup-size="lg"] .ccu-steam > i     { left: 10px; width: 3px; height: 22px; }
.couture-coffee-cup[data-cup-size="lg"] .ccu-steam::after  { left: 18px; width: 3px; height: 18px; }

@media (prefers-reduced-motion: reduce) {
  .couture-coffee-cup.is-hot .ccu-steam::before,
  .couture-coffee-cup.is-hot .ccu-steam::after,
  .couture-coffee-cup.is-hot .ccu-steam > i {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-144 — Sun-burst rays decoration (.couture-sunburst)
 *
 * Decorative radial rays emanating from a center point. Pure CSS via
 * repeating-conic-gradient. Useful behind hero text, brand logos, "new"
 * announcements, sale callouts, vintage label backgrounds.
 *
 * Usage:
 *   <div class="couture-sunburst">
 *     <div class="csb-content">SALE</div>
 *   </div>
 *
 * Variants via [data-sunburst-style]: rays (default) | wedges | spokes
 * Tone via [data-sunburst-tone]: ink (default) | accent | gold
 * Size via [data-sunburst-size]: sm | md (default) | lg | xl
 * Rotate continuously via .is-rotating
 * -------------------------------------------------------------------------- */
.couture-sunburst {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 200px;
  height: 200px;
  vertical-align: middle;
  --sb-color: var(--c-ink, #1a1815);
}
/* The radiating rays: 24 narrow wedges via repeating conic-gradient */
.couture-sunburst::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: repeating-conic-gradient(
    from 0deg,
    var(--sb-color) 0deg 6deg,
    transparent 6deg 15deg
  );
  /* Fade outward via radial mask */
  -webkit-mask: radial-gradient(circle, #000 18%, transparent 80%);
          mask: radial-gradient(circle, #000 18%, transparent 80%);
  pointer-events: none;
  z-index: 0;
  transition: transform 8s linear;
}
/* Center hub */
.couture-sunburst::after {
  content: "";
  position: absolute;
  inset: 30%;
  border-radius: 50%;
  background: var(--c-paper, #faf7f2);
  box-shadow: 0 2px 6px color-mix(in oklab, var(--c-ink, #1a1815) 14%, transparent);
  pointer-events: none;
  z-index: 1;
}
/* Content slot sits on top of the hub */
.couture-sunburst .csb-content {
  position: relative;
  z-index: 2;
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--c-ink, #1a1815);
  text-align: center;
  padding: 8px;
}

/* Style: wedges (chunkier alternating wedges, fewer rays) */
.couture-sunburst[data-sunburst-style="wedges"]::before {
  background: repeating-conic-gradient(
    from 0deg,
    var(--sb-color) 0deg 22.5deg,
    color-mix(in oklab, var(--sb-color) 50%, transparent) 22.5deg 45deg
  );
  -webkit-mask: radial-gradient(circle, #000 24%, transparent 88%);
          mask: radial-gradient(circle, #000 24%, transparent 88%);
}

/* Style: spokes (thin lines only, like compass) */
.couture-sunburst[data-sunburst-style="spokes"]::before {
  background: repeating-conic-gradient(
    from 0deg,
    var(--sb-color) 0deg 1.5deg,
    transparent 1.5deg 30deg
  );
  -webkit-mask: radial-gradient(circle, transparent 22%, #000 24% 78%, transparent 80%);
          mask: radial-gradient(circle, transparent 22%, #000 24% 78%, transparent 80%);
}

/* Tone variants */
.couture-sunburst[data-sunburst-tone="accent"] {
  --sb-color: var(--c-accent, #c25a3a);
}
.couture-sunburst[data-sunburst-tone="gold"] {
  --sb-color: #c19c2f;
}

/* Sizes */
.couture-sunburst[data-sunburst-size="sm"] {
  width: 120px;
  height: 120px;
}
.couture-sunburst[data-sunburst-size="sm"] .csb-content { font-size: 0.92rem; }

.couture-sunburst[data-sunburst-size="lg"] {
  width: 280px;
  height: 280px;
}
.couture-sunburst[data-sunburst-size="lg"] .csb-content { font-size: 1.8rem; }

.couture-sunburst[data-sunburst-size="xl"] {
  width: 380px;
  height: 380px;
}
.couture-sunburst[data-sunburst-size="xl"] .csb-content { font-size: 2.4rem; }

/* Rotation animation */
.couture-sunburst.is-rotating::before {
  animation: couture-sb-rotate 24s linear infinite;
}
@keyframes couture-sb-rotate {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .couture-sunburst.is-rotating::before {
    animation: none;
  }
  .couture-sunburst::before {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-145 — Tide-line wave divider (.couture-tide-line)
 *
 * Wavy section break drawn via inline SVG data-URL mask. Different from the
 * existing rip-edge (jagged): this is a smooth sine-wave shoreline. Useful
 * between sections to break up rectangular layouts, hero-bottom transitions,
 * footer-top accents, beach/water/spa brand pages.
 *
 * Usage:
 *   <div class="couture-tide-line"></div>
 *
 * Variants via [data-tide-line-style]: smooth (default) | choppy | layered
 * Tone via [data-tide-line-tone]: ink (default) | accent | paper-on-dark
 * Direction via [data-tide-line-dir]: down (default) | up
 * -------------------------------------------------------------------------- */
.couture-tide-line {
  display: block;
  width: 100%;
  height: 36px;
  background: var(--c-ink, #1a1815);
  /* Smooth sine wave mask: cuts the bottom edge into a wave */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,0 L1200,0 L1200,60 C1000,90 800,30 600,60 C400,90 200,30 0,60 Z' fill='%23000'/></svg>") no-repeat;
  -webkit-mask-size: 100% 100%;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,0 L1200,0 L1200,60 C1000,90 800,30 600,60 C400,90 200,30 0,60 Z' fill='%23000'/></svg>") no-repeat;
          mask-size: 100% 100%;
}

/* Style: choppy (faster wave frequency, more peaks) */
.couture-tide-line[data-tide-line-style="choppy"] {
  height: 28px;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,0 L1200,0 L1200,55 C1100,85 1000,35 900,60 C800,85 700,35 600,60 C500,85 400,35 300,60 C200,85 100,35 0,55 Z' fill='%23000'/></svg>") no-repeat;
  -webkit-mask-size: 100% 100%;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,0 L1200,0 L1200,55 C1100,85 1000,35 900,60 C800,85 700,35 600,60 C500,85 400,35 300,60 C200,85 100,35 0,55 Z' fill='%23000'/></svg>") no-repeat;
          mask-size: 100% 100%;
}

/* Style: layered (two stacked waves with offset for depth illusion) */
.couture-tide-line[data-tide-line-style="layered"] {
  height: 56px;
  position: relative;
  background: transparent;
  -webkit-mask: none;
          mask: none;
}
.couture-tide-line[data-tide-line-style="layered"]::before,
.couture-tide-line[data-tide-line-style="layered"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 36px;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,0 L1200,0 L1200,60 C1000,90 800,30 600,60 C400,90 200,30 0,60 Z' fill='%23000'/></svg>") no-repeat;
  -webkit-mask-size: 100% 100%;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,0 L1200,0 L1200,60 C1000,90 800,30 600,60 C400,90 200,30 0,60 Z' fill='%23000'/></svg>") no-repeat;
          mask-size: 100% 100%;
}
.couture-tide-line[data-tide-line-style="layered"]::before {
  top: 0;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 60%, transparent);
}
.couture-tide-line[data-tide-line-style="layered"]::after {
  top: 16px;
  background: var(--c-ink, #1a1815);
}

/* Tone variants */
.couture-tide-line[data-tide-line-tone="accent"],
.couture-tide-line[data-tide-line-tone="accent"][data-tide-line-style="layered"]::after {
  background: var(--c-accent, #c25a3a);
}
.couture-tide-line[data-tide-line-tone="accent"][data-tide-line-style="layered"]::before {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 50%, transparent);
}
.couture-tide-line[data-tide-line-tone="paper-on-dark"],
.couture-tide-line[data-tide-line-tone="paper-on-dark"][data-tide-line-style="layered"]::after {
  background: var(--c-paper, #faf7f2);
}

/* Direction: up (wave on top instead of bottom) */
.couture-tide-line[data-tide-line-dir="up"] {
  transform: scaleY(-1);
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-146 — Mountain silhouette divider (.couture-mountain-line)
 *
 * Section break with jagged mountain-peak silhouette. Pure CSS via clip-path
 * polygon (overlapping triangle peaks). Useful for outdoors/travel/adventure
 * brand pages, hero-bottom nature transitions, footer-top topographic accent.
 *
 * Usage:
 *   <div class="couture-mountain-line"></div>
 *
 * Variants via [data-mountain-style]: peaks (default) | rolling | layered
 * Tone via [data-mountain-tone]: ink (default) | accent | mist
 * Direction via [data-mountain-dir]: down (default) | up
 * -------------------------------------------------------------------------- */
.couture-mountain-line {
  display: block;
  width: 100%;
  height: 60px;
  background: var(--c-ink, #1a1815);
  /* Mountain peaks across the bottom — the polygon defines the visible region */
  clip-path: polygon(
    0 0, 100% 0,
    100% 100%,
    96% 70%, 92% 100%, 88% 60%, 82% 100%, 76% 50%, 72% 100%, 66% 75%, 60% 100%,
    56% 60%, 52% 100%, 48% 45%, 42% 100%, 38% 70%, 32% 100%, 26% 55%, 22% 100%,
    18% 70%, 12% 100%, 8% 60%, 4% 100%, 0 70%
  );
}

/* Style: rolling (smoother curves, lower peaks like hills) */
.couture-mountain-line[data-mountain-style="rolling"] {
  height: 40px;
  clip-path: polygon(
    0 0, 100% 0, 100% 100%,
    92% 75%, 84% 100%, 76% 80%, 68% 100%, 60% 75%, 52% 100%, 44% 70%, 36% 100%,
    28% 75%, 20% 100%, 12% 78%, 4% 100%,
    0 78%
  );
}

/* Style: layered (two mountain ranges with depth) */
.couture-mountain-line[data-mountain-style="layered"] {
  height: 80px;
  background: transparent;
  clip-path: none;
  position: relative;
}
.couture-mountain-line[data-mountain-style="layered"]::before,
.couture-mountain-line[data-mountain-style="layered"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
/* Back range (lighter, taller) */
.couture-mountain-line[data-mountain-style="layered"]::before {
  height: 80px;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
  clip-path: polygon(
    0 0, 100% 0, 100% 100%,
    96% 60%, 88% 100%, 82% 50%, 74% 100%, 68% 55%, 60% 100%, 54% 35%, 46% 100%,
    40% 50%, 32% 100%, 26% 55%, 18% 100%, 12% 65%, 4% 100%,
    0 60%
  );
}
/* Front range (darker, shorter) */
.couture-mountain-line[data-mountain-style="layered"]::after {
  height: 50px;
  background: var(--c-ink, #1a1815);
  clip-path: polygon(
    0 0, 100% 0, 100% 100%,
    94% 70%, 86% 100%, 80% 65%, 72% 100%, 64% 70%, 56% 100%, 48% 60%, 40% 100%,
    32% 70%, 24% 100%, 16% 75%, 8% 100%,
    0 75%
  );
}

/* Tone variants */
.couture-mountain-line[data-mountain-tone="accent"],
.couture-mountain-line[data-mountain-tone="accent"][data-mountain-style="layered"]::after {
  background: var(--c-accent, #c25a3a);
}
.couture-mountain-line[data-mountain-tone="accent"][data-mountain-style="layered"]::before {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 50%, transparent);
}
.couture-mountain-line[data-mountain-tone="mist"],
.couture-mountain-line[data-mountain-tone="mist"][data-mountain-style="layered"]::after {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
}
.couture-mountain-line[data-mountain-tone="mist"][data-mountain-style="layered"]::before {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent);
}

/* Direction: up (peaks on top) */
.couture-mountain-line[data-mountain-dir="up"] {
  transform: scaleY(-1);
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-147 — Compact data badge (.couture-data-badge)
 *
 * Tiny inline badge with a value, a small label, and optional delta indicator
 * (▲ + green / ▼ - red). Useful for KPI displays in dashboards, "$2.4M ▲ 12%"
 * style metric chips, blog post analytics, account widgets.
 *
 * Usage:
 *   <span class="couture-data-badge">
 *     <span class="cdb-value">2.4M</span>
 *     <span class="cdb-label">visits</span>
 *     <span class="cdb-delta is-up">+12%</span>
 *   </span>
 *
 * Variants via [data-data-badge-style]: stack (default) | inline | card
 * Tone via [data-data-badge-tone]: ink (default) | accent | minimal
 * Size via [data-data-badge-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-data-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 4px 10px;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border-left: 2px solid color-mix(in oklab, var(--c-ink, #1a1815) 30%, transparent);
  font-family: var(--c-body, system-ui, sans-serif);
  vertical-align: middle;
  line-height: 1.1;
}
.couture-data-badge .cdb-value {
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  font-variant-numeric: tabular-nums;
  color: var(--c-ink, #1a1815);
  line-height: 1;
}
.couture-data-badge .cdb-label {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  margin-top: 2px;
}
.couture-data-badge .cdb-delta {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-top: 3px;
  font-variant-numeric: tabular-nums;
}
.couture-data-badge .cdb-delta.is-up {
  color: #2e8a4e;
}
.couture-data-badge .cdb-delta.is-up::before {
  content: "▲";
  font-size: 0.55rem;
}
.couture-data-badge .cdb-delta.is-down {
  color: #c54c3c;
}
.couture-data-badge .cdb-delta.is-down::before {
  content: "▼";
  font-size: 0.55rem;
}
.couture-data-badge .cdb-delta.is-flat {
  color: color-mix(in oklab, var(--c-ink, #1a1815) 40%, transparent);
}
.couture-data-badge .cdb-delta.is-flat::before {
  content: "—";
  font-size: 0.7rem;
}

/* Style: inline (single-row layout) */
.couture-data-badge[data-data-badge-style="inline"] {
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  border-left: none;
  padding: 6px 12px;
}
.couture-data-badge[data-data-badge-style="inline"] .cdb-value {
  font-size: 1.05rem;
}
.couture-data-badge[data-data-badge-style="inline"] .cdb-label {
  margin-top: 0;
}
.couture-data-badge[data-data-badge-style="inline"] .cdb-delta {
  margin-top: 0;
}

/* Style: card (boxed, more padding, shadow) */
.couture-data-badge[data-data-badge-style="card"] {
  padding: 14px 18px;
  border-left: none;
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent);
  border-radius: 6px;
  box-shadow: 0 1px 3px color-mix(in oklab, var(--c-ink, #1a1815) 6%, transparent);
}

/* Tone variants */
.couture-data-badge[data-data-badge-tone="accent"] {
  border-left-color: var(--c-accent, #c25a3a);
}
.couture-data-badge[data-data-badge-tone="accent"] .cdb-value {
  color: var(--c-accent, #c25a3a);
}
.couture-data-badge[data-data-badge-tone="minimal"] {
  border-left: none;
  padding: 0;
  background: transparent;
}

/* Sizes */
.couture-data-badge[data-data-badge-size="sm"] .cdb-value { font-size: 1.05rem; }
.couture-data-badge[data-data-badge-size="sm"] .cdb-label { font-size: 0.55rem; }
.couture-data-badge[data-data-badge-size="sm"] .cdb-delta { font-size: 0.6rem; }

.couture-data-badge[data-data-badge-size="lg"] .cdb-value { font-size: 2rem; }
.couture-data-badge[data-data-badge-size="lg"] .cdb-label { font-size: 0.7rem; letter-spacing: 0.16em; }
.couture-data-badge[data-data-badge-size="lg"] .cdb-delta { font-size: 0.78rem; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-148 — Confetti burst overlay (.couture-confetti)
 *
 * Celebratory animated confetti pieces that burst outward from a center point.
 * Uses 12 pseudo-element-driven particles via inline custom-prop angles.
 * Triggers on .is-bursting class. Useful for thank-you screens, completion
 * celebrations, "subscribed!" success states, achievement unlocks.
 *
 * Usage:
 *   <div class="couture-confetti is-bursting">
 *     <div class="ccx-pop" aria-hidden="true">
 *       <span></span><span></span><span></span><span></span>
 *       <span></span><span></span><span></span><span></span>
 *       <span></span><span></span><span></span><span></span>
 *     </div>
 *     <div class="ccx-content">Order placed!</div>
 *   </div>
 *
 * Variants via [data-confetti-style]: pieces (default) | dots | mixed
 * Tone via [data-confetti-tone]: festive (default) | mono | accent | gold
 * -------------------------------------------------------------------------- */
.couture-confetti {
  position: relative;
  display: inline-block;
  text-align: center;
}
.couture-confetti .ccx-pop {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 1;
}
.couture-confetti .ccx-pop > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 12px;
  background: var(--c-accent, #c25a3a);
  opacity: 0;
  transform-origin: center;
  border-radius: 1px;
}

/* 12 directional angles via nth-child variable */
.couture-confetti .ccx-pop > span:nth-child(1)  { background: #c25a3a; --conf-angle: 0deg; }
.couture-confetti .ccx-pop > span:nth-child(2)  { background: #d99a3a; --conf-angle: 30deg; }
.couture-confetti .ccx-pop > span:nth-child(3)  { background: #2e8a4e; --conf-angle: 60deg; }
.couture-confetti .ccx-pop > span:nth-child(4)  { background: #1d8cf0; --conf-angle: 90deg; }
.couture-confetti .ccx-pop > span:nth-child(5)  { background: #6b3aa0; --conf-angle: 120deg; }
.couture-confetti .ccx-pop > span:nth-child(6)  { background: #c54c3c; --conf-angle: 150deg; }
.couture-confetti .ccx-pop > span:nth-child(7)  { background: #c25a3a; --conf-angle: 180deg; }
.couture-confetti .ccx-pop > span:nth-child(8)  { background: #d99a3a; --conf-angle: 210deg; }
.couture-confetti .ccx-pop > span:nth-child(9)  { background: #2e8a4e; --conf-angle: 240deg; }
.couture-confetti .ccx-pop > span:nth-child(10) { background: #1d8cf0; --conf-angle: 270deg; }
.couture-confetti .ccx-pop > span:nth-child(11) { background: #6b3aa0; --conf-angle: 300deg; }
.couture-confetti .ccx-pop > span:nth-child(12) { background: #c54c3c; --conf-angle: 330deg; }

/* Bursting animation */
.couture-confetti.is-bursting .ccx-pop > span {
  animation: couture-conf-burst 1.4s cubic-bezier(0.2, 0.7, 0.3, 1) forwards;
}
.couture-confetti.is-bursting .ccx-pop > span:nth-child(odd)  { animation-delay: 0.05s; animation-duration: 1.5s; }
.couture-confetti.is-bursting .ccx-pop > span:nth-child(3n)   { animation-delay: 0.1s;  animation-duration: 1.6s; }
.couture-confetti.is-bursting .ccx-pop > span:nth-child(5n)   { animation-delay: 0.15s; animation-duration: 1.7s; }

@keyframes couture-conf-burst {
  0% {
    opacity: 1;
    transform: rotate(var(--conf-angle, 0deg)) translateY(0) rotate(0);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(var(--conf-angle, 0deg)) translateY(-90px) rotate(720deg);
  }
}

/* Content stays visible above the confetti */
.couture-confetti .ccx-content {
  position: relative;
  z-index: 2;
  padding: 12px 18px;
  display: inline-block;
}

/* Style: dots (round confetti instead of rectangles) */
.couture-confetti[data-confetti-style="dots"] .ccx-pop > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* Style: mixed (alternating shapes) */
.couture-confetti[data-confetti-style="mixed"] .ccx-pop > span:nth-child(2n) {
  border-radius: 50%;
  width: 6px;
  height: 6px;
}
.couture-confetti[data-confetti-style="mixed"] .ccx-pop > span:nth-child(3n) {
  border-radius: 0;
  transform-origin: center;
}

/* Tone: mono (only ink colors) */
.couture-confetti[data-confetti-tone="mono"] .ccx-pop > span:nth-child(n) {
  background: var(--c-ink, #1a1815);
}
.couture-confetti[data-confetti-tone="mono"] .ccx-pop > span:nth-child(2n) {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
}

/* Tone: accent (only accent variations) */
.couture-confetti[data-confetti-tone="accent"] .ccx-pop > span:nth-child(n) {
  background: var(--c-accent, #c25a3a);
}
.couture-confetti[data-confetti-tone="accent"] .ccx-pop > span:nth-child(2n) {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 60%, transparent);
}

/* Tone: gold (warm wedding/celebration palette) */
.couture-confetti[data-confetti-tone="gold"] .ccx-pop > span:nth-child(n) {
  background: #d4af37;
}
.couture-confetti[data-confetti-tone="gold"] .ccx-pop > span:nth-child(3n) {
  background: #f0d96a;
}
.couture-confetti[data-confetti-tone="gold"] .ccx-pop > span:nth-child(5n) {
  background: #c19c2f;
}

@media (prefers-reduced-motion: reduce) {
  .couture-confetti.is-bursting .ccx-pop > span {
    animation: none;
    opacity: 0;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-149 — Gauge needle indicator (.couture-gauge)
 *
 * Half-circle speedometer-style gauge with a rotating needle. Driven by
 * --gauge-value (0..1). The arc has a tri-color band (red/amber/green) by
 * default, configurable. Useful for quality scores, satisfaction, fuel-style
 * "level" indicators, dashboard widgets.
 *
 * Usage:
 *   <div class="couture-gauge" style="--gauge-value: 0.72"
 *        role="img" aria-label="Score 72">
 *     <div class="cgg-needle" aria-hidden="true"></div>
 *     <div class="cgg-value">72</div>
 *   </div>
 *
 * Variants via [data-gauge-style]: tri (default) | mono | accent | inverse
 * Size via [data-gauge-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-gauge {
  --gauge-value: 0.5;
  display: inline-block;
  position: relative;
  width: 140px;
  height: 80px;
  /* Half-circle arc background */
  background:
    conic-gradient(
      from 270deg,
      #c54c3c 0deg 36deg,
      #d99a3a 36deg 72deg,
      #2e8a4e 72deg 180deg,
      transparent 180deg 360deg
    );
  -webkit-mask: radial-gradient(circle at 50% 100%, transparent 56%, #000 56% 78%, transparent 79%);
          mask: radial-gradient(circle at 50% 100%, transparent 56%, #000 56% 78%, transparent 79%);
  vertical-align: middle;
}
/* Tick marks under the arc (decorative) — none by default */

/* The needle */
.couture-gauge .cgg-needle {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 60px;
  background: var(--c-ink, #1a1815);
  border-radius: 2px 2px 0 0;
  transform-origin: bottom center;
  /* 0 = -90deg, 1 = +90deg */
  transform: translateX(-50%) rotate(calc(-90deg + (var(--gauge-value) * 180deg)));
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.3, 1.2);
  z-index: 2;
}
/* Needle pivot */
.couture-gauge .cgg-needle::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c-ink, #1a1815);
  transform: translateX(-50%);
  border: 2px solid var(--c-paper, #faf7f2);
  box-shadow: 0 1px 2px color-mix(in oklab, var(--c-ink, #1a1815) 24%, transparent);
}
/* Numeric value display */
.couture-gauge .cgg-value {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translate(-50%, 100%);
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--c-ink, #1a1815);
  font-variant-numeric: tabular-nums;
  z-index: 3;
}

/* Style: mono (single ink-color arc) */
.couture-gauge[data-gauge-style="mono"] {
  background: conic-gradient(
    from 270deg,
    color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent) 0deg 180deg,
    transparent 180deg 360deg
  );
}

/* Style: accent (single accent-color arc) */
.couture-gauge[data-gauge-style="accent"] {
  background: conic-gradient(
    from 270deg,
    var(--c-accent, #c25a3a) 0deg 180deg,
    transparent 180deg 360deg
  );
}

/* Style: inverse (green→amber→red, low is good) */
.couture-gauge[data-gauge-style="inverse"] {
  background: conic-gradient(
    from 270deg,
    #2e8a4e 0deg 108deg,
    #d99a3a 108deg 144deg,
    #c54c3c 144deg 180deg,
    transparent 180deg 360deg
  );
}

/* Sizes */
.couture-gauge[data-gauge-size="sm"] {
  width: 90px;
  height: 50px;
}
.couture-gauge[data-gauge-size="sm"] .cgg-needle {
  height: 38px;
  width: 1.5px;
}
.couture-gauge[data-gauge-size="sm"] .cgg-needle::after {
  width: 8px;
  height: 8px;
  bottom: -4px;
  border-width: 1.5px;
}
.couture-gauge[data-gauge-size="sm"] .cgg-value {
  font-size: 0.92rem;
  bottom: -6px;
}

.couture-gauge[data-gauge-size="lg"] {
  width: 200px;
  height: 115px;
}
.couture-gauge[data-gauge-size="lg"] .cgg-needle {
  height: 86px;
  width: 3px;
}
.couture-gauge[data-gauge-size="lg"] .cgg-needle::after {
  width: 18px;
  height: 18px;
  bottom: -9px;
  border-width: 3px;
}
.couture-gauge[data-gauge-size="lg"] .cgg-value {
  font-size: 2rem;
  bottom: -12px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-gauge .cgg-needle {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-150 — Pin-pad keypad (.couture-pin-pad)
 *
 * Calculator/ATM-style 3×4 number keypad layout. Useful for "secure access"
 * brand callouts, retro/banking aesthetics, decorative locker / vault hero
 * accents, fintech onboarding screens. Buttons depress on hover/active.
 *
 * Usage:
 *   <div class="couture-pin-pad" role="group" aria-label="PIN entry demo">
 *     <button class="cpp-key">1</button>
 *     <button class="cpp-key">2</button>
 *     <button class="cpp-key">3</button>
 *     <button class="cpp-key">4</button>
 *     <button class="cpp-key">5</button>
 *     <button class="cpp-key">6</button>
 *     <button class="cpp-key">7</button>
 *     <button class="cpp-key">8</button>
 *     <button class="cpp-key">9</button>
 *     <button class="cpp-key cpp-key-fn">←</button>
 *     <button class="cpp-key">0</button>
 *     <button class="cpp-key cpp-key-fn">✓</button>
 *   </div>
 *
 * Variants via [data-pin-pad-style]: classic (default) | mono | accent | round
 * Size via [data-pin-pad-size]: sm | md (default) | lg
 * 150-SHIP MILESTONE 🎉
 * -------------------------------------------------------------------------- */
.couture-pin-pad {
  display: inline-grid;
  grid-template-columns: repeat(3, 56px);
  grid-template-rows: repeat(4, 56px);
  gap: 8px;
  padding: 14px;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 8%);
  border-radius: 14px;
  box-shadow:
    0 1px 0 color-mix(in oklab, var(--c-paper, #faf7f2) 50%, transparent) inset,
    0 8px 22px color-mix(in oklab, var(--c-ink, #1a1815) 14%, transparent);
  font-family: var(--c-mono, ui-monospace, monospace);
}
.couture-pin-pad .cpp-key {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent);
  border-radius: 8px;
  font-family: inherit;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  position: relative;
  box-shadow: 0 1px 0 color-mix(in oklab, var(--c-ink, #1a1815) 8%, transparent),
              0 2px 0 color-mix(in oklab, var(--c-ink, #1a1815) 4%, transparent);
  transition: transform 80ms ease, box-shadow 80ms ease, background 120ms ease;
  font-variant-numeric: tabular-nums;
}
.couture-pin-pad .cpp-key:hover {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 88%, var(--c-ink, #1a1815) 12%);
}
.couture-pin-pad .cpp-key:active,
.couture-pin-pad .cpp-key.is-pressed {
  transform: translateY(2px);
  box-shadow: none;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 20%);
}
.couture-pin-pad .cpp-key:focus-visible {
  outline: 2px solid var(--c-accent, #c25a3a);
  outline-offset: 2px;
}

/* Function keys (backspace / submit) */
.couture-pin-pad .cpp-key-fn {
  font-size: 1.1rem;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 10%, var(--c-paper, #faf7f2));
}
.couture-pin-pad .cpp-key-fn:hover {
  background: color-mix(in oklab, var(--c-ink, #1a1815) 18%, var(--c-paper, #faf7f2));
}

/* Style: mono (all keys same color) */
.couture-pin-pad[data-pin-pad-style="mono"] .cpp-key-fn {
  background: var(--c-paper, #faf7f2);
}

/* Style: accent (submit button uses accent color) */
.couture-pin-pad[data-pin-pad-style="accent"] .cpp-key-fn:last-child {
  background: var(--c-accent, #c25a3a);
  color: var(--c-paper, #faf7f2);
  border-color: transparent;
}
.couture-pin-pad[data-pin-pad-style="accent"] .cpp-key-fn:last-child:hover {
  background: color-mix(in oklab, var(--c-accent, #c25a3a) 90%, var(--c-ink, #1a1815) 10%);
}

/* Style: round (round buttons instead of rounded squares) */
.couture-pin-pad[data-pin-pad-style="round"] .cpp-key {
  border-radius: 50%;
}

/* Sizes */
.couture-pin-pad[data-pin-pad-size="sm"] {
  grid-template-columns: repeat(3, 40px);
  grid-template-rows: repeat(4, 40px);
  gap: 5px;
  padding: 10px;
  border-radius: 10px;
}
.couture-pin-pad[data-pin-pad-size="sm"] .cpp-key {
  font-size: 1rem;
  border-radius: 6px;
}
.couture-pin-pad[data-pin-pad-size="sm"] .cpp-key-fn { font-size: 0.86rem; }

.couture-pin-pad[data-pin-pad-size="lg"] {
  grid-template-columns: repeat(3, 76px);
  grid-template-rows: repeat(4, 76px);
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
}
.couture-pin-pad[data-pin-pad-size="lg"] .cpp-key {
  font-size: 1.8rem;
  border-radius: 10px;
}
.couture-pin-pad[data-pin-pad-size="lg"] .cpp-key-fn { font-size: 1.4rem; }

@media (prefers-reduced-motion: reduce) {
  .couture-pin-pad .cpp-key {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-151 — Heart-rate ECG pulse line (.couture-ecg)
 *
 * Decorative sweeping ECG/EKG line that animates left-to-right with the
 * classic QRS spike. SVG-mask drives the line shape; left-to-right gradient
 * reveal simulates the live trace. Useful for fitness/medical/wellness brand
 * pages, "live monitoring" callouts, hero accent strips.
 *
 * Usage:
 *   <div class="couture-ecg" aria-hidden="true"></div>
 *
 * Variants via [data-ecg-style]: classic (default) | flat | dual
 * Tone via [data-ecg-tone]: ink (default) | accent | red | green
 * Speed via [data-ecg-speed]: slow | normal (default) | fast
 * -------------------------------------------------------------------------- */
.couture-ecg {
  display: block;
  position: relative;
  width: 100%;
  height: 60px;
  background: var(--c-ink, #1a1815);
  /* The line shape via SVG-mask: a heartbeat trace with sharp QRS spike */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,50 L200,50 L210,50 L240,50 L260,30 L275,70 L290,10 L305,90 L320,30 L340,50 L360,50 L600,50 L610,50 L640,50 L660,30 L675,70 L690,10 L705,90 L720,30 L740,50 L760,50 L1200,50' stroke='black' stroke-width='3' fill='none'/></svg>") no-repeat;
  -webkit-mask-size: 100% 100%;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,50 L200,50 L210,50 L240,50 L260,30 L275,70 L290,10 L305,90 L320,30 L340,50 L360,50 L600,50 L610,50 L640,50 L660,30 L675,70 L690,10 L705,90 L720,30 L740,50 L760,50 L1200,50' stroke='black' stroke-width='3' fill='none'/></svg>") no-repeat;
          mask-size: 100% 100%;
}

/* Sweeping reveal — the trace appears across the width on a loop */
.couture-ecg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    transparent 0%,
    transparent 30%,
    rgba(255, 255, 255, 0.4) 50%,
    transparent 70%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: couture-ecg-sweep 2.4s linear infinite;
  pointer-events: none;
  mix-blend-mode: overlay;
}
@keyframes couture-ecg-sweep {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Style: flat (no QRS spikes, just baseline with subtle bumps) */
.couture-ecg[data-ecg-style="flat"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,50 L300,50 L320,46 L340,54 L360,50 L600,50 L620,46 L640,54 L660,50 L900,50 L920,46 L940,54 L960,50 L1200,50' stroke='black' stroke-width='3' fill='none'/></svg>") no-repeat;
  -webkit-mask-size: 100% 100%;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,50 L300,50 L320,46 L340,54 L360,50 L600,50 L620,46 L640,54 L660,50 L900,50 L920,46 L940,54 L960,50 L1200,50' stroke='black' stroke-width='3' fill='none'/></svg>") no-repeat;
          mask-size: 100% 100%;
}

/* Style: dual (two stacked traces) */
.couture-ecg[data-ecg-style="dual"] {
  height: 100px;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'><path d='M0,50 L240,50 L260,30 L275,70 L290,10 L305,90 L320,30 L340,50 L600,50 L620,30 L635,70 L650,10 L665,90 L680,30 L700,50 L1200,50' stroke='black' stroke-width='3' fill='none'/><path d='M0,150 L300,150 L320,130 L335,170 L350,110 L365,190 L380,130 L400,150 L660,150 L680,130 L695,170 L710,110 L725,190 L740,130 L760,150 L1200,150' stroke='black' stroke-width='3' fill='none'/></svg>") no-repeat;
  -webkit-mask-size: 100% 100%;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'><path d='M0,50 L240,50 L260,30 L275,70 L290,10 L305,90 L320,30 L340,50 L600,50 L620,30 L635,70 L650,10 L665,90 L680,30 L700,50 L1200,50' stroke='black' stroke-width='3' fill='none'/><path d='M0,150 L300,150 L320,130 L335,170 L350,110 L365,190 L380,130 L400,150 L660,150 L680,130 L695,170 L710,110 L725,190 L740,130 L760,150 L1200,150' stroke='black' stroke-width='3' fill='none'/></svg>") no-repeat;
          mask-size: 100% 100%;
}

/* Tone variants */
.couture-ecg[data-ecg-tone="accent"] { background: var(--c-accent, #c25a3a); }
.couture-ecg[data-ecg-tone="red"]    { background: #c54c3c; }
.couture-ecg[data-ecg-tone="green"]  { background: #2e8a4e; }

/* Speed variants */
.couture-ecg[data-ecg-speed="slow"]::before { animation-duration: 4s; }
.couture-ecg[data-ecg-speed="fast"]::before { animation-duration: 1.4s; }

@media (prefers-reduced-motion: reduce) {
  .couture-ecg::before {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-152 — Match-percent ring chip (.couture-match-pct)
 *
 * Compact inline pill with a small circular match-percent ring on the left
 * and a label on the right. Different from the existing radial-progress
 * (which is a card): this is a small inline indicator suitable for inline
 * recommendations, recipe-match, "you might like" cards, search-result
 * relevance, dating-app-style compatibility chips.
 *
 * Usage:
 *   <span class="couture-match-pct" style="--match: 0.87">
 *     <span class="cmp-ring" aria-hidden="true">
 *       <span class="cmp-num">87</span>
 *     </span>
 *     <span class="cmp-label">match</span>
 *   </span>
 *
 * Variants via [data-match-pct-style]: chip (default) | minimal | inverse
 * Tone via [data-match-pct-tone]: ink (default) | accent | match-color
 *   (match-color = red→amber→green by --match value)
 * Size via [data-match-pct-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-match-pct {
  --match: 0.5;
  --mp-color: var(--c-ink, #1a1815);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 6px;
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 92%, var(--c-ink, #1a1815) 8%);
  border-radius: 999px;
  vertical-align: middle;
  font-family: var(--c-body, system-ui, sans-serif);
  font-size: 0.78rem;
}
.couture-match-pct .cmp-ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: conic-gradient(
    var(--mp-color) calc(var(--match) * 360deg),
    color-mix(in oklab, var(--c-ink, #1a1815) 14%, transparent) calc(var(--match) * 360deg) 360deg
  );
  position: relative;
  flex-shrink: 0;
}
.couture-match-pct .cmp-ring::before {
  content: "";
  position: absolute;
  inset: 3px;
  background: var(--c-paper, #faf7f2);
  border-radius: 50%;
}
.couture-match-pct .cmp-num {
  position: relative;
  z-index: 1;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--c-ink, #1a1815);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.couture-match-pct .cmp-num::after {
  content: "%";
  font-size: 0.5rem;
  opacity: 0.55;
  margin-left: 0.5px;
}
.couture-match-pct .cmp-label {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.66;
}

/* Style: minimal (no chip background, just ring + label) */
.couture-match-pct[data-match-pct-style="minimal"] {
  background: transparent;
  padding: 0 4px;
}

/* Style: inverse (filled ink chip) */
.couture-match-pct[data-match-pct-style="inverse"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
}
.couture-match-pct[data-match-pct-style="inverse"] .cmp-ring {
  --mp-color: var(--c-paper, #faf7f2);
}
.couture-match-pct[data-match-pct-style="inverse"] .cmp-ring::before {
  background: var(--c-ink, #1a1815);
}
.couture-match-pct[data-match-pct-style="inverse"] .cmp-num {
  color: var(--c-paper, #faf7f2);
}

/* Tone: accent */
.couture-match-pct[data-match-pct-tone="accent"] {
  --mp-color: var(--c-accent, #c25a3a);
}

/* Tone: match-color (red < 0.4, amber 0.4-0.7, green > 0.7)
   We can't compute conditionals from a number var directly — operators set
   .is-low / .is-mid / .is-high based on the value at render time. */
.couture-match-pct[data-match-pct-tone="match-color"].is-low  { --mp-color: #c54c3c; }
.couture-match-pct[data-match-pct-tone="match-color"].is-mid  { --mp-color: #d99a3a; }
.couture-match-pct[data-match-pct-tone="match-color"].is-high { --mp-color: #2e8a4e; }

/* Sizes */
.couture-match-pct[data-match-pct-size="sm"] {
  font-size: 0.66rem;
  gap: 5px;
  padding: 2px 7px 2px 4px;
}
.couture-match-pct[data-match-pct-size="sm"] .cmp-ring { width: 20px; height: 20px; }
.couture-match-pct[data-match-pct-size="sm"] .cmp-ring::before { inset: 2px; }
.couture-match-pct[data-match-pct-size="sm"] .cmp-num { font-size: 0.5rem; }
.couture-match-pct[data-match-pct-size="sm"] .cmp-num::after { font-size: 0.4rem; }
.couture-match-pct[data-match-pct-size="sm"] .cmp-label { font-size: 0.55rem; letter-spacing: 0.12em; }

.couture-match-pct[data-match-pct-size="lg"] {
  font-size: 0.92rem;
  gap: 12px;
  padding: 6px 14px 6px 8px;
}
.couture-match-pct[data-match-pct-size="lg"] .cmp-ring { width: 40px; height: 40px; }
.couture-match-pct[data-match-pct-size="lg"] .cmp-ring::before { inset: 4px; }
.couture-match-pct[data-match-pct-size="lg"] .cmp-num { font-size: 0.84rem; }
.couture-match-pct[data-match-pct-size="lg"] .cmp-num::after { font-size: 0.66rem; }
.couture-match-pct[data-match-pct-size="lg"] .cmp-label { font-size: 0.74rem; letter-spacing: 0.16em; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-153 — Tide-fill pill (.couture-tide-pill)
 *
 * Wide horizontal pill that fills from the bottom up like a rising water
 * tank, with a subtle wavy top edge on the fill. --tide is 0..1. Distinct
 * from .couture-battery (which fills horizontally from left). Useful for
 * water-usage, hydration goals, capacity dashboards, daily-progress meters,
 * eco/sustainability callouts.
 *
 * Usage:
 *   <span class="couture-tide-pill" style="--tide: 0.62"
 *         role="img" aria-label="62% full">
 *     <span class="ctp-label">62%</span>
 *   </span>
 *
 * Variants via [data-tide-pill-style]: liquid (default) | flat | striped
 * Tone via [data-tide-pill-tone]: ink (default) | accent | aqua | warm
 * Size via [data-tide-pill-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-tide-pill {
  --tide: 0.5;
  --tp-fill: var(--c-ink, #1a1815);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 96px;
  height: 28px;
  border-radius: 999px;
  border: 1.5px solid color-mix(in oklab, var(--c-ink, #1a1815) 32%, transparent);
  background: var(--c-paper, #faf7f2);
  overflow: hidden;
  vertical-align: middle;
  font-family: var(--c-mono, ui-monospace, monospace);
}
/* The rising fill */
.couture-tide-pill::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: calc(var(--tide) * 100%);
  background: var(--tp-fill);
  transition: height 600ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
/* The wavy top of the fill (decorative bumps) */
.couture-tide-pill::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--tide) * 100% - 2px);
  height: 4px;
  background:
    radial-gradient(circle at 16% 100%, var(--tp-fill) 50%, transparent 50%),
    radial-gradient(circle at 50% 100%, var(--tp-fill) 50%, transparent 50%),
    radial-gradient(circle at 84% 100%, var(--tp-fill) 50%, transparent 50%);
  background-size: 33.34% 100%;
  background-repeat: no-repeat;
  background-position: 0 0, 33.34% 0, 66.67% 0;
  pointer-events: none;
  transition: bottom 600ms cubic-bezier(0.2, 0.7, 0.3, 1);
}
/* Style: flat (no wavy crest) */
.couture-tide-pill[data-tide-pill-style="flat"]::after {
  display: none;
}
/* Style: striped (diagonal stripes inside fill) */
.couture-tide-pill[data-tide-pill-style="striped"]::before {
  background:
    repeating-linear-gradient(
      45deg,
      var(--tp-fill) 0 6px,
      color-mix(in oklab, var(--tp-fill) 70%, var(--c-paper, #faf7f2) 30%) 6px 12px
    );
}

/* Label sits above the fill, blends to fill color when submerged */
.couture-tide-pill .ctp-label {
  position: relative;
  z-index: 2;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--c-ink, #1a1815);
  font-variant-numeric: tabular-nums;
  mix-blend-mode: difference;
  filter: invert(1);
}

/* Tone variants */
.couture-tide-pill[data-tide-pill-tone="accent"] { --tp-fill: var(--c-accent, #c25a3a); }
.couture-tide-pill[data-tide-pill-tone="aqua"]   { --tp-fill: #4aa6c4; border-color: color-mix(in oklab, #4aa6c4 60%, transparent); }
.couture-tide-pill[data-tide-pill-tone="warm"]   { --tp-fill: #d99a3a; border-color: color-mix(in oklab, #d99a3a 60%, transparent); }

/* Sizes */
.couture-tide-pill[data-tide-pill-size="sm"] {
  width: 64px;
  height: 20px;
}
.couture-tide-pill[data-tide-pill-size="sm"] .ctp-label { font-size: 0.55rem; }

.couture-tide-pill[data-tide-pill-size="lg"] {
  width: 140px;
  height: 38px;
}
.couture-tide-pill[data-tide-pill-size="lg"] .ctp-label { font-size: 0.92rem; }

@media (prefers-reduced-motion: reduce) {
  .couture-tide-pill::before,
  .couture-tide-pill::after {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-154 — Stitched-edge card (.couture-stitched)
 *
 * Card with a contrasting dashed inset border that looks like a handsewn
 * stitch line tracing the edge. Useful for craft/handmade/artisan brand
 * cards, denim-style fashion accents, leather-goods callouts, "made by hand"
 * testimonial frames.
 *
 * Usage:
 *   <article class="couture-stitched">
 *     <div class="cst-content">
 *       <h3>Hand stitched</h3>
 *       <p>Each piece sewn one at a time...</p>
 *     </div>
 *   </article>
 *
 * Variants via [data-stitched-style]: outset (default) | inset | both
 * Tone via [data-stitched-tone]: ink (default) | accent | denim | thread
 * Stitch via [data-stitched-stitch]: dashed (default) | dotted | tight
 * -------------------------------------------------------------------------- */
.couture-stitched {
  position: relative;
  display: block;
  padding: 24px 28px;
  background: var(--c-paper, #faf7f2);
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent);
  border-radius: 6px;
  font-family: var(--c-body, system-ui, sans-serif);
}
/* The inset stitch line */
.couture-stitched::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1.5px dashed color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
  border-radius: 3px;
  pointer-events: none;
}

.couture-stitched .cst-content {
  position: relative;
  z-index: 1;
}

/* Style: outset (default) — stitches inset just inside outer border */
/* (default behavior already handles this) */

/* Style: inset (stitches further in, more decorative gap) */
.couture-stitched[data-stitched-style="inset"]::before {
  inset: 12px;
}

/* Style: both (outer + inner stitch) */
.couture-stitched[data-stitched-style="both"] {
  padding: 30px 34px;
}
.couture-stitched[data-stitched-style="both"]::before {
  inset: 6px;
}
.couture-stitched[data-stitched-style="both"]::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px dashed color-mix(in oklab, var(--c-ink, #1a1815) 30%, transparent);
  border-radius: 2px;
  pointer-events: none;
}

/* Stitch variants */
.couture-stitched[data-stitched-stitch="dotted"]::before {
  border-style: dotted;
  border-width: 2px;
}
.couture-stitched[data-stitched-stitch="tight"]::before {
  /* repeated short dashes via background instead of border for tighter spacing */
  border: none;
  background:
    linear-gradient(90deg, currentColor 50%, transparent 50%) top    / 8px 1.5px repeat-x,
    linear-gradient(90deg, currentColor 50%, transparent 50%) bottom / 8px 1.5px repeat-x,
    linear-gradient(0deg,  currentColor 50%, transparent 50%) left   / 1.5px 8px repeat-y,
    linear-gradient(0deg,  currentColor 50%, transparent 50%) right  / 1.5px 8px repeat-y;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
}

/* Tone: accent */
.couture-stitched[data-stitched-tone="accent"]::before,
.couture-stitched[data-stitched-tone="accent"][data-stitched-style="both"]::after {
  border-color: var(--c-accent, #c25a3a);
}
.couture-stitched[data-stitched-tone="accent"][data-stitched-stitch="tight"]::before {
  color: var(--c-accent, #c25a3a);
}

/* Tone: denim (blue stitching on slightly blue card) */
.couture-stitched[data-stitched-tone="denim"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 88%, #2c4a7a 12%);
}
.couture-stitched[data-stitched-tone="denim"]::before,
.couture-stitched[data-stitched-tone="denim"][data-stitched-style="both"]::after {
  border-color: #d99a3a;
}
.couture-stitched[data-stitched-tone="denim"][data-stitched-stitch="tight"]::before {
  color: #d99a3a;
}

/* Tone: thread (warm thread color) */
.couture-stitched[data-stitched-tone="thread"]::before,
.couture-stitched[data-stitched-tone="thread"][data-stitched-style="both"]::after {
  border-color: #b87a3a;
}
.couture-stitched[data-stitched-tone="thread"][data-stitched-stitch="tight"]::before {
  color: #b87a3a;
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-155 — Compass rose decoration (.couture-compass)
 *
 * Decorative 4-point or 8-point compass rose with N/E/S/W labels. Pure CSS
 * via clip-path diamonds + cardinal letter slots. Useful for travel/explore
 * brand pages, location-aware widgets, "find us" callouts, map sections.
 *
 * Usage:
 *   <div class="couture-compass" role="img" aria-label="Compass rose">
 *     <span class="ccr-n">N</span>
 *     <span class="ccr-e">E</span>
 *     <span class="ccr-s">S</span>
 *     <span class="ccr-w">W</span>
 *   </div>
 *
 * Variants via [data-compass-style]: 4pt (default) | 8pt | filled
 * Tone via [data-compass-tone]: ink (default) | accent | gold
 * Size via [data-compass-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-compass {
  display: inline-block;
  position: relative;
  width: 100px;
  height: 100px;
  vertical-align: middle;
  --cmp-color: var(--c-ink, #1a1815);
  --cmp-light: color-mix(in oklab, var(--cmp-color) 35%, transparent);
}
/* Outer ring */
.couture-compass::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1.5px solid var(--cmp-color);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    transparent 26%,
    var(--cmp-light) 26.5% 27%,
    transparent 27.5%
  );
}
/* The 4 long diamond points (N/E/S/W) — drawn via large rotated elements */
.couture-compass::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    /* Vertical N-S diamond */
    linear-gradient(
      to right,
      transparent calc(50% - 0.75px),
      var(--cmp-color) calc(50% - 0.75px),
      var(--cmp-color) calc(50% + 0.75px),
      transparent calc(50% + 0.75px)
    ),
    /* Horizontal E-W diamond */
    linear-gradient(
      to bottom,
      transparent calc(50% - 0.75px),
      var(--cmp-color) calc(50% - 0.75px),
      var(--cmp-color) calc(50% + 0.75px),
      transparent calc(50% + 0.75px)
    );
  -webkit-mask:
    radial-gradient(circle, #000 0%, #000 48%, transparent 48%);
          mask:
    radial-gradient(circle, #000 0%, #000 48%, transparent 48%);
}

/* Letter slots positioned around the ring */
.couture-compass > span {
  position: absolute;
  font-family: var(--c-display, Georgia, serif);
  font-weight: 700;
  font-size: 0.84rem;
  color: var(--cmp-color);
  letter-spacing: 0.04em;
  text-align: center;
  width: 14px;
  line-height: 1;
}
.couture-compass .ccr-n { top: -3px;    left: 50%; transform: translateX(-50%); }
.couture-compass .ccr-s { bottom: -3px; left: 50%; transform: translateX(-50%); }
.couture-compass .ccr-e { right: -3px;  top: 50%;  transform: translateY(-50%); }
.couture-compass .ccr-w { left: -3px;   top: 50%;  transform: translateY(-50%); }

/* Style: 8pt (adds NE/SE/SW/NW diagonal lines) */
.couture-compass[data-compass-style="8pt"]::after {
  background:
    linear-gradient(to right, transparent calc(50% - 0.75px), var(--cmp-color) calc(50% - 0.75px), var(--cmp-color) calc(50% + 0.75px), transparent calc(50% + 0.75px)),
    linear-gradient(to bottom, transparent calc(50% - 0.75px), var(--cmp-color) calc(50% - 0.75px), var(--cmp-color) calc(50% + 0.75px), transparent calc(50% + 0.75px)),
    linear-gradient(45deg, transparent calc(50% - 0.5px), var(--cmp-light) calc(50% - 0.5px), var(--cmp-light) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
    linear-gradient(135deg, transparent calc(50% - 0.5px), var(--cmp-light) calc(50% - 0.5px), var(--cmp-light) calc(50% + 0.5px), transparent calc(50% + 0.5px));
  -webkit-mask: radial-gradient(circle, #000 0%, #000 48%, transparent 48%);
          mask: radial-gradient(circle, #000 0%, #000 48%, transparent 48%);
}

/* Style: filled (north needle is filled darker, south is hollow) */
.couture-compass[data-compass-style="filled"] {
  width: 100px;
  height: 100px;
}
.couture-compass[data-compass-style="filled"]::before {
  background: var(--c-paper, #faf7f2);
  border-width: 2px;
}
.couture-compass[data-compass-style="filled"]::after {
  background:
    linear-gradient(to right, transparent calc(50% - 1.25px), var(--cmp-color) calc(50% - 1.25px), var(--cmp-color) calc(50% + 1.25px), transparent calc(50% + 1.25px)),
    linear-gradient(to bottom, transparent calc(50% - 1.25px), var(--cmp-color) calc(50% - 1.25px), var(--cmp-color) calc(50% + 1.25px), transparent calc(50% + 1.25px));
  -webkit-mask: radial-gradient(circle, #000 0%, #000 48%, transparent 48%);
          mask: radial-gradient(circle, #000 0%, #000 48%, transparent 48%);
}

/* Tone variants */
.couture-compass[data-compass-tone="accent"] { --cmp-color: var(--c-accent, #c25a3a); }
.couture-compass[data-compass-tone="gold"]   { --cmp-color: #c19c2f; }

/* Sizes */
.couture-compass[data-compass-size="sm"] { width: 60px; height: 60px; }
.couture-compass[data-compass-size="sm"] > span { font-size: 0.6rem; width: 10px; }

.couture-compass[data-compass-size="lg"] { width: 160px; height: 160px; }
.couture-compass[data-compass-size="lg"] > span { font-size: 1.2rem; width: 18px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-156 — Hourglass progress (.couture-hourglass)
 *
 * Decorative hourglass with sand draining from top to bottom. Pure CSS via
 * two stacked clip-path triangles + animated sand fill. Useful for "limited
 * time" callouts, expiring offer indicators, anti-skeleton-loaders, vintage
 * brand decorative accents.
 *
 * Usage:
 *   <div class="couture-hourglass is-running"
 *        role="img" aria-label="Time running"></div>
 *
 * Variants via [data-hourglass-style]: classic (default) | minimal | filled
 * Tone via [data-hourglass-tone]: ink (default) | accent | sand
 * Size via [data-hourglass-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-hourglass {
  display: inline-block;
  position: relative;
  width: 32px;
  height: 44px;
  vertical-align: middle;
  --hg-color: var(--c-ink, #1a1815);
  --hg-sand: color-mix(in oklab, var(--hg-color) 60%, var(--c-paper, #faf7f2) 40%);
}
/* Top + bottom caps (horizontal lines) */
.couture-hourglass::before,
.couture-hourglass::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--hg-color);
  border-radius: 1px;
}
.couture-hourglass::before { top: 0; }
.couture-hourglass::after  { bottom: 0; }

/* The two triangle bulbs of glass */
.couture-hourglass .chg-top,
.couture-hourglass .chg-btm {
  position: absolute;
  left: 50%;
  width: 26px;
  height: 18px;
  margin-left: -13px;
  background: transparent;
  border: 2px solid var(--hg-color);
  box-sizing: border-box;
}
.couture-hourglass .chg-top {
  top: 2px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.couture-hourglass .chg-btm {
  bottom: 2px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
/* Inject the bulbs even without explicit children — pseudo via attr fallback isn't possible.
   So we provide them via ::before-style on a single inline-content layout. Since we have
   only ::before/::after taken, operators must add <span class="chg-top"></span><span class="chg-btm"></span>
   inside. Simpler: render via background-image triangles instead. */
.couture-hourglass {
  background:
    /* top triangle outline */
    linear-gradient(135deg, transparent 49%, var(--hg-color) 49% 51%, transparent 51%) center 10px / 26px 18px no-repeat,
    linear-gradient(45deg,  transparent 49%, var(--hg-color) 49% 51%, transparent 51%) center 10px / 26px 18px no-repeat,
    /* bottom triangle outline */
    linear-gradient(45deg,  transparent 49%, var(--hg-color) 49% 51%, transparent 51%) center calc(100% - 10px) / 26px 18px no-repeat,
    linear-gradient(135deg, transparent 49%, var(--hg-color) 49% 51%, transparent 51%) center calc(100% - 10px) / 26px 18px no-repeat;
}

/* Sand: the bottom bulb gradually fills */
.couture-hourglass .chg-sand {
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 26px;
  height: 18px;
  margin-left: -13px;
  pointer-events: none;
  z-index: 1;
}
.couture-hourglass .chg-sand::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: var(--hg-sand);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
/* Top sand (full at start, drains over time) */
.couture-hourglass .chg-sand::after {
  content: "";
  position: absolute;
  bottom: calc(100% + 4px);
  left: 0;
  right: 0;
  height: 14px;
  background: var(--hg-sand);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
/* Falling stream */
.couture-hourglass.is-running .chg-sand {
  animation: couture-hg-sand 4s linear infinite;
}
@keyframes couture-hg-sand {
  0%   { --sand-fill: 0%; }
  100% { --sand-fill: 100%; }
}
.couture-hourglass.is-running .chg-sand::before {
  animation: couture-hg-fill 4s linear infinite;
}
.couture-hourglass.is-running .chg-sand::after {
  animation: couture-hg-drain 4s linear infinite;
}
@keyframes couture-hg-fill {
  0%   { height: 0%; }
  100% { height: 90%; }
}
@keyframes couture-hg-drain {
  0%   { height: 14px; }
  100% { height: 0; }
}

/* Style: minimal (no caps/lines, just the X shape) */
.couture-hourglass[data-hourglass-style="minimal"]::before,
.couture-hourglass[data-hourglass-style="minimal"]::after {
  display: none;
}

/* Style: filled (solid sand color, no outline) */
.couture-hourglass[data-hourglass-style="filled"] {
  background:
    linear-gradient(180deg, var(--hg-color) 0 18px, transparent 18px 26px, var(--hg-color) 26px 100%) center / 26px 100% no-repeat;
  -webkit-mask:
    linear-gradient(135deg, transparent 49%, #000 49% 51%, transparent 51%) center 10px / 26px 18px no-repeat,
    linear-gradient(45deg,  transparent 49%, #000 49% 51%, transparent 51%) center 10px / 26px 18px no-repeat,
    linear-gradient(45deg,  transparent 49%, #000 49% 51%, transparent 51%) center calc(100% - 10px) / 26px 18px no-repeat,
    linear-gradient(135deg, transparent 49%, #000 49% 51%, transparent 51%) center calc(100% - 10px) / 26px 18px no-repeat;
}

/* Tone variants */
.couture-hourglass[data-hourglass-tone="accent"] {
  --hg-color: var(--c-accent, #c25a3a);
  --hg-sand: color-mix(in oklab, var(--c-accent, #c25a3a) 70%, var(--c-paper, #faf7f2) 30%);
}
.couture-hourglass[data-hourglass-tone="sand"] {
  --hg-color: #b87a3a;
  --hg-sand: #d4a674;
}

/* Sizes */
.couture-hourglass[data-hourglass-size="sm"] {
  width: 22px;
  height: 30px;
  background-size: 18px 12px;
}
.couture-hourglass[data-hourglass-size="sm"] .chg-sand {
  width: 18px;
  height: 12px;
  margin-left: -9px;
}

.couture-hourglass[data-hourglass-size="lg"] {
  width: 48px;
  height: 64px;
  background-size: 38px 26px;
}
.couture-hourglass[data-hourglass-size="lg"] .chg-sand {
  width: 38px;
  height: 26px;
  margin-left: -19px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-hourglass.is-running .chg-sand,
  .couture-hourglass.is-running .chg-sand::before,
  .couture-hourglass.is-running .chg-sand::after {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-157 — Gift-box ribbon decoration (.couture-gift-box)
 *
 * Pure-CSS wrapped gift box with vertical and horizontal ribbon strips and a
 * decorative bow on top. Useful for wishlist callouts, "free gift" badges,
 * loyalty-rewards section accents, holiday-promo decoration.
 *
 * Usage:
 *   <span class="couture-gift-box" role="img" aria-label="Gift"></span>
 *
 * Variants via [data-gift-style]: classic (default) | minimal | filled
 * Tone via [data-gift-tone]: ink (default) | accent | red | gold
 * Size via [data-gift-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-gift-box {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  --gift-color: var(--c-ink, #1a1815);
  --gift-ribbon: var(--c-accent, #c25a3a);
}
/* Box body */
.couture-gift-box::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 28px;
  background: var(--gift-color);
  border-radius: 2px;
}
/* Box lid (top strip) */
.couture-gift-box::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  height: 6px;
  background: color-mix(in oklab, var(--gift-color) 80%, var(--c-paper, #faf7f2) 20%);
  border-radius: 2px 2px 0 0;
}
/* Vertical ribbon strip */
.couture-gift-box .cgb-vrib {
  position: absolute;
  top: 8px;
  left: 50%;
  width: 5px;
  height: 32px;
  margin-left: -2.5px;
  background: var(--gift-ribbon);
  z-index: 1;
}
/* Horizontal ribbon strip (only on the body, not the lid — visually it crosses both) */
.couture-gift-box .cgb-hrib {
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  height: 5px;
  background: var(--gift-ribbon);
  z-index: 1;
}
/* Bow on top — two leaves + center knot */
.couture-gift-box .cgb-bow {
  position: absolute;
  top: -6px;
  left: 50%;
  width: 22px;
  height: 12px;
  margin-left: -11px;
  z-index: 2;
}
.couture-gift-box .cgb-bow::before,
.couture-gift-box .cgb-bow::after {
  content: "";
  position: absolute;
  top: 0;
  width: 9px;
  height: 12px;
  background: var(--gift-ribbon);
  border-radius: 50% 50% 50% 0;
}
.couture-gift-box .cgb-bow::before {
  left: 0;
  transform: rotate(-25deg);
  border-radius: 50% 50% 0 50%;
}
.couture-gift-box .cgb-bow::after {
  right: 0;
  transform: rotate(25deg);
  border-radius: 50% 50% 50% 0;
}
/* Bow knot (center) */
.couture-gift-box .cgb-bow > i {
  display: block;
  position: absolute;
  top: 4px;
  left: 50%;
  width: 4px;
  height: 4px;
  margin-left: -2px;
  background: color-mix(in oklab, var(--gift-ribbon) 70%, var(--c-ink, #1a1815) 30%);
  border-radius: 50%;
  z-index: 1;
}

/* Style: minimal (no bow — just box + ribbon strips) */
.couture-gift-box[data-gift-style="minimal"] .cgb-bow {
  display: none;
}

/* Style: filled (solid box with paper-color ribbon for contrast) */
.couture-gift-box[data-gift-style="filled"] {
  --gift-ribbon: var(--c-paper, #faf7f2);
}
.couture-gift-box[data-gift-style="filled"] .cgb-bow > i {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, var(--c-ink, #1a1815) 30%);
}

/* Tone variants */
.couture-gift-box[data-gift-tone="accent"] { --gift-color: var(--c-accent, #c25a3a); --gift-ribbon: var(--c-paper, #faf7f2); }
.couture-gift-box[data-gift-tone="red"]    { --gift-color: #b8362a; --gift-ribbon: #f0d96a; }
.couture-gift-box[data-gift-tone="gold"]   { --gift-color: #c19c2f; --gift-ribbon: #b8362a; }

/* Sizes */
.couture-gift-box[data-gift-size="sm"] { width: 28px; height: 28px; }
.couture-gift-box[data-gift-size="sm"]::before { height: 20px; }
.couture-gift-box[data-gift-size="sm"]::after { top: 6px; height: 4px; }
.couture-gift-box[data-gift-size="sm"] .cgb-vrib { width: 3px; height: 22px; margin-left: -1.5px; top: 6px; }
.couture-gift-box[data-gift-size="sm"] .cgb-hrib { top: 6px; height: 3px; }
.couture-gift-box[data-gift-size="sm"] .cgb-bow { width: 16px; height: 8px; margin-left: -8px; top: -4px; }
.couture-gift-box[data-gift-size="sm"] .cgb-bow::before,
.couture-gift-box[data-gift-size="sm"] .cgb-bow::after { width: 6px; height: 8px; }

.couture-gift-box[data-gift-size="lg"] { width: 64px; height: 64px; }
.couture-gift-box[data-gift-size="lg"]::before { height: 44px; }
.couture-gift-box[data-gift-size="lg"]::after { top: 12px; height: 9px; }
.couture-gift-box[data-gift-size="lg"] .cgb-vrib { width: 7px; height: 52px; margin-left: -3.5px; top: 12px; }
.couture-gift-box[data-gift-size="lg"] .cgb-hrib { top: 12px; height: 7px; }
.couture-gift-box[data-gift-size="lg"] .cgb-bow { width: 32px; height: 18px; margin-left: -16px; top: -10px; }
.couture-gift-box[data-gift-size="lg"] .cgb-bow::before,
.couture-gift-box[data-gift-size="lg"] .cgb-bow::after { width: 13px; height: 18px; }
.couture-gift-box[data-gift-size="lg"] .cgb-bow > i { width: 6px; height: 6px; margin-left: -3px; top: 6px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-158 — Tea-bag tag pill (.couture-tea-tag)
 *
 * Decorative dangling tag like a tea-bag label hanging from a string. Pure
 * CSS: rectangular tag body + thin string above. Useful for gentle
 * "tip"/"note"/"flavor" callouts on cafe/wellness/lifestyle brand pages,
 * decorative side-notes, fragrance/scent labels, herbal/tea brand accents.
 *
 * Usage:
 *   <span class="couture-tea-tag">
 *     <span class="ctt-text">Earl Grey</span>
 *   </span>
 *
 * Variants via [data-tea-tag-style]: square (default) | rounded | scallop
 * Tone via [data-tea-tag-tone]: paper (default) | cream | mint | rose | ink
 * Tilt via [data-tea-tag-tilt]: none | left (default) | right | swing
 * -------------------------------------------------------------------------- */
.couture-tea-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 64px;
  min-height: 36px;
  padding: 8px 10px;
  margin-top: 16px;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border: 1px solid color-mix(in oklab, var(--c-ink, #1a1815) 24%, transparent);
  border-radius: 2px;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-align: center;
  vertical-align: top;
  transform-origin: top center;
  transform: rotate(-3deg);
  box-shadow: 0 4px 8px color-mix(in oklab, var(--c-ink, #1a1815) 10%, transparent);
}
/* String going up from the tag */
.couture-tea-tag::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 1px;
  height: 18px;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent);
  transform: translateX(-50%);
  transform-origin: bottom center;
}
/* Staple/clip at the top of the tag where the string attaches */
.couture-tea-tag::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  width: 8px;
  height: 4px;
  background: color-mix(in oklab, var(--c-ink, #1a1815) 70%, transparent);
  border-radius: 2px;
  transform: translateX(-50%);
}
.couture-tea-tag .ctt-text {
  display: inline-block;
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 600;
}

/* Style: rounded (rounded corners on the tag) */
.couture-tea-tag[data-tea-tag-style="rounded"] {
  border-radius: 8px;
}

/* Style: scallop (decorative scalloped bottom edge) */
.couture-tea-tag[data-tea-tag-style="scallop"] {
  border-radius: 2px 2px 50% 50% / 2px 2px 18% 18%;
}

/* Tilt variants */
.couture-tea-tag[data-tea-tag-tilt="none"]  { transform: rotate(0); }
.couture-tea-tag[data-tea-tag-tilt="right"] { transform: rotate(3deg); }
.couture-tea-tag[data-tea-tag-tilt="swing"] { animation: couture-tt-swing 4s ease-in-out infinite; }
@keyframes couture-tt-swing {
  0%, 100% { transform: rotate(-3deg); }
  50%      { transform: rotate(3deg); }
}

/* Tone variants */
.couture-tea-tag[data-tea-tag-tone="cream"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #f5e9c8 30%);
}
.couture-tea-tag[data-tea-tag-tone="mint"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #c9e8d6 30%);
}
.couture-tea-tag[data-tea-tag-tone="rose"] {
  background: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #f0c9d3 30%);
}
.couture-tea-tag[data-tea-tag-tone="ink"] {
  background: var(--c-ink, #1a1815);
  color: var(--c-paper, #faf7f2);
  border-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
  .couture-tea-tag[data-tea-tag-tilt="swing"] {
    animation: none;
    transform: rotate(-3deg);
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-159 — Open-close quote bookend (.couture-quote-bookend)
 *
 * Block of text wrapped in oversized opening and closing quote marks. Distinct
 * from the existing pullquote (which has just a leading mark) and quote-mark
 * card (which is a giant single mark): this brackets text on both sides for a
 * formal display quotation. Useful for hero quotes, manifestos, mission
 * statements, founder-letter callouts.
 *
 * Usage:
 *   <blockquote class="couture-quote-bookend">
 *     <p>The way we see it...</p>
 *     <footer class="cqb-cite">— Jane Doe</footer>
 *   </blockquote>
 *
 * Variants via [data-quote-bookend-style]: serif (default) | mono | sans
 * Tone via [data-quote-bookend-tone]: ink (default) | accent | mute
 * Mark via [data-quote-bookend-mark]: curly (default) | guillemet | low-high | tall
 * -------------------------------------------------------------------------- */
.couture-quote-bookend {
  position: relative;
  margin: 24px 0;
  padding: 18px 48px;
  font-family: var(--c-display, Georgia, serif);
  font-size: 1.2rem;
  line-height: 1.55;
  color: var(--c-ink, #1a1815);
  font-style: italic;
  text-align: center;
  letter-spacing: -0.005em;
}
.couture-quote-bookend > * {
  font-style: inherit;
  margin: 0;
}
.couture-quote-bookend p {
  margin: 0;
}
.couture-quote-bookend::before,
.couture-quote-bookend::after {
  position: absolute;
  font-family: var(--c-display, Georgia, serif);
  font-size: 4rem;
  line-height: 1;
  color: color-mix(in oklab, var(--c-ink, #1a1815) 30%, transparent);
  font-style: normal;
  font-weight: 400;
  pointer-events: none;
}
.couture-quote-bookend::before {
  content: "\201C"; /* left double quote */
  top: 0;
  left: 8px;
}
.couture-quote-bookend::after {
  content: "\201D"; /* right double quote */
  bottom: -16px;
  right: 8px;
}

/* Cite line */
.couture-quote-bookend .cqb-cite {
  display: block;
  margin-top: 14px;
  font-family: var(--c-mono, ui-monospace, monospace);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-style: normal;
  opacity: 0.66;
}

/* Style: mono (mono font for the body) */
.couture-quote-bookend[data-quote-bookend-style="mono"] {
  font-family: var(--c-mono, ui-monospace, monospace);
  font-style: normal;
  font-size: 1.05rem;
  line-height: 1.6;
}

/* Style: sans */
.couture-quote-bookend[data-quote-bookend-style="sans"] {
  font-family: var(--c-body, system-ui, sans-serif);
  font-style: normal;
  font-weight: 500;
}

/* Tone variants */
.couture-quote-bookend[data-quote-bookend-tone="accent"]::before,
.couture-quote-bookend[data-quote-bookend-tone="accent"]::after {
  color: var(--c-accent, #c25a3a);
}
.couture-quote-bookend[data-quote-bookend-tone="mute"]::before,
.couture-quote-bookend[data-quote-bookend-tone="mute"]::after {
  color: color-mix(in oklab, var(--c-ink, #1a1815) 16%, transparent);
}

/* Mark variants */
.couture-quote-bookend[data-quote-bookend-mark="guillemet"]::before { content: "\00AB"; }
.couture-quote-bookend[data-quote-bookend-mark="guillemet"]::after  { content: "\00BB"; }

.couture-quote-bookend[data-quote-bookend-mark="low-high"]::before { content: "\201E"; top: -12px; }
.couture-quote-bookend[data-quote-bookend-mark="low-high"]::after  { content: "\201C"; bottom: auto; top: 0; right: 8px; }

.couture-quote-bookend[data-quote-bookend-mark="tall"]::before {
  content: "\2033"; /* double prime */
  font-size: 5rem;
  letter-spacing: -0.06em;
}
.couture-quote-bookend[data-quote-bookend-mark="tall"]::after {
  content: "\2033";
  font-size: 5rem;
  transform: rotate(180deg);
  transform-origin: center;
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-160 — Hand-drawn sketch arrow (.couture-sketch-arrow)
 *
 * Decorative wobbly hand-sketched arrow for pointing at things in heroes,
 * promo callouts, "look here" annotations. Uses inline SVG-data path with
 * a wavy curve and arrowhead. Useful for landing-page energy, doodle-style
 * brand annotations, conversion-arrow accents.
 *
 * Usage:
 *   <span class="couture-sketch-arrow" aria-hidden="true"></span>
 *
 * Variants via [data-sketch-arrow-style]: curl (default) | swoop | zigzag | loop
 * Direction via [data-sketch-arrow-dir]: right (default) | left | down | up
 * Tone via [data-sketch-arrow-tone]: ink (default) | accent | muted
 * Size via [data-sketch-arrow-size]: sm | md (default) | lg
 * 160-SHIP MILESTONE 🎉
 * -------------------------------------------------------------------------- */
.couture-sketch-arrow {
  display: inline-block;
  width: 80px;
  height: 60px;
  vertical-align: middle;
  --sa-color: var(--c-ink, #1a1815);
  background: var(--sa-color);
  /* Curl: gentle S-curve with arrowhead */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,15 Q20,5 35,20 T65,30'/><path d='M58,22 L66,30 L58,38'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,15 Q20,5 35,20 T65,30'/><path d='M58,22 L66,30 L58,38'/></svg>") no-repeat center / contain;
}

/* Style: swoop (deeper arc) */
.couture-sketch-arrow[data-sketch-arrow-style="swoop"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,12 Q40,55 70,32'/><path d='M62,26 L70,32 L65,40'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,12 Q40,55 70,32'/><path d='M62,26 L70,32 L65,40'/></svg>") no-repeat center / contain;
}

/* Style: zigzag (lightning-bolt-ish wavy) */
.couture-sketch-arrow[data-sketch-arrow-style="zigzag"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,30 L18,18 L30,38 L42,18 L54,38 L66,28'/><path d='M58,22 L66,28 L60,36'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,30 L18,18 L30,38 L42,18 L54,38 L66,28'/><path d='M58,22 L66,28 L60,36'/></svg>") no-repeat center / contain;
}

/* Style: loop (with a small loop in the middle) */
.couture-sketch-arrow[data-sketch-arrow-style="loop"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,30 Q15,10 30,20 Q45,30 35,40 Q25,45 35,30 Q45,15 65,30'/><path d='M58,22 L66,30 L58,38'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M5,30 Q15,10 30,20 Q45,30 35,40 Q25,45 35,30 Q45,15 65,30'/><path d='M58,22 L66,30 L58,38'/></svg>") no-repeat center / contain;
}

/* Direction variants */
.couture-sketch-arrow[data-sketch-arrow-dir="left"]  { transform: scaleX(-1); }
.couture-sketch-arrow[data-sketch-arrow-dir="up"]    { transform: rotate(-90deg); }
.couture-sketch-arrow[data-sketch-arrow-dir="down"]  { transform: rotate(90deg); }

/* Tone variants */
.couture-sketch-arrow[data-sketch-arrow-tone="accent"] { --sa-color: var(--c-accent, #c25a3a); background: var(--sa-color); }
.couture-sketch-arrow[data-sketch-arrow-tone="muted"]  { --sa-color: color-mix(in oklab, var(--c-ink, #1a1815) 36%, transparent); background: var(--sa-color); }

/* Sizes */
.couture-sketch-arrow[data-sketch-arrow-size="sm"] { width: 50px; height: 38px; }
.couture-sketch-arrow[data-sketch-arrow-size="lg"] { width: 120px; height: 90px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-161 — Maritime anchor mark (.couture-anchor-mark)
 *
 * Decorative ship's anchor icon for nautical, voyage, "anchor your day"
 * brand pages. Pure CSS via SVG-mask. Useful for harbor / coastal /
 * heritage brand decorative accents, "moored" callouts, footer marks.
 *
 * Usage:
 *   <span class="couture-anchor-mark" role="img" aria-label="Anchor"></span>
 *
 * Variants via [data-anchor-mark-style]: classic (default) | rope | minimal
 * Tone via [data-anchor-mark-tone]: ink (default) | accent | navy | gold
 * Size via [data-anchor-mark-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-anchor-mark {
  display: inline-block;
  width: 36px;
  height: 36px;
  vertical-align: middle;
  --am-color: var(--c-ink, #1a1815);
  background: var(--am-color);
  /* Classic anchor: round top + vertical shaft + curved arms + crossbar */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='18' cy='6' r='2.5'/><line x1='18' y1='8.5' x2='18' y2='30'/><line x1='12' y1='12' x2='24' y2='12'/><path d='M6,22 Q6,30 18,30 Q30,30 30,22'/><polyline points='6,22 3,19 7,18'/><polyline points='30,22 33,19 29,18'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='18' cy='6' r='2.5'/><line x1='18' y1='8.5' x2='18' y2='30'/><line x1='12' y1='12' x2='24' y2='12'/><path d='M6,22 Q6,30 18,30 Q30,30 30,22'/><polyline points='6,22 3,19 7,18'/><polyline points='30,22 33,19 29,18'/></svg>") no-repeat center / contain;
}

/* Style: rope (extra coiled rope around the ring) */
.couture-anchor-mark[data-anchor-mark-style="rope"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='18' cy='6' r='3'/><circle cx='18' cy='6' r='1' fill='black'/><line x1='18' y1='9' x2='18' y2='30'/><line x1='12' y1='13' x2='24' y2='13'/><path d='M6,22 Q6,30 18,30 Q30,30 30,22'/><polyline points='6,22 3,19 7,18'/><polyline points='30,22 33,19 29,18'/><path d='M14,4 Q11,3 13,2 Q16,1 14,3' stroke-dasharray='1,1.5'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='18' cy='6' r='3'/><circle cx='18' cy='6' r='1' fill='black'/><line x1='18' y1='9' x2='18' y2='30'/><line x1='12' y1='13' x2='24' y2='13'/><path d='M6,22 Q6,30 18,30 Q30,30 30,22'/><polyline points='6,22 3,19 7,18'/><polyline points='30,22 33,19 29,18'/><path d='M14,4 Q11,3 13,2 Q16,1 14,3' stroke-dasharray='1,1.5'/></svg>") no-repeat center / contain;
}

/* Style: minimal (no flukes, just simplified silhouette) */
.couture-anchor-mark[data-anchor-mark-style="minimal"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><circle cx='18' cy='8' r='3'/><line x1='18' y1='11' x2='18' y2='28'/><line x1='13' y1='14' x2='23' y2='14'/><path d='M9,22 Q9,28 18,28 Q27,28 27,22'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><circle cx='18' cy='8' r='3'/><line x1='18' y1='11' x2='18' y2='28'/><line x1='13' y1='14' x2='23' y2='14'/><path d='M9,22 Q9,28 18,28 Q27,28 27,22'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-anchor-mark[data-anchor-mark-tone="accent"] { --am-color: var(--c-accent, #c25a3a); background: var(--am-color); }
.couture-anchor-mark[data-anchor-mark-tone="navy"]   { --am-color: #1f3a5f; background: var(--am-color); }
.couture-anchor-mark[data-anchor-mark-tone="gold"]   { --am-color: #c19c2f; background: var(--am-color); }

/* Sizes */
.couture-anchor-mark[data-anchor-mark-size="sm"] { width: 22px; height: 22px; }
.couture-anchor-mark[data-anchor-mark-size="lg"] { width: 56px; height: 56px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-162 — Paper airplane glide (.couture-paper-plane)
 *
 * Decorative folded paper-airplane mark with optional motion-trail dashed
 * arc behind it (suggesting flight path). Useful for "send"/"submit" buttons
 * affordances, contact-form heroes, newsletter-signup decoration, message-
 * sent confirmation states. .is-flying triggers a glide animation across the
 * container.
 *
 * Usage:
 *   <span class="couture-paper-plane" role="img" aria-label="Send"></span>
 *
 *   <span class="couture-paper-plane is-flying"></span>
 *
 * Variants via [data-plane-style]: classic (default) | trail | dart
 * Tone via [data-plane-tone]: ink (default) | accent | sky | paper-on-dark
 * Size via [data-plane-size]: sm | md (default) | lg
 * Tilt via [data-plane-tilt]: up (default) | flat | down
 * -------------------------------------------------------------------------- */
.couture-paper-plane {
  display: inline-block;
  width: 36px;
  height: 36px;
  vertical-align: middle;
  position: relative;
  --pp-color: var(--c-ink, #1a1815);
  background: var(--pp-color);
  /* Classic folded airplane silhouette via SVG path */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M2,18 L34,4 L22,32 L18,22 L8,18 Z'/><path fill='none' stroke='white' stroke-width='1' d='M2,18 L18,22 L22,32'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M2,18 L34,4 L22,32 L18,22 L8,18 Z'/><path fill='none' stroke='white' stroke-width='1' d='M2,18 L18,22 L22,32'/></svg>") no-repeat center / contain;
  transform: rotate(-12deg);
}

/* Style: trail (adds dashed arc trail behind plane via ::before) */
.couture-paper-plane[data-plane-style="trail"] {
  width: 64px;
  height: 36px;
  background: transparent;
  -webkit-mask: none;
  mask: none;
  transform: none;
}
.couture-paper-plane[data-plane-style="trail"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 70%;
  height: 2px;
  border-top: 1.5px dashed color-mix(in oklab, var(--pp-color) 50%, transparent);
  border-radius: 50%;
  transform: translateY(-50%) rotate(-8deg);
  transform-origin: right center;
}
.couture-paper-plane[data-plane-style="trail"]::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 36px;
  height: 36px;
  background: var(--pp-color);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M2,18 L34,4 L22,32 L18,22 L8,18 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M2,18 L34,4 L22,32 L18,22 L8,18 Z'/></svg>") no-repeat center / contain;
  transform: translateY(-50%) rotate(-12deg);
}

/* Style: dart (sharper, more aerodynamic shape) */
.couture-paper-plane[data-plane-style="dart"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M0,18 L36,2 L24,34 L20,20 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M0,18 L36,2 L24,34 L20,20 Z'/></svg>") no-repeat center / contain;
}

/* Tilt variants */
.couture-paper-plane[data-plane-tilt="flat"] { transform: rotate(0); }
.couture-paper-plane[data-plane-tilt="down"] { transform: rotate(12deg); }

/* Tone variants */
.couture-paper-plane[data-plane-tone="accent"] { --pp-color: var(--c-accent, #c25a3a); background: var(--pp-color); }
.couture-paper-plane[data-plane-tone="sky"]    { --pp-color: #4aa6c4; background: var(--pp-color); }
.couture-paper-plane[data-plane-tone="paper-on-dark"] { --pp-color: var(--c-paper, #faf7f2); background: var(--pp-color); }
.couture-paper-plane[data-plane-tone="accent"][data-plane-style="trail"],
.couture-paper-plane[data-plane-tone="sky"][data-plane-style="trail"],
.couture-paper-plane[data-plane-tone="paper-on-dark"][data-plane-style="trail"] {
  background: transparent;
}
.couture-paper-plane[data-plane-tone="accent"][data-plane-style="trail"]::after,
.couture-paper-plane[data-plane-tone="sky"][data-plane-style="trail"]::after,
.couture-paper-plane[data-plane-tone="paper-on-dark"][data-plane-style="trail"]::after {
  background: var(--pp-color);
}

/* Sizes */
.couture-paper-plane[data-plane-size="sm"] { width: 22px; height: 22px; }
.couture-paper-plane[data-plane-size="sm"][data-plane-style="trail"] { width: 40px; height: 22px; }
.couture-paper-plane[data-plane-size="sm"][data-plane-style="trail"]::after { width: 22px; height: 22px; }

.couture-paper-plane[data-plane-size="lg"] { width: 56px; height: 56px; }
.couture-paper-plane[data-plane-size="lg"][data-plane-style="trail"] { width: 100px; height: 56px; }
.couture-paper-plane[data-plane-size="lg"][data-plane-style="trail"]::after { width: 56px; height: 56px; }

/* Glide animation */
.couture-paper-plane.is-flying {
  animation: couture-pp-glide 2.4s ease-in-out infinite;
}
@keyframes couture-pp-glide {
  0%, 100% { transform: rotate(-12deg) translate(0, 0); }
  25%      { transform: rotate(-15deg) translate(8px, -6px); }
  50%      { transform: rotate(-12deg) translate(16px, 0); }
  75%      { transform: rotate(-9deg)  translate(8px, 4px); }
}

@media (prefers-reduced-motion: reduce) {
  .couture-paper-plane.is-flying {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-163 — Lighthouse with sweeping beacon (.couture-lighthouse)
 *
 * Pure-CSS lighthouse silhouette with optional rotating beacon-light cone
 * sweeping the page on .is-shining. Useful for coastal/maritime/heritage
 * brand pages, "find us"/landmark callouts, decorative footer marks, "we're
 * the lighthouse for X" metaphor accents.
 *
 * Usage:
 *   <div class="couture-lighthouse is-shining" role="img" aria-label="Lighthouse">
 *     <span class="cli-beam" aria-hidden="true"></span>
 *   </div>
 *
 * Variants via [data-lighthouse-style]: classic (default) | minimal | striped
 * Tone via [data-lighthouse-tone]: ink (default) | accent | navy
 * Size via [data-lighthouse-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-lighthouse {
  display: inline-block;
  position: relative;
  width: 60px;
  height: 100px;
  vertical-align: middle;
  --lh-color: var(--c-ink, #1a1815);
  --lh-beam:  var(--c-accent, #c25a3a);
}
/* Tower body: tapered trapezoid (clip-path) */
.couture-lighthouse::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 64px;
  background: var(--lh-color);
  clip-path: polygon(28% 0, 72% 0, 100% 100%, 0 100%);
}
/* Lamp room (top cap): square with peaked roof via gradient */
.couture-lighthouse::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 22px;
  background:
    linear-gradient(135deg, transparent 50%, var(--lh-color) 50%) 0 0 / 50% 8px no-repeat,
    linear-gradient(45deg,  transparent 50%, var(--lh-color) 50%) 100% 0 / 50% 8px no-repeat,
    var(--lh-color) 0 8px / 100% 14px no-repeat;
  /* Simpler approach: cap with rounded top via border-radius 50% on top corners */
  background: var(--lh-color);
  border-radius: 50% 50% 4px 4px / 60% 60% 4px 4px;
}
/* Lamp light dot (tiny bright spot inside the lamp room) */
.couture-lighthouse .cli-lamp {
  position: absolute;
  top: 11px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lh-beam);
  z-index: 2;
  box-shadow: 0 0 6px var(--lh-beam);
}

/* The sweeping beam — wide cone of light from the lamp */
.couture-lighthouse .cli-beam {
  position: absolute;
  top: 14px;
  left: 50%;
  width: 90px;
  height: 10px;
  margin-left: -2px;
  background: linear-gradient(
    to right,
    color-mix(in oklab, var(--lh-beam) 50%, transparent) 0%,
    color-mix(in oklab, var(--lh-beam) 18%, transparent) 50%,
    transparent 100%
  );
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  transform-origin: 0 50%;
  transform: rotate(-30deg);
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 200ms ease;
}
.couture-lighthouse.is-shining .cli-beam {
  opacity: 1;
  animation: couture-li-sweep 4s linear infinite;
}
@keyframes couture-li-sweep {
  0%   { transform: rotate(-60deg); }
  50%  { transform: rotate(60deg); }
  100% { transform: rotate(-60deg); }
}

/* Style: striped (red-and-white horizontal stripes on tower) */
.couture-lighthouse[data-lighthouse-style="striped"]::before {
  background: repeating-linear-gradient(
    to bottom,
    var(--lh-color) 0 12px,
    color-mix(in oklab, var(--c-paper, #faf7f2) 86%, var(--lh-color) 14%) 12px 22px
  );
}

/* Style: minimal (no roof cap, just tower + dot) */
.couture-lighthouse[data-lighthouse-style="minimal"]::after {
  width: 14px;
  height: 8px;
  border-radius: 4px;
}

/* Tone variants */
.couture-lighthouse[data-lighthouse-tone="accent"] { --lh-color: var(--c-accent, #c25a3a); --lh-beam: var(--c-paper, #faf7f2); }
.couture-lighthouse[data-lighthouse-tone="navy"]   { --lh-color: #1f3a5f; --lh-beam: #f0d96a; }

/* Sizes */
.couture-lighthouse[data-lighthouse-size="sm"] { width: 40px; height: 70px; }
.couture-lighthouse[data-lighthouse-size="sm"]::before { width: 24px; height: 44px; }
.couture-lighthouse[data-lighthouse-size="sm"]::after { width: 12px; height: 16px; top: 3px; }
.couture-lighthouse[data-lighthouse-size="sm"] .cli-lamp { top: 8px; width: 4px; height: 4px; }
.couture-lighthouse[data-lighthouse-size="sm"] .cli-beam { width: 60px; height: 7px; top: 10px; }

.couture-lighthouse[data-lighthouse-size="lg"] { width: 90px; height: 150px; }
.couture-lighthouse[data-lighthouse-size="lg"]::before { width: 56px; height: 96px; }
.couture-lighthouse[data-lighthouse-size="lg"]::after { width: 28px; height: 32px; top: 6px; }
.couture-lighthouse[data-lighthouse-size="lg"] .cli-lamp { top: 16px; width: 9px; height: 9px; }
.couture-lighthouse[data-lighthouse-size="lg"] .cli-beam { width: 140px; height: 14px; top: 20px; }

@media (prefers-reduced-motion: reduce) {
  .couture-lighthouse.is-shining .cli-beam {
    animation: none;
    transform: rotate(0deg);
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-164 — Feather quill mark (.couture-quill)
 *
 * Slanted feather quill pen via SVG-mask. Useful for editorial / literary /
 * journal / wedding-invitation brand pages, "signed by" attribution
 * decoration, by-line marks, blog-post leading flourishes.
 *
 * Usage:
 *   <span class="couture-quill" role="img" aria-label="Quill"></span>
 *
 * Variants via [data-quill-style]: classic (default) | dipped | calligraphy
 * Tone via [data-quill-tone]: ink (default) | accent | sepia | gold
 * Size via [data-quill-size]: sm | md (default) | lg
 * Tilt via [data-quill-tilt]: right (default) | left | up
 * -------------------------------------------------------------------------- */
.couture-quill {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  --qu-color: var(--c-ink, #1a1815);
  background: var(--qu-color);
  /* Classic feather: slanted plume with central shaft + barbs */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6,34 L34,6 M30,8 Q22,12 18,20 Q14,28 10,32 Z' fill='black'/><path d='M22,12 L26,12 M20,16 L24,16 M18,20 L22,20 M16,24 L20,24 M14,28 L18,28' stroke-width='1'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6,34 L34,6 M30,8 Q22,12 18,20 Q14,28 10,32 Z' fill='black'/><path d='M22,12 L26,12 M20,16 L24,16 M18,20 L22,20 M16,24 L20,24 M14,28 L18,28' stroke-width='1'/></svg>") no-repeat center / contain;
}

/* Style: dipped (with ink drop at the tip) */
.couture-quill[data-quill-style="dipped"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M30,8 Q22,12 18,20 Q14,28 10,32 L6,36 Z' fill='black'/><circle cx='5' cy='37' r='2.5' fill='black'/><path d='M22,12 L26,12 M20,16 L24,16 M18,20 L22,20 M16,24 L20,24' stroke-width='1'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M30,8 Q22,12 18,20 Q14,28 10,32 L6,36 Z' fill='black'/><circle cx='5' cy='37' r='2.5' fill='black'/><path d='M22,12 L26,12 M20,16 L24,16 M18,20 L22,20 M16,24 L20,24' stroke-width='1'/></svg>") no-repeat center / contain;
}

/* Style: calligraphy (broader nib, no barbs visible) */
.couture-quill[data-quill-style="calligraphy"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M30,6 Q24,10 20,18 Q16,26 8,34 L4,36' fill='black'/><path d='M28,10 Q26,12 24,16 L8,32 L4,36 L7,34 L26,16 Q28,12 28,10 Z' fill='black' stroke='none'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M30,6 Q24,10 20,18 Q16,26 8,34 L4,36' fill='black'/><path d='M28,10 Q26,12 24,16 L8,32 L4,36 L7,34 L26,16 Q28,12 28,10 Z' fill='black' stroke='none'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-quill[data-quill-tone="accent"] { --qu-color: var(--c-accent, #c25a3a); background: var(--qu-color); }
.couture-quill[data-quill-tone="sepia"]  { --qu-color: #6b4423; background: var(--qu-color); }
.couture-quill[data-quill-tone="gold"]   { --qu-color: #c19c2f; background: var(--qu-color); }

/* Sizes */
.couture-quill[data-quill-size="sm"] { width: 24px; height: 24px; }
.couture-quill[data-quill-size="lg"] { width: 64px; height: 64px; }

/* Tilt variants */
.couture-quill[data-quill-tilt="left"] { transform: scaleX(-1); }
.couture-quill[data-quill-tilt="up"]   { transform: rotate(-25deg); }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-165 — Globe with orbits (.couture-globe-orbit)
 *
 * Decorative globe (longitude/latitude grid) with two diagonal orbital rings
 * crossing it. Useful for "global"/"international"/"worldwide ships from"
 * brand callouts, science/tech brand pages, footer geo decoration. Optional
 * .is-orbiting animates the rings rotating.
 *
 * Usage:
 *   <div class="couture-globe-orbit is-orbiting" role="img" aria-label="Globe">
 *     <span class="cgo-ring"></span>
 *     <span class="cgo-ring cgo-ring-2"></span>
 *   </div>
 *
 * Variants via [data-globe-orbit-style]: classic (default) | minimal | dotted
 * Tone via [data-globe-orbit-tone]: ink (default) | accent | navy
 * Size via [data-globe-orbit-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-globe-orbit {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
  vertical-align: middle;
  --go-color: var(--c-ink, #1a1815);
}
/* The globe (sphere with grid lines) */
.couture-globe-orbit::before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  border: 1.5px solid var(--go-color);
  background:
    /* equator */
    linear-gradient(to bottom, transparent calc(50% - 0.75px), var(--go-color) calc(50% - 0.75px), var(--go-color) calc(50% + 0.75px), transparent calc(50% + 0.75px)),
    /* meridian */
    linear-gradient(to right, transparent calc(50% - 0.75px), var(--go-color) calc(50% - 0.75px), var(--go-color) calc(50% + 0.75px), transparent calc(50% + 0.75px));
}
/* Latitude lines (faint horizontal arcs) — drawn via repeating gradient */
.couture-globe-orbit::after {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background:
    linear-gradient(to bottom,
      transparent 30%,
      color-mix(in oklab, var(--go-color) 36%, transparent) 30%,
      color-mix(in oklab, var(--go-color) 36%, transparent) 31%,
      transparent 31%,
      transparent 70%,
      color-mix(in oklab, var(--go-color) 36%, transparent) 70%,
      color-mix(in oklab, var(--go-color) 36%, transparent) 71%,
      transparent 71%
    );
  pointer-events: none;
  -webkit-mask: radial-gradient(circle, #000 99%, transparent 100%);
          mask: radial-gradient(circle, #000 99%, transparent 100%);
}

/* Orbital rings (slim ellipses tilted around the globe) */
.couture-globe-orbit .cgo-ring {
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1.5px solid color-mix(in oklab, var(--go-color) 60%, transparent);
  transform: rotateZ(20deg) scaleY(0.36);
  pointer-events: none;
}
.couture-globe-orbit .cgo-ring.cgo-ring-2 {
  transform: rotateZ(-25deg) scaleY(0.42);
  border-color: color-mix(in oklab, var(--go-color) 40%, transparent);
}
.couture-globe-orbit.is-orbiting .cgo-ring {
  animation: couture-go-orbit 12s linear infinite;
  transform-origin: center;
}
.couture-globe-orbit.is-orbiting .cgo-ring.cgo-ring-2 {
  animation-duration: 18s;
  animation-direction: reverse;
}
@keyframes couture-go-orbit {
  to { transform: rotateZ(380deg) scaleY(0.36); }
}

/* Style: minimal (only globe outline + meridian, no equator/latitude) */
.couture-globe-orbit[data-globe-orbit-style="minimal"]::before {
  background:
    linear-gradient(to right, transparent calc(50% - 0.75px), var(--go-color) calc(50% - 0.75px), var(--go-color) calc(50% + 0.75px), transparent calc(50% + 0.75px));
}
.couture-globe-orbit[data-globe-orbit-style="minimal"]::after {
  display: none;
}

/* Style: dotted (rings are dotted instead of solid) */
.couture-globe-orbit[data-globe-orbit-style="dotted"] .cgo-ring {
  border-style: dotted;
  border-width: 2px;
}

/* Tone variants */
.couture-globe-orbit[data-globe-orbit-tone="accent"] { --go-color: var(--c-accent, #c25a3a); }
.couture-globe-orbit[data-globe-orbit-tone="navy"]   { --go-color: #1f3a5f; }

/* Sizes */
.couture-globe-orbit[data-globe-orbit-size="sm"] { width: 40px; height: 40px; }
.couture-globe-orbit[data-globe-orbit-size="sm"]::before,
.couture-globe-orbit[data-globe-orbit-size="sm"]::after { inset: 8px; }
.couture-globe-orbit[data-globe-orbit-size="sm"] .cgo-ring { inset: 2px; }

.couture-globe-orbit[data-globe-orbit-size="lg"] { width: 96px; height: 96px; }
.couture-globe-orbit[data-globe-orbit-size="lg"]::before,
.couture-globe-orbit[data-globe-orbit-size="lg"]::after { inset: 18px; }
.couture-globe-orbit[data-globe-orbit-size="lg"] .cgo-ring { inset: 6px; border-width: 2px; }

@media (prefers-reduced-motion: reduce) {
  .couture-globe-orbit.is-orbiting .cgo-ring,
  .couture-globe-orbit.is-orbiting .cgo-ring.cgo-ring-2 {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-166 — Honeycomb hex pattern (.couture-honeycomb)
 *
 * Decorative honeycomb pattern background. Repeating hexagonal tile via
 * conic-gradient + clip-path. Useful for honey/wellness/bee-themed brand
 * pages, parallax bg accents, "tightly knit community" decorative panels,
 * geometric brand marks. Apply as background to a section or wrap content.
 *
 * Usage:
 *   <div class="couture-honeycomb" style="height:240px;width:100%"></div>
 *
 *   <section style="position:relative">
 *     <div class="couture-honeycomb" style="position:absolute;inset:0;opacity:.18;pointer-events:none"></div>
 *     <div style="position:relative">Content...</div>
 *   </section>
 *
 * Variants via [data-honeycomb-style]: outline (default) | filled | dual
 * Tone via [data-honeycomb-tone]: ink (default) | accent | gold | mute
 * Density via [data-honeycomb-density]: dense (default) | medium | sparse
 * -------------------------------------------------------------------------- */
.couture-honeycomb {
  display: block;
  --hc-color: var(--c-ink, #1a1815);
  --hc-size: 32px;
  /* Hex outline pattern via SVG-mask data-URL */
  background:
    var(--hc-color)
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 49'><path d='M14,1 L42,1 L56,24.5 L42,48 L14,48 L0,24.5 Z' fill='none' stroke='%23000' stroke-width='1.6'/></svg>");
  background-size: var(--hc-size) calc(var(--hc-size) * 0.875);
  background-repeat: repeat;
  /* Mask the SVG fill to inherit --hc-color */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 49'><path d='M14,1 L42,1 L56,24.5 L42,48 L14,48 L0,24.5 Z' fill='none' stroke='black' stroke-width='1.6'/></svg>") repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 49'><path d='M14,1 L42,1 L56,24.5 L42,48 L14,48 L0,24.5 Z' fill='none' stroke='black' stroke-width='1.6'/></svg>") repeat;
  -webkit-mask-size: var(--hc-size) calc(var(--hc-size) * 0.875);
          mask-size: var(--hc-size) calc(var(--hc-size) * 0.875);
}

/* Style: filled (solid hex tiles, larger gap between) */
.couture-honeycomb[data-honeycomb-style="filled"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 49'><path d='M16,3 L40,3 L52,24.5 L40,46 L16,46 L4,24.5 Z' fill='black'/></svg>") repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 49'><path d='M16,3 L40,3 L52,24.5 L40,46 L16,46 L4,24.5 Z' fill='black'/></svg>") repeat;
}

/* Style: dual (outline + tiny center dot) */
.couture-honeycomb[data-honeycomb-style="dual"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 49'><path d='M14,1 L42,1 L56,24.5 L42,48 L14,48 L0,24.5 Z' fill='none' stroke='black' stroke-width='1.4'/><circle cx='28' cy='24.5' r='2.5' fill='black'/></svg>") repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 49'><path d='M14,1 L42,1 L56,24.5 L42,48 L14,48 L0,24.5 Z' fill='none' stroke='black' stroke-width='1.4'/><circle cx='28' cy='24.5' r='2.5' fill='black'/></svg>") repeat;
}

/* Tone variants */
.couture-honeycomb[data-honeycomb-tone="accent"] { --hc-color: var(--c-accent, #c25a3a); background-color: var(--hc-color); }
.couture-honeycomb[data-honeycomb-tone="gold"]   { --hc-color: #c19c2f; background-color: var(--hc-color); }
.couture-honeycomb[data-honeycomb-tone="mute"]   { --hc-color: color-mix(in oklab, var(--c-ink, #1a1815) 24%, transparent); background-color: var(--hc-color); }

/* Density variants */
.couture-honeycomb[data-honeycomb-density="medium"]  { --hc-size: 48px; }
.couture-honeycomb[data-honeycomb-density="sparse"]  { --hc-size: 72px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-167 — Star-trail dotted arc (.couture-star-trail)
 *
 * Decorative arc of fading dots ending in a 4-point sparkle, suggesting a
 * shooting star or comet trail. Pure CSS via radial-gradients spaced along
 * a curve. Useful for celestial / fortune / magical / "discover" brand
 * accents, hero ornaments, "new arrival" decorative marks.
 *
 * Usage:
 *   <span class="couture-star-trail" role="img" aria-label="Shooting star"></span>
 *
 * Variants via [data-star-trail-style]: arc (default) | straight | sparkle
 * Direction via [data-star-trail-dir]: right (default) | left | up | down
 * Tone via [data-star-trail-tone]: ink (default) | accent | gold | silver
 * Size via [data-star-trail-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-star-trail {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 24px;
  vertical-align: middle;
  --st-color: var(--c-ink, #1a1815);
}
/* The arcing dot trail — 6 dots of decreasing size, fading toward the start */
.couture-star-trail::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 56px;
  height: 24px;
  background:
    radial-gradient(circle 1.5px at 5%  80%, color-mix(in oklab, var(--st-color) 25%, transparent) 99%, transparent 100%),
    radial-gradient(circle 1.8px at 18% 60%, color-mix(in oklab, var(--st-color) 40%, transparent) 99%, transparent 100%),
    radial-gradient(circle 2px   at 32% 45%, color-mix(in oklab, var(--st-color) 55%, transparent) 99%, transparent 100%),
    radial-gradient(circle 2.4px at 50% 35%, color-mix(in oklab, var(--st-color) 70%, transparent) 99%, transparent 100%),
    radial-gradient(circle 2.8px at 70% 28%, color-mix(in oklab, var(--st-color) 85%, transparent) 99%, transparent 100%),
    radial-gradient(circle 3px   at 92% 22%, var(--st-color) 99%, transparent 100%);
  transform: translateY(-50%);
  pointer-events: none;
}
/* The 4-point sparkle at the end of the trail */
.couture-star-trail::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 8%;
  width: 14px;
  height: 14px;
  background:
    /* horizontal beam */
    linear-gradient(to right, transparent 0%, var(--st-color) 50%, transparent 100%) center / 100% 1.5px no-repeat,
    /* vertical beam */
    linear-gradient(to bottom, transparent 0%, var(--st-color) 50%, transparent 100%) center / 1.5px 100% no-repeat;
}

/* Style: straight (no curve, dots in a line) */
.couture-star-trail[data-star-trail-style="straight"]::before {
  background:
    radial-gradient(circle 1.5px at 5%  50%, color-mix(in oklab, var(--st-color) 25%, transparent) 99%, transparent 100%),
    radial-gradient(circle 1.8px at 18% 50%, color-mix(in oklab, var(--st-color) 40%, transparent) 99%, transparent 100%),
    radial-gradient(circle 2px   at 32% 50%, color-mix(in oklab, var(--st-color) 55%, transparent) 99%, transparent 100%),
    radial-gradient(circle 2.4px at 50% 50%, color-mix(in oklab, var(--st-color) 70%, transparent) 99%, transparent 100%),
    radial-gradient(circle 2.8px at 70% 50%, color-mix(in oklab, var(--st-color) 85%, transparent) 99%, transparent 100%),
    radial-gradient(circle 3px   at 92% 50%, var(--st-color) 99%, transparent 100%);
}
.couture-star-trail[data-star-trail-style="straight"]::after {
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

/* Style: sparkle (cluster of 3 small sparkles instead of trail+sparkle) */
.couture-star-trail[data-star-trail-style="sparkle"]::before {
  background:
    radial-gradient(circle 2px at 22% 30%, var(--st-color) 99%, transparent 100%),
    radial-gradient(circle 1.5px at 60% 70%, color-mix(in oklab, var(--st-color) 60%, transparent) 99%, transparent 100%);
}
.couture-star-trail[data-star-trail-style="sparkle"]::after {
  width: 18px;
  height: 18px;
  right: 6px;
  top: 20%;
}

/* Direction variants */
.couture-star-trail[data-star-trail-dir="left"] { transform: scaleX(-1); }
.couture-star-trail[data-star-trail-dir="up"]   { transform: rotate(-90deg); }
.couture-star-trail[data-star-trail-dir="down"] { transform: rotate(90deg); }

/* Tone variants */
.couture-star-trail[data-star-trail-tone="accent"] { --st-color: var(--c-accent, #c25a3a); }
.couture-star-trail[data-star-trail-tone="gold"]   { --st-color: #c19c2f; }
.couture-star-trail[data-star-trail-tone="silver"] { --st-color: #9ba0a6; }

/* Sizes */
.couture-star-trail[data-star-trail-size="sm"] { width: 50px; height: 16px; }
.couture-star-trail[data-star-trail-size="sm"]::before { width: 36px; height: 16px; }
.couture-star-trail[data-star-trail-size="sm"]::after { width: 9px; height: 9px; right: 3px; }

.couture-star-trail[data-star-trail-size="lg"] { width: 130px; height: 36px; }
.couture-star-trail[data-star-trail-size="lg"]::before { width: 92px; height: 36px; }
.couture-star-trail[data-star-trail-size="lg"]::after { width: 22px; height: 22px; right: 6px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-168 — Veined leaf mark (.couture-leaf-mark)
 *
 * Decorative leaf shape with central vein + lateral veins. Pure CSS via
 * SVG-mask. Useful for botanical / wellness / organic / herbal brand pages,
 * footer eco accents, "natural ingredients" callouts, garden brand marks.
 *
 * Usage:
 *   <span class="couture-leaf-mark" role="img" aria-label="Leaf"></span>
 *
 * Variants via [data-leaf-mark-style]: classic (default) | round | needle
 * Tone via [data-leaf-mark-tone]: ink (default) | sage | accent | sap
 * Size via [data-leaf-mark-size]: sm | md (default) | lg
 * Tilt via [data-leaf-mark-tilt]: right (default) | left | up | down
 * -------------------------------------------------------------------------- */
.couture-leaf-mark {
  display: inline-block;
  width: 36px;
  height: 36px;
  vertical-align: middle;
  --lm-color: var(--c-ink, #1a1815);
  background: var(--lm-color);
  /* Classic teardrop leaf with central + lateral veins */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M6,30 Q4,18 12,8 Q24,0 30,6 Q34,18 24,28 Q14,34 6,30 Z' fill='black'/><path d='M8,28 Q18,20 30,8' stroke='white' stroke-width='1.4'/><path d='M12,24 Q16,22 20,18 M16,22 Q20,18 24,16 M20,18 Q24,16 28,12' stroke='white' stroke-width='0.8'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M6,30 Q4,18 12,8 Q24,0 30,6 Q34,18 24,28 Q14,34 6,30 Z' fill='black'/><path d='M8,28 Q18,20 30,8' stroke='white' stroke-width='1.4'/><path d='M12,24 Q16,22 20,18 M16,22 Q20,18 24,16 M20,18 Q24,16 28,12' stroke='white' stroke-width='0.8'/></svg>") no-repeat center / contain;
}

/* Style: round (broad rounded leaf — like a magnolia or lily-pad) */
.couture-leaf-mark[data-leaf-mark-style="round"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M18,4 Q32,4 32,18 Q32,32 18,32 Q4,32 4,18 Q4,4 18,4 Z'/><path d='M18,4 L18,32' stroke='white' stroke-width='1.4' fill='none'/><path d='M14,8 L22,8 M12,14 L24,14 M12,22 L24,22 M14,28 L22,28' stroke='white' stroke-width='0.8' fill='none'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M18,4 Q32,4 32,18 Q32,32 18,32 Q4,32 4,18 Q4,4 18,4 Z'/><path d='M18,4 L18,32' stroke='white' stroke-width='1.4' fill='none'/><path d='M14,8 L22,8 M12,14 L24,14 M12,22 L24,22 M14,28 L22,28' stroke='white' stroke-width='0.8' fill='none'/></svg>") no-repeat center / contain;
}

/* Style: needle (slim conifer needle / sage leaf) */
.couture-leaf-mark[data-leaf-mark-style="needle"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M6,32 Q14,20 18,4 Q22,20 30,32 Q22,30 18,30 Q14,30 6,32 Z'/><path d='M18,6 L18,30' stroke='white' stroke-width='1' fill='none'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='black'><path d='M6,32 Q14,20 18,4 Q22,20 30,32 Q22,30 18,30 Q14,30 6,32 Z'/><path d='M18,6 L18,30' stroke='white' stroke-width='1' fill='none'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-leaf-mark[data-leaf-mark-tone="sage"]   { --lm-color: #6b8e60; background: var(--lm-color); }
.couture-leaf-mark[data-leaf-mark-tone="accent"] { --lm-color: var(--c-accent, #c25a3a); background: var(--lm-color); }
.couture-leaf-mark[data-leaf-mark-tone="sap"]    { --lm-color: #355c2e; background: var(--lm-color); }

/* Sizes */
.couture-leaf-mark[data-leaf-mark-size="sm"] { width: 22px; height: 22px; }
.couture-leaf-mark[data-leaf-mark-size="lg"] { width: 56px; height: 56px; }

/* Tilt variants */
.couture-leaf-mark[data-leaf-mark-tilt="left"] { transform: scaleX(-1); }
.couture-leaf-mark[data-leaf-mark-tilt="up"]   { transform: rotate(-90deg); }
.couture-leaf-mark[data-leaf-mark-tilt="down"] { transform: rotate(90deg); }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-169 — Camera flash burst (.couture-flash-burst)
 *
 * Center bright dot surrounded by alternating short/long rays — a stylized
 * camera-flash starburst, distinct from .couture-sunburst (which is a wide
 * radial sun) and .couture-aperture (which is the iris). Useful for
 * "captured", photo-spotlight, "as seen on" callouts, "freshly shot"
 * decorative accents on photographer/lookbook sites. Optional .is-flashing
 * triggers a brief brightness pulse.
 *
 * Usage:
 *   <span class="couture-flash-burst is-flashing"
 *         role="img" aria-label="Camera flash"></span>
 *
 * Variants via [data-flash-burst-style]: classic (default) | thin | thick
 * Tone via [data-flash-burst-tone]: ink (default) | accent | gold | white
 * Size via [data-flash-burst-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-flash-burst {
  display: inline-block;
  position: relative;
  width: 48px;
  height: 48px;
  vertical-align: middle;
  --fb-color: var(--c-ink, #1a1815);
}
/* Center bright dot */
.couture-flash-burst::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  background: var(--fb-color);
  z-index: 2;
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--fb-color) 30%, transparent);
}
/* Burst rays via repeating-conic-gradient — alternating wedges */
.couture-flash-burst::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-conic-gradient(
      from 0deg,
      var(--fb-color) 0deg 3deg,
      transparent 3deg 30deg
    );
  -webkit-mask: radial-gradient(circle, transparent 18%, #000 19% 70%, transparent 71%);
          mask: radial-gradient(circle, transparent 18%, #000 19% 70%, transparent 71%);
  z-index: 1;
  pointer-events: none;
}

/* Style: thin (narrower rays, more of them) */
.couture-flash-burst[data-flash-burst-style="thin"]::after {
  background: repeating-conic-gradient(
    from 0deg,
    var(--fb-color) 0deg 1.5deg,
    transparent 1.5deg 22.5deg
  );
}

/* Style: thick (chunkier wedges) */
.couture-flash-burst[data-flash-burst-style="thick"]::after {
  background: repeating-conic-gradient(
    from 0deg,
    var(--fb-color) 0deg 8deg,
    transparent 8deg 45deg
  );
}

/* Tone variants */
.couture-flash-burst[data-flash-burst-tone="accent"] { --fb-color: var(--c-accent, #c25a3a); }
.couture-flash-burst[data-flash-burst-tone="gold"]   { --fb-color: #c19c2f; }
.couture-flash-burst[data-flash-burst-tone="white"]  { --fb-color: #ffffff; }

/* Sizes */
.couture-flash-burst[data-flash-burst-size="sm"] { width: 28px; height: 28px; }
.couture-flash-burst[data-flash-burst-size="sm"]::before { width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; }

.couture-flash-burst[data-flash-burst-size="lg"] { width: 80px; height: 80px; }
.couture-flash-burst[data-flash-burst-size="lg"]::before { width: 20px; height: 20px; margin: -10px 0 0 -10px; }

/* Flashing animation: brightness pulse */
.couture-flash-burst.is-flashing::before {
  animation: couture-fb-flash 1.6s ease-in-out infinite;
}
.couture-flash-burst.is-flashing::after {
  animation: couture-fb-rays 1.6s ease-in-out infinite;
}
@keyframes couture-fb-flash {
  0%, 100% { transform: scale(1);   opacity: 1; }
  10%      { transform: scale(1.4); opacity: 1; box-shadow: 0 0 12px var(--fb-color), 0 0 0 6px color-mix(in oklab, var(--fb-color) 40%, transparent); }
  20%      { transform: scale(1);   opacity: 1; }
}
@keyframes couture-fb-rays {
  0%, 100% { opacity: 0.6; }
  10%      { opacity: 1;   transform: scale(1.05); }
  20%      { opacity: 0.6; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .couture-flash-burst.is-flashing::before,
  .couture-flash-burst.is-flashing::after {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-170 — Slider track decorative (.couture-slider-track)
 *
 * Pure-CSS horizontal slider with a filled-progress segment + handle knob.
 * Useful for "intensity"/"mild→bold" scale displays, audio mix decoration,
 * "dial in your preference" callouts, settings-mock decorative accents.
 * Driven by --pos (0..1).
 *
 * Usage:
 *   <span class="couture-slider-track" style="--pos: 0.65"
 *         role="img" aria-label="65%"></span>
 *
 *   <div class="couture-slider-track" style="--pos: 0.4">
 *     <span class="cst-label-l">Mild</span>
 *     <span class="cst-label-r">Bold</span>
 *   </div>
 *
 * Variants via [data-slider-track-style]: line (default) | thick | dotted
 * Tone via [data-slider-track-tone]: ink (default) | accent | gradient
 * Size via [data-slider-track-size]: sm | md (default) | lg
 * 170-SHIP MILESTONE 🎉
 * -------------------------------------------------------------------------- */
.couture-slider-track {
  --pos: 0.5;
  --st-color: var(--c-ink, #1a1815);
  display: inline-block;
  position: relative;
  width: 200px;
  height: 24px;
  vertical-align: middle;
  font-family: var(--c-mono, ui-monospace, monospace);
}
/* The track rail (full background) */
.couture-slider-track::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  margin-top: -2px;
  background: color-mix(in oklab, var(--st-color) 18%, transparent);
  border-radius: 999px;
}
/* The filled progress portion + handle knob */
.couture-slider-track::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(var(--pos) * 100%);
  height: 4px;
  margin-top: -2px;
  background: var(--st-color);
  border-radius: 999px;
  /* Handle: extra circle pinned at the right edge of the fill via box-shadow trick */
  box-shadow:
    calc(var(--pos) * 0% + 6px) 0 0 -1px var(--st-color),
    /* fallback */ none;
}
/* The handle knob (separate child) — styled via background. We use ::after's
   positioning and add a marker via pseudo-positioned child. Simpler: use a
   custom .cst-knob slot for explicit control, and provide a pure-pseudo
   handle via gradient too. */
.couture-slider-track > .cst-knob {
  position: absolute;
  top: 50%;
  left: calc(var(--pos) * 100%);
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border-radius: 50%;
  background: var(--c-paper, #faf7f2);
  border: 2px solid var(--st-color);
  box-shadow: 0 1px 4px color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent);
  z-index: 2;
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.couture-slider-track:hover > .cst-knob {
  transform: scale(1.2);
  box-shadow: 0 2px 8px color-mix(in oklab, var(--c-ink, #1a1815) 32%, transparent);
}

/* Labels (optional, pinned to ends) */
.couture-slider-track .cst-label-l,
.couture-slider-track .cst-label-r {
  position: absolute;
  top: 100%;
  margin-top: 6px;
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.6;
  color: var(--c-ink, #1a1815);
}
.couture-slider-track .cst-label-l { left: 0; }
.couture-slider-track .cst-label-r { right: 0; }

/* Style: thick (taller rail + bigger knob) */
.couture-slider-track[data-slider-track-style="thick"]::before,
.couture-slider-track[data-slider-track-style="thick"]::after {
  height: 8px;
  margin-top: -4px;
}
.couture-slider-track[data-slider-track-style="thick"] > .cst-knob {
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;
  border-width: 3px;
}

/* Style: dotted (tick marks along the rail every 10%) */
.couture-slider-track[data-slider-track-style="dotted"]::before {
  background:
    color-mix(in oklab, var(--st-color) 18%, transparent)
    repeating-linear-gradient(to right,
      var(--st-color) 0 1.5px,
      transparent 1.5px 10%);
  height: 1.5px;
  margin-top: -0.75px;
}

/* Tone: accent */
.couture-slider-track[data-slider-track-tone="accent"] { --st-color: var(--c-accent, #c25a3a); }

/* Tone: gradient (filled portion uses gradient instead of solid) */
.couture-slider-track[data-slider-track-tone="gradient"]::after {
  background: linear-gradient(to right, var(--c-accent, #c25a3a), var(--st-color));
}

/* Sizes */
.couture-slider-track[data-slider-track-size="sm"] { width: 120px; height: 18px; }
.couture-slider-track[data-slider-track-size="sm"] > .cst-knob {
  width: 12px; height: 12px; margin: -6px 0 0 -6px; border-width: 1.5px;
}

.couture-slider-track[data-slider-track-size="lg"] { width: 320px; height: 32px; }
.couture-slider-track[data-slider-track-size="lg"] > .cst-knob {
  width: 22px; height: 22px; margin: -11px 0 0 -11px; border-width: 2.5px;
}

@media (prefers-reduced-motion: reduce) {
  .couture-slider-track > .cst-knob {
    transition: none;
  }
  .couture-slider-track:hover > .cst-knob {
    transform: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-171 — Cinema clapper board (.couture-clapper)
 *
 * Pure-CSS film-set clapper board — slate body with diagonal-stripe top bar
 * (the clapsticks) and slot rows for SCENE/TAKE/ROLL labels. Optional
 * .is-clapping snaps the top bar shut on hover. Useful for video / film /
 * production / cinema brand pages, "now filming" decoration, "lights camera
 * action" promo accents.
 *
 * Usage:
 *   <div class="couture-clapper">
 *     <div class="ccl-bar"></div>
 *     <div class="ccl-slate">
 *       <div class="ccl-row"><span>SCENE</span><span>04</span></div>
 *       <div class="ccl-row"><span>TAKE</span><span>02</span></div>
 *       <div class="ccl-row"><span>ROLL</span><span>A</span></div>
 *     </div>
 *   </div>
 *
 * Variants via [data-clapper-style]: classic (default) | mini | minimal
 * Tone via [data-clapper-tone]: ink (default) | accent | warm
 * Size via [data-clapper-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-clapper {
  display: inline-block;
  position: relative;
  width: 220px;
  --cl-color: var(--c-ink, #1a1815);
  --cl-stripe: var(--c-paper, #faf7f2);
  font-family: var(--c-mono, ui-monospace, monospace);
}
/* Top bar (clapsticks) — diagonal stripes */
.couture-clapper .ccl-bar {
  position: relative;
  height: 28px;
  background: repeating-linear-gradient(
    -55deg,
    var(--cl-color) 0 18px,
    var(--cl-stripe) 18px 36px
  );
  border: 2px solid var(--cl-color);
  border-radius: 4px 4px 0 0;
  transform-origin: bottom left;
  transition: transform 280ms cubic-bezier(0.7, -0.4, 0.3, 1.5);
}
/* Hinge dot at the left where the bar pivots */
.couture-clapper .ccl-bar::before {
  content: "";
  position: absolute;
  left: 12px;
  bottom: -4px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cl-color);
  z-index: 2;
}
/* Slate body */
.couture-clapper .ccl-slate {
  background: var(--cl-color);
  color: var(--cl-stripe);
  padding: 18px 16px 20px;
  border-radius: 0 0 4px 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.couture-clapper .ccl-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 4px 0;
  border-bottom: 1px dashed color-mix(in oklab, var(--cl-stripe) 28%, transparent);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.couture-clapper .ccl-row:last-child {
  border-bottom: none;
}
.couture-clapper .ccl-row > span:first-child {
  opacity: 0.55;
}
.couture-clapper .ccl-row > span:last-child {
  font-family: var(--c-display, Georgia, serif);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--cl-stripe);
}

/* Hover: clap the bar shut briefly */
.couture-clapper:hover .ccl-bar {
  animation: couture-cl-clap 700ms cubic-bezier(0.5, -0.3, 0.5, 1.3);
}
@keyframes couture-cl-clap {
  0%   { transform: rotate(0); }
  35%  { transform: rotate(-22deg); }
  100% { transform: rotate(0); }
}

/* Style: mini (compact one-row slate) */
.couture-clapper[data-clapper-style="mini"] {
  width: 140px;
}
.couture-clapper[data-clapper-style="mini"] .ccl-bar { height: 18px; }
.couture-clapper[data-clapper-style="mini"] .ccl-slate { padding: 12px 12px 14px; }
.couture-clapper[data-clapper-style="mini"] .ccl-row { font-size: 0.55rem; }
.couture-clapper[data-clapper-style="mini"] .ccl-row > span:last-child { font-size: 0.78rem; }

/* Style: minimal (no diagonal stripes — just outlined bar) */
.couture-clapper[data-clapper-style="minimal"] .ccl-bar {
  background: var(--cl-stripe);
}

/* Tone variants */
.couture-clapper[data-clapper-tone="accent"] {
  --cl-color: var(--c-accent, #c25a3a);
}
.couture-clapper[data-clapper-tone="warm"] {
  --cl-color: #6b4423;
  --cl-stripe: #f5e9c8;
}

/* Sizes */
.couture-clapper[data-clapper-size="sm"] { width: 160px; }
.couture-clapper[data-clapper-size="sm"] .ccl-bar { height: 22px; }
.couture-clapper[data-clapper-size="sm"] .ccl-slate { padding: 14px 12px 16px; }

.couture-clapper[data-clapper-size="lg"] { width: 300px; }
.couture-clapper[data-clapper-size="lg"] .ccl-bar { height: 38px; }
.couture-clapper[data-clapper-size="lg"] .ccl-slate { padding: 24px 22px 28px; }
.couture-clapper[data-clapper-size="lg"] .ccl-row { font-size: 0.74rem; }
.couture-clapper[data-clapper-size="lg"] .ccl-row > span:last-child { font-size: 1.18rem; }

@media (prefers-reduced-motion: reduce) {
  .couture-clapper .ccl-bar { transition: none; }
  .couture-clapper:hover .ccl-bar { animation: none; }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-172 — Crystal ball orb (.couture-crystal-ball)
 *
 * Pure-CSS gazing-glass crystal ball with radial-gradient interior + bright
 * highlight + small triangular base. Useful for fortune / mystical / forecast
 * brand pages, "see the future" CTAs, predictions / insights decoration.
 * Optional .is-glowing pulses the inner sheen.
 *
 * Usage:
 *   <div class="couture-crystal-ball is-glowing"
 *        role="img" aria-label="Crystal ball"></div>
 *
 * Variants via [data-crystal-style]: classic (default) | smoky | violet | gold
 * Tone via [data-crystal-tone]: ink (default) | accent | muted
 * Size via [data-crystal-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-crystal-ball {
  display: inline-block;
  position: relative;
  width: 60px;
  height: 70px;
  vertical-align: middle;
  --cb-color: var(--c-ink, #1a1815);
  --cb-glass: #b8d4e5;
}
/* The orb */
.couture-crystal-ball::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-left: -25px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 32% 28%,
    color-mix(in oklab, #fff 80%, var(--cb-glass) 20%) 0%,
    color-mix(in oklab, var(--cb-glass) 80%, transparent) 30%,
    color-mix(in oklab, var(--cb-glass) 60%, transparent) 60%,
    color-mix(in oklab, var(--cb-color) 30%, var(--cb-glass)) 100%
  );
  border: 1.5px solid color-mix(in oklab, var(--cb-color) 50%, transparent);
  box-shadow:
    inset 0 -6px 12px color-mix(in oklab, var(--cb-color) 26%, transparent),
    0 4px 12px color-mix(in oklab, var(--cb-color) 18%, transparent);
}
/* Highlight crescent */
.couture-crystal-ball::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  width: 14px;
  height: 18px;
  margin-left: -16px;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at 50% 40%,
    rgba(255, 255, 255, 0.85) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    transparent 80%
  );
  pointer-events: none;
  z-index: 1;
}

/* The base (3-leg pedestal) */
.couture-crystal-ball > .ccb-base {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 36px;
  height: 14px;
  margin-left: -18px;
  background: var(--cb-color);
  clip-path: polygon(
    0 0, 100% 0,
    85% 35%, 100% 100%, 70% 100%,
    50% 50%,
    30% 100%, 0 100%, 15% 35%
  );
}

/* Glow pulse animation */
.couture-crystal-ball.is-glowing::after {
  animation: couture-cb-shine 3s ease-in-out infinite;
}
@keyframes couture-cb-shine {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.15); }
}

/* Style: smoky (greyer interior — mysterious mood) */
.couture-crystal-ball[data-crystal-style="smoky"] { --cb-glass: #aab2bc; }

/* Style: violet (purple mystical feel) */
.couture-crystal-ball[data-crystal-style="violet"] { --cb-glass: #c4a5d8; }

/* Style: gold (warm divination) */
.couture-crystal-ball[data-crystal-style="gold"] { --cb-glass: #e8c870; }

/* Tone variants (base color) */
.couture-crystal-ball[data-crystal-tone="accent"] { --cb-color: var(--c-accent, #c25a3a); }
.couture-crystal-ball[data-crystal-tone="muted"]  { --cb-color: color-mix(in oklab, var(--c-ink, #1a1815) 50%, transparent); }

/* Sizes */
.couture-crystal-ball[data-crystal-size="sm"] { width: 40px; height: 48px; }
.couture-crystal-ball[data-crystal-size="sm"]::before { width: 34px; height: 34px; margin-left: -17px; }
.couture-crystal-ball[data-crystal-size="sm"]::after { width: 9px; height: 12px; margin-left: -10px; top: 5px; }
.couture-crystal-ball[data-crystal-size="sm"] > .ccb-base { width: 24px; height: 10px; margin-left: -12px; }

.couture-crystal-ball[data-crystal-size="lg"] { width: 96px; height: 110px; }
.couture-crystal-ball[data-crystal-size="lg"]::before { width: 80px; height: 80px; margin-left: -40px; border-width: 2px; }
.couture-crystal-ball[data-crystal-size="lg"]::after { width: 22px; height: 28px; margin-left: -25px; top: 12px; }
.couture-crystal-ball[data-crystal-size="lg"] > .ccb-base { width: 56px; height: 22px; margin-left: -28px; }

@media (prefers-reduced-motion: reduce) {
  .couture-crystal-ball.is-glowing::after {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-173 — Vellum scroll banner (.couture-vellum)
 *
 * Old-parchment scroll with curled ends — a horizontal banner with subtle
 * paper texture and rolled-up ends. Useful for proclamation / certificate /
 * "official" announcements, vintage menu / wedding-invitation / heritage
 * brand callouts. Different from coupon-stub (clean tear) and pennant
 * (triangular) — this is a manuscript scroll.
 *
 * Usage:
 *   <div class="couture-vellum">
 *     <div class="cvm-text">By order of the house —</div>
 *   </div>
 *
 * Variants via [data-vellum-style]: scroll (default) | aged | clean
 * Tone via [data-vellum-tone]: paper (default) | cream | sepia
 * Size via [data-vellum-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-vellum {
  display: inline-block;
  position: relative;
  padding: 14px 56px;
  background: var(--c-paper, #faf7f2);
  color: var(--c-ink, #1a1815);
  border-top: 1.5px solid color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
  border-bottom: 1.5px solid color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
  font-family: var(--c-display, Georgia, serif);
  font-size: 0.96rem;
  font-style: italic;
  letter-spacing: 0.01em;
  text-align: center;
  box-shadow:
    0 2px 6px color-mix(in oklab, var(--c-ink, #1a1815) 12%, transparent);
  /* Subtle vellum noise via radial gradient tint */
  background-image:
    radial-gradient(ellipse at 30% 40%, color-mix(in oklab, var(--c-ink, #1a1815) 4%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 60%, color-mix(in oklab, var(--c-ink, #1a1815) 3%, transparent) 0%, transparent 50%);
}
/* Curled left end */
.couture-vellum::before {
  content: "";
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: -16px;
  width: 36px;
  background:
    radial-gradient(ellipse at right center,
      color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 20%) 35%,
      var(--c-paper, #faf7f2) 60%);
  border-radius: 50% 0 0 50% / 50% 0 0 50%;
  border: 1.5px solid color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent);
  box-shadow: inset -4px 0 8px color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
}
/* Curled right end */
.couture-vellum::after {
  content: "";
  position: absolute;
  top: -2px;
  bottom: -2px;
  right: -16px;
  width: 36px;
  background:
    radial-gradient(ellipse at left center,
      color-mix(in oklab, var(--c-paper, #faf7f2) 80%, var(--c-ink, #1a1815) 20%) 35%,
      var(--c-paper, #faf7f2) 60%);
  border-radius: 0 50% 50% 0 / 0 50% 50% 0;
  border: 1.5px solid color-mix(in oklab, var(--c-ink, #1a1815) 22%, transparent);
  box-shadow: inset 4px 0 8px color-mix(in oklab, var(--c-ink, #1a1815) 18%, transparent);
}
.couture-vellum .cvm-text {
  position: relative;
  z-index: 1;
  display: inline-block;
}

/* Style: aged (browner tones, more visible noise) */
.couture-vellum[data-vellum-style="aged"] {
  background-color: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #d4c4a3 30%);
  background-image:
    radial-gradient(ellipse at 20% 30%, color-mix(in oklab, var(--c-ink, #1a1815) 8%, transparent) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 70%, color-mix(in oklab, var(--c-ink, #1a1815) 6%, transparent) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, color-mix(in oklab, var(--c-ink, #1a1815) 4%, transparent) 0%, transparent 70%);
}

/* Style: clean (no curled ends, just a flat banner) */
.couture-vellum[data-vellum-style="clean"]::before,
.couture-vellum[data-vellum-style="clean"]::after {
  display: none;
}
.couture-vellum[data-vellum-style="clean"] {
  padding-left: 22px;
  padding-right: 22px;
}

/* Tone variants */
.couture-vellum[data-vellum-tone="cream"] {
  background-color: color-mix(in oklab, var(--c-paper, #faf7f2) 70%, #f5e9c8 30%);
}
.couture-vellum[data-vellum-tone="sepia"] {
  background-color: color-mix(in oklab, var(--c-paper, #faf7f2) 60%, #c4a87a 40%);
  color: #4a3422;
}

/* Sizes */
.couture-vellum[data-vellum-size="sm"] {
  padding: 8px 36px;
  font-size: 0.78rem;
}
.couture-vellum[data-vellum-size="sm"]::before,
.couture-vellum[data-vellum-size="sm"]::after { width: 24px; left: -10px; }
.couture-vellum[data-vellum-size="sm"]::after { right: -10px; left: auto; }

.couture-vellum[data-vellum-size="lg"] {
  padding: 22px 80px;
  font-size: 1.2rem;
}
.couture-vellum[data-vellum-size="lg"]::before,
.couture-vellum[data-vellum-size="lg"]::after { width: 52px; }
.couture-vellum[data-vellum-size="lg"]::before { left: -22px; }
.couture-vellum[data-vellum-size="lg"]::after  { right: -22px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-174 — Hand-drawn scribble underline (.couture-scribble-under)
 *
 * Inline span with a wavy hand-drawn squiggle underline (NOT a clean CSS
 * text-decoration). Different from existing .couture-hl-mark (highlighter
 * swipe, marker-style background) and .couture-link-* underlines (clean
 * lines): this is an organic doodled line via SVG-mask repeating wave
 * positioned just under the text baseline.
 *
 * Usage:
 *   <p>It was a <span class="couture-scribble-under">very</span> good year.</p>
 *
 * Variants via [data-scribble-style]: wavy (default) | zigzag | double-wavy | curl
 * Tone via [data-scribble-tone]: ink (default) | accent | red | blue
 * Thickness via [data-scribble-weight]: thin | normal (default) | thick
 * -------------------------------------------------------------------------- */
.couture-scribble-under {
  position: relative;
  display: inline;
  padding-bottom: 6px;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'><path d='M2,6 Q12,2 22,6 T42,6 T62,6 T82,6 T98,6' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round'/></svg>")
    repeat-x bottom left / 100px 8px;
}

/* Style: zigzag (sharp angular peaks) */
.couture-scribble-under[data-scribble-style="zigzag"] {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10' preserveAspectRatio='none'><path d='M2,8 L10,2 L18,8 L26,2 L34,8 L42,2 L50,8 L58,2' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>")
    repeat-x bottom left / 60px 8px;
}

/* Style: double-wavy (two parallel waves stacked for emphasis) */
.couture-scribble-under[data-scribble-style="double-wavy"] {
  padding-bottom: 10px;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 14' preserveAspectRatio='none'><path d='M2,4 Q12,1 22,4 T42,4 T62,4 T82,4 T98,4' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round'/><path d='M2,10 Q12,7 22,10 T42,10 T62,10 T82,10 T98,10' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round'/></svg>")
    repeat-x bottom left / 100px 12px;
}

/* Style: curl (loopy spirals — playful) */
.couture-scribble-under[data-scribble-style="curl"] {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 12' preserveAspectRatio='none'><path d='M2,8 Q4,4 8,6 T14,8 Q18,4 22,6 T28,8 Q32,4 36,6 T42,8 Q46,4 50,6 T56,8' fill='none' stroke='currentColor' stroke-width='1.4' stroke-linecap='round'/></svg>")
    repeat-x bottom left / 60px 10px;
}

/* Tone variants — drive currentColor via direct color */
.couture-scribble-under[data-scribble-tone="accent"] { color: var(--c-accent, #c25a3a); }
.couture-scribble-under[data-scribble-tone="red"]    { color: #c54c3c; }
.couture-scribble-under[data-scribble-tone="blue"]   { color: #1d8cf0; }
/* When tone is set, the surrounding text shouldn't inherit the line color —
   only the underline. Wrap text in a span with explicit color: inherit OR
   restore the body color via inline. Pragmatic: use ::before pseudo to
   color-shift the underline only — but currentColor in SVG already does
   that. Keep the simpler approach: tone= changes the entire span color.
   For body-text-color underline + accent line, operators can wrap the
   accent in a layered approach. Documented in usage. */

/* Thickness variants */
.couture-scribble-under[data-scribble-weight="thin"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'><path d='M2,6 Q12,2 22,6 T42,6 T62,6 T82,6 T98,6' fill='none' stroke='currentColor' stroke-width='0.9' stroke-linecap='round'/></svg>");
}
.couture-scribble-under[data-scribble-weight="thick"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'><path d='M2,6 Q12,2 22,6 T42,6 T62,6 T82,6 T98,6' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round'/></svg>");
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-175 — Origami crane silhouette (.couture-origami-crane)
 *
 * Folded paper crane mark via SVG-mask. Useful for Japanese / wabi-sabi /
 * peace / craft brand pages, "made with care" decorative accents,
 * meditation/wellness brand marks. Includes optional fold-line variant
 * that shows the paper-folding crease detail.
 *
 * Usage:
 *   <span class="couture-origami-crane" role="img" aria-label="Origami crane"></span>
 *
 * Variants via [data-crane-style]: silhouette (default) | folded | flying
 * Tone via [data-crane-tone]: ink (default) | accent | rose | indigo
 * Size via [data-crane-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-origami-crane {
  display: inline-block;
  width: 48px;
  height: 40px;
  vertical-align: middle;
  --oc-color: var(--c-ink, #1a1815);
  background: var(--oc-color);
  /* Silhouette: angular crane body + neck + tail + spread wings */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40' fill='black'><path d='M2,18 L14,14 L22,4 L24,14 L40,8 L46,12 L36,20 L40,26 L26,22 L22,32 L14,24 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40' fill='black'><path d='M2,18 L14,14 L22,4 L24,14 L40,8 L46,12 L36,20 L40,26 L26,22 L22,32 L14,24 Z'/></svg>") no-repeat center / contain;
}

/* Style: folded (silhouette + visible crease lines for paper-folding feel) */
.couture-origami-crane[data-crane-style="folded"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40' fill='black' stroke='white' stroke-width='0.7'><path d='M2,18 L14,14 L22,4 L24,14 L40,8 L46,12 L36,20 L40,26 L26,22 L22,32 L14,24 Z'/><path d='M14,14 L24,18 L14,24 M22,4 L24,18 L22,32 M40,8 L24,18 L40,26' stroke='white' fill='none' stroke-width='0.6'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40' fill='black' stroke='white' stroke-width='0.7'><path d='M2,18 L14,14 L22,4 L24,14 L40,8 L46,12 L36,20 L40,26 L26,22 L22,32 L14,24 Z'/><path d='M14,14 L24,18 L14,24 M22,4 L24,18 L22,32 M40,8 L24,18 L40,26' stroke='white' fill='none' stroke-width='0.6'/></svg>") no-repeat center / contain;
}

/* Style: flying (more dramatic spread wings + extended neck for upward motion) */
.couture-origami-crane[data-crane-style="flying"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40' fill='black'><path d='M2,22 L14,18 L20,2 L24,16 L42,4 L46,8 L34,20 L42,26 L26,22 L24,36 L18,28 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40' fill='black'><path d='M2,22 L14,18 L20,2 L24,16 L42,4 L46,8 L34,20 L42,26 L26,22 L24,36 L18,28 Z'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-origami-crane[data-crane-tone="accent"] { --oc-color: var(--c-accent, #c25a3a); background: var(--oc-color); }
.couture-origami-crane[data-crane-tone="rose"]   { --oc-color: #d4778f; background: var(--oc-color); }
.couture-origami-crane[data-crane-tone="indigo"] { --oc-color: #3b4d7a; background: var(--oc-color); }

/* Sizes */
.couture-origami-crane[data-crane-size="sm"] { width: 30px; height: 25px; }
.couture-origami-crane[data-crane-size="lg"] { width: 80px; height: 66px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-176 — Handshake icon (.couture-handshake)
 *
 * Two clasping hands silhouette via SVG-mask. Useful for partnership /
 * trust / contract / "we shake on it" decorative brand accents on B2B,
 * services, agency, agreement-themed pages. Optional .is-shaking adds a
 * subtle bob animation.
 *
 * Usage:
 *   <span class="couture-handshake" role="img" aria-label="Handshake"></span>
 *
 * Variants via [data-handshake-style]: classic (default) | minimal | filled
 * Tone via [data-handshake-tone]: ink (default) | accent | warm
 * Size via [data-handshake-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-handshake {
  display: inline-block;
  width: 48px;
  height: 32px;
  vertical-align: middle;
  --hs-color: var(--c-ink, #1a1815);
  background: var(--hs-color);
  /* Stylized two clasping hands: angled forearms meeting in center grip */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 32' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M2,24 L10,18 L14,12 Q18,10 22,14 L24,18 Q22,22 18,22 Z'/><path d='M46,24 L38,18 L34,12 Q30,10 26,14 L24,18 Q26,22 30,22 Z'/><path d='M14,12 L22,14 M34,12 L26,14 M22,14 L26,14' stroke='black' fill='none'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 32' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M2,24 L10,18 L14,12 Q18,10 22,14 L24,18 Q22,22 18,22 Z'/><path d='M46,24 L38,18 L34,12 Q30,10 26,14 L24,18 Q26,22 30,22 Z'/><path d='M14,12 L22,14 M34,12 L26,14 M22,14 L26,14' stroke='black' fill='none'/></svg>") no-repeat center / contain;
}

/* Style: minimal (just two opposed arrows showing the meeting) */
.couture-handshake[data-handshake-style="minimal"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 32' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M4,16 L20,16 M28,16 L44,16'/><path d='M16,12 L20,16 L16,20 M32,12 L28,16 L32,20'/><circle cx='24' cy='16' r='3' fill='black'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 32' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M4,16 L20,16 M28,16 L44,16'/><path d='M16,12 L20,16 L16,20 M32,12 L28,16 L32,20'/><circle cx='24' cy='16' r='3' fill='black'/></svg>") no-repeat center / contain;
}

/* Style: filled (chunky solid shape, no inner detail) */
.couture-handshake[data-handshake-style="filled"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 32' fill='black'><path d='M2,24 L10,18 L14,11 Q19,8 23,13 L24,18 L25,13 Q29,8 34,11 L38,18 L46,24 L40,28 L32,24 L26,22 L22,22 L16,24 L8,28 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 32' fill='black'><path d='M2,24 L10,18 L14,11 Q19,8 23,13 L24,18 L25,13 Q29,8 34,11 L38,18 L46,24 L40,28 L32,24 L26,22 L22,22 L16,24 L8,28 Z'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-handshake[data-handshake-tone="accent"] { --hs-color: var(--c-accent, #c25a3a); background: var(--hs-color); }
.couture-handshake[data-handshake-tone="warm"]   { --hs-color: #b87a3a; background: var(--hs-color); }

/* Sizes */
.couture-handshake[data-handshake-size="sm"] { width: 30px; height: 20px; }
.couture-handshake[data-handshake-size="lg"] { width: 80px; height: 54px; }

/* Shake animation */
.couture-handshake.is-shaking {
  animation: couture-hs-shake 1.2s ease-in-out infinite;
}
@keyframes couture-hs-shake {
  0%, 100% { transform: translateY(0); }
  25%      { transform: translateY(-2px); }
  75%      { transform: translateY(2px); }
}

@media (prefers-reduced-motion: reduce) {
  .couture-handshake.is-shaking {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-177 — Sailboat silhouette (.couture-sailboat)
 *
 * Pure-CSS sailboat with mast, two angled sails, and hull. Useful for
 * harbor / coastal / nautical / "smooth sailing" brand pages, decorative
 * footer marks, "departures" callouts, leisure brand accents. Optional
 * .is-sailing rocks the boat gently.
 *
 * Usage:
 *   <span class="couture-sailboat" role="img" aria-label="Sailboat"></span>
 *
 * Variants via [data-sailboat-style]: classic (default) | catamaran | cutter
 * Tone via [data-sailboat-tone]: ink (default) | accent | navy | sand
 * Size via [data-sailboat-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-sailboat {
  display: inline-block;
  width: 56px;
  height: 56px;
  vertical-align: middle;
  --sb-color: var(--c-ink, #1a1815);
  background: var(--sb-color);
  /* Classic sloop: hull crescent + vertical mast + main sail (right) + jib (left) */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56' fill='black'><path d='M4,42 Q8,50 28,50 Q48,50 52,42 L46,42 L10,42 Z'/><rect x='27' y='6' width='2' height='34'/><path d='M29,8 L46,40 L29,40 Z'/><path d='M27,12 L14,40 L27,40 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56' fill='black'><path d='M4,42 Q8,50 28,50 Q48,50 52,42 L46,42 L10,42 Z'/><rect x='27' y='6' width='2' height='34'/><path d='M29,8 L46,40 L29,40 Z'/><path d='M27,12 L14,40 L27,40 Z'/></svg>") no-repeat center / contain;
}

/* Style: catamaran (twin hulls, wider stance) */
.couture-sailboat[data-sailboat-style="catamaran"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56' fill='black'><path d='M2,44 Q5,50 16,50 Q23,50 25,44 L20,44 L7,44 Z'/><path d='M31,44 Q33,50 40,50 Q51,50 54,44 L49,44 L36,44 Z'/><rect x='10' y='40' width='36' height='2'/><rect x='27' y='6' width='2' height='34'/><path d='M29,8 L46,40 L29,40 Z'/><path d='M27,12 L14,40 L27,40 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56' fill='black'><path d='M2,44 Q5,50 16,50 Q23,50 25,44 L20,44 L7,44 Z'/><path d='M31,44 Q33,50 40,50 Q51,50 54,44 L49,44 L36,44 Z'/><rect x='10' y='40' width='36' height='2'/><rect x='27' y='6' width='2' height='34'/><path d='M29,8 L46,40 L29,40 Z'/><path d='M27,12 L14,40 L27,40 Z'/></svg>") no-repeat center / contain;
}

/* Style: cutter (two masts, one short fore + one tall main) */
.couture-sailboat[data-sailboat-style="cutter"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56' fill='black'><path d='M4,42 Q8,50 28,50 Q48,50 52,42 L46,42 L10,42 Z'/><rect x='15' y='14' width='2' height='26'/><rect x='34' y='6' width='2' height='34'/><path d='M17,16 L28,40 L17,40 Z'/><path d='M36,8 L50,40 L36,40 Z'/><path d='M34,12 L20,40 L34,40 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56' fill='black'><path d='M4,42 Q8,50 28,50 Q48,50 52,42 L46,42 L10,42 Z'/><rect x='15' y='14' width='2' height='26'/><rect x='34' y='6' width='2' height='34'/><path d='M17,16 L28,40 L17,40 Z'/><path d='M36,8 L50,40 L36,40 Z'/><path d='M34,12 L20,40 L34,40 Z'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-sailboat[data-sailboat-tone="accent"] { --sb-color: var(--c-accent, #c25a3a); background: var(--sb-color); }
.couture-sailboat[data-sailboat-tone="navy"]   { --sb-color: #1f3a5f; background: var(--sb-color); }
.couture-sailboat[data-sailboat-tone="sand"]   { --sb-color: #b87a3a; background: var(--sb-color); }

/* Sizes */
.couture-sailboat[data-sailboat-size="sm"] { width: 36px; height: 36px; }
.couture-sailboat[data-sailboat-size="lg"] { width: 96px; height: 96px; }

/* Rocking animation */
.couture-sailboat.is-sailing {
  animation: couture-sb-rock 3.5s ease-in-out infinite;
  transform-origin: center bottom;
}
@keyframes couture-sb-rock {
  0%, 100% { transform: rotate(-3deg); }
  50%      { transform: rotate(3deg); }
}

@media (prefers-reduced-motion: reduce) {
  .couture-sailboat.is-sailing {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-178 — Spinning pinwheel (.couture-pinwheel)
 *
 * Decorative 4-blade pinwheel via conic-gradient + center hub. Useful for
 * playful/childcare/whimsy/spring brand pages, kid-related decorative
 * accents, "fresh wind" callouts. Optional .is-spinning rotates it
 * continuously.
 *
 * Usage:
 *   <span class="couture-pinwheel is-spinning"
 *         role="img" aria-label="Pinwheel"></span>
 *
 * Variants via [data-pinwheel-style]: classic (default) | rainbow | mono
 * Tone via [data-pinwheel-tone]: ink (default) | accent | warm
 * Size via [data-pinwheel-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-pinwheel {
  display: inline-block;
  position: relative;
  width: 56px;
  height: 56px;
  vertical-align: middle;
  --pw-c1: var(--c-accent, #c25a3a);
  --pw-c2: color-mix(in oklab, var(--c-accent, #c25a3a) 60%, var(--c-paper, #faf7f2) 40%);
  --pw-c3: var(--c-ink, #1a1815);
  --pw-c4: color-mix(in oklab, var(--c-ink, #1a1815) 50%, var(--c-paper, #faf7f2) 50%);
}
/* The 4 alternating blade triangles via conic + radial mask */
.couture-pinwheel::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    var(--pw-c1) 0deg 90deg,
    var(--pw-c2) 90deg 180deg,
    var(--pw-c3) 180deg 270deg,
    var(--pw-c4) 270deg 360deg
  );
  /* Curve each blade by clipping with 4 chord segments */
  clip-path: polygon(
    50% 50%, 100% 30%, 100% 50%,
    50% 50%, 70% 100%, 50% 100%,
    50% 50%, 0 70%, 0 50%,
    50% 50%, 30% 0, 50% 0
  );
}
/* Center hub */
.couture-pinwheel::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  background: var(--c-paper, #faf7f2);
  border: 2px solid var(--pw-c3);
  z-index: 2;
}

/* Spinning animation — rotate the blades only, not the hub */
.couture-pinwheel.is-spinning::before {
  animation: couture-pw-spin 4s linear infinite;
}
@keyframes couture-pw-spin {
  to { transform: rotate(360deg); }
}

/* Style: rainbow (4 distinct hues) */
.couture-pinwheel[data-pinwheel-style="rainbow"] {
  --pw-c1: #c54c3c;
  --pw-c2: #d99a3a;
  --pw-c3: #2e8a4e;
  --pw-c4: #1d8cf0;
}

/* Style: mono (single ink color, very minimal) */
.couture-pinwheel[data-pinwheel-style="mono"] {
  --pw-c1: var(--c-ink, #1a1815);
  --pw-c2: color-mix(in oklab, var(--c-ink, #1a1815) 60%, transparent);
  --pw-c3: var(--c-ink, #1a1815);
  --pw-c4: color-mix(in oklab, var(--c-ink, #1a1815) 60%, transparent);
}

/* Tone variants override the c1/c3 pair */
.couture-pinwheel[data-pinwheel-tone="accent"] {
  --pw-c1: var(--c-accent, #c25a3a);
  --pw-c3: color-mix(in oklab, var(--c-accent, #c25a3a) 70%, var(--c-ink, #1a1815) 30%);
}
.couture-pinwheel[data-pinwheel-tone="warm"] {
  --pw-c1: #d99a3a;
  --pw-c3: #b87a3a;
}

/* Sizes */
.couture-pinwheel[data-pinwheel-size="sm"] { width: 36px; height: 36px; }
.couture-pinwheel[data-pinwheel-size="sm"]::after { width: 10px; height: 10px; margin: -5px 0 0 -5px; }
.couture-pinwheel[data-pinwheel-size="lg"] { width: 96px; height: 96px; }
.couture-pinwheel[data-pinwheel-size="lg"]::after { width: 22px; height: 22px; margin: -11px 0 0 -11px; border-width: 3px; }

@media (prefers-reduced-motion: reduce) {
  .couture-pinwheel.is-spinning::before {
    animation: none;
  }
}

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-179 — Croissant pastry mark (.couture-croissant)
 *
 * Pure-CSS croissant silhouette via SVG-mask — crescent shape with three
 * fold ridges. Useful for bakery / cafe / breakfast brand pages,
 * "fresh-baked" decorative accents, French-themed brand marks, "morning"
 * call-out decoration.
 *
 * Usage:
 *   <span class="couture-croissant" role="img" aria-label="Croissant"></span>
 *
 * Variants via [data-croissant-style]: classic (default) | small | flaky
 * Tone via [data-croissant-tone]: butter (default) | toast | ink | accent
 * Size via [data-croissant-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-croissant {
  display: inline-block;
  width: 48px;
  height: 36px;
  vertical-align: middle;
  --cr-color: #d4a674;
  background: var(--cr-color);
  /* Crescent body with internal fold lines */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='black'><path d='M6,18 Q8,4 24,4 Q40,4 42,18 Q44,30 36,32 Q34,28 32,28 Q28,30 24,28 Q20,30 16,28 Q14,28 12,32 Q4,30 6,18 Z'/><path d='M14,16 Q16,8 24,10 M24,10 Q32,8 34,16 M18,22 Q24,18 30,22' stroke='white' stroke-width='1.2' fill='none'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='black'><path d='M6,18 Q8,4 24,4 Q40,4 42,18 Q44,30 36,32 Q34,28 32,28 Q28,30 24,28 Q20,30 16,28 Q14,28 12,32 Q4,30 6,18 Z'/><path d='M14,16 Q16,8 24,10 M24,10 Q32,8 34,16 M18,22 Q24,18 30,22' stroke='white' stroke-width='1.2' fill='none'/></svg>") no-repeat center / contain;
}

/* Style: small (mini-croissant for inline accents) */
.couture-croissant[data-croissant-style="small"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='black'><path d='M10,18 Q12,8 24,8 Q36,8 38,18 Q40,28 32,30 Q28,28 24,28 Q20,28 16,30 Q8,28 10,18 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='black'><path d='M10,18 Q12,8 24,8 Q36,8 38,18 Q40,28 32,30 Q28,28 24,28 Q20,28 16,30 Q8,28 10,18 Z'/></svg>") no-repeat center / contain;
}

/* Style: flaky (more visible internal fold lines for crispy detail) */
.couture-croissant[data-croissant-style="flaky"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='black'><path d='M6,18 Q8,4 24,4 Q40,4 42,18 Q44,30 36,32 Q34,28 32,28 Q28,30 24,28 Q20,30 16,28 Q14,28 12,32 Q4,30 6,18 Z'/><path d='M12,18 Q16,8 24,10 M24,10 Q32,8 36,18 M14,22 Q16,16 22,16 M26,16 Q32,16 34,22 M18,26 Q22,22 24,22 M24,22 Q26,22 30,26' stroke='white' stroke-width='1' fill='none'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='black'><path d='M6,18 Q8,4 24,4 Q40,4 42,18 Q44,30 36,32 Q34,28 32,28 Q28,30 24,28 Q20,30 16,28 Q14,28 12,32 Q4,30 6,18 Z'/><path d='M12,18 Q16,8 24,10 M24,10 Q32,8 36,18 M14,22 Q16,16 22,16 M26,16 Q32,16 34,22 M18,26 Q22,22 24,22 M24,22 Q26,22 30,26' stroke='white' stroke-width='1' fill='none'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-croissant[data-croissant-tone="toast"]  { --cr-color: #b8835a; background: var(--cr-color); }
.couture-croissant[data-croissant-tone="ink"]    { --cr-color: var(--c-ink, #1a1815); background: var(--cr-color); }
.couture-croissant[data-croissant-tone="accent"] { --cr-color: var(--c-accent, #c25a3a); background: var(--cr-color); }

/* Sizes */
.couture-croissant[data-croissant-size="sm"] { width: 30px; height: 22px; }
.couture-croissant[data-croissant-size="lg"] { width: 80px; height: 60px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-180 — Music note clef (.couture-music-note)
 *
 * Pure-CSS music symbol mark via SVG-mask. Three glyph variants: a single
 * eighth note, a treble clef, and a beamed pair. Useful for music / audio
 * brand pages, podcast / playlist callouts, "soundtrack" decorative marks.
 *
 * Usage:
 *   <span class="couture-music-note" role="img" aria-label="Music note"></span>
 *
 * Variants via [data-music-note-style]: eighth (default) | treble | beamed
 * Tone via [data-music-note-tone]: ink (default) | accent | gold
 * Size via [data-music-note-size]: sm | md (default) | lg
 * 180-SHIP MILESTONE 🎉
 * -------------------------------------------------------------------------- */
.couture-music-note {
  display: inline-block;
  width: 32px;
  height: 40px;
  vertical-align: middle;
  --mn-color: var(--c-ink, #1a1815);
  background: var(--mn-color);
  /* Eighth note: round filled head + vertical stem + flag */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 40' fill='black'><ellipse cx='10' cy='32' rx='7' ry='5' transform='rotate(-20 10 32)'/><rect x='14' y='6' width='2.5' height='28'/><path d='M16,6 Q26,10 24,20 Q22,14 16,14 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 40' fill='black'><ellipse cx='10' cy='32' rx='7' ry='5' transform='rotate(-20 10 32)'/><rect x='14' y='6' width='2.5' height='28'/><path d='M16,6 Q26,10 24,20 Q22,14 16,14 Z'/></svg>") no-repeat center / contain;
}

/* Style: treble (G clef silhouette) */
.couture-music-note[data-music-note-style="treble"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 40' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><path d='M16,2 Q12,8 14,16 Q22,18 22,12 Q22,6 16,8 Q10,12 14,22 Q22,28 18,34 Q12,38 12,32'/><circle cx='12' cy='34' r='2.5' fill='black'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 40' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><path d='M16,2 Q12,8 14,16 Q22,18 22,12 Q22,6 16,8 Q10,12 14,22 Q22,28 18,34 Q12,38 12,32'/><circle cx='12' cy='34' r='2.5' fill='black'/></svg>") no-repeat center / contain;
}

/* Style: beamed (two notes connected by a beam — eighth-note pair) */
.couture-music-note[data-music-note-style="beamed"] {
  width: 44px;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 40' fill='black'><ellipse cx='8' cy='34' rx='6' ry='4.5' transform='rotate(-18 8 34)'/><ellipse cx='32' cy='34' rx='6' ry='4.5' transform='rotate(-18 32 34)'/><rect x='12' y='6' width='2' height='28'/><rect x='36' y='6' width='2' height='28'/><rect x='12' y='6' width='26' height='4'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 40' fill='black'><ellipse cx='8' cy='34' rx='6' ry='4.5' transform='rotate(-18 8 34)'/><ellipse cx='32' cy='34' rx='6' ry='4.5' transform='rotate(-18 32 34)'/><rect x='12' y='6' width='2' height='28'/><rect x='36' y='6' width='2' height='28'/><rect x='12' y='6' width='26' height='4'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-music-note[data-music-note-tone="accent"] { --mn-color: var(--c-accent, #c25a3a); background: var(--mn-color); }
.couture-music-note[data-music-note-tone="gold"]   { --mn-color: #c19c2f; background: var(--mn-color); }

/* Sizes */
.couture-music-note[data-music-note-size="sm"] { width: 22px; height: 28px; }
.couture-music-note[data-music-note-size="sm"][data-music-note-style="beamed"] { width: 32px; }
.couture-music-note[data-music-note-size="lg"] { width: 56px; height: 70px; }
.couture-music-note[data-music-note-size="lg"][data-music-note-style="beamed"] { width: 76px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-181 — Wave crest horizon (.couture-wave-crest)
 *
 * Decorative horizon line with a cresting wave + small breaking foam.
 * Different from the .couture-tide-line section divider (full-width slim
 * wave): this is a compact decorative MARK with a single dramatic crest
 * curl + foam dots. Useful for surf / ocean / coastal brand pages, "ride
 * the wave" callouts, decorative footer marks.
 *
 * Usage:
 *   <span class="couture-wave-crest" role="img" aria-label="Wave"></span>
 *
 * Variants via [data-wave-crest-style]: classic (default) | foam | bigwave
 * Tone via [data-wave-crest-tone]: ink (default) | aqua | navy | accent
 * Size via [data-wave-crest-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-wave-crest {
  display: inline-block;
  width: 56px;
  height: 32px;
  vertical-align: middle;
  --wc-color: var(--c-ink, #1a1815);
  background: var(--wc-color);
  /* Single curling wave with small spray dots */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 32' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M2,24 Q12,18 18,22 Q22,26 26,22 Q34,12 42,16 Q48,20 50,24 Q52,28 48,30'/><circle cx='42' cy='10' r='1.2' fill='black'/><circle cx='46' cy='13' r='0.9' fill='black'/><circle cx='38' cy='14' r='0.9' fill='black'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 32' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><path d='M2,24 Q12,18 18,22 Q22,26 26,22 Q34,12 42,16 Q48,20 50,24 Q52,28 48,30'/><circle cx='42' cy='10' r='1.2' fill='black'/><circle cx='46' cy='13' r='0.9' fill='black'/><circle cx='38' cy='14' r='0.9' fill='black'/></svg>") no-repeat center / contain;
}

/* Style: foam (more spray dots, smaller wave) */
.couture-wave-crest[data-wave-crest-style="foam"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 32' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><path d='M2,26 Q14,18 22,22 Q28,28 34,22 Q42,16 50,22'/><circle cx='10' cy='12' r='0.8' fill='black'/><circle cx='14' cy='15' r='0.7' fill='black'/><circle cx='28' cy='10' r='0.9' fill='black'/><circle cx='32' cy='14' r='0.7' fill='black'/><circle cx='36' cy='8' r='0.8' fill='black'/><circle cx='44' cy='12' r='0.9' fill='black'/><circle cx='48' cy='15' r='0.7' fill='black'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 32' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><path d='M2,26 Q14,18 22,22 Q28,28 34,22 Q42,16 50,22'/><circle cx='10' cy='12' r='0.8' fill='black'/><circle cx='14' cy='15' r='0.7' fill='black'/><circle cx='28' cy='10' r='0.9' fill='black'/><circle cx='32' cy='14' r='0.7' fill='black'/><circle cx='36' cy='8' r='0.8' fill='black'/><circle cx='44' cy='12' r='0.9' fill='black'/><circle cx='48' cy='15' r='0.7' fill='black'/></svg>") no-repeat center / contain;
}

/* Style: bigwave (single dramatic curl, no foam — Hokusai-feel silhouette) */
.couture-wave-crest[data-wave-crest-style="bigwave"] {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 32' fill='black'><path d='M2,30 Q4,18 18,12 Q32,4 44,8 Q52,12 50,20 Q48,16 42,16 Q36,18 32,22 Q28,28 22,28 Q16,28 14,24 Q10,22 8,26 Q4,28 2,30 Z'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 32' fill='black'><path d='M2,30 Q4,18 18,12 Q32,4 44,8 Q52,12 50,20 Q48,16 42,16 Q36,18 32,22 Q28,28 22,28 Q16,28 14,24 Q10,22 8,26 Q4,28 2,30 Z'/></svg>") no-repeat center / contain;
}

/* Tone variants */
.couture-wave-crest[data-wave-crest-tone="aqua"]   { --wc-color: #4aa6c4; background: var(--wc-color); }
.couture-wave-crest[data-wave-crest-tone="navy"]   { --wc-color: #1f3a5f; background: var(--wc-color); }
.couture-wave-crest[data-wave-crest-tone="accent"] { --wc-color: var(--c-accent, #c25a3a); background: var(--wc-color); }

/* Sizes */
.couture-wave-crest[data-wave-crest-size="sm"] { width: 36px; height: 20px; }
.couture-wave-crest[data-wave-crest-size="lg"] { width: 96px; height: 56px; }

/* ----------------------------------------------------------------------------
 * WS-VISIBLE-182 — Atom with electron orbits (.couture-atom)
 *
 * Decorative atom: solid nucleus dot + 3 tilted elliptical electron orbits
 * + small electron dots. Useful for science / lab / research / chemistry
 * brand pages, technical brand decorative accents, "powered by" callouts.
 * Optional .is-spinning rotates each orbit independently.
 *
 * Usage:
 *   <div class="couture-atom is-spinning" role="img" aria-label="Atom">
 *     <span class="cat-orbit"></span>
 *     <span class="cat-orbit"></span>
 *     <span class="cat-orbit"></span>
 *   </div>
 *
 * Variants via [data-atom-style]: classic (default) | minimal | dotted
 * Tone via [data-atom-tone]: ink (default) | accent | electric
 * Size via [data-atom-size]: sm | md (default) | lg
 * -------------------------------------------------------------------------- */
.couture-atom {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
  vertical-align: middle;
  --at-color: var(--c-ink, #1a1815);
}
/* Nucleus dot */
.couture-atom::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  background: var(--at-color);
  z-index: 2;
}
/* Each orbit ellipse */
.couture-atom .cat-orbit {
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1.5px solid color-mix(in oklab, var(--at-color) 60%, transparent);
  pointer-events: none;
}
.couture-atom .cat-orbit:nth-child(1) {
  transform: rotateZ(0deg) scaleY(0.32);
}
.couture-atom .cat-orbit:nth-child(2) {
  transform: rotateZ(60deg) scaleY(0.32);
}
.couture-atom .cat-orbit:nth-child(3) {
  transform: rotateZ(-60deg) scaleY(0.32);
}
/* Tiny electron at the rim of each orbit */
.couture-atom .cat-orbit::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  margin-top: -2.5px;
  border-radius: 50%;
  background: var(--at-color);
}

/* Spinning orbits */
.couture-atom.is-spinning .cat-orbit:nth-child(1) {
  animation: couture-at-orbit-1 3s linear infinite;
}
.couture-atom.is-spinning .cat-orbit:nth-child(2) {
  animation: couture-at-orbit-2 4.5s linear infinite;
}
.couture-atom.is-spinning .cat-orbit:nth-child(3) {
  animation: couture-at-orbit-3 6s linear infinite;
}
@keyframes couture-at-orbit-1 { to { transform: rotateZ(360deg) scaleY(0.32); } }
@keyframes couture-at-orbit-2 { to { transform: rotateZ(420deg) scaleY(0.32); } }
@keyframes couture-at-orbit-3 { to { transform: rotateZ(300deg) scaleY(0.32); } }

/* Style: minimal (no electron dots, just orbital lines) */
.couture-atom[data-atom-style="minimal"] .cat-orbit::before {
  display: none;
}

/* Style: dotted (orbits dashed instead of solid) */
.couture-atom[data-atom-style="dotted"] .cat-orbit {
  border-style: dotted;
  border-width: 2px;
}

/* Tone variants */
.couture-atom[data-atom-tone="accent"]   { --at-color: var(--c-accent, #c25a3a); }
.couture-atom[data-atom-tone="electric"] { --at-color: #1d8cf0; }

/* Sizes */
.couture-atom[data-atom-size="sm"] { width: 40px; height: 40px; }
.couture-atom[data-atom-size="sm"]::before { width: 8px; height: 8px; margin: -4px 0 0 -4px; }
.couture-atom[data-atom-size="sm"] .cat-orbit { inset: 2px; border-width: 1px; }
.couture-atom[data-atom-size="sm"] .cat-orbit::before { width: 4px; height: 4px; margin-top: -2px; }

.couture-atom[data-atom-size="lg"] { width: 96px; height: 96px; }
.couture-atom[data-atom-size="lg"]::before { width: 18px; height: 18px; margin: -9px 0 0 -9px; }
.couture-atom[data-atom-size="lg"] .cat-orbit { inset: 6px; border-width: 2px; }
.couture-atom[data-atom-size="lg"] .cat-orbit::before { width: 7px; height: 7px; margin-top: -3.5px; }

@media (prefers-reduced-motion: reduce) {
  .couture-atom.is-spinning .cat-orbit:nth-child(n) {
    animation: none;
  }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-182 .couture-lock-key — padlock + key pair
   Use for "secure checkout", "members area", "private collection",
   "VIP access" callouts. Two SVG-mask glyphs side by side; key slides
   toward lock on hover. Variants: classic/outline/shaded · ink/accent/
   aqua/navy · sm/md/lg.
   ───────────────────────────────────────────────────────────────── */
.couture-lock-key {
  --lk-color: var(--c-ink, #111);
  --lk-gap: 6px;
  display: inline-flex;
  align-items: center;
  gap: var(--lk-gap);
  vertical-align: middle;
  line-height: 1;
}
.couture-lock-key .lk-lock,
.couture-lock-key .lk-key {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: var(--lk-color);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: transform 280ms cubic-bezier(.4,.2,.2,1);
}
.couture-lock-key .lk-lock {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10V7a5 5 0 0 1 10 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/><rect x='5' y='10' width='14' height='10' rx='2' fill='black'/><circle cx='12' cy='15' r='1.4' fill='white'/><rect x='11.3' y='15' width='1.4' height='3' fill='white'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10V7a5 5 0 0 1 10 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/><rect x='5' y='10' width='14' height='10' rx='2' fill='black'/><circle cx='12' cy='15' r='1.4' fill='white'/><rect x='11.3' y='15' width='1.4' height='3' fill='white'/></svg>");
}
.couture-lock-key .lk-key {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='7' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/><path d='M11 12 H21 M18 12 V15 M21 12 V14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='7' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/><path d='M11 12 H21 M18 12 V15 M21 12 V14.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>");
}

/* Hover: key glides toward lock + lock gives a subtle bounce */
.couture-lock-key:hover .lk-key,
.couture-lock-key:focus-within .lk-key {
  transform: translateX(-3px) rotate(-8deg);
}
.couture-lock-key:hover .lk-lock,
.couture-lock-key:focus-within .lk-lock {
  transform: translateY(-1px) scale(1.04);
}

/* Style: outline (mask uses outline-only SVG) */
.couture-lock-key[data-lock-key-style="outline"] .lk-lock {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10V7a5 5 0 0 1 10 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/><rect x='5' y='10' width='14' height='10' rx='2' fill='none' stroke='black' stroke-width='2'/><circle cx='12' cy='15' r='1.4' fill='black'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10V7a5 5 0 0 1 10 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/><rect x='5' y='10' width='14' height='10' rx='2' fill='none' stroke='black' stroke-width='2'/><circle cx='12' cy='15' r='1.4' fill='black'/></svg>");
}

/* Style: shaded — adds a soft glow behind both glyphs */
.couture-lock-key[data-lock-key-style="shaded"] {
  padding: 4px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--lk-color) 8%, transparent);
}

/* Tone variants */
.couture-lock-key[data-lock-key-tone="ink"]    { --lk-color: var(--c-ink, #111); }
.couture-lock-key[data-lock-key-tone="accent"] { --lk-color: var(--c-accent, #c25a3a); }
.couture-lock-key[data-lock-key-tone="aqua"]   { --lk-color: #2a9d8f; }
.couture-lock-key[data-lock-key-tone="navy"]   { --lk-color: #1f3a5f; }

/* Sizes */
.couture-lock-key[data-lock-key-size="sm"] .lk-lock,
.couture-lock-key[data-lock-key-size="sm"] .lk-key {
  width: 14px;
  height: 14px;
}
.couture-lock-key[data-lock-key-size="sm"] { --lk-gap: 4px; }

.couture-lock-key[data-lock-key-size="lg"] .lk-lock,
.couture-lock-key[data-lock-key-size="lg"] .lk-key {
  width: 32px;
  height: 32px;
}
.couture-lock-key[data-lock-key-size="lg"] { --lk-gap: 10px; }

@media (prefers-reduced-motion: reduce) {
  .couture-lock-key .lk-lock,
  .couture-lock-key .lk-key {
    transition: none;
  }
  .couture-lock-key:hover .lk-key,
  .couture-lock-key:focus-within .lk-key,
  .couture-lock-key:hover .lk-lock,
  .couture-lock-key:focus-within .lk-lock {
    transform: none;
  }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-183 .couture-peak-stack — layered mountain triangles
   3 stacked clip-path triangles (back/mid/front) suggesting
   horizon depth. Use for outdoor / adventure / sustainability /
   journey hero accents. Optional snow caps + sun.
   Variants: alps/dunes/volcano via [data-peak-style] · ink/aqua/
   sand/dusk via [data-peak-tone] · sm/md/lg via [data-peak-size].
   ───────────────────────────────────────────────────────────────── */
.couture-peak-stack {
  --pk-back:  color-mix(in srgb, var(--c-ink, #111) 22%, transparent);
  --pk-mid:   color-mix(in srgb, var(--c-ink, #111) 45%, transparent);
  --pk-front: var(--c-ink, #111);
  --pk-sky:   transparent;
  --pk-snow:  #fff;
  --pk-sun:   var(--c-accent, #c25a3a);
  position: relative;
  display: inline-block;
  width: 160px;
  height: 80px;
  background: var(--pk-sky);
  overflow: hidden;
  vertical-align: bottom;
  line-height: 0;
}
.couture-peak-stack .pk-back,
.couture-peak-stack .pk-mid,
.couture-peak-stack .pk-front,
.couture-peak-stack .pk-sun {
  position: absolute;
  inset: 0;
  display: block;
}
.couture-peak-stack .pk-back {
  background: var(--pk-back);
  clip-path: polygon(0% 100%, 18% 55%, 32% 70%, 52% 35%, 70% 60%, 88% 45%, 100% 65%, 100% 100%);
}
.couture-peak-stack .pk-mid {
  background: var(--pk-mid);
  clip-path: polygon(0% 100%, 10% 75%, 28% 55%, 45% 78%, 62% 50%, 80% 70%, 100% 60%, 100% 100%);
}
.couture-peak-stack .pk-front {
  background: var(--pk-front);
  clip-path: polygon(0% 100%, 6% 88%, 22% 70%, 40% 90%, 58% 72%, 75% 88%, 92% 78%, 100% 92%, 100% 100%);
}
.couture-peak-stack .pk-sun {
  width: 18%;
  aspect-ratio: 1 / 1;
  height: auto;
  inset: auto auto 60% 70%;
  border-radius: 50%;
  background: var(--pk-sun);
  opacity: .85;
}

/* Optional snow cap on the front peak — small white triangle accent */
.couture-peak-stack[data-peak-snow="on"] .pk-front {
  background:
    linear-gradient(135deg, var(--pk-snow) 0 18%, transparent 18% 100%) no-repeat 38% 70% / 8% 14%,
    var(--pk-front);
}

/* Style: dunes — softer, rounded mounds (use ellipse-like clip) */
.couture-peak-stack[data-peak-style="dunes"] .pk-back {
  clip-path: polygon(0% 100%, 0% 70%, 25% 55%, 50% 65%, 75% 50%, 100% 60%, 100% 100%);
}
.couture-peak-stack[data-peak-style="dunes"] .pk-mid {
  clip-path: polygon(0% 100%, 0% 80%, 30% 70%, 60% 75%, 100% 70%, 100% 100%);
}
.couture-peak-stack[data-peak-style="dunes"] .pk-front {
  clip-path: polygon(0% 100%, 0% 90%, 35% 80%, 70% 85%, 100% 82%, 100% 100%);
}

/* Style: volcano — single dramatic peak with truncated top */
.couture-peak-stack[data-peak-style="volcano"] .pk-back {
  clip-path: polygon(0% 100%, 30% 30%, 36% 30%, 70% 65%, 100% 100%);
}
.couture-peak-stack[data-peak-style="volcano"] .pk-mid {
  clip-path: polygon(0% 100%, 25% 60%, 50% 45%, 75% 70%, 100% 100%);
  opacity: .8;
}
.couture-peak-stack[data-peak-style="volcano"] .pk-front {
  clip-path: polygon(0% 100%, 20% 80%, 50% 70%, 80% 85%, 100% 100%);
}

/* Tones */
.couture-peak-stack[data-peak-tone="ink"]  { --pk-front: var(--c-ink, #111); }
.couture-peak-stack[data-peak-tone="aqua"] {
  --pk-front: #2a5d6e;
  --pk-mid:   color-mix(in srgb, #2a5d6e 60%, transparent);
  --pk-back:  color-mix(in srgb, #2a5d6e 30%, transparent);
}
.couture-peak-stack[data-peak-tone="sand"] {
  --pk-front: #b08658;
  --pk-mid:   color-mix(in srgb, #b08658 60%, transparent);
  --pk-back:  color-mix(in srgb, #b08658 30%, transparent);
  --pk-sun:   #f4c267;
}
.couture-peak-stack[data-peak-tone="dusk"] {
  --pk-front: #2c2746;
  --pk-mid:   #4a3f6e;
  --pk-back:  #6b5d8f;
  --pk-sun:   #ff8b6b;
}

/* Sizes */
.couture-peak-stack[data-peak-size="sm"] { width: 96px;  height: 48px; }
.couture-peak-stack[data-peak-size="lg"] { width: 240px; height: 120px; }

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-184 .couture-ship-track — order-tracking horizontal rail
   4-stop progress (Ordered → Packed → Shipped → Delivered) with a
   filled bar up to the current stop and a pulsing dot at the active
   step. Drive with [data-ship-step="1..4"]. Variants:
   classic/dashed/dotted via [data-ship-style] · ink/accent/aqua via
   [data-ship-tone] · sm/md/lg via [data-ship-size].
   Markup expectation:
     <div class="couture-ship-track" data-ship-step="3">
       <div class="st-line"><i class="st-fill"></i></div>
       <ol class="st-stops">
         <li><span class="st-dot"></span><span class="st-lbl">Ordered</span></li>
         <li><span class="st-dot"></span><span class="st-lbl">Packed</span></li>
         <li><span class="st-dot"></span><span class="st-lbl">Shipped</span></li>
         <li><span class="st-dot"></span><span class="st-lbl">Delivered</span></li>
       </ol>
     </div>
   ───────────────────────────────────────────────────────────────── */
.couture-ship-track {
  --st-color: var(--c-ink, #111);
  --st-muted: color-mix(in srgb, var(--c-ink, #111) 18%, transparent);
  --st-bg:    color-mix(in srgb, var(--c-ink, #111) 8%, transparent);
  position: relative;
  display: block;
  width: 100%;
  max-width: 560px;
  padding: 18px 12px 6px;
  font: 600 12px/1.2 var(--c-font, system-ui, sans-serif);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.couture-ship-track .st-line {
  position: absolute;
  left: 28px;
  right: 28px;
  top: 26px;
  height: 4px;
  border-radius: 999px;
  background: var(--st-muted);
  overflow: hidden;
}
.couture-ship-track .st-line .st-fill {
  display: block;
  width: 0%;
  height: 100%;
  background: var(--st-color);
  border-radius: 999px;
  transition: width 600ms cubic-bezier(.4,.2,.2,1);
}
.couture-ship-track .st-stops {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.couture-ship-track .st-stops > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  position: relative;
}
.couture-ship-track .st-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--st-muted);
  box-shadow: 0 0 0 3px var(--st-bg);
  position: relative;
  z-index: 1;
}
.couture-ship-track .st-lbl {
  color: color-mix(in srgb, var(--st-color) 55%, transparent);
  white-space: nowrap;
}

/* Step driver — fill bar + mark stops at/before current as complete */
.couture-ship-track[data-ship-step="1"] .st-fill { width: 0%; }
.couture-ship-track[data-ship-step="2"] .st-fill { width: 33.33%; }
.couture-ship-track[data-ship-step="3"] .st-fill { width: 66.66%; }
.couture-ship-track[data-ship-step="4"] .st-fill { width: 100%; }

.couture-ship-track[data-ship-step="1"] .st-stops > li:nth-child(-n+1) .st-dot,
.couture-ship-track[data-ship-step="2"] .st-stops > li:nth-child(-n+2) .st-dot,
.couture-ship-track[data-ship-step="3"] .st-stops > li:nth-child(-n+3) .st-dot,
.couture-ship-track[data-ship-step="4"] .st-stops > li:nth-child(-n+4) .st-dot {
  background: var(--st-color);
  border-color: var(--st-color);
}
.couture-ship-track[data-ship-step="1"] .st-stops > li:nth-child(-n+1) .st-lbl,
.couture-ship-track[data-ship-step="2"] .st-stops > li:nth-child(-n+2) .st-lbl,
.couture-ship-track[data-ship-step="3"] .st-stops > li:nth-child(-n+3) .st-lbl,
.couture-ship-track[data-ship-step="4"] .st-stops > li:nth-child(-n+4) .st-lbl {
  color: var(--st-color);
}

/* Pulsing dot on the CURRENT step (last completed) */
.couture-ship-track[data-ship-step="1"] .st-stops > li:nth-child(1) .st-dot::after,
.couture-ship-track[data-ship-step="2"] .st-stops > li:nth-child(2) .st-dot::after,
.couture-ship-track[data-ship-step="3"] .st-stops > li:nth-child(3) .st-dot::after,
.couture-ship-track[data-ship-step="4"] .st-stops > li:nth-child(4) .st-dot::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid var(--st-color);
  opacity: .6;
  animation: cst-pulse 1.6s ease-out infinite;
}
@keyframes cst-pulse {
  0%   { transform: scale(.6); opacity: .8; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* Style variants on the track line */
.couture-ship-track[data-ship-style="dashed"] .st-line {
  background: repeating-linear-gradient(90deg,
    var(--st-muted) 0 6px, transparent 6px 10px);
}
.couture-ship-track[data-ship-style="dotted"] .st-line {
  background: radial-gradient(circle, var(--st-muted) 0 30%, transparent 32%) 0 50% / 8px 8px repeat-x;
  height: 8px;
  top: 24px;
}

/* Tones */
.couture-ship-track[data-ship-tone="ink"]    { --st-color: var(--c-ink, #111); }
.couture-ship-track[data-ship-tone="accent"] { --st-color: var(--c-accent, #c25a3a); }
.couture-ship-track[data-ship-tone="aqua"]   { --st-color: #2a9d8f; }

/* Sizes */
.couture-ship-track[data-ship-size="sm"] {
  font-size: 10px;
  max-width: 360px;
  padding: 14px 8px 4px;
}
.couture-ship-track[data-ship-size="sm"] .st-dot { width: 10px; height: 10px; }
.couture-ship-track[data-ship-size="sm"] .st-line { top: 20px; left: 20px; right: 20px; height: 3px; }

.couture-ship-track[data-ship-size="lg"] {
  font-size: 13px;
  max-width: 720px;
  padding: 22px 16px 8px;
}
.couture-ship-track[data-ship-size="lg"] .st-dot { width: 18px; height: 18px; }
.couture-ship-track[data-ship-size="lg"] .st-line { top: 30px; left: 36px; right: 36px; height: 5px; }

@media (prefers-reduced-motion: reduce) {
  .couture-ship-track .st-line .st-fill { transition: none; }
  .couture-ship-track .st-dot::after { animation: none; opacity: .4; }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-185 .couture-telescope — mini telescope decoration
   Tilted SVG-mask spyglass with optional twinkling star above.
   Use for "discovery", "explore", "observatory", "vision" eyebrows.
   Variants: brass/spyglass/scope via [data-tele-style] · ink/brass/
   navy/accent via [data-tele-tone] · sm/md/lg via [data-tele-size].
   ───────────────────────────────────────────────────────────────── */
.couture-telescope {
  --tl-color: var(--c-ink, #111);
  --tl-star:  var(--c-accent, #c25a3a);
  position: relative;
  display: inline-block;
  width: 36px;
  height: 36px;
  vertical-align: middle;
  line-height: 0;
}
.couture-telescope .tl-scope {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--tl-color);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g transform='rotate(-25 16 16)'><rect x='5' y='13' width='14' height='6' rx='1' fill='black'/><path d='M19 11 L27 9 L27 23 L19 21 Z' fill='black'/><rect x='3' y='14' width='3' height='4' rx='1' fill='black'/><circle cx='14' cy='24' r='1.5' fill='black'/><rect x='13' y='19' width='2' height='5' fill='black'/></g></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g transform='rotate(-25 16 16)'><rect x='5' y='13' width='14' height='6' rx='1' fill='black'/><path d='M19 11 L27 9 L27 23 L19 21 Z' fill='black'/><rect x='3' y='14' width='3' height='4' rx='1' fill='black'/><circle cx='14' cy='24' r='1.5' fill='black'/><rect x='13' y='19' width='2' height='5' fill='black'/></g></svg>");
}

/* Twinkling 4-point star floating above the eyepiece */
.couture-telescope .tl-star {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 12px;
  height: 12px;
  background: var(--tl-star);
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0 L9.5 6.5 L16 8 L9.5 9.5 L8 16 L6.5 9.5 L0 8 L6.5 6.5 Z' fill='black'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 0 L9.5 6.5 L16 8 L9.5 9.5 L8 16 L6.5 9.5 L0 8 L6.5 6.5 Z' fill='black'/></svg>");
  animation: ctl-twinkle 2.4s ease-in-out infinite;
}
@keyframes ctl-twinkle {
  0%, 100% { transform: scale(1) rotate(0deg);   opacity: 1; }
  50%      { transform: scale(.6) rotate(45deg); opacity: .55; }
}

/* Style: spyglass — single barrel without rim */
.couture-telescope[data-tele-style="spyglass"] .tl-scope {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g transform='rotate(-25 16 16)'><path d='M4 14 L22 12 L26 11 L26 21 L22 20 L4 18 Z' fill='black'/></g></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g transform='rotate(-25 16 16)'><path d='M4 14 L22 12 L26 11 L26 21 L22 20 L4 18 Z' fill='black'/></g></svg>");
}

/* Style: scope — refractor on a tripod */
.couture-telescope[data-tele-style="scope"] .tl-scope {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g transform='rotate(-25 16 16)'><rect x='5' y='13' width='18' height='5' rx='1' fill='black'/><circle cx='23' cy='15.5' r='3.5' fill='black'/><rect x='13' y='18' width='2' height='6' fill='black'/><path d='M11 28 L14 20 L17 28 Z' fill='black'/></g></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g transform='rotate(-25 16 16)'><rect x='5' y='13' width='18' height='5' rx='1' fill='black'/><circle cx='23' cy='15.5' r='3.5' fill='black'/><rect x='13' y='18' width='2' height='6' fill='black'/><path d='M11 28 L14 20 L17 28 Z' fill='black'/></g></svg>");
}

/* Tones */
.couture-telescope[data-tele-tone="ink"]    { --tl-color: var(--c-ink, #111); }
.couture-telescope[data-tele-tone="brass"]  { --tl-color: #b88a47; --tl-star: #f4c267; }
.couture-telescope[data-tele-tone="navy"]   { --tl-color: #1f3a5f; --tl-star: #ffd45c; }
.couture-telescope[data-tele-tone="accent"] { --tl-color: var(--c-accent, #c25a3a); }

/* Sizes */
.couture-telescope[data-tele-size="sm"] { width: 22px; height: 22px; }
.couture-telescope[data-tele-size="sm"] .tl-star { width: 8px; height: 8px; top: -3px; right: -3px; }
.couture-telescope[data-tele-size="lg"] { width: 56px; height: 56px; }
.couture-telescope[data-tele-size="lg"] .tl-star { width: 16px; height: 16px; top: -5px; right: -5px; }

/* Hover: gentle scope nudge — the wielder pans across the sky */
.couture-telescope { transition: transform 320ms cubic-bezier(.4,.2,.2,1); }
.couture-telescope:hover,
.couture-telescope:focus-within { transform: rotate(6deg); }

@media (prefers-reduced-motion: reduce) {
  .couture-telescope { transition: none; }
  .couture-telescope:hover,
  .couture-telescope:focus-within { transform: none; }
  .couture-telescope .tl-star { animation: none; opacity: .8; }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-186 .couture-origami-env — folded-paper envelope mark
   Pure-CSS envelope with a triangular flap that lifts on hover
   (z-axis fold illusion). Use beside "subscribe", "newsletter",
   "contact us", "send", "share by mail" CTAs.
   Variants: classic/airmail/wax via [data-env-style] · ink/cream/
   navy/accent via [data-env-tone] · sm/md/lg via [data-env-size].
   ───────────────────────────────────────────────────────────────── */
.couture-origami-env {
  --en-color: var(--c-ink, #111);
  --en-paper: #fff;
  --en-shadow: color-mix(in srgb, var(--c-ink, #111) 22%, transparent);
  position: relative;
  display: inline-block;
  width: 44px;
  height: 32px;
  vertical-align: middle;
  perspective: 240px;
}
.couture-origami-env .en-body,
.couture-origami-env .en-flap,
.couture-origami-env .en-flap::before {
  position: absolute;
  inset: 0;
  display: block;
}
.couture-origami-env .en-body {
  background: var(--en-paper);
  border: 1.5px solid var(--en-color);
  border-radius: 2px;
  /* V-shape interior crease */
  background-image:
    linear-gradient(135deg, transparent 49%, var(--en-color) 49% 51%, transparent 51%),
    linear-gradient(45deg,  transparent 49%, var(--en-color) 49% 51%, transparent 51%);
  background-size: 50% 100%, 50% 100%;
  background-position: 0 0, 100% 0;
  background-repeat: no-repeat;
}
.couture-origami-env .en-flap {
  background: var(--en-paper);
  border: 1.5px solid var(--en-color);
  border-radius: 2px 2px 0 0;
  clip-path: polygon(0 0, 100% 0, 50% 60%);
  transform-origin: top center;
  transition: transform 360ms cubic-bezier(.4,.2,.2,1), box-shadow 360ms;
  box-shadow: 0 0 0 transparent;
}

/* Hover: flap lifts back, casting a shadow */
.couture-origami-env:hover .en-flap,
.couture-origami-env:focus-within .en-flap {
  transform: rotateX(-160deg) translateY(-2px);
  box-shadow: 0 4px 8px var(--en-shadow);
}

/* Style: airmail — diagonal red/blue stripe pattern on the body edge */
.couture-origami-env[data-env-style="airmail"] .en-body {
  background-image:
    repeating-linear-gradient(45deg,
      #c0392b 0 4px,
      transparent 4px 8px,
      #1f3a8a 8px 12px,
      transparent 12px 16px),
    linear-gradient(135deg, transparent 49%, var(--en-color) 49% 51%, transparent 51%),
    linear-gradient(45deg,  transparent 49%, var(--en-color) 49% 51%, transparent 51%);
  background-size: 100% 100%, 50% 100%, 50% 100%;
  background-position: 0 0, 0 0, 100% 0;
  background-repeat: repeat, no-repeat, no-repeat;
}

/* Style: wax — circular accent seal on the flap */
.couture-origami-env[data-env-style="wax"] .en-body::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 55%;
  width: 26%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--c-accent, #c25a3a);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--c-accent, #c25a3a) 50%, black);
  z-index: 2;
}

/* Tones */
.couture-origami-env[data-env-tone="ink"]    { --en-color: var(--c-ink, #111); --en-paper: #fff; }
.couture-origami-env[data-env-tone="cream"]  { --en-color: #6b563a; --en-paper: #f5ecd9; }
.couture-origami-env[data-env-tone="navy"]   { --en-color: #1f3a5f; --en-paper: #e8eef7; }
.couture-origami-env[data-env-tone="accent"] { --en-color: var(--c-accent, #c25a3a); --en-paper: #fff; }

/* Sizes */
.couture-origami-env[data-env-size="sm"] { width: 28px;  height: 20px; }
.couture-origami-env[data-env-size="lg"] { width: 72px;  height: 52px; }

@media (prefers-reduced-motion: reduce) {
  .couture-origami-env .en-flap { transition: none; }
  .couture-origami-env:hover .en-flap,
  .couture-origami-env:focus-within .en-flap {
    transform: none;
    box-shadow: none;
  }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-187 .couture-knit-grid — textured knitted-grid backdrop
   Pure-CSS V-stitch repeating pattern (interlocking diagonals) for
   fashion/cozy/handmade hero/section backgrounds. No images, no JS.
   Variants: stockinette/herringbone/cable via [data-knit-style] ·
   wool/cream/charcoal/sage via [data-knit-tone] · sm/md/lg via
   [data-knit-density].
   ───────────────────────────────────────────────────────────────── */
.couture-knit-grid {
  --kg-yarn:  color-mix(in srgb, var(--c-ink, #111) 16%, transparent);
  --kg-bg:    #f6f1e8;
  --kg-cell:  14px;
  background-color: var(--kg-bg);
  background-image:
    /* up-stroke of each V */
    linear-gradient(45deg,  transparent 46%, var(--kg-yarn) 46% 54%, transparent 54%),
    /* down-stroke of each V */
    linear-gradient(-45deg, transparent 46%, var(--kg-yarn) 46% 54%, transparent 54%);
  background-size: var(--kg-cell) var(--kg-cell);
  background-position: 0 0, 0 0;
}

/* Style: herringbone — staggered diagonal bricks */
.couture-knit-grid[data-knit-style="herringbone"] {
  background-image:
    repeating-linear-gradient(45deg,
      var(--kg-yarn) 0 2px,
      transparent 2px var(--kg-cell)),
    repeating-linear-gradient(-45deg,
      var(--kg-yarn) 0 2px,
      transparent 2px var(--kg-cell));
  background-size: calc(var(--kg-cell) * 2) calc(var(--kg-cell) * 2);
  background-position: 0 0, var(--kg-cell) var(--kg-cell);
}

/* Style: cable — vertical rope-twist columns */
.couture-knit-grid[data-knit-style="cable"] {
  --kg-cell: 18px;
  background-image:
    radial-gradient(ellipse 40% 25% at 50% 25%,
      var(--kg-yarn) 0 60%, transparent 62%),
    radial-gradient(ellipse 40% 25% at 50% 75%,
      var(--kg-yarn) 0 60%, transparent 62%),
    linear-gradient(90deg,
      transparent 0 calc(50% - 1px),
      color-mix(in srgb, var(--kg-yarn) 60%, transparent) calc(50% - 1px) calc(50% + 1px),
      transparent calc(50% + 1px) 100%);
  background-size: var(--kg-cell) var(--kg-cell), var(--kg-cell) var(--kg-cell), var(--kg-cell) 100%;
  background-position: 0 0, 0 50%, 0 0;
}

/* Tones */
.couture-knit-grid[data-knit-tone="wool"]     { --kg-bg: #e9e2d2; --kg-yarn: color-mix(in srgb, #5b4a32 30%, transparent); }
.couture-knit-grid[data-knit-tone="cream"]    { --kg-bg: #faf5ea; --kg-yarn: color-mix(in srgb, #8b7755 22%, transparent); }
.couture-knit-grid[data-knit-tone="charcoal"] { --kg-bg: #2a2a2e; --kg-yarn: color-mix(in srgb, #fff 18%, transparent); }
.couture-knit-grid[data-knit-tone="sage"]     { --kg-bg: #dde6d8; --kg-yarn: color-mix(in srgb, #3d5a3a 28%, transparent); }

/* Density (cell size controls visible scale) */
.couture-knit-grid[data-knit-density="sm"] { --kg-cell: 8px; }
.couture-knit-grid[data-knit-density="lg"] { --kg-cell: 22px; }

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-188 .couture-connector-path — dashed path between items
   Horizontal or vertical dashed connector with arrowhead at the end
   and an optional dot that travels along the path. Use to connect
   step cards, "before → after" tiles, journey/process flows.
   Variants: dashed/dotted/solid via [data-conn-style] · ink/accent/
   aqua/sand via [data-conn-tone] · h/v via [data-conn-axis] ·
   sm/md/lg via [data-conn-size]. Add .is-flowing for the dot anim.
   ───────────────────────────────────────────────────────────────── */
.couture-connector-path {
  --cp-color: var(--c-ink, #111);
  --cp-thickness: 2px;
  --cp-dash: 8px 6px;
  position: relative;
  display: inline-block;
  width: 120px;
  height: 16px;
  vertical-align: middle;
}
.couture-connector-path::before {
  /* The path itself */
  content: "";
  position: absolute;
  left: 0;
  right: 14px;            /* leave room for arrowhead */
  top: 50%;
  height: var(--cp-thickness);
  transform: translateY(-50%);
  background-image: linear-gradient(90deg, var(--cp-color) 50%, transparent 50%);
  background-size: var(--cp-dash);
  background-repeat: repeat-x;
}
.couture-connector-path::after {
  /* Arrowhead at the end */
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid var(--cp-color);
  transform: translateY(-50%);
}

/* Optional travelling dot (gated by .is-flowing) */
.couture-connector-path.is-flowing > .cp-dot {
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cp-color);
  transform: translate(0, -50%);
  animation: ccp-flow 1.8s ease-in-out infinite;
}
@keyframes ccp-flow {
  0%   { left: 0;       opacity: 0; transform: translate(0, -50%) scale(.7); }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { left: calc(100% - 22px); opacity: 0; transform: translate(0, -50%) scale(.7); }
}

/* Style: dotted (round dots instead of dashes) */
.couture-connector-path[data-conn-style="dotted"]::before {
  background-image: radial-gradient(circle, var(--cp-color) 0 35%, transparent 36%);
  background-size: 8px var(--cp-thickness);
  background-position: 0 50%;
  height: 4px;
}

/* Style: solid */
.couture-connector-path[data-conn-style="solid"]::before {
  background-image: linear-gradient(90deg, var(--cp-color), var(--cp-color));
  background-size: 100% 100%;
}

/* Vertical axis */
.couture-connector-path[data-conn-axis="v"] {
  width: 16px;
  height: 120px;
}
.couture-connector-path[data-conn-axis="v"]::before {
  left: 50%;
  right: auto;
  top: 0;
  bottom: 14px;
  width: var(--cp-thickness);
  height: auto;
  transform: translateX(-50%);
  background-image: linear-gradient(180deg, var(--cp-color) 50%, transparent 50%);
  background-size: var(--cp-thickness) calc(var(--cp-dash) + 0px); /* use first part */
  background-size: var(--cp-thickness) 14px;
  background-repeat: repeat-y;
}
.couture-connector-path[data-conn-axis="v"]::after {
  left: 50%;
  right: auto;
  bottom: 0;
  top: auto;
  border-top: 10px solid var(--cp-color);
  border-bottom: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  transform: translateX(-50%);
}
.couture-connector-path[data-conn-axis="v"].is-flowing > .cp-dot {
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  animation: ccp-flow-v 1.8s ease-in-out infinite;
}
@keyframes ccp-flow-v {
  0%   { top: 0;   opacity: 0; transform: translate(-50%, 0) scale(.7); }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { top: calc(100% - 22px); opacity: 0; transform: translate(-50%, 0) scale(.7); }
}

/* Tones */
.couture-connector-path[data-conn-tone="ink"]    { --cp-color: var(--c-ink, #111); }
.couture-connector-path[data-conn-tone="accent"] { --cp-color: var(--c-accent, #c25a3a); }
.couture-connector-path[data-conn-tone="aqua"]   { --cp-color: #2a9d8f; }
.couture-connector-path[data-conn-tone="sand"]   { --cp-color: #b08658; }

/* Sizes (length defaults; consumer can override width/height inline) */
.couture-connector-path[data-conn-size="sm"] { width: 64px; }
.couture-connector-path[data-conn-size="sm"][data-conn-axis="v"] { width: 12px; height: 64px; }
.couture-connector-path[data-conn-size="lg"] { width: 200px; }
.couture-connector-path[data-conn-size="lg"][data-conn-axis="v"] { width: 20px; height: 200px; }

@media (prefers-reduced-motion: reduce) {
  .couture-connector-path.is-flowing > .cp-dot { animation: none; opacity: .8; }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-189 .couture-page-fold — folded-corner page illustration
   Pure-CSS sheet of paper with a turned-up bottom-right corner.
   Use as the iconographic centerpiece of empty states ("no items
   yet", "your saved list is empty") or 404 / placeholder panels.
   Variants: classic/lined/grid via [data-fold-style] · paper/cream/
   slate/accent via [data-fold-tone] · sm/md/lg via [data-fold-size].
   Hover lifts the dog-ear slightly.
   ───────────────────────────────────────────────────────────────── */
.couture-page-fold {
  --pf-paper:  #fff;
  --pf-edge:   color-mix(in srgb, var(--c-ink, #111) 18%, transparent);
  --pf-fold:   color-mix(in srgb, var(--c-ink, #111) 8%, transparent);
  --pf-shadow: color-mix(in srgb, var(--c-ink, #111) 14%, transparent);
  --pf-rule:   color-mix(in srgb, var(--c-ink, #111) 12%, transparent);
  --pf-corner: 28%;
  position: relative;
  display: inline-block;
  width: 88px;
  height: 112px;
  background: var(--pf-paper);
  border: 1.5px solid var(--pf-edge);
  border-radius: 3px;
  box-shadow: 0 6px 14px var(--pf-shadow);
  vertical-align: middle;
  /* Cut the bottom-right corner so the dog-ear fits cleanly */
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--pf-corner)),
    calc(100% - var(--pf-corner)) 100%,
    0 100%
  );
}
.couture-page-fold::before {
  /* The folded-up corner — a small paper triangle */
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: var(--pf-corner);
  aspect-ratio: 1 / 1;
  background: var(--pf-fold);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  border-top: 1.5px solid var(--pf-edge);
  border-left: 1.5px solid var(--pf-edge);
  box-shadow: -2px -2px 4px color-mix(in srgb, var(--c-ink, #111) 12%, transparent) inset;
  transition: transform 320ms cubic-bezier(.4,.2,.2,1);
}

/* Hover: dog-ear lifts a touch (suggests turning the page) */
.couture-page-fold:hover::before,
.couture-page-fold:focus-within::before {
  transform: translate(-2px, -2px) scale(1.06);
}

/* Style: lined — horizontal rule lines in the body */
.couture-page-fold[data-fold-style="lined"] {
  background-image: repeating-linear-gradient(
    180deg,
    transparent 0 14px,
    var(--pf-rule) 14px 15px
  );
  background-position: 0 18px;
}

/* Style: grid — graph-paper grid in the body */
.couture-page-fold[data-fold-style="grid"] {
  background-image:
    repeating-linear-gradient(0deg,   transparent 0 11px, var(--pf-rule) 11px 12px),
    repeating-linear-gradient(90deg,  transparent 0 11px, var(--pf-rule) 11px 12px);
}

/* Tones */
.couture-page-fold[data-fold-tone="paper"]  { --pf-paper: #fff;     --pf-edge: color-mix(in srgb, var(--c-ink, #111) 18%, transparent); }
.couture-page-fold[data-fold-tone="cream"]  { --pf-paper: #f8f1df;  --pf-edge: #b8a274; --pf-fold: #ede1c0; --pf-rule: color-mix(in srgb, #6b563a 22%, transparent); }
.couture-page-fold[data-fold-tone="slate"]  { --pf-paper: #2a2f37;  --pf-edge: #7a8294; --pf-fold: #1f242b; --pf-rule: color-mix(in srgb, #fff 14%, transparent); --pf-shadow: color-mix(in srgb, #000 35%, transparent); }
.couture-page-fold[data-fold-tone="accent"] { --pf-paper: #fff;     --pf-edge: var(--c-accent, #c25a3a); --pf-fold: color-mix(in srgb, var(--c-accent, #c25a3a) 18%, white); }

/* Sizes */
.couture-page-fold[data-fold-size="sm"] { width: 56px; height: 72px; --pf-corner: 24%; }
.couture-page-fold[data-fold-size="lg"] { width: 132px; height: 168px; --pf-corner: 30%; }

@media (prefers-reduced-motion: reduce) {
  .couture-page-fold::before { transition: none; }
  .couture-page-fold:hover::before,
  .couture-page-fold:focus-within::before { transform: none; }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-190 .couture-boombox — retro boombox decoration
   Pure-CSS '80s ghetto blaster: two spinning speakers, antenna,
   handle, and a small cassette window in the centre. Use beside
   "music", "playlist", "podcast", "vibes" eyebrows.
   Variants: classic/silver/neon via [data-bb-style] · charcoal/red/
   silver/teal via [data-bb-tone] · sm/md/lg via [data-bb-size].
   .is-playing makes both speakers spin.
   ───────────────────────────────────────────────────────────────── */
.couture-boombox {
  --bb-body: #2a2a2e;
  --bb-edge: color-mix(in srgb, #fff 18%, transparent);
  --bb-accent: var(--c-accent, #c25a3a);
  --bb-cone: #1a1a1d;
  --bb-grille: color-mix(in srgb, #fff 12%, transparent);
  position: relative;
  display: inline-block;
  width: 120px;
  height: 72px;
  vertical-align: middle;
}
.couture-boombox .bb-body {
  position: absolute;
  inset: 14% 0 0 0;
  background: var(--bb-body);
  border: 1.5px solid var(--bb-edge);
  border-radius: 6px;
  box-shadow: inset 0 -2px 0 color-mix(in srgb, #000 30%, transparent);
}
.couture-boombox .bb-handle {
  position: absolute;
  left: 25%;
  right: 25%;
  top: 0;
  height: 16%;
  border: 2px solid var(--bb-body);
  border-bottom: none;
  border-radius: 12px 12px 0 0;
}
.couture-boombox .bb-antenna {
  position: absolute;
  right: 8%;
  top: 0;
  width: 1.5px;
  height: 30%;
  background: var(--bb-edge);
  transform-origin: bottom right;
  transform: rotate(-18deg);
}
.couture-boombox .bb-antenna::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--bb-accent);
}
.couture-boombox .bb-speaker {
  position: absolute;
  top: 26%;
  width: 32%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, var(--bb-cone) 0 30%, transparent 31% 100%),
    repeating-radial-gradient(circle,
      var(--bb-grille) 0 1px,
      transparent 1px 4px);
  border: 1.5px solid var(--bb-edge);
}
.couture-boombox .bb-speaker.bb-l { left: 4%; }
.couture-boombox .bb-speaker.bb-r { right: 4%; }
.couture-boombox .bb-cassette {
  position: absolute;
  left: 38%;
  top: 30%;
  width: 24%;
  height: 26%;
  background: color-mix(in srgb, #fff 8%, transparent);
  border: 1px solid var(--bb-edge);
  border-radius: 2px;
}
.couture-boombox .bb-cassette::before,
.couture-boombox .bb-cassette::after {
  content: "";
  position: absolute;
  top: 30%;
  width: 22%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--bb-cone);
  border: 1px solid var(--bb-edge);
}
.couture-boombox .bb-cassette::before { left: 18%; }
.couture-boombox .bb-cassette::after  { right: 18%; }

/* Spinning speakers when .is-playing */
.couture-boombox.is-playing .bb-speaker.bb-l { animation: cbb-spin 4.2s linear infinite; }
.couture-boombox.is-playing .bb-speaker.bb-r { animation: cbb-spin 3.6s linear infinite reverse; }
@keyframes cbb-spin {
  to { transform: rotate(360deg); }
}

/* Style: silver — chromed body */
.couture-boombox[data-bb-style="silver"] {
  --bb-body: #c9ccd2;
  --bb-edge: #6a7280;
  --bb-cone: #4a4f59;
  --bb-grille: color-mix(in srgb, #000 20%, transparent);
}

/* Style: neon — magenta accents on dark body */
.couture-boombox[data-bb-style="neon"] {
  --bb-body: #1a1023;
  --bb-edge: #ff5cf2;
  --bb-cone: #2c1a3d;
  --bb-accent: #5cf2ff;
  --bb-grille: color-mix(in srgb, #ff5cf2 18%, transparent);
}

/* Tones */
.couture-boombox[data-bb-tone="charcoal"] { --bb-body: #2a2a2e; }
.couture-boombox[data-bb-tone="red"]      { --bb-body: #8a2a2a; --bb-accent: #ffd45c; }
.couture-boombox[data-bb-tone="silver"]   { --bb-body: #c9ccd2; --bb-edge: #6a7280; --bb-cone: #4a4f59; }
.couture-boombox[data-bb-tone="teal"]     { --bb-body: #1f4a4a; --bb-accent: #ffd45c; }

/* Sizes */
.couture-boombox[data-bb-size="sm"] { width: 80px;  height: 48px; }
.couture-boombox[data-bb-size="lg"] { width: 180px; height: 108px; }

@media (prefers-reduced-motion: reduce) {
  .couture-boombox.is-playing .bb-speaker.bb-l,
  .couture-boombox.is-playing .bb-speaker.bb-r { animation: none; }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-191 .couture-window-blind — venetian-blind reveal
   Wraps any image/section content in a slatted overlay that opens
   like venetian blinds when the wrapper hovers (or .is-open is set).
   Use on hero photos, lookbook tiles, "before/reveal" treatments.
   Variants: horizontal/vertical via [data-blind-axis] · classic/
   slim/slat-wide via [data-blind-style] · ink/cream/pearl via
   [data-blind-tone].
   Markup expectation:
     <span class="couture-window-blind">
       <img src="hero.jpg" alt="">
       <span class="cwb-slats" aria-hidden="true"></span>
     </span>
   ───────────────────────────────────────────────────────────────── */
.couture-window-blind {
  --cwb-slat-color: var(--c-ink, #111);
  --cwb-slat-bg:    color-mix(in srgb, var(--c-ink, #111) 88%, transparent);
  --cwb-slat-h:     12px;     /* slat thickness */
  --cwb-gap:        2px;      /* groove between slats */
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  line-height: 0;
}
.couture-window-blind > img,
.couture-window-blind > picture,
.couture-window-blind > video {
  display: block;
  width: 100%;
  height: auto;
}
.couture-window-blind .cwb-slats {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* Repeating horizontal slats — opaque band + tiny groove */
  background:
    repeating-linear-gradient(
      180deg,
      var(--cwb-slat-bg) 0 var(--cwb-slat-h),
      transparent var(--cwb-slat-h) calc(var(--cwb-slat-h) + var(--cwb-gap))
    );
  background-size: 100% calc(var(--cwb-slat-h) + var(--cwb-gap));
  /* Subtle slat highlight at the top of each band for realism */
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 8%, transparent);
  transition: opacity 480ms cubic-bezier(.4,.2,.2,1),
              transform 480ms cubic-bezier(.4,.2,.2,1);
  transform-origin: top center;
}

/* Open (hover, focus, or .is-open): slats collapse upward */
.couture-window-blind:hover .cwb-slats,
.couture-window-blind:focus-within .cwb-slats,
.couture-window-blind.is-open .cwb-slats {
  opacity: 0;
  transform: scaleY(.04);
}

/* Vertical axis */
.couture-window-blind[data-blind-axis="v"] .cwb-slats {
  background:
    repeating-linear-gradient(
      90deg,
      var(--cwb-slat-bg) 0 var(--cwb-slat-h),
      transparent var(--cwb-slat-h) calc(var(--cwb-slat-h) + var(--cwb-gap))
    );
  background-size: calc(var(--cwb-slat-h) + var(--cwb-gap)) 100%;
  transform-origin: center left;
}
.couture-window-blind[data-blind-axis="v"]:hover .cwb-slats,
.couture-window-blind[data-blind-axis="v"]:focus-within .cwb-slats,
.couture-window-blind[data-blind-axis="v"].is-open .cwb-slats {
  transform: scaleX(.04);
}

/* Style: slim — narrower bands */
.couture-window-blind[data-blind-style="slim"] { --cwb-slat-h: 6px; --cwb-gap: 1px; }

/* Style: slat-wide — bigger reveal moments */
.couture-window-blind[data-blind-style="slat-wide"] { --cwb-slat-h: 22px; --cwb-gap: 3px; }

/* Tones */
.couture-window-blind[data-blind-tone="ink"]   { --cwb-slat-bg: color-mix(in srgb, var(--c-ink, #111) 88%, transparent); }
.couture-window-blind[data-blind-tone="cream"] { --cwb-slat-bg: color-mix(in srgb, #f5ecd9 88%, transparent); }
.couture-window-blind[data-blind-tone="pearl"] { --cwb-slat-bg: color-mix(in srgb, #ecedf0 92%, transparent); }

@media (prefers-reduced-motion: reduce) {
  .couture-window-blind .cwb-slats { transition: none; }
  .couture-window-blind:hover .cwb-slats,
  .couture-window-blind:focus-within .cwb-slats,
  .couture-window-blind.is-open .cwb-slats {
    opacity: 0;
    transform: none;
  }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-192 .couture-mosaic-tile — geometric mosaic block
   Pure-CSS art-deco/byzantine mosaic — a 4×4 grid of tinted squares
   with diagonal cross-lines suggesting tessellated stone tiles.
   Use as section header accent, eyebrow companion, or empty-state
   decoration.
   Variants: square/diamond/checker via [data-mosaic-style] · earth/
   azure/sage/rose via [data-mosaic-tone] · sm/md/lg via
   [data-mosaic-size].
   ───────────────────────────────────────────────────────────────── */
.couture-mosaic-tile {
  --mt-1: var(--c-ink, #111);
  --mt-2: color-mix(in srgb, var(--c-ink, #111) 60%, transparent);
  --mt-3: color-mix(in srgb, var(--c-ink, #111) 30%, transparent);
  --mt-4: color-mix(in srgb, var(--c-ink, #111) 12%, transparent);
  --mt-line: color-mix(in srgb, var(--c-ink, #111) 22%, transparent);
  --mt-cell: 14px;
  position: relative;
  display: inline-block;
  width: calc(var(--mt-cell) * 4);
  height: calc(var(--mt-cell) * 4);
  vertical-align: middle;
  /* 4-tile palette laid out as a 2×2 quad, then repeated 2×2 to make
     a 4×4 visual */
  background:
    /* Row 1 (top half) */
    linear-gradient(var(--mt-1), var(--mt-1)) 0% 0% / 25% 25% no-repeat,
    linear-gradient(var(--mt-3), var(--mt-3)) 25% 0% / 25% 25% no-repeat,
    linear-gradient(var(--mt-2), var(--mt-2)) 50% 0% / 25% 25% no-repeat,
    linear-gradient(var(--mt-4), var(--mt-4)) 75% 0% / 25% 25% no-repeat,
    /* Row 2 */
    linear-gradient(var(--mt-3), var(--mt-3)) 0%  25% / 25% 25% no-repeat,
    linear-gradient(var(--mt-1), var(--mt-1)) 25% 25% / 25% 25% no-repeat,
    linear-gradient(var(--mt-4), var(--mt-4)) 50% 25% / 25% 25% no-repeat,
    linear-gradient(var(--mt-2), var(--mt-2)) 75% 25% / 25% 25% no-repeat,
    /* Row 3 */
    linear-gradient(var(--mt-2), var(--mt-2)) 0%  50% / 25% 25% no-repeat,
    linear-gradient(var(--mt-4), var(--mt-4)) 25% 50% / 25% 25% no-repeat,
    linear-gradient(var(--mt-1), var(--mt-1)) 50% 50% / 25% 25% no-repeat,
    linear-gradient(var(--mt-3), var(--mt-3)) 75% 50% / 25% 25% no-repeat,
    /* Row 4 */
    linear-gradient(var(--mt-4), var(--mt-4)) 0%  75% / 25% 25% no-repeat,
    linear-gradient(var(--mt-2), var(--mt-2)) 25% 75% / 25% 25% no-repeat,
    linear-gradient(var(--mt-3), var(--mt-3)) 50% 75% / 25% 25% no-repeat,
    linear-gradient(var(--mt-1), var(--mt-1)) 75% 75% / 25% 25% no-repeat;
  border: 1px solid var(--mt-line);
  border-radius: 2px;
}

/* Style: diamond — rotate 45° so tiles read as diamonds, with overflow hidden */
.couture-mosaic-tile[data-mosaic-style="diamond"] {
  overflow: hidden;
  border-radius: 4px;
}
.couture-mosaic-tile[data-mosaic-style="diamond"]::before {
  content: "";
  position: absolute;
  inset: -25%;
  background: inherit;
  transform: rotate(45deg);
}

/* Style: checker — only two tones in a chessboard pattern */
.couture-mosaic-tile[data-mosaic-style="checker"] {
  background:
    conic-gradient(from 90deg at 50% 50%,
      var(--mt-1) 0 25%,
      var(--mt-4) 25% 50%,
      var(--mt-1) 50% 75%,
      var(--mt-4) 75% 100%);
  background-size: 50% 50%;
  background-repeat: repeat;
}

/* Tones (4-shade palettes) */
.couture-mosaic-tile[data-mosaic-tone="earth"] {
  --mt-1: #6b563a;
  --mt-2: #a78a5e;
  --mt-3: #d6c39a;
  --mt-4: #ede1c0;
  --mt-line: color-mix(in srgb, #6b563a 30%, transparent);
}
.couture-mosaic-tile[data-mosaic-tone="azure"] {
  --mt-1: #1f3a5f;
  --mt-2: #3b6890;
  --mt-3: #6da3c4;
  --mt-4: #c7dceb;
  --mt-line: color-mix(in srgb, #1f3a5f 30%, transparent);
}
.couture-mosaic-tile[data-mosaic-tone="sage"] {
  --mt-1: #3d5a3a;
  --mt-2: #6b8a64;
  --mt-3: #a3bb98;
  --mt-4: #dde6d8;
  --mt-line: color-mix(in srgb, #3d5a3a 30%, transparent);
}
.couture-mosaic-tile[data-mosaic-tone="rose"] {
  --mt-1: #7d2a3a;
  --mt-2: #b14e62;
  --mt-3: #d68c9c;
  --mt-4: #f4d0d6;
  --mt-line: color-mix(in srgb, #7d2a3a 30%, transparent);
}

/* Sizes */
.couture-mosaic-tile[data-mosaic-size="sm"] { --mt-cell: 8px; }
.couture-mosaic-tile[data-mosaic-size="lg"] { --mt-cell: 22px; }

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-193 .couture-tag-suggest — dashed-outline suggest pill
   Small ghost-pill meant to appear next to a chip/tag row as a
   "+ Add tag" affordance or to surface autocomplete suggestions.
   Variants: dashed/solid/dotted via [data-suggest-style] · ink/
   accent/aqua via [data-suggest-tone] · sm/md/lg via
   [data-suggest-size]. Hover fills the pill.
   ───────────────────────────────────────────────────────────────── */
.couture-tag-suggest {
  --ts-color: var(--c-ink, #111);
  --ts-fill:  color-mix(in srgb, var(--c-ink, #111) 8%, transparent);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  border: 1.5px dashed color-mix(in srgb, var(--ts-color) 55%, transparent);
  background: transparent;
  color: color-mix(in srgb, var(--ts-color) 75%, transparent);
  font: 500 12px/1 var(--c-font, system-ui, sans-serif);
  letter-spacing: .03em;
  cursor: pointer;
  vertical-align: middle;
  transition: background 220ms, border-color 220ms, color 220ms, transform 220ms;
}
.couture-tag-suggest::before {
  /* The "+" glyph */
  content: "";
  width: 10px;
  height: 10px;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><rect x='4.25' y='1' width='1.5' height='8' rx='.5' fill='black'/><rect x='1' y='4.25' width='8' height='1.5' rx='.5' fill='black'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><rect x='4.25' y='1' width='1.5' height='8' rx='.5' fill='black'/><rect x='1' y='4.25' width='8' height='1.5' rx='.5' fill='black'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  flex-shrink: 0;
}

/* Hover/focus: fill softly + bring color to full */
.couture-tag-suggest:hover,
.couture-tag-suggest:focus-visible {
  background: var(--ts-fill);
  border-color: var(--ts-color);
  color: var(--ts-color);
  transform: translateY(-1px);
  outline: none;
}

/* Active state — clicked / pressed */
.couture-tag-suggest:active { transform: translateY(0); }

/* Style: solid (becomes a regular outlined chip awaiting commit) */
.couture-tag-suggest[data-suggest-style="solid"]  { border-style: solid; }
.couture-tag-suggest[data-suggest-style="dotted"] { border-style: dotted; }

/* Tones */
.couture-tag-suggest[data-suggest-tone="ink"]    { --ts-color: var(--c-ink, #111); }
.couture-tag-suggest[data-suggest-tone="accent"] { --ts-color: var(--c-accent, #c25a3a); }
.couture-tag-suggest[data-suggest-tone="aqua"]   { --ts-color: #2a9d8f; }

/* Sizes */
.couture-tag-suggest[data-suggest-size="sm"] {
  font-size: 10px;
  padding: 2px 8px 2px 6px;
}
.couture-tag-suggest[data-suggest-size="sm"]::before { width: 8px; height: 8px; }
.couture-tag-suggest[data-suggest-size="lg"] {
  font-size: 14px;
  padding: 6px 14px 6px 12px;
}
.couture-tag-suggest[data-suggest-size="lg"]::before { width: 12px; height: 12px; }

@media (prefers-reduced-motion: reduce) {
  .couture-tag-suggest { transition: none; }
  .couture-tag-suggest:hover,
  .couture-tag-suggest:focus-visible { transform: none; }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-194 .couture-chapter-fold — story-mode chapter intro
   A wide editorial intro block with a folded paper ribbon across
   the top that says "CHAPTER N" and a generous body well below it.
   Use to break long-form content into discoverable sections.
   Markup expectation:
     <header class="couture-chapter-fold">
       <span class="ccf-ribbon">Chapter 02</span>
       <h2 class="ccf-title">The Quiet Hours</h2>
       <p  class="ccf-lede">A study in restraint…</p>
     </header>
   Variants: classic/etched/banner via [data-chap-style] · ink/cream/
   sage/dusk via [data-chap-tone] · sm/md/lg via [data-chap-size].
   ───────────────────────────────────────────────────────────────── */
.couture-chapter-fold {
  --cf-ink:   var(--c-ink, #111);
  --cf-paper: #fbf7ee;
  --cf-rib:   var(--c-accent, #c25a3a);
  --cf-rule:  color-mix(in srgb, var(--c-ink, #111) 18%, transparent);
  position: relative;
  display: block;
  max-width: 720px;
  margin: clamp(36px, 6vw, 72px) auto clamp(24px, 4vw, 48px);
  padding: clamp(48px, 8vw, 96px) clamp(20px, 4vw, 40px) clamp(24px, 4vw, 48px);
  background: var(--cf-paper);
  color: var(--cf-ink);
  text-align: center;
  border-top: 1px solid var(--cf-rule);
  border-bottom: 1px solid var(--cf-rule);
}
.couture-chapter-fold .ccf-ribbon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  padding: 8px 28px;
  background: var(--cf-rib);
  color: #fff;
  font: 700 11px/1 var(--c-font, system-ui, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
  /* Fold-over notch shape — looks like the ribbon wraps behind */
  clip-path: polygon(
    0 0, 100% 0, calc(100% - 10px) 50%, 100% 100%, 0 100%, 10px 50%
  );
  box-shadow: 0 4px 8px color-mix(in srgb, var(--cf-rib) 30%, transparent);
}
.couture-chapter-fold .ccf-title {
  margin: 0;
  font: 600 clamp(28px, 4vw, 44px)/1.1 var(--c-font-display, var(--c-font, serif));
  letter-spacing: -.01em;
}
.couture-chapter-fold .ccf-lede {
  margin: 16px auto 0;
  max-width: 52ch;
  font: 400 clamp(14px, 1.6vw, 17px)/1.55 var(--c-font, system-ui, sans-serif);
  color: color-mix(in srgb, var(--cf-ink) 72%, transparent);
}

/* Style: etched — heavier serif title with hairline rules above & below the title */
.couture-chapter-fold[data-chap-style="etched"] .ccf-title {
  position: relative;
  display: inline-block;
  padding: 8px 24px;
  font-style: italic;
}
.couture-chapter-fold[data-chap-style="etched"] .ccf-title::before,
.couture-chapter-fold[data-chap-style="etched"] .ccf-title::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 1px;
  background: var(--cf-rule);
}
.couture-chapter-fold[data-chap-style="etched"] .ccf-title::before { top: -8px; }
.couture-chapter-fold[data-chap-style="etched"] .ccf-title::after  { bottom: -8px; }

/* Style: banner — full-width ribbon with no fold notches */
.couture-chapter-fold[data-chap-style="banner"] .ccf-ribbon {
  left: 0;
  right: 0;
  width: 100%;
  transform: translate(0, -50%);
  text-align: center;
  clip-path: none;
  border-radius: 0;
}

/* Tones */
.couture-chapter-fold[data-chap-tone="ink"]   { --cf-paper: #fbf7ee; --cf-ink: var(--c-ink, #111); }
.couture-chapter-fold[data-chap-tone="cream"] { --cf-paper: #f5ecd9; --cf-ink: #5b4a32; --cf-rib: #b88a47; --cf-rule: color-mix(in srgb, #6b563a 22%, transparent); }
.couture-chapter-fold[data-chap-tone="sage"]  { --cf-paper: #e7eee4; --cf-ink: #2d4129; --cf-rib: #5a8a4d; --cf-rule: color-mix(in srgb, #2d4129 22%, transparent); }
.couture-chapter-fold[data-chap-tone="dusk"]  { --cf-paper: #2c2746; --cf-ink: #f0ecff; --cf-rib: #ff8b6b; --cf-rule: color-mix(in srgb, #f0ecff 22%, transparent); }

/* Sizes */
.couture-chapter-fold[data-chap-size="sm"] {
  max-width: 520px;
  padding: clamp(36px, 6vw, 56px) clamp(16px, 3vw, 28px) clamp(20px, 3vw, 32px);
}
.couture-chapter-fold[data-chap-size="lg"] {
  max-width: 920px;
  padding: clamp(64px, 10vw, 120px) clamp(28px, 5vw, 56px) clamp(36px, 6vw, 64px);
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-195 .couture-fold-tile — origami-fold pricing tile
   Pricing/tier card with a diagonally-folded top-right corner that
   reveals an accent triangle. Optional .is-featured raises the tile
   and stamps a "BEST VALUE" notch ribbon across the fold.
   Markup expectation:
     <article class="couture-fold-tile is-featured" data-fold-tone="accent">
       <span class="cft-corner" aria-hidden="true"></span>
       <span class="cft-stamp">Best value</span>
       <h3 class="cft-name">Studio</h3>
       <p  class="cft-price"><span>$</span>29<small>/mo</small></p>
       <ul class="cft-feats"><li>…</li></ul>
       <a  class="cft-cta" href="#">Choose Studio</a>
     </article>
   Variants: classic/etched/notch via [data-fold-style] · ink/accent/
   sage/dusk via [data-fold-tone] · sm/md/lg via [data-fold-size].
   ───────────────────────────────────────────────────────────────── */
.couture-fold-tile {
  --ft-paper:  #fff;
  --ft-ink:    var(--c-ink, #111);
  --ft-accent: var(--c-accent, #c25a3a);
  --ft-rule:   color-mix(in srgb, var(--c-ink, #111) 14%, transparent);
  --ft-shadow: 0 8px 24px color-mix(in srgb, var(--c-ink, #111) 12%, transparent);
  --ft-corner: 56px;
  position: relative;
  display: block;
  background: var(--ft-paper);
  color: var(--ft-ink);
  border: 1px solid var(--ft-rule);
  border-radius: 6px;
  padding: clamp(24px, 3vw, 36px) clamp(20px, 3vw, 28px);
  box-shadow: var(--ft-shadow);
  /* Cut top-right corner so the diagonal flap fits */
  clip-path: polygon(
    0 0,
    calc(100% - var(--ft-corner)) 0,
    100% var(--ft-corner),
    100% 100%,
    0 100%
  );
  transition: transform 320ms cubic-bezier(.4,.2,.2,1), box-shadow 320ms;
}
.couture-fold-tile .cft-corner {
  /* The diagonal accent triangle sitting in the cut */
  position: absolute;
  top: 0;
  right: 0;
  width: var(--ft-corner);
  height: var(--ft-corner);
  background: var(--ft-accent);
  clip-path: polygon(100% 0, 100% 100%, 0 0);
  box-shadow: -2px 2px 4px color-mix(in srgb, var(--ft-ink) 18%, transparent) inset;
}
.couture-fold-tile .cft-stamp {
  /* "Best value" tag — angled across the corner */
  position: absolute;
  top: 14px;
  right: -28px;
  display: inline-block;
  padding: 3px 36px;
  background: var(--ft-ink);
  color: #fff;
  font: 700 9px/1 var(--c-font, system-ui, sans-serif);
  letter-spacing: .22em;
  text-transform: uppercase;
  transform: rotate(45deg);
  transform-origin: center;
  z-index: 2;
  opacity: 0;
  transition: opacity 220ms;
}
.couture-fold-tile.is-featured .cft-stamp { opacity: 1; }
.couture-fold-tile.is-featured {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px color-mix(in srgb, var(--ft-ink) 18%, transparent);
  border-color: var(--ft-accent);
}

.couture-fold-tile .cft-name {
  margin: 0;
  font: 600 14px/1 var(--c-font, system-ui, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--ft-ink) 70%, transparent);
}
.couture-fold-tile .cft-price {
  margin: 12px 0 20px;
  font: 700 clamp(36px, 5vw, 56px)/1 var(--c-font-display, var(--c-font, serif));
  letter-spacing: -.02em;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.couture-fold-tile .cft-price > span {
  font-size: 60%;
  color: color-mix(in srgb, var(--ft-ink) 60%, transparent);
}
.couture-fold-tile .cft-price > small {
  font-size: 36%;
  font-weight: 500;
  letter-spacing: 0;
  color: color-mix(in srgb, var(--ft-ink) 55%, transparent);
}
.couture-fold-tile .cft-feats {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: grid;
  gap: 8px;
}
.couture-fold-tile .cft-feats > li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font: 400 14px/1.4 var(--c-font, system-ui, sans-serif);
  color: color-mix(in srgb, var(--ft-ink) 80%, transparent);
}
.couture-fold-tile .cft-feats > li::before {
  content: "";
  flex-shrink: 0;
  margin-top: 6px;
  width: 6px;
  height: 6px;
  background: var(--ft-accent);
  border-radius: 50%;
}
.couture-fold-tile .cft-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 18px;
  border-radius: 4px;
  background: var(--ft-ink);
  color: #fff;
  font: 600 13px/1 var(--c-font, system-ui, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 220ms, transform 220ms;
}
.couture-fold-tile.is-featured .cft-cta { background: var(--ft-accent); }
.couture-fold-tile .cft-cta:hover { transform: translateY(-1px); }

/* Style: etched — heavier rule above CTA */
.couture-fold-tile[data-fold-style="etched"] .cft-cta {
  background: transparent;
  color: var(--ft-ink);
  border: 1.5px solid var(--ft-ink);
}
.couture-fold-tile[data-fold-style="etched"] .cft-cta:hover {
  background: var(--ft-ink);
  color: #fff;
}

/* Style: notch — square notch removed instead of diagonal fold */
.couture-fold-tile[data-fold-style="notch"] {
  clip-path: polygon(
    0 0,
    calc(100% - var(--ft-corner)) 0,
    calc(100% - var(--ft-corner)) var(--ft-corner),
    100% var(--ft-corner),
    100% 100%,
    0 100%
  );
}
.couture-fold-tile[data-fold-style="notch"] .cft-corner {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* Tones */
.couture-fold-tile[data-fold-tone="ink"]    { --ft-accent: var(--c-ink, #111); }
.couture-fold-tile[data-fold-tone="accent"] { --ft-accent: var(--c-accent, #c25a3a); }
.couture-fold-tile[data-fold-tone="sage"]   { --ft-accent: #5a8a4d; }
.couture-fold-tile[data-fold-tone="dusk"]   { --ft-accent: #6b5d8f; --ft-paper: #2c2746; --ft-ink: #f0ecff; --ft-rule: color-mix(in srgb, #f0ecff 18%, transparent); }

/* Sizes */
.couture-fold-tile[data-fold-size="sm"] { --ft-corner: 40px; padding: 20px; }
.couture-fold-tile[data-fold-size="lg"] { --ft-corner: 72px; padding: clamp(32px, 4vw, 48px) clamp(28px, 3.5vw, 40px); }

@media (prefers-reduced-motion: reduce) {
  .couture-fold-tile,
  .couture-fold-tile .cft-cta,
  .couture-fold-tile .cft-stamp { transition: none; }
  .couture-fold-tile.is-featured { transform: none; }
  .couture-fold-tile .cft-cta:hover { transform: none; }
}

/* ─────────────────────────────────────────────────────────────────
   V6.390 OPERATOR-FIX (sustini.com 2026-05-15) — center
   feature_banner copy in --postcard / --inset / --bleed-fade
   variants. Operator audit: "Kaimana Boardshorts: Recycled
   Materials / Embrace the waves with sustainable style — this
   text not all in center". The shared overlay template has no
   inline alignment so each variant inherits left from the parent.
   --text and --stack-overlay already centered themselves; the
   other three didn't. Now: every variant centers headline + sub
   + eyebrow. --split (50/50 design) intentionally NOT changed —
   left-aligned reads correctly there.
   ───────────────────────────────────────────────────────────────── */
.couture-feature-banner--postcard .fb-postcard-copy,
.couture-feature-banner--inset .fb-overlay,
.couture-feature-banner--bleed-fade .fb-bleed-copy {
  text-align: center;
}
.couture-feature-banner--postcard .fb-postcard-copy .fb-headline,
.couture-feature-banner--postcard .fb-postcard-copy .fb-sub,
.couture-feature-banner--postcard .fb-postcard-copy .fb-eyebrow,
.couture-feature-banner--inset .fb-overlay .fb-headline,
.couture-feature-banner--inset .fb-overlay .fb-sub,
.couture-feature-banner--inset .fb-overlay .fb-eyebrow,
.couture-feature-banner--bleed-fade .fb-bleed-copy .fb-headline,
.couture-feature-banner--bleed-fade .fb-bleed-copy .fb-sub,
.couture-feature-banner--bleed-fade .fb-bleed-copy .fb-eyebrow {
  margin-left: auto;
  margin-right: auto;
}

/* ─────────────────────────────────────────────────────────────────
   V6.390 OPERATOR-FIX (sustini.com 2026-05-15) — center press /
   review page sections. Operator audit: "Page content, such as
   review, once again not in center." The .couture-page wrapper
   forces width:100% + max-width:none and only re-centers a small
   whitelist of children at lines 351-368. Press/review page
   children (.press-features, .press-wall-section, .press-contact,
   .press-kit, .press-disclosure) were NOT in the whitelist, so
   they rendered full-bleed without padding and visually drifted
   left. Add them now. Same applies for any future per-page review
   wrapper.
   ───────────────────────────────────────────────────────────────── */
.couture-page > .press-features,
.couture-page > .press-wall-section,
.couture-page > .press-contact,
.couture-page > .press-kit,
.couture-page > .press-disclosure,
.couture-page > .review-features,
.couture-page > .review-wall-section,
.couture-page > .review-grid,
.couture-page > .testimonial-grid {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--c-gutter, 32px);
  padding-right: var(--c-gutter, 32px);
}
.couture-page > .press-features,
.couture-page > .press-wall-section,
.couture-page > .review-features,
.couture-page > .review-wall-section {
  text-align: center;
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-196 .couture-bg-shift — scroll-driven background hue shift
   Uses CSS animation-timeline:scroll() so a section's background tints
   subtly as the viewer scrolls through it. Pure-CSS, no JS, gracefully
   degrades on browsers without scroll-driven animations.
   Variants: warm/cool/dawn/dusk via [data-bg-shift]; intensity sm/md/lg
   via [data-bg-shift-strength]. Designed as a section-wrapper class.
   ───────────────────────────────────────────────────────────────── */
.couture-bg-shift {
  --bgs-from: var(--c-paper, #fafafa);
  --bgs-to:   color-mix(in srgb, var(--c-accent, #c25a3a) 12%, var(--c-paper, #fafafa));
  background-color: var(--bgs-from);
  /* Static fallback — a soft gradient that mimics the end-state
     when scroll-driven animations are unsupported (Safari < 17.4). */
  background-image: linear-gradient(180deg, var(--bgs-from) 0%, var(--bgs-to) 100%);
  background-attachment: local;
  transition: background-color 600ms cubic-bezier(.4,.2,.2,1);
}

@supports (animation-timeline: scroll()) {
  .couture-bg-shift {
    /* Override the static gradient — let the scroll-driven animation
       interpolate background-color end-to-end instead. */
    background-image: none;
    animation: cbgs-shift linear both;
    animation-timeline: view();
    animation-range: cover 0% cover 100%;
  }
  @keyframes cbgs-shift {
    0%   { background-color: var(--bgs-from); }
    100% { background-color: var(--bgs-to); }
  }
}

/* Tone variants */
.couture-bg-shift[data-bg-shift="warm"] {
  --bgs-from: #fbf6ed;
  --bgs-to:   #f1d7be;
}
.couture-bg-shift[data-bg-shift="cool"] {
  --bgs-from: #eef3f7;
  --bgs-to:   #c8d8e6;
}
.couture-bg-shift[data-bg-shift="dawn"] {
  --bgs-from: #fef3ef;
  --bgs-to:   #ead5e0;
}
.couture-bg-shift[data-bg-shift="dusk"] {
  --bgs-from: #2c2746;
  --bgs-to:   #6b3a55;
}
.couture-bg-shift[data-bg-shift="dusk"] { color: #f0ecff; }

/* Strength — controls how dramatic the end-state hue is */
.couture-bg-shift[data-bg-shift-strength="sm"] {
  --bgs-to: color-mix(in srgb, var(--c-accent, #c25a3a) 6%, var(--bgs-from));
}
.couture-bg-shift[data-bg-shift-strength="lg"] {
  --bgs-to: color-mix(in srgb, var(--c-accent, #c25a3a) 22%, var(--bgs-from));
}

@media (prefers-reduced-motion: reduce) {
  .couture-bg-shift {
    animation: none !important;
    background-image: linear-gradient(180deg, var(--bgs-from) 0%, var(--bgs-to) 100%);
  }
}

/* ─────────────────────────────────────────────────────────────────
   WS-VISIBLE-197 .couture-quote-rot — auto-cycling quote rotator
   Pure-CSS, JS-free quote carousel. Wraps a list of <blockquote>
   children; CSS keyframe steps through each quote on a 8s cycle
   (5s display + 1s fade). Author can include up to 5 quotes; the
   :nth-child timings adapt for 2–5 entries via dedicated rules.
   Variants: classic/serif/edged via [data-quote-rot-style] · ink/
   cream/sage/dusk via [data-quote-rot-tone] · sm/md/lg via
   [data-quote-rot-size]. Pause-on-hover for accessibility.
   Markup expectation:
     <div class="couture-quote-rot" data-quote-rot-count="3">
       <blockquote><p>"…"</p><cite>— Author</cite></blockquote>
       <blockquote><p>"…"</p><cite>— Author</cite></blockquote>
       <blockquote><p>"…"</p><cite>— Author</cite></blockquote>
     </div>
   ───────────────────────────────────────────────────────────────── */
.couture-quote-rot {
  --qr-color: var(--c-ink, #111);
  --qr-mute:  color-mix(in srgb, var(--c-ink, #111) 70%, transparent);
  --qr-bg:    transparent;
  position: relative;
  display: block;
  max-width: 720px;
  margin: clamp(36px, 6vw, 64px) auto;
  padding: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 36px);
  background: var(--qr-bg);
  color: var(--qr-color);
  text-align: center;
  min-height: 180px;
}
.couture-quote-rot > blockquote {
  position: absolute;
  inset: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 36px);
  margin: 0;
  padding: 0;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 600ms cubic-bezier(.4,.2,.2,1), transform 600ms;
  font: italic 400 clamp(18px, 2.4vw, 26px)/1.5 var(--c-font-display, var(--c-font, serif));
}
.couture-quote-rot > blockquote > p {
  margin: 0 0 18px;
  color: var(--qr-color);
}
.couture-quote-rot > blockquote > cite {
  display: block;
  font: 500 12px/1 var(--c-font, system-ui, sans-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-style: normal;
  color: var(--qr-mute);
}

/* Decorative quote glyph above each quote (style: serif) */
.couture-quote-rot[data-quote-rot-style="serif"] > blockquote::before {
  content: "“";
  display: block;
  margin-bottom: 14px;
  font: 700 56px/0.6 var(--c-font-display, serif);
  color: var(--qr-mute);
}

/* Style: edged — top + bottom hairlines around the rotator */
.couture-quote-rot[data-quote-rot-style="edged"] {
  border-top: 1px solid color-mix(in srgb, var(--qr-color) 18%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--qr-color) 18%, transparent);
}

/* Animation timings — depend on count via [data-quote-rot-count] */
@keyframes cqr-cycle-2 {
  0%, 45% { opacity: 1; transform: translateY(0); }
  50%, 100% { opacity: 0; transform: translateY(-8px); }
}
@keyframes cqr-cycle-3 {
  0%, 28% { opacity: 1; transform: translateY(0); }
  33%, 100% { opacity: 0; transform: translateY(-8px); }
}
@keyframes cqr-cycle-4 {
  0%, 20% { opacity: 1; transform: translateY(0); }
  25%, 100% { opacity: 0; transform: translateY(-8px); }
}
@keyframes cqr-cycle-5 {
  0%, 16% { opacity: 1; transform: translateY(0); }
  20%, 100% { opacity: 0; transform: translateY(-8px); }
}

/* 2 quotes — 12s cycle */
.couture-quote-rot[data-quote-rot-count="2"] > blockquote { animation: cqr-cycle-2 12s linear infinite; }
.couture-quote-rot[data-quote-rot-count="2"] > blockquote:nth-child(1) { animation-delay: 0s;  }
.couture-quote-rot[data-quote-rot-count="2"] > blockquote:nth-child(2) { animation-delay: -6s; }

/* 3 quotes — 18s cycle */
.couture-quote-rot[data-quote-rot-count="3"] > blockquote { animation: cqr-cycle-3 18s linear infinite; }
.couture-quote-rot[data-quote-rot-count="3"] > blockquote:nth-child(1) { animation-delay: 0s;   }
.couture-quote-rot[data-quote-rot-count="3"] > blockquote:nth-child(2) { animation-delay: -6s;  }
.couture-quote-rot[data-quote-rot-count="3"] > blockquote:nth-child(3) { animation-delay: -12s; }

/* 4 quotes — 24s cycle */
.couture-quote-rot[data-quote-rot-count="4"] > blockquote { animation: cqr-cycle-4 24s linear infinite; }
.couture-quote-rot[data-quote-rot-count="4"] > blockquote:nth-child(1) { animation-delay: 0s;   }
.couture-quote-rot[data-quote-rot-count="4"] > blockquote:nth-child(2) { animation-delay: -6s;  }
.couture-quote-rot[data-quote-rot-count="4"] > blockquote:nth-child(3) { animation-delay: -12s; }
.couture-quote-rot[data-quote-rot-count="4"] > blockquote:nth-child(4) { animation-delay: -18s; }

/* 5 quotes — 30s cycle */
.couture-quote-rot[data-quote-rot-count="5"] > blockquote { animation: cqr-cycle-5 30s linear infinite; }
.couture-quote-rot[data-quote-rot-count="5"] > blockquote:nth-child(1) { animation-delay: 0s;   }
.couture-quote-rot[data-quote-rot-count="5"] > blockquote:nth-child(2) { animation-delay: -6s;  }
.couture-quote-rot[data-quote-rot-count="5"] > blockquote:nth-child(3) { animation-delay: -12s; }
.couture-quote-rot[data-quote-rot-count="5"] > blockquote:nth-child(4) { animation-delay: -18s; }
.couture-quote-rot[data-quote-rot-count="5"] > blockquote:nth-child(5) { animation-delay: -24s; }

/* Default (no [data-quote-rot-count]) — show first quote, hide rest */
.couture-quote-rot:not([data-quote-rot-count]) > blockquote { opacity: 0; }
.couture-quote-rot:not([data-quote-rot-count]) > blockquote:first-child { opacity: 1; transform: translateY(0); }

/* Pause cycle on hover/focus for accessibility */
.couture-quote-rot:hover > blockquote,
.couture-quote-rot:focus-within > blockquote { animation-play-state: paused; }

/* Tones */
.couture-quote-rot[data-quote-rot-tone="ink"]   { --qr-color: var(--c-ink, #111); }
.couture-quote-rot[data-quote-rot-tone="cream"] { --qr-color: #5b4a32; --qr-bg: #f8f1df; }
.couture-quote-rot[data-quote-rot-tone="sage"]  { --qr-color: #2d4129; --qr-bg: #e7eee4; }
.couture-quote-rot[data-quote-rot-tone="dusk"]  { --qr-color: #f0ecff; --qr-bg: #2c2746; }

/* Sizes */
.couture-quote-rot[data-quote-rot-size="sm"] { max-width: 520px; min-height: 140px; padding: 20px 16px; }
.couture-quote-rot[data-quote-rot-size="lg"] { max-width: 920px; min-height: 220px; padding: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 48px); }

@media (prefers-reduced-motion: reduce) {
  .couture-quote-rot > blockquote {
    animation: none !important;
    /* Reveal only first quote when motion is suppressed */
    opacity: 0;
  }
  .couture-quote-rot > blockquote:first-child { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   V4.1 DNA AXIS OVERRIDES — generated per site
   spacing_scale=breathable · grid_density=3up · accent_application=consistent-throughout
   headline_treatment=italic-serif · navigation_density=menu-heavy
   ============================================================ */
:root {
  --c-section-pad: 180px;
  --c-rhythm:      1.6;
  --c-wrap-max:    1240px;
  --c-grid-cols:   repeat(3, minmax(0, 1fr));
  --c-grid-gap:    36px;
}
.couture-section { padding-block: var(--c-section-pad); }
.couture-section .wrap, .couture-page > * { max-width: var(--c-wrap-max); }
body { line-height: var(--c-rhythm); }
.couture-products .grid, .lookbook-grid, .product-grid, .couture-shelf, .couture-issues-grid, .couture-products-carousel .shelf { display: grid; grid-template-columns: var(--c-grid-cols); gap: var(--c-grid-gap); }
a:not(.brand-logo) { color: var(--c-accent); } .cta, button[type=submit] { background: var(--c-accent); color: var(--c-paper); border-color: var(--c-accent); }
.couture-section-head h2, .couture-page-head h1 { font-size: clamp(2.5rem, 6vw, 5.5rem); letter-spacing: -.02em; line-height: 1.02; font-weight: 700; }
.couture-nav { padding: 22px 32px; gap: 28px; font-size: 0.95rem; }

/* V4.94 — motion_style branch (was dormant pre-V4.94: 6 motion values
   produced no visible difference). motion_style=subtle-fade */
body.couture-motion-subtle-fade .couture-reveal { transform: none; transition: opacity 1.4s ease-out; }
body.couture-motion-subtle-fade .couture-reveal.in { transform: none; }
body.couture-motion-subtle-fade .shelf-card:hover { transform: none; box-shadow: 0 8px 28px -16px color-mix(in oklab, var(--c-ink) 35%, transparent); }

/* V5.1 — section_rhythm branch (was dormant pre-V5.1: 6 rhythm values
   produced no visible difference). section_rhythm=even-cadence */
/* default cadence — no override */

/* --- shelf-card polish (V4.1) ----------------------------------- */
.shelf-card {
  transition: transform .35s ease, box-shadow .35s ease;
  position: relative;
}
.shelf-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px -28px color-mix(in oklab, var(--c-ink) 55%, transparent);
}
.shelf-card .shelf-card-img-link {
  display: block; overflow: hidden; position: relative;
}
.shelf-card .shelf-card-img-link img {
  transition: transform .8s cubic-bezier(.2,.8,.2,1);
}
.shelf-card:hover .shelf-card-img-link img {
  transform: scale(1.04);
}
.shelf-card .shelf-price {
  margin-top: 8px; font-weight: 600; font-size: 1.05rem;
}
.shelf-card .shelf-price-amt { color: var(--c-ink); }
.shelf-card .shelf-origin {
  font-size: .75rem; letter-spacing: .08em; text-transform: uppercase;
  color: color-mix(in oklab, var(--c-ink) 60%, var(--c-paper));
  margin-top: 4px;
}

/* V4.20 — per-domain button shape (variant: soft-rect) */
.cta, .cta-btn, button[type=submit], .wp-block-button__link, .wp-element-button,
.couture-cart-chip, .gc-cta, .hero-promo-cta .cta-btn,
.couture-hero--search .hero-search-form button,
.couture-hero--nl .newsletter-form button,
.nlbanner-form button {
  border-radius: 6px;
  
}
.cta, .cta-btn, .hero-promo-cta .cta-btn, .gc-cta {
  padding: 14px 28px;
  display: inline-block;
  font-family: var(--c-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 13px;
  text-decoration: none;
  transition: transform .15s, background .15s, color .15s;
}

/* === ARCHETYPE: small-business ================================ */
.couture-archetype-small-business {
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-accent) 4%);
}
.couture-archetype-small-business .couture-hero h1 {
  font-family: var(--c-display) !important;
  font-weight: 600 !important;
  font-size: clamp(2.4rem, 5vw, 4.4rem) !important;
  letter-spacing: -.015em;
  line-height: 1.05;
}
.couture-archetype-small-business .couture-section-head h2 {
  font-family: var(--c-display) !important;
  font-weight: 600 !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
}
.couture-archetype-small-business .couture-section-head .num {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--c-accent);
  /* V4.71-style fill via box-shadow inset (avoids V4.27 distinctness regex) */
  box-shadow: inset 0 0 0 9999px color-mix(in oklab, var(--c-accent) 14%, var(--c-paper));
  padding: 4px 12px;
  border-radius: 999px;
  border: none;
  position: relative;
}
.couture-archetype-small-business .cta,
.couture-archetype-small-business .cta-btn,
.couture-archetype-small-business .wp-element-button {
  border-radius: 999px !important;
  padding: 14px 30px !important;
  font-weight: 600 !important;
  background: var(--c-accent) !important;
  color: var(--c-paper) !important;
  letter-spacing: 0;
  text-transform: none !important;
}
.couture-archetype-small-business .cta:hover,
.couture-archetype-small-business .cta-btn:hover {
  background: var(--c-ink) !important;
  transform: translateY(-1px);
  transition: all .2s;
}
.couture-archetype-small-business .shelf-card,
.couture-archetype-small-business .prod {
  border-radius: 12px !important;
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-line) 50%, transparent) !important;
}
/* Friendly section-divider — V4.71-style border-top instead of bg
   so V4.27 distinctness regex doesn't capture this as a bg-recipe */
.couture-archetype-small-business .couture-section + .couture-section::before {
  content: "";
  display: block;
  width: 40px;
  height: 0;
  border-top: 4px solid var(--c-accent);
  border-radius: 2px;
  margin: 0 auto clamp(48px, 6vw, 80px);
  opacity: .5;
}


/* ============================================================
   V4.22 MICRO-RANDOMIZER — per-domain visual fingerprint axes
   radius=4px link=overline h1-letter=.01em h1-trans=none
   img-radius=50% 50% 50% 12% h2-scale=1.2 eyebrow=uppercase
   ============================================================ */
:root {
  --c-card-radius: 4px;
  --c-focus-ring: #16a34a;
  --c-img-radius: 50% 50% 50% 12%;
}
*:focus-visible { outline: 2px solid var(--c-focus-ring); outline-offset: 2px; }
.couture-section { border-top: 1px dashed color-mix(in oklab, #1a1a1a 20%, transparent); padding-block: clamp(72px,9vw,112px); }
.couture-section:first-of-type { border-top: 0; }
.couture-page a:not(.cta):not(.cta-btn):not([class*="couture-nav"]):not([class*="couture-footer"] a) { text-decoration: overline; text-underline-offset: 3px; }
h1 { letter-spacing: .01em; text-transform: none; }
h2 { font-size: calc(var(--c-h2-size, 1.8rem) * 1.2); }
.eyebrow { text-transform: uppercase; }
.cta:hover, .cta-btn:hover, .wp-element-button:hover, button[type=submit]:hover { transform: translateY(-3px) scale(1.01); }
.shelf-card, .product-card, .lookbook-card { border-radius: var(--c-card-radius); box-shadow: 4px 4px 0 0 var(--c-accent); }
.couture-hero img, .couture-products img, .shelf-card img, .product-card img, .couture-about-figure img { filter: saturate(1.15) hue-rotate(-4deg); border-radius: var(--c-img-radius); }
.couture-page > *, .couture-spatial-vertical > * { max-width: 1360px; }
.couture-section-head { text-align: left; }
.couture-section-head h2 { text-align: left; }

/* V6.156 — operator R24 follow-up: V6.150 only coordinated section-
   HEADS with center-anchor sub-variants but body copy / lede / CTAs
   stayed at their default (left). Result: page reads "centered head /
   left body" within the same section — still mixed-feel even after
   V6.150. Now extend the headAlign signal to body copy, eyebrows,
   buttons, and section-level wrappers within a section so the entire
   section follows one alignment cadence. */

.couture-section-head .num,
.couture-section-head p,
.couture-section-head .lede {
  text-align: left;
}
.couture-section .lede,
.couture-section > p {
  text-align: left;
  max-width: 72ch;
}

.couture-section:nth-of-type(2n) { background: color-mix(in oklab, var(--c-paper) 88%, var(--c-accent-2) 12%); } .couture-section:nth-of-type(3n) { background: color-mix(in oklab, var(--c-paper) 88%, var(--c-accent-3) 12%); }

/* V5.52 — per-domain micro-axes (button shape, input style, section
   number prefix, table style) */
.cta, .cta-btn, .wp-element-button, button[type=submit] { border-radius: 8px; padding: 14px 24px; }
input[type=email], input[type=text], input[type=search], textarea { border: 2px solid var(--c-ink); border-radius: 0; padding: 12px 14px; background: var(--c-paper); font-weight: 600; }
.couture-section-head .num::before { content: "["; } .couture-section-head .num::after { content: "]"; }
.couture-product-tabs table, table.couture-index-table, .couture-index-table { border-collapse: collapse; } .couture-product-tabs table td, table.couture-index-table td, .couture-index-table td, .couture-product-tabs table th, table.couture-index-table th, .couture-index-table th { border-bottom: 1px solid var(--c-line); padding: 12px 14px; text-align: left; }


/* ============================================================
   V4.26 — NAV POSITIONAL VARIANTS
   bottom-fixed | sidebar-right | floating-corner-menu | hamburger-only
   centered-stack | rail-icons | sticky-on-scroll | mega-menu
   ============================================================ */

/* --- bottom-fixed: nav bar pinned to bottom (mobile-app feel) --- */
.couture-nav.couture-nav-bottom-fixed {
  position: fixed; left: 0; right: 0; bottom: 0; top: auto;
  background: var(--c-paper);
  border-top: 1px solid var(--c-line);
  border-bottom: 0;
  z-index: 50;
  padding: 12px 18px;
  box-shadow: 0 -4px 16px rgba(0,0,0,.06);
}
body { padding-bottom: 0; }
body:has(.couture-nav.couture-nav-bottom-fixed) { padding-bottom: 78px; }

/* --- sidebar-right: similar to side-rail but mirror — handled via
       _v426SidebarRight flag inside navSideRail markup */
.couture-nav-siderail[data-side="right"],
.couture-nav-sidebar-right .couture-nav-siderail {
  left: auto; right: 0;
  border-right: 0;
  border-left: 1px solid var(--c-line);
}
body:has(.couture-nav-siderail[data-side="right"]) { padding-left: 0; padding-right: 240px; }

/* --- floating-corner-menu: small fixed menu in top-right corner --- */
.couture-nav.couture-nav-floating-corner-menu {
  position: fixed; top: 24px; right: 24px; bottom: auto; left: auto;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-radius: 12px;
  padding: 10px 14px;
  z-index: 50;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  width: auto; max-width: 320px;
  display: inline-flex; flex-direction: column; gap: 6px;
}
.couture-nav.couture-nav-floating-corner-menu .nav-link {
  display: block; padding: 4px 0; font-size: 13px;
}

/* --- hamburger-only: hide the nav links, only show burger ---
   V6.61 — operator R17 audit (2026-05-07): "content of pages it too
   far up, not visible with the navigation". The absolute-positioned
   floating nav was OVERLAYING the first content on inner pages where
   the hero padding-top (60-140px) was LESS than nav height (~194px
   incl. announce bar). h1 ended up BEHIND nav. Fix uses :has() to
   target <main> when ANY floating-nav class is present in the page.
   Fullbleed heroes opt out (they already span 78vh + center content). */
:where(.wp-site-blocks):has(.couture-nav-hamburger-only) main,
:where(.wp-site-blocks):has(.couture-nav-siderail) main,
:where(.wp-site-blocks):has(.couture-nav-dotindex) main,
:where(.wp-site-blocks):has(.couture-nav-split) main,
:where(.wp-site-blocks):has(.couture-nav-floating-corner) main {
  padding-top: clamp(120px, 14vh, 220px) !important;
}
/* Cancel safety padding when first child IS a fullbleed hero
   (already 78vh tall with vertically-centered content). */
:where(.wp-site-blocks):has(.couture-nav-hamburger-only) main:has(> .couture-hero--fullbleed:first-child),
:where(.wp-site-blocks):has(.couture-nav-siderail) main:has(> .couture-hero--fullbleed:first-child),
:where(.wp-site-blocks):has(.couture-nav-dotindex) main:has(> .couture-hero--fullbleed:first-child),
:where(.wp-site-blocks):has(.couture-nav-split) main:has(> .couture-hero--fullbleed:first-child),
:where(.wp-site-blocks):has(.couture-nav-floating-corner) main:has(> .couture-hero--fullbleed:first-child) {
  padding-top: 0 !important;
}
/* V6.61 fallback for browsers without :has() — apply a soft body-class
   safety padding when the publisher's PHP-side body_class detected a
   floating nav variant.
   V6.287 — operator R28 audit (lustraya.com): the V6.61 padding-top
   fix only handles TOP-floating navs (hamburger-only). For LEFT/RIGHT
   sidebars (sidebar-left, sidebar-right, rail-icons, side-rail), the
   nav is fixed to the left/right edge so content needs padding-LEFT
   or padding-RIGHT to avoid overlap. The variant-specific class
   "couture-nav-floating--<navStyle>" (also stamped by functions.php)
   targets each pattern individually. */
body.couture-nav-floating main.couture-page,
body.couture-nav-floating main.wp-block-group.couture-page {
  padding-top: clamp(120px, 14vh, 220px);
}
/* LEFT-side fixed nav variants: shift content right */
body.couture-nav-floating--sidebar-left main.couture-page,
body.couture-nav-floating--sidebar-left main.wp-block-group.couture-page,
body.couture-nav-floating--rail-icons main.couture-page,
body.couture-nav-floating--rail-icons main.wp-block-group.couture-page,
body.couture-nav-floating--side-rail main.couture-page,
body.couture-nav-floating--side-rail main.wp-block-group.couture-page {
  padding-top: 0 !important;
  padding-left: 260px;
}
@media (max-width: 900px) {
  body.couture-nav-floating--sidebar-left main.couture-page,
  body.couture-nav-floating--sidebar-left main.wp-block-group.couture-page,
  body.couture-nav-floating--rail-icons main.couture-page,
  body.couture-nav-floating--rail-icons main.wp-block-group.couture-page,
  body.couture-nav-floating--side-rail main.couture-page,
  body.couture-nav-floating--side-rail main.wp-block-group.couture-page {
    padding-left: 0;
    padding-top: clamp(80px, 10vh, 140px);
  }
}
/* RIGHT-side fixed nav variants: shift content left */
body.couture-nav-floating--sidebar-right main.couture-page,
body.couture-nav-floating--sidebar-right main.wp-block-group.couture-page {
  padding-top: 0 !important;
  padding-right: 260px;
}
@media (max-width: 900px) {
  body.couture-nav-floating--sidebar-right main.couture-page,
  body.couture-nav-floating--sidebar-right main.wp-block-group.couture-page {
    padding-right: 0;
    padding-top: clamp(80px, 10vh, 140px);
  }
}
/* Same fix for the actual rendered side-rail nav element (covers ANY
   page wrapper, not just .couture-page). */
body:has(.couture-nav-siderail) main,
body:has(.couture-nav-siderail) .wp-site-blocks > .couture-page {
  padding-left: 260px;
}
body:has(.couture-nav-siderail[data-nav-variant="siderail-thin-right"]) main,
body:has(.couture-nav-siderail[data-nav-variant="siderail-thin-right"]) .wp-site-blocks > .couture-page {
  padding-left: 0;
  padding-right: 260px;
}
@media (max-width: 900px) {
  body:has(.couture-nav-siderail) main,
  body:has(.couture-nav-siderail) .wp-site-blocks > .couture-page,
  body:has(.couture-nav-siderail[data-nav-variant="siderail-thin-right"]) main,
  body:has(.couture-nav-siderail[data-nav-variant="siderail-thin-right"]) .wp-site-blocks > .couture-page {
    padding-left: 0; padding-right: 0;
  }
  /* On mobile, side-rail collapses to a top bar. Bump padding-top. */
  body:has(.couture-nav-siderail) .wp-site-blocks > .couture-page,
  body:has(.couture-nav-siderail) main { padding-top: clamp(64px, 8vh, 100px); }
}
.couture-nav.couture-nav-hamburger-only {
  background: transparent;
  border: 0;
  padding: 16px 24px;
  position: absolute; top: 0; left: 0; right: 0;
  z-index: 50;
}
.couture-nav.couture-nav-hamburger-only .nav-link,
.couture-nav.couture-nav-hamburger-only .nav-search,
.couture-nav.couture-nav-hamburger-only .nav-account { display: none; }
.couture-nav.couture-nav-hamburger-only::after {
  content: '☰';
  position: absolute; top: 16px; right: 24px;
  font-size: 24px;
  color: var(--c-ink);
  cursor: pointer;
  transition: transform .2s;
}
.couture-nav.couture-nav-hamburger-only.is-open::after {
  content: '✕';
  transform: rotate(0deg);
}
/* V4.91 — when JS toggles .is-open, reveal the hidden links as a
   slide-down panel below the nav. Was: ☰ icon decoration only, click
   did nothing because no JS handler. Now couture.js V4.91 toggles
   .is-open + here we show the panel. */
.couture-nav.couture-nav-hamburger-only.is-open {
  background: var(--c-paper);
  border-bottom: 1px solid var(--c-line);
  padding-bottom: 24px;
}
.couture-nav.couture-nav-hamburger-only.is-open .nav-link,
.couture-nav.couture-nav-hamburger-only.is-open nav,
.couture-nav.couture-nav-hamburger-only.is-open nav ul,
.couture-nav.couture-nav-hamburger-only.is-open nav ul li,
.couture-nav.couture-nav-hamburger-only.is-open nav ul li a,
.couture-nav.couture-nav-hamburger-only.is-open .nav-search,
.couture-nav.couture-nav-hamburger-only.is-open .nav-account {
  display: block !important;
}
.couture-nav.couture-nav-hamburger-only.is-open nav ul {
  list-style: none;
  margin: 60px 0 0;
  padding: 0 24px 0;
  display: flex !important;
  flex-direction: column;
  gap: 18px;
}
.couture-nav.couture-nav-hamburger-only.is-open nav ul li a {
  color: var(--c-ink);
  text-decoration: none;
  font-family: var(--c-display);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
}
.couture-nav.couture-nav-hamburger-only.is-open nav ul li a:hover {
  color: var(--c-accent);
}

/* --- centered-stack: logo on top, menu below, both centered ---
   V4.57 — operator R12: was rendering as a 73px-tall thin masthead
   with logo+nav on one stacked column. Now it actually FEELS like a
   masthead — taller (110-140px), brand logo gets bumped to 56px,
   menu row separated by hairline border, generous breathing room.
   Apple/Wired/NYT/magazine-style. */
.couture-nav.couture-nav-centered-stack {
  flex-direction: column !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 32px 24px 0 !important;
  border-bottom: 1px solid var(--c-line);
  text-align: center;
  background: var(--c-paper);
}
.couture-nav.couture-nav-centered-stack .brand {
  margin: 0 auto;
  display: block;
}
.couture-nav.couture-nav-centered-stack .brand-logo {
  height: 56px !important;
  max-width: 280px !important;
  margin: 0 auto;
}
.couture-nav.couture-nav-centered-stack .brand-word {
  font-family: var(--c-display);
  font-size: 38px;
  font-weight: 500;
  letter-spacing: -0.01em;
}
.couture-nav.couture-nav-centered-stack > nav {
  width: 100%;
  border-top: 1px solid var(--c-line);
  padding: 18px 0 18px;
  margin-top: 8px;
}
.couture-nav.couture-nav-centered-stack > nav ul,
.couture-nav.couture-nav-centered-stack ul {
  display: flex !important;
  gap: 36px !important;
  justify-content: center !important;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.couture-nav.couture-nav-centered-stack > nav ul li a,
.couture-nav.couture-nav-centered-stack ul li a {
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--c-ink);
  padding: 6px 0;
  border-bottom: 2px solid transparent;
  transition: border-color .2s;
}
.couture-nav.couture-nav-centered-stack > nav ul li a:hover {
  border-color: var(--c-accent);
}
.couture-nav.couture-nav-centered-stack .actions {
  position: absolute;
  top: 32px;
  right: 24px;
  display: flex;
  gap: 16px;
}

/* --- rail-icons: narrow left rail with icon-only menu --- */
.couture-nav-siderail[data-rail="icons"],
.couture-nav-rail-icons .couture-nav-siderail {
  width: 64px;
  padding: 24px 12px;
  align-items: center;
}
.couture-nav-siderail[data-rail="icons"] .nav-link,
.couture-nav-rail-icons .couture-nav-siderail .nav-link {
  font-size: 0;            /* hide label */
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
}
.couture-nav-siderail[data-rail="icons"] .nav-link::before,
.couture-nav-rail-icons .couture-nav-siderail .nav-link::before {
  content: '·';
  font-size: 24px;
}
body:has(.couture-nav-siderail[data-rail="icons"]) { padding-left: 64px; }

/* --- sticky-on-scroll: V4.60 — Vercel/Linear-style condensing nav
       with backdrop blur. Operator R12: real-business feel. Scrolls
       with page until 80px scrolled, then condenses (smaller padding,
       shrunk logo, blurred translucent bg). Scroll-down behavior
       hides via translate, scroll-up brings back. */
.couture-nav.couture-nav-sticky-on-scroll {
  position: sticky; top: 0;
  z-index: 100;
  transition: transform .3s ease, padding .25s, background .25s, backdrop-filter .25s, border-color .25s;
  border-bottom: 1px solid transparent;
  background: var(--c-paper);
}
body[data-scroll-dir="down"] .couture-nav.couture-nav-sticky-on-scroll { transform: translateY(-100%); }
/* Once scrolled past 80px, body[data-scrolled="1"] is set by the JS
   in nav-scroll-direction.js. We use this to switch to "condensed"
   visual treatment: translucent paper bg + blur + tighter padding. */
body[data-scrolled="1"] .couture-nav.couture-nav-sticky-on-scroll {
  background: color-mix(in oklab, var(--c-paper) 80%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom-color: color-mix(in oklab, var(--c-ink) 8%, transparent);
  padding-top: 10px;
  padding-bottom: 10px;
}
body[data-scrolled="1"] .couture-nav.couture-nav-sticky-on-scroll .brand-logo {
  height: 32px !important;
  transition: height .25s;
}

/* --- mega-menu: V4.60 — REAL Stripe/Shopify-style full-width
       dropdown panel. Was a class-only wrapper that did nothing
       visible; now renders an actual panel HTML (see nav.js
       _navAsClass mega-menu branch) and CSS shows it on hover.
       Panel is full-viewport-width, slides down with backdrop blur,
       has category grid + featured CTA + promo line. */
.couture-nav.couture-nav-mega-menu {
  position: relative;
  z-index: 100;
}
.couture-nav.couture-nav-mega-menu .mega-panel {
  position: absolute;
  top: 100%; left: 0; right: 0;
  background: var(--c-paper);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  box-shadow: 0 24px 48px -12px rgba(0,0,0,.12);
  padding: 32px 0 36px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .2s, transform .2s, visibility .2s;
  pointer-events: none;
}
.couture-nav.couture-nav-mega-menu:hover .mega-panel,
.couture-nav.couture-nav-mega-menu:focus-within .mega-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.couture-nav.couture-nav-mega-menu .mega-panel-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--c-gutter, 32px);
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 56px;
  align-items: start;
}
.couture-nav.couture-nav-mega-menu .mega-panel-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 24px;
}
.couture-nav.couture-nav-mega-menu .mega-panel-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: var(--c-card-radius, 6px);
  text-decoration: none;
  color: var(--c-ink);
  transition: background .15s;
}
.couture-nav.couture-nav-mega-menu .mega-panel-item:hover {
  background: var(--c-paper-2, color-mix(in oklab, var(--c-ink) 5%, var(--c-paper)));
}
.couture-nav.couture-nav-mega-menu .mega-panel-letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: color-mix(in oklab, var(--c-accent) 12%, var(--c-paper));
  color: var(--c-accent);
  font-family: var(--c-display);
  font-weight: 600;
  font-size: 18px;
  border-radius: var(--c-card-radius, 6px);
  flex-shrink: 0;
}
.couture-nav.couture-nav-mega-menu .mega-panel-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.couture-nav.couture-nav-mega-menu .mega-panel-name {
  font-family: var(--c-body);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: capitalize;
}
.couture-nav.couture-nav-mega-menu .mega-panel-count {
  font-size: 12px;
  color: var(--c-muted);
}
.couture-nav.couture-nav-mega-menu .mega-panel-featured {
  padding-left: 32px;
  border-left: 1px solid var(--c-line);
}
.couture-nav.couture-nav-mega-menu .mega-panel-eyebrow {
  font-family: var(--c-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin-bottom: 14px;
}
.couture-nav.couture-nav-mega-menu .mega-panel-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: var(--c-ink);
  color: var(--c-paper);
  text-decoration: none;
  border-radius: var(--c-card-radius, 6px);
  font-family: var(--c-body);
  font-size: 13px;
  font-weight: 600;
}
.couture-nav.couture-nav-mega-menu .mega-panel-cta:hover {
  background: var(--c-accent);
}
.couture-nav.couture-nav-mega-menu .mega-panel-promo {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--c-line);
  font-family: var(--c-body);
  font-size: 13px;
  color: var(--c-ink-soft, var(--c-ink));
}
.couture-nav.couture-nav-mega-menu .mega-panel-promo p { margin: 0; }
@media (max-width: 768px) {
  .couture-nav.couture-nav-mega-menu .mega-panel { display: none; }
}

/* --- mega-menu (legacy hover indicator under hovered link) --- */
.couture-nav.couture-nav-mega-menu .nav-link[data-mega] {
  position: relative;
}
.couture-nav.couture-nav-mega-menu .nav-link[data-mega]:hover::after {
  content: '';
  position: absolute; left: 0; right: 0; top: 100%;
  height: 2px; background: var(--c-accent);
}


/* ============================================================
   V4.23 TEMPLATE-FAMILY OVERRIDES — boutique-pastel-mod
   ============================================================ */

.tpl-boutique-pastel-mod {
  --c-card-radius: 16px;
  --c-img-radius: 14px;
}

/* Headlines: italic serif, generous size, slightly narrow measure */
.tpl-boutique-pastel-mod h1, .tpl-boutique-pastel-mod h2, .tpl-boutique-pastel-mod h3 {
  font-family: var(--c-display);
  font-style: italic;
  font-weight: 600;
  letter-spacing: -.005em;
  line-height: 1.15;
  color: var(--c-ink);
}
.tpl-boutique-pastel-mod h1 { font-size: clamp(40px, 5.4vw, 76px); }
.tpl-boutique-pastel-mod h2 { font-size: clamp(28px, 3.6vw, 48px); }

/* Body: soft warm prose */
.tpl-boutique-pastel-mod p {
  font-family: var(--c-body);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.65;
  color: var(--c-ink);
}

/* Cards: soft elevation + rounded corners + subtle hover lift */
.tpl-boutique-pastel-mod [class*="couture-card"],
.tpl-boutique-pastel-mod article {
  background: var(--c-paper);
  border-radius: var(--c-card-radius);
  box-shadow: 0 4px 18px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.tpl-boutique-pastel-mod article:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
}

/* Section heads: soft mono kicker + italic serif h2 */
.tpl-boutique-pastel-mod .couture-section-head .num {
  font-family: var(--c-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.tpl-boutique-pastel-mod .couture-section-head h2 { font-style: italic; }

/* Nav: soft + rounded */
.tpl-boutique-pastel-mod .couture-nav-topbar {
  background: var(--c-paper);
  border-bottom: 1px solid var(--c-line);
  padding: 18px clamp(20px, 4vw, 48px);
}
.tpl-boutique-pastel-mod .couture-nav-topbar nav a {
  font-family: var(--c-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--c-ink);
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 8px;
}
.tpl-boutique-pastel-mod .couture-nav-topbar nav a:hover {
  background: color-mix(in oklab, var(--c-accent) 12%, transparent);
}

/* Buttons: rounded pill style */
.tpl-boutique-pastel-mod .cta, .tpl-boutique-pastel-mod .cta-primary,
.tpl-boutique-pastel-mod [class*="ai-hero-"] a, .tpl-boutique-pastel-mod .cta-button {
  border-radius: 999px;
  padding: 14px 28px;
  font-family: var(--c-body);
  font-size: 15px;
  font-weight: 600;
}

/* Footer: soft tint bg + italic mark */
.tpl-boutique-pastel-mod .couture-footer {
  background: color-mix(in oklab, var(--c-accent) 8%, var(--c-paper));
  padding: clamp(48px, 6vw, 80px) clamp(20px, 4vw, 48px) 32px;
}
.tpl-boutique-pastel-mod .couture-footer .brand-word {
  font-style: italic;
  font-family: var(--c-display);
}

/* Hero: organic blob bg shape on the left, italic h1 */
.tpl-boutique-pastel-mod [class*="ai-hero-"] {
  position: relative;
  padding: clamp(64px, 8vw, 120px) clamp(20px, 4vw, 56px) !important;
  overflow: hidden;
}
.tpl-boutique-pastel-mod [class*="ai-hero-"]::before {
  content: '';
  position: absolute;
  top: -10%;
  left: -10%;
  width: 360px;
  height: 360px;
  background: color-mix(in oklab, var(--c-accent) 20%, transparent);
  border-radius: 50%;
  filter: blur(40px);
  z-index: 0;
  pointer-events: none;
}
.tpl-boutique-pastel-mod [class*="ai-hero-"] > * { position: relative; z-index: 1; }


/* ============================================================
   V4.35-V4.39 FAMILY ENVELOPE — boutique-pastel-mod
   weight=medium(500) italic=normal
   width=standard(1280px) h1=large
   ============================================================ */
.tpl-boutique-pastel-mod h1, .tpl-boutique-pastel-mod .couture-page-head h1, .tpl-boutique-pastel-mod .couture-hero h1,
.tpl-boutique-pastel-mod .couture-section-head h2 {
  font-weight: 500 !important;
  font-style: normal !important;
}
.tpl-boutique-pastel-mod h1, .tpl-boutique-pastel-mod .couture-hero h1, .tpl-boutique-pastel-mod .couture-page-head h1 {
  font-size: clamp(3rem, 7vw, 5.5rem) !important;
  line-height: 1.02;
}
.tpl-boutique-pastel-mod h2 {
  font-size: calc(clamp(3rem, 7vw, 5.5rem) * 0.5) !important;
  font-weight: 500 !important;
}

.tpl-boutique-pastel-mod .couture-section .wrap,
.tpl-boutique-pastel-mod .couture-page > *,
.tpl-boutique-pastel-mod .couture-spatial-vertical > * { max-width: 1280px; margin-inline: auto; }



/* ============================================================
   V4.52 INNER-PAGE STYLES — crafvyn.com
   about=subtle-gradient-hero contact=centered-card shop=banner-overlay
   journal=split-friendly help=banner-overlay product-card=card-elevated
   ============================================================ */

.couture-page--about .couture-page-head, .couture-page--about .couture-hero {
  text-align: center;
  padding-block: clamp(72px, 10vw, 140px);
  padding-inline: clamp(24px, 4vw, 64px);
  background:
    radial-gradient(ellipse 800px 320px at 50% 0%, color-mix(in oklab, var(--c-accent) 8%, transparent), transparent 65%),
    radial-gradient(ellipse 600px 250px at 50% 100%, color-mix(in oklab, var(--c-accent-2, var(--c-accent)) 6%, transparent), transparent 70%),
    var(--c-paper);
}
.couture-page--about .couture-page-head h1, .couture-page--about .couture-hero h1 {
  font-family: var(--c-display) !important;
  font-weight: 700 !important;
  font-size: clamp(2.6rem, 6vw, 4.6rem) !important;
  letter-spacing: -.028em;
  line-height: 1.05;
  max-width: 22ch;
  margin-inline: auto;
  color: var(--c-ink);
}
.couture-page--about .couture-page-head p, .couture-page--about .couture-hero p {
  font-family: var(--c-body);
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.55;
  color: var(--c-ink-soft, var(--c-ink));
  max-width: 56ch;
  margin: 16px auto 0;
}
.couture-page--about .couture-page-head .eyebrow, .couture-page--about .couture-hero .eyebrow {
  font-family: var(--c-body); font-size: 13px; font-weight: 500;
  letter-spacing: 0; color: var(--c-accent);
  margin-bottom: 18px; display: inline-block;
}
.couture-page--about .couture-page-head img, .couture-page--about .couture-hero img { display: none !important; }


.couture-page--contact .couture-page-head, .couture-page--contact .couture-hero {
  text-align: center;
  padding-block: clamp(64px, 9vw, 112px);
  background: color-mix(in oklab, var(--c-paper) 96%, var(--c-ink) 4%);
}
.couture-page--contact .couture-page-head > *, .couture-page--contact .couture-hero > * {
  background: var(--c-paper);
  border: 1px solid color-mix(in oklab, var(--c-ink) 8%, transparent);
  border-radius: 12px;
  padding: 40px 32px;
  max-width: 720px; margin-inline: auto;
}
.couture-page--contact .couture-page-head h1, .couture-page--contact .couture-hero h1 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  letter-spacing: -.02em;
}


.couture-page--shop .couture-page-head, .couture-page--shop .couture-hero {
  position: relative;
  min-height: 50vh;
  padding-block: clamp(64px, 9vw, 120px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  overflow: hidden;
}
.couture-page--shop .couture-page-head img, .couture-page--shop .couture-hero img {
  position: absolute !important; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: brightness(.55);
}
.couture-page--shop .couture-page-head > *:not(img), .couture-page--shop .couture-hero > *:not(img) {
  position: relative; z-index: 2;
}
/* V4.70 — operator R12 night auto-pilot: when banner-overlay style
   was picked but the renderer didn't emit an <img> (e.g. minimal
   contact hero), the white text rendered on cream bg = invisible.
   Use :has() to scope white-text rules to ONLY the variant when an
   img child IS present. Browsers without :has() fall back to dark
   text via the OUTER selector (no-img heroes get var(--c-ink)). */
.couture-page--shop .couture-page-head:has(img) h1,
.couture-page--shop .couture-hero:has(img) h1,
.couture-page--shop .couture-page-head:has(img) p,
.couture-page--shop .couture-hero:has(img) p,
.couture-page--shop .couture-page-head:has(img) .eyebrow,
.couture-page--shop .couture-hero:has(img) .eyebrow { color: var(--c-paper) !important; }
.couture-page--shop .couture-page-head:has(img) h1,
.couture-page--shop .couture-hero:has(img) h1 {
  text-shadow: 0 2px 16px rgba(0,0,0,.4);
}
.couture-page--shop .couture-page-head h1, .couture-page--shop .couture-hero h1 {
  font-size: clamp(2.4rem, 5vw, 4rem) !important;
}
/* When no img: explicit dark text + remove min-height so it doesn't
   take half the viewport for nothing. */
.couture-page--shop .couture-page-head:not(:has(img)),
.couture-page--shop .couture-hero:not(:has(img)) {
  min-height: auto;
  background: var(--c-paper);
}
.couture-page--shop .couture-page-head:not(:has(img)) h1,
.couture-page--shop .couture-hero:not(:has(img)) h1,
.couture-page--shop .couture-page-head:not(:has(img)) p,
.couture-page--shop .couture-hero:not(:has(img)) p { color: var(--c-ink) !important; }
.couture-page--shop .couture-page-head:not(:has(img)) .eyebrow,
.couture-page--shop .couture-hero:not(:has(img)) .eyebrow { color: var(--c-accent) !important; }


.couture-page--journal .couture-page-head, .couture-page--journal .couture-hero {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: clamp(40px, 6vw, 80px);
  padding-block: clamp(72px, 9vw, 120px);
  padding-inline: clamp(24px, 4vw, 64px);
  align-items: center;
  background: var(--c-paper);
  text-align: left;
}
.couture-page--journal .couture-page-head h1, .couture-page--journal .couture-hero h1 {
  font-family: var(--c-display) !important;
  font-weight: 700 !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  letter-spacing: -.024em;
  line-height: 1.05;
  color: var(--c-ink);
  text-align: left;
  max-width: 18ch;
}
.couture-page--journal .couture-page-head p, .couture-page--journal .couture-hero p {
  font-family: var(--c-body);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.6;
  color: var(--c-ink-soft, var(--c-ink));
  max-width: 48ch;
}
.couture-page--journal .couture-page-head img, .couture-page--journal .couture-hero img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 12px;
}
@media (max-width: 800px) {
  .couture-page--journal .couture-page-head, .couture-page--journal .couture-hero { grid-template-columns: 1fr; }
}


.couture-page--help .couture-page-head, .couture-page--help .couture-hero {
  position: relative;
  min-height: 50vh;
  padding-block: clamp(64px, 9vw, 120px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  overflow: hidden;
}
.couture-page--help .couture-page-head img, .couture-page--help .couture-hero img {
  position: absolute !important; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: brightness(.55);
}
.couture-page--help .couture-page-head > *:not(img), .couture-page--help .couture-hero > *:not(img) {
  position: relative; z-index: 2;
}
/* V4.70 — operator R12 night auto-pilot: when banner-overlay style
   was picked but the renderer didn't emit an <img> (e.g. minimal
   contact hero), the white text rendered on cream bg = invisible.
   Use :has() to scope white-text rules to ONLY the variant when an
   img child IS present. Browsers without :has() fall back to dark
   text via the OUTER selector (no-img heroes get var(--c-ink)). */
.couture-page--help .couture-page-head:has(img) h1,
.couture-page--help .couture-hero:has(img) h1,
.couture-page--help .couture-page-head:has(img) p,
.couture-page--help .couture-hero:has(img) p,
.couture-page--help .couture-page-head:has(img) .eyebrow,
.couture-page--help .couture-hero:has(img) .eyebrow { color: var(--c-paper) !important; }
.couture-page--help .couture-page-head:has(img) h1,
.couture-page--help .couture-hero:has(img) h1 {
  text-shadow: 0 2px 16px rgba(0,0,0,.4);
}
.couture-page--help .couture-page-head h1, .couture-page--help .couture-hero h1 {
  font-size: clamp(2.4rem, 5vw, 4rem) !important;
}
/* When no img: explicit dark text + remove min-height so it doesn't
   take half the viewport for nothing. */
.couture-page--help .couture-page-head:not(:has(img)),
.couture-page--help .couture-hero:not(:has(img)) {
  min-height: auto;
  background: var(--c-paper);
}
.couture-page--help .couture-page-head:not(:has(img)) h1,
.couture-page--help .couture-hero:not(:has(img)) h1,
.couture-page--help .couture-page-head:not(:has(img)) p,
.couture-page--help .couture-hero:not(:has(img)) p { color: var(--c-ink) !important; }
.couture-page--help .couture-page-head:not(:has(img)) .eyebrow,
.couture-page--help .couture-hero:not(:has(img)) .eyebrow { color: var(--c-accent) !important; }


/* Product card layout (applied via [data-product-card-layout="<n>"] attr) */

.couture-products[data-product-card-layout="card-elevated"] .shelf-card, .couture-products[data-product-card-layout="card-elevated"] .product-card {
  background: var(--c-paper);
  border: 0 !important;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px -8px color-mix(in oklab, var(--c-ink) 18%, transparent);
  transition: transform .2s, box-shadow .2s;
}
.couture-products[data-product-card-layout="card-elevated"] .shelf-card:hover, .couture-products[data-product-card-layout="card-elevated"] .product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px -12px color-mix(in oklab, var(--c-ink) 28%, transparent);
}
.couture-products[data-product-card-layout="card-elevated"] .shelf-card img, .couture-products[data-product-card-layout="card-elevated"] .product-card img {
  aspect-ratio: 4 / 5 !important; object-fit: cover; width: 100%;
}
.couture-products[data-product-card-layout="card-elevated"] .shelf-card .meta, .couture-products[data-product-card-layout="card-elevated"] .product-card .meta {
  padding: 18px 18px 22px;
}
.couture-products[data-product-card-layout="card-elevated"] .shelf-card h3, .couture-products[data-product-card-layout="card-elevated"] .product-card h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 6px;
}
.couture-products[data-product-card-layout="card-elevated"] .shelf-card .price, .couture-products[data-product-card-layout="card-elevated"] .product-card .price {
  font-size: 14px;
  font-weight: 500;
  color: var(--c-accent);
}

