:root{font-family:Inter,Arial,sans-serif;color:#242821;background:#f6f5f0;--paper:#fff;--line:#dcded4;--muted:#62695f;--accent:#384d36;--soft:#eceee5;color-scheme:light}
    [data-theme=dark]{color:#edeee7;background:#1b211c;--paper:#242d25;--line:#424e43;--muted:#b5bfaf;--accent:#c4d9b6;--soft:#303a30;color-scheme:dark}
    *{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{max-width:100%;display:block}button,input{font:inherit}.wrap{max-width:1360px;margin:auto;padding:0 5vw}.skip{position:absolute;top:-100px;inset-inline-start:8px}.skip:focus{top:8px;z-index:2;background:var(--paper);padding:12px}
    header{border-bottom:1px solid var(--line)}.header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.brand{font-weight:700;font-size:23px;letter-spacing:-.7px;display:flex;align-items:center;gap:12px}.brand img{max-width:130px;max-height:44px}nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:14px}.languages{display:flex;gap:12px;color:var(--muted);font-size:13px}.languages [aria-current=page]{color:inherit;font-weight:700}
    .hero{padding:72px 0 56px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:end}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,80px);line-height:1.06;letter-spacing:-2px;margin:0;overflow-wrap:anywhere}.intro{color:var(--muted);line-height:1.7;max-width:52ch;white-space:pre-line}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;background:var(--accent);color:var(--paper);border:1px solid var(--accent);font-size:14px;cursor:pointer}.hero .button{margin-top:14px}.section{padding:42px 0}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px}.section-head h2{font-size:24px;font-weight:500;margin:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px}.card-image{aspect-ratio:4/5;background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.card:hover img{transform:scale(1.035)}.card h3{font-size:16px;font-weight:500;margin:13px 0 8px;line-height:1.4}.card-meta{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.price{font-size:14px;margin:10px 0}.empty{padding:70px 24px;background:var(--soft);text-align:center;color:var(--muted)}
    .search{display:flex;gap:10px;max-width:600px;margin:30px 0}.search input{min-width:0;flex:1;border:1px solid var(--line);background:var(--paper);padding:14px;color:inherit}.pagination{display:flex;justify-content:center;gap:30px;margin-top:38px}.block{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:36px 0}.block img{width:100%;max-height:520px;object-fit:contain;background:var(--soft)}.block h2{font:400 36px/1.2 Georgia,serif}.text{white-space:pre-line;line-height:1.8;overflow-wrap:anywhere}.detail{display:grid;grid-template-columns:1.25fr 1fr;gap:6vw;padding:48px 0}.detail h1{font:400 clamp(32px,4vw,52px)/1.12 Georgia,serif;margin:20px 0}.detail h2{font-size:16px;margin-top:30px}.detail .price{font-size:22px}.variants{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.variants li{padding:8px 12px;border:1px solid var(--line);font-size:13px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--soft)}.gallery figcaption{font-size:12px;color:var(--muted);margin-top:8px}
    footer{border-top:1px solid var(--line);margin-top:50px;padding:36px 0 50px}.footer{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer p{font-size:13px;color:var(--muted)}
    @media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr;gap:20px;padding:42px 0}.detail{gap:30px}.header{gap:16px}nav{gap:16px}}
    @media(max-width:600px){.wrap{padding-inline-start:20px;padding-inline-end:20px}.header{align-items:flex-start}.brand{font-size:20px}.header nav{width:100%;font-size:13px}.hero h1{letter-spacing:-1px}.block,.detail{grid-template-columns:1fr;gap:24px}.grid{gap:26px 14px}.card h3{font-size:14px}.card-meta{flex-direction:column;gap:4px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:30px 0}.languages{flex-wrap:wrap}.search .button{padding:12px}.footer{flex-direction:column}}
    .catalog-groups,.catalog-types{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0}.catalog-groups a,.catalog-types a{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:13px}.catalog-groups a[aria-current=page],.catalog-types a[aria-current=page]{background:var(--accent);color:var(--paper);border-color:var(--accent)}.catalog-groups small,.catalog-types small{margin-inline-start:6px;opacity:.7}.catalog-types{padding-top:0}.catalog-legacy summary{cursor:pointer;color:var(--muted);font-size:13px}.match-style{font-size:12px;color:var(--accent);margin:8px 0}
    @media(prefers-reduced-motion:reduce){.card-image img{transition:none}}
   .social-floating{position:fixed;inset-inline-end:20px;bottom:20px;z-index:20;display:flex;flex-direction:column;gap:8px;align-items:flex-end;max-height:60vh;overflow:auto}.social-floating a{display:flex;align-items:center;gap:8px;background:var(--paper);color:inherit;border:1px solid #899b9470;border-radius:24px;padding:10px 14px;box-shadow:0 3px 12px #0001;font-size:13px}.social-floating svg{width:16px;height:16px}

/* Every theme presents the same product catalog, filters and page links. */
.qc-platform{margin:24px 0;min-width:0}
.qc-group{margin:12px 0;padding:16px;border:1px solid var(--line);border-radius:var(--radius,8px)}
.qc-group summary{cursor:pointer;overflow-wrap:anywhere;font-size:13px;padding-bottom:12px}
.button{color:var(--on-accent)}
[data-font=sans] .hero h1,[data-font=sans] .detail h1{font-family:Arial,sans-serif}
[data-font=serif] .hero h1,[data-font=serif] .detail h1{font-family:Georgia,serif}
[data-corners=soft] .card-image,[data-corners=soft] .button,[data-corners=soft] .catalog-controls,[data-corners=soft] .detail-photo{border-radius:12px}
[data-density=compact] .grid{gap:22px 16px}[data-density=compact] .card h3{font-size:14px}[data-density=compact] .section{padding:28px 0}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;padding-top:22px;font-size:12px;color:var(--muted)}.breadcrumbs span+span:before{content:'/';margin-inline-end:8px;opacity:.55}
.preview-notice{padding:10px 20px;background:#e6eef7;color:#24374e;text-align:center;font:12px/1.5 Arial,sans-serif}
.hero{display:block;padding:36px 0 26px;border:0}.hero h1{font-size:clamp(30px,4vw,48px);line-height:1.15;letter-spacing:-1.5px}.hero .eyebrow{margin-bottom:12px}.hero .intro{margin:14px 0 0;max-width:76ch;font-size:14px}
.catalog-controls{padding:22px;background:var(--paper);border:1px solid var(--line);margin-bottom:10px}
.catalog-search-box{display:flex;gap:10px}.catalog-search-box input{font:inherit;min-width:0;flex:1;padding:14px 16px;border:1px solid var(--line);background:var(--paper);color:inherit;border-radius:6px}.catalog-search-box .button{border-radius:6px;min-width:100px}
.catalog-filter-row{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px;font-size:12px}.catalog-filter-row label{display:grid;gap:7px;color:var(--muted)}.catalog-filter-row select{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:10px;min-width:170px;max-width:260px}.catalog-filter-row select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.filter-submit{font:inherit;padding:10px 15px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:inherit;cursor:pointer}.filter-reset{padding:10px 4px;color:var(--muted)}
.catalog-groups{padding:20px 0 0;gap:8px}.catalog-groups a{font-size:12px;padding:8px 12px;border-radius:6px}.catalog-groups a[aria-current=page],.catalog-types a[aria-current=page]{color:var(--on-accent)}
.category-directory{display:flex;gap:10px;overflow:auto;padding:14px 0}.category-directory a{display:flex;flex:0 0 96px;flex-direction:column;align-items:center;gap:8px;font-size:12px;padding:12px;border:1px solid var(--line);background:var(--paper)}.category-directory img{width:40px;height:40px}.catalog-legacy{margin-top:16px}
.collection-more{text-align:center;margin-top:30px}.journal-stories{padding:30px 0}.journal-stories h2{font-size:24px}.journal-stories .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journal-stories .card-image{aspect-ratio:16/9}

.search-suggestions { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; margin-block:12px 20px; color:inherit; font-size:13px; line-height:1.6; }
.search-suggestions[hidden] { display:none; }
.search-suggestions-label { opacity:.65; }
.search-suggestions-links { display:flex; flex:1; flex-wrap:wrap; align-items:baseline; gap:8px 16px; min-width:0; }
.search-suggestions-links a { color:inherit; max-width:100%; overflow-wrap:anywhere; text-decoration:underline; text-decoration-color:color-mix(in srgb,currentColor 25%,transparent); text-underline-offset:4px; }
.search-suggestions-links a:hover { text-decoration-color:currentColor; }
.search-suggestions-links a:focus-visible { outline:2px solid currentColor; outline-offset:5px; border-radius:2px; }
@media(max-width:700px) { .search-suggestions { gap:5px 10px; margin-block:10px 16px; font-size:12px; } .search-suggestions-links { gap:6px 12px; } }

.platform-page{padding:32px 0 64px;min-width:0}.platform-heading{max-width:880px;margin-bottom:30px}.platform-heading h1{font-size:clamp(28px,4vw,46px);line-height:1.2;letter-spacing:-.025em}.platform-heading .intro{line-height:1.8;margin-top:16px}.platform-detail-title{display:flex;align-items:center;gap:16px}.platform-detail-title img,.platform-card-heading img{object-fit:contain;background:#fff;border-radius:12px;padding:6px;flex:none}.platform-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.platform-directory-card{border:1px solid var(--line,#d5d9df);border-radius:12px;min-width:0;background:var(--paper,transparent)}.platform-directory-card>a{display:flex;flex-direction:column;gap:18px;padding:24px;height:100%}.platform-card-heading{display:flex;align-items:center;gap:12px}.platform-card-heading h2{flex:1;font-size:20px;overflow-wrap:anywhere}.platform-directory-card p{line-height:1.75;color:var(--muted);font-size:14px;margin:0;overflow-wrap:anywhere}.platform-card-action{margin-top:auto;font-size:13px;font-weight:600}.platform-directory-card:focus-within,.platform-directory-card:hover{border-color:var(--accent,currentColor)}.platform-notice{font-size:13px;line-height:1.8;color:var(--muted);max-width:90ch;margin:30px 0 20px}.platform-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:20px;font-size:14px}.platform-official{text-decoration:underline;text-underline-offset:4px}.platform-products{border-top:1px solid var(--line);padding:28px 0}.platform-filter{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:20px 0 26px;font-size:13px}.platform-filter label{display:grid;gap:8px;min-width:0}.platform-filter .platform-search-label{flex:1 1 230px}.platform-filter input[type=search],.platform-filter select{background:var(--paper);color:inherit;border:1px solid var(--line);border-radius:6px;padding:11px;min-height:44px;width:100%;min-width:0}.platform-filter .platform-qc{display:flex;align-items:center;min-height:44px;gap:7px}.platform-filter .button{min-height:44px}.platform-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}.platform-product-grid .card{min-width:0}.platform-product-grid .card-image{aspect-ratio:5/6;overflow:hidden;border-radius:8px;background:var(--soft)}.platform-product-grid .card-image img{width:100%;height:100%;object-fit:cover}.platform-product-grid h3{font-size:14px;line-height:1.6;margin:12px 0 6px;overflow-wrap:anywhere}.platform-product-grid .card-meta{font-size:12px;color:var(--muted)}.platform-about{padding:24px 0;max-width:82ch}.platform-about>h2{font-size:26px;margin-bottom:18px}.platform-copy{margin:24px 0}.platform-copy h3{font-size:18px;line-height:1.5;margin-bottom:12px}.platform-copy p{white-space:pre-line;line-height:1.9;overflow-wrap:anywhere}.platform-copy img{max-width:100%;height:auto}.platform-empty{padding:32px 0;line-height:1.9}.platform-empty a{text-decoration:underline}@media(max-width:1000px){.platform-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.platform-directory-grid{grid-template-columns:minmax(0,1fr)}.platform-directory-card>a{padding:20px}.platform-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.platform-filter{gap:12px}.platform-filter .platform-search-label{flex-basis:100%}.platform-heading h1{font-size:28px}.platform-detail-title{align-items:start}.platform-detail-title img{width:44px;height:44px}.platform-actions{gap:16px}}

.platform-product-buy{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:8px;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

@media(max-width:600px){.platform-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.platform-filter .platform-search-label{grid-column:1/-1}.platform-filter label,.platform-filter .button{width:100%}.platform-filter select{max-width:100%}.platform-filter>.button,.platform-filter>a{align-self:center}.platform-heading{margin-bottom:24px}.platform-heading .intro{font-size:14px;line-height:1.8}}

/* Shared photo viewer (lightbox.html, lightbox.js). Full screen and a neutral
   near-black in every template so photos read the same; the accent follows
   the template. Photo, then thumbnails; tools and the caption sit above. */
html.lightbox-open { overflow:hidden; }
dialog.lightbox { --lb-accent:var(--accent,#facc15); position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#0a0a0c; color:#f4f4f5; overflow:hidden; font-family:inherit; outline:none; }
dialog.lightbox[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
dialog.lightbox::backdrop { background:#000c; }
.lightbox svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.lightbox .lightbox-top { display:flex; align-items:center; gap:16px; min-width:0; padding-block:10px; padding-inline:20px 12px; }
.lightbox .lightbox-count { flex:none; min-width:72px; font-size:13px; font-weight:600; color:#a1a1aa; font-variant-numeric:tabular-nums; }
.lightbox .lightbox-caption { flex:1; min-width:0; margin:0; overflow:hidden; font-size:14px; font-weight:600; line-height:1.4; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.lightbox .lightbox-tools { display:flex; flex:none; gap:2px; }
.lightbox .lightbox-tool { display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:10px; background:transparent; color:#d4d4d8; cursor:pointer; text-decoration:none; transition:background .15s,color .15s; }
.lightbox .lightbox-tool:hover { background:#ffffff14; color:#fff; }
.lightbox .lightbox-tool:is([aria-pressed=true],[aria-expanded=true]) { color:var(--lb-accent); }
.lightbox :is(.lightbox-tool,.lightbox-step,.lightbox-thumb):focus-visible { outline:2px solid var(--lb-accent); outline-offset:2px; }
.lightbox.is-zoomed .lightbox-zoom-plus { display:none; }

.lightbox .lightbox-body { position:relative; min-height:0; padding:0 80px; }
.lightbox .lightbox-stage { position:relative; height:100%; overflow:hidden; touch-action:none; user-select:none; -webkit-user-select:none; }
.lightbox :is(.lightbox-image,.lightbox-placeholder) { position:absolute; inset:0; display:block; max-width:100%; max-height:100%; margin:auto; }
.lightbox .lightbox-image { transform-origin:center; transition:transform .22s cubic-bezier(.2,.7,.2,1),opacity .18s; cursor:zoom-in; -webkit-user-drag:none; }
.lightbox .lightbox-image.is-moving { transition:opacity .18s; }
.lightbox.is-zoomed .lightbox-image { cursor:grab; }
.lightbox.is-zoomed .lightbox-image:active { cursor:grabbing; }
/* While a photo loads, its thumbnail stands in, blurred, under a spinner. */
.lightbox .lightbox-placeholder { width:100%; height:100%; object-fit:contain; filter:blur(16px); opacity:0; pointer-events:none; transition:opacity .2s; }
.lightbox.is-loading .lightbox-image { opacity:0; }
.lightbox.is-loading .lightbox-placeholder { opacity:.5; }
/* A photo that fails to load leaves its thumbnail, sharp, in its place. */
.lightbox.is-broken .lightbox-image { opacity:0; }
.lightbox.is-broken .lightbox-placeholder { filter:none; opacity:1; }
.lightbox .lightbox-spinner { position:absolute; top:50%; left:50%; width:34px; height:34px; margin:-17px 0 0 -17px; border:3px solid #ffffff33; border-top-color:var(--lb-accent); border-radius:50%; opacity:0; pointer-events:none; animation:lightbox-spin .8s linear infinite; transition:opacity .2s; }
.lightbox.is-loading .lightbox-spinner { opacity:1; transition-delay:.15s; }
@keyframes lightbox-spin { to { transform:rotate(1turn); } }
.lightbox .lightbox-step { position:absolute; top:50%; display:grid; place-items:center; width:52px; height:52px; margin-top:-26px; padding:0; border:1px solid #ffffff24; border-radius:999px; background:#18181bcc; color:#fff; cursor:pointer; transition:border-color .15s,color .15s; }
.lightbox .lightbox-step:hover { border-color:var(--lb-accent); color:var(--lb-accent); }
.lightbox .lightbox-step svg { width:24px; height:24px; }
.lightbox .lightbox-prev { inset-inline-start:14px; }
.lightbox .lightbox-next { inset-inline-end:14px; }
[dir=rtl] .lightbox .lightbox-step svg { transform:scaleX(-1); }

/* Thumbnails centre while they fit and scroll once they do not; a gap marks
   where one group (such as a QC batch) gives way to the next. */
.lightbox .lightbox-thumbs { display:flex; flex-wrap:nowrap; align-items:center; gap:6px; min-width:0; padding:12px 20px 16px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#3f3f46 transparent; }
.lightbox .lightbox-thumbs::before,.lightbox .lightbox-thumbs::after { content:""; margin:auto; }
.lightbox .lightbox-thumb { flex:none; width:64px; height:64px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:9px; background:#27272a; opacity:.5; cursor:pointer; transition:opacity .15s,border-color .15s; }
.lightbox .lightbox-thumb:hover { opacity:.85; }
.lightbox .lightbox-thumb[aria-current=true] { border-color:var(--lb-accent); opacity:1; }
.lightbox .lightbox-thumb.is-group-start { margin-inline-start:16px; }
.lightbox .lightbox-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.lightbox:is(.hide-thumbs,.is-single) .lightbox-thumbs,.lightbox.is-single :is(.lightbox-step,[data-lightbox-thumbs-toggle]) { display:none; }
.lightbox:is(.hide-thumbs,.is-single) .lightbox-body { padding-bottom:16px; }

.lightbox .lightbox-help { position:absolute; top:60px; inset-inline-end:12px; z-index:2; width:min(360px,calc(100% - 24px)); padding:18px; border:1px solid #ffffff1f; border-radius:14px; background:#18181b; box-shadow:0 18px 50px #000a; }
.lightbox .lightbox-help[hidden] { display:none; }
.lightbox .lightbox-help h2 { margin:0 0 12px; font-size:14px; font-weight:650; color:#fafafa; }
.lightbox .lightbox-help dl { display:grid; gap:9px; margin:0; }
.lightbox .lightbox-help dl>div { display:grid; grid-template-columns:108px minmax(0,1fr); align-items:center; gap:12px; }
.lightbox .lightbox-help dt { display:flex; flex-wrap:wrap; gap:4px; }
.lightbox .lightbox-help dd { margin:0; font-size:13px; line-height:1.4; color:#d4d4d8; }
.lightbox .lightbox-help kbd { min-width:26px; padding:1px 7px; border:1px solid #ffffff2e; border-bottom-width:2px; border-radius:6px; background:#27272a; color:#fafafa; font:600 12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align:center; }
.lightbox .lightbox-help p { margin:14px 0 0; font-size:12px; line-height:1.5; color:#a1a1aa; }

@media(max-width:760px) {
  .lightbox .lightbox-top { gap:8px; padding-inline:14px 6px; }
  .lightbox .lightbox-count { min-width:0; }
  .lightbox .lightbox-caption { font-size:13px; text-align:start; }
  .lightbox .lightbox-body { padding:0; }
  .lightbox .lightbox-step { width:44px; height:44px; margin-top:-22px; background:#18181b99; }
  .lightbox .lightbox-thumbs { padding:10px 12px 14px; }
  .lightbox .lightbox-thumb { width:52px; height:52px; }
}
/* Touch screens swipe between photos and have no keyboard to explain. */
@media(hover:none) {
  .lightbox :is(.lightbox-step,.lightbox-help-toggle) { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .lightbox :is(.lightbox-image,.lightbox-placeholder,.lightbox-step,.lightbox-thumb,.lightbox-tool) { transition:none; }
  .lightbox .lightbox-spinner { animation-duration:2s; }
}
@media(max-width:600px){[data-layout] .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}[data-layout] .hero{padding:28px 0 22px}[data-layout] .hero h1{font-size:32px;letter-spacing:-1px}.catalog-controls{padding:14px}.catalog-search-box{gap:8px}.catalog-search-box input{padding:12px 10px;width:100%}.catalog-search-box .button{min-width:0;padding:12px 15px}.catalog-filter-row{gap:10px}.catalog-filter-row label{flex:1;min-width:0}.catalog-filter-row select{width:100%;min-width:0;max-width:100%}.catalog-groups a{padding:7px 9px;font-size:11px}.catalog-groups small{margin-inline-start:4px}[data-layout=atelier] .card h3,[data-layout=journal] .card h3{font-size:15px}.breadcrumbs{padding-top:16px}.catalog-controls select{font-size:13px}}
.outfit-heading{padding:48px 0 30px;max-width:760px}.outfit-heading h1{font:400 clamp(38px,6vw,70px)/1.05 Georgia,serif;margin:12px 0 22px}.outfit-heading p{color:var(--muted);line-height:1.7}.outfit-filters{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0 30px;align-items:end}.outfit-filters label{display:grid;gap:8px;font-size:13px}.outfit-filters select,.outfit-size-select select{padding:12px;border:1px solid var(--line);background:var(--paper);color:inherit;font:inherit;max-width:100%}.outfit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}.outfit-card img{width:100%;aspect-ratio:2/3;object-fit:contain;background:var(--soft)}.outfit-card h2{font-size:17px;font-weight:500;margin:15px 0 10px;overflow-wrap:anywhere}.outfit-card-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.outfit-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:5vw;padding:40px 0}.outfit-full-photo{width:100%;max-height:900px;object-fit:contain;background:var(--soft)}.outfit-detail h1{font:400 clamp(30px,4vw,48px)/1.15 Georgia,serif;overflow-wrap:anywhere}.outfit-detail .intro{font-size:14px}.outfit-products{display:grid;gap:18px;margin:28px 0}.outfit-product{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding-top:18px}.outfit-product img{width:90px;height:112px;object-fit:contain;background:var(--soft)}.outfit-product h3{font-size:16px;line-height:1.5;margin:2px 0 9px}.outfit-product p{font-size:13px;line-height:1.6;margin:6px 0;color:var(--muted)}.outfit-product a.text-link{display:inline-block;margin-top:8px}.outfit-size-select{display:grid;gap:10px;margin:22px 0;max-width:100%;font-size:14px}.outfit-size-select form{display:flex;flex-wrap:wrap;gap:10px}.outfit-size-select select{min-width:0;flex:1}.outfit-size-select option{white-space:normal}.outfit-size-select .muted{line-height:1.7}.outfit-selected-style{border-inline-start:3px solid var(--accent);padding:8px 12px;background:var(--soft);font-size:14px;line-height:1.7}@media(max-width:900px){.outfit-grid,.outfit-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}.outfit-detail{gap:28px}}@media(max-width:600px){.outfit-detail{grid-template-columns:1fr}.outfit-grid{gap:26px 14px}.outfit-card h2{font-size:14px}.outfit-heading{padding-top:30px}.outfit-filters label{flex:1 1 130px}.outfit-full-photo{max-height:640px}.outfit-product{grid-template-columns:78px minmax(0,1fr)}.outfit-product img{width:78px;height:100px}}
.outfit-card img,.outfit-full-photo{height:auto}
.outfit-detail .intro{white-space:pre-line;overflow-wrap:anywhere}
.outfit-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px}.outfit-filter-summary strong{font-weight:650}.outfit-filter-hint{color:var(--muted);font-size:12px;line-height:1.6;margin:8px 0 20px}.outfit-filters select{min-width:0;width:100%}.outfit-filters label{max-width:100%;min-width:0}.outfit-filters option:disabled{color:#85858b}
.collection-outfits{border-bottom:1px solid var(--line)}.collection-outfits .outfit-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 66px)/4);overflow-x:auto;scroll-snap-type:inline proximity;padding-bottom:12px}.collection-outfits .outfit-card{scroll-snap-align:start}.collection-outfits .outfit-card h2{font-size:15px}.collection-outfits .outfit-card-meta{gap:6px 12px}
@media(min-width:901px){:is([data-layout=obsidian],[data-layout=nocturne]) .collection-outfits .outfit-grid:has(>.outfit-card:nth-child(3):last-child){grid-auto-columns:calc((100% - 44px)/3)}}
@media(max-width:900px){.collection-outfits .outfit-grid{grid-auto-columns:calc((100% - 22px)/2)}}@media(max-width:600px){.collection-outfits .section-head{align-items:center;gap:12px}.collection-outfits .section-head h2{font-size:21px}.collection-outfits .section-head>a{font-size:12px;white-space:nowrap}.collection-outfits .outfit-grid{grid-auto-columns:calc((100% - 14px)/2)}}
/* Obsidian navigation, browsing preferences and catalog discovery. */
[data-layout=obsidian] .header { gap:28px; min-height:84px; }
[data-layout=obsidian] .primary-nav { gap:24px; min-width:0; flex:1; }
[data-layout=obsidian] .primary-nav>a { font-size:13px; white-space:nowrap; }
.header-actions { display:flex; align-items:center; gap:12px; margin-inline-start:auto; }
.header-actions summary,.header-discover>summary { cursor:pointer; list-style:none; display:flex; align-items:center; gap:9px; white-space:nowrap; font-size:12px; }
.header-actions summary::-webkit-details-marker,.header-discover>summary::-webkit-details-marker { display:none; }
.header-actions summary { min-height:44px; padding:9px 12px; border:1px solid #303034; border-radius:10px; background:#151516; }
.preference-current { display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:11px; }
.preference-divider { width:1px; height:17px; background:#ffffff22; margin:0 2px; }
.preference-current .locale-code { text-transform:uppercase; }
.region-flag { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; overflow:hidden; border-radius:50%; background:#242426; color:#aaaab2; box-shadow:0 0 0 1px #ffffff16; }
.region-flag img { width:100%; height:100%; object-fit:cover; }
.preference-current .region-flag { width:20px; height:20px; }
.chevron { color:var(--muted); flex-shrink:0; transition:transform .18s; }
.preferences-menu[open] .chevron { transform:rotate(180deg); }
.header-discover>summary { padding:10px 0; font-size:13px; }
.header-discover[open]>summary,.preferences-menu[open]>summary { color:var(--accent); }
.member-entry { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:11px 17px; border:1px solid var(--accent); background:var(--accent); color:var(--on-accent); border-radius:10px; font-size:12px; font-weight:650; white-space:nowrap; }
[data-layout=obsidian] a.member-entry:hover { color:var(--on-accent); filter:brightness(1.08); }
.preferences-menu { position:relative; }
.preferences-panel { position:absolute; inset-inline-end:0; top:calc(100% + 13px); width:640px; max-width:calc(100vw - 40px); background:#171719; border:1px solid #373739; border-radius:18px; padding:24px; box-shadow:0 24px 70px #000b; color:#f3f3f5; z-index:50; }
.preferences-title { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:20px; border-bottom:1px solid #ffffff12; }
.preferences-title .eyebrow { display:block; margin:0 0 8px; color:var(--accent); font-size:9px; letter-spacing:.12em; }
.preferences-title h2 { font-size:23px; font-weight:600; letter-spacing:-.6px; margin:0; line-height:1.2; }
.preferences-title>svg { color:#777780; }
.preferences-columns { display:grid; grid-template-columns:1fr 1.65fr; gap:22px; margin-top:21px; }
.preferences-columns>section { min-width:0; }
.preferences-columns>section+section { border-inline-start:1px solid #ffffff12; padding-inline-start:22px; }
.preference-section-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; }
.preference-section-heading h3 { font-size:11px; font-weight:600; margin:0; color:#a9a9b0; }
.preference-section-heading>span { font-size:10px; color:#81818a; }
.language-options,.currency-options { display:grid; gap:7px; max-height:294px; overflow:auto; scrollbar-width:thin; overscroll-behavior:contain; padding:1px; }
.currency-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
.language-options a,.currency-options a { min-height:57px; display:flex; align-items:center; gap:9px; border:1px solid #343438; border-radius:9px; padding:10px; font-size:12px; min-width:0; background:#1d1d20; transition:background .15s,border-color .15s; }
.language-options a:hover,.currency-options a:hover { border-color:#777466; background:#252528; }
.language-options a[aria-current],.currency-options a[aria-current] { color:var(--accent); background:color-mix(in srgb,var(--accent) 7%,#1d1d20); border-color:color-mix(in srgb,var(--accent) 65%,#1d1d20); }
.preference-option-text { display:grid; gap:5px; min-width:0; flex:1; line-height:1.2; }
.preference-option-text>span { font-weight:600; }
/* A language name keeps its own direction for shaping but aligns with the panel. */
.preference-option-text>[dir] { justify-self:start; }
.preference-option-text small { font-size:9px; color:#a7a7ae; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.option-check { flex-shrink:0; display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background:var(--accent); color:#161616; font-size:10px; }
.currency-options .region-flag { width:23px; height:23px; }
.currency-symbol { margin-inline-start:3px; font-size:10px; font-weight:400; color:#a7a7ae; }
.preferences-note { border-top:1px solid #ffffff12; padding-top:15px; margin:20px 0 0; font-size:10px; color:#9999a1; line-height:1.7; }
.preferences-note>span { display:block; margin-top:3px; color:#74747d; }
.discover-panel { position:absolute; top:calc(100% - 1px); left:50%; transform:translateX(-50%); width:min(860px,calc(100vw - 64px)); background:#171719; border:1px solid #373739; border-radius:0 0 18px 18px; box-shadow:0 26px 60px #000a; padding:26px; color:#efeff2; z-index:40; }
.discover-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid #ffffff12; padding-bottom:18px; }
.discover-panel-heading .eyebrow { margin:0; font-size:10px; color:var(--accent); }
.discover-panel-heading>a { font-size:11px; color:var(--muted); }
.discover-panel h2 { font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:#aaaab2; margin:0 0 12px; font-weight:600; }
.discover-columns { display:grid; grid-template-columns:1fr 1.2fr; gap:28px; margin-top:22px; }
.discover-columns>section+section { border-inline-start:1px solid #ffffff12; padding-inline-start:28px; }
.discover-categories,.discover-brands { max-height:310px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
[data-layout=obsidian] .discover-categories a { display:flex; align-items:center; gap:12px; padding:12px 9px; border-radius:8px; font-size:13px; }
.discover-categories a>span:last-child { margin-inline-start:auto; color:#777780; }
.discover-categories img { object-fit:contain; }
.discover-categories a:hover { background:#252528; }
.discover-brands { display:flex; flex-wrap:wrap; align-content:flex-start; gap:7px; margin-top:13px; }
[data-layout=obsidian] .discover-brands a { padding:9px 12px; font-size:11px; border:1px solid #39393e; border-radius:7px; background:#202023; }
.directory-search { width:100%; min-width:0; padding:10px 11px; font-size:12px; color:inherit; background:#141416; border:1px solid #333338; border-radius:8px; outline-offset:2px; }
.catalog-results-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; align-items:start; margin-top:20px; }
.filter-directory { border:1px solid #29292e; border-radius:12px; padding:17px 13px; margin:0 0 12px; background:#121214; }
.filter-directory>summary { font-size:12px; font-weight:650; display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; }
.filter-directory>summary::-webkit-details-marker { display:none; }
.filter-directory[open]>summary { margin-bottom:14px; }
.catalog-search-icon { flex-shrink:0; color:#82828b; margin-inline-start:14px; }
[data-layout=obsidian] .catalog-groups a { background:#141416; border-color:#303035; color:#bcbcc5; }
[data-layout=obsidian] .catalog-groups a[aria-current] { background:color-mix(in srgb,var(--accent) 9%,#141416); }
.empty-discovery { padding:58px 22px; text-align:center; border:1px dashed #333338; border-radius:13px; background:#141416; }
.empty-discovery h3 { margin:0 0 10px; font-size:20px; }
.block.block--text { grid-template-columns:1fr; max-width:900px; }
.catalog-search button[aria-busy=true]::after { content:''; display:inline-block; width:12px; height:12px; margin-inline-start:8px; border:2px solid currentColor; border-inline-end-color:transparent; border-radius:50%; animation:catalog-wait .8s linear infinite; }
.catalog-search button:disabled { cursor:wait; opacity:.75; }
@keyframes catalog-wait { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .catalog-search button[aria-busy=true]::after { animation:none; } }
.empty-discovery p { font-size:13px; line-height:1.6; color:var(--muted); margin:0 0 22px; }
[hidden] { display:none!important; }
summary:focus-visible,select:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media(max-width:1100px) {
 [data-layout=obsidian] .header { flex-wrap:wrap; gap:12px 22px; }
 [data-layout=obsidian] .primary-nav { order:3; flex-basis:100%; border-top:1px solid #ffffff0d; padding-top:5px; }
 .catalog-results-layout { grid-template-columns:180px minmax(0,1fr); gap:22px; }
}
@media(max-width:700px) {
 [data-layout=obsidian] .header { align-items:center; padding-top:12px; padding-bottom:8px; gap:12px 8px; }
 [data-layout=obsidian] .brand { max-width:calc(100% - 206px); font-size:16px; overflow-wrap:anywhere; white-space:normal; gap:8px; }
 .obsidian-mark { flex-shrink:0; width:25px; height:25px; }
 .header-actions { gap:7px; }
 .header-actions summary { min-height:38px; padding:8px; gap:6px; }
 .preference-current { gap:4px; font-size:10px; }
 .preference-current .region-flag { width:17px; height:17px; }
 .header-actions .chevron,.preference-divider { display:none; }
 .member-entry { min-height:38px; padding:9px 10px; font-size:10px; gap:6px; }
 .member-entry svg { width:14px; height:14px; }
 [data-layout=obsidian] .primary-nav { flex-wrap:nowrap; gap:19px; overflow-x:auto; scrollbar-width:none; justify-content:flex-start; font-size:12px; }
 [data-layout=obsidian] .primary-nav>a,.header-discover>summary { font-size:11px; }
 .preferences-panel { position:fixed; inset-inline:12px; top:74px; width:auto; max-width:none; max-height:calc(100dvh - 94px); overflow:auto; padding:19px; }
 .preferences-title h2 { font-size:20px; }
 .preferences-columns { grid-template-columns:1fr; gap:20px; margin-top:18px; }
 .preferences-columns>section+section { border-inline-start:0; border-top:1px solid #ffffff12; padding:18px 0 0; }
 .language-options { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:188px; }
 .currency-options { max-height:254px; }
 .language-options a,.currency-options a { gap:7px; padding:9px; min-height:55px; }
 .language-options .region-flag { width:23px; height:23px; }
 .option-check { width:13px; height:13px; font-size:9px; }
 .preferences-note { margin-top:17px; }
 .discover-panel { position:fixed; top:116px; inset-inline:12px; width:auto; transform:none; max-height:calc(100dvh - 140px); overflow:auto; border-radius:13px; padding:18px; }
 .discover-columns { grid-template-columns:1fr; gap:20px; }
 .discover-columns>section+section { border-inline-start:0; border-top:1px solid #ffffff12; padding:20px 0 0; }
 .discover-categories { display:grid; grid-template-columns:1fr 1fr; max-height:190px; }
 [data-layout=obsidian] .discover-categories a { font-size:11px; gap:7px; padding:10px 5px; }
 .discover-categories a>span:last-child { display:none; }
 .discover-brands { max-height:200px; }
 .catalog-results-layout { display:block; margin-top:15px; }
 .filter-directory { padding:13px; margin:0; }
 .catalog-search-icon { margin-inline-start:8px; width:17px; height:17px; }
}
@media(max-width:360px) {
 [data-layout=obsidian] .brand { flex:1; min-width:0; max-width:none; font-size:14px; gap:6px; }
 .obsidian-mark { width:23px; height:23px; }
 .header-actions { flex-shrink:0; }
 .member-entry { width:38px; padding:9px; }
 .member-entry span { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 *,*:before,*:after { transition:none!important; scroll-behavior:auto!important; }
}
.language-fallback{white-space:normal!important;line-height:1.5;color:var(--muted)}
.language-preferences.is-single-language{display:none}
.preferences-columns:has(.is-single-language){grid-template-columns:minmax(0,1fr)}
.locale-code,.currency-symbol{direction:ltr;unicode-bidi:isolate}
[dir=rtl] .preferences-title .eyebrow{letter-spacing:normal}
/* Obsidian visual system; navigation behavior is shared with experience.css. */
[data-layout=obsidian] {
  background:#0c0d0f; color:#f3f1eb; color-scheme:dark;
  --paper:#151619; --soft:#1b1c20; --line:#2e3035; --muted:#a6a6ac;
  /* header.js replaces these measured fallbacks with the visible height. */
  --o-header-offset:118px;
  /* Platform UI faces before Arial. system-ui and named CJK faces are left
     out: CJK Windows would take Latin text and symbols from them, while CJK
     text still reaches the platform fallback. */
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; font-size:15px;
}
[data-layout=obsidian] body { background:radial-gradient(ellipse 65% 540px at 80% 0,color-mix(in srgb,var(--accent) 5%,transparent),transparent); }
[data-layout=obsidian] .wrap { max-width:1440px; padding-inline:40px; }
[data-layout=obsidian] a:hover { text-decoration:none; color:var(--accent); }
[data-layout=obsidian] main { min-height:55vh; }
[data-layout=obsidian] :target { scroll-margin-top:calc(var(--o-header-offset) + 12px); }
[data-layout=obsidian] .skip:focus { z-index:80; border-radius:8px; }
[data-layout=obsidian] .button {
  min-height:46px; padding:12px 22px; border-radius:10px; background:var(--accent); color:var(--on-accent);
  font-size:14px; font-weight:650; gap:10px; transition:filter .18s,transform .18s;
}
[data-layout=obsidian] .button:hover { filter:brightness(1.08); color:var(--on-accent); transform:translateY(-1px); }
[data-layout=obsidian] .text-link { font-size:13px; font-weight:550; color:#dbd9d2; }

/* Navigation keeps native menus and real destinations. Only the site header
   (the one holding .header) sticks; page headings marked up as <header> scroll. */
[data-layout=obsidian] header:has(>.header) { position:sticky; top:0; z-index:30; background:#0c0d0ff0; border-color:#ffffff0e; backdrop-filter:blur(20px); transition:transform .22s ease; }
[data-layout=obsidian] header[data-header-hidden] { transform:translateY(-100%); }
@media(max-width:900px) { [data-layout=obsidian] { --o-header-offset:170px; } }
[data-layout=obsidian] .header { min-height:84px; gap:32px; padding-block:16px; flex-wrap:nowrap; }
[data-layout=obsidian] .brand { font-size:22px; letter-spacing:-.7px; white-space:nowrap; gap:11px; }
[data-layout=obsidian] .brand img { max-width:140px; max-height:42px; object-fit:contain; }
[data-layout=obsidian] .obsidian-mark {
  width:32px; height:32px; display:grid; place-items:center; flex-shrink:0;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 80%,white),var(--accent));
  border:1px solid #ffffff25; border-radius:10px; color:#181713; font-size:23px; font-weight:400;
  box-shadow:0 4px 18px color-mix(in srgb,var(--accent) 10%,transparent);
}
[data-layout=obsidian] .primary-nav { gap:25px; color:#b7b6bc; min-width:0; flex:1; }
[data-layout=obsidian] .primary-nav>a,[data-layout=obsidian] .header-discover>summary { font-size:13px; padding-block:12px; }
[data-layout=obsidian] .primary-nav>a[aria-current=page] { color:#f6f3ea; border-bottom:2px solid var(--accent); }
[data-layout=obsidian] .header-actions { gap:10px; }
[data-layout=obsidian] .preferences-menu>summary { background:#16171a; border-color:var(--line); }
[data-layout=obsidian] .member-entry { font-size:13px; min-height:44px; }
[data-layout=obsidian] .preferences-panel,[data-layout=obsidian] .discover-panel { background:#17181c; border-color:#37393f; box-shadow:0 24px 80px #0009; }
[data-layout=obsidian] .discover-brands a { min-height:38px; display:inline-flex; align-items:center; }

/* A product showroom using the site's selected products. */

/* Search and discovery share a quiet, framed surface. */
[data-layout=obsidian] .hero { padding:36px 0 30px; border-bottom:0; }
[data-layout=obsidian] .hero h1 { font:650 clamp(32px,3.5vw,46px)/1.15 Inter,"Segoe UI",Arial,sans-serif; letter-spacing:-1.4px; }
[data-layout=obsidian] .hero .eyebrow { font-size:11px; color:var(--accent); margin-bottom:14px; }
[data-layout=obsidian] .filter-submit { min-height:42px; padding:10px 14px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:8px; color:var(--accent); background:color-mix(in srgb,var(--accent) 6%,var(--paper)); font-size:12px; cursor:pointer; }
[data-layout=obsidian] .filter-reset { font-size:12px; color:var(--muted); }
[data-layout=obsidian] .catalog-groups { display:flex; flex-wrap:nowrap; overflow:auto; scrollbar-width:thin; gap:8px; padding:16px 0 2px; margin:16px 0 0; border-top:1px solid #ffffff0a; }
[data-layout=obsidian] .catalog-groups a { display:flex; align-items:center; gap:8px; flex-shrink:0; white-space:nowrap; border-radius:9px; padding:10px 14px; min-height:44px; font-size:12px; background:#1b1c20; color:#c0bfc8; border-color:#303239; transition:background .18s,border-color .18s; }
[data-layout=obsidian] .catalog-groups a:hover { color:#f3f1eb; background:#232429; border-color:#5e5a4f; }
[data-layout=obsidian] .catalog-groups a[aria-current=page] { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 45%,#303239); background:color-mix(in srgb,var(--accent) 8%,#141518); }
[data-layout=obsidian] .catalog-groups img { width:22px; height:22px; flex-shrink:0; }
[data-layout=obsidian] .catalog-groups small { font-size:10px; color:#a8a6b0; margin:0; padding:2px 5px; border-radius:4px; background:#ffffff06; }
[data-layout=obsidian] .catalog-types { gap:8px; padding:14px 0 0; }
[data-layout=obsidian] .catalog-types a { font-size:12px; border-radius:8px; background:#1b1c20; }
[data-layout=obsidian] .catalog-types a[aria-current=page] { color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--paper)); }

/* Cards emphasize photography, readable titles and reference prices. */
[data-layout=obsidian] .section { padding:36px 0; }
[data-layout=obsidian] .section-head { align-items:center; margin:0 0 24px; }
[data-layout=obsidian] .section-head h2 { font-size:24px; font-weight:600; letter-spacing:-.6px; }
[data-layout=obsidian] .section-head>span { font-size:12px; color:var(--muted); }
[data-layout=obsidian] .grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 20px; }
[data-layout=obsidian] .card { min-width:0; border:1px solid #2b2d33; background:#151619; border-radius:16px; overflow:hidden; padding:0 0 18px; transition:border-color .2s,transform .2s,box-shadow .2s; }
[data-layout=obsidian] .card:hover { border-color:#686152; transform:translateY(-4px); box-shadow:0 14px 32px #0003; }
[data-layout=obsidian] .card-image { position:relative; aspect-ratio:1; background:#eeece7; overflow:hidden; }
[data-layout=obsidian] .card-image img { object-fit:contain; padding:8px; }
[data-layout=obsidian] .card-image>.muted { color:#66656a; }
[data-layout=obsidian] .card-image::after { content:'→'; position:absolute; bottom:12px; inset-inline-end:12px; display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:#16171ddd; color:white; font-size:18px; opacity:0; transition:opacity .2s; }
[data-layout=obsidian] .card:hover .card-image::after { opacity:1; }
[data-layout=obsidian] .card h3 { font-size:15px; font-weight:550; line-height:1.55; min-height:46px; margin:16px 16px 12px; color:#eeecf0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
[data-layout=obsidian] .card-meta { font-size:11px; display:flex; flex-direction:row; align-items:center; gap:10px; color:#9998a3; margin:0 16px; }
[data-layout=obsidian] .card-meta span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
[data-layout=obsidian] .card-meta span:first-child:not(:empty) { color:#ccc9d0; }
[data-layout=obsidian] .card>.price { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 8px; margin:14px 16px 0; color:var(--accent); font-size:18px; font-weight:650; }
[data-layout=obsidian] .card-price-note { color:#9e9ba6; font-size:11px; font-weight:400; }
[data-layout=obsidian] .qc-badge { position:absolute; top:12px; inset-inline-start:12px; z-index:1; padding:6px 8px; background:#18191fe8; border:1px solid #ffffff18; border-radius:6px; color:#f2e6be; font-size:10px; line-height:1.2; }
[data-layout=obsidian] .match-style { margin-inline:16px; font-size:12px; }
[data-layout=obsidian] .collection-more { margin-top:30px; text-align:center; }
[data-layout=obsidian] .collection-more .button { background:color-mix(in srgb,var(--accent) 4%,var(--paper)); color:var(--accent); border-color:color-mix(in srgb,var(--accent) 32%,var(--line)); min-width:220px; }
[data-layout=obsidian] .empty-discovery { padding:64px 24px; background:var(--paper); border-color:var(--line); }
[data-layout=obsidian] .pagination { gap:12px; font-size:13px; }
[data-layout=obsidian] .pagination a { padding:13px 20px; min-height:44px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }

/* Guides and configured content have a quieter editorial rhythm. */
[data-layout=obsidian][data-page=articles] .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-layout=obsidian][data-page=articles] .card { padding:24px; }
[data-layout=obsidian][data-page=articles] .card h2 { font-size:21px; font-weight:600; line-height:1.45; margin:0 0 16px; }
[data-layout=obsidian][data-page=articles] .card-image { border-radius:10px; margin-bottom:20px; aspect-ratio:3/2; }
[data-layout=obsidian][data-page=articles] .card .text { color:var(--muted); font-size:14px; line-height:1.8; margin-bottom:0; }
[data-layout=obsidian] .search { max-width:720px; }
[data-layout=obsidian] .search input { border-radius:10px; background:#151619; border:1px solid var(--line); color:inherit; padding:12px 16px; min-height:46px; }
[data-layout=obsidian] .block { border-top:1px solid var(--line); padding:40px 0; gap:36px; }
[data-layout=obsidian] .block h2 { font:600 28px/1.3 Inter,"Segoe UI",Arial,sans-serif; letter-spacing:-.6px; }
[data-layout=obsidian] .block .text { font-size:15px; line-height:1.85; color:var(--muted); }
[data-layout=obsidian] .block img { border-radius:16px; }
[data-layout=obsidian][data-page=home] .block--text { max-width:none; border:1px solid var(--line); border-radius:18px; padding:30px; background:linear-gradient(115deg,#1b1c20,#141518); }
[data-layout=obsidian][data-page=home] .block--text>div { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:36px; align-items:center; }
[data-layout=obsidian][data-page=home] .block--text h2 { margin:0 0 12px; }
[data-layout=obsidian][data-page=home] .block--text .text { margin:0; max-width:65ch; }
[data-layout=obsidian][data-page=home] .block--text .button { grid-column:2; grid-row:1 / 3; }
/* Only a page's first block link is a button; later ones are quieter links. */
[data-layout=obsidian] .block .text-link { color:var(--accent); font-size:14px; font-weight:650; }
[data-layout=obsidian][data-page=home] .block--text .text-link { grid-column:2; grid-row:1 / 3; }

/* Footer: brand and contact, then browse, guide, legal, category and brand
   columns, and an honest price note. */
[data-layout=obsidian] footer { background:#101114; border-color:var(--line); margin-top:44px; padding:44px 0 0; }
[data-layout=obsidian] .footer { display:grid; grid-template-columns:minmax(220px,1.6fr) repeat(auto-fit,minmax(130px,1fr)); gap:32px; padding-bottom:36px; }
[data-layout=obsidian] .footer>div { min-width:0; }
[data-layout=obsidian] .footer h2 { font-size:12px; color:#e7e3dc; font-weight:600; margin:5px 0 20px; }
[data-layout=obsidian] .footer nav { display:grid; justify-items:start; gap:13px; font-size:13px; color:#a9a7b1; }
[data-layout=obsidian] .obsidian-footer-note { max-width:36ch; font-size:14px; line-height:1.8; color:#a6a3ac; margin:16px 0; }
[data-layout=obsidian] .footer-email { font-size:12px; color:#c9c4ce; overflow-wrap:anywhere; }
[data-layout=obsidian] .footer-social { margin-top:16px; }
[data-layout=obsidian] .footer-links a:hover,[data-layout=obsidian] .footer-social a:hover { color:var(--accent); }
[data-layout=obsidian] .footer-bottom { border-top:1px solid #ffffff0b; padding:20px 0 24px; display:flex; justify-content:space-between; gap:20px; font-size:11px; color:#87848f; line-height:1.7; }
[data-layout=obsidian] .footer-bottom>span:last-child { max-width:68ch; text-align:end; }
[data-layout=obsidian] .preview-notice { font-size:11px; padding:8px 16px; background:#25231b; color:#c9c2a6; border-bottom:1px solid #3c382a; }

@media(min-width:1180px) {
  [data-layout=obsidian] .catalog-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; }
}
@media(max-width:1100px) {
  [data-layout=obsidian] :target { scroll-margin-top:160px; }
  [data-layout=obsidian] .wrap { padding-inline:26px; }
  [data-layout=obsidian] .header { flex-wrap:wrap; gap:12px 24px; }
  [data-layout=obsidian] .primary-nav { order:3; flex-basis:100%; border-top:1px solid #ffffff0b; padding-top:4px; }
  [data-layout=obsidian] .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  [data-layout=obsidian] .footer { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
  [data-layout=obsidian] .footer-brand { grid-column:1/-1; }
}
@media(max-width:700px) {
  [data-layout=obsidian] .wrap { padding-inline:18px; }
  [data-layout=obsidian] { --o-header-offset:159px; }
  [data-layout=obsidian] .header { min-height:72px; gap:12px 8px; padding-block:13px 7px; }
  [data-layout=obsidian] .brand { max-width:calc(100% - 206px); font-size:17px; white-space:normal; gap:8px; }
  [data-layout=obsidian] .obsidian-mark { width:27px; height:27px; font-size:20px; border-radius:8px; }
  [data-layout=obsidian] .primary-nav { flex-wrap:nowrap; gap:22px; overflow-x:auto; scrollbar-width:none; }
  [data-layout=obsidian] .primary-nav>a,[data-layout=obsidian] .header-discover>summary { font-size:12px; padding-block:9px; }
  [data-layout=obsidian] .header-actions { gap:7px; }
  [data-layout=obsidian] .header-actions summary { min-height:40px; padding:8px; }
  [data-layout=obsidian] .member-entry { min-height:40px; font-size:11px; padding:9px 10px; }
  [data-layout=obsidian] .hero { padding:26px 0 22px; }
  [data-layout=obsidian] .hero h1 { font-size:32px; }
  [data-layout=obsidian] .filter-submit { min-height:44px; }
  [data-layout=obsidian] .filter-reset { text-align:center; padding-block:12px; }
  [data-layout=obsidian] .catalog-groups { padding-top:14px; margin-top:14px; }
  [data-layout=obsidian] .catalog-groups a { font-size:11px; padding:9px 11px; }
  [data-layout=obsidian] .section { padding:28px 0; }
  [data-layout=obsidian] .section-head { margin-bottom:18px; gap:12px; }
  [data-layout=obsidian] .section-head h2 { font-size:21px; }
  [data-layout=obsidian] .section-head>span { font-size:11px; text-align:end; }
  [data-layout=obsidian] .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 10px; }
  [data-layout=obsidian] .card { border-radius:12px; padding-bottom:14px; }
  [data-layout=obsidian] .card-image img { padding:4px; }
  [data-layout=obsidian] .card h3 { font-size:13px; line-height:1.5; min-height:39px; margin:12px 11px 9px; }
  [data-layout=obsidian] .card-meta { font-size:11px; margin-inline:11px; gap:6px; }
  [data-layout=obsidian] .card>.price { font-size:16px; margin:12px 11px 0; gap:4px; }
  [data-layout=obsidian] .card-price-note { font-size:11px; flex-basis:100%; }
  [data-layout=obsidian] .qc-badge { top:8px; inset-inline-start:8px; padding:5px 6px; font-size:9px; }
  [data-layout=obsidian] .match-style { margin-inline:11px; font-size:11px; }
  [data-layout=obsidian][data-page=articles] .grid { grid-template-columns:1fr; }
  [data-layout=obsidian][data-page=articles] .card { padding:22px; }
  [data-layout=obsidian] .search input { font-size:16px; min-width:0; }
  [data-layout=obsidian] .block { grid-template-columns:1fr; padding:30px 0; gap:20px; }
  [data-layout=obsidian] .block h2 { font-size:24px; }
  [data-layout=obsidian] .block .text { font-size:14px; }
  [data-layout=obsidian][data-page=home] .block--text { padding:24px 20px; }
  [data-layout=obsidian][data-page=home] .block--text>div { display:block; }
  [data-layout=obsidian][data-page=home] .block--text .button { margin-top:20px; }
  [data-layout=obsidian] footer { margin-top:30px; padding-top:32px; }
  [data-layout=obsidian] .footer { grid-template-columns:1fr 1fr; gap:28px 22px; padding-bottom:28px; }
  [data-layout=obsidian] .footer-brand { grid-column:span 2; }
  [data-layout=obsidian] .footer .brand { max-width:none; font-size:21px; }
  [data-layout=obsidian] .footer h2 { margin:0 0 15px; }
  [data-layout=obsidian] .footer nav { font-size:12px; gap:14px; }
  [data-layout=obsidian] .footer-bottom { display:grid; gap:10px; font-size:10px; }
  [data-layout=obsidian] .footer-bottom>span:last-child { text-align:start; }
}
@media(max-width:360px) {
  [data-layout=obsidian] .wrap { padding-inline:14px; }
  [data-layout=obsidian] .header .brand { flex:1; min-width:0; max-width:none; font-size:15px; }
  [data-layout=obsidian] .member-entry { width:40px; padding:9px; }
  [data-layout=obsidian] .member-entry span { display:none; }
  [data-layout=obsidian] .footer { gap:24px 16px; }
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] .card,[data-layout=obsidian] .button,[data-layout=obsidian] .hero-visual-card,[data-layout=obsidian] .hero-visual-card img,[data-layout=obsidian] header { transition:none; }
}
/* Shared account navigation; details keeps click/keyboard access without JS. */
.account-menu { position:relative; }
.account-menu>summary { display:flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:11px 17px; border:1px solid var(--accent); border-radius:10px; background:var(--accent); color:var(--on-accent); font-size:12px; font-weight:650; list-style:none; cursor:pointer; white-space:nowrap; }
.account-menu>summary::-webkit-details-marker { display:none; }
.account-menu>summary .chevron { color:inherit; transition:transform .18s; }
.account-menu[open]>summary .chevron { transform:rotate(180deg); }
.account-menu-panel { position:absolute; inset-inline-end:0; top:calc(100% + 10px); width:270px; max-width:calc(100vw - 24px); background:var(--paper); border:1px solid var(--line); border-radius:14px; box-shadow:0 20px 60px #0006; padding:8px; z-index:60; }
.account-menu-panel:before { content:""; position:absolute; inset-inline:0; top:-12px; height:12px; }
.account-menu-heading { padding:13px 12px 16px; margin-bottom:4px; border-bottom:1px solid var(--line); }
.account-menu-heading strong { font-size:14px; }
.account-menu-heading small { display:block; color:var(--muted); font-size:10px; line-height:1.6; margin-top:7px; }
.account-menu .account-menu-links,[data-layout=obsidian] .account-menu .account-menu-links { display:grid; gap:3px; font-size:12px; }
.account-menu-links a,.account-menu-logout { display:flex; align-items:center; gap:12px; padding:12px; min-height:44px; border:0; border-radius:8px; background:transparent; color:inherit; text-align:start; font:inherit; font-size:12px; width:100%; }
.account-menu-links svg,.account-menu-logout svg { flex-shrink:0; color:var(--muted); }
.account-menu-arrow { margin-inline-start:auto; color:var(--muted); font-size:12px; }
.account-menu-links a:hover,.account-menu-links a:focus-visible { text-decoration:none; background:var(--soft); color:var(--accent); }
.account-menu-footer { border-top:1px solid var(--line); margin-top:6px; padding-top:6px; }
.account-menu-footer form { margin:0; }
.account-menu-logout { cursor:pointer; color:#d85a50; }
.account-menu-logout svg { color:inherit; }
.account-menu-logout:hover:not(:disabled) { background:var(--soft); }
.account-menu-logout:disabled { opacity:.45; cursor:default; }
.account-menu summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media(max-width:700px) {
 .account-menu>summary { min-height:38px; padding:9px 10px; font-size:10px; gap:6px; }
 .account-menu-panel { position:fixed; top:72px; inset-inline-end:12px; max-height:calc(100dvh - 90px); overflow:auto; overscroll-behavior:contain; }
}
@media(max-width:360px) { .account-menu>summary { width:38px; padding:9px; } .account-menu>summary>span,.account-menu>summary>.chevron { display:none; } }
/* Shared product layout. Theme colors inherit the selected design. */
.product-detail{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);align-items:start;gap:48px;padding:26px 0 36px}
.product-media,.product-summary{min-width:0}.product-media{position:sticky;top:106px}
.product-stage{aspect-ratio:1;background:#efefec;border:1px solid #ffffff0d;border-radius:16px;overflow:hidden;position:relative}
.product-stage-link{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative;color:#fff}
.product-stage-link>img{width:100%;height:100%;max-height:680px;object-fit:contain;transition:transform .3s}
.product-stage-link:hover>img{transform:scale(1.025)}
.product-zoom-label{position:absolute;bottom:16px;inset-inline-end:16px;display:flex;align-items:center;gap:7px;padding:9px 12px;background:#151515ce;color:white;border-radius:8px;font-size:11px;backdrop-filter:blur(8px)}
.product-zoom-label svg,.product-secondary-action svg,.product-option-search svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.product-stage-empty{display:grid;place-items:center;color:#6c6c64}
.product-gallery-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin:14px 1px 11px}
.product-gallery-footer>span:first-child{font-weight:600;color:inherit}
.product-thumbnails{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:3px 1px 9px;scrollbar-width:thin;scroll-snap-type:x proximity}
.product-thumbnails a{flex:0 0 68px;height:68px;border:2px solid transparent;border-radius:9px;overflow:hidden;background:#eee;scroll-snap-align:start;transition:border-color .15s}
.product-thumbnails a[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.product-thumbnails img{width:100%;height:100%;object-fit:contain}
.product-summary h1{font:650 clamp(25px,2.6vw,37px)/1.22 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:-.9px;margin:13px 0 10px;overflow-wrap:anywhere}
.product-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:10px;font-weight:600;letter-spacing:.05em}
.product-meta>*{border:1px solid var(--line);background:var(--paper);padding:6px 9px;border-radius:5px}
.product-meta>a{color:var(--accent)}.product-code{font-size:11px;color:var(--muted);letter-spacing:.06em;margin:0 0 20px;overflow-wrap:anywhere}
.product-match{font-size:12px;color:var(--accent);margin:12px 0}
.product-price-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-block:1px solid var(--line);margin-bottom:22px}
.product-overline{font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;display:block;margin:0 0 9px}
.product-price-panel .price{font:700 30px/1.15 Inter,"Segoe UI",Arial,sans-serif;color:var(--accent);margin:0}
.product-qc-link{font-size:11px;color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:8px 10px;white-space:nowrap}
.product-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.product-panel-heading h2{font-size:13px;font-weight:650;margin:0}.product-panel-heading>span{font-size:10px;color:var(--muted);padding:4px 6px;border:1px solid var(--line);border-radius:4px}
.product-options{margin:0 0 22px}.product-option-axis{margin-top:18px}.product-option-heading{display:flex;align-items:baseline;gap:14px;justify-content:space-between;margin-bottom:10px;min-width:0}
.product-option-heading h3{font-size:12px;margin:0;font-weight:600;flex-shrink:0}.product-option-heading>span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.product-option-list{display:flex;flex-wrap:wrap;gap:7px;max-height:178px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;padding:2px 4px 4px 1px}
.product-option{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 12px;min-height:39px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:11px;color:inherit;max-width:100%;overflow-wrap:anywhere;transition:border-color .15s}
.product-option[aria-current=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--paper));color:var(--accent);font-weight:600}
.product-option:hover{border-color:var(--accent)}.product-option.is-unavailable{color:var(--muted);opacity:.45;border-style:dashed}
.product-option.is-unavailable:hover{border-color:var(--line)}.product-axis-hint{font-size:11px;color:var(--muted);margin:0 0 9px}.is-locked .product-option-list{max-height:90px}
.product-option-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:0 10px;margin:0 0 10px;color:var(--muted)}
.product-option-search:focus-within{border-color:var(--accent)}.product-option-search input{min-width:0;width:100%;padding:10px 0;border:0;background:transparent;color:inherit;font-size:11px;outline:none}.product-option-search input:focus-visible{outline:none}
.product-option-search[hidden],.product-option[hidden],.product-sku-option[hidden],.product-no-options[hidden],.product-copy-action[hidden]{display:none}
.product-no-options{font-size:12px;color:var(--muted);padding:16px 8px;background:var(--paper);border-radius:7px;margin:0}
.product-selected{padding:10px 12px;border-inline-start:2px solid var(--accent);background:var(--soft);font-size:11px;line-height:1.6;margin:16px 0;display:grid;gap:3px;overflow-wrap:anywhere}
.product-selected span{font-size:10px;color:var(--muted)}.product-selected strong{font-weight:500}
.product-all-skus{border-top:1px solid var(--line);margin-top:18px}.product-all-skus>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding:12px 0}.product-all-skus>summary>span{font-size:10px}.product-all-skus[open]>summary{color:var(--accent)}
.product-sku-list{display:grid;gap:5px;max-height:218px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;padding:2px 4px 4px 1px}
.product-sku-option{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:11px;line-height:1.5;min-width:0}.product-sku-option>span:first-child{overflow-wrap:anywhere}.product-sku-option>span+span{flex-shrink:0;color:var(--muted)}.product-sku-option[aria-current=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--paper))}
.product-selection-notice{font-size:12px;line-height:1.6;border-inline-start:2px solid var(--accent);background:var(--soft);padding:10px;margin:0 0 12px}
.product-buying{padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;scroll-margin-top:125px}
.product-agent-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.product-agent{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:12px 10px;border:1px solid var(--line);border-radius:7px;font-size:11px;font-weight:600;background:var(--soft)}.product-agent span:first-child{overflow-wrap:anywhere}.product-agent:first-child{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.product-agent:hover{border-color:var(--accent)}
.product-more-agents{margin-top:10px}.product-more-agents>summary{font-size:11px;color:var(--muted);cursor:pointer;padding:4px 0 10px}.product-more-agents .product-agent:first-child{background:var(--soft);color:inherit;border-color:var(--line)}
.product-buying-note{font-size:10px;line-height:1.65;color:var(--muted);margin:14px 0 0}.product-buying-empty{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.product-actions{display:flex;align-items:stretch;gap:8px;margin:12px 0 20px;flex-wrap:wrap}.product-actions>form{display:flex;flex:1}.product-secondary-action{display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:11px;color:inherit;background:transparent;border:1px solid var(--line);border-radius:8px;padding:11px 15px;cursor:pointer;flex:1;min-height:40px}.product-secondary-action[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.product-secondary-action>span[aria-hidden]{font-size:18px;line-height:1}.product-copy-action{flex:0 1 auto}
.product-description{border-block:1px solid var(--line);padding:0}.product-description>summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:12px;font-weight:600;cursor:pointer}.product-description[open]>summary>span{transform:rotate(45deg)}.product-description .text{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 18px;max-height:210px;overflow:auto;scrollbar-width:thin}
.product-jump-links{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:var(--muted);margin:16px 0 0}.product-sections{display:flex;gap:26px;padding:17px 0;border-block:1px solid var(--line);margin-top:8px;font-size:12px;font-weight:600}.product-sections a:first-child{color:var(--accent)}
#product-qc,#product-outfits{scroll-margin-top:115px}.product-qc-section .qc-platform>h3{font-size:13px;margin:20px 0 12px}.product-qc-section .qc-group{margin:9px 0;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}.product-qc-section .qc-group summary{font-size:12px;padding:15px;cursor:pointer}.product-qc-section .qc-group[open] .gallery{padding:0 15px 15px}
.product-mobile-bar{display:none}
@media(max-width:1050px){.product-detail,[data-layout=obsidian] .product-detail{gap:28px}.product-agent-links{grid-template-columns:repeat(2,minmax(0,1fr))}.product-summary h1{font-size:28px}.product-media{top:110px}}
@media(max-width:760px){.product-detail,[data-layout=obsidian] .product-detail{grid-template-columns:1fr;gap:22px;padding-top:8px}.product-media{position:static}.product-stage{max-height:560px;border-radius:12px}.product-stage-link>img{max-height:560px}.product-summary h1,[data-layout=obsidian] .product-detail h1{font-size:27px}.product-code{margin-bottom:16px}.product-thumbnails a{flex-basis:58px;height:58px}.product-gallery-footer{margin:11px 0 7px}.product-price-panel{padding:17px 0;margin-bottom:20px}.product-price-panel .price,[data-layout=obsidian] .product-detail .price{font-size:27px}.product-option-list{max-height:162px}.product-option{min-height:40px;font-size:11px;padding:10px 12px}.product-buying{padding:16px;scroll-margin-top:145px}.product-agent-links{grid-template-columns:repeat(3,minmax(0,1fr))}.product-option-search input{font-size:13px;padding:11px 0}.product-actions{margin-bottom:16px}.product-sections{gap:22px;font-size:11px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.product-mobile-bar{position:fixed;inset-inline:0;bottom:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--paper);border-top:1px solid var(--line);padding:11px 18px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -8px 32px #0005}.product-mobile-bar>div{display:grid;gap:4px;min-width:0}.product-mobile-bar small{font-size:9px;color:var(--muted)}.product-mobile-bar strong{font-size:17px;color:var(--accent)}.product-mobile-bar .button{font-size:12px;padding:12px 15px;white-space:nowrap}.product-mobile-bar~*{margin-bottom:70px}body:has(.product-mobile-bar){padding-bottom:80px}body:has(.product-mobile-bar) .social-floating{bottom:95px}#product-qc,#product-outfits{scroll-margin-top:145px}.product-zoom-label{font-size:10px;bottom:12px;inset-inline-end:12px}}
@media(max-width:360px){.product-agent-links{grid-template-columns:repeat(2,minmax(0,1fr))}.product-meta{font-size:9px}.product-summary h1,[data-layout=obsidian] .product-detail h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){.product-stage-link>img,.product-option,.product-thumbnails a{transition:none}}

/* Obsidian product gallery and information hierarchy. */
[data-layout=obsidian] .product-detail {
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(32px,4vw,64px);
  padding:28px 0 44px;
}
[data-layout=obsidian] .product-detail>.product-summary {position:static}
[data-layout=obsidian] .product-media {top:112px}
[data-layout=obsidian] .product-stage {
  background:#eeefed;
  border:1px solid #ffffff29;
  border-radius:20px;
  box-shadow:0 16px 44px #0003;
}
[data-layout=obsidian] .product-zoom-label {
  bottom:18px;
  inset-inline-end:18px;
  min-height:40px;
  padding:10px 13px;
  border:1px solid #ffffff24;
  border-radius:10px;
  background:#131416d9;
  font-size:12px;
}
[data-layout=obsidian] .product-gallery-footer {margin:18px 1px 10px;font-size:12px}
[data-layout=obsidian] .product-thumbnails {gap:10px;padding:4px 2px 10px}
[data-layout=obsidian] .product-thumbnails a {
  flex-basis:74px;
  height:74px;
  border-radius:11px;
  background:#eeefed;
}
[data-layout=obsidian] .product-thumbnails a[aria-current=true] {
  box-shadow:0 0 0 1px var(--accent),0 4px 16px #0003;
}
[data-layout=obsidian] .product-meta {gap:8px;font-size:12px;font-weight:500;letter-spacing:.02em}
[data-layout=obsidian] .product-meta>* {padding:7px 10px;border-radius:7px;background:#ffffff03}
[data-layout=obsidian] .product-meta>a {background:color-mix(in srgb,var(--accent) 5%,transparent)}
[data-layout=obsidian] .product-detail h1 {
  font:650 clamp(29px,2.7vw,40px)/1.22 Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.025em;
  margin:18px 0 12px;
}
[data-layout=obsidian] .product-code {font-size:12px;letter-spacing:.08em;margin-bottom:24px}
[data-layout=obsidian] .product-match {font-size:13px;line-height:1.6;margin:14px 0}
[data-layout=obsidian] .product-price-panel {
  padding:22px 24px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(120deg,#ffffff04,transparent);
  margin-bottom:28px;
}
[data-layout=obsidian] .product-price-panel>div {min-width:0}
[data-layout=obsidian] .product-overline {font-size:11px;letter-spacing:.08em;margin-bottom:10px}
[data-layout=obsidian] .product-detail .price {font-size:34px;font-weight:700;letter-spacing:-.03em;margin:0}
[data-layout=obsidian] .product-qc-link {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 12px;
  border-radius:9px;
  font-size:12px;
  background:#ffffff03;
}

/* Product choices keep the same links, selection states and search behavior. */
[data-layout=obsidian] .product-panel-heading {margin-bottom:18px}
[data-layout=obsidian] .product-panel-heading h2 {font-size:15px;font-weight:600;margin:0}
[data-layout=obsidian] .product-panel-heading>span {font-size:11px;padding:5px 8px;border-radius:6px}
[data-layout=obsidian] .product-options {margin-bottom:28px}
[data-layout=obsidian] .product-option-axis {margin-top:22px}
[data-layout=obsidian] .product-option-heading {margin-bottom:11px;gap:12px}
[data-layout=obsidian] .product-option-heading h3 {font-size:13px}
[data-layout=obsidian] .product-option-heading>span {font-size:12px}
[data-layout=obsidian] .product-option-list {gap:9px;max-height:206px;padding:4px 5px 5px 3px}
[data-layout=obsidian] .is-locked .product-option-list {max-height:110px}
[data-layout=obsidian] .product-option {
  min-height:46px;
  min-width:48px;
  padding:11px 15px;
  border-radius:10px;
  font-size:13px;
  background:#ffffff03;
  transition:border-color .18s,background .18s;
}
[data-layout=obsidian] .product-option[aria-current=true] {
  background:color-mix(in srgb,var(--accent) 9%,var(--paper));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent);
}
[data-layout=obsidian] .product-axis-hint {font-size:12px;line-height:1.65}
[data-layout=obsidian] .product-option-search {
  padding-inline:13px;
  border-radius:10px;
  background:#ffffff03;
  margin-bottom:12px;
}
[data-layout=obsidian] .product-option-search:focus-within {
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);
}
[data-layout=obsidian] .product-option-search input {font-size:13px;padding:13px 0;color:inherit}
[data-layout=obsidian] .product-selected {
  padding:14px 16px;
  border-inline-start-width:3px;
  border-radius:0 9px 9px 0;
  background:color-mix(in srgb,var(--accent) 5%,var(--paper));
  font-size:13px;
  gap:5px;
  margin:20px 0;
}
[data-layout=obsidian][dir=rtl] .product-selected {border-radius:9px 0 0 9px}
[data-layout=obsidian] .product-selected span {font-size:12px}
[data-layout=obsidian] .product-all-skus>summary {min-height:48px;padding:14px 0;font-size:13px}
[data-layout=obsidian] .product-all-skus>summary>span {font-size:12px}
[data-layout=obsidian] .product-sku-list {gap:8px;max-height:250px;padding:4px 5px 5px 3px}
[data-layout=obsidian] .product-sku-option {padding:13px 15px;min-height:48px;font-size:13px;border-radius:10px}
[data-layout=obsidian] .product-selection-notice {padding:13px 15px;font-size:13px;line-height:1.7;border-radius:0 8px 8px 0}
[data-layout=obsidian][dir=rtl] .product-selection-notice {border-radius:8px 0 0 8px}
[data-layout=obsidian] .product-no-options {padding:18px 14px;font-size:13px;border-radius:10px}

/* Buying surface, supporting actions and product information. */
[data-layout=obsidian] .product-buying {
  padding:24px;
  border-radius:18px;
  background:linear-gradient(145deg,#ffffff04,transparent 70%),var(--paper);
  box-shadow:0 10px 32px #0002,inset 0 1px 0 #ffffff04;
}
[data-layout=obsidian] .product-agent-links {gap:10px}
[data-layout=obsidian] .product-agent {padding:13px 12px;min-height:50px;font-size:13px;border-radius:10px}
[data-layout=obsidian] .product-more-agents>summary {padding:10px 0 14px;min-height:44px;font-size:12px}
[data-layout=obsidian] .product-buying-note {font-size:12px;line-height:1.75;margin-top:18px}
[data-layout=obsidian] .product-buying-empty {font-size:13px;line-height:1.75}
[data-layout=obsidian] .product-actions {gap:10px;margin:14px 0 24px}
[data-layout=obsidian] .product-secondary-action {padding:12px 15px;min-height:46px;font-size:13px;border-radius:10px;background:#ffffff02}
[data-layout=obsidian] .product-description>summary {padding:19px 0;min-height:56px;font-size:14px}
[data-layout=obsidian] .product-description .text {font-size:14px;line-height:1.8;margin:0 0 22px;max-height:260px}
[data-layout=obsidian] .product-jump-links {gap:18px;font-size:13px;margin-top:14px}
[data-layout=obsidian] .product-jump-links a {display:inline-flex;align-items:center;min-height:44px}
[data-layout=obsidian] .product-sections {gap:28px;padding:0;font-size:14px;margin-top:12px}
[data-layout=obsidian] .product-sections a {padding:20px 0}
[data-layout=obsidian] .product-sections a:first-child {box-shadow:inset 0 -2px 0 var(--accent)}
[data-layout=obsidian] .product-qc-section .qc-platform>h3 {font-size:15px;margin:26px 0 14px}
[data-layout=obsidian] .product-qc-section .qc-group {margin:12px 0;border-radius:14px;background:var(--paper)}
[data-layout=obsidian] .product-qc-section .qc-group summary {font-size:13px;line-height:1.6;padding:18px 20px}
[data-layout=obsidian] .product-qc-section .qc-group[open] .gallery {padding:0 20px 20px}

@media(max-width:1050px) {
  [data-layout=obsidian] .product-detail {gap:32px}
  [data-layout=obsidian] .product-detail h1 {font-size:30px}
  [data-layout=obsidian] .product-price-panel {padding:20px}
  [data-layout=obsidian] .product-buying {padding:20px}
}
@media(min-width:761px) and (max-width:1100px) {
  [data-layout=obsidian] .product-media {top:160px}
  [data-layout=obsidian] #product-qc,[data-layout=obsidian] #product-outfits {scroll-margin-top:160px}
}
@media(max-width:760px) {
  [data-layout=obsidian] .product-detail {grid-template-columns:1fr;gap:24px;padding:12px 0 32px}
  [data-layout=obsidian] .product-stage {border-radius:16px}
  [data-layout=obsidian] .product-zoom-label {bottom:14px;inset-inline-end:14px;font-size:11px}
  [data-layout=obsidian] .product-gallery-footer {margin:14px 1px 8px}
  [data-layout=obsidian] .product-thumbnails a {flex-basis:64px;height:64px;border-radius:9px}
  [data-layout=obsidian] .product-detail h1 {font-size:29px;margin:16px 0 11px}
  [data-layout=obsidian] .product-code {margin-bottom:20px}
  [data-layout=obsidian] .product-price-panel {padding:18px;margin-bottom:24px;gap:12px}
  [data-layout=obsidian] .product-detail .price {font-size:31px}
  [data-layout=obsidian] .product-qc-link {min-height:44px;font-size:11px;padding:10px}
  [data-layout=obsidian] .product-option-list {max-height:204px}
  [data-layout=obsidian] .product-option-search input {font-size:16px}
  [data-layout=obsidian] .product-buying {padding:20px 18px;border-radius:16px}
  [data-layout=obsidian] .product-agent-links {grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-layout=obsidian] .product-sections {gap:24px;font-size:13px}
  [data-layout=obsidian] .product-sections a {padding:18px 0}
  [data-layout=obsidian] .product-qc-section .qc-group summary {padding:16px;font-size:13px}
  [data-layout=obsidian] .product-qc-section .qc-group[open] .gallery {padding:0 16px 16px}
  [data-layout=obsidian] .product-mobile-bar {
    gap:12px;
    padding:12px 18px calc(12px + env(safe-area-inset-bottom));
    background:#121315;
    box-shadow:0 -12px 36px #0004;
    transition:transform .2s ease,visibility .2s;
  }
  /* mobile.js marks the page while the buying panel's main link is in view. */
  [data-layout=obsidian].o-buy-shown .product-mobile-bar {transform:translateY(110%);visibility:hidden}
  [data-layout=obsidian] .product-mobile-bar small {font-size:11px}
  [data-layout=obsidian] .product-mobile-bar strong {font-size:20px}
  [data-layout=obsidian] .product-mobile-bar .button {min-height:48px;border-radius:12px;padding:12px 16px;font-size:13px}
}
@media(max-width:360px) {
  [data-layout=obsidian] .product-detail h1 {font-size:26px}
  [data-layout=obsidian] .product-price-panel {padding:16px}
  [data-layout=obsidian] .product-detail .price {font-size:28px}
  [data-layout=obsidian] .product-buying {padding:18px 14px}
  [data-layout=obsidian] .product-mobile-bar {padding-inline:14px}
  [data-layout=obsidian] .product-mobile-bar .button {font-size:12px;padding-inline:13px}
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] :is(.product-option,.product-mobile-bar) {transition:none}
}

/* Selection rows the page switches in place stay out of view while empty. */
.product-selected[hidden],.product-axis-hint[hidden]{display:none}
.image-search-open[hidden],.image-search-chip[hidden],[data-image-search] [hidden],.image-search-workspace[hidden],.image-search-workspace [hidden]{display:none!important}
button.image-search-open{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;padding:0!important;border:0;border-radius:6px;background:transparent!important;color:inherit!important;cursor:pointer}
button.image-search-open:hover,button.image-search-open[aria-expanded=true]{background:color-mix(in srgb,currentColor 9%,transparent)!important}
button.image-search-open:disabled{opacity:.4;cursor:default!important}
.image-search-dialog,.image-search-workspace{--image-accent:var(--accent,var(--brand,#3867dc));--image-line:var(--line,#dce0e6)}
.image-search-dialog{box-sizing:border-box;position:fixed;z-index:180;inset:auto;margin:0;padding:18px;border:1px solid var(--image-line);border-radius:10px;background:var(--paper,#fff);color:inherit;box-shadow:0 16px 60px #0004;overflow-y:auto;overscroll-behavior:contain}
[data-theme=dark] .image-search-dialog{background:#18191c;color:#f3f3f5;border-color:#34363a}
.image-search-dialog button,.image-search-dialog input,.image-search-workspace button{font:inherit}
.image-search-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.image-search-heading h2{margin:0;font-size:16px;font-weight:650;line-height:1.4;letter-spacing:0}
.image-search-heading>button{display:grid;place-items:center;flex:none;width:32px;height:32px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:24px;cursor:pointer}
.image-search-hint,.image-search-source>p{font-size:12px;line-height:1.6;opacity:.7;margin:8px 0 12px}
.image-search-quota{font-size:12px;line-height:1.5;margin:0 0 12px;font-variant-numeric:tabular-nums}
.image-search-login{display:inline-block;margin-bottom:12px;text-decoration:underline}
.image-search-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;padding:20px;border:1px dashed color-mix(in srgb,currentColor 30%,transparent);border-radius:6px;background:color-mix(in srgb,currentColor 3%,transparent);text-align:center;cursor:pointer;font-size:14px}
.image-search-drop svg{opacity:.65}
.image-search-drop small{font-size:12px;opacity:.65;line-height:1.5}
.image-search-drop.is-dragging,form.is-dragging{outline:2px solid var(--image-accent,var(--accent,#3867dc));outline-offset:3px}
.image-search-dialog[data-has-image=true] .image-search-drop{min-height:64px;padding:12px}
.image-search-dialog[data-has-image=true] .image-search-drop svg{display:none}
.image-search-preview{margin-top:12px;text-align:center}
.image-search-preview>summary{cursor:pointer;text-align:start;padding:8px 0;font-size:13px}
.image-search-preview[open]>summary{margin-bottom:8px}
.image-search-preview canvas{display:block;width:auto;height:auto;max-width:100%;max-height:min(240px,32dvh);margin:auto;border-radius:4px;background:#ededed;touch-action:none;cursor:crosshair}
.image-search-preview p{font-size:12px;opacity:.7;margin:8px 0}
.image-search-preview>button{padding:8px 12px;border:1px solid var(--image-line);border-radius:4px;background:transparent;color:inherit;cursor:pointer;font-size:12px}
.image-search-actions{display:flex;justify-content:flex-end;margin-top:14px}
.image-search-submit{display:flex;align-items:center;justify-content:center;gap:8px;border:0;padding:10px 18px;border-radius:4px;background:var(--image-accent);color:var(--on-accent,var(--on-brand,#fff));cursor:pointer;font-weight:600;min-height:44px}
.image-search-submit:disabled{opacity:.45;cursor:default}
.image-search-submit[aria-busy=true]::before{content:"";width:14px;height:14px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:image-search-spin .8s linear infinite}
.image-search-status,[data-image-search-result-status]{font-size:13px;line-height:1.6;margin:12px 0}
.image-search-status:empty,[data-image-search-result-status]:empty{display:none}
.image-search-chip{display:inline-flex;flex:none;align-items:center;gap:3px;padding:3px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:5px}
.image-search-chip img{display:block;width:34px;height:34px;object-fit:contain;border-radius:3px;background:#fff}
.image-search-chip>button{display:grid;place-items:center;width:24px;min-width:24px;height:32px;padding:0!important;border:0;background:transparent!important;color:inherit!important;font-size:18px;cursor:pointer}
.has-search-image input[type=search]{min-width:0}
.has-image-results>:not(.image-search-workspace){display:none!important}
.image-search-workspace{padding-block:24px 40px;scroll-margin-top:180px}
.image-search-workspace>form{width:100%;max-width:none;margin-block:0 20px}
.image-search-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--image-line)}
.image-search-results-heading>div{display:flex;align-items:baseline;gap:12px;min-width:0}
.image-search-results-heading :is(h1,h2){font-size:24px;line-height:1.3;letter-spacing:-.4px;margin:0}
.image-search-results-heading span{font-size:13px;opacity:.65;font-variant-numeric:tabular-nums}
.image-search-workspace button{border:1px solid var(--image-line);border-radius:4px;padding:9px 12px;background:transparent;color:inherit;font-size:12px;cursor:pointer;min-height:40px}
.image-search-results-heading>button{flex-shrink:0}
.image-search-results-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
.image-search-source{border:1px solid var(--image-line);border-radius:6px;padding:10px}
.image-search-source h2{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.2px}
.image-search-source>img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;background:color-mix(in srgb,currentColor 5%,transparent);border-radius:3px}
.image-search-source>button{display:block;width:100%;margin-top:10px}
.image-search-source>p{margin:10px 0 0;font-size:11px}
.image-search-results-body{min-width:0}
[data-image-search-result-login]{display:inline-block;margin-bottom:16px;text-decoration:underline}
[data-image-search-preview-note]{margin:0 0 16px;font-size:12px;line-height:1.6;color:var(--image-accent)}
.image-search-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
.image-search-result{display:block;min-width:0;padding:8px;border:1px solid var(--image-line);border-radius:6px;color:inherit;text-decoration:none}
.image-search-result:hover{border-color:var(--image-accent)}
.image-search-result img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:4px;background:#fff}
.image-search-result strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:550;line-height:1.5;min-height:3em;margin:10px 0 4px;overflow-wrap:anywhere}
.image-search-result small{display:block;font-size:11px;line-height:1.6;opacity:.7;overflow-wrap:anywhere}
.image-search-result bdi{display:block;margin:8px 0 4px;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}
.image-search-skeleton{aspect-ratio:.72;border:1px solid var(--image-line);border-radius:6px;background:linear-gradient(100deg,transparent 20%,color-mix(in srgb,currentColor 7%,transparent) 50%,transparent 80%),color-mix(in srgb,currentColor 4%,transparent);background-size:250% 100%;animation:image-search-shimmer 1.4s ease infinite}
.image-search-result:focus-visible,.image-search-drop:focus-visible,.image-search-dialog button:focus-visible,.image-search-workspace button:focus-visible,.image-search-chip>button:focus-visible{outline:2px solid var(--image-accent,var(--accent,#3867dc));outline-offset:3px}
@keyframes image-search-spin{to{transform:rotate(360deg)}}
@keyframes image-search-shimmer{to{background-position:-150% 0}}
@media(max-width:1100px){.image-search-results{grid-template-columns:repeat(3,minmax(0,1fr))}.image-search-results-layout{grid-template-columns:170px minmax(0,1fr);gap:18px}}
@media(max-width:700px){.image-search-dialog{padding:14px}.image-search-drop{min-height:124px}.image-search-results-layout{grid-template-columns:1fr;gap:18px}.image-search-source{display:grid;grid-template-columns:66px minmax(0,1fr);column-gap:12px;align-items:center}.image-search-source>img{grid-column:1;grid-row:1/4;width:66px;height:66px}.image-search-source h2{grid-column:2;margin:0;font-size:12px}.image-search-source>button{grid-column:2;width:max-content;margin-top:5px;min-height:44px}.image-search-source>p{display:none}.image-search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.image-search-workspace{padding-top:18px}.image-search-results-heading :is(h1,h2){font-size:20px}.image-search-results-heading>button{min-height:44px;padding:8px;font-size:11px}.image-search-results-heading{gap:8px;margin-bottom:14px}.image-search-results-heading>div{gap:6px}.image-search-result{padding:6px}.image-search-result strong{font-size:12px}.image-search-chip>button{width:28px;min-width:28px}.image-search-submit{width:100%}.image-search-preview canvas{max-height:min(220px,28dvh)}button.image-search-open{width:40px;min-width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.image-search-skeleton,.image-search-submit[aria-busy=true]::before{animation:none}}
/* Obsidian buying controls keep all destinations supplied by the current site. */
.purchase-options{padding:20px}.purchase-primary{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:12px 16px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:650;line-height:1.4}
.purchase-primary:hover{filter:brightness(1.05)}[data-layout=obsidian] .purchase-primary:hover{color:var(--on-accent)}.purchase-primary[aria-disabled=true]{cursor:default}.purchase-primary[aria-disabled=true]:hover{filter:none}.purchase-primary>span[data-selected-platform-action]{flex:1;overflow-wrap:anywhere}
.purchase-platform-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:9px;background:#fff;color:#18181b;overflow:hidden;font-size:19px;font-weight:750}
.purchase-platform-icon img{display:block;object-fit:contain;width:36px;height:36px}.purchase-platform-icon>span{line-height:1}.purchase-arrow{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7}
.purchase-tools{display:flex;gap:9px;margin-top:10px;flex-wrap:wrap}.purchase-tool{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:var(--soft);color:inherit;font-size:11px;line-height:1.4;cursor:pointer;min-height:38px}
.purchase-tool:hover{border-color:var(--accent);color:var(--accent)}.purchase-tool svg,.purchase-source-link svg,.purchase-platform-search svg,.purchase-dialog-close svg{height:16px;width:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.7}
.purchase-source-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.purchase-source-link:hover{color:var(--accent)}
.purchase-platform-picker{margin-top:13px;border-top:1px solid var(--line)}.purchase-platform-picker>summary{font-size:12px;cursor:pointer;padding:12px 0;color:var(--accent)}
.purchase-platform-panel{min-width:0;color:inherit}.purchase-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 10px}.purchase-dialog-heading h2{font:650 21px/1.25 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:-.3px;margin:0}
.purchase-dialog-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.purchase-dialog-close:hover{color:inherit;border-color:var(--accent)}
[data-layout=obsidian] .purchase-dialog-heading h2{font:650 22px/1.25 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:-.3px;margin:0}
.purchase-dialog-intro{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 16px;max-width:45ch}
.purchase-platform-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:0 12px;color:var(--muted);margin:0 0 13px}.purchase-platform-search:focus-within{border-color:var(--accent)}
.purchase-platform-search input{width:100%;min-width:0;border:0;background:transparent;color:inherit;padding:12px 0;font:inherit;font-size:12px;outline:none}.purchase-platform-search input:focus-visible{outline:none}
.purchase-platform-list{display:grid;gap:9px;max-height:430px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:1px 5px 4px 1px}
.purchase-platform-row{border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:12px;min-width:0;transition:border-color .15s,background .15s}.purchase-platform-row:hover{border-color:#ffffff40}.purchase-platform-row.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--paper))}
.purchase-platform-destination{display:flex;align-items:center;gap:12px;min-width:0;width:100%;color:inherit;font-size:14px;font-weight:650}.purchase-platform-name{flex:1;overflow-wrap:anywhere}.purchase-platform-destination:hover{color:var(--accent)}
.purchase-platform-row-actions{display:flex;align-items:center;gap:8px;padding-inline-start:52px;margin-top:8px;flex-wrap:wrap}.purchase-platform-row-actions button{border:0;background:transparent;color:var(--muted);padding:3px 0;font-size:11px;cursor:pointer;min-height:25px}.purchase-platform-row-actions button+button{border-inline-start:1px solid var(--line);padding-inline-start:10px;margin-inline-start:2px}.purchase-platform-row-actions button:hover{color:var(--accent)}.purchase-platform-row-actions button:disabled{color:var(--accent);cursor:default}
.purchase-preference-hint,.purchase-demo-notice{font-size:11px;line-height:1.6;color:var(--muted);margin:13px 0 0}.purchase-demo-notice{padding:10px 12px;background:var(--soft);border-radius:7px}.purchase-status{font-size:11px;line-height:1.6;color:var(--accent);margin:11px 0 0;overflow-wrap:anywhere}.purchase-no-platforms{font-size:12px;color:var(--muted);padding:16px 0;margin:0}
.purchase-platform-dialog{width:min(470px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 48px));padding:24px;border:1px solid #ffffff26;border-radius:16px;background:var(--paper);color:inherit;overflow:auto;box-shadow:0 28px 100px #0009}
.purchase-platform-dialog::backdrop{background:#000a;backdrop-filter:blur(7px)}.purchase-platform-dialog .purchase-platform-list{max-height:min(440px,calc(100dvh - 310px));min-height:80px}
.purchase-mobile-action{min-width:0;max-width:65%;overflow-wrap:anywhere}.purchase-mobile-action>span{overflow:hidden;text-overflow:ellipsis}.purchase-mobile-bar .purchase-mobile-action{display:flex;gap:6px;align-items:center;white-space:normal}
.purchase-tool[hidden],.purchase-dialog-close[hidden],.purchase-platform-picker[hidden],.purchase-platform-search[hidden],.purchase-platform-row[hidden],.purchase-platform-row-actions button[hidden],.purchase-platform-icon img[hidden],.purchase-platform-icon>span[hidden],.purchase-no-platforms[hidden],.purchase-preference-hint[hidden],.purchase-status[hidden]{display:none}
@media(max-width:760px){.purchase-options{padding:16px}.purchase-platform-dialog{padding:19px 16px;border-radius:14px;width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}.purchase-dialog-heading h2{font-size:20px}.purchase-platform-row{padding:11px}.purchase-platform-destination{font-size:14px}.purchase-platform-row-actions button{font-size:11px;min-height:29px}.purchase-platform-search input{font-size:14px}.purchase-dialog-intro{font-size:12px}.purchase-tools{gap:8px}.purchase-primary{font-size:13px;padding:12px;min-height:59px}}
@media(prefers-reduced-motion:reduce){.purchase-platform-row{transition:none}}

/* Obsidian purchase actions use the same platform destinations and preferences. */
[data-layout=obsidian] .purchase-primary {
  min-height:70px;
  gap:14px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--accent) 85%,white);
  border-radius:12px;
  background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 91%,white),var(--accent));
  box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 10%,transparent),inset 0 1px 0 #ffffff2b;
  font-size:15px;
  font-weight:650;
  transition:filter .18s,transform .18s;
}
[data-layout=obsidian] .purchase-primary[aria-disabled=true] {opacity:.72}
[data-layout=obsidian] .purchase-platform-icon {
  width:44px;
  height:44px;
  flex-basis:44px;
  border:1px solid #0000000d;
  border-radius:10px;
  box-shadow:0 2px 6px #0000000d;
  font-size:20px;
}
[data-layout=obsidian] .purchase-platform-icon img {width:40px;height:40px}
[data-layout=obsidian] .purchase-tools {gap:10px;margin-top:12px}
[data-layout=obsidian] .purchase-tool {
  min-height:46px;
  gap:8px;
  padding:12px 10px;
  border-radius:10px;
  background:#ffffff03;
  font-size:12px;
}
[data-layout=obsidian] .purchase-source-link {min-height:50px;margin-top:18px;padding-top:16px;font-size:12px;line-height:1.6}
[data-layout=obsidian] .purchase-platform-picker {margin-top:16px}
[data-layout=obsidian] .purchase-platform-picker>summary {min-height:48px;padding:15px 0;font-size:13px}
[data-layout=obsidian] .purchase-status {font-size:12px;line-height:1.7;margin-top:14px}
[data-layout=obsidian] .purchase-demo-notice {padding:13px 14px;font-size:12px;line-height:1.7;border-radius:10px}

/* Platform picker, both inline without JavaScript and in the enhanced dialog. */
[data-layout=obsidian] .purchase-dialog-heading {gap:16px;margin-bottom:13px}
[data-layout=obsidian] .purchase-dialog-heading h2 {
  font:650 24px/1.25 Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.02em;
  margin:0;
}
[data-layout=obsidian] .purchase-dialog-close {
  width:44px;
  height:44px;
  flex-basis:44px;
  border-radius:12px;
  background:#ffffff04;
}
[data-layout=obsidian] .purchase-dialog-intro {font-size:13px;line-height:1.75;margin-bottom:20px;max-width:40ch}
[data-layout=obsidian] .purchase-platform-search {
  gap:10px;
  padding-inline:14px;
  margin-bottom:16px;
  border-radius:12px;
  background:#0b0c0e45;
}
[data-layout=obsidian] .purchase-platform-search:focus-within {
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);
}
[data-layout=obsidian] .purchase-platform-search input {padding:14px 0;font-size:14px}
[data-layout=obsidian] .purchase-platform-list {gap:11px;padding:4px 5px 5px 3px}
[data-layout=obsidian] .purchase-platform-row {
  padding:14px;
  border-radius:14px;
  background:linear-gradient(135deg,#ffffff03,transparent),var(--paper);
  transition:border-color .18s,background .18s;
}
[data-layout=obsidian] .purchase-platform-row:hover {border-color:#ffffff38}
[data-layout=obsidian] .purchase-platform-row.is-selected {
  border-color:color-mix(in srgb,var(--accent) 70%,var(--line));
  background:color-mix(in srgb,var(--accent) 6%,var(--paper));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);
}
[data-layout=obsidian] .purchase-platform-destination {gap:12px;min-height:44px;font-size:15px}
[data-layout=obsidian] .purchase-platform-row-actions {padding-inline-start:56px;margin-top:10px;gap:8px}
[data-layout=obsidian] .purchase-platform-row-actions button {
  min-height:36px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#ffffff02;
  font-size:12px;
  line-height:1.45;
}
[data-layout=obsidian] .purchase-platform-row-actions button+button {margin-inline-start:0;padding-inline-start:10px}
[data-layout=obsidian] .purchase-platform-row-actions button:hover {border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
[data-layout=obsidian] .purchase-platform-row-actions button:disabled {
  background:color-mix(in srgb,var(--accent) 5%,transparent);
  border-color:color-mix(in srgb,var(--accent) 25%,var(--line));
}
[data-layout=obsidian] .purchase-preference-hint {font-size:12px;line-height:1.75;margin-top:17px}
[data-layout=obsidian] .purchase-no-platforms {font-size:13px;line-height:1.7;padding:20px 0}
[data-layout=obsidian] .purchase-platform-dialog {
  width:min(520px,calc(100vw - 48px));
  max-height:min(820px,calc(100dvh - 64px));
  padding:28px;
  border:1px solid #ffffff26;
  border-radius:22px;
  background:linear-gradient(145deg,#1b1c20,var(--paper) 75%);
  box-shadow:0 32px 100px #000a,inset 0 1px 0 #ffffff06;
}
[data-layout=obsidian] .purchase-platform-dialog::backdrop {background:#000b;backdrop-filter:blur(10px)}
[data-layout=obsidian] .purchase-platform-dialog .purchase-platform-list {max-height:min(480px,calc(100dvh - 340px))}

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  [data-layout=obsidian] .purchase-primary:not([aria-disabled=true]):hover {transform:translateY(-1px)}
}
@media(max-width:760px) {
  [data-layout=obsidian] .purchase-primary {min-height:68px;padding:13px 14px;font-size:14px;gap:12px}
  [data-layout=obsidian] .purchase-tools {gap:9px}
  [data-layout=obsidian] .purchase-tool {font-size:12px;min-height:46px;padding:11px 9px}
  [data-layout=obsidian] .purchase-platform-dialog {width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px 18px;border-radius:18px}
  [data-layout=obsidian] .purchase-dialog-heading h2 {font-size:22px}
  [data-layout=obsidian] .purchase-dialog-intro {margin-bottom:18px}
  [data-layout=obsidian] .purchase-platform-search input {font-size:16px}
  [data-layout=obsidian] .purchase-platform-row {padding:13px}
  [data-layout=obsidian] .purchase-platform-row-actions {padding-inline-start:0;margin-top:12px}
  [data-layout=obsidian] .purchase-platform-row-actions button {min-height:44px;padding:10px 12px}
  [data-layout=obsidian] .purchase-platform-row-actions button+button {padding-inline-start:12px}
  [data-layout=obsidian] .purchase-platform-dialog .purchase-platform-list {max-height:min(480px,calc(100dvh - 320px))}
}
@media(max-width:360px) {
  [data-layout=obsidian] .purchase-primary {font-size:13px;padding:12px;gap:10px}
  [data-layout=obsidian] .purchase-platform-dialog {padding:20px 14px}
  [data-layout=obsidian] .purchase-dialog-heading h2 {font-size:21px}
  [data-layout=obsidian] .purchase-tool {flex-basis:100%}
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] .purchase-primary,
  [data-layout=obsidian] .purchase-platform-row {transition:none}
}
/* Save and share sit at the start of the docked buy bar, like the icon
   buttons beside a shopping app's buy button. */
.purchase-mobile-tools{display:flex;flex:none;gap:6px}.purchase-mobile-tools form{margin:0}.purchase-mobile-price{min-width:0;flex:1}
.purchase-mobile-tool{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff24;border-radius:10px;background:transparent;color:inherit;cursor:pointer}.purchase-mobile-tool[hidden]{display:none}
.purchase-mobile-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.purchase-mobile-tool[aria-pressed=true],.purchase-mobile-tool.is-copied{color:var(--accent)}.purchase-mobile-tool[aria-pressed=true] svg{fill:currentColor}
/* Discovery controls are shared so every theme exposes the same catalog query. */
.discovery-price{border:0;padding:0;margin:0;min-width:0}
.discovery-price legend{font-size:12px;color:var(--muted);margin-bottom:7px}
.discovery-price legend bdi{color:var(--accent);margin-inline-start:5px}
.discovery-price>div{display:flex;align-items:center;gap:8px}
.discovery-price label{min-width:0;display:block;flex:1}
.discovery-price label span{font-size:11px;display:block;margin-bottom:5px;color:var(--muted)}
.discovery-price input{width:100%;min-width:0;min-height:42px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:inherit}
.discovery-qc{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;min-height:44px}
.discovery-qc input{width:17px;height:17px;accent-color:var(--accent)}
.discovery-qc>span:last-child{color:var(--accent)}
.discovery-sort{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.discovery-sort select{min-width:130px;max-width:100%;min-height:42px;border:1px solid var(--line);background:var(--paper);color:inherit;padding:10px;border-radius:8px}
.discovery-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0;font-size:12px}
.discovery-chips>a{display:inline-flex;align-items:center;gap:12px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.discovery-chips .filter-reset{border:0;background:none;padding-inline:4px}
.d-refine summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:15px 0;font-size:12px;color:var(--muted);list-style:none}
.d-refine summary::-webkit-details-marker{display:none}
.d-refine-content{display:grid;grid-template-columns:minmax(100px,1fr) minmax(170px,1.4fr) auto minmax(130px,1fr) auto;gap:16px;align-items:end;padding-bottom:8px}
.d-brand-select{display:grid;gap:7px;font-size:12px;color:var(--muted)}
.d-brand-select select{max-width:100%;min-width:0;min-height:42px;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px}
.d-view-controls{display:flex;gap:4px;padding:3px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.d-view-controls button{display:grid;place-items:center;cursor:pointer;min-width:34px;height:32px;background:transparent;color:var(--muted);border:0;border-radius:5px;font-size:20px}
.d-view-controls button[aria-pressed=true]{background:var(--soft);color:var(--accent)}
.d-view-controls[hidden]{display:none}
.product-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.product-related-copy .price{margin:14px 16px 0;font-size:18px;color:var(--accent);font-weight:600}
.product-related-copy .card-meta{margin-top:16px}
.product-related-copy h3{margin-top:8px}
[data-layout=obsidian] .product-related{border-top:1px solid var(--line)}
[data-layout=obsidian] .product-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.product-related-grid,[data-layout=obsidian] .product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-related-copy .price{font-size:16px;margin-inline:14px}}
.d-result-tools{display:flex;align-items:center;gap:16px;font-size:12px}
.grid[data-product-grid][data-view=compact]{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid[data-view=compact] .card{position:relative;min-height:170px;padding-bottom:12px;padding-inline-start:42%}
.grid[data-view=compact] .card-image{position:absolute;inset-block:0;inset-inline-start:0;width:38%;height:100%;aspect-ratio:auto}
.grid[data-view=compact] .card h3{margin-top:16px}
.grid[data-view=compact] .card-meta{flex-direction:column;align-items:flex-start;gap:4px}
.grid[data-view=compact] .card>.price{font-size:16px;margin-top:12px}

/* Shared enhancement rules; theme composition lives in its own stylesheet. */
.d-reveal-in{animation:d-reveal .65s cubic-bezier(.2,.65,.25,1) both}
@keyframes d-reveal{from{opacity:.55;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.d-refine-content{grid-template-columns:1fr 1.3fr 1fr}.d-refine-content .discovery-qc{grid-column:1}.d-refine-content .filter-submit{align-self:end}}
@media(max-width:700px){.d-refine-content{grid-template-columns:1fr 1fr}.d-refine-content .discovery-price{grid-column:span 2}.d-refine-content .discovery-qc{grid-column:auto}.d-refine-content .discovery-sort{flex-direction:column;align-items:stretch}.d-refine-content .filter-submit{min-height:42px}.grid[data-product-grid][data-view=compact]{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.d-reveal-in{animation:none}html{scroll-behavior:auto}}
/* Obsidian is a catalog workspace: direct search, straight edges and legible data. */
[data-layout=obsidian] { font-size:16px; --paper:#151618; --soft:#1d1e20; --line:#37393d; --muted:#b5b5b9; }
[data-layout=obsidian] body { background:#0e0f10; }
[data-layout=obsidian] .wrap { max-width:1504px; padding-inline:40px; }
[data-layout=obsidian] :is(.button,.member-entry,.obsidian-mark,.preferences-menu>summary,.account-menu>summary) { border-radius:4px; }
[data-layout=obsidian] .button { min-height:48px; padding:13px 22px; font-size:15px; font-weight:650; }
[data-layout=obsidian] .button:hover { transform:none; }
[data-layout=obsidian] :is(.text-link,.d-text-link) { font-size:14px; line-height:1.6; }
[data-layout=obsidian] .eyebrow { font-size:12px; letter-spacing:.09em; line-height:1.6; }
[data-layout=obsidian] .intro,[data-layout=obsidian] .text { font-size:16px; line-height:1.85; }
[data-layout=obsidian] .preview-notice { font-size:12px; line-height:1.6; }
[data-layout=obsidian] .breadcrumbs { font-size:13px; line-height:1.6; }
[data-layout=obsidian] .storefront-header { background:#101112; backdrop-filter:none; border-bottom:1px solid var(--line); }
[data-layout=obsidian] .header { min-height:68px; gap:24px; }
[data-layout=obsidian] .brand { font-size:23px; font-weight:750; letter-spacing:-.04em; }
[data-layout=obsidian] .header .brand-name { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
[data-layout=obsidian] .obsidian-mark { box-shadow:none; background:var(--accent); }
[data-layout=obsidian] .primary-nav { gap:24px; }
[data-layout=obsidian] .primary-nav>a,[data-layout=obsidian] .header-discover>summary { font-size:15px; min-height:44px; display:flex; align-items:center; white-space:nowrap; }
[data-layout=obsidian] .header-actions summary,[data-layout=obsidian] .member-entry { font-size:14px; min-height:44px; }
[data-layout=obsidian] .preferences-menu>summary { padding:10px; }
[data-layout=obsidian] .preference-current { font-size:13px; }
[data-layout=obsidian] .option-check { font-size:12px; }
[data-layout=obsidian] :is(.preferences-panel,.discover-panel,.account-menu-panel) { border-radius:4px; background:#171819; }
[data-layout=obsidian] :is(.discover-panel h2,.preference-section-heading h3,.account-menu-heading strong) { font-size:15px; }
[data-layout=obsidian] :is(.discover-panel-heading .eyebrow,.discover-panel-heading>a,.directory-search,.discover-categories a,.discover-brands a,.language-options a,.currency-options a,.account-menu-links a,.account-menu-logout) { font-size:14px; }
[data-layout=obsidian] :is(.preferences-note,.preference-option-text small,.currency-symbol,.account-menu-heading small,.preference-section-heading>span) { font-size:12px; line-height:1.6; }
[data-layout=obsidian] .directory-search { min-height:46px; border-radius:4px; }
[data-layout=obsidian] :is(.language-options a,.currency-options a,.discover-categories a,.discover-brands a,.account-menu-links a) { border-radius:4px; min-height:44px; }

/* One selected item and two useful catalog rows replace the floating gallery. */

/* Search is the primary action. Every field remains a real server-rendered control. */
[data-layout=obsidian] .d-refine summary { min-height:36px; padding:9px 0 6px; font-size:14px; }
[data-layout=obsidian] .d-refine-content { grid-template-columns:minmax(130px,1fr) minmax(220px,1.5fr) auto minmax(160px,1fr) auto; gap:12px; }
[data-layout=obsidian] :is(.d-brand-select,.discovery-price legend,.discovery-qc,.discovery-sort,.catalog-filter-row label) { font-size:14px; line-height:1.5; }
[data-layout=obsidian] .discovery-price label span { font-size:12px; }
[data-layout=obsidian] :is(.d-brand-select select,.discovery-sort select,.discovery-price input,.catalog-filter-row select) { font-size:14px; min-height:38px; border-radius:4px; padding:8px; }
[data-layout=obsidian] .discovery-sort { display:grid; gap:7px; }
[data-layout=obsidian] .discovery-sort select { min-width:0; width:100%; }
[data-layout=obsidian] .discovery-qc { min-height:46px; }
[data-layout=obsidian] .filter-submit { min-height:46px; font-size:14px; padding:11px 16px; border-radius:4px; }
[data-layout=obsidian] .filter-reset { font-size:14px; }
[data-layout=obsidian] .discovery-chips { font-size:13px; margin-block:12px; }
[data-layout=obsidian] .discovery-chips>a { padding:10px 13px; border-radius:4px; max-width:100%; overflow-wrap:anywhere; }
[data-layout=obsidian] :is(.catalog-groups a,.catalog-types a) { font-size:14px; min-height:44px; padding:10px 14px; border-radius:3px; }
[data-layout=obsidian] :is(.catalog-groups small,.catalog-types small) { font-size:12px; }
[data-layout=obsidian] .catalog-groups a[aria-current=page] { background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
[data-layout=obsidian] .catalog-groups a[aria-current=page] small { color:inherit; background:#0000000d; }
[data-layout=obsidian] .d-view-controls { border-radius:4px; }
[data-layout=obsidian] .d-view-controls button { min-width:40px; height:38px; border-radius:2px; }
[data-layout=obsidian] .d-result-tools { font-size:14px; gap:18px; }

/* Category index, left filter column and a consistent square product grid. */
[data-layout=obsidian] .section-head { align-items:center; gap:20px; margin-bottom:16px; }
[data-layout=obsidian] .section-head h2 { font-size:28px; line-height:1.25; font-weight:700; letter-spacing:-.03em; }
[data-layout=obsidian] .section-head>span { font-size:14px; }
[data-layout=obsidian] :is(.d-section,.d-collection,.d-list-heading) .eyebrow { font-size:12px; margin-bottom:10px; color:var(--accent); }
[data-layout=obsidian] .d-category-rail,[data-layout=obsidian] .d-category-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-block-start:1px solid var(--line); border-inline-start:1px solid var(--line); }
[data-layout=obsidian] .d-category-rail>a,[data-layout=obsidian] .d-category-directory>a { position:relative; display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:5px 16px; padding:20px 26px 20px 18px; min-width:0; border-block-end:1px solid var(--line); border-inline-end:1px solid var(--line); background:#141516; }
[data-layout=obsidian] .d-category-rail>a:hover,[data-layout=obsidian] .d-category-directory>a:hover { background:#22231e; }
[data-layout=obsidian] .d-category-icon { grid-row:span 2; display:grid; place-items:center; width:46px; height:50px; color:var(--accent); }
[data-layout=obsidian] .d-category-icon img { object-fit:contain; width:40px; height:40px; }
[data-layout=obsidian] .d-category-rail strong,[data-layout=obsidian] .d-category-directory strong { font-size:15px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
[data-layout=obsidian] .d-category-rail small,[data-layout=obsidian] .d-category-directory small { font-size:12px; line-height:1.6; color:var(--muted); }
[data-layout=obsidian] .d-tile-arrow { position:absolute; top:12px; inset-inline-end:12px; font-size:15px; color:var(--muted); }
[data-layout=obsidian] .d-catalog-layout { display:grid; grid-template-columns:236px minmax(0,1fr); gap:24px; margin-top:18px; align-items:start; }
[data-layout=obsidian] .d-catalog-home { display:block; margin-top:0; }
[data-layout=obsidian] .d-catalog-layout .d-collection { padding-top:0; }
[data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-layout=obsidian] .d-catalog-home .d-collection { padding-block:15px 40px; }
[data-layout=obsidian] .d-collection-tabs { display:flex; flex-wrap:wrap; gap:28px; border-bottom:1px solid var(--line); margin-bottom:22px; font-size:15px; }
[data-layout=obsidian] .d-collection-tabs>a { padding:12px 0; color:var(--muted); }
[data-layout=obsidian] .d-collection-tabs>a[aria-current=page] { color:var(--accent); border-bottom:3px solid var(--accent); }
[data-layout=obsidian] .d-catalog-home .catalog-groups { margin:0 0 24px; padding:0 0 8px; border:0; }
[data-layout=obsidian] .catalog-groups a[aria-current=page] img { filter:grayscale(1) brightness(0); }
[data-layout=obsidian] .grid { gap:26px 20px; }
[data-layout=obsidian] .card { border-radius:4px; padding-bottom:18px; background:#151617; transition:border-color .18s; }
[data-layout=obsidian] .card:hover { transform:none; box-shadow:none; border-color:var(--accent); }
[data-layout=obsidian] .card-image { border-radius:0; }
[data-layout=obsidian] .card-image img { padding:0; }
[data-layout=obsidian] .card:hover .card-image img { transform:none; }
[data-layout=obsidian] .card-image::after { border-radius:2px; }
[data-layout=obsidian] .card h3 { font-size:16px; line-height:1.5; min-height:48px; margin:17px 17px 12px; font-weight:600; }
[data-layout=obsidian] .card-meta { font-size:13px; line-height:1.6; margin-inline:17px; flex-wrap:wrap; gap:5px 10px; }
[data-layout=obsidian] .card>.price { font-size:20px; margin:15px 17px 0; gap:6px 10px; }
[data-layout=obsidian] .card-price-note { font-size:12px; line-height:1.5; }
[data-layout=obsidian] .qc-badge { font-size:12px; padding:7px 9px; border-radius:3px; color:var(--accent); }
[data-layout=obsidian] .match-style { font-size:13px; margin-inline:17px; }
[data-layout=obsidian] .empty-discovery { border-radius:4px; }
[data-layout=obsidian] .empty-discovery p { font-size:16px; }
[data-layout=obsidian] .pagination { font-size:15px; }
[data-layout=obsidian] .pagination a { border-radius:4px; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact] { grid-template-columns:repeat(2,minmax(0,1fr)); }
[data-layout=obsidian] .grid[data-view=compact] .card { min-height:205px; padding-inline-start:39%; }
[data-layout=obsidian] .grid[data-view=compact] .card-image { width:36%; }
[data-layout=obsidian] .grid[data-view=compact] .card>.price { font-size:19px; }
[data-layout=obsidian] .grid[data-view=compact] .card-price-note { flex-basis:100%; }

/* Directory pages are indexes, with real counts and searchable brand names. */
[data-layout=obsidian] .d-list-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:18px; }
[data-layout=obsidian] .d-list-heading h1 { font-size:clamp(28px,2.7vw,36px); font-weight:750; letter-spacing:-.04em; line-height:1.15; margin:0 0 8px; overflow-wrap:anywhere; }
[data-layout=obsidian] .d-list-heading .intro { font-size:14px; margin:0; max-width:65ch; }
[data-layout=obsidian] .d-heading-logo { float:inline-start; width:100px; min-height:80px; padding:12px; background:#efeee8; border-radius:3px; margin-inline-end:22px; margin-bottom:12px; display:grid; place-items:center; }
[data-layout=obsidian] .d-heading-logo img { object-fit:contain; max-height:50px; }
[data-layout=obsidian] .d-brand-directory { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
[data-layout=obsidian] .d-brand-tile { position:relative; min-width:0; display:grid; justify-items:center; gap:10px; text-align:center; border:1px solid var(--line); border-radius:4px; background:var(--paper); padding:18px 12px 14px; }
[data-layout=obsidian] .d-brand-tile:hover { border-color:var(--accent); }
/* Size artwork by its shape so wide wordmarks and compact symbols carry similar weight. */
[data-layout=obsidian] .d-brand-logo { --brand-logo-width:72px; --brand-logo-height:36px; display:grid; place-items:center; width:100%; height:48px; background:#edede7; }
[data-layout=obsidian] .d-brand-logo[data-brand-shape=wide] { --brand-logo-width:min(96px,90%); --brand-logo-height:30px; }
[data-layout=obsidian] .d-brand-logo[data-brand-shape=compact] { --brand-logo-width:60px; --brand-logo-height:36px; }
[data-layout=obsidian] .d-brand-logo[data-brand-shape=portrait] { --brand-logo-width:34px; --brand-logo-height:42px; }
[data-layout=obsidian] .d-brand-logo img { width:auto; height:auto; max-width:var(--brand-logo-width); max-height:var(--brand-logo-height); object-fit:contain; }
[data-layout=obsidian] .d-brand-fallback { display:grid; place-items:center; height:48px; color:var(--accent); font-size:16px; font-weight:700; }
[data-layout=obsidian] .d-brand-tile strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:100%; font-size:13px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
[data-layout=obsidian] .d-brand-tile .d-tile-arrow { top:8px; inset-inline-end:9px; font-size:12px; opacity:0; transition:opacity .15s; }
[data-layout=obsidian] .d-brand-tile:is(:hover,:focus-visible) .d-tile-arrow { opacity:1; }
[data-layout=obsidian] .d-brand-tile small { font-size:13px; line-height:1.6; color:var(--muted); }
[data-layout=obsidian] .d-directory { padding-bottom:48px; }
[data-layout=obsidian] .d-directory-switch { display:flex; gap:30px; border-bottom:1px solid var(--line); margin-bottom:28px; font-size:16px; }
[data-layout=obsidian] .d-directory-switch a { padding:15px 0; color:var(--muted); }
[data-layout=obsidian] .d-directory-switch a[aria-current=page] { color:var(--accent); border-bottom:3px solid var(--accent); }
[data-layout=obsidian] .d-directory-switch span { font-size:13px; margin-inline-start:8px; color:var(--muted); }
[data-layout=obsidian] .d-directory-search { max-width:520px; min-height:48px; margin:0 0 28px; font-size:16px; }
[data-layout=obsidian] [data-search-item][hidden] { display:none; }

/* Published outfits appear beside discovery, never substituted with model portraits. */
[data-layout=obsidian] .d-outfit-section { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); gap:38px; align-items:center; margin:4px 0 44px; padding:28px 0; border-block:1px solid var(--line); background:transparent; }
[data-layout=obsidian] .d-outfit-section h2 { font-size:30px; line-height:1.25; letter-spacing:-.03em; margin:0; }
[data-layout=obsidian] .d-outfit-section .eyebrow { font-size:12px; color:var(--accent); margin-bottom:14px; }
[data-layout=obsidian] .d-outfit-section .intro { font-size:16px; margin:17px 0 23px; }
[data-layout=obsidian] .d-outfit-rail { display:flex; gap:15px; overflow:auto; padding:4px 0 12px; scroll-snap-type:inline proximity; }
[data-layout=obsidian] .d-outfit-rail>a { flex:0 0 calc((100% - 30px)/3); min-width:0; border:1px solid var(--line); border-radius:3px; background:var(--paper); scroll-snap-align:start; }
[data-layout=obsidian] .d-outfit-rail>a:hover { border-color:var(--accent); }
[data-layout=obsidian] .d-outfit-rail img { width:100%; aspect-ratio:2/3; height:auto; object-fit:cover; }
[data-layout=obsidian] .d-outfit-rail>a>span { display:grid; gap:8px; padding:16px; }
[data-layout=obsidian] .d-outfit-rail strong { font-size:15px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
[data-layout=obsidian] .d-outfit-rail small { font-size:12px; line-height:1.6; color:var(--muted); }
[data-layout=obsidian] .outfit-heading h1,[data-layout=obsidian] .outfit-detail h1 { font-family:Inter,"Segoe UI",Arial,sans-serif; font-weight:700; letter-spacing:-.04em; }
[data-layout=obsidian] .outfit-heading p { font-size:16px; }
[data-layout=obsidian] .outfit-filters label { font-size:14px; }
[data-layout=obsidian] .outfit-filters select { font-size:15px; min-height:48px; border-radius:4px; }
[data-layout=obsidian] .outfit-card { min-width:0; border:1px solid var(--line); background:var(--paper); }
[data-layout=obsidian] .outfit-card h2 { font-size:17px; line-height:1.5; margin:17px 17px 12px; }
[data-layout=obsidian] .outfit-card-meta { font-size:13px; line-height:1.6; }
[data-layout=obsidian] .outfit-card>.outfit-card-meta { padding:0 17px 18px; }
[data-layout=obsidian] .outfit-product p,[data-layout=obsidian] .outfit-product .text-link { font-size:14px; }
[data-layout=obsidian] .outfit-detail .intro { font-size:15px; }
[data-layout=obsidian] .d-reveal-in { animation:none; }

/* Readable supporting content, controls and product detail without the gallery styling. */
[data-layout=obsidian][data-page=articles] .card .text { font-size:16px; line-height:1.85; }
[data-layout=obsidian] .block .text { font-size:16px; line-height:1.85; }
[data-layout=obsidian] .block img,[data-layout=obsidian][data-page=home] .block--text { border-radius:4px; background:var(--paper); }
[data-layout=obsidian] .footer h2 { font-size:15px; }
[data-layout=obsidian] .footer nav { font-size:14px; line-height:1.8; }
[data-layout=obsidian] .footer-email,[data-layout=obsidian] .footer-bottom { font-size:13px; }
[data-layout=obsidian] :is(.product-stage,.product-price-panel,.product-buying,.purchase-primary,.purchase-platform-dialog,.purchase-platform-row,.product-lightbox) { border-radius:5px; }
[data-layout=obsidian] :is(.product-option,.product-option-search,.product-sku-option,.product-secondary-action,.purchase-tool,.purchase-platform-search,.product-thumbnails a) { border-radius:4px; }
[data-layout=obsidian] .product-buying { background:#18191a; box-shadow:none; border-color:#615e45; }
[data-layout=obsidian] .purchase-primary { background:var(--accent); box-shadow:none; }
[data-layout=obsidian] .product-detail h1 { font-size:clamp(30px,2.7vw,40px); font-weight:700; }
[data-layout=obsidian] :is(.product-overline,.product-code,.product-meta,.product-gallery-footer,.product-selected span,.product-buying-note,.purchase-source-link,.purchase-preference-hint,.purchase-demo-notice) { font-size:13px; }
[data-layout=obsidian] :is(.product-panel-heading h2,.product-option-heading h3,.product-secondary-action,.product-sku-option,.product-option,.purchase-tool,.product-selected,.product-description>summary,.product-jump-links) { font-size:15px; }
[data-layout=obsidian] :is(.product-option-heading>span,.product-axis-hint,.product-all-skus>summary,.product-option-search input,.purchase-dialog-intro,.purchase-platform-row-actions button,.product-qc-link) { font-size:14px; }
[data-layout=obsidian] .product-description .text { font-size:16px; line-height:1.85; }
[data-layout=obsidian] .product-zoom-label,[data-layout=obsidian] .product-panel-heading>span,[data-layout=obsidian] .hero .eyebrow { font-size:12px; }
[data-layout=obsidian] .product-related-copy .price { font-size:20px; }
[data-layout=obsidian] .product-mobile-bar small { font-size:12px; }
[data-layout=obsidian] .product-mobile-bar strong { font-size:20px; }
[data-layout=obsidian] .product-mobile-bar .button { font-size:14px; }

@media(max-width:1200px) {
  [data-layout=obsidian] .header { flex-wrap:wrap; gap:12px 25px; }
  [data-layout=obsidian] .primary-nav { order:3; flex-basis:100%; border-top:1px solid var(--line); padding-top:5px; }
  [data-layout=obsidian] .d-refine-content { grid-template-columns:1fr 1.4fr 1fr; }
  [data-layout=obsidian] .d-catalog-layout { grid-template-columns:216px minmax(0,1fr); gap:24px; }
  [data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-layout=obsidian] .d-category-rail>a,[data-layout=obsidian] .d-category-directory>a { grid-template-columns:36px minmax(0,1fr); padding:18px 14px; gap:6px 12px; }
  [data-layout=obsidian] .d-category-icon { width:36px; }
  [data-layout=obsidian] .d-category-icon img { width:34px; height:34px; }
  [data-layout=obsidian] .d-tile-arrow { display:none; }
}
@media(max-width:900px) {
  [data-layout=obsidian] .wrap { padding-inline:28px; }
  [data-layout=obsidian] .d-category-rail,[data-layout=obsidian] .d-category-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-layout=obsidian] .d-outfit-section { grid-template-columns:1fr; gap:25px; }
  [data-layout=obsidian] .d-outfit-section .intro { max-width:65ch; }
  [data-layout=obsidian] .d-outfit-rail>a { flex-basis:calc((100% - 30px)/3); }
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact] { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  [data-layout=obsidian] .wrap { padding-inline:20px; }
  [data-layout=obsidian] .header { padding-block:14px 6px; gap:12px 8px; }
  [data-layout=obsidian] .header .brand { font-size:20px; max-width:none; flex:1; min-width:0; }
  [data-layout=obsidian] .primary-nav { gap:24px; }
  [data-layout=obsidian] .primary-nav>a,[data-layout=obsidian] .header-discover>summary { font-size:14px; padding-block:10px; }
  [data-layout=obsidian] .header-actions { gap:7px; }
  [data-layout=obsidian] .header-actions summary,[data-layout=obsidian] .member-entry { min-height:44px; font-size:13px; padding:9px; }
  [data-layout=obsidian] .d-refine-content,[data-layout=obsidian] .d-hero .d-refine-content { grid-template-columns:1fr 1fr; gap:15px 12px; }
  [data-layout=obsidian] .d-refine-content .discovery-price { grid-column:span 2; }
  [data-layout=obsidian] .d-refine-content .discovery-qc { grid-column:auto; }
  [data-layout=obsidian] .d-refine-content .filter-submit { min-height:46px; }
  [data-layout=obsidian] :is(.d-brand-select select,.discovery-sort select,.discovery-price input,.directory-search) { font-size:16px; }
  [data-layout=obsidian] .section-head { gap:15px; flex-wrap:wrap; align-items:start; }
  [data-layout=obsidian] .section-head h2 { font-size:25px; }
  [data-layout=obsidian] .d-result-tools { gap:12px; font-size:13px; }
  [data-layout=obsidian] .d-catalog-layout { display:block; margin-top:25px; }
  [data-layout=obsidian][data-page=products] .d-list-heading { padding:18px 0 14px; }
  [data-layout=obsidian][data-page=products] .d-list-heading h1 { font-size:32px; margin:0; }
  [data-layout=obsidian][data-page=products] .d-list-heading :is(.eyebrow,.intro),[data-layout=obsidian][data-page=products] .d-list-heading>.text-link { display:none; }
  [data-layout=obsidian][data-page=products] .d-collection .section-head .eyebrow { display:none; }
  [data-layout=obsidian][data-page=products] .d-collection .section-head { align-items:center; margin-bottom:20px; }
  [data-layout=obsidian][data-page=products] .d-refine summary { padding:12px 0 7px; }
  [data-layout=obsidian][data-page=products] .catalog-groups { margin-top:7px; padding-top:12px; }
  [data-layout=obsidian] .d-catalog-home { margin-top:0; }
  [data-layout=obsidian] .d-collection-tabs { font-size:14px; gap:20px; }
  [data-layout=obsidian] .d-category-rail>a,[data-layout=obsidian] .d-category-directory>a { padding:18px 13px; gap:4px 10px; grid-template-columns:30px minmax(0,1fr); }
  [data-layout=obsidian] .d-category-icon { width:30px; }
  [data-layout=obsidian] .d-category-icon img { width:28px; height:28px; }
  [data-layout=obsidian] .d-category-rail strong,[data-layout=obsidian] .d-category-directory strong { font-size:14px; }
  [data-layout=obsidian] .grid { gap:18px 12px; }
  [data-layout=obsidian] .card { padding-bottom:16px; border-radius:3px; }
  [data-layout=obsidian] .card h3 { font-size:15px; line-height:1.5; min-height:45px; margin:14px 12px 11px; }
  [data-layout=obsidian] .card-meta { font-size:12px; margin-inline:12px; align-items:start; flex-direction:column; gap:4px; }
  [data-layout=obsidian] .card>.price { font-size:19px; margin:13px 12px 0; }
  [data-layout=obsidian] .card-price-note { font-size:12px; }
  [data-layout=obsidian] .qc-badge { font-size:12px; padding:6px 8px; top:8px; inset-inline-start:8px; }
  [data-layout=obsidian] .match-style { font-size:13px; margin-inline:12px; }
  [data-layout=obsidian] .d-list-heading { flex-direction:column; align-items:start; gap:12px; padding-block:20px; }
  [data-layout=obsidian] .d-list-heading h1 { font-size:37px; }
  [data-layout=obsidian] .d-list-heading .intro { font-size:14px; }
  [data-layout=obsidian] .d-brand-directory { grid-template-columns:repeat(auto-fill,minmax(108px,1fr)); gap:8px; }
  [data-layout=obsidian] .d-brand-tile { padding:14px 8px 12px; gap:8px; }
  [data-layout=obsidian] .d-brand-tile strong { font-size:12px; }
  [data-layout=obsidian] .d-brand-tile small { font-size:12px; }
  [data-layout=obsidian] .d-directory-switch { font-size:15px; gap:24px; }
  [data-layout=obsidian] .d-outfit-section { margin-bottom:32px; }
  [data-layout=obsidian] .d-outfit-rail>a { flex-basis:70%; }
  [data-layout=obsidian] .d-outfit-rail strong { font-size:16px; }
  [data-layout=obsidian] .outfit-card h2 { font-size:16px; margin-inline:12px; }
  [data-layout=obsidian] .outfit-card>.outfit-card-meta { font-size:12px; padding-inline:12px; }
  [data-layout=obsidian] .block .text { font-size:16px; }
  [data-layout=obsidian] .footer nav { font-size:14px; }
  [data-layout=obsidian] .footer-bottom { font-size:12px; }
  [data-layout=obsidian] .product-detail h1 { font-size:30px; }
  [data-layout=obsidian] .product-option-search input { font-size:16px; }
  [data-layout=obsidian] .product-related-copy .price { font-size:19px; }
}
@media(max-width:500px) {
  [data-layout=obsidian] .member-entry { width:44px; padding:10px; }
  [data-layout=obsidian] .member-entry>span,[data-layout=obsidian] .member-entry>.chevron { display:none; }
}
@media(max-width:370px) {
  [data-layout=obsidian] .wrap { padding-inline:15px; }
  [data-layout=obsidian] .header .brand { font-size:18px; gap:8px; }
  [data-layout=obsidian] .preferences-menu>summary .region-flag { display:none; }
  [data-layout=obsidian] .brand img { max-width:90px; }
  [data-layout=obsidian] .d-category-rail>a,[data-layout=obsidian] .d-category-directory>a { grid-template-columns:1fr; padding:16px 13px; gap:7px; }
  [data-layout=obsidian] .d-category-icon { grid-row:auto; height:36px; }
  [data-layout=obsidian] .card>.price { font-size:18px; }
  [data-layout=obsidian] .d-list-heading h1 { font-size:34px; }
}
[data-layout=obsidian][dir=rtl] :is(h1,h2,.eyebrow,.product-overline,.product-code) { letter-spacing:normal; }
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] *,[data-layout=obsidian] *::before,[data-layout=obsidian] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* Theme-aware taxonomy artwork; colored and site-specific assets stay intact. */
:is([data-layout=obsidian],[data-layout=nocturne]) [data-brand-tone=monochrome] { background:transparent; }
:is([data-layout=obsidian],[data-layout=nocturne]) [data-brand-tone=monochrome] img { filter:invert(1); }
:is([data-layout=obsidian],[data-layout=nocturne]) [data-brand-tone=original] { background:#f0eee9; border-radius:3px; }
:is([data-layout=obsidian],[data-layout=nocturne]) img[data-category-tone=original] { background:#f0eee9; border-radius:3px; padding:3px; box-sizing:border-box; }
:is([data-layout=obsidian],[data-layout=nocturne]) .catalog-brand-inline { display:grid; place-items:center; flex:0 0 38px; width:38px; height:32px; padding:3px; }
.catalog-brand-inline img { width:32px; height:26px; object-fit:contain; }
:is([data-layout=obsidian],[data-layout=nocturne]) .discover-brands a { display:flex; align-items:center; gap:10px; min-width:0; }
.catalog-icon-navigation { padding:8px 0 6px; border-bottom:1px solid var(--line); }
.catalog-icon-row { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:stretch; gap:8px; min-width:0; }
.catalog-icon-row+.catalog-icon-row { border-top:1px solid var(--line); margin-top:3px; padding-top:3px; }
.catalog-icon-track { display:flex; align-items:stretch; gap:4px; min-width:0; overflow-x:auto; scroll-snap-type:inline proximity; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#7774 transparent; padding:2px 2px 5px; }
.catalog-icon-all,.catalog-icon-link { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:4px; min-width:0; color:var(--muted); text-align:center; font-size:12px; line-height:1.3; border:1px solid transparent; padding:5px 4px 6px; }
.catalog-icon-link { flex:0 0 80px; scroll-snap-align:start; }
.catalog-icon-all { padding-top:7px; }
.catalog-icon-art { display:flex; justify-content:center; align-items:center; flex:none; width:64px; height:28px; }
.catalog-icon-row:not(.catalog-icon-brands) .catalog-icon-art img { width:28px; height:28px; }
.catalog-icon-brands .catalog-icon-art img { width:auto; height:auto; max-width:64px; max-height:26px; }
.catalog-icon-art img { object-fit:contain; max-width:100%; max-height:100%; }
.catalog-icon-name { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.catalog-icon-wordmark { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:11px; font-weight:600; overflow-wrap:anywhere; color:#e9e6e0; }
.catalog-icon-row small { font-size:11px; font-variant-numeric:tabular-nums; color:var(--muted); margin-top:auto; }
.catalog-icon-row:not(.catalog-icon-brands) small { display:none; }
.catalog-icon-all .catalog-icon-art { width:28px; border:1px solid var(--line); border-radius:4px; color:var(--accent); }
.catalog-icon-all svg { width:16px; height:16px; }
.catalog-icon-row a:hover,.catalog-icon-row a[aria-current] { color:#fff; border-color:var(--accent); }
.catalog-icon-row a[aria-current] { background:color-mix(in srgb,var(--accent) 7%,transparent); }
.catalog-icon-row a:hover .catalog-icon-art,.catalog-icon-row a[aria-current] .catalog-icon-art { color:var(--accent); }
.catalog-icon-more { justify-content:center; color:var(--accent); }
.catalog-icon-more .catalog-icon-art { font-size:20px; }
[data-layout=obsidian] .catalog-icon-all,[data-layout=obsidian] .catalog-icon-link { border-radius:4px; }
[data-layout=obsidian] .catalog-icon-all[aria-current] { color:var(--accent); }
[data-layout=nocturne] .catalog-icon-navigation { padding-top:8px; }
[data-layout=nocturne] .catalog-icon-row { gap:8px; }
[data-layout=nocturne] .catalog-icon-track { gap:4px; }
[data-layout=nocturne] .catalog-icon-all,[data-layout=nocturne] .catalog-icon-link { border-width:0 0 1px; }
[data-layout=nocturne] .catalog-icon-all .catalog-icon-art { border-radius:50%; }
[data-layout=nocturne] .catalog-icon-row a[aria-current] { background:transparent; color:var(--accent); }
@media(max-width:600px) {
 .catalog-icon-navigation { padding-top:6px; }
 .catalog-icon-row,[data-layout=nocturne] .catalog-icon-row { grid-template-columns:66px minmax(0,1fr); gap:6px; }
 .catalog-icon-track,[data-layout=nocturne] .catalog-icon-track { gap:4px; }
 .catalog-icon-all,.catalog-icon-link { font-size:12px; padding:5px 4px; gap:4px; }
 .catalog-icon-link { flex-basis:74px; }
 .catalog-icon-all { padding-top:7px; }
 .catalog-icon-art { width:60px; height:28px; }
 .catalog-icon-art img { max-width:60px; max-height:28px; }
 .catalog-icon-all .catalog-icon-art { width:28px; }
 .catalog-icon-row small { font-size:11px; }
 .catalog-icon-row+.catalog-icon-row { margin-top:2px; padding-top:2px; }
 [data-layout=nocturne][data-page=products] .n-sidebar { display:none; }
}
/* Obsidian shopping hierarchy: persistent search, compact discovery, clear buying. */
/* Wide screens use most of the width while keeping a calm margin. */
[data-layout=obsidian] .wrap { max-width:1720px; padding-inline:clamp(16px,2.2vw,40px); }
/* Wide screens fit the header in one row: brand, navigation, a compact search
   and the preference and account buttons. Below 1280px the navigation drops
   to its own row. */
[data-layout=obsidian] .header { display:grid; grid-template-columns:max-content max-content minmax(180px,1fr) max-content; align-items:center; gap:0 28px; padding-block:12px; min-height:0; }
[data-layout=obsidian] .header .brand { grid-column:1; grid-row:1; font-size:22px; }
[data-layout=obsidian] .header-actions { grid-column:4; grid-row:1; }
[data-layout=obsidian] .primary-nav { grid-column:2; grid-row:1; order:initial; flex-basis:auto; flex-wrap:nowrap; padding:0; margin:0; min-height:40px; gap:22px; border:0; }
[data-layout=obsidian] .primary-nav>a,[data-layout=obsidian] .header-discover>summary { min-height:40px; padding-block:9px; font-size:13px; white-space:nowrap; }
[data-layout=obsidian] .header-discover { margin-inline-start:0; }
/* Header controls share one capsule language: 40px, a dark surface, a faint
   ring that brightens on hover and an accent ring on focus. */
[data-layout=obsidian] .header-actions { gap:10px; }
[data-layout=obsidian] :is(.o-header-search,.header-actions .preferences-menu>summary,.header-actions .member-entry) { min-height:40px; border:1px solid rgba(255,255,255,.09); border-radius:999px; background:#16171a; box-shadow:inset 0 1px 0 rgba(255,255,255,.03); transition:border-color .2s,background .2s,box-shadow .2s; }
[data-layout=obsidian] :is(.o-header-search,.header-actions .preferences-menu>summary,.header-actions .member-entry):hover { border-color:rgba(255,255,255,.18); background:#1a1b1f; }
[data-layout=obsidian] .o-header-search { grid-column:3; grid-row:1; justify-self:end; width:100%; max-width:420px; display:flex; align-items:center; gap:8px; min-width:0; padding:4px 4px 4px 16px; margin:0; }
[data-layout=obsidian] .o-header-search>svg { flex-shrink:0; width:17px; height:17px; color:#8e9198; }
[data-layout=obsidian] .o-header-search input[type=search] { width:100%; min-width:0; border:0; outline:0; color:#f5f5f5; background:transparent; font:inherit; font-size:13.5px; }
[data-layout=obsidian] .o-header-search input[type=search]::placeholder { color:#7c7f86; }
[data-layout=obsidian] .header .o-header-search:is(:focus-within,:focus-within:hover) { border-color:color-mix(in srgb,var(--accent) 70%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent); }
[data-layout=obsidian] .o-header-search button.image-search-open { width:32px; min-width:32px; height:32px; border-radius:50%; color:#a9acb3; }
[data-layout=obsidian] .o-header-search>button { min-height:32px; padding:0 15px; border:0; border-radius:999px; font-family:inherit; font-size:12.5px; font-weight:700; letter-spacing:.01em; background:var(--accent); color:var(--on-accent); cursor:pointer; white-space:nowrap; transition:filter .15s; }
[data-layout=obsidian] .o-header-search>button[type=submit]:hover { filter:brightness(1.08); }
[data-layout=obsidian] .o-header-search>button:disabled { opacity:.7; cursor:wait; }
[data-layout=obsidian] .o-header-search>button[type=submit] { display:inline-flex; align-items:center; justify-content:center; }
[data-layout=obsidian] .o-search-submit-icon { display:none; }
[data-layout=obsidian] .header-actions .preferences-menu>summary { padding:0 12px 0 8px; color:#e9e9ec; }
[data-layout=obsidian] .header-actions .preference-current { gap:7px; font-size:12px; letter-spacing:.02em; }
[data-layout=obsidian] .header-actions .preference-current .region-flag { width:20px; height:20px; box-shadow:0 0 0 1px rgba(255,255,255,.14); }
[data-layout=obsidian] .header-actions .preference-divider { height:14px; margin:0 4px; background:rgba(255,255,255,.12); }
[data-layout=obsidian] .header-actions .preferences-menu[open]>summary { border-color:color-mix(in srgb,var(--accent) 55%,transparent); }
/* The account button is a round avatar; its aria-label still names it. */
[data-layout=obsidian] .header-actions .member-entry { display:inline-flex; align-items:center; justify-content:center; width:40px; padding:0; color:#e9e9ec; }
[data-layout=obsidian] .header-actions .member-entry:hover,[data-layout=obsidian] .header-actions .account-menu[open]>.member-entry { border-color:color-mix(in srgb,var(--accent) 55%,transparent); color:var(--accent); }
[data-layout=obsidian] .header-actions .member-entry>:not(svg:first-child) { display:none; }

/* Preferences: a quiet two-column list. Options are borderless rows that
   tint on hover; the current one carries an accent wash and a check. */
[data-layout=obsidian] .preferences-panel { top:calc(100% + 10px); width:600px; max-width:calc(100vw - 32px); padding:6px; border:1px solid #2c2e33; border-radius:14px; background:rgba(20,21,24,.97); box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 30px 80px rgba(0,0,0,.6); backdrop-filter:blur(14px); }
[data-layout=obsidian] .preferences-panel::before { content:""; position:absolute; inset-inline:0; top:-12px; height:12px; }
[data-layout=obsidian] .preferences-title { display:none; }
[data-layout=obsidian] .preferences-columns { grid-template-columns:1fr 1fr; gap:0; margin-top:0; }
[data-layout=obsidian] .preferences-columns>section { padding:12px 8px 8px; }
[data-layout=obsidian] .preferences-columns>section+section { padding-inline-start:8px; border-inline-start:1px solid rgba(255,255,255,.06); }
[data-layout=obsidian] .preference-section-heading { margin:0 6px 8px; }
[data-layout=obsidian] .preference-section-heading h3 { color:#8d8f96; font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
[data-layout=obsidian] .preference-section-heading>span { min-width:22px; padding:2px 7px; border-radius:999px; background:rgba(255,255,255,.06); color:#9a9ca3; font-size:10px; font-variant-numeric:tabular-nums; text-align:center; }
[data-layout=obsidian] :is(.language-options,.currency-options) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; max-height:336px; padding:0; }
[data-layout=obsidian] :is(.language-options,.currency-options) a { min-height:40px; gap:10px; padding:7px 10px; border:0; border-radius:8px; background:transparent; color:#e4e4e8; font-size:13px; transition:background .15s,color .15s; }
[data-layout=obsidian] :is(.language-options,.currency-options) a:hover { background:rgba(255,255,255,.055); }
[data-layout=obsidian] :is(.language-options,.currency-options) a[aria-current] { background:color-mix(in srgb,var(--accent) 11%,transparent); color:var(--accent); }
[data-layout=obsidian] :is(.language-options,.currency-options) .region-flag { width:18px; height:18px; box-shadow:0 0 0 1px rgba(255,255,255,.12); }
[data-layout=obsidian] .preference-option-text { gap:1px; line-height:1.25; }
[data-layout=obsidian] .preference-option-text small { color:#85878e; font-size:10.5px; line-height:1.3; }
[data-layout=obsidian] :is(.language-options,.currency-options) a[aria-current] small { color:color-mix(in srgb,var(--accent) 55%,#85878e); }
[data-layout=obsidian] .preferences-panel .currency-symbol { margin-inline-start:2px; color:#85878e; font-weight:500; }
[data-layout=obsidian] .language-options .locale-code { display:none; }
[data-layout=obsidian] .preference-option-text .language-fallback { white-space:normal; }
[data-layout=obsidian] .option-check { width:16px; height:16px; background:transparent; color:var(--accent); font-size:13px; font-weight:800; }
[data-layout=obsidian] .preferences-panel .preferences-note { margin:4px 0 0; padding:10px 14px; border-top:1px solid rgba(255,255,255,.06); color:#7f8188; font-size:11px; line-height:1.4; }
[data-layout=obsidian] .preferences-note>span { display:inline; margin-inline-start:8px; margin-top:0; color:#696b72; }
[data-layout=obsidian] .account-menu-panel { top:calc(100% + 8px); width:240px; padding:6px; }
/* Discover: a mega panel dropped from the header and centred on the page.
   Categories fill an icon grid that needs no scrolling, brands keep a
   searchable logo list, and quick links close the panel. */
[data-layout=obsidian] .header { position:relative; }
[data-layout=obsidian] .header-discover { position:static; }
[data-layout=obsidian] .o-discover.discover-panel { position:absolute; z-index:60; top:calc(100% + 1px); left:50%; display:flex; flex-direction:column; width:min(1100px,100%); max-height:min(620px,calc(100dvh - 120px)); padding:0; overflow:hidden; border:1px solid #2c2e33; border-radius:16px; background:rgba(20,21,24,.98); box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 40px 90px rgba(0,0,0,.6); backdrop-filter:blur(16px); transform:translateX(-50%); animation:o-discover-in .22s cubic-bezier(.2,.8,.2,1); }
[data-layout=obsidian] .o-discover-columns { display:grid; flex:1; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); min-height:0; }
[data-layout=obsidian] .o-discover-section { display:flex; flex-direction:column; min-height:0; padding:20px 20px 14px; }
[data-layout=obsidian] .o-discover-section+.o-discover-section { border-inline-start:1px solid rgba(255,255,255,.06); background:rgba(255,255,255,.015); }
[data-layout=obsidian] :is(.o-discover-heading,.o-discover-search) { flex-shrink:0; }
[data-layout=obsidian] .o-discover-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 6px 12px; }
[data-layout=obsidian] .o-discover-heading p { margin:0; color:#8d8f96; font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
[data-layout=obsidian] .o-discover-heading a { color:#a9abb2; font-size:12px; white-space:nowrap; }
[data-layout=obsidian] .o-discover-heading a:hover { color:var(--accent); text-decoration:none; }
[data-layout=obsidian] :is(.o-discover-categories,.o-discover-brands) { display:grid; gap:2px; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#3a3c42 transparent; }
[data-layout=obsidian] .o-discover-categories { grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; }
[data-layout=obsidian] .o-discover-brands { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; }
[data-layout=obsidian] :is(.o-discover-categories,.o-discover-brands) a { display:flex; align-items:center; gap:10px; min-width:0; min-height:38px; padding:5px 8px; border-radius:9px; color:#e2e2e6; font-size:13px; transition:background .15s,color .15s; }
[data-layout=obsidian] :is(.o-discover-categories,.o-discover-brands) a:hover { background:rgba(255,255,255,.055); color:#fff; text-decoration:none; }
[data-layout=obsidian] .o-discover-brands a[hidden] { display:none; }
[data-layout=obsidian] .o-discover-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-layout=obsidian] .o-discover-icon { display:grid; flex:0 0 28px; height:28px; place-items:center; border-radius:8px; background:rgba(255,255,255,.05); transition:background .15s; }
[data-layout=obsidian] .o-discover-icon img { width:18px; height:18px; object-fit:contain; }
[data-layout=obsidian] .o-discover-categories a:hover .o-discover-icon { background:color-mix(in srgb,var(--accent) 18%,transparent); }
[data-layout=obsidian] .o-discover-logo { display:grid; flex:0 0 40px; height:26px; place-items:center; border-radius:7px; background:rgba(255,255,255,.04); }
[data-layout=obsidian] .o-discover-logo img { width:auto; height:auto; max-width:32px; max-height:18px; object-fit:contain; }
[data-layout=obsidian] .o-discover-search { display:flex; align-items:center; gap:8px; height:38px; margin:0 0 10px; padding:0 14px; border:1px solid rgba(255,255,255,.09); border-radius:999px; background:#141518; color:#8e9198; transition:border-color .2s,box-shadow .2s; }
[data-layout=obsidian] .o-discover-search:focus-within { border-color:color-mix(in srgb,var(--accent) 70%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
[data-layout=obsidian] .o-discover-search input { flex:1; min-width:0; padding:0; border:0; outline:0; background:transparent; color:#f2f2f4; font:inherit; font-size:13px; }
[data-layout=obsidian] .o-discover-empty { margin:8px 6px 0; font-size:12px; }
[data-layout=obsidian] .o-discover-quick { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 20px; border-top:1px solid rgba(255,255,255,.06); background:rgba(0,0,0,.2); }
[data-layout=obsidian] .o-discover-quick a { display:inline-flex; align-items:center; min-height:32px; padding:0 14px; border:1px solid rgba(255,255,255,.09); border-radius:999px; color:#d9d9de; font-size:12.5px; font-weight:600; transition:border-color .15s,color .15s; }
[data-layout=obsidian] .o-discover-quick a:hover { border-color:color-mix(in srgb,var(--accent) 60%,transparent); color:var(--accent); text-decoration:none; }
[data-layout=obsidian] .o-discover-quick .o-discover-all { margin-inline-start:auto; border-color:transparent; color:var(--accent); }
@keyframes o-discover-in { from { opacity:0; transform:translate(-50%,-6px); } }
@media(prefers-reduced-motion:reduce) { [data-layout=obsidian] .o-discover.discover-panel { animation:none; } }
@media(max-width:900px) {
  [data-layout=obsidian] .o-discover.discover-panel { position:fixed; top:calc(var(--o-header-offset,112px) + 8px); inset-inline:12px; left:12px; width:auto; max-height:calc(100dvh - var(--o-header-offset,112px) - 24px); overflow:auto; transform:none; animation:none; }
  [data-layout=obsidian] .o-discover-columns { flex:none; grid-template-columns:minmax(0,1fr); }
  [data-layout=obsidian] .o-discover-section { display:block; }
  [data-layout=obsidian] .o-discover-search { display:flex; }
  [data-layout=obsidian] .o-discover-section+.o-discover-section { border-inline-start:0; border-top:1px solid rgba(255,255,255,.06); }
  [data-layout=obsidian] .o-discover-categories { grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
  [data-layout=obsidian] .o-discover-brands { max-height:260px; }
}
[data-layout=obsidian] .account-menu-heading { padding:7px 8px 10px; margin-bottom:3px; }
[data-layout=obsidian] .account-menu-heading strong { font-size:14px; }
[data-layout=obsidian] .account-menu-heading small { margin-top:4px; font-size:11px; line-height:1.4; }
[data-layout=obsidian] .account-menu .account-menu-links { gap:2px; }
[data-layout=obsidian] :is(.account-menu-links a,.account-menu-logout) { min-height:36px; gap:8px; padding:8px; border-radius:3px; font-size:13px; }
[data-layout=obsidian] .account-menu-footer { margin-top:4px; padding-top:4px; }

/* Show recognizable artwork first, followed by one complete-directory link. */
[data-layout=obsidian] .catalog-icon-navigation { padding-block:12px 0; margin:0; gap:0; }
[data-layout=obsidian] .catalog-icon-row { --catalog-item-width:72px; display:flex; align-items:center; gap:8px; padding-block:4px; }
[data-layout=obsidian] .catalog-icon-track { flex:1; min-width:0; gap:4px; padding:2px 0 4px; overflow:clip; scroll-snap-type:none; }
[data-layout=obsidian] .catalog-icon-track:not([data-fitted])>.catalog-icon-link,[data-layout=obsidian] .catalog-icon-link[hidden] { display:none; }
[data-layout=obsidian] .o-rail-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; }
[data-layout=obsidian] .catalog-icon-link,[data-layout=obsidian] .catalog-icon-all { flex:0 0 var(--catalog-item-width); display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; padding:7px 3px 5px; border-radius:4px; border:1px solid transparent; background:transparent; }
[data-layout=obsidian] .catalog-icon-all { flex:0 0 114px; width:114px; min-height:44px; flex-direction:row; justify-content:space-between; gap:8px; padding:8px 4px 8px 10px; border:0; border-block-end:1px solid color-mix(in srgb,var(--accent) 35%,transparent); border-radius:0; color:#f4f4f2; text-align:start; }
[data-layout=obsidian] .o-directory-label { min-width:0; font-size:12px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
[data-layout=obsidian] .catalog-icon-all .o-directory-arrow { width:18px; height:18px; flex-shrink:0; color:var(--accent); }
[data-layout=obsidian] .catalog-icon-all:hover { color:var(--accent); border-block-end-color:var(--accent); }
[data-layout=obsidian] .catalog-icon-all:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
[dir=rtl][data-layout=obsidian] .o-directory-arrow { transform:rotate(180deg); }
[data-layout=obsidian] .catalog-icon-link .catalog-icon-art { width:32px; height:32px; flex-shrink:0; }
[data-layout=obsidian] .catalog-icon-row:not(.catalog-icon-brands) .catalog-icon-art img { width:32px; height:32px; }
[data-layout=obsidian] .catalog-icon-name { display:-webkit-box; font-size:11px; line-height:1.3; white-space:normal; overflow-wrap:normal; max-width:100%; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
[data-layout=obsidian] .catalog-icon-link[aria-current=page] { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,#151619); }
/* Balance artwork in the same cell without stretching or cropping the logo. */
[data-layout=obsidian] .catalog-icon-brands .catalog-icon-art { --brand-logo-width:64px; --brand-logo-height:28px; width:64px; height:44px; }
[data-layout=obsidian] .catalog-icon-brands [data-brand-shape=compact] { --brand-logo-width:48px; --brand-logo-height:30px; }
[data-layout=obsidian] .catalog-icon-brands [data-brand-shape=portrait] { --brand-logo-width:28px; --brand-logo-height:34px; }
[data-layout=obsidian] .catalog-icon-brands .catalog-icon-art img { width:auto; height:auto; max-width:var(--brand-logo-width); max-height:var(--brand-logo-height); }
[data-layout=obsidian] .catalog-icon-brands .catalog-icon-name { min-height:29px; }
/* Logo-less and overly wide wordmarks keep the caption row like every other brand. */
[data-layout=obsidian] .catalog-icon-wordmark { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:100%; font-size:11px; font-weight:800; line-height:1.15; letter-spacing:-.01em; text-align:center; white-space:normal; overflow-wrap:normal; }

[data-layout=obsidian] .o-home-intro { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:20px 0; }
[data-layout=obsidian] .o-home-intro .eyebrow { margin-bottom:9px; font-size:10px; }
[data-layout=obsidian] .o-home-intro h1 { font:750 clamp(28px,3vw,40px)/1.1 Arial,sans-serif; letter-spacing:-.04em; margin:0; }
[data-layout=obsidian] .o-home-intro .intro { max-width:72ch; font-size:14px; line-height:1.65; margin:11px 0 0; color:var(--muted); }
[data-layout=obsidian] .o-home-intro>.text-link { flex-shrink:0; font-size:12px; }
/* Drop cards: the newest looks lead the home page as a row of large cards over
   an outlined word. Cards deal in, float and catch a passing sheen; on hover
   home_looks.js tilts the card toward the pointer and moves the glare and foil
   drawn here from the same custom properties. */
/* The copy sits on the left and five drop cards on the right; from 1200px
   down the copy stacks above the cards. */
[data-layout=obsidian] .o-home-intro.o-home-looks { display:grid; grid-template-columns:minmax(300px,430px) minmax(0,1fr); align-items:center; gap:24px 48px; padding:26px 0 34px; border-bottom:1px solid var(--line); }
[data-layout=obsidian] .o-home-copy { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
[data-layout=obsidian] .o-home-looks .eyebrow { display:flex; align-items:center; gap:8px; margin:0; }
[data-layout=obsidian] .o-home-looks .eyebrow::before { content:""; width:22px; height:2px; background:var(--accent); }
/* SEO copy: a freshness line, the title split into the main keyword and an
   accent line of secondary keywords (one h1; the separator stays in the text
   for search), the description and real catalogue counts. */
[data-layout=obsidian] .o-home-updated { display:flex; align-items:center; gap:8px; margin:0; color:#a7a9b0; font-size:12px; font-weight:600; letter-spacing:.02em; }
[data-layout=obsidian] .o-home-updated i { width:7px; height:7px; border-radius:50%; background:#3ddc84; box-shadow:0 0 0 0 rgba(61,220,132,.6); animation:o-home-pulse 2s ease-out infinite; }
[data-layout=obsidian] .o-home-looks h1 { margin:14px 0 0; font-size:clamp(32px,2.6vw,48px); line-height:1.04; letter-spacing:-.035em; }
[data-layout=obsidian] .o-hero-main { display:block; }
[data-layout=obsidian] .o-hero-separator { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
[data-layout=obsidian] .o-hero-rest { display:block; margin-top:10px; color:var(--accent); font-size:.52em; font-weight:750; line-height:1.2; letter-spacing:-.01em; }
[data-layout=obsidian] .o-home-stats { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:0; width:100%; margin:22px 0 0; padding:14px 0; border-block:1px solid var(--line); }
[data-layout=obsidian] .o-home-stats>div { display:flex; flex-direction:column-reverse; gap:3px; padding-inline:14px; border-inline-start:1px solid var(--line); }
[data-layout=obsidian] .o-home-stats>div:first-child { padding-inline-start:0; border-inline-start:0; }
[data-layout=obsidian] .o-home-stats dd { margin:0; color:#f4f4f6; font-size:22px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-home-stats dt { color:#8b8d94; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
@keyframes o-home-pulse { 70% { box-shadow:0 0 0 7px rgba(61,220,132,0); } 100% { box-shadow:0 0 0 0 rgba(61,220,132,0); } }
[data-layout=obsidian] .o-home-looks .intro { max-width:44ch; margin:16px 0 0; font-size:14px; line-height:1.6; }
[data-layout=obsidian] .o-home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-top:26px; }
[data-layout=obsidian] .o-home-actions .button { min-height:40px; padding:9px 20px; font-size:14px; }
[data-layout=obsidian] .o-home-secondary { display:inline-flex; align-items:center; min-height:40px; padding:0 18px; border:1px solid var(--line); border-radius:10px; font-size:14px; font-weight:650; }
[data-layout=obsidian] .o-home-secondary:hover { border-color:var(--accent); color:var(--accent); }
[data-layout=obsidian] .o-home-actions .text-link { font-size:12px; color:var(--muted); white-space:nowrap; }
[data-layout=obsidian] .o-looks { position:relative; min-width:0; }
[data-layout=obsidian] .o-looks-word { position:absolute; z-index:0; inset:0 0 auto; overflow:hidden; color:transparent; font:900 clamp(48px,7vw,130px)/1 Arial,sans-serif; letter-spacing:-.045em; text-align:center; text-transform:uppercase; white-space:nowrap; -webkit-text-stroke:1.5px color-mix(in srgb,var(--accent) 55%,transparent); pointer-events:none; user-select:none; }
[data-layout=obsidian] .o-looks-row { position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; padding-top:clamp(36px,4vw,70px); counter-reset:look; }
[data-layout=obsidian] .o-look-slot { counter-increment:look; perspective:1000px; animation:o-look-deal .9s cubic-bezier(.2,.8,.2,1) both,o-look-float 7s ease-in-out .9s infinite; }
[data-layout=obsidian] .o-look-slot:nth-child(even) { margin-top:28px; }
[data-layout=obsidian] .o-look-slot:nth-child(2) { animation-delay:.08s,1.6s; } [data-layout=obsidian] .o-look-slot:nth-child(3) { animation-delay:.16s,1.1s; }
[data-layout=obsidian] .o-look-slot:nth-child(4) { animation-delay:.24s,2.1s; } [data-layout=obsidian] .o-look-slot:nth-child(5) { animation-delay:.32s,1.4s; }
[data-layout=obsidian] .o-look { --rx:0deg; --ry:0deg; --gx:50%; --gy:30%; --px:0; --py:0; position:relative; display:block; overflow:hidden; aspect-ratio:2/3; border-radius:14px; background:var(--paper); box-shadow:0 22px 50px rgba(0,0,0,.5); transform:rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s,filter .4s; }
[data-layout=obsidian] .o-look img { display:block; width:100%; height:100%; object-fit:cover; transform:translate(calc(var(--px) * -10px),calc(var(--py) * -10px)) scale(1.08); transition:transform .6s cubic-bezier(.2,.8,.2,1); }
[data-layout=obsidian] .o-look[data-tilting],[data-layout=obsidian] .o-look[data-tilting] img { transition-duration:.1s,.4s,.4s; transition-timing-function:linear,ease,ease; }
[data-layout=obsidian] .o-look::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(115deg,transparent 22%,rgba(255,0,170,.2) 36%,rgba(0,220,255,.2) 48%,rgba(255,230,0,.22) 60%,transparent 76%); background-position:var(--gx) var(--gy); background-size:240% 240%; mix-blend-mode:color-dodge; opacity:0; transition:opacity .4s; pointer-events:none; }
[data-layout=obsidian] .o-look::after { content:""; position:absolute; z-index:2; inset:0; border-radius:inherit; background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.4),transparent 48%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); opacity:.35; transition:opacity .4s,box-shadow .4s; pointer-events:none; }
[data-layout=obsidian] .o-look:is(:hover,:focus-visible) { box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 38px color-mix(in srgb,var(--accent) 32%,transparent); }
[data-layout=obsidian] .o-look:is(:hover,:focus-visible)::before { opacity:.3; }
[data-layout=obsidian] .o-look:is(:hover,:focus-visible)::after { opacity:1; box-shadow:inset 0 0 0 2px var(--accent); }
[data-layout=obsidian] .o-looks-row:hover .o-look:not(:hover) { filter:brightness(.5) saturate(.7); }
[data-layout=obsidian] .o-look-shine { position:absolute; z-index:2; inset:0; background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.2) 50%,transparent 62%); transform:translateX(-130%); animation:o-look-shine 8s ease-in-out 1.2s infinite; pointer-events:none; }
[data-layout=obsidian] .o-look-slot:nth-child(2) .o-look-shine { animation-delay:1.45s; } [data-layout=obsidian] .o-look-slot:nth-child(3) .o-look-shine { animation-delay:1.7s; }
[data-layout=obsidian] .o-look-slot:nth-child(4) .o-look-shine { animation-delay:1.95s; } [data-layout=obsidian] .o-look-slot:nth-child(5) .o-look-shine { animation-delay:2.2s; }
[data-layout=obsidian] .o-look-index { position:absolute; z-index:3; top:14px; inset-inline-start:15px; color:rgba(255,255,255,.85); font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.12em; text-shadow:0 1px 6px rgba(0,0,0,.5); }
[data-layout=obsidian] .o-look-index::before { content:counter(look,decimal-leading-zero); }
[data-layout=obsidian] .o-look-new { position:absolute; z-index:3; top:11px; inset-inline-end:11px; padding:5px 8px; border-radius:4px; background:var(--accent); color:var(--on-accent); font-size:10px; font-style:normal; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
[data-layout=obsidian] .o-look-caption { position:absolute; z-index:3; inset:auto 0 0; padding:44px 15px 14px; background:linear-gradient(transparent,rgba(0,0,0,.85)); color:#fff; font-size:13px; font-weight:700; opacity:0; transform:translateY(8px); transition:opacity .3s,transform .3s; }
[data-layout=obsidian] .o-look:is(:hover,:focus-visible) .o-look-caption { opacity:1; transform:none; }
@keyframes o-look-deal { from { opacity:0; transform:translateY(70px) rotate(-7deg) scale(.9); } }
@keyframes o-look-float { 50% { transform:translateY(-9px); } }
@keyframes o-look-shine { 0%,72% { transform:translateX(-130%); } 86%,100% { transform:translateX(130%); } }
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] .o-look-slot,[data-layout=obsidian] .o-look-shine,[data-layout=obsidian] .o-home-updated i { animation:none; }
}
@media(max-width:1200px) {
  [data-layout=obsidian] .o-home-intro.o-home-looks { grid-template-columns:minmax(0,1fr); gap:20px; padding-top:20px; }
  [data-layout=obsidian] .o-home-looks .intro { max-width:60ch; }
  [data-layout=obsidian] .o-home-actions { margin-top:18px; }
}
@media(max-width:700px) {
  [data-layout=obsidian] .o-home-intro.o-home-looks { gap:14px; padding:14px 0 24px; }
  [data-layout=obsidian] .o-home-looks h1 { margin-top:10px; font-size:28px; }
  [data-layout=obsidian] .o-home-stats { margin-top:16px; padding:10px 0; }
  [data-layout=obsidian] .o-home-stats dd { font-size:18px; }
  [data-layout=obsidian] .o-home-looks .intro { margin-top:10px; font-size:13px; }
  [data-layout=obsidian] .o-home-actions { gap:10px 14px; margin-top:14px; }
  [data-layout=obsidian] .o-looks-word { font-size:64px; text-align:start; }
  [data-layout=obsidian] .o-looks-row { display:flex; gap:12px; margin-inline:-16px; padding:36px 16px 10px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:16px; scrollbar-width:none; }
  [data-layout=obsidian] .o-looks-row::-webkit-scrollbar { display:none; }
  [data-layout=obsidian] .o-look-slot { flex:0 0 64%; scroll-snap-align:start; }
  [data-layout=obsidian] .o-look-slot:nth-child(even) { margin-top:22px; }
}
[data-layout=obsidian] .d-catalog-layout { margin-top:12px; grid-template-columns:200px minmax(0,1fr); gap:24px; }
[data-layout=obsidian] .d-catalog-home { display:block; margin:0; }
[data-layout=obsidian] .d-catalog-home .d-collection { padding:0 0 28px; }
[data-layout=obsidian] .d-collection .section-head { margin-bottom:10px; align-items:center; }
[data-layout=obsidian] .d-collection .section-head .eyebrow { display:none; }
[data-layout=obsidian] .d-collection .section-head h2 { font-size:20px; line-height:1.3; letter-spacing:-.02em; }
[data-layout=obsidian] .d-view-controls { gap:3px; padding:3px; }
[data-layout=obsidian] .d-view-controls button { width:30px; height:30px; }
[data-layout=obsidian] .o-collection-toolbar { display:flex; align-items:start; justify-content:space-between; gap:16px; padding-block:7px 12px; border-bottom:1px solid var(--line); margin-bottom:18px; }
[data-layout=obsidian] .d-collection-tabs { margin:0; border:0; gap:20px; font-size:13px; flex-shrink:0; }
[data-layout=obsidian] .d-collection-tabs>a { padding:8px 0; white-space:nowrap; }
[data-layout=obsidian] .d-collection-tabs>a[aria-current=page] { border-bottom-width:2px; }
[data-layout=obsidian] .o-catalog-controls { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; min-width:0; flex:1; }
[data-layout=obsidian] .o-sort-control { display:flex; align-items:center; gap:4px; }
[data-layout=obsidian] .o-sort-control .discovery-sort { display:flex; align-items:center; gap:8px; font-size:12px; }
[data-layout=obsidian] .o-sort-control select { max-width:160px; min-height:34px; font-size:12px; padding:7px 28px 7px 9px; border:1px solid var(--line); background:#18191c; border-radius:4px; color:inherit; }
[data-layout=obsidian] .o-sort-submit { display:grid; place-items:center; width:30px; height:34px; border:1px solid var(--line); border-radius:4px; background:#25262a; color:var(--accent); cursor:pointer; }
[data-layout=obsidian] .o-sort-submit[hidden] { display:none; }
[data-layout=obsidian] .o-catalog-controls .d-refine { margin:0; border:0; }
[data-layout=obsidian] .o-catalog-controls .d-refine>summary { display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid var(--line); border-radius:4px; font-size:12px; }
[data-layout=obsidian] .o-catalog-controls .d-refine>summary>span { margin-inline-start:auto; }
[data-layout=obsidian] .o-catalog-controls .d-refine[open] { flex-basis:100%; }
[data-layout=obsidian] .o-catalog-controls .d-refine[open]>summary { justify-content:space-between; }
[data-layout=obsidian] .o-catalog-controls .d-refine-content { display:grid; grid-template-columns:minmax(110px,1fr) minmax(200px,1.6fr); gap:12px; margin-top:12px; padding:14px; background:#18191c; border:1px solid var(--line); border-radius:4px; }
[data-layout=obsidian] .d-refine-content select,[data-layout=obsidian] .d-refine-content input { min-height:36px; font-size:13px; }
[data-layout=obsidian] .d-refine-content .discovery-price { grid-column:auto; }
[data-layout=obsidian] .d-refine-content .filter-submit { min-height:36px; font-size:12px; background:var(--accent); color:var(--on-accent); border:0; }
[data-layout=obsidian] .discovery-chips { margin-top:0; font-size:12px; }
[data-layout=obsidian] .d-list-heading { padding:16px 0 10px; }
[data-layout=obsidian] .d-list-heading h1 { font-size:30px; margin:0; }
[data-layout=obsidian] .d-list-heading .eyebrow { display:none; }
[data-layout=obsidian] .d-list-heading .intro { font-size:13px; margin:8px 0 0; }
[data-layout=obsidian] .d-catalog-home .grid[data-product-grid] { grid-template-columns:repeat(5,minmax(0,1fr)); }
[data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) .grid[data-product-grid] { grid-template-columns:repeat(4,minmax(0,1fr)); }
/* The wider container adds a column instead of enlarging every card. */
@media(min-width:1700px) {
  [data-layout=obsidian] .d-catalog-home .grid[data-product-grid] { grid-template-columns:repeat(6,minmax(0,1fr)); }
  [data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) .grid[data-product-grid] { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
[data-layout=obsidian] .grid[data-product-grid] { gap:20px 16px; }
[data-layout=obsidian] .grid[data-product-grid] .card { min-height:0; background:#16171a; padding-bottom:13px; border:1px solid #2d2f34; border-radius:6px; }
[data-layout=obsidian] .grid[data-product-grid] .card-image { border:0; border-radius:5px 5px 0 0; background:#e9e9e7; }
[data-layout=obsidian] .grid[data-product-grid] .card h3 { font-size:14px; line-height:1.45; min-height:40px; margin:11px 12px 8px; font-weight:600; }
[data-layout=obsidian] .grid[data-product-grid] .card-meta { margin-inline:12px; gap:5px; font-size:11px; }
[data-layout=obsidian] .grid[data-product-grid] .card>.price { margin:10px 12px 0; font-size:18px; flex-wrap:wrap; }
[data-layout=obsidian] .grid[data-product-grid] .card-price-note { font-size:11px; color:#aeb2bc; }
[data-layout=obsidian] .grid[data-product-grid] .qc-badge { padding:5px 7px; font-size:10px; inset-block-start:8px; inset-inline-start:8px; border-radius:3px; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact] { grid-template-columns:repeat(2,minmax(0,1fr)); }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact] .card { min-height:172px; }

/* Let visitors see image, variant and buying controls as one decision area. */
[data-layout=obsidian] .product-detail { grid-template-columns:minmax(0,1fr) minmax(340px,.88fr); gap:38px; padding-top:22px; }
/* The whole gallery shares one width so the counter and thumbnails align with
   the image, which stays within the visible height beside the summary. */
[data-layout=obsidian] .product-media { top:calc(var(--o-header-offset) + 32px); width:min(100%,calc(100vh - var(--o-header-offset) - 160px)); width:min(100%,calc(100dvh - var(--o-header-offset) - 160px)); }
[data-layout=obsidian] .product-detail h1 { font-size:clamp(24px,2.3vw,34px); line-height:1.18; margin-block:10px; }
[data-layout=obsidian] .product-summary .product-code { margin-bottom:14px; font-size:11px; color:#9297a2; }
[data-layout=obsidian] .product-price-panel { padding:16px; margin-block:16px; }
[data-layout=obsidian] .product-buying { margin-top:18px; padding:18px; }
[data-layout=obsidian] .product-option-heading h3 { font-size:13px; }
[data-layout=obsidian] .product-options { gap:14px; }
[data-layout=obsidian] .product-option { min-height:38px; padding:8px 11px; font-size:13px; }
[data-layout=obsidian] .product-jump-links { position:sticky; top:calc(var(--o-header-offset) + 14px); z-index:4; background:#111215; padding:12px 0; font-size:13px; }
[data-layout=obsidian] .d-outfit-section { padding-block:24px; margin-block:10px 20px; }
[data-layout=obsidian] .d-outfit-section h2 { font-size:26px; }
[data-layout=obsidian] .d-outfit-section .intro { font-size:14px; }
[data-layout=obsidian][dir=rtl] .o-home-intro h1 { letter-spacing:normal; }
[data-layout=obsidian] .o-visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
[data-layout=obsidian] .o-collection-toolbar>.d-result-tools { flex-shrink:0; align-self:center; }
/* Drawn chevrons stay centred where the text glyph sits low in many fonts. */
[data-layout=obsidian] :where(.storefront-header .chevron:not(svg),.o-catalog-controls .d-refine>summary>span) { display:inline-block; width:7px; height:7px; overflow:hidden; font-size:0; color:inherit; border-right:1.5px solid; border-bottom:1.5px solid; transform:translateY(-2px) rotate(45deg); transition:transform .15s; }
[data-layout=obsidian] .header-discover[open] .chevron,[data-layout=obsidian] .preferences-menu[open] .chevron,[data-layout=obsidian] .account-menu[open] .chevron,[data-layout=obsidian] .o-catalog-controls .d-refine[open]>summary>span { transform:translateY(2px) rotate(-135deg); }
/* SVG chevrons draw their own stroke; they only turn over when open. */
[data-layout=obsidian] .storefront-header svg.chevron { flex-shrink:0; width:12px; height:12px; color:#9a9ca3; stroke-width:1.6; transition:transform .2s; }
[data-layout=obsidian] :is(.header-discover,.preferences-menu,.account-menu)[open] svg.chevron { transform:rotate(180deg); }
/* Product lists show categories and brands in the sidebar; the icon rails
   remain only where the sidebar is hidden. */
@media(min-width:701px) { [data-layout=obsidian][data-page=products] .catalog-icon-navigation { display:none; } }

@media(max-width:1280px) {
 [data-layout=obsidian] .header { grid-template-columns:minmax(160px,auto) minmax(240px,1fr) auto; padding-block:12px 0; }
 [data-layout=obsidian] .o-header-search { grid-column:2; max-width:none; }
 [data-layout=obsidian] .header-actions { grid-column:3; }
 [data-layout=obsidian] .primary-nav { grid-column:1/-1; grid-row:2; margin-top:10px; border-top:1px solid var(--line); }
}
@media(max-width:1200px) {
 [data-layout=obsidian] .header { gap:0 20px; }
 [data-layout=obsidian] .d-catalog-home .grid[data-product-grid] { grid-template-columns:repeat(4,minmax(0,1fr)); }
 [data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) .grid[data-product-grid] { grid-template-columns:repeat(3,minmax(0,1fr)); }
 [data-layout=obsidian] .o-collection-toolbar { flex-wrap:wrap; }
}
@media(max-width:900px) {
 [data-layout=obsidian] .header { grid-template-columns:minmax(0,1fr) auto; gap:10px; padding-block:12px 0; }
 [data-layout=obsidian] .header-actions { grid-column:2; }
 [data-layout=obsidian] .o-header-search { grid-column:1/-1; grid-row:2; }
 [data-layout=obsidian] .primary-nav { grid-row:3; margin:0; }
 [data-layout=obsidian] .o-home-intro { align-items:start; gap:20px; }
 [data-layout=obsidian] .d-catalog-layout { grid-template-columns:180px minmax(0,1fr); gap:16px; }
 [data-layout=obsidian] .d-catalog-home .grid[data-product-grid] { grid-template-columns:repeat(3,minmax(0,1fr)); }
 [data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) .grid[data-product-grid] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 [data-layout=obsidian] .product-detail { grid-template-columns:minmax(0,1fr) minmax(300px,1fr); gap:24px; }
}
@media(max-width:700px) {
 [data-layout=obsidian] .header-actions { position:relative; }
 [data-layout=obsidian] :is(.preferences-menu,.account-menu) { position:static; }
 [data-layout=obsidian] .preferences-panel { position:absolute; top:calc(100% + 8px); inset-inline:auto 0; width:calc(100vw - 48px); max-width:none; max-height:calc(100dvh - 120px); padding:12px; }
 [data-layout=obsidian] .preferences-columns { grid-template-columns:1fr; gap:12px; }
 [data-layout=obsidian] .preferences-columns>section+section { border-inline-start:0; padding-inline-start:0; padding-top:10px; border-top:1px solid var(--line); }
 [data-layout=obsidian] :is(.language-options,.currency-options) { max-height:none; overflow:visible; }
 [data-layout=obsidian] .preferences-note>span { display:block; margin-inline-start:0; margin-top:3px; }
 [data-layout=obsidian] .account-menu-panel { position:absolute; top:calc(100% + 8px); inset-inline-end:0; max-height:calc(100dvh - 120px); }
 [data-layout=obsidian] :is(.account-menu-links a,.account-menu-logout) { min-height:44px; }
 [data-layout=obsidian] .wrap { padding-inline:16px; }
 [data-layout=obsidian] .header { gap:8px; padding-top:9px; }
 [data-layout=obsidian] .header .brand { font-size:19px; max-width:none; }
 [data-layout=obsidian] .header-actions { gap:5px; }
 [data-layout=obsidian] .header-actions .member-entry { width:40px; min-height:40px; }
 [data-layout=obsidian] .primary-nav { gap:18px; min-width:0; }
 [data-layout=obsidian] .primary-nav>a,[data-layout=obsidian] .header-discover>summary { font-size:12px; white-space:nowrap; }
 [data-layout=obsidian] .o-header-search { min-height:42px; }
 [data-layout=obsidian] .o-header-search input[type=search] { font-size:16px; }
 [data-layout=obsidian] .o-header-search>button[type=submit] { min-width:42px; padding-inline:10px; }
 [data-layout=obsidian] .o-search-submit-icon { display:block; }
 [data-layout=obsidian] .o-search-submit-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 [data-layout=obsidian] .catalog-icon-row { --catalog-item-width:64px; gap:4px; }
 [data-layout=obsidian] .catalog-icon-track { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; }
 [data-layout=obsidian] .catalog-icon-track::-webkit-scrollbar { display:none; }
 [data-layout=obsidian] .catalog-icon-track[data-scrollable]:not([data-scroll-end]) { -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent); mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent); }
 [dir=rtl][data-layout=obsidian] .catalog-icon-track[data-scrollable]:not([data-scroll-end]) { -webkit-mask-image:linear-gradient(to left,#000 calc(100% - 36px),transparent); mask-image:linear-gradient(to left,#000 calc(100% - 36px),transparent); }
 [data-layout=obsidian] .catalog-icon-track:not([data-fitted])>.catalog-icon-link { display:flex; }
 [data-layout=obsidian] .catalog-icon-link { padding:5px 2px; scroll-snap-align:start; }
 [data-layout=obsidian] .catalog-icon-all { flex:0 0 var(--catalog-item-width); width:auto; flex-direction:column-reverse; justify-content:flex-start; gap:6px; padding:5px 2px; border-block-end:0; text-align:center; }
 [data-layout=obsidian] .catalog-icon-all .o-directory-arrow { width:32px; height:32px; padding:7px; border:1px solid var(--line); border-radius:50%; }
 [data-layout=obsidian] .o-directory-label { display:-webkit-box; font-size:11px; font-weight:500; line-height:1.3; overflow:hidden; overflow-wrap:normal; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
 [data-layout=obsidian] .o-rail-actions { gap:4px; }
 [data-layout=obsidian] .catalog-icon-brands .catalog-icon-art { --brand-logo-width:60px; --brand-logo-height:26px; width:60px; height:40px; }
 [data-layout=obsidian] .catalog-icon-brands [data-brand-shape=compact] { --brand-logo-width:46px; --brand-logo-height:28px; }
 [data-layout=obsidian] .catalog-icon-brands [data-brand-shape=portrait] { --brand-logo-width:26px; --brand-logo-height:32px; }
 [data-layout=obsidian] .o-home-intro { display:block; position:relative; padding:16px 0; }
 [data-layout=obsidian] .o-home-intro .eyebrow { max-width:calc(100% - 90px); font-size:9px; }
 [data-layout=obsidian] .o-home-intro h1 { font-size:28px; }
 [data-layout=obsidian] .o-home-intro .intro { font-size:13px; line-height:1.55; margin-top:9px; }
 [data-layout=obsidian] .o-home-intro>.text-link { position:absolute; inset-block-start:14px; inset-inline-end:0; font-size:10px; }
 [data-layout=obsidian] .d-catalog-layout { display:block; margin-top:12px; }
 [data-layout=obsidian] .d-catalog-home { margin-top:0; }
 [data-layout=obsidian] .d-collection .section-head { flex-wrap:nowrap; margin-bottom:7px; }
 [data-layout=obsidian] .d-collection .section-head h2 { font-size:19px; }
 [data-layout=obsidian] .o-collection-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:12px; padding-block:0 10px; margin-bottom:14px; }
 [data-layout=obsidian] .o-collection-toolbar>.o-catalog-controls { grid-column:1 / -1; }
 [data-layout=obsidian] .o-collection-toolbar>.d-result-tools { grid-row:1; grid-column:2; }
 [data-layout=obsidian] .d-collection-tabs { gap:18px; font-size:12px; margin-bottom:10px; }
 [data-layout=obsidian] .o-catalog-controls { justify-content:space-between; }
 [data-layout=obsidian] .o-sort-control { flex:1 1 auto; min-width:0; }
 [data-layout=obsidian] .o-sort-control .discovery-sort { flex:1; min-width:0; gap:5px; font-size:11px; }
 [data-layout=obsidian] .o-sort-control select { flex:1; min-width:0; max-width:none; font-size:12px; }
 [data-layout=obsidian] .o-catalog-controls .d-refine>summary { max-width:156px; font-size:11px; gap:4px; padding:8px; }
 [data-layout=obsidian] .o-catalog-controls .d-refine[open]>summary { max-width:none; }
 [data-layout=obsidian] .o-catalog-controls .d-refine-content { grid-template-columns:1fr 1fr; padding:12px; }
 [data-layout=obsidian] .d-refine-content .d-brand-select,[data-layout=obsidian] .d-refine-content .discovery-price { grid-column:1/-1; }
 [data-layout=obsidian] .d-refine-content select,[data-layout=obsidian] .d-refine-content input { font-size:16px; }
 [data-layout=obsidian] .d-list-heading { padding-block:12px; }
 [data-layout=obsidian] .d-list-heading h1 { font-size:26px; }
 [data-layout=obsidian] .d-catalog-home .grid[data-product-grid],[data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) .grid[data-product-grid] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 10px; }
 [data-layout=obsidian] .grid[data-product-grid] .card h3 { font-size:13px; margin-inline:10px; min-height:38px; }
 [data-layout=obsidian] .grid[data-product-grid] .card-meta { display:block; margin-inline:10px; }
 [data-layout=obsidian] .grid[data-product-grid] .card>.price { font-size:16px; margin-inline:10px; gap:4px; }
 [data-layout=obsidian] .grid[data-product-grid] .card-price-note { flex-basis:100%; }
 [data-layout=obsidian] .grid[data-product-grid][data-view=compact] { grid-template-columns:1fr; }
 [data-layout=obsidian] .product-detail { display:block; padding-top:12px; }
 [data-layout=obsidian] .product-media { position:static; width:auto; }
 [data-layout=obsidian] .product-detail h1 { font-size:25px; }
 [data-layout=obsidian] .product-jump-links { gap:14px; font-size:12px; }
 [data-layout=obsidian] .product-buying { padding:14px; }
 [data-layout=obsidian] .d-outfit-section { margin-top:0; }
}
@media(max-width:370px) {
 [data-layout=obsidian] .o-sort-control .discovery-sort { font-size:0; }
 [data-layout=obsidian] .o-catalog-controls .d-refine>summary { max-width:140px; }
 [data-layout=obsidian] .primary-nav { gap:12px; }
 [data-layout=obsidian] .primary-nav>a,[data-layout=obsidian] .header-discover>summary { font-size:11px; }
}

/* Home charts: one ranked card grid per chart, switched by pill tabs that
   are native radios (no script). Cards reuse the listing card; a rank tag
   sits on the image, the top three in gold, silver and bronze. */
[data-layout=obsidian] .o-charts { padding:34px 0 8px; }
[data-layout=obsidian] .o-charts-head { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:16px 28px; margin-bottom:22px; }
[data-layout=obsidian] .o-charts-head .eyebrow { margin:0 0 6px; }
[data-layout=obsidian] .o-charts-head h2 { margin:0; font-size:clamp(24px,2vw,32px); letter-spacing:-.03em; }
[data-layout=obsidian] .o-chart-tabs { display:flex; flex-wrap:wrap; gap:6px; padding:4px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:#141518; }
[data-layout=obsidian] .o-chart-choice { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
[data-layout=obsidian] .o-chart-tabs label { --chart:var(--accent); display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:0 14px 0 8px; border-radius:999px; color:#b9bbc1; font-size:13px; font-weight:650; cursor:pointer; transition:background .2s,color .2s; }
[data-layout=obsidian] .o-chart-tabs label:hover { color:#fff; }
[data-layout=obsidian] .o-chart-tabs [data-chart=popular] { --chart:#ff6a3d; }
[data-layout=obsidian] .o-chart-tabs [data-chart=favorites] { --chart:#ff5c8a; }
[data-layout=obsidian] .o-chart-tabs [data-chart=newest] { --chart:#3ddc84; }
[data-layout=obsidian] .o-chart-icon { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--chart) 16%,transparent); color:var(--chart); }
[data-layout=obsidian] .o-chart-icon svg { width:14px; height:14px; }
[data-layout=obsidian] .o-chart-choice:checked+label { background:color-mix(in srgb,var(--chart) 16%,#1d1e22); color:#fff; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chart) 45%,transparent); }
[data-layout=obsidian] .o-chart-choice:focus-visible+label { outline:2px solid var(--accent); outline-offset:2px; }
[data-layout=obsidian] .o-chart-panel { display:none; }
[data-layout=obsidian] .o-charts:has(#home-chart-popular:checked) .o-chart-panel[data-chart=popular],
[data-layout=obsidian] .o-charts:has(#home-chart-featured:checked) .o-chart-panel[data-chart=featured],
[data-layout=obsidian] .o-charts:has(#home-chart-favorites:checked) .o-chart-panel[data-chart=favorites],
[data-layout=obsidian] .o-charts:has(#home-chart-newest:checked) .o-chart-panel[data-chart=newest] { display:block; animation:o-chart-in .35s ease both; }
[data-layout=obsidian] .o-chart-panel .grid { grid-template-columns:repeat(5,minmax(0,1fr)); counter-reset:rank; }
[data-layout=obsidian] .o-charts .o-chart-panel .grid .o-chart-card:nth-child(n+11) { display:none; }
[data-layout=obsidian] .o-chart-card { counter-increment:rank; }
[data-layout=obsidian] .o-chart-rank { position:absolute; z-index:2; top:10px; inset-inline-start:10px; display:grid; min-width:34px; height:34px; place-items:center; padding:0 8px; border-radius:10px; background:rgba(14,15,18,.82); color:#f2f2f4; font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.02em; backdrop-filter:blur(8px); box-shadow:0 0 0 1px rgba(255,255,255,.1); }
[data-layout=obsidian] .o-chart-rank::before { content:counter(rank); }
[data-layout=obsidian] .o-chart-card:nth-child(1) .o-chart-rank { background:linear-gradient(135deg,#ffe27a,#f2b705); color:#1b1600; box-shadow:0 6px 18px rgba(242,183,5,.35); }
[data-layout=obsidian] .o-chart-card:nth-child(2) .o-chart-rank { background:linear-gradient(135deg,#f4f5f8,#b9bcc6); color:#17181b; }
[data-layout=obsidian] .o-chart-card:nth-child(3) .o-chart-rank { background:linear-gradient(135deg,#f0b47e,#a8693a); color:#1d1006; }
[data-layout=obsidian] .grid[data-product-grid] .o-chart-card .qc-badge { inset-inline-start:auto; inset-inline-end:8px; }
[data-layout=obsidian] .o-chart-card .card-meta { justify-content:space-between; gap:6px; min-width:0; }
[data-layout=obsidian] .o-chart-card .card-meta>span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-layout=obsidian] .o-chart-metric { flex-shrink:0; padding:2px 8px; border-radius:999px; background:rgba(255,106,61,.14); color:#ff9a78; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-chart-panel .collection-more { margin-top:22px; }
@keyframes o-chart-in { from { opacity:0; transform:translateY(8px); } }
@media(min-width:1700px) {
  [data-layout=obsidian] .o-chart-panel .grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  [data-layout=obsidian] .o-charts .o-chart-panel .grid .o-chart-card:nth-child(n+11) { display:flex; }
}
@media(max-width:1200px) {
  [data-layout=obsidian] .o-chart-panel .grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  [data-layout=obsidian] .o-charts .o-chart-panel .grid .o-chart-card:nth-child(n+9) { display:none; }
}
@media(max-width:900px) {
  [data-layout=obsidian] .o-chart-panel .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  [data-layout=obsidian] .o-charts .o-chart-panel .grid .o-chart-card:nth-child(n+7) { display:none; }
}
@media(max-width:700px) {
  [data-layout=obsidian] .o-charts { padding-top:24px; }
  [data-layout=obsidian] .o-charts-head { margin-bottom:14px; }
  [data-layout=obsidian] .o-chart-tabs { flex-wrap:nowrap; width:100%; overflow-x:auto; scrollbar-width:none; }
  [data-layout=obsidian] .o-chart-tabs::-webkit-scrollbar { display:none; }
  [data-layout=obsidian] .o-chart-tabs label { flex-shrink:0; }
  [data-layout=obsidian] .o-chart-panel .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-layout=obsidian] .o-chart-rank { min-width:28px; height:28px; top:8px; inset-inline-start:8px; font-size:13px; border-radius:8px; }
}
@media(prefers-reduced-motion:reduce) { [data-layout=obsidian] .o-chart-panel { animation:none !important; } }

/* Home SEO sections: journal, reasons, steps, catalogue links, FAQ and
   guides, drawn from the site's own pages. Sections stay open and share one
   heading; the cards inside carry the surfaces. */
[data-layout=obsidian] .o-seo { display:grid; margin:0 0 clamp(24px,2.4vw,40px); }
[data-layout=obsidian] .o-seo-section { margin-top:clamp(36px,3.4vw,56px); padding-top:clamp(28px,2.8vw,44px); border-top:1px solid var(--line); }
[data-layout=obsidian] .o-seo-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 24px; margin-bottom:clamp(18px,1.8vw,28px); }
[data-layout=obsidian] .o-seo-eyebrow { margin:0 0 8px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
[data-layout=obsidian] .o-seo-head h2 { margin:0; font-size:clamp(24px,2.2vw,34px); line-height:1.1; letter-spacing:-.035em; }
[data-layout=obsidian] .o-seo-head .text-link { display:inline-flex; align-items:center; min-height:36px; padding:0 15px; border:1px solid var(--line); border-radius:999px; color:#e4e5e9; font-size:13px; font-weight:600; white-space:nowrap; transition:border-color .2s,color .2s; }
[data-layout=obsidian] .o-seo-head .text-link:hover { border-color:color-mix(in srgb,var(--accent) 60%,var(--line)); color:var(--accent); text-decoration:none; }
[data-layout=obsidian] .o-seo-section p { margin:0 0 .7em; color:#adafb6; font-size:14.5px; line-height:1.7; }
[data-layout=obsidian] .o-seo-section p:last-child { margin-bottom:0; }
[data-layout=obsidian] .o-seo-section p a { color:var(--accent); text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent); text-underline-offset:3px; }
[data-layout=obsidian] .o-home-journal .o-journal-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
[data-layout=obsidian] .o-story h3 { margin:0; font-size:clamp(18px,1.3vw,21px); line-height:1.3; letter-spacing:-.02em; }

[data-layout=obsidian] .o-seo-reasons { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(12px,1.2vw,18px); counter-reset:reason; }
[data-layout=obsidian] .o-seo-reason { counter-increment:reason; display:flex; flex-direction:column; padding:clamp(20px,1.8vw,28px); border:1px solid var(--line); border-radius:20px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 55%),linear-gradient(170deg,#16171b,#111215); transition:border-color .25s,transform .25s; }
[data-layout=obsidian] .o-seo-reason:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); transform:translateY(-2px); }
[data-layout=obsidian] .o-seo-num::before { content:counter(reason,decimal-leading-zero); display:block; margin-bottom:clamp(18px,2vw,28px); color:var(--accent); font-size:clamp(30px,2.6vw,42px); font-weight:800; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] :is(.o-seo-reason,.o-seo-steps li) h3 { margin:0 0 8px; color:#f2f3f5; font-size:17px; font-weight:750; letter-spacing:-.01em; }
[data-layout=obsidian] .o-seo-reason .text-link { margin-top:auto; padding-top:14px; color:var(--accent); font-size:13px; font-weight:650; }

[data-layout=obsidian] .o-seo-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:clamp(18px,2vw,32px); margin:0; padding:clamp(22px,2.2vw,34px); border:1px solid var(--line); border-radius:22px; background:#0f1012; list-style:none; counter-reset:step; }
[data-layout=obsidian] .o-seo-steps li { counter-increment:step; min-width:0; }
[data-layout=obsidian] .o-seo-step { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
[data-layout=obsidian] .o-seo-step::before { content:counter(step); display:grid; flex:0 0 40px; height:40px; place-items:center; border-radius:50%; background:var(--accent); color:var(--on-accent); font-size:16px; font-weight:800; box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 14%,transparent); }
[data-layout=obsidian] .o-seo-step::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 50%,transparent),transparent); }
[data-layout=obsidian] .o-seo-steps li:last-child .o-seo-step::after { display:none; }

[data-layout=obsidian] :is(.o-seo-categories,.o-seo-platforms) { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
[data-layout=obsidian] :is(.o-seo-categories,.o-seo-platforms) a { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:12px; min-height:58px; padding:10px 12px; border:1px solid #ffffff0f; border-radius:14px; background:#121316; color:#e3e4e8; font-size:14px; transition:border-color .2s,background .2s; }
[data-layout=obsidian] :is(.o-seo-categories,.o-seo-platforms) a:hover { border-color:color-mix(in srgb,var(--accent) 45%,transparent); background:#17181c; text-decoration:none; }
[data-layout=obsidian] .o-seo-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:#ffffff0d; }
[data-layout=obsidian] .o-seo-icon img { width:20px; height:20px; object-fit:contain; }
[data-layout=obsidian] .o-seo-platforms .o-seo-icon img { width:24px; height:24px; border-radius:6px; background:#fff; }
[data-layout=obsidian] .o-seo-label { display:grid; gap:2px; min-width:0; }
[data-layout=obsidian] .o-seo-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; line-height:1.3; }
[data-layout=obsidian] .o-seo-categories small { color:#7f8188; font-size:11.5px; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-seo-brands { margin-top:clamp(22px,2vw,30px); }
[data-layout=obsidian] .o-seo-brands h3 { margin:0 0 12px; color:#8d8f96; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
[data-layout=obsidian] .o-seo-brands nav { display:flex; flex-wrap:wrap; gap:8px; }
[data-layout=obsidian] .o-seo-brands a { display:inline-flex; align-items:center; min-height:36px; padding:0 15px; border:1px solid #ffffff17; border-radius:999px; color:#d6d6db; font-size:13.5px; transition:border-color .2s,color .2s; }
[data-layout=obsidian] .o-seo-brands a:hover { border-color:color-mix(in srgb,var(--accent) 60%,transparent); color:var(--accent); text-decoration:none; }
[data-layout=obsidian] .o-seo-brands .o-seo-more { border-color:transparent; color:var(--accent); font-weight:650; }

[data-layout=obsidian] .o-seo-split { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr); gap:0 clamp(24px,3.2vw,56px); align-items:start; }
[data-layout=obsidian] .o-seo-faq details { border-bottom:1px solid var(--line); }
[data-layout=obsidian] .o-seo-faq details:first-of-type { border-top:1px solid var(--line); }
[data-layout=obsidian] .o-seo-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 2px; cursor:pointer; list-style:none; }
[data-layout=obsidian] .o-seo-faq summary::-webkit-details-marker { display:none; }
[data-layout=obsidian] .o-seo-faq summary h3 { margin:0; color:#eeeff2; font-size:16px; font-weight:650; line-height:1.4; }
[data-layout=obsidian] .o-seo-faq summary:hover h3 { color:var(--accent); }
[data-layout=obsidian] .o-seo-toggle { position:relative; flex:0 0 28px; height:28px; border:1px solid var(--line); border-radius:50%; color:#c9cbd0; transition:background .2s,border-color .2s; }
[data-layout=obsidian] .o-seo-toggle::before,[data-layout=obsidian] .o-seo-toggle::after { content:""; position:absolute; top:50%; left:50%; width:10px; height:1.6px; border-radius:1px; background:currentColor; transform:translate(-50%,-50%); transition:transform .2s; }
[data-layout=obsidian] .o-seo-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
[data-layout=obsidian] .o-seo-faq details[open] .o-seo-toggle { border-color:transparent; background:var(--accent); color:var(--on-accent); }
[data-layout=obsidian] .o-seo-faq details[open] .o-seo-toggle::after { transform:translate(-50%,-50%) rotate(0deg); }
[data-layout=obsidian] .o-seo-faq details p { padding-inline-end:48px; }
[data-layout=obsidian] .o-seo-faq details p:last-child { padding-bottom:20px; }
[data-layout=obsidian] .o-seo-guides { display:grid; gap:10px; }
[data-layout=obsidian] .o-seo-guides .o-seo-head { margin-bottom:8px; }
[data-layout=obsidian] .o-seo-guide { position:relative; display:grid; gap:6px; padding:18px 48px 18px 18px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(170deg,#16171b,#111215); transition:border-color .2s,transform .2s; }
[data-layout=obsidian] .o-seo-guide:hover { border-color:color-mix(in srgb,var(--accent) 50%,var(--line)); transform:translateY(-1px); text-decoration:none; }
[data-layout=obsidian] .o-seo-guide strong { color:#ededf0; font-size:15px; line-height:1.35; }
[data-layout=obsidian] .o-seo-guide span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:#93959c; font-size:13px; line-height:1.55; }
[data-layout=obsidian] .o-seo-guide i { position:absolute; top:18px; inset-inline-end:18px; color:var(--accent); font-style:normal; }
@media(max-width:1000px) { [data-layout=obsidian] .o-seo-split { grid-template-columns:minmax(0,1fr); } }
@media(max-width:700px) {
  [data-layout=obsidian] .o-seo-section { margin-top:28px; padding-top:24px; }
  [data-layout=obsidian] :is(.o-seo-categories,.o-seo-platforms) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-layout=obsidian] :is(.o-seo-categories,.o-seo-platforms) a { grid-template-columns:30px minmax(0,1fr); gap:10px; min-height:52px; padding:8px 10px; }
  [data-layout=obsidian] .o-seo-icon { width:30px; height:30px; }
  [data-layout=obsidian] .o-seo-faq details p { padding-inline-end:0; }
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] :is(.o-seo-reason,.o-seo-guide) { transition:none; }
  [data-layout=obsidian] :is(.o-seo-reason,.o-seo-guide):hover { transform:none; }
}

/* Lookbook: filter chips and look cards that list
   their linked products with prices. Pure CSS; off-screen cards skip layout. */
/* One compact block: title and result count, a brand logo strip, then every filter on one bar. */
[data-layout=obsidian] .o-lookbook-head { padding:clamp(4px,.8vw,12px) 0 0; margin-bottom:clamp(14px,1.4vw,20px); }
[data-layout=obsidian] .o-lookbook-stage { margin-bottom:clamp(22px,2.4vw,36px); }
[data-layout=obsidian] .o-lookbook-top { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:end; gap:10px clamp(20px,3vw,48px); }
[data-layout=obsidian] .o-lookbook-status { display:grid; justify-items:end; text-align:end; }
[data-layout=obsidian] .o-lookbook-status .outfit-filter-hint { margin:4px 0 0; }
[data-layout=obsidian] .o-lookbook-title .eyebrow { margin:0 0 8px; color:var(--accent); font-size:11px; letter-spacing:.16em; }
[data-layout=obsidian] .o-lookbook-title h1 { margin:0; font-size:clamp(30px,2.6vw,44px); line-height:.95; letter-spacing:-.05em; background:linear-gradient(100deg,#fff 30%,color-mix(in srgb,var(--accent) 70%,#fff)); -webkit-background-clip:text; background-clip:text; color:transparent; }
[data-layout=obsidian] .o-lookbook-intro { max-width:52ch; margin:0 0 4px; color:var(--muted); font-size:14px; line-height:1.5; }
[data-layout=obsidian] .o-lookbook-filter-panel { display:grid; gap:12px; min-width:0; padding:12px clamp(12px,1.2vw,16px); border:1px solid var(--line); border-radius:18px; background:#0f1012; }
[data-layout=obsidian] .o-lookbook-brandbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; }
[data-layout=obsidian] .o-lookbook-brands { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
/* With script the wall folds to its first row until the reader opens it. */
[data-layout=obsidian] [data-brand-bar][data-collapsible]:not([data-open]) .o-lookbook-brands { max-height:44px; overflow:hidden; }
[data-layout=obsidian] .o-brand-toggle { display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 14px; border:1px solid var(--line); border-radius:12px; background:#15161a; color:#e7e7eb; font:inherit; font-size:13px; font-weight:650; white-space:nowrap; cursor:pointer; }
[data-layout=obsidian] .o-brand-toggle[hidden] { display:none; }
[data-layout=obsidian] .o-brand-toggle:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); }
[data-layout=obsidian] .o-brand-toggle small { color:var(--accent); font-size:11px; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-brand-toggle i { width:7px; height:7px; margin-top:-3px; border:solid currentColor; border-width:0 1.6px 1.6px 0; transform:rotate(45deg); transition:transform .2s; }
[data-layout=obsidian] .o-brand-toggle[aria-expanded=true] i { margin-top:3px; transform:rotate(-135deg); }
[data-layout=obsidian] .o-brand-chip { flex:none; display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:#15161a; color:#c9cbd0; font-size:13px; font-weight:600; white-space:nowrap; transition:border-color .2s,background .2s; }
[data-layout=obsidian] .o-brand-chip small { color:#7f828a; font-size:10px; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] a.o-brand-chip:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); }
[data-layout=obsidian] .o-brand-chip[aria-current] { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,#15161a); color:#fff; }
[data-layout=obsidian] .o-brand-chip[aria-current] small { color:var(--accent); }
[data-layout=obsidian] .o-brand-chip[aria-disabled] { opacity:.4; }
[data-layout=obsidian] .o-brand-logo { display:grid; place-items:center; width:56px; height:28px; padding:2px 4px; border-radius:6px; overflow:hidden; }
[data-layout=obsidian] .o-brand-logo[data-brand-tone=original] { background:#f0eee9; }
[data-layout=obsidian] .o-brand-logo[data-brand-tone=monochrome] img { filter:invert(1); }
[data-layout=obsidian] .o-brand-logo img { width:auto; height:auto; max-width:48px; max-height:24px; object-fit:contain; }
[data-layout=obsidian] .o-lookbook-bar { display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px 24px; padding-top:12px; border-top:1px solid #ffffff0d; }
[data-layout=obsidian] .o-lookbook-filters { flex:1 1 560px; display:flex; flex-wrap:wrap; gap:10px 24px; min-width:0; }
[data-layout=obsidian] .o-filter-row { display:flex; gap:10px; align-items:center; min-width:0; }
[data-layout=obsidian] .o-filter-label { color:#7f828a; font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
[data-layout=obsidian] .o-filter-chips { display:flex; flex-wrap:wrap; gap:6px; }
[data-layout=obsidian] .o-filter-chips :is(a,span) { display:inline-flex; gap:6px; align-items:center; min-height:30px; padding:0 12px; border:1px solid var(--line); border-radius:999px; background:#121316; color:#c9cbd0; font-size:13px; font-weight:550; white-space:nowrap; transition:border-color .2s,color .2s,background .2s; }
[data-layout=obsidian] .o-filter-chips [aria-disabled] { opacity:.4; cursor:not-allowed; }
[data-layout=obsidian] .o-filter-chips small { font-size:10px; opacity:.7; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-lookbook-catalog { flex:none; display:flex; flex-wrap:nowrap; align-items:center; gap:8px; padding:0; }
[data-layout=obsidian] .o-lookbook-catalog label { flex:none; display:flex; align-items:center; gap:10px; color:#7f828a; font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
[data-layout=obsidian] .o-lookbook-catalog select { width:min(240px,50vw); padding:0 10px; background:#121316; color:#e7e7eb; border-radius:999px; height:32px; font-size:12px; letter-spacing:0; text-transform:none; }
[data-layout=obsidian] .o-lookbook-catalog .button { min-height:32px; padding:0 14px; border-radius:999px; font-size:12px; }
[data-layout=obsidian] .o-filter-chips a:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); color:#fff; }
[data-layout=obsidian] .o-filter-chips a[aria-current] { border-color:var(--accent); background:var(--accent); color:var(--on-accent); font-weight:700; }

[data-layout=obsidian] .o-look-tags { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 0; }
[data-layout=obsidian] .o-look-tags>* { display:inline-flex; align-items:center; min-height:24px; padding:0 10px; border-radius:999px; background:#ffffff14; color:#d8dade; font-size:12px; font-style:normal; }
[data-layout=obsidian] .o-look-tags>em { background:var(--accent); color:var(--on-accent); font-weight:700; }

[data-layout=obsidian] .o-lookbook-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr)); gap:clamp(18px,1.6vw,28px) clamp(12px,1.2vw,20px); }
[data-layout=obsidian] .o-lookcard { display:flex; flex-direction:column; gap:10px; min-width:0; content-visibility:auto; contain-intrinsic-size:auto 560px; }
[data-layout=obsidian] .o-lookcard-media { position:relative; display:block; aspect-ratio:2/3; border-radius:16px; overflow:hidden; background:#16171a; isolation:isolate; }
[data-layout=obsidian] .o-lookcard-media img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
[data-layout=obsidian] .o-lookcard-media::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,#000000b3); opacity:.7; transition:opacity .3s; pointer-events:none; }
[data-layout=obsidian] .o-lookcard-media .o-look-tags { position:absolute; inset:auto 10px 10px; z-index:1; margin:0; transition:opacity .2s; }
[data-layout=obsidian] .o-lookcard-media:hover .o-look-tags { opacity:0; }
[data-layout=obsidian] .o-lookcard-media .o-look-tags>span { background:#000000a6; }
[data-layout=obsidian] .o-lookcard-cta { position:absolute; inset:auto 12px 12px; z-index:1; display:flex; justify-content:center; align-items:center; min-height:40px; border-radius:999px; background:var(--accent); color:var(--on-accent); font-size:13px; font-weight:750; opacity:0; transform:translateY(10px); transition:opacity .25s,transform .25s; }
[data-layout=obsidian] .o-lookcard-media:hover img,[data-layout=obsidian] .o-lookcard-media:focus-visible img { transform:scale(1.05); }
[data-layout=obsidian] .o-lookcard-media:hover::after { opacity:1; }
[data-layout=obsidian] .o-lookcard-media:hover .o-lookcard-cta,[data-layout=obsidian] .o-lookcard-media:focus-visible .o-lookcard-cta { opacity:1; transform:none; }
[data-layout=obsidian] .o-lookcard h2 { display:-webkit-box; margin:0; overflow:hidden; font-size:14px; font-weight:650; line-height:1.4; letter-spacing:-.01em; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
[data-layout=obsidian] .o-lookcard h2 a { color:#eceef1; }
[data-layout=obsidian] .o-lookcard-picks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0; padding:0; list-style:none; }
[data-layout=obsidian] .o-lookcard-picks a { display:grid; gap:4px; color:var(--accent); text-align:center; }
[data-layout=obsidian] .o-lookcard-picks img { width:100%; height:auto; aspect-ratio:1; border:1px solid transparent; border-radius:10px; background:#fff; object-fit:contain; transition:border-color .2s,transform .2s; }
[data-layout=obsidian] .o-lookcard-picks a:hover img { border-color:var(--accent); transform:translateY(-2px); }
[data-layout=obsidian] .o-lookcard-picks span { font-size:11px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
[data-layout=obsidian] .o-lookcard-more a { display:grid; place-items:center; aspect-ratio:1; border:1px dashed var(--line); border-radius:10px; color:#a6a8ae; font-size:13px; }
[data-layout=obsidian] .o-lookcard-count { margin:0; color:var(--muted); font-size:12px; }
[data-layout=obsidian] .o-lookbook-next { justify-content:center; margin-top:clamp(24px,2.4vw,40px); }
[data-layout=obsidian] .o-lookbook-next[data-loading] a { position:relative; color:transparent; pointer-events:none; }
[data-layout=obsidian] .o-lookbook-next[data-loading] a::after { content:""; position:absolute; inset:0; margin:auto; width:18px; height:18px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:o-lookbook-spin .8s linear infinite; }
@keyframes o-lookbook-spin { to { transform:rotate(1turn); } }
@media (hover:none) { [data-layout=obsidian] .o-lookcard-cta { display:none; } }
@media (max-width:1100px) {
  [data-layout=obsidian] .o-lookbook-top { grid-template-columns:minmax(0,1fr) auto; }
  [data-layout=obsidian] .o-lookbook-intro { grid-row:2; grid-column:1 / -1; }
}
@media (max-width:700px) {
  [data-layout=obsidian] .o-lookbook-top { grid-template-columns:minmax(0,1fr); }
  [data-layout=obsidian] .o-lookbook-status { justify-items:start; text-align:start; }
  [data-layout=obsidian] .o-lookbook-intro { grid-row:auto; }
}
@media (max-width:700px) {
  [data-layout=obsidian] .o-lookbook-filters,[data-layout=obsidian] .o-filter-row { display:grid; gap:6px; width:100%; }
  [data-layout=obsidian] .o-filter-chips { flex-wrap:nowrap; margin-inline:-16px; padding-inline:16px; overflow-x:auto; scrollbar-width:none; }
  [data-layout=obsidian] .o-lookbook-filter-panel .o-filter-chips { margin-inline:0; padding-inline:0; }
  [data-layout=obsidian] .o-lookbook-catalog { width:100%; }
  [data-layout=obsidian] .o-lookbook-catalog label { flex:1; min-width:0; }
  [data-layout=obsidian] .o-lookbook-catalog select { flex:1; min-width:0; width:auto; }
  /* Phones swipe the brand row instead of folding it. */
  [data-layout=obsidian] .o-lookbook-brandbar { grid-template-columns:minmax(0,1fr); }
  [data-layout=obsidian] [data-brand-bar] .o-lookbook-brands,[data-layout=obsidian] [data-brand-bar][data-collapsible]:not([data-open]) .o-lookbook-brands { flex-wrap:nowrap; max-height:none; overflow:auto hidden; scrollbar-width:none; }
  [data-layout=obsidian] .o-brand-toggle { display:none; }
  [data-layout=obsidian] .o-lookbook-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-layout=obsidian] .o-lookcard-picks { gap:4px; }
  [data-layout=obsidian] .o-lookcard-picks img { border-radius:8px; }
  [data-layout=obsidian] .o-lookcard-picks span { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  [data-layout=obsidian] .o-lookcard-media img { transition:none; }
}

/* Journal: a searchable list of numbered story cards and a reading view with
   a contents list and a path back to the catalogue. */
[data-layout=obsidian] .o-journal-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,460px); gap:clamp(20px,4vw,72px); align-items:end; padding:clamp(8px,1vw,16px) 0 clamp(18px,1.6vw,26px); margin-bottom:clamp(18px,1.8vw,28px); border-bottom:1px solid var(--line); }
[data-layout=obsidian] .o-journal-title .eyebrow { margin:0 0 10px; color:var(--accent); font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
[data-layout=obsidian] .o-journal-title h1 { margin:0; font-size:clamp(34px,3.2vw,56px); line-height:.98; letter-spacing:-.05em; }
[data-layout=obsidian] .o-journal-title p:last-child { max-width:52ch; margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
[data-layout=obsidian] .o-journal-search { display:flex; align-items:center; gap:8px; min-height:48px; padding:4px 4px 4px 16px; border:1px solid var(--line); border-radius:999px; background:#121316; color:#7f828a; transition:border-color .2s; }
[data-layout=obsidian] .o-journal-search:focus-within { border-color:color-mix(in srgb,var(--accent) 60%,var(--line)); }
[data-layout=obsidian] .o-journal-search input[type=search] { flex:1; min-width:0; min-height:38px; padding:0; border:0; background:transparent; color:#f1f2f4; font-size:14px; outline:0; box-shadow:none; }
[data-layout=obsidian] .o-journal-search .button { min-height:38px; padding:0 18px; border-radius:999px; }

[data-layout=obsidian] .o-journal-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:clamp(12px,1.2vw,20px); counter-reset:story; }
[data-layout=obsidian] .o-story { counter-increment:story; min-width:0; }
[data-layout=obsidian] .o-story>a { display:flex; flex-direction:column; gap:12px; height:100%; padding:clamp(18px,1.6vw,26px); border:1px solid var(--line); border-radius:20px; background:linear-gradient(170deg,#17181c,#111215); color:#e9eaee; transition:border-color .25s,transform .25s,background .25s; }
[data-layout=obsidian] .o-story>a:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); background:linear-gradient(170deg,#1b1c21,#121317); color:#fff; transform:translateY(-2px); }
[data-layout=obsidian] .o-story-cover { display:block; margin:calc(-1 * clamp(18px,1.6vw,26px)) calc(-1 * clamp(18px,1.6vw,26px)) 4px; aspect-ratio:16/9; border-radius:19px 19px 0 0; overflow:hidden; background:#16171a; }
[data-layout=obsidian] .o-story-cover img { width:100%; height:100%; object-fit:cover; }
[data-layout=obsidian] .o-story-top { display:flex; align-items:center; gap:10px; }
[data-layout=obsidian] .o-story-num::before { content:counter(story,decimal-leading-zero); color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.04em; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-story-tag { display:inline-flex; align-items:center; min-height:22px; margin:0; padding:0 9px; border-radius:999px; background:#ffffff12; color:#cfd1d6; font-size:11px; font-weight:650; letter-spacing:.04em; }
[data-layout=obsidian] .o-story h2 { margin:0; font-size:clamp(19px,1.4vw,23px); line-height:1.25; letter-spacing:-.025em; }
[data-layout=obsidian] .o-story p { display:-webkit-box; margin:0; overflow:hidden; color:var(--muted); font-size:14px; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
[data-layout=obsidian] .o-story-foot { display:flex; align-items:center; gap:14px; margin-top:auto; padding-top:8px; color:#8a8d95; font-size:12px; }
[data-layout=obsidian] .o-story-foot i { margin-inline-start:auto; color:var(--accent); font-style:normal; font-size:16px; transition:transform .25s; }
[data-layout=obsidian] .o-story>a:hover .o-story-foot i { transform:translateX(4px); }
[data-layout=obsidian] .o-journal-lead .o-story:first-child { grid-column:1/-1; }
[data-layout=obsidian] .o-journal-lead .o-story:first-child>a { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:10px clamp(24px,4vw,64px); align-items:end; padding:clamp(24px,2.6vw,40px); background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 45%),linear-gradient(170deg,#18191d,#0f1013); }
[data-layout=obsidian] .o-journal-lead .o-story:first-child .o-story-top,[data-layout=obsidian] .o-journal-lead .o-story:first-child h2 { grid-column:1; }
[data-layout=obsidian] .o-journal-lead .o-story:first-child h2 { font-size:clamp(28px,2.8vw,44px); line-height:1.08; letter-spacing:-.04em; }
[data-layout=obsidian] .o-journal-lead .o-story:first-child p { grid-column:2; grid-row:2; font-size:15px; -webkit-line-clamp:4; }
[data-layout=obsidian] .o-journal-lead .o-story:first-child .o-story-foot { grid-column:1/-1; }
[data-layout=obsidian] .o-journal-lead .o-story:first-child .o-story-cover { grid-column:1/-1; aspect-ratio:21/8; margin:calc(-1 * clamp(24px,2.6vw,40px)) calc(-1 * clamp(24px,2.6vw,40px)) 12px; }

/* Articles share the FAQ's reading layout: contents on the left, the text
   from the next column at a reading measure, the call to action on the
   right, all inside the page container like every other page. */
[data-layout=obsidian] .o-read { display:grid; grid-template-columns:minmax(220px,300px) minmax(0,1fr) minmax(260px,320px); gap:clamp(24px,3vw,56px); padding-top:clamp(4px,1vw,14px); }
[data-layout=obsidian] .o-read:not(:has(.o-read-toc)) { grid-template-columns:minmax(0,1fr) minmax(260px,320px); }
[data-layout=obsidian] .o-read-main { grid-row:1; min-width:0; max-width:820px; }
[data-layout=obsidian] .o-read:has(.o-read-toc) .o-read-main { grid-column:2; }
[data-layout=obsidian] .o-read-side { display:contents; }
[data-layout=obsidian] :is(.o-read-toc,.o-read-cta) { position:sticky; top:96px; align-self:start; grid-row:1; }
[data-layout=obsidian] .o-read-toc { grid-column:1; max-height:calc(100vh - 120px); overflow:auto; }
[data-layout=obsidian] .o-read-cta { grid-column:-2; }
[data-layout=obsidian] .o-read-back { display:inline-block; margin-bottom:22px; color:var(--muted); font-size:13px; }
[data-layout=obsidian] .o-read-head .o-story-tag { margin-bottom:14px; }
[data-layout=obsidian] .o-read-head h1 { margin:0; font-size:clamp(32px,3.4vw,54px); line-height:1.05; letter-spacing:-.045em; }
[data-layout=obsidian] .o-read-meta { display:flex; flex-wrap:wrap; gap:6px 16px; margin:18px 0 0; color:#8a8d95; font-size:13px; }
[data-layout=obsidian] .o-read-meta span+span::before { content:"·"; margin-inline-end:16px; color:#55585f; }
[data-layout=obsidian] .o-read-lead { margin:26px 0 0; padding:20px 0 0; border-top:1px solid var(--line); color:#d6d8dc; font-size:clamp(17px,1.3vw,20px); line-height:1.6; }
[data-layout=obsidian] .o-read-cover { display:block; width:100%; height:auto; margin-top:28px; border-radius:18px; }
[data-layout=obsidian] .o-read-body { margin-top:clamp(20px,2vw,32px); color:#cfd1d6; font-size:16.5px; line-height:1.8; }
[data-layout=obsidian] .o-read-body h2 { position:relative; margin:2.1em 0 .6em; padding-top:.2em; color:#fff; font-size:clamp(21px,1.6vw,26px); line-height:1.3; letter-spacing:-.025em; scroll-margin-top:96px; }
[data-layout=obsidian] .o-read-body h2::before { content:""; position:absolute; inset-inline-start:-18px; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--accent); }
[data-layout=obsidian] .o-read-body h2:first-child { margin-top:.4em; }
[data-layout=obsidian] .o-read-body p { margin:0 0 1.15em; }
[data-layout=obsidian] .o-read-body ul { margin:0 0 1.2em; padding-inline-start:1.2em; }
[data-layout=obsidian] .o-read-body li { margin:.35em 0; }
[data-layout=obsidian] .o-read-body li::marker { color:var(--accent); }
[data-layout=obsidian] .o-read-toc { padding:18px 20px; border:1px solid var(--line); border-radius:18px; background:#121316; }
[data-layout=obsidian] .o-read-toc p { margin:0 0 10px; color:#7f828a; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
[data-layout=obsidian] .o-read-toc ol { display:grid; gap:2px; margin:0; padding:0; list-style:none; counter-reset:toc; }
[data-layout=obsidian] .o-read-toc li { counter-increment:toc; }
[data-layout=obsidian] .o-read-toc a { display:grid; grid-template-columns:22px 1fr; gap:6px; padding:7px 0; color:#c4c6cb; font-size:13px; line-height:1.4; }
[data-layout=obsidian] .o-read-toc a::before { content:counter(toc,decimal-leading-zero); color:#6d7078; font-size:11px; font-weight:700; padding-top:2px; }
[data-layout=obsidian] .o-read-toc a:hover { color:var(--accent); }
[data-layout=obsidian] .o-read-cta { display:grid; gap:6px; padding:20px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:18px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 18%,transparent),transparent 60%),#121316; color:#e9eaee; }
[data-layout=obsidian] .o-read-cta span { color:var(--muted); font-size:12px; }
[data-layout=obsidian] .o-read-cta strong { color:var(--accent); font-size:20px; letter-spacing:-.02em; }
[data-layout=obsidian] .o-read-cta:hover { border-color:var(--accent); }
[data-layout=obsidian] .o-read-more { margin-top:clamp(40px,4vw,64px); padding-top:clamp(24px,2.4vw,36px); border-top:1px solid var(--line); }
[data-layout=obsidian] .o-read-more-head { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:18px; }
[data-layout=obsidian] .o-read-more-head h2 { margin:0; font-size:clamp(22px,1.8vw,28px); letter-spacing:-.03em; }
@media (max-width:1280px) {
  [data-layout=obsidian] .o-read:has(.o-read-toc) { grid-template-columns:minmax(220px,280px) minmax(0,1fr); }
  [data-layout=obsidian] .o-read:has(.o-read-toc) .o-read-cta { grid-column:2; grid-row:2; position:static; }
}
@media (max-width:1000px) {
  [data-layout=obsidian] .o-journal-head { grid-template-columns:1fr; align-items:start; }
  [data-layout=obsidian] .o-read:is(:has(.o-read-toc),:not(:has(.o-read-toc))) { grid-template-columns:minmax(0,1fr); }
  [data-layout=obsidian] .o-read:is(:has(.o-read-toc),:not(:has(.o-read-toc))) :is(.o-read-main,.o-read-toc,.o-read-cta) { grid-column:auto; grid-row:auto; position:static; max-height:none; }
  [data-layout=obsidian] .o-journal-lead .o-story:first-child>a { grid-template-columns:1fr; }
  [data-layout=obsidian] .o-journal-lead .o-story:first-child p { grid-column:1; grid-row:auto; }
}
@media (max-width:700px) {
  [data-layout=obsidian] .o-read-body { font-size:16px; }
  [data-layout=obsidian] .o-read-body h2::before { display:none; }
  [data-layout=obsidian] .footer-links-inline { grid-column:1/-1; }
  [data-layout=obsidian] .footer .footer-links-inline nav { display:flex; flex-wrap:wrap; gap:8px; }
  [data-layout=obsidian] .footer .footer-links-inline nav a { padding:5px 11px; border:1px solid var(--line); border-radius:999px; font-size:12px; line-height:1.3; }
}
@media (prefers-reduced-motion:reduce) {
  [data-layout=obsidian] .o-story>a,[data-layout=obsidian] .o-story-foot i { transition:none; }
}

/* Brand and category summary: real counts, then the leading related
   categories or brands as one scrollable row of filter links. */
[data-layout=obsidian] .o-collection-intro { display:flex; align-items:center; gap:clamp(14px,1.6vw,26px); min-width:0; margin:4px 0 16px; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,#131417),#121316 45%); }
[data-layout=obsidian] .o-intro-stats { display:flex; flex:none; gap:6px; margin:0; }
[data-layout=obsidian] .o-intro-stats>div { display:grid; gap:1px; min-width:76px; padding:6px 12px; border-radius:10px; background:#0d0e10; }
[data-layout=obsidian] .o-intro-stats dt { color:#80838b; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
[data-layout=obsidian] .o-intro-stats dd { margin:0; color:#fff; font-size:18px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-intro-stats>div+div dd { color:var(--accent); }
[data-layout=obsidian] .o-intro-links { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; }
[data-layout=obsidian] .o-intro-links::-webkit-scrollbar { display:none; }
[data-layout=obsidian] .o-intro-label { flex:none; margin-inline-end:4px; color:#80838b; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
[data-layout=obsidian] .o-intro-links a { display:inline-flex; flex:none; align-items:center; gap:7px; min-height:32px; padding:0 6px 0 12px; border:1px solid var(--line); border-radius:999px; background:#16171a; color:#d9dbe0; font-size:13px; font-weight:550; white-space:nowrap; transition:border-color .2s,color .2s; }
[data-layout=obsidian] .o-intro-links a:hover { border-color:color-mix(in srgb,var(--accent) 60%,var(--line)); color:#fff; }
[data-layout=obsidian] .o-intro-links small { display:inline-grid; place-items:center; min-width:24px; height:22px; padding:0 6px; border-radius:999px; background:#ffffff10; color:#9ea1a8; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
@media (max-width:700px) {
  [data-layout=obsidian] .o-collection-intro { flex-direction:column; align-items:stretch; gap:10px; padding:10px; }
  [data-layout=obsidian] .o-intro-stats>div { flex:1; }
  [data-layout=obsidian] .o-intro-label { display:none; }
  [data-layout=obsidian] .o-intro-links { flex-wrap:nowrap; margin-inline:-10px; padding-inline:10px; overflow-x:auto; scrollbar-width:none; mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent); }
}

/* Journal additions: category filters, in-body links and live product blocks. */
[data-layout=obsidian] .o-journal-categories { margin:0 0 clamp(16px,1.6vw,24px); }
[data-layout=obsidian] .o-journal-categories small { margin-inline-start:6px; opacity:.7; font-size:11px; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-read-body a { color:var(--accent); text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent); text-underline-offset:3px; }
[data-layout=obsidian] .o-read-body a:hover { text-decoration-color:var(--accent); }
[data-layout=obsidian] .o-read-products { margin:6px 0 1.6em; padding:14px; border:1px solid var(--line); border-radius:18px; background:#111215; }
[data-layout=obsidian] .o-read-products .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr)); gap:10px; }
[data-layout=obsidian] .o-read-products .card h3 { font-size:13px; line-height:1.35; }
[data-layout=obsidian] .o-read-products .price { font-size:14px; }
[data-layout=obsidian] .o-read-products .o-read-products-more { display:inline-block; margin-top:12px; color:var(--accent); font-size:13px; font-weight:700; text-decoration:none; }
@media (max-width:700px) {
  [data-layout=obsidian] .o-journal-categories { flex-wrap:nowrap; margin-inline:-16px; padding-inline:16px; overflow-x:auto; scrollbar-width:none; }
  [data-layout=obsidian] .o-read-products { padding:10px; margin-inline:-6px; }
  [data-layout=obsidian] .o-read-products .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* FAQ: every answer visible and anchored, a sticky question index and a
   path on to the journal and the catalogue. */
[data-layout=obsidian] .o-faq-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,460px); gap:clamp(20px,4vw,72px); align-items:end; padding:clamp(8px,1vw,16px) 0 clamp(18px,1.6vw,26px); margin-bottom:clamp(20px,2vw,32px); border-bottom:1px solid var(--line); }
[data-layout=obsidian] .o-faq-title .eyebrow { margin:0 0 10px; color:var(--accent); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
[data-layout=obsidian] .o-faq-title h1 { margin:0; max-width:22ch; font-size:clamp(30px,3vw,50px); line-height:1.04; letter-spacing:-.045em; }
[data-layout=obsidian] .o-faq-title p:last-child { max-width:60ch; margin:14px 0 0; color:var(--muted); font-size:15px; line-height:1.6; }
[data-layout=obsidian] .o-faq-search[hidden] { display:none; }
/* Same width as the journal: contents, answers and help fill the page container. */
[data-layout=obsidian] .o-faq { display:grid; grid-template-columns:minmax(220px,300px) minmax(0,1fr) minmax(260px,320px); gap:clamp(24px,3vw,56px); }
[data-layout=obsidian] .o-faq-aside { position:sticky; top:96px; align-self:start; }
[data-layout=obsidian] .o-faq-index { position:sticky; top:96px; align-self:start; max-height:calc(100vh - 120px); overflow:auto; padding:18px 18px 12px; border:1px solid var(--line); border-radius:18px; background:#121316; scrollbar-width:thin; }
[data-layout=obsidian] .o-faq-index p { margin:0 0 8px; color:#7f828a; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
[data-layout=obsidian] .o-faq-index ol { display:grid; gap:1px; margin:0; padding:0; list-style:none; counter-reset:faqindex; }
[data-layout=obsidian] .o-faq-index li { counter-increment:faqindex; }
[data-layout=obsidian] .o-faq-index a { display:grid; grid-template-columns:24px 1fr; gap:6px; padding:7px 0; color:#c4c6cb; font-size:13px; line-height:1.4; }
[data-layout=obsidian] .o-faq-index a::before { content:counter(faqindex,decimal-leading-zero); padding-top:2px; color:#6d7078; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-faq-index a:hover { color:var(--accent); }
/* contents.js marks the entry for the section being read, in both lists. */
[data-layout=obsidian] :is(.o-read-toc,.o-faq-index) a[aria-current=true] { margin-inline:-10px; padding-inline:10px; border-radius:8px; background:color-mix(in srgb,var(--accent) 10%,transparent); color:var(--accent); font-weight:600; }
[data-layout=obsidian] :is(.o-read-toc,.o-faq-index) a[aria-current=true]::before { color:var(--accent); }
[data-layout=obsidian] .o-faq-list { display:grid; gap:12px; min-width:0; counter-reset:faq; }
[data-layout=obsidian] .o-faq-item { counter-increment:faq; position:relative; padding:clamp(18px,1.8vw,26px) clamp(18px,2vw,30px) clamp(18px,1.8vw,24px) clamp(58px,4.6vw,74px); border:1px solid var(--line); border-radius:18px; background:linear-gradient(170deg,#16171b,#111215); scroll-margin-top:96px; }
[data-layout=obsidian] .o-faq-item::before { content:counter(faq,decimal-leading-zero); position:absolute; inset-inline-start:clamp(18px,1.8vw,26px); top:clamp(20px,2vw,28px); color:var(--accent); font-size:14px; font-weight:800; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-faq-item:target { border-color:color-mix(in srgb,var(--accent) 60%,var(--line)); }
[data-layout=obsidian] .o-faq-item h2 { margin:0 0 10px; font-size:clamp(18px,1.4vw,22px); line-height:1.3; letter-spacing:-.02em; }
[data-layout=obsidian] .o-faq-item p { margin:0 0 .8em; color:#c9cbd0; font-size:15.5px; line-height:1.75; }
[data-layout=obsidian] .o-faq-item p:last-child { margin-bottom:0; }
[data-layout=obsidian] .o-faq-item p a { color:var(--accent); text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent); text-underline-offset:3px; }
[data-layout=obsidian] .o-faq-more { display:inline-flex; margin-top:4px; color:var(--accent); font-size:13px; font-weight:700; }
[data-layout=obsidian] .o-faq-empty { padding:24px; border:1px dashed var(--line); border-radius:18px; color:var(--muted); text-align:center; }
[data-layout=obsidian] .o-faq-help { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:clamp(20px,2vw,30px); border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:20px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 14%,transparent),transparent 55%),#121316; }
[data-layout=obsidian] .o-faq-help h2 { margin:0 0 6px; font-size:clamp(20px,1.6vw,26px); letter-spacing:-.03em; }
[data-layout=obsidian] .o-faq-help p { margin:0; color:var(--muted); font-size:14px; }
[data-layout=obsidian] .o-faq-help-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; }
[data-layout=obsidian] .o-faq-help-secondary { color:var(--accent); font-weight:700; }
@media (max-width:1280px) {
  [data-layout=obsidian] .o-faq { grid-template-columns:minmax(220px,280px) minmax(0,1fr); }
  [data-layout=obsidian] .o-faq-aside { position:static; grid-column:2; }
  [data-layout=obsidian] .o-faq-help { flex-direction:row; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px 24px; }
}
@media (max-width:1000px) {
  [data-layout=obsidian] .o-faq-head { grid-template-columns:1fr; align-items:start; }
  [data-layout=obsidian] .o-faq { grid-template-columns:minmax(0,1fr); }
  [data-layout=obsidian] .o-faq-aside { grid-column:auto; }
  [data-layout=obsidian] .o-faq-index { position:static; max-height:none; }
}
@media (max-width:700px) {
  [data-layout=obsidian] .o-faq-index { display:none; }
  [data-layout=obsidian] .o-faq-item { padding:18px 16px 16px 48px; }
  [data-layout=obsidian] .o-faq-item::before { inset-inline-start:16px; top:21px; }
  [data-layout=obsidian] .o-faq-item p { font-size:15px; }
}

/* Header search panel: recent, popular and catalogue suggestions on focus. */
[data-layout=obsidian] .o-header-search { position:relative; }
[data-layout=obsidian] .o-search-panel { position:absolute; inset:calc(100% + 8px) 0 auto; z-index:60; min-width:min(100vw - 32px,520px); max-height:min(70vh,560px); overflow:auto; padding:14px; border:1px solid var(--line); border-radius:18px; background:#131417; box-shadow:0 24px 60px #000000b3; scrollbar-width:thin; }
[data-layout=obsidian] .o-search-panel[hidden],[data-layout=obsidian] .o-search-panel [hidden] { display:none !important; }
[data-layout=obsidian] .o-search-panel>:not([hidden])~:not([hidden]) { margin-top:14px; padding-top:12px; border-top:1px solid #ffffff0d; }
[data-layout=obsidian] .o-sp-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
[data-layout=obsidian] .o-sp-head p { margin:0; color:#7f828a; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
[data-layout=obsidian] .o-sp-clear { padding:0; border:0; background:none; color:#8a8d95; font-size:12px; cursor:pointer; }
[data-layout=obsidian] .o-sp-clear:hover { color:var(--accent); }
[data-layout=obsidian] .o-sp-chips { display:flex; flex-wrap:wrap; gap:6px; }
[data-layout=obsidian] .o-sp-chips a { display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:0 11px; border:1px solid var(--line); border-radius:999px; background:#17181c; color:#dcdee2; font-size:13px; white-space:nowrap; }
[data-layout=obsidian] .o-sp-chips a small { color:#7f828a; font-size:11px; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .o-sp-chips a:hover,[data-layout=obsidian] .o-sp-chips a:focus-visible { border-color:color-mix(in srgb,var(--accent) 60%,var(--line)); color:#fff; outline:none; }
[data-layout=obsidian] .o-sp-trending { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 12px; margin:0; padding:0; list-style:none; counter-reset:trend; }
[data-layout=obsidian] .o-sp-trending li { counter-increment:trend; min-width:0; }
[data-layout=obsidian] .o-sp-trending a { display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:10px; color:#dcdee2; font-size:13.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-layout=obsidian] .o-sp-trending a::before { content:counter(trend); flex:none; display:grid; place-items:center; width:20px; height:20px; border-radius:6px; background:#ffffff10; color:#9ea1a8; font-size:11px; font-weight:800; }
[data-layout=obsidian] .o-sp-trending li:nth-child(-n+3) a::before { background:color-mix(in srgb,var(--accent) 22%,transparent); color:var(--accent); }
[data-layout=obsidian] .o-sp-trending a:hover,[data-layout=obsidian] .o-sp-trending a:focus-visible { background:#ffffff0a; color:#fff; outline:none; }
[data-layout=obsidian] .o-sp-go { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; background:color-mix(in srgb,var(--accent) 12%,#17181c); color:#fff; font-size:14px; font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-layout=obsidian] .o-sp-go::before { content:"↵"; color:var(--accent); font-weight:800; }
[data-layout=obsidian] .o-sp-go:hover,[data-layout=obsidian] .o-sp-go:focus-visible { background:color-mix(in srgb,var(--accent) 20%,#17181c); outline:none; }
@media (max-width:700px) {
  [data-layout=obsidian] .o-search-panel { min-width:0; max-height:60vh; padding:12px; border-radius:14px; }
  [data-layout=obsidian] .o-sp-trending { grid-template-columns:1fr; }
}
/* Product list: the breadcrumb, a full-width category bar that wraps so every
   category stays visible, a toolbar led by the page title with the page's
   introduction beneath it, a brand sidebar with looks beneath it, an even
   product grid and numbered pages. */
[data-layout=obsidian][data-page=products] main { display:flex; flex-direction:column; }
[data-layout=obsidian][data-page=products] main>* { min-width:0; }
[data-layout=obsidian][data-page=products] main>.breadcrumbs { margin:16px 0 0; padding:0; font-size:12px; }
[data-layout=obsidian] .o-list-intro { margin:2px 0 10px; font-size:14px; line-height:1.6; color:var(--muted); }
[data-layout=obsidian] .pagination { flex-wrap:wrap; justify-content:center; }
[data-layout=obsidian] .pagination .o-page { min-width:44px; padding-inline:12px; text-align:center; }
[data-layout=obsidian] .pagination .o-page[aria-current=page] { background:var(--accent); border-color:var(--accent); color:var(--button-text,#171710); font-weight:700; }
[data-layout=obsidian] .o-page-gap { align-self:center; color:var(--muted); }
[data-layout=obsidian] .o-list-about { order:2; margin:6px 0 0; }
[data-layout=obsidian] .o-list-about .intro { max-width:80ch; margin:0; font-size:13px; line-height:1.7; color:var(--muted); }
[data-layout=obsidian] .o-toolbar-lead { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; min-width:0; }
[data-layout=obsidian] .o-list-title { display:flex; align-items:center; gap:8px; margin:0; padding-inline-end:22px; border-inline-end:1px solid var(--line); font-size:24px; line-height:1.2; white-space:nowrap; }
/* A brand page shows its logo as a small mark before the title. */
[data-layout=obsidian] .o-list-title .d-heading-logo { float:none; flex:none; display:grid; place-items:center; width:auto; min-height:0; height:26px; margin:0; padding:2px 6px; }
[data-layout=obsidian] .o-list-title .d-heading-logo img { width:auto; height:22px; max-width:72px; object-fit:contain; }

/* Categories read as compact tags with a small icon so more fit on each row. */
[data-layout=obsidian] .o-category-bar { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; padding:0 0 10px; border-bottom:1px solid var(--line); }
[data-layout=obsidian] .o-category-bar>a { display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:3px 9px; border-radius:4px; background:#18191c; font-size:13px; line-height:1.2; color:#c3c6cd; white-space:nowrap; }
[data-layout=obsidian] .o-category-bar>a:hover { background:#222327; color:#fff; }
[data-layout=obsidian] .o-category-bar>a[aria-current] { background:color-mix(in srgb,var(--accent) 14%,#141414); color:var(--accent); font-weight:600; }
[data-layout=obsidian] .o-category-bar img { flex:none; width:16px; height:16px; opacity:.85; }
[data-layout=obsidian] .o-category-bar>a:is(:hover,[aria-current]) img { opacity:1; }
[data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) { grid-template-columns:232px minmax(0,1fr); gap:28px; margin-top:12px; }
[data-layout=obsidian][data-page=products] .o-collection-toolbar { padding-block:0 8px; margin-bottom:12px; }
[data-layout=obsidian] .o-sort-control label { white-space:nowrap; }
/* Refine opens as a dropdown over the products instead of a toolbar row. */
[data-layout=obsidian] .o-catalog-controls { position:relative; }
[data-layout=obsidian] .o-catalog-controls .d-refine[open] { flex-basis:auto; }
[data-layout=obsidian] .o-catalog-controls .d-refine-content { position:absolute; z-index:40; top:calc(100% + 8px); inset-inline-end:0; width:min(560px,calc(100vw - 32px)); margin:0; box-shadow:0 18px 44px #000b; }

[data-layout=obsidian] .o-list-sidebar { position:sticky; top:calc(var(--o-header-offset) + 16px); display:grid; align-content:start; gap:22px; min-width:0; max-height:calc(100dvh - var(--o-header-offset) - 32px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#3a3c42 transparent; padding-inline-end:4px; }
[data-layout=obsidian] .o-list-heading { font-size:12px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin:0 0 8px; }
[data-layout=obsidian] .o-list-brands { display:block; }
/* Names the product grid for the outline between the h1 and the card titles. */
[data-layout=obsidian] .o-visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
[data-layout=obsidian] .o-list-brand-search { width:100%; min-height:36px; margin:0 0 8px; padding:7px 10px; border:1px solid #2d2f34; border-radius:6px; background:#141518; color:inherit; font:inherit; font-size:13px; }
[data-layout=obsidian] .o-list-brand-search:focus { border-color:var(--accent); outline:none; }
[data-layout=obsidian] .o-list-brand-items { display:grid; gap:2px; max-height:max(320px,calc(100dvh - var(--o-header-offset) - 170px)); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#3a3c42 transparent; }
[data-layout=obsidian] .o-list-brand-items>a { display:flex; align-items:center; gap:10px; min-height:38px; padding:6px 10px; border-inline-start:2px solid transparent; border-radius:4px; font-size:14px; line-height:1.35; color:#d4d6db; }
[data-layout=obsidian] .o-list-brand-items>a[hidden] { display:none; }
[data-layout=obsidian] .o-list-brand-items>a:hover { background:#1b1c20; color:#fff; }
[data-layout=obsidian] .o-list-brand-items>a[aria-current] { background:color-mix(in srgb,var(--accent) 9%,#141414); border-inline-start-color:var(--accent); color:var(--accent); font-weight:600; }
[data-layout=obsidian] .o-list-brand-logo { flex:none; display:grid; place-items:center; width:40px; height:24px; padding:2px; overflow:hidden; }
[data-layout=obsidian] .o-list-brand-logo img { width:auto; height:auto; max-width:36px; max-height:20px; object-fit:contain; }
[data-layout=obsidian] .o-list-empty { margin:8px 10px; font-size:13px; color:var(--muted); }
[data-layout=obsidian] .o-list-brands>.o-list-directory { display:flex; align-items:center; justify-content:space-between; margin-top:8px; padding:6px 10px; font-size:13px; color:var(--accent); }


[data-layout=obsidian] .grid[data-product-grid]:not([data-view=compact]) .card { display:flex; flex-direction:column; }
[data-layout=obsidian] .grid[data-product-grid] .card h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:2.9em; }
[data-layout=obsidian] .grid[data-product-grid] .card-meta { display:block; margin:0 12px; font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
[data-layout=obsidian] .grid[data-product-grid]:not([data-view=compact]) .card>.price { margin-top:auto; padding-top:8px; }

@media(max-width:1200px) {
  [data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) { grid-template-columns:208px minmax(0,1fr); gap:22px; }
}
@media(max-width:900px) {
  [data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) { grid-template-columns:184px minmax(0,1fr); gap:16px; }
  [data-layout=obsidian] .o-list-brand-items>a { font-size:13px; padding-inline:8px; }
}
/* Phones scroll the category bar sideways and filter brands from the refine
   panel, so the brand sidebar steps aside. */
@media(max-width:700px) {
  [data-layout=obsidian] .o-list-title { font-size:20px; padding-inline-end:0; border:0; }
  [data-layout=obsidian] .o-category-bar { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-inline:-16px; padding-inline:16px; }
  [data-layout=obsidian] .o-category-bar::-webkit-scrollbar { display:none; }
  [data-layout=obsidian] .o-category-bar>a { flex:none; }
  [data-layout=obsidian] .d-catalog-layout:not(.d-catalog-home) { display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin-top:12px; }
  [data-layout=obsidian] .o-list-sidebar { display:none; }
}

/* Cards that appear in a public look carry a small portrait of it in the
   bottom corner. Resting on it (or focusing it) opens the look beside the
   card, so the product photo stays in view; card_looks.js loads the photo
   when the card nears the screen and flips the card to the side with room. */
/* A hidden popup still takes room; the grid clips it sideways so it never
   widens the page. Shown popups open toward the side with room, inside. */
[data-layout=obsidian] .grid[data-product-grid]:has(.o-card-look) { overflow-x:clip; }
[data-layout=obsidian] .grid[data-product-grid] .card:has(>.o-card-look) { position:relative; overflow:visible; }
[data-layout=obsidian] .grid[data-product-grid] .card:has(>.o-card-look)>:is(.card-meta,.price) { padding-inline-end:46px; }
[data-layout=obsidian] .o-card-look { position:absolute; z-index:3; bottom:12px; inset-inline-end:12px; display:block; width:34px; height:46px; border-radius:8px; }
[data-layout=obsidian] .o-card-look-thumb { width:100%; height:100%; overflow:hidden; border-radius:8px; background:#1b1c20; display:grid; place-items:center; box-shadow:0 0 0 1.5px var(--accent),0 4px 12px #0009; transition:transform .2s,box-shadow .2s; }
/* The figure icon is inline: the storefront CSP does not allow data: images. */
[data-layout=obsidian] .o-card-look-thumb > svg { width:16px; height:16px; color:#9a9ca3; }
[data-layout=obsidian] .o-card-look-thumb:has(img) > svg { display:none; }
[data-layout=obsidian] :is(.o-card-look-thumb,.o-card-look-photo) img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 15%; }
[data-layout=obsidian] .o-card-look:is(:hover,:focus-visible) .o-card-look-thumb { transform:translateY(-2px) scale(1.06); box-shadow:0 0 0 2px var(--accent),0 8px 18px #000a; }
[data-layout=obsidian] .o-card-look:focus-visible { outline:none; }
[data-layout=obsidian] .o-card-look-pop { --op-d:1; position:absolute; z-index:30; bottom:0; inset-inline-start:calc(100% + 14px); width:clamp(220px,15vw,260px); aspect-ratio:2/3; overflow:hidden; border-radius:16px; background:#1b1c20; pointer-events:none; opacity:0; visibility:hidden; transform-origin:calc(50% - 50% * var(--op-d)) 80%; transform:perspective(1000px) translateX(calc(-18px * var(--op-d))) rotateY(calc(18deg * var(--op-d))) scale(.86); box-shadow:0 30px 70px #000d,0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent),0 0 50px color-mix(in srgb,var(--accent) 20%,transparent); transition:opacity .22s ease,transform .45s cubic-bezier(.2,.9,.25,1.12),visibility 0s linear .45s; }
[data-layout=obsidian][dir=rtl] .o-card-look-pop { --op-d:-1; }
[data-layout=obsidian] .o-card-look.is-flipped+.o-card-look-pop { --op-d:-1; inset-inline-start:auto; inset-inline-end:calc(100% + 14px); }
[data-layout=obsidian][dir=rtl] .o-card-look.is-flipped+.o-card-look-pop { --op-d:1; }
[data-layout=obsidian] .o-card-look:is(:hover,:focus-visible)+.o-card-look-pop { opacity:1; visibility:visible; transform:perspective(1000px) translateX(0) rotateY(0) scale(1); transition:opacity .22s ease,transform .45s cubic-bezier(.2,.9,.25,1.12),visibility 0s; }
[data-layout=obsidian] .o-card-look-photo { position:absolute; inset:0; }
[data-layout=obsidian] .o-card-look-copy { position:absolute; inset:auto 0 0; display:grid; gap:4px; padding:56px 14px 14px; background:linear-gradient(to top,#000000e6,#00000070 55%,transparent); color:#fff; }
[data-layout=obsidian] .o-card-look-copy em { font-size:10.5px; font-style:normal; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
[data-layout=obsidian] .o-card-look-copy strong { font-size:13.5px; font-weight:650; color:var(--accent); }
@media(hover:none) {
  [data-layout=obsidian] .o-card-look-pop { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] :is(.o-card-look-thumb,.o-card-look-pop) { transition:none; }
}

/* Phones, after the big shopping apps: breadcrumbs keep to one swipeable
   line; sort and filters dock under the header while the grid scrolls (the
   header publishes its visible height as --o-header-offset); cards drop the
   price label repeated on every card; chips are thumb-sized. The toolbar
   dissolves so the controls stick to the whole collection. */
@media(max-width:700px) {
  [data-layout=obsidian] .breadcrumbs { flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; scrollbar-width:none; }
  [data-layout=obsidian] .breadcrumbs::-webkit-scrollbar { display:none; }
  [data-layout=obsidian] .d-collection { position:relative; }
  [data-layout=obsidian] .o-collection-toolbar { display:contents; }
  [data-layout=obsidian] .o-collection-toolbar>.o-toolbar-lead { padding-inline-end:92px; margin-bottom:6px; }
  [data-layout=obsidian] .o-collection-toolbar>.d-result-tools { position:absolute; top:4px; inset-inline-end:0; }
  [data-layout=obsidian] .o-catalog-controls { position:sticky; top:var(--o-header-offset); z-index:20; margin-bottom:12px; padding-block:8px; transition:top .22s ease; }
  [data-layout=obsidian] .o-catalog-controls::before { content:""; position:absolute; z-index:-1; inset:0 calc(50% - 50vw); border-bottom:1px solid var(--line); background:#0c0d0f; }
  [data-layout=obsidian] .grid[data-product-grid]:not([data-view=compact]) .card-price-note { display:none; }
  [data-layout=obsidian] .o-category-bar>a { min-height:34px; }
}
/* Obsidian product page (obsidian/product.html). Choices, buying and QC keep
   the shared component styles from shared/product_detail.css. */
[data-layout=obsidian] .op-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:clamp(28px,3.6vw,60px); align-items:start; padding:20px 0 40px; }
[data-layout=obsidian] .op-hero [hidden] { display:none !important; }

/* Gallery: a thumbnail rail beside one stage that keeps its shape for every frame. */
/* The stage fills its column and is as tall as the viewport allows, up to 4:5;
   images are centred in it, so wide screens leave no gap beside the gallery. */
[data-layout=obsidian] .op-gallery { position:sticky; top:calc(var(--o-header-offset) + 16px); display:grid; gap:12px; min-width:0; container-type:inline-size; --op-stage-h:min(calc(100dvh - var(--o-header-offset) - 48px),760px,calc(100cqi * 1.25)); }
[data-layout=obsidian] .op-gallery.has-rail { grid-template-columns:72px minmax(0,1fr); --op-stage-h:min(calc(100dvh - var(--o-header-offset) - 48px),760px,calc((100cqi - 84px) * 1.25)); }
[data-layout=obsidian] .op-rail { position:relative; display:flex; flex-direction:column; flex-wrap:nowrap; gap:8px; margin:0; max-height:var(--op-stage-h); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; padding:2px; }
[data-layout=obsidian] .op-rail::-webkit-scrollbar { display:none; }
[data-layout=obsidian] .op-thumb { flex:none; display:block; width:100%; aspect-ratio:1; overflow:hidden; border-radius:10px; background:#fff; outline:1px solid #ffffff14; outline-offset:-1px; opacity:.72; transition:opacity .16s,box-shadow .16s; }
[data-layout=obsidian] .op-thumb img { display:block; width:100%; height:100%; object-fit:contain; }
[data-layout=obsidian] .op-thumb:hover,[data-layout=obsidian] .op-thumb[aria-current=true] { opacity:1; }
[data-layout=obsidian] .op-thumb[aria-current=true] { box-shadow:0 0 0 2px var(--accent); }
[data-layout=obsidian] .op-thumb:focus-visible { box-shadow:0 0 0 2px var(--accent),0 0 0 4px #0c0d0f; opacity:1; }

[data-layout=obsidian] .op-stage { position:relative; min-width:0; height:var(--op-stage-h); overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 18px 48px #0004; }
[data-layout=obsidian] .op-stage-link { display:block; width:100%; height:100%; cursor:zoom-in; }
[data-layout=obsidian] .op-stage-link img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
[data-layout=obsidian] .op-stage-link:hover img { transform:scale(1.025); }
[data-layout=obsidian] .op-stage-empty { display:grid; place-items:center; color:#5b5d63; font-size:14px; }
[data-layout=obsidian] .op-step { position:absolute; top:50%; inset-inline-start:14px; display:grid; place-items:center; width:42px; height:42px; margin-top:-21px; border:1px solid #ffffff2e; border-radius:50%; background:#121316b3; color:#f3f1eb; backdrop-filter:blur(10px); opacity:0; cursor:pointer; transition:opacity .18s,background .18s; }
[data-layout=obsidian] .op-step-next { inset-inline-start:auto; inset-inline-end:14px; }
[data-layout=obsidian] .op-step svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
[data-layout=obsidian][dir=rtl] .op-step svg { transform:scaleX(-1); }
[data-layout=obsidian] .op-stage:hover .op-step,[data-layout=obsidian] .op-step:focus-visible { opacity:1; }
[data-layout=obsidian] .op-step:hover { background:#121316e6; }
[data-layout=obsidian] .op-counter { position:absolute; top:14px; inset-inline-end:14px; display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:#121316b3; color:#e9e9ec; font-size:12px; backdrop-filter:blur(10px); pointer-events:none; }
[data-layout=obsidian] .op-counter svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }

/* Summary: dense enough that the buying link sits on the first screen of a
   1080p display; the shared choice and buying components are tightened here. */
[data-layout=obsidian] .op-summary { min-width:0; }
[data-layout=obsidian] .op-chips { display:flex; flex-wrap:wrap; gap:6px; }
[data-layout=obsidian] .op-chips>* { padding:4px 10px; border:1px solid var(--line); border-radius:999px; font-size:11.5px; font-weight:500; color:#d9d9dd; text-decoration:none; }
[data-layout=obsidian] .op-chips>a:hover { border-color:var(--accent); color:var(--accent); }
[data-layout=obsidian] .op-summary h1 { margin:10px 0 8px; font:650 clamp(22px,1.75vw,29px)/1.22 Inter,"Segoe UI",Arial,sans-serif; letter-spacing:-.015em; overflow-wrap:anywhere; }
[data-layout=obsidian] .op-facts { display:flex; flex-wrap:wrap; gap:4px 14px; margin:0 0 14px; padding:0; list-style:none; font-size:12.5px; color:var(--muted); }
[data-layout=obsidian] .op-facts li { display:inline-flex; align-items:center; gap:6px; }
[data-layout=obsidian] .op-facts li+li::before { content:""; width:3px; height:3px; margin-inline-end:8px; border-radius:50%; background:#55575d; }
[data-layout=obsidian] .op-facts bdi { color:#e4e4e7; font-variant-numeric:tabular-nums; }
[data-layout=obsidian] .op-facts a { color:#e4e4e7; text-decoration:underline; text-decoration-color:#ffffff40; text-underline-offset:3px; }
[data-layout=obsidian] .op-facts a:hover { color:var(--accent); text-decoration-color:currentColor; }

/* Price and the selected platform's buying link share one row. */
[data-layout=obsidian] .op-price { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 16px; padding:12px 14px 12px 16px; margin-bottom:12px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 60%),var(--paper); }
[data-layout=obsidian] .op-price>div>span { display:block; font-size:10.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
[data-layout=obsidian] .op-price .price { display:block; margin:2px 0 0; font-size:28px; font-weight:700; line-height:1.15; letter-spacing:-.025em; color:var(--accent); }
[data-layout=obsidian] .op-price p { grid-column:1/-1; margin:2px 0 0; font-size:11.5px; line-height:1.5; color:#8e9198; }
[data-layout=obsidian] .op-buy { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px; border-radius:10px; background:var(--accent); color:var(--on-accent); font-size:14px; font-weight:650; text-decoration:none; white-space:nowrap; box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 22%,transparent); transition:filter .15s,transform .15s; }
[data-layout=obsidian] .op-buy:hover { color:var(--on-accent); filter:brightness(1.06); transform:translateY(-1px); }
[data-layout=obsidian] .op-buy svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
[data-layout=obsidian][dir=rtl] .op-buy svg { transform:scaleX(-1); }

/* Looks that wear the product: small portraits that open into a large, lit
   card over the gallery on hover or keyboard focus, clear of the summary. The
   card reuses the portrait's image, so it costs no extra request. */
[data-layout=obsidian] .op-teaser { position:relative; display:flex; align-items:center; gap:12px; margin-bottom:14px; }
[data-layout=obsidian] .op-teaser-label { flex:none; font-size:12.5px; font-weight:600; color:#d4d4d8; }
[data-layout=obsidian] .op-teaser-row { display:flex; gap:8px; }
[data-layout=obsidian] .op-teaser-item { display:block; flex:none; --op-d:1; }
[data-layout=obsidian][dir=rtl] .op-teaser-item { --op-d:-1; }
[data-layout=obsidian] .op-teaser-thumb { display:block; width:44px; aspect-ratio:3/4; overflow:hidden; border-radius:8px; background:#1b1c20; outline:1px solid #ffffff1a; outline-offset:-1px; transition:transform .2s,box-shadow .2s; }
[data-layout=obsidian] :is(.op-teaser-thumb,.op-pop) img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
[data-layout=obsidian] .op-teaser-item:is(:hover,:focus-visible) .op-teaser-thumb { transform:translateY(-3px); box-shadow:0 0 0 2px var(--accent),0 8px 18px #0008; }
[data-layout=obsidian] .op-teaser-item:focus-visible { outline:none; }
[data-layout=obsidian] .op-teaser-more { display:grid; place-items:center; width:44px; aspect-ratio:3/4; border:1px solid var(--line); border-radius:8px; font-size:12px; font-weight:650; color:#e4e4e7; text-decoration:none; }
[data-layout=obsidian] .op-teaser-more:hover { border-color:var(--accent); color:var(--accent); }
[data-layout=obsidian] .op-pop { position:absolute; z-index:70; top:50%; inset-inline-end:calc(100% + 28px); width:clamp(230px,17vw,300px); aspect-ratio:2/3; overflow:hidden; border-radius:18px; background:#1b1c20; pointer-events:none; opacity:0; visibility:hidden; transform-origin:calc(50% + 50% * var(--op-d)) 50%; transform:translateY(-50%) perspective(1100px) translateX(calc(30px * var(--op-d))) rotateY(calc(-20deg * var(--op-d))) scale(.82); box-shadow:0 40px 90px #000d,0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent),0 0 70px color-mix(in srgb,var(--accent) 24%,transparent); transition:opacity .25s ease,transform .5s cubic-bezier(.2,.9,.25,1.12),visibility 0s linear .5s; }
[data-layout=obsidian] .op-pop img { transform:scale(1.14); transition:transform 1.4s cubic-bezier(.2,.8,.2,1); }
[data-layout=obsidian] .op-pop::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,#ffffff38 48%,#ffffff10 54%,transparent 68%); transform:translateX(-130%); }
[data-layout=obsidian] .op-pop-copy { position:absolute; inset:auto 0 0; display:grid; gap:3px; padding:60px 16px 16px; background:linear-gradient(to top,#000000e6,#00000080 55%,transparent); color:#fff; }
[data-layout=obsidian] .op-pop-copy em { font-size:10.5px; font-style:normal; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
[data-layout=obsidian] .op-pop-copy strong { font-size:15px; font-weight:650; line-height:1.3; }
[data-layout=obsidian] .op-pop-copy>span { margin-top:6px; font-size:12.5px; font-weight:600; color:var(--accent); }
[data-layout=obsidian] .op-teaser-item:is(:hover,:focus-visible) .op-pop { opacity:1; visibility:visible; transform:translateY(-50%) perspective(1100px) translateX(0) rotateY(0) scale(1); transition:opacity .25s ease,transform .5s cubic-bezier(.2,.9,.25,1.12),visibility 0s; }
[data-layout=obsidian] .op-teaser-item:is(:hover,:focus-visible) .op-pop img { transform:scale(1); }
[data-layout=obsidian] .op-teaser-item:is(:hover,:focus-visible) .op-pop::after { animation:op-sheen 1s .18s ease forwards; }
@keyframes op-sheen { to { transform:translateX(130%); } }

/* Shared choices and buying, tightened for this column. */
[data-layout=obsidian] .op-summary .product-panel-heading { margin-bottom:6px; }
[data-layout=obsidian] .op-summary .product-panel-heading h2 { font-size:14px; }
[data-layout=obsidian] .op-summary .product-options { margin-bottom:12px; }
[data-layout=obsidian] .op-summary .product-option-axis { margin-top:10px; }
[data-layout=obsidian] .op-summary .product-option-heading { margin-bottom:7px; }
[data-layout=obsidian] .op-summary .product-option-heading h3 { font-size:12.5px; }
[data-layout=obsidian] .op-summary .product-option-heading>span { font-size:12px; }
[data-layout=obsidian] .op-summary .product-axis-hint { margin:0 0 6px; font-size:12px; }
[data-layout=obsidian] .op-summary .product-option-list { gap:6px; max-height:128px; padding:3px 4px 4px 2px; }
[data-layout=obsidian] .op-summary .product-option { min-height:36px; min-width:42px; padding:7px 12px; border-radius:8px; font-size:13px; }
/* Options with their own photo become swatches; the heading names the choice. */
[data-layout=obsidian] .op-summary .product-option-list:has(.has-image) { max-height:186px; }
[data-layout=obsidian] .op-summary .product-option.has-image { position:relative; display:block; width:56px; height:56px; min-width:0; min-height:0; padding:2px; overflow:hidden; border-radius:9px; background:#fff; }
[data-layout=obsidian] .op-summary .product-option.has-image img { display:block; width:100%; height:100%; border-radius:7px; object-fit:contain; }
[data-layout=obsidian] .op-summary .product-option.has-image[aria-current=true] { box-shadow:0 0 0 2px var(--accent); }
[data-layout=obsidian] .op-summary .product-option.has-image>span[aria-hidden] { position:absolute; inset-block-start:2px; inset-inline-end:2px; display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background:var(--accent); color:var(--on-accent); font-size:10px; font-weight:800; }
[data-layout=obsidian] .op-summary .product-option.has-image.is-unavailable { opacity:.35; }
[data-layout=obsidian] .op-summary .product-option.has-image:hover:not(.is-unavailable) { box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 60%,transparent); }
[data-layout=obsidian] .op-guide-link { display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:12.5px; color:var(--muted); text-decoration:none; }
[data-layout=obsidian] .op-guide-link:hover { color:var(--accent); }
[data-layout=obsidian] .op-summary .product-option-search { margin-bottom:8px; }
[data-layout=obsidian] .op-summary .product-option-search input { padding:9px 0; }
[data-layout=obsidian] .op-summary .product-selected { margin:10px 0; padding:9px 12px; }
[data-layout=obsidian] .op-summary .product-all-skus>summary { min-height:36px; padding:8px 0; font-size:12.5px; }
[data-layout=obsidian] .op-summary .product-buying { margin-top:4px; padding:14px 16px; border-radius:14px; }
[data-layout=obsidian] .op-summary .purchase-primary { min-height:48px; padding:8px 12px; }
[data-layout=obsidian] .op-summary .purchase-tools { margin-top:8px; }
[data-layout=obsidian] .op-summary .purchase-tool { padding:8px 10px; }
[data-layout=obsidian] .op-summary .purchase-source-link { min-height:0; margin-top:10px; padding-top:10px; font-size:11.5px; }
[data-layout=obsidian] .op-summary .product-buying-note { margin-top:8px; font-size:11.5px; line-height:1.6; }
[data-layout=obsidian] .op-summary .product-actions { margin:10px 0 0; }
[data-layout=obsidian] .op-summary .product-secondary-action { min-height:38px; padding:8px 12px; }

/* Section links follow the visitor below the first screen. */
[data-layout=obsidian] .op-sections { position:sticky; top:var(--o-header-offset); z-index:4; display:flex; flex-wrap:nowrap; gap:28px; overflow-x:auto; scrollbar-width:none; margin-top:8px; border-bottom:1px solid var(--line); background:#0c0d0ff2; backdrop-filter:blur(12px); }
[data-layout=obsidian] .op-sections::-webkit-scrollbar { display:none; }
[data-layout=obsidian] .op-sections a { flex:none; padding:16px 0; font-size:14px; font-weight:500; color:var(--muted); text-decoration:none; box-shadow:inset 0 -2px 0 transparent; transition:color .15s,box-shadow .15s; }
[data-layout=obsidian] .op-sections a:hover { color:#f3f1eb; box-shadow:inset 0 -2px 0 var(--accent); }
[data-layout=obsidian] :is(#product-details,#product-looks,#product-qc,#product-related-title) { scroll-margin-top:calc(var(--o-header-offset) + 64px); }

[data-layout=obsidian] .op-details { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); padding:44px 0 20px; }
[data-layout=obsidian] .op-details h2 { margin:0 0 16px; font-size:22px; font-weight:650; letter-spacing:-.01em; }
[data-layout=obsidian] .op-description { margin:0 0 28px; font-size:15px; line-height:1.85; color:#d4d4d8; white-space:pre-line; overflow-wrap:anywhere; }
[data-layout=obsidian] .op-about h3 { margin:28px 0 12px; font-size:15px; font-weight:600; }
[data-layout=obsidian] .op-about h3:first-of-type { margin-top:0; }
/* Close-up photos read as one large two-column spread; style photos as a sheet. */
/* Detail photos stack in one seamless column, as shopping sites lay out a
   product's long detail image, at their usual width; past the first three
   the rest open on request. */
[data-layout=obsidian] .op-detail-photos { display:grid; grid-template-columns:minmax(0,1fr); max-width:790px; overflow:hidden; border-radius:12px; background:#fff; }
[data-layout=obsidian] .op-detail-photos a { display:block; }
[data-layout=obsidian] .op-detail-more > summary { display:flex; justify-content:center; align-items:center; min-height:52px; padding:12px 16px; background:#1b1c20; color:var(--text); font-weight:700; cursor:pointer; list-style:none; border-top:1px solid var(--line); }
[data-layout=obsidian] .op-detail-more > summary::-webkit-details-marker { display:none; }
[data-layout=obsidian] .op-detail-more > summary::after { content:""; width:7px; height:7px; margin:-4px 0 0 12px; border:solid var(--accent); border-width:0 2px 2px 0; transform:rotate(45deg); }
[data-layout=obsidian] .op-detail-more > summary:hover { background:#232429; }
[data-layout=obsidian] .op-detail-more[open] > summary { display:none; }
[data-layout=obsidian] .op-style-photos a { display:block; overflow:hidden; border-radius:12px; background:#fff; }
[data-layout=obsidian] .op-detail-photos img { display:block; width:100%; height:auto; transition:transform .35s ease; }
[data-layout=obsidian] .op-style-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:8px; }
[data-layout=obsidian] .op-style-photos a { border-radius:8px; }
[data-layout=obsidian] .op-style-photos img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; transition:transform .3s ease; }
[data-layout=obsidian] .op-style-photos a:hover img { transform:scale(1.03); }
[data-layout=obsidian] .op-specs dl { margin:0; border-top:1px solid var(--line); }
[data-layout=obsidian] .op-specs dl>div { display:grid; grid-template-columns:minmax(110px,38%) minmax(0,1fr); gap:16px; padding:13px 0; border-bottom:1px solid var(--line); font-size:14px; }
[data-layout=obsidian] .op-specs dt { color:var(--muted); }
[data-layout=obsidian] .op-specs dd { margin:0; color:#ececef; overflow-wrap:anywhere; }
/* Specification rows preview the first options; the picker above lists them all. */
[data-layout=obsidian] .op-spec-values { line-height:1.6; }
[data-layout=obsidian] .op-specs dd a { color:inherit; text-decoration:underline; text-decoration-color:#ffffff40; text-underline-offset:3px; }
[data-layout=obsidian] .op-specs dd a:hover { color:var(--accent); }

/* Looks: large portraits in one swipeable row, each leading to the full look. */
[data-layout=obsidian] .op-section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:20px; }
[data-layout=obsidian] .op-section-head h2 { margin:4px 0 0; font-size:26px; font-weight:650; letter-spacing:-.015em; }
[data-layout=obsidian] .op-section-head>a,[data-layout=obsidian] .op-section-head>span { flex:none; font-size:13px; color:var(--muted); text-decoration:none; }
[data-layout=obsidian] .op-section-head>a:hover { color:var(--accent); }
[data-layout=obsidian] .op-overline { margin:0; font-size:11px; font-weight:600; letter-spacing:.1em; color:var(--accent); }
[data-layout=obsidian] .op-section-intro { max-width:760px; font-size:14px; line-height:1.75; color:var(--muted); }
[data-layout=obsidian] :is(.op-looks,.op-qc,.op-related) { padding:40px 0 8px; border-top:1px solid #ffffff12; }
[data-layout=obsidian] .op-related { padding-bottom:48px; }
[data-layout=obsidian] .op-look-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 4*16px)/5); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#3a3c42 transparent; padding-bottom:10px; }
[data-layout=obsidian] .op-look { scroll-snap-align:start; min-width:0; }
[data-layout=obsidian] .op-look>a { position:relative; display:block; aspect-ratio:3/4; overflow:hidden; border-radius:16px; background:#1b1c20; color:#fff; text-decoration:none; }
[data-layout=obsidian] .op-look img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
[data-layout=obsidian] .op-look>a:hover img { transform:scale(1.04); }
[data-layout=obsidian] .op-look-copy { position:absolute; inset:auto 0 0; padding:56px 16px 16px; background:linear-gradient(to top,#000000d9,#00000080 55%,transparent); }
[data-layout=obsidian] .op-look-model { font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
[data-layout=obsidian] .op-look h3 { margin:4px 0 6px; font-size:16px; font-weight:600; line-height:1.3; }
[data-layout=obsidian] .op-look p { display:flex; flex-wrap:wrap; gap:6px; margin:0; font-size:11px; color:#d4d4d8; }
[data-layout=obsidian] .op-look p span { padding:3px 7px; border-radius:999px; background:#ffffff1f; }
[data-layout=obsidian] .op-look-cta { display:inline-block; max-height:0; margin-top:0; overflow:hidden; font-size:13px; font-weight:600; color:var(--accent); opacity:0; transition:max-height .2s,margin .2s,opacity .2s; }
[data-layout=obsidian] .op-look>a:is(:hover,:focus-visible) .op-look-cta { max-height:24px; margin-top:10px; opacity:1; }
[data-layout=obsidian] .op-section-intro { margin:-8px 0 20px; }
[data-layout=obsidian] .op-inline-link { color:var(--accent); text-decoration:none; white-space:nowrap; }
[data-layout=obsidian] .op-inline-link:hover { text-decoration:underline; text-underline-offset:3px; }
/* QC photos: one card per inspection batch, newest first and two abreast on
   wide screens, source and date beside a strip of its photos; older batches
   fold away below. */
[data-layout=obsidian] .opq,[data-layout=obsidian] .opq-more { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,640px),1fr)); gap:12px; }
[data-layout=obsidian] .opq-more,[data-layout=obsidian] .opq-more>summary { grid-column:1/-1; }
[data-layout=obsidian] .opq-batch { display:grid; grid-template-columns:132px minmax(0,1fr); gap:16px; align-items:center; padding:14px; border:1px solid #ffffff14; border-radius:14px; background:#131417; }
[data-layout=obsidian] .opq-meta { display:grid; gap:3px; min-width:0; font-size:12px; color:var(--muted); }
[data-layout=obsidian] .opq-meta strong { overflow:hidden; font-size:14px; font-weight:600; color:#ececef; text-overflow:ellipsis; white-space:nowrap; }
[data-layout=obsidian] .opq-photos { display:grid; grid-auto-flow:column; grid-auto-columns:112px; gap:8px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#3a3c42 transparent; }
[data-layout=obsidian] .opq-photos a { display:block; aspect-ratio:1; overflow:hidden; border-radius:10px; background:#1b1c20; }
[data-layout=obsidian] .opq-photos img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
[data-layout=obsidian] .opq-photos a:hover img { transform:scale(1.06); }
[data-layout=obsidian] .opq-more>summary { justify-self:start; display:flex; align-items:center; gap:8px; padding:9px 16px; border:1px solid #ffffff24; border-radius:999px; font-size:13px; font-weight:600; color:#ececef; list-style:none; cursor:pointer; }
[data-layout=obsidian] .opq-more>summary::-webkit-details-marker { display:none; }
[data-layout=obsidian] .opq-more>summary span { color:var(--muted); font-weight:500; }
[data-layout=obsidian] .opq-more>summary:hover { border-color:var(--accent); }
[data-layout=obsidian] .opq-more[open]>summary { display:none; }

/* More from the same brand or category: one compact row of small cards. */
[data-layout=obsidian] .op-related-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
[data-layout=obsidian] .op-related-card { display:grid; align-content:start; gap:10px; min-width:0; color:inherit; text-decoration:none; }
[data-layout=obsidian] .op-related-photo { position:relative; display:block; aspect-ratio:1; overflow:hidden; border-radius:12px; background:#1b1c20; }
[data-layout=obsidian] .op-related-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
[data-layout=obsidian] .op-related-card:hover .op-related-photo img { transform:scale(1.05); }
/* Related cards read like the list's cards: title, then brand, then the price
   in the accent colour, and the same QC badge. */
[data-layout=obsidian] .op-related-qc { position:absolute; top:8px; inset-inline-start:8px; padding:5px 7px; border:1px solid #ffffff18; border-radius:3px; background:#18191fe8; font-size:11px; line-height:1.2; color:var(--accent); }
[data-layout=obsidian] .op-related-copy { display:grid; gap:3px; min-width:0; }
[data-layout=obsidian] .op-related-copy small { overflow:hidden; font-size:12px; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
[data-layout=obsidian] .op-related-copy strong { display:-webkit-box; overflow:hidden; font-size:14px; font-weight:600; line-height:1.4; color:#ececef; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
[data-layout=obsidian] .op-related-card:hover strong { color:var(--accent); }
[data-layout=obsidian] .op-related-copy .price { margin:4px 0 0; font-size:16px; font-weight:650; color:var(--accent); }

/* The QC preview under the price shows on phones only (see below). */
[data-layout=obsidian] .op-qc-peek { display:none; }

@media(hover:none) {
  [data-layout=obsidian] .op-pop { display:none; }
  /* Touch screens swipe the stage instead (product_detail.js). */
  [data-layout=obsidian] .op-step { display:none; }
  [data-layout=obsidian] .op-look-cta { max-height:24px; margin-top:10px; opacity:1; }
}
@media(max-width:1100px) {
  [data-layout=obsidian] .op-look-track { grid-auto-columns:calc((100% - 3*16px)/4); }
  [data-layout=obsidian] .op-related-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:900px) {
  [data-layout=obsidian] .op-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
  [data-layout=obsidian] .op-gallery.has-rail { grid-template-columns:minmax(0,1fr); --op-stage-h:min(calc(100dvh - var(--o-header-offset) - 48px),760px,calc(100cqi * 1.25)); }
  [data-layout=obsidian] .op-gallery.has-rail .op-rail { order:2; flex-direction:row; max-height:none; overflow:auto hidden; }
  [data-layout=obsidian] .op-gallery.has-rail .op-thumb { width:58px; }
}
@media(max-width:760px) {
  [data-layout=obsidian] .op-hero { grid-template-columns:minmax(0,1fr); gap:20px; padding-top:10px; }
  /* Phones follow the big shopping apps: photos edge to edge as a square
     swiped by thumb with a counter, then price and title at once; the docked
     bar carries the buy button, so the price card drops its own. */
  [data-layout=obsidian] .op-gallery,[data-layout=obsidian] .op-gallery.has-rail { position:static; margin-inline:calc(50% - 50vw); --op-stage-h:100cqi; }
  [data-layout=obsidian] .op-gallery.has-rail .op-rail { display:none; }
  [data-layout=obsidian] .op-stage { border-radius:0; box-shadow:none; touch-action:pan-y; }
  [data-layout=obsidian] .op-counter { top:auto; bottom:12px; }
  [data-layout=obsidian] .op-price { grid-template-columns:minmax(0,1fr); padding:12px 14px; }
  [data-layout=obsidian] .op-price .op-buy { display:none; }
  [data-layout=obsidian] .op-facts li:has(a[href="#product-qc"]) { display:none; }
  [data-layout=obsidian] .op-qc-peek { display:flex; align-items:center; gap:12px; min-height:64px; margin-bottom:14px; padding:8px 10px 8px 14px; border:1px solid var(--line); border-radius:12px; background:#131417; color:inherit; text-decoration:none; }
  [data-layout=obsidian] .op-qc-peek-label { display:grid; gap:2px; flex:none; }
  [data-layout=obsidian] .op-qc-peek-label strong { font-size:14px; font-weight:650; }
  [data-layout=obsidian] .op-qc-peek-label small { font-size:12px; color:var(--accent); }
  [data-layout=obsidian] .op-qc-peek-photos { display:flex; flex:1; justify-content:flex-end; gap:6px; min-width:0; overflow:hidden; }
  [data-layout=obsidian] .op-qc-peek-photos img { flex:none; width:44px; height:44px; border-radius:8px; object-fit:cover; background:#1b1c20; }
  [data-layout=obsidian] .op-qc-peek-go { flex:none; font-size:22px; line-height:1; color:var(--muted); }
  [data-layout=obsidian] .op-step { width:38px; height:38px; margin-top:-19px; }
  [data-layout=obsidian] .op-summary h1 { font-size:24px; }
  [data-layout=obsidian] .op-pop { display:none; }
  [data-layout=obsidian] .op-sections { gap:22px; }
  [data-layout=obsidian] .op-details { grid-template-columns:minmax(0,1fr); padding-top:32px; }
  [data-layout=obsidian] .op-detail-photos { max-width:none; margin-inline:calc(50% - 50vw); border-radius:0; }
  [data-layout=obsidian] .op-section-head h2 { font-size:22px; }
  [data-layout=obsidian] .op-look-track { grid-auto-columns:62%; gap:12px; }
  [data-layout=obsidian] .opq-batch { grid-template-columns:minmax(0,1fr); gap:10px; padding:12px; }
  [data-layout=obsidian] .opq-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; }
  [data-layout=obsidian] .opq-photos { grid-auto-columns:88px; }
  [data-layout=obsidian] .op-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] :is(.op-stage-link img,.op-look img,.op-thumb,.op-teaser-thumb,.op-pop,.op-pop img,.op-buy,.op-look-cta,.opq-photos img,.op-related-photo img,.op-detail-photos img,.op-style-photos img) { transition:none; }
  [data-layout=obsidian] .op-teaser-item:is(:hover,:focus-visible) .op-pop::after { animation:none; }
}
/* Obsidian look page (obsidian/look.html). "More looks" reuses the look row
   styles from obsidian/product.css. */
[data-layout=obsidian] .ol-hero { display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start; padding:20px 0 40px; }

/* The photo is as tall as the first screen allows below the breadcrumb and
   keeps its 2:3 shape, so the whole look is visible without scrolling and
   the column fits the photo. */
[data-layout=obsidian] .ol-photo { position:sticky; top:calc(var(--o-header-offset) + 16px); height:min(calc(100dvh - var(--o-header-offset) - 96px),900px); aspect-ratio:2/3; max-width:52vw; margin:0; overflow:hidden; border-radius:20px; background:#16171a; box-shadow:0 24px 60px #0006,0 0 0 1px #ffffff12; }
[data-layout=obsidian] .ol-photo a { display:block; width:100%; height:100%; cursor:zoom-in; }
[data-layout=obsidian] .ol-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
[data-layout=obsidian] .ol-photo a:hover img { transform:scale(1.025); }
[data-layout=obsidian] .ol-photo-note { position:absolute; inset-inline:14px; bottom:12px; margin:0; color:#ffffffa6; font-size:11px; line-height:1.4; text-shadow:0 1px 3px #000c; pointer-events:none; }

/* The info column runs to the container edge like every other page; its
   text keeps a reading measure and the pieces pair up when there is room. */
[data-layout=obsidian] .ol-info { min-width:0; padding-top:6px; }
[data-layout=obsidian] .ol-back { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); text-decoration:none; }
[data-layout=obsidian] .ol-back:hover { color:var(--accent); }
[data-layout=obsidian] .ol-info .outfit-card-meta { display:flex; flex-wrap:wrap; gap:6px; margin:18px 0 0; }
[data-layout=obsidian] .ol-info .outfit-card-meta>span { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border:1px solid var(--line); border-radius:999px; font-size:12px; color:#d9d9dd; }
[data-layout=obsidian] .ol-info .outfit-card-meta>.is-featured { border-color:transparent; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); }
[data-layout=obsidian] .ol-model svg { width:13px; height:13px; fill:none; stroke:var(--accent); stroke-width:2; }
[data-layout=obsidian] .ol-info h1 { margin:14px 0 10px; font:650 clamp(28px,2.6vw,42px)/1.15 Inter,"Segoe UI",Arial,sans-serif; letter-spacing:-.02em; overflow-wrap:anywhere; }
[data-layout=obsidian] .ol-description { max-width:72ch; margin:0 0 16px; font-size:15px; line-height:1.8; color:#d9d9dd; white-space:pre-line; overflow-wrap:anywhere; }
[data-layout=obsidian] .ol-intro { max-width:560px; margin:0 0 26px; font-size:15px; line-height:1.7; color:var(--muted); }

/* Each linked piece is one row: photo, what it is and the chosen variant,
   then its price and the way to buy it. */
[data-layout=obsidian] .ol-shop-head { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
[data-layout=obsidian] .ol-shop-head h2 { margin:0; font-size:18px; font-weight:650; }
[data-layout=obsidian] .ol-shop-head>span { padding:2px 9px; border-radius:999px; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:12px; font-weight:700; }
[data-layout=obsidian] .ol-items { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr)); gap:10px; }
[data-layout=obsidian] .ol-item { display:grid; grid-template-columns:88px minmax(0,1fr) auto; align-items:center; gap:16px; padding:12px 14px 12px 12px; border:1px solid var(--line); border-radius:14px; background:var(--paper); transition:border-color .18s,transform .18s; }
[data-layout=obsidian] .ol-item:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); transform:translateY(-1px); }
[data-layout=obsidian] .ol-item-photo { display:block; width:88px; aspect-ratio:1; overflow:hidden; border-radius:10px; background:#fff; }
[data-layout=obsidian] .ol-item-photo img { display:block; width:100%; height:100%; object-fit:contain; }
[data-layout=obsidian] .ol-item-copy { min-width:0; }
[data-layout=obsidian] .ol-item-brand { margin:0 0 3px; font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
/* Each piece links its brand and category pages, separated by a dot. */
[data-layout=obsidian] .ol-item-brand a { position:relative; z-index:1; color:inherit; text-decoration:none; }
[data-layout=obsidian] .ol-item-brand a:hover { color:var(--accent); }
[data-layout=obsidian] .ol-item-brand>*+*::before { content:"·"; margin-inline:6px; color:#55585f; }
[data-layout=obsidian] .ol-item h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; margin:0; font-size:15px; font-weight:600; line-height:1.35; }
[data-layout=obsidian] .ol-item h3 a { color:inherit; text-decoration:none; }
[data-layout=obsidian] .ol-item h3 a:hover { color:var(--accent); }
[data-layout=obsidian] .ol-item-variant { display:flex; flex-wrap:wrap; gap:5px; margin:7px 0 0; }
[data-layout=obsidian] .ol-item-variant span { padding:2px 8px; border-radius:6px; background:#ffffff0d; font-size:12px; color:#d4d4d8; }
[data-layout=obsidian] .ol-item-note { margin:6px 0 0; font-size:12px; line-height:1.5; color:#e7b549; }
[data-layout=obsidian] .ol-item-buy { display:grid; justify-items:end; gap:8px; }
[data-layout=obsidian] .ol-item-buy .price { font-size:18px; font-weight:700; letter-spacing:-.01em; color:var(--accent); white-space:nowrap; }
[data-layout=obsidian] .ol-item-cta { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 12px; border:1px solid color-mix(in srgb,var(--accent) 55%,transparent); border-radius:8px; font-size:12.5px; font-weight:650; color:var(--accent); text-decoration:none; white-space:nowrap; transition:background .15s,color .15s; }
[data-layout=obsidian] .ol-item-cta:hover { background:var(--accent); color:var(--on-accent); }
[data-layout=obsidian][dir=rtl] .ol-item-cta span,[data-layout=obsidian][dir=rtl] .ol-back span { display:inline-block; transform:scaleX(-1); }
[data-layout=obsidian] .ol-note { margin:14px 0 0; font-size:12px; line-height:1.6; color:#8e9198; }
[data-layout=obsidian] .ol-more { border-top:1px solid var(--line); }

@media(max-width:900px) {
  [data-layout=obsidian] .ol-photo { max-width:46vw; }
  [data-layout=obsidian] .ol-item { grid-template-columns:72px minmax(0,1fr); }
  [data-layout=obsidian] .ol-item-photo { width:72px; }
  [data-layout=obsidian] .ol-item-buy { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; }
}
@media(max-width:760px) {
  [data-layout=obsidian] .ol-hero { grid-template-columns:minmax(0,1fr); gap:20px; padding-top:10px; }
  [data-layout=obsidian] .ol-photo { position:relative; top:auto; width:100%; height:auto; max-width:none; border-radius:16px; }
  [data-layout=obsidian] .ol-info h1 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] :is(.ol-photo img,.ol-item) { transition:none; }
}
/* Sheet view of the Obsidian product grid (the "compact" view toggle). The
   same product cards become spreadsheet rows through subgrid: a numbered row
   header, thumbnail, product, a strip of photos (and the look photo), brand,
   QC count and price, under sticky column headings. Rows keep their single link, so a whole row opens
   the product; obsidian/sheet.js remembers the view and adds row keys. */
[data-layout=obsidian] :is(.o-sheet-head,.o-sheet-photos) { display:none; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) { --sheet-columns:[num] 52px [img] 60px [title] minmax(0,1fr) [photos] 214px [brand] minmax(110px,.3fr) [qc] 84px [price] minmax(128px,auto) [end]; display:grid; grid-template-columns:var(--sheet-columns); gap:0; counter-reset:o-row var(--o-row-offset,0); border:1px solid var(--line); border-radius:12px; background:#111215; }

/* Column headings stay under the page header while the rows scroll. */
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head { position:sticky; top:var(--o-header-offset); z-index:4; display:grid; grid-column:1/-1; grid-template-columns:subgrid; align-items:stretch; min-height:38px; border-bottom:1px solid var(--line); border-radius:11px 11px 0 0; background:#1b1c20; font-size:11.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>span { display:flex; align-items:center; min-width:0; padding-inline:12px; border-inline-start:1px solid #ffffff0d; white-space:nowrap; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-num { grid-column:num; justify-content:center; border-inline-start:0; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-img { grid-column:img; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-title { grid-column:title; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-brand { grid-column:brand; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-qc { grid-column:qc; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-photos { display:flex; grid-column:photos; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-price { grid-column:price; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-qc { justify-content:center; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-price { justify-content:flex-end; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head a { display:inline-flex; align-items:center; gap:5px; color:inherit; text-decoration:none; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head a:hover,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head a[aria-current] { color:var(--accent); }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head .o-sort { font-size:9px; opacity:.55; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head a[aria-current] .o-sort { opacity:1; }

/* Each card is one row; its link spans every cell after the row number. */
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card { position:relative; display:grid; grid-column:1/-1; grid-template-columns:subgrid; align-items:center; min-height:56px; height:auto; margin:0; padding:0; overflow:visible; border:0; border-bottom:1px solid #ffffff0b; border-radius:0; background:transparent; box-shadow:none; counter-increment:o-row; scroll-margin-block:calc(var(--o-header-offset) + 48px) 16px; transition:background .12s; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:nth-of-type(even) { background:#ffffff04; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:last-child { border-bottom:0; border-radius:0 0 11px 11px; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:hover { background:color-mix(in srgb,var(--accent) 6%,transparent); }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:focus-within { background:color-mix(in srgb,var(--accent) 9%,transparent); box-shadow:inset 3px 0 0 var(--accent); }
[data-layout=obsidian][dir=rtl] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:focus-within { box-shadow:inset -3px 0 0 var(--accent); }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card::before { content:counter(o-row); grid-column:num; grid-row:1; align-self:stretch; display:grid; place-items:center; border-inline-end:1px solid #ffffff0d; background:#16171a; font-size:12px; font-variant-numeric:tabular-nums; color:#7d8088; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:hover::before,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:focus-within::before { color:var(--accent); }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card>a { display:grid; grid-column:img / end; grid-row:1; grid-template-columns:subgrid; align-items:center; align-self:stretch; color:inherit; text-decoration:none; outline:none; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image { display:contents; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image::after,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image .o-look-image,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card>.match-style,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-price-note { display:none; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image>img,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image>.muted { grid-column:img; grid-row:1; justify-self:center; width:44px; height:44px; padding:2px; border-radius:7px; background:#fff; object-fit:contain; transform-origin:0 50%; transition:transform .18s ease,box-shadow .18s; }
[data-layout=obsidian][dir=rtl] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image>img { transform-origin:100% 50%; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image>.muted { display:grid; place-items:center; overflow:hidden; font-size:0; background:#1b1c20; }
/* Resting on a thumbnail enlarges it in place for a closer look. */
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card h3 { grid-column:title; grid-row:1; align-self:stretch; display:flex; align-items:center; min-height:0; margin:0; padding-inline:12px; overflow:hidden; border-inline-start:1px solid #ffffff0b; font-size:13.5px; font-weight:500; line-height:1.35; white-space:nowrap; text-overflow:ellipsis; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card:hover h3 { color:#fff; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .qc-badge { position:static; grid-column:qc; grid-row:1; justify-self:center; padding:3px 8px; border:0; border-radius:999px; background:color-mix(in srgb,var(--accent) 14%,transparent); color:var(--accent); font-size:11.5px; font-weight:650; font-variant-numeric:tabular-nums; }
/* The photo strip already shows the look. The corner portrait is also a link
   in the card, so it names the card to outrank the row link rule above. */
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) :is(.card>.o-card-look,.o-card-look-pop) { display:none; }
/* Up to five product photos and the look that wears the product; nothing
   loads in the card view. Resting on a photo, or on the row's thumbnail, shows
   it larger in one floating preview beside it (sheet.js), over the product
   title, so the strip stays in view and the next photo stays reachable. */
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .o-sheet-photos { grid-column:photos; grid-row:1; align-self:stretch; display:flex; align-items:center; gap:5px; padding-inline:10px; border-inline-start:1px solid #ffffff0b; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .o-sheet-photos img { position:relative; flex:none; width:30px; height:30px; border-radius:5px; background:#fff; object-fit:contain; outline:1px solid #ffffff14; transition:transform .2s ease,border-radius .2s,box-shadow .2s; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .o-sheet-photos img.is-look { width:24px; height:32px; margin-inline-start:4px; object-fit:cover; object-position:50% 15%; background:#1b1c20; outline:1.5px solid var(--accent); outline-offset:1px; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) :is(.o-sheet-photos img,.card-image>img):hover { outline:2px solid var(--accent); outline-offset:1px; }
[data-layout=obsidian] .o-sheet-zoom { position:fixed; z-index:60; top:0; left:0; width:280px; height:280px; padding:6px; border-radius:16px; background:#fff; box-shadow:0 24px 60px #000c,0 0 0 1px #ffffff1f; pointer-events:none; opacity:0; transform:scale(.96); transition:opacity .12s,transform .12s; }
[data-layout=obsidian] .o-sheet-zoom.is-open { opacity:1; transform:none; }
[data-layout=obsidian] .o-sheet-zoom img { display:block; width:100%; height:100%; border-radius:11px; object-fit:contain; }
[data-layout=obsidian] .o-sheet-zoom[data-look] { width:240px; height:340px; padding:0; background:#1b1c20; box-shadow:0 24px 60px #000c,0 0 0 2px color-mix(in srgb,var(--accent) 70%,transparent); }
[data-layout=obsidian] .o-sheet-zoom[data-look] img { border-radius:16px; object-fit:cover; object-position:50% 15%; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card>.card-meta { grid-column:brand; grid-row:1; align-self:stretch; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:0; margin:0; padding-inline:12px; overflow:hidden; border-inline-start:1px solid #ffffff0b; font-size:12.5px; color:#c4c5ca; white-space:nowrap; text-overflow:ellipsis; pointer-events:none; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card>.card-meta span { overflow:hidden; text-overflow:ellipsis; }
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card>.price { grid-column:price; grid-row:1; align-self:stretch; display:flex; align-items:center; justify-content:flex-end; margin:0; padding-inline:12px 16px; border-inline-start:1px solid #ffffff0b; font-size:14.5px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--accent); pointer-events:none; }
/* The QC column draws its own cell border under the badge. */
[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card::after { content:""; grid-column:qc; grid-row:1; align-self:stretch; border-inline-start:1px solid #ffffff0b; pointer-events:none; }

@media(max-width:1280px) {
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) { --sheet-columns:[num] 48px [img] 60px [title] minmax(0,1fr) [photos] 154px [brand] minmax(100px,.28fr) [qc] 80px [price] minmax(120px,auto) [end]; }
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .o-sheet-photos img:nth-child(n+4):not(.is-look) { display:none; }
}

@media(max-width:900px) {
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) { --sheet-columns:[num] 40px [img] 56px [title] minmax(0,1fr) [photos] 0 [brand] 0 [qc] 64px [price] minmax(96px,auto) [end]; }
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>:is(.o-sheet-brand,.o-sheet-photos),[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card>.card-meta,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .o-sheet-photos { display:none; }
}
@media(max-width:560px) {
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) { --sheet-columns:[num] 0 [img] 52px [title] minmax(0,1fr) [photos] 0 [brand] 0 [qc] 52px [price] minmax(84px,auto) [end]; }
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>.o-sheet-num,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card::before { display:none; }
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.o-sheet-head>span { padding-inline:8px; }
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card h3 { align-self:center; max-height:2.7em; padding-inline:8px; font-size:13px; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; }
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card>.price { padding-inline:8px 10px; font-size:13.5px; }
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head)>.card,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .card-image>img,[data-layout=obsidian] .grid[data-product-grid][data-view=compact]:has(>.o-sheet-head) .o-sheet-photos img { transition:none; }
  [data-layout=obsidian] .o-sheet-zoom { transition:none; }
}
/* Obsidian buying platform guide (obsidian/platform.html): a keyword landing
   page, not a product list. Nothing sticks to the screen. Section headings
   reuse .op-section-head from obsidian/product.css. */
[data-layout=obsidian] .opf { padding-bottom:24px; }
[data-layout=obsidian] .opf h2 { margin:0 0 14px; font-size:26px; font-weight:650; letter-spacing:-.015em; }
[data-layout=obsidian] :is(#platform-spreadsheet,#platform-products,#platform-qc,#platform-how,#platform-guide,#platform-faq,#platform-others) { scroll-margin-top:calc(var(--o-header-offset) + 16px); }

/* First screen: who the platform is, beside its facts. A div, not a header:
   Obsidian pins page headers, and this block must scroll with the page. */
[data-layout=obsidian] .opf-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:clamp(24px,4vw,64px); align-items:center; padding:28px 0 32px; }
[data-layout=obsidian] .opf-eyebrow { margin:0 0 14px; font-size:11.5px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
[data-layout=obsidian] .opf-title { display:flex; align-items:center; gap:18px; }
[data-layout=obsidian] .opf-title img { flex:none; width:72px; height:72px; border-radius:18px; background:#fff; box-shadow:0 10px 30px #0006; }
[data-layout=obsidian] .opf-title h1 { margin:0; font:700 clamp(32px,3.6vw,52px)/1.08 Inter,"Segoe UI",Arial,sans-serif; letter-spacing:-.03em; overflow-wrap:anywhere; }
[data-layout=obsidian] .opf-tagline { margin:18px 0 0; font-size:18px; font-weight:600; line-height:1.45; color:var(--accent); }
[data-layout=obsidian] .opf-lead { max-width:620px; margin:12px 0 0; font-size:15.5px; line-height:1.75; color:#c9c9ce; }
[data-layout=obsidian] .opf-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:26px; }
[data-layout=obsidian] .opf-primary { display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:0 22px; border-radius:12px; background:var(--accent); color:var(--on-accent); font-weight:700; text-decoration:none; box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 24%,transparent); transition:filter .15s,transform .15s; }
[data-layout=obsidian] .opf-primary:hover { color:var(--on-accent); filter:brightness(1.06); transform:translateY(-1px); }
[data-layout=obsidian] .opf-secondary { display:inline-flex; align-items:center; gap:6px; min-height:48px; padding:0 18px; border:1px solid var(--line); border-radius:12px; color:#e4e4e7; font-weight:600; text-decoration:none; }
[data-layout=obsidian] .opf-secondary:hover { border-color:var(--accent); color:var(--accent); }
[data-layout=obsidian] .opf-card { padding:22px 22px 10px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 55%),var(--paper); }
[data-layout=obsidian] .opf-card-head { display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--line); }
[data-layout=obsidian] .opf-card-head img { width:44px; height:44px; border-radius:12px; background:#fff; }
[data-layout=obsidian] .opf-card-head strong { font-size:18px; }
[data-layout=obsidian] .opf-card dl { margin:0; }
[data-layout=obsidian] .opf-card dl>div { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid #ffffff0d; font-size:13.5px; }
[data-layout=obsidian] .opf-card dl>div:last-child { border-bottom:0; }
[data-layout=obsidian] .opf-card dt { color:var(--muted); }
[data-layout=obsidian] .opf-card dd { margin:0; text-align:end; font-weight:600; overflow-wrap:anywhere; }
[data-layout=obsidian] .opf-card dd a { color:#ececef; text-decoration:none; }
[data-layout=obsidian] .opf-card dd a:hover { color:var(--accent); }

/* In-page links to each keyword section; they stay in place. */
[data-layout=obsidian] .opf-sections { display:flex; flex-wrap:wrap; gap:8px; padding:14px 0 6px; border-top:1px solid var(--line); }
[data-layout=obsidian] .opf-sections a { padding:7px 14px; border:1px solid var(--line); border-radius:999px; font-size:13px; color:#d4d4d8; text-decoration:none; }
[data-layout=obsidian] .opf-sections a:hover { border-color:var(--accent); color:var(--accent); }

[data-layout=obsidian] .opf-block { padding:44px 0 8px; }
[data-layout=obsidian] .opf-block p { font-size:15px; line-height:1.8; color:#c9c9ce; }
[data-layout=obsidian] .opf-sub { max-width:640px; margin:4px 0 0; }
[data-layout=obsidian] .opf-link { display:inline-flex; margin-top:6px; font-weight:650; color:var(--accent); text-decoration:none; }
[data-layout=obsidian] .opf-link:hover { text-decoration:underline; }
[data-layout=obsidian] .opf-split { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; }
[data-layout=obsidian] .opf-split p { max-width:640px; margin:0 0 10px; }
[data-layout=obsidian] .opf-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
[data-layout=obsidian] .opf-points li { display:flex; align-items:center; gap:10px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--paper); font-size:14px; font-weight:600; }
[data-layout=obsidian] .opf-points li::before { content:"✓"; display:grid; place-items:center; flex:none; width:24px; height:24px; border-radius:50%; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:12px; font-weight:800; }

/* A handful of live finds as examples, with a search over this platform's finds. */
[data-layout=obsidian] .opf-search { position:relative; display:flex; align-items:center; gap:10px; max-width:640px; margin:0 0 18px; }
[data-layout=obsidian] .opf-search svg { position:absolute; top:50%; inset-inline-start:14px; width:16px; height:16px; margin-top:-8px; fill:none; stroke:var(--muted); stroke-width:1.8; stroke-linecap:round; }
[data-layout=obsidian] .opf-search input { flex:1; min-width:0; min-height:44px; padding:0 14px 0 40px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:inherit; font:inherit; font-size:14px; }
[data-layout=obsidian][dir=rtl] .opf-search input { padding:0 40px 0 14px; }
[data-layout=obsidian] .opf-search button { min-height:44px; padding:0 18px; border:0; border-radius:12px; background:var(--accent); color:var(--on-accent); font-weight:700; cursor:pointer; }
[data-layout=obsidian] .opf-search a { font-size:13px; color:var(--muted); white-space:nowrap; }
[data-layout=obsidian] .opf-finds { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
[data-layout=obsidian] .opf-find { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
[data-layout=obsidian] .opf-find-photo { position:relative; display:block; aspect-ratio:1; background:#fff; }
[data-layout=obsidian] .opf-find-photo img { display:block; width:100%; height:100%; padding:6px; object-fit:contain; }
[data-layout=obsidian] .opf-find-photo span { position:absolute; top:8px; inset-inline-start:8px; padding:3px 7px; border-radius:6px; background:#18191fe8; color:#f2e6be; font-size:11px; font-weight:650; }
[data-layout=obsidian] .opf-find h3 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; margin:10px 12px 0; font-size:13.5px; font-weight:600; line-height:1.4; }
[data-layout=obsidian] .opf-find h3 a { color:inherit; text-decoration:none; }
[data-layout=obsidian] .opf-find h3 a:hover { color:var(--accent); }
[data-layout=obsidian] .opf-find p { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:auto 12px 12px; padding-top:10px; }
[data-layout=obsidian] .opf-find strong { font-size:15px; color:var(--accent); white-space:nowrap; }
[data-layout=obsidian] .opf-find .platform-product-buy { display:inline-flex; align-items:center; gap:4px; min-height:30px; padding:0 10px; border:1px solid color-mix(in srgb,var(--accent) 55%,transparent); border-radius:8px; font-size:12px; font-weight:650; color:var(--accent); text-decoration:none; white-space:nowrap; }
[data-layout=obsidian] .opf-find .platform-product-buy:hover { background:var(--accent); color:var(--on-accent); }
[data-layout=obsidian] .opf-empty { padding:24px; border:1px dashed var(--line); border-radius:14px; color:var(--muted); }

[data-layout=obsidian] .opf-narrow p { max-width:760px; margin:0 0 10px; }

/* How buying works, in four short steps. */
[data-layout=obsidian] .opf-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; counter-reset:opf-step; }
[data-layout=obsidian] .opf-steps li { position:relative; padding:20px 18px 18px; border:1px solid var(--line); border-radius:16px; background:var(--paper); counter-increment:opf-step; }
[data-layout=obsidian] .opf-steps li::before { content:counter(opf-step); position:absolute; top:16px; inset-inline-end:16px; font-size:28px; font-weight:800; line-height:1; color:color-mix(in srgb,var(--accent) 30%,transparent); }
[data-layout=obsidian] .opf-steps svg { width:40px; height:40px; padding:9px; border-radius:12px; background:color-mix(in srgb,var(--accent) 14%,transparent); fill:none; stroke:var(--accent); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
[data-layout=obsidian] .opf-steps p { margin:14px 0 0; font-size:14px; line-height:1.6; color:#d4d4d8; }

/* The published guide reads as an article. */
[data-layout=obsidian] .opf-prose { max-width:760px; }
[data-layout=obsidian] .opf-standfirst { margin:0 0 18px; font-size:17px; font-weight:600; line-height:1.6; color:#ececef !important; }
[data-layout=obsidian] .opf-prose h3 { margin:22px 0 8px; font-size:17px; }
[data-layout=obsidian] .opf-prose p { margin:0 0 14px; white-space:pre-line; }
[data-layout=obsidian] .opf-prose img { display:block; max-width:100%; height:auto; margin:8px 0 16px; border-radius:12px; }
[data-layout=obsidian] .opf-prose a { color:var(--accent); }

/* Questions people search for, answered in place. */
[data-layout=obsidian] .opf-faq { display:grid; gap:10px; max-width:860px; }
[data-layout=obsidian] .opf-faq details { border:1px solid var(--line); border-radius:14px; background:var(--paper); }
[data-layout=obsidian] .opf-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; font-size:15px; font-weight:600; cursor:pointer; list-style:none; }
[data-layout=obsidian] .opf-faq summary::-webkit-details-marker { display:none; }
[data-layout=obsidian] .opf-faq summary::after { content:"+"; flex:none; font-size:20px; color:var(--accent); }
[data-layout=obsidian] .opf-faq details[open] summary::after { content:"−"; }
[data-layout=obsidian] .opf-faq details p { margin:0; padding:0 18px 16px; font-size:14.5px; }
[data-layout=obsidian] .opf-notice { max-width:860px; margin:16px 0 0; padding:12px 14px; border-inline-start:3px solid var(--line); font-size:12.5px !important; line-height:1.6; color:#8e9198 !important; }

/* The other platforms, each named by its own search phrase. */
[data-layout=obsidian] .opf-others-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
[data-layout=obsidian] .opf-others-grid a { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:inherit; text-decoration:none; transition:border-color .15s,transform .15s; }
[data-layout=obsidian] .opf-others-grid a:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); transform:translateY(-2px); }
[data-layout=obsidian] .opf-others-grid img { flex:none; width:40px; height:40px; border-radius:10px; background:#fff; }
[data-layout=obsidian] .opf-others-grid span { display:grid; gap:3px; min-width:0; }
[data-layout=obsidian] .opf-others-grid small { overflow:hidden; font-size:12px; color:var(--muted); white-space:nowrap; text-overflow:ellipsis; }

@media(max-width:1100px) {
  [data-layout=obsidian] :is(.opf-steps,.opf-finds) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:860px) {
  [data-layout=obsidian] :is(.opf-hero,.opf-split) { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:560px) {
  [data-layout=obsidian] .opf-title img { width:56px; height:56px; border-radius:14px; }
  [data-layout=obsidian] .opf-steps { grid-template-columns:minmax(0,1fr); }
  [data-layout=obsidian] .opf-points { grid-template-columns:minmax(0,1fr); }
  [data-layout=obsidian] .opf-actions>a { flex:1 1 100%; justify-content:center; }
}
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] :is(.opf-primary,.opf-others-grid a) { transition:none; }
}

/* Category tabs under the hero actions: plain links to the site's category
   pages, wrapping on narrow screens. */
[data-layout=obsidian] .opf-categories { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:22px; }
[data-layout=obsidian] .opf-categories>span { flex:1 0 100%; color:var(--muted); font-size:11.5px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
[data-layout=obsidian] .opf-categories a { display:inline-flex; align-items:center; min-height:36px; padding:0 14px; border:1px solid var(--line); border-radius:999px; color:#e4e4e7; font-size:13.5px; text-decoration:none; transition:border-color .15s,color .15s; }
[data-layout=obsidian] .opf-categories a:hover { border-color:var(--accent); color:var(--accent); }
[data-layout=obsidian] .opf-categories .opf-categories-all { border-color:transparent; color:var(--accent); font-weight:650; }
/* Obsidian's phone shopping layer, after Taobao, JD and Amazon: a tighter
   header, a section tab bar that docks on product pages, filters in a
   bottom sheet, products before the lookbook on the home page and a
   back-to-top button. Loaded last; mobile.js drives the tab bar and button. */
[data-layout=obsidian] .op-tabs { display:none; }
[data-layout=obsidian] .o-back-top { position:fixed; z-index:24; bottom:calc(20px + env(safe-area-inset-bottom)); inset-inline-end:16px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffff26; border-radius:50%; background:#18191ce6; color:#f3f1eb; cursor:pointer; opacity:0; transform:translateY(12px); pointer-events:none; backdrop-filter:blur(10px); transition:opacity .2s ease,transform .2s ease; }
[data-layout=obsidian] .o-back-top[hidden] { display:none; }
[data-layout=obsidian] .o-back-top.is-shown { opacity:1; transform:none; pointer-events:auto; }
[data-layout=obsidian] .o-back-top:hover { border-color:var(--accent); color:var(--accent); }
[data-layout=obsidian] .o-back-top svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
[data-layout=obsidian]:has(.d-refine[open]) .o-back-top { display:none; }

@media(max-width:760px) {
  /* Product pages: the docked buy bar owns the bottom edge, so the button
     sits above it; the in-page section links give way to the tab bar. */
  [data-layout=obsidian]:has(.product-mobile-bar) .o-back-top { bottom:calc(92px + env(safe-area-inset-bottom)); }
  [data-layout=obsidian] .op-sections { display:none; }
  /* The looks teaser scrolls sideways rather than widening the page (which
     right-to-left phones show as a sideways shift); its hover pop is off here. */
  [data-layout=obsidian] .op-teaser-row { min-width:0; overflow-x:auto; scrollbar-width:none; }
  [data-layout=obsidian] .op-tabs { position:fixed; z-index:25; top:var(--o-header-offset); inset-inline:0; display:flex; flex-wrap:nowrap; gap:2px; padding-inline:8px; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid var(--line); background:#0c0d0ff2; backdrop-filter:blur(16px); opacity:0; transform:translateY(-100%); pointer-events:none; transition:opacity .2s ease,transform .2s ease,top .22s ease; }
  [data-layout=obsidian] .op-tabs.is-shown { opacity:1; transform:none; pointer-events:auto; }
  [data-layout=obsidian] .op-tabs::-webkit-scrollbar { display:none; }
  [data-layout=obsidian] .op-tabs a { flex:1 0 auto; padding:13px 10px 11px; border-bottom:2px solid transparent; color:#b7b6bc; font-size:13px; text-align:center; text-decoration:none; white-space:nowrap; }
  [data-layout=obsidian] .op-tabs a[aria-current=true] { border-bottom-color:var(--accent); color:#f6f3ea; font-weight:650; }
}

@media(max-width:700px) {
  /* Header: the same three rows, tighter; section links keep their 40px
     tap height. */
  [data-layout=obsidian] header.storefront-header .wrap.header { padding-top:6px; row-gap:6px; }
  [data-layout=obsidian] header.storefront-header .header-actions summary { min-height:36px; height:36px; }
  [data-layout=obsidian] header.storefront-header a.member-entry { width:36px; height:36px; min-height:36px; }
  [data-layout=obsidian] header.storefront-header form.o-header-search { min-height:38px; height:38px; padding-block:2px; }
  [data-layout=obsidian] header.storefront-header .primary-nav { padding-top:0; }
  /* The language and currency panel spans the screen under the top row, so
     right-to-left pages, where it opens from the left, no longer overflow. */
  [data-layout=obsidian] header.storefront-header .preferences-panel { position:fixed; top:52px; inset-inline:16px; width:auto; }

  /* Filters open as a bottom sheet over a dimmed page; tapping the dim
     closes it, being the open summary's own backdrop. */
  [data-layout=obsidian] .o-catalog-controls:has(.d-refine[open]) { z-index:40; }
  [data-layout=obsidian] .o-catalog-controls .d-refine[open]>summary::after { content:""; position:fixed; z-index:1; inset:0; background:#000000a6; }
  [data-layout=obsidian] .o-catalog-controls .d-refine-content { position:fixed; z-index:2; top:auto; bottom:0; inset-inline:0; width:auto; max-height:calc(100dvh - var(--o-header-offset) - 24px); margin:0; padding:10px 16px calc(18px + env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; border-width:1px 0 0; border-radius:18px 18px 0 0; animation:o-sheet-up .22s ease; }
  [data-layout=obsidian] .o-catalog-controls .d-refine-content::before { content:""; grid-column:1/-1; justify-self:center; width:40px; height:4px; margin-bottom:6px; border-radius:2px; background:#ffffff33; }

  /* Home: categories and the top charts come before the lookbook. */
  [data-layout=obsidian][data-page=home] main { display:flex; flex-direction:column; }
  [data-layout=obsidian][data-page=home] .o-home-intro { display:contents; }
  [data-layout=obsidian][data-page=home] main>* { order:5; }
  [data-layout=obsidian][data-page=home] .o-home-copy { order:1; padding-top:14px; }
  [data-layout=obsidian][data-page=home] main>.catalog-icon-navigation { order:2; }
  [data-layout=obsidian][data-page=home] main>.o-charts { order:3; }
  [data-layout=obsidian][data-page=home] .o-looks { order:4; margin-top:32px; }
}
@keyframes o-sheet-up { from { transform:translateY(100%); } }
@media(prefers-reduced-motion:reduce) {
  [data-layout=obsidian] :is(.o-back-top,.op-tabs) { transition:none; }
  [data-layout=obsidian] .o-catalog-controls .d-refine-content { animation:none; }
}
