:root {
  --ob-ref-paper: #f4f3ef;
  --ob-ref-paper-strong: #fbfaf7;
  --ob-ref-ink: #11110f;
  --ob-ref-text: rgba(17, 17, 15, .72);
  --ob-ref-muted: rgba(17, 17, 15, .52);
  --ob-ref-line: rgba(17, 17, 15, .14);
  --ob-ref-line-strong: rgba(17, 17, 15, .34);
  --ob-ref-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ob-ref-mono: "IBM Plex Mono", "Courier New", monospace;
  --ob-ref-ease: cubic-bezier(.16, 1, .3, 1);
}

html { text-size-adjust: 100%; }

body {
  font-family: var(--ob-ref-sans);
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 1px solid currentColor !important;
  outline-offset: 3px;
}

/* Campaign hero: retain the image-led composition while making its copy usable. */
.ourobor-hero-system .ohs-kicker,
.ourobor-hero-system .ohs-label { font-size: 10px; line-height: 1.35; letter-spacing: .16em; }
.ourobor-hero-system .ohs-text { max-width: 48ch; line-height: 1.62; letter-spacing: .075em; }
.ourobor-hero-system .ohs-link { min-height: 50px; font-size: 10px; letter-spacing: .16em; }

/* Catalogue: preserve the strict object grid and repair the tiny mobile labels. */
#ourobor-catalog-unified .uc-kicker,
#ourobor-catalog-unified .uc-intro-meta,
#ourobor-catalog-unified .uc-item,
#ourobor-catalog-unified .uc-phase-item { line-height: 1.4; }

#ourobor-catalog-unified .uc-product-name { text-wrap: balance; }
#ourobor-catalog-unified .uc-product-price { font-variant-numeric: tabular-nums; }

/* Product object: a readable purchase panel with the existing coded-garment voice. */
[data-ourobor-product] .op-description {
  max-width: 62ch;
  color: var(--op-text, var(--ob-ref-text));
  font-size: 14px;
  line-height: 1.7;
  text-wrap: pretty;
}

[data-ourobor-product] :is(.op-kicker, .op-code, .op-label, .op-selection, .op-shipping-note, .op-cart-status, .op-detail summary) {
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .12em;
}

[data-ourobor-product] .op-size {
  min-width: 50px;
  height: 44px;
  font-size: 11px;
}

[data-ourobor-product] .op-color { width: 32px; height: 32px; }
[data-ourobor-product] .op-stepper { height: 44px; grid-template-columns: 42px 44px 42px; }
[data-ourobor-product] .op-buy { min-height: 56px; font-size: 10px; }
[data-ourobor-product] .op-detail summary { min-height: 48px; }
[data-ourobor-product] .op-detail-content { font-size: 13px; line-height: 1.65; }

[data-ourobor-product] .op-description.is-collapsible:not(.is-expanded) {
    max-height: 8.25em;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(#000 72%, transparent);
    mask-image: linear-gradient(#000 72%, transparent);
  }

.op-description-toggle {
  display: block;
  width: max-content;
  margin: 10px 0 0;
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--op-ink, var(--ob-ref-ink));
  font: 10px/1.2 var(--ob-ref-mono);
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
}

/* Checkout keeps the manifest aesthetic, but labels and errors are information. */
#ourobor-cart :is(.ob-cart-kicker, .ob-cart-section-label, .ob-cart-form-head span, .ob-cart-form-section legend) {
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .11em;
}

#ourobor-cart :is(.ob-cart-field > span, .ob-cart-city-label > span, .ob-cart-pvz-label > span) {
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .09em;
}

#ourobor-cart .ob-cart-item-copy > span,
#ourobor-cart .ob-cart-item-options,
#ourobor-cart .ourobor-delivery-modes span,
#ourobor-cart .ourobor-payment-methods span,
#ourobor-cart .ob-cart-consent,
#ourobor-cart .ob-cart-error,
#ourobor-cart .ob-cart-summary-row { font-size: 10px; }

#ourobor-cart .ob-cart-field :is(input, select, textarea) { min-height: 48px; line-height: 1.45; }
#ourobor-cart .ob-cart-submit { min-height: 60px; font-size: 10px; }

/* Public documents keep their numbered archive layout with a readable measure. */
.service-document {
  max-width: 920px;
  font-size: clamp(14px, 1.12vw, 17px);
  line-height: 1.72;
  letter-spacing: 0;
}

.service-document h2 { line-height: 1.04; text-wrap: balance; }
.service-content aside { font-size: 10px; line-height: 1.5; }
.service-toc a { font-size: 10px; line-height: 1.5; letter-spacing: .09em; }
.service-facts strong { font-size: 10px; }

/* Account is the same system language; small labels remain readable. */
.auth-form label > span,
.form-head,
.eyebrow,
.account-nav button,
.account-home,
.logout,
.quick-actions > *,
.profile-readiness button,
.account-level-copy,
.account-level-description,
.account-promo-card small,
.account-promo-card span { line-height: 1.4; }

.auth-form label > span,
.form-head,
.account-home,
.logout,
.account-nav button,
.quick-actions > *,
.profile-readiness button { font-size: 10px; }

.auth-form input,
.profile-form input { min-height: 48px; font-size: 16px; }

/* Footer/legal data is part of the interface, not decorative microcopy. */
#ourobor-footer .of-link { min-height: 42px; }
#ourobor-footer .of-link-label { line-height: 1.35; }
#ourobor-footer .of-legal-approved-copy { font-size: 9px !important; line-height: 1.55 !important; }

@media (max-width: 768px) {
  .ourobor-hero-system .ohs-kicker,
  .ourobor-hero-system .ohs-label { font-size: 9px; letter-spacing: .14em; }
  .ourobor-hero-system .ohs-title { line-height: .9; text-wrap: balance; }
  .ourobor-hero-system .ohs-text { font-size: max(var(--hero-mobile-body-size, 10px), 12px); line-height: 1.55; letter-spacing: .045em; }
  .ourobor-hero-system .ohs-link { min-height: 50px; }

  #ourobor-catalog-unified .uc-intro { padding: 34px 16px 24px; }
  #ourobor-catalog-unified .uc-title { font-size: clamp(38px, 11.5vw, 48px); line-height: .94; letter-spacing: -.035em; }
  #ourobor-catalog-unified .uc-intro-side { font-size: 9px; line-height: 1.45; letter-spacing: .1em; }
  #ourobor-catalog-unified .uc-menu { scrollbar-width: none; }
  #ourobor-catalog-unified .uc-menu::-webkit-scrollbar { display: none; }
  #ourobor-catalog-unified .uc-item { min-height: 48px; padding: 0 14px; font-size: 10px; letter-spacing: .08em; }
  #ourobor-catalog-unified .uc-phase-item { min-height: 48px; font-size: 10px; letter-spacing: .08em; }
  #ourobor-catalog-unified .uc-product-title { min-height: 64px; padding: 15px 12px 0; font-size: 12px; line-height: 1.28; letter-spacing: .025em; }
  #ourobor-catalog-unified .uc-product-price { font-size: 11px; white-space: nowrap; }
  #ourobor-catalog-unified .uc-product-meta { min-height: 64px; padding: 10px 12px 15px; }
  #ourobor-catalog-unified .uc-product-collection-label { font-size: 8px; letter-spacing: .1em; }
  #ourobor-catalog-unified .uc-product-collection { font-size: 10px; line-height: 1.35; }
  #ourobor-catalog-unified .uc-product-badge { font-size: 9px; }

  [data-ourobor-product] .op-panel { padding: 22px 16px 0; }
  [data-ourobor-product] .op-panel-inner { display: flex; flex-direction: column; }
  [data-ourobor-product] .op-heading { order: 1; }
  [data-ourobor-product] .op-title { order: 2; margin-top: 14px; font-size: clamp(38px, 12.8vw, 56px); line-height: .9; }
  [data-ourobor-product] .op-price-row { order: 3; }
  [data-ourobor-product] .op-installment { order: 4; min-height: 44px; }
  [data-ourobor-product] .op-config { order: 5; margin-top: 24px; gap: 24px; }
  [data-ourobor-product] .op-quantity-row { order: 6; margin-top: 24px; }
  [data-ourobor-product] .op-description { order: 7; margin-top: 26px; font-size: 13px; line-height: 1.65; }
  [data-ourobor-product] .op-description-toggle { order: 8; display: block; }
  [data-ourobor-product] .op-buy { order: 9; }
  [data-ourobor-product] .op-shipping-note { order: 10; }
  [data-ourobor-product] .op-cart-status { order: 11; }
  [data-ourobor-product] .op-details { order: 12; margin-top: 24px; }
  [data-ourobor-product] .op-size { flex: 1 1 52px; min-width: 52px; height: 46px; }
  [data-ourobor-product] .op-color { width: 34px; height: 34px; }
  [data-ourobor-product] .op-stepper { height: 46px; }
  [data-ourobor-product] .op-mobile-bar { min-height: 78px; padding: 11px 12px calc(11px + env(safe-area-inset-bottom)); }
  [data-ourobor-product] .op-mobile-title,
  [data-ourobor-product] .op-mobile-price { font-size: 10px; line-height: 1.35; }
  [data-ourobor-product] .op-mobile-buy { min-height: 52px; font-size: 10px; letter-spacing: .1em; }

  #ourobor-cart .ob-cart-item { min-height: 164px; }
  #ourobor-cart .ob-cart-item-copy a { font-size: 18px; line-height: 1.02; }
  #ourobor-cart .ob-cart-item-copy > span,
  #ourobor-cart .ob-cart-item-options { font-size: 9px; line-height: 1.4; }
  #ourobor-cart .ob-cart-form-head h2 { font-size: 32px; }
  #ourobor-cart .ob-cart-consent { font-size: 11px; line-height: 1.55; }
  #ourobor-cart .ob-cart-summary-row,
  #ourobor-cart .ob-cart-summary-total span { font-size: 10px; }

  .service-hero { min-height: 52vh; padding: 22px 16px 28px; }
  .service-hero-top,
  .service-hero-bottom { font-size: 9px; line-height: 1.45; letter-spacing: .11em; }
  .service-hero h1,
  .service-page--privacy .service-hero h1,
  .service-page--consent .service-hero h1 { width: 100%; margin: 56px 0; font-size: clamp(42px, 13vw, 64px); line-height: .92; }
  .service-content { display: block; }
  .service-content aside { min-height: 0; padding: 24px 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .service-content aside strong { font-size: 76px; }
  .service-document { max-width: none; padding: 34px 16px 52px; font-size: 14px; line-height: 1.72; }
  .service-document h2 { margin-top: 48px; font-size: 28px; }
  .service-facts { grid-template-columns: 1fr; }
  .service-toc a { min-height: 34px; display: flex; align-items: center; }

  .auth-form-copy,
  .lead,
  .overview-intro p,
  .account-level-description { font-size: 13px; line-height: 1.6; }
  .account-nav button { min-height: 50px; }
  .workspace { padding-bottom: 72px; }
  #ourobor-footer .of-legal-approved-copy { grid-template-columns: 1fr !important; font-size: 10px !important; }
  #ourobor-footer .of-legal-approved-copy p { border-right: 0 !important; }
}

@media (max-width: 420px) {
  #ourobor-catalog-unified .uc-section { padding-right: 10px; padding-left: 10px; }
  #ourobor-catalog-unified .uc-product-title { padding-right: 10px; padding-left: 10px; font-size: 11px; }
  #ourobor-catalog-unified .uc-product-meta { padding-right: 10px; padding-left: 10px; }
  [data-ourobor-product] .op-mobile-bar { grid-template-columns: minmax(0, .9fr) minmax(176px, 1.25fr); }
}

@media (prefers-reduced-motion: reduce) {
  :where(a, button, input, select, textarea, summary) { scroll-behavior: auto; transition: none !important; }
}

/* Finishing layer outranks the exported template without changing its composition. */
html body #ourobor-catalog-unified .uc-intro { padding: 48px clamp(24px,4.25vw,64px) 32px; gap: 28px; align-items: end; }
html body #ourobor-catalog-unified .uc-title { font-size: clamp(44px,4.8vw,68px); line-height: .98; letter-spacing: -.045em; }
html body #ourobor-catalog-unified :is(.uc-kicker,.uc-meta) { font-size: 10px; line-height: 1.5; letter-spacing: .1em; }
html body #ourobor-catalog-unified .uc-item { min-height: 56px; font-size: 11px; letter-spacing: .07em; }
html body #ourobor-catalog-unified .uc-item.active { font-weight: 600; }
html body #ourobor-catalog-unified .uc-section { padding: 28px clamp(24px,4.25vw,64px) 64px; }
html body #ourobor-catalog-unified .uc-product-title { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; min-height: 68px; padding: 20px 20px 0; gap: 12px; font-size: 13px; line-height: 1.4; letter-spacing: .015em; }
html body #ourobor-catalog-unified .uc-product-heading { min-width: 0; }
html body #ourobor-catalog-unified .uc-product-name { text-wrap: pretty; }
html body #ourobor-catalog-unified .uc-product-price { font-size: 12px; line-height: 1.5; letter-spacing: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
html body #ourobor-catalog-unified .uc-colors { margin: 12px 20px 0; gap: 7px; }
html body #ourobor-catalog-unified .uc-color { width: 13px; height: 13px; }
html body #ourobor-catalog-unified .uc-product-meta { min-height: 66px; padding: 14px 20px 20px; }
html body #ourobor-catalog-unified .uc-product-collection-label { font-size: 9px; letter-spacing: .09em; }
html body #ourobor-catalog-unified .uc-product-collection { font-size: 11px; line-height: 1.4; }
html body #ourobor-catalog-unified .uc-product-action { width: 40px; height: 40px; }
html body #ourobor-catalog-unified .uc-product-badge { font-size: 10px; letter-spacing: .1em; }
html body #ourobor-catalog-unified .uc-phase-item { min-height: 48px; font-size: 10px; }
html body #ourobor-look-builder :is(.lb-kicker,.lb-meta,.lb-variant-label,.lb-total-label) { font-size: 10px; line-height: 1.5; }
html body #ourobor-look-builder .lb-tab { min-height: 48px; font-size: 11px; }
html body #ourobor-look-builder .lb-item-name { font-size: 12px; line-height: 1.4; letter-spacing: .025em; }
html body #ourobor-look-builder .lb-item-meta { font-size: 10px; line-height: 1.4; }
html body #ourobor-look-builder .lb-price { font-size: 12px; font-variant-numeric: tabular-nums; }
html body #ourobor-look-builder .lb-item-select { min-height: 88px; }
html body #ourobor-look-builder .lb-size { min-width: 46px; min-height: 44px; font-size: 11px; }
html body #ourobor-look-builder .lb-variants { padding-block: 22px; }
html body #ourobor-look-builder .lb-action { min-height: 56px; font-size: 11px; letter-spacing: .1em; }
html body #ourobor-look-builder .lb-look-note { font-size: 12px; line-height: 1.65; }
html body [data-ourobor-product] .op-config { gap: 24px; }
html body [data-ourobor-product] .op-size { min-height: 44px; }
html body [data-ourobor-product] .op-price-row { padding-block: 16px; }
html body [data-ourobor-product] .op-details { margin-top: 28px; }
html body [data-ourobor-product] .op-detail summary { padding-block: 18px; }
html body [data-ourobor-product] .op-detail-content { padding-bottom: 24px; }
html body #ourobor-cart .ob-cart-field :is(input,select,textarea) { border-color: var(--ob-cart-line); transition: border-color .2s ease,background-color .2s ease; }
html body #ourobor-cart .ob-cart-field :is(input,select,textarea):focus { border-color: var(--ob-cart-ink); background: var(--ob-cart-paper); }
html body #ourobor-cart .ob-cart-item-copy { gap: 12px; }
html body #ourobor-cart .ob-cart-item-copy a { line-height: 1.15; }
html body #ourobor-cart .ob-cart-quantity { min-height: 44px; }
html body #ourobor-cart .ob-cart-quantity button { min-width: 40px; min-height: 44px; }
html body #ourobor-cart .ob-cart-remove { min-width: 44px; min-height: 44px; }
html body #ourobor-cart .ob-cart-summary-row { line-height: 1.6; }
html body #ourobor-cart .ob-cart-consent { line-height: 1.65; }
html body #ourobor-cart .ob-cart-empty p { font-size: 13px; line-height: 1.6; }
html body #ourobor-footer .of-link { min-height: 46px; }
html body #ourobor-footer .of-link-label { font-size: 12px; letter-spacing: .055em; }
html body .service-document p { margin-block: 18px; }
html body .service-document li + li { margin-top: 10px; }
html body .service-toc a { min-height: 40px; display: flex; align-items: center; }
html body .auth-form input:focus { border-color: currentColor; }
html body .auth-form-copy { line-height: 1.65; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html body #ourobor-catalog-unified .uc-product-action { transition: background-color .22s ease,color .22s ease; }
  html body #ourobor-catalog-unified .uc-product:hover .uc-product-action { background: var(--uc-ink,#111); color: var(--uc-paper,#fbfaf7); }
}
@media (max-width:768px) {
  html body #ourobor-catalog-unified .uc-intro { padding: 32px 16px 24px; gap: 24px; }
  html body #ourobor-catalog-unified .uc-title { font-size: clamp(38px,10.5vw,54px); }
  html body #ourobor-catalog-unified .uc-intro-side { gap: 18px; }
  html body #ourobor-catalog-unified .uc-section { padding: 20px 12px 44px; }
  html body #ourobor-catalog-unified .uc-item { min-height: 50px; font-size: 10px; padding-inline: 14px; }
  html body #ourobor-catalog-unified .uc-product-title { grid-template-columns: 1fr; min-height: 70px; align-content: start; padding: 14px 12px 0; gap: 7px; font-size: 12px; line-height: 1.35; }
  html body #ourobor-catalog-unified .uc-product-price { font-size: 12px; }
  html body #ourobor-catalog-unified .uc-colors { margin: 10px 12px 0; }
  html body #ourobor-catalog-unified .uc-product-meta { min-height: 64px; padding: 12px; }
  html body #ourobor-catalog-unified .uc-product-collection { font-size: 10px; }
  html body #ourobor-catalog-unified .uc-preorder-badge :is(b,small) { font-size: 9px; letter-spacing: .02em; }
  html body [data-ourobor-product] .op-buy { order: 7; }
  html body [data-ourobor-product] .op-shipping-note { order: 8; }
  html body [data-ourobor-product] .op-cart-status { order: 9; }
  html body [data-ourobor-product] .op-description { order: 10; }
  html body [data-ourobor-product] .op-description-toggle { order: 11; min-height: 44px; }
  html body #ourobor-cart .ob-cart-item-copy a { font-size: 17px; }
  html body #ourobor-cart .ob-cart-field :is(input,select,textarea) { font-size: 16px; }
  html body #ourobor-cart .ob-cart-consent { font-size: 12px; }
}

@media (max-width:768px) {
  html body #ourobor-catalog-unified .uc-product-price { text-align: left; justify-self: start; }
}

html body [data-ourobor-product] :is(.op-gifts-head,.op-life-head,.op-related-head) { gap: 20px; }
html body [data-ourobor-product] :is(.op-gifts-title,.op-life-title,.op-related-title) { line-height: 1.05; letter-spacing: -.035em; text-wrap: balance; }
html body [data-ourobor-product] :is(.op-gifts-intro,.op-gift-text) { font-size: 13px; line-height: 1.65; max-width: 52ch; }
html body [data-ourobor-product] :is(.op-gifts-kicker,.op-life-kicker,.op-related-kicker,.op-gift-meta,.op-related-collection) { font-size: 10px; line-height: 1.5; letter-spacing: .08em; }
html body [data-ourobor-product] .op-gift-title { font-size: 15px; line-height: 1.3; }
html body [data-ourobor-product] .op-related-name { font-size: 12px; line-height: 1.4; }
html body [data-ourobor-product] .op-related-price { font-size: 12px; font-variant-numeric: tabular-nums; }
html body :is(.auth-form,.profile-form) label { gap: 9px; }
html body .account-nav button { min-height: 48px; }
html body .overview-intro p { max-width: 58ch; line-height: 1.65; }
@media (max-width:768px) {
  html body [data-ourobor-product] .op-preorder { order: 4; }
  html body [data-ourobor-product] :is(.op-gifts-title,.op-life-title,.op-related-title) { font-size: clamp(28px,8vw,40px); }
}
@media (prefers-reduced-motion:reduce) {
  html body #ourobor-cart .ob-cart-field :is(input,select,textarea) { transition: none; }
}

/* Keep the real action label; the template adds a second visual label. */
html body #ourobor-look-builder .lb-action-button::after { content: none; }
html body #ourobor-look-builder { scroll-margin-top: 110px; }


/* Original catalogue layout with a framed current price. */
html body #ourobor-catalog-unified .uc-product-price > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 8px;
  border: 1px solid var(--uc-line-strong);
  line-height: 1.2;
  white-space: nowrap;
}

/* Compact spacing within the original card composition. */
html body #ourobor-catalog-unified .uc-product-title { min-height: 0; }
html body #ourobor-catalog-unified .uc-colors { margin-top: 10px; }
html body #ourobor-catalog-unified .uc-product-meta {
  margin-top: 0;
  min-height: 0;
  padding-top: 8px;
  padding-bottom: 16px;
}

/* Frosted public dialogs, matching the support widget's glass surface. */
html body .orb-signal,
html body .ob-cookie-layer--settings {
  background: rgba(19, 19, 18, .16);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html body .orb-signal-shell,
html body .ob-cookie-card {
  background: rgba(250, 250, 248, .74);
  border: 1px solid rgba(255, 255, 255, .84);
  outline: 1px solid rgba(17, 17, 17, .1);
  -webkit-backdrop-filter: blur(30px) saturate(145%);
  backdrop-filter: blur(30px) saturate(145%);
}
html[data-ourobor-theme="dark"] body .orb-signal-shell {
  background: rgba(22, 22, 21, .76) !important;
}
html[data-ourobor-theme="dark"] body :is(.orb-signal-head,.orb-signal-content,.orb-signal-foot) {
  background: transparent !important;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html body :is(.orb-signal-shell,.ob-cookie-card) { background:var(--ob-surface,#fafafa); }
  html[data-ourobor-theme="dark"] body .orb-signal-shell { background: #161615 !important; }
}

/* Mobile cards retain a simple reading order without a clustered swatch block. */
@media (max-width:768px) {
  html body #ourobor-catalog-unified .uc-product-title { gap: 6px; padding-top: 12px; }
  html body #ourobor-catalog-unified .uc-colors {
    margin-top: 8px;
    gap: 6px;
    flex-wrap: nowrap;
  }
  html body #ourobor-catalog-unified .uc-color { width: 12px; height: 12px; flex: 0 0 12px; }
  html body #ourobor-catalog-unified .uc-product-meta { padding-top: 7px; padding-bottom: 12px; }
  html body #ourobor-catalog-unified .uc-product-collection-label { display: none; }
}

/* Reviews use the same typography and text glyph as the product accordions. */
html body [data-ourobor-product] .or-toggle { font-family: inherit; }
html body [data-ourobor-product] .or-toggle-left > b {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .12em;
}
html body [data-ourobor-product] .or-plus {
  width: auto;
  height: auto;
  flex: 0 0 auto;
  font-family: inherit;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.45;
  letter-spacing: 1.2px;
}
html body [data-ourobor-product] .or-plus::before {
  content: "+";
  position: static;
  width: auto;
  height: auto;
  background: none;
  transform: none;
}
html body [data-ourobor-product] .or-plus::after { content: none; }
html body [data-ourobor-product] .or-widget.is-open .or-plus::before { content: "−"; }

/* Product purchase clarity: local proposal. */
html body [data-ourobor-product] .op-size:not(:disabled) { color: var(--op-ink); opacity: 1; border-color: rgba(17,17,17,.35); }
html body [data-ourobor-product] .op-size.is-active { background:var(--op-ink); color:var(--op-paper,#faf9f6); }
html body [data-ourobor-product] .op-size:disabled { opacity:.35; text-decoration:line-through; cursor:not-allowed; }
html body [data-ourobor-product] .op-option-head { flex-wrap:wrap; gap:8px; }
.op-guide-link,.op-review-shortcut { padding:0; border:0; background:none; color:inherit; text-decoration:underline; text-underline-offset:4px; cursor:pointer; font:11px/1.5 Arial,sans-serif; min-height:32px; }
.op-guide-link { margin-left:auto; }
.op-review-shortcut { display:block; margin:10px 0 0; text-align:left; order:2; }
.op-selected-variant { display:block; font:10px/1.4 Arial,sans-serif; letter-spacing:0; opacity:.75; }
html body [data-ourobor-product] .op-price-row { flex-wrap:wrap; gap:8px 16px; }
.op-variant-caption { flex-basis:100%; font:11px/1.4 Arial,sans-serif; color:var(--op-muted); }
.op-purchase-facts { margin:16px 0; font:12px/1.6 Arial,sans-serif; color:var(--op-muted); order:4; }
.op-purchase-facts p { margin:6px 0; }
.op-purchase-facts b { font-weight:400; color:var(--op-ink); }
html body [data-ourobor-product] .op-life[hidden] { display:none; }
html body [data-ourobor-product] .op-gifts { padding:0; }
.op-gifts-disclosure > summary { cursor:pointer; padding:22px 24px; font:12px/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.op-gifts-expanded { padding:0; }
.op-guide-dialog { box-sizing:border-box; width:min(700px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; overflow:auto; border:1px solid #aaa; background:rgba(250,250,250,.94); color:#111; backdrop-filter:blur(30px); }
.op-guide-dialog::backdrop { background:rgba(0,0,0,.3); backdrop-filter:blur(4px); }
.op-guide-dialog h2 { padding-right:40px; font:26px/1.1 Arial,sans-serif; margin:0 0 24px; }
.op-guide-close { position:absolute; right:8px; top:8px; width:44px; height:44px; background:none; border:0; font:28px Arial; cursor:pointer; }
.op-guide-body img { display:block; max-width:100%; height:auto; }
.op-guide-help { font:13px/1.6 Arial,sans-serif; margin:20px 0 0; }
@media(min-width:769px) {
 html body [data-ourobor-product] .op-panel-inner { display:flex; flex-direction:column; }
 html body [data-ourobor-product] .op-heading { order:1; }
 html body [data-ourobor-product] .op-title { order:2; }
 html body [data-ourobor-product] .op-review-shortcut { order:3; }
 html body [data-ourobor-product] .op-price-row { order:4; }
 html body [data-ourobor-product] .op-installment { order:5; }
 html body [data-ourobor-product] .op-purchase-facts { order:6; }
 html body [data-ourobor-product] .op-config { order:7; }
 html body [data-ourobor-product] .op-quantity-row { order:8; }
 html body [data-ourobor-product] .op-buy { order:9; }
 html body [data-ourobor-product] .op-shipping-note { order:10; }
 html body [data-ourobor-product] .op-cart-status { order:11; }
 html body [data-ourobor-product] .op-description { order:12; }
 html body [data-ourobor-product] .op-description-toggle { order:13; }
 html body [data-ourobor-product] .op-details { order:14; }
}
.op-guide-full-image { display:block; color:inherit; text-decoration:none; }
.op-guide-full-image > span { display:block; padding:12px; font:10px Arial,sans-serif; }

/* Keep the complete look selection immediately before reviews. */
html body [data-ourobor-look] .op-shell > .ol-components {
 margin-top:0; padding:18px 24px 24px; scroll-margin-top:120px;
}
@media(max-width:768px) {
 html body [data-ourobor-look] .op-shell > .ol-components { padding:12px 16px 16px; }
}

@media(min-width:769px) {
 html body [data-ourobor-look] .op-panel-inner > .ol-components { order:15; margin-top:24px; }
}

/* Native desktop reading: document travel first reads the upper product panel,
   then releases the whole stage. Lower sections never snap or intercept input. */
.ob-product-stage-track, .ob-product-stage { display:contents; }
@media(min-width:769px) {
 html body [data-ourobor-product] { overflow:clip!important; }
 /* Readable fallback before the stage script measures its travel distance. */
 html body [data-ourobor-product] .op-layout { height:auto; min-height:0; align-items:start; }
 html body [data-ourobor-product] .op-gallery { position:sticky; top:110px; height:clamp(160px,calc(100svh - 130px),700px); min-height:0; }
 html body [data-ourobor-product] .op-panel { height:auto; max-height:none; min-height:0; overflow:visible; overscroll-behavior:auto; }
 html body [data-ourobor-product] .op-panel-inner { position:static; flex:0 0 auto; }
 html body [data-ourobor-product].ob-product-stage-active .ob-product-stage-track {
  display:block; height:calc(var(--ob-stage-topline) + var(--ob-stage-height) + var(--ob-stage-travel)); overflow-anchor:none;
 }
 html body [data-ourobor-product].ob-product-stage-active .ob-product-stage {
  display:block; position:sticky; top:var(--ob-stage-top); height:calc(var(--ob-stage-topline) + var(--ob-stage-height));
 }
 html body [data-ourobor-product].ob-product-stage-active .op-layout {
  position:static; top:auto; height:var(--ob-stage-height); align-items:stretch;
 }
 html body [data-ourobor-product].ob-product-stage-active .op-gallery {
  position:relative; top:auto; height:100%; min-height:0;
 }
 html body [data-ourobor-product].ob-product-stage-active .op-panel {
  box-sizing:border-box; height:100%; overflow:hidden; scroll-behavior:auto!important;
 }
 html body [data-ourobor-product] .op-reviews-zone { scroll-margin-top:110px; }
}

html body [data-ourobor-product] .op-size:not(:disabled):hover,
html body [data-ourobor-product] .op-size:not(:disabled):focus-visible,
html body [data-ourobor-product] .op-size:not(:disabled).is-active {
 background:var(--op-ink,#111); color:var(--op-paper,#faf9f6); opacity:1;
}

html body [data-ourobor-product] .op-gift-media { background:var(--op-paper,#fbfaf7); }
html body [data-ourobor-product] .op-gift-media img { filter:none; }

/* Shared disclosure header for reviews and complimentary objects. */
html body [data-ourobor-product] .op-gifts-disclosure > summary {
 box-sizing:border-box; display:flex; align-items:center; justify-content:space-between;
 gap:18px; min-height:62px; padding:0 34px; list-style:none;
 background:transparent; color:var(--op-ink,#111); font-family:inherit;
 font-size:10px; font-weight:400; line-height:1.45; letter-spacing:.12em;
}
html body [data-ourobor-product] .op-gifts-disclosure > summary::-webkit-details-marker { display:none; }
html body [data-ourobor-product] .op-gifts-disclosure > summary::marker { content:""; }
html body [data-ourobor-product] .op-gifts-disclosure > summary::after {
 content:"+"; flex:0 0 auto; font-family:inherit; font-size:15px;
 font-weight:300; line-height:1.45; letter-spacing:1.2px;
}
html body [data-ourobor-product] .op-gifts-disclosure[open] > summary::after { content:"−"; }
@media(max-width:768px) {
 html body [data-ourobor-product] .op-gifts-disclosure > summary { min-height:40px; padding:0 16px; gap:9px; }
}

/* The configuration is part of the page, so it has no separate scroll track. */
.op-panel-scroll-track { display:none; }
@media(max-width:768px) {
 html body [data-ourobor-product] .op-topline { border-top:0; border-bottom:0; }
}

/* One mobile row rhythm for product details, reviews and gifts. */
@media(max-width:768px) {
 html body [data-ourobor-product] .op-detail > summary,
 html body [data-ourobor-product] .or-toggle,
 html body [data-ourobor-product] .op-gifts-disclosure > summary {
  box-sizing:border-box; min-height:58px; padding-top:0; padding-bottom:0;
  display:flex; align-items:center;
 }
}

/* Catalogue cards span the full page width. */
html body #ourobor-catalog-unified .uc-section {
 padding-left:0; padding-right:0;
}

/* Product and total-look pages share the full-width catalogue canvas. */
@media(min-width:769px) {
 html body [data-ourobor-product] .op-shell { max-width:none; width:100%; padding-top:0; padding-left:0; padding-right:0; }
 html body [data-ourobor-product] .op-topline { padding-left:28px; padding-right:28px; }
}

/* Align catalogue heading and category text with the card content. */
@media(min-width:769px) {
 html body #ourobor-catalog-unified .uc-intro { padding-left:20px; padding-right:20px; }
 html body #ourobor-catalog-unified .uc-menu-wrap { padding-left:0; padding-right:0; }
 html body #ourobor-catalog-unified .uc-menu { justify-content:flex-start; }
 html body #ourobor-catalog-unified .uc-item { padding-left:20px; padding-right:20px; }
}

/* Shared desktop edge alignment for the hero, navigation and status bar. */
@media(min-width:769px) {
 html body .ourobor-desktop-ui .obd-header,
 html body .ourobor-desktop-ui .obd-systembar { padding-left:20px; padding-right:20px; }
 html body .obd-left > .obd-command:first-child { padding-left:0; }
 html body .ourobor-hero-system .ohs-group[data-desktop-x="left"] .ohs-content { left:20px; width:min(580px,calc(100% - 40px)); }
 html body .ourobor-hero-system .ohs-nav { left:20px; right:20px; }
 html body .ourobor-hero-system .ohs-close { right:20px; }
}

/* Original footer, aligned with the full-width storefront. */
html body #ourobor-footer { --of-footer-gutter:20px; }
html body #ourobor-footer .of-shell { max-width:none; }
@media(max-width:700px) {
 html body #ourobor-footer { --of-footer-gutter:16px; }
}

/* The interactive look builder is disabled on the storefront. */
html body #ourobor-look-builder,
html body .t-rec:has(#ourobor-look-builder) { display:none !important; }

/* Mobile catalogue: image, identity and price form one quiet composition. */
@media(max-width:768px) {
 html body #ourobor-catalog-unified .uc-product-title {
  display:flex; flex-direction:column; align-items:stretch;
  padding:14px 12px 0; gap:7px; min-height:0;
 }
 html body #ourobor-catalog-unified .uc-product-heading { min-height:0; }
 html body #ourobor-catalog-unified .uc-product-name {
  font-size:12px; line-height:1.4; font-weight:500; letter-spacing:.01em; text-wrap:pretty;
 }
 html body #ourobor-catalog-unified .uc-product-price {
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-start;
  gap:4px 8px; width:auto; min-height:20px; padding:0; margin:0; border:0;
  text-align:left; font-variant-numeric:tabular-nums;
 }
 html body #ourobor-catalog-unified .uc-product-price > span {
  order:0; display:block; border:0; padding:0; font-size:14px; font-weight:400;
  line-height:20px; letter-spacing:0; color:var(--uc-ink);
 }
 html body #ourobor-catalog-unified .uc-product-price > s {
  order:1; margin:0; font-size:10px; line-height:16px;
  color:var(--uc-soft); text-align:left;
 }
 html body #ourobor-catalog-unified .uc-colors {
  margin:12px 12px 0; min-height:12px; gap:6px; align-items:center;
 }
 html body #ourobor-catalog-unified .uc-color { width:12px; height:12px; flex:0 0 12px; box-shadow:none; }
 html body #ourobor-catalog-unified .uc-product-meta { padding:8px 12px 14px; min-height:0; }
 html body #ourobor-catalog-unified .uc-product-collection {
  font-size:10px; line-height:14px; letter-spacing:.08em; color:var(--uc-soft);
 }
 html body #ourobor-catalog-unified .uc-product-badge { font-size:9px; letter-spacing:.08em; }
}

html body #ourobor-catalog-unified .uc-product-badge[hidden] { display:none !important; }
@media(max-width:768px) {
 html body #ourobor-catalog-unified .uc-product-collection { opacity:1; color:var(--uc-muted,#777); }
 html body #ourobor-catalog-unified .uc-refined-object .uc-image-wrap > .uc-img-main,
 html body #ourobor-catalog-unified .uc-refined-object .uc-image-wrap > .uc-img-hover {
  width:84%; height:80%; top:50%; left:50%; object-fit:contain; object-position:center;
  transform:translate(calc(-50% + var(--uc-product-x,0px)),calc(-50% + var(--uc-product-y,0px))) scale(var(--uc-product-scale,1));
 }
}

/* The logo bar owns one divider; its nested containers must not add another. */
@media (max-width:768px) {
 html body [id^="rec"] .tmenu-mobile {
  border-bottom:1px solid rgba(17,17,17,.12) !important;
  box-shadow:none !important;
 }
 html body [id^="rec"] .tmenu-mobile :is(.tmenu-mobile__container,.t-menu-base__maincontainer) {
  border-bottom:0 !important;
  box-shadow:none !important;
 }
}

/* Keep Safari from extending a solid fixed-header color into its status bar. */
@media (max-width:768px) {
 html body .obm-safe {
  background:transparent !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  pointer-events:none;
 }
 html body .obm-top,
 html body [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) {
  background-color:transparent !important;
  background-image:linear-gradient(rgba(247,247,247,.48),rgba(247,247,247,.48)) !important;
 }
 html[data-ourobor-theme="dark"] body .obm-top,
 html[data-ourobor-theme="dark"] body [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) {
  background-color:transparent !important;
  background-image:linear-gradient(rgba(13,13,13,.96),rgba(13,13,13,.96)) !important;
 }
}
/* Restore the exported catalogue card typography, retaining the current layout. */
html body #ourobor-catalog-unified { font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
html body #ourobor-catalog-unified .uc-product-title { font-size:11px; line-height:1.25; letter-spacing:1.15px; }
html body #ourobor-catalog-unified .uc-product-name { font:inherit; font-weight:500; letter-spacing:inherit; }
html body #ourobor-catalog-unified .uc-product-price { font:inherit; letter-spacing:inherit; font-variant-numeric:normal; }
html body #ourobor-catalog-unified .uc-product-price > span { font:inherit; line-height:1.15; letter-spacing:inherit; }
html body #ourobor-catalog-unified .uc-product-price > s { font-size:10px; font-weight:400; line-height:1; letter-spacing:inherit; }
html body #ourobor-catalog-unified .uc-product-collection { font-size:10px; letter-spacing:1.2px; line-height:normal; }
html body #ourobor-catalog-unified .uc-product-collection-label { font-size:8px; letter-spacing:1.8px; }
html body #ourobor-catalog-unified .uc-product-badge { font-size:8px; line-height:1; letter-spacing:1.7px; }
@media(max-width:768px) {
 html body #ourobor-catalog-unified .uc-product-title { font-size:9px; letter-spacing:.8px; }
 html body #ourobor-catalog-unified .uc-product-collection { font-size:8px; }
 html body #ourobor-catalog-unified .uc-product-collection-label { font-size:6px; }
}
@media(max-width:390px) {
 html body #ourobor-catalog-unified .uc-product-title { font-size:8px; }
}

/* Extend header glass without a separate fixed status-area sampling target. */
@media(max-width:768px) {
 html body .obm-safe { display:none !important; }
 html body .obm-top { overflow:visible; }
 html body .obm-top::before {
  content:"";
  display:block;
  position:absolute;
  inset:calc(-1 * env(safe-area-inset-top, 0px)) 0 100%;
  background:rgba(247,247,247,.48);
  opacity:1;
  pointer-events:none;
  -webkit-backdrop-filter:blur(20px) saturate(1.04);
  backdrop-filter:blur(20px) saturate(1.04);
 }
 html[data-ourobor-theme="dark"] body .obm-top::before { background:rgba(13,13,13,.96); }
}

/* Narrow fixed anchors keep Safari from treating the glass surfaces as full-width fixed bars. */
@media(max-width:768px) {
 html body .obm-top {
  width:1px !important; padding:0 !important; overflow:visible !important;
  background:none !important; border:0 !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
 }
 html body .obm-top::before { display:none !important; }
 html body .obm-top-inner {
  position:relative; flex:0 0 100vw; width:100vw; height:34px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:0 16px; box-sizing:border-box;
  background:rgba(247,247,247,.48); border-bottom:1px solid rgba(17,17,17,.14);
  backdrop-filter:blur(20px) saturate(1.04); -webkit-backdrop-filter:blur(20px) saturate(1.04);
 }
 html body .obm-top-inner::before {
  content:""; position:absolute; inset:calc(-1 * env(safe-area-inset-top,0px)) 0 100%;
  background:inherit; pointer-events:none;
  backdrop-filter:blur(20px) saturate(1.04); -webkit-backdrop-filter:blur(20px) saturate(1.04);
 }
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) {
  width:1px !important; min-width:0 !important; overflow:visible !important; contain:none !important;
  background:none !important; border:0 !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
 }
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container {
  width:100vw !important; max-width:none !important; box-sizing:border-box;
  background:rgba(247,247,247,.48) !important;
  border-bottom:1px solid rgba(17,17,17,.12) !important;
  backdrop-filter:blur(20px) saturate(1.04) !important; -webkit-backdrop-filter:blur(20px) saturate(1.04) !important;
 }
 html[data-ourobor-theme="dark"] body .obm-top-inner,
 html[data-ourobor-theme="dark"] body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container {
  background:rgba(13,13,13,.96) !important; border-color:rgba(240,239,233,.14) !important;
 }
}

/* Safari may report a zero safe inset while its status chrome still overlays content. */
@media(max-width:768px) {
 html body .obm-top-inner,
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container {
  -webkit-backdrop-filter:blur(24px) saturate(1.04) !important;
  backdrop-filter:blur(24px) saturate(1.04) !important;
 }
 html body .obm-top-inner::before {
  inset:auto 0 100%;
  height:max(100px, env(safe-area-inset-top,0px));
  background:rgba(247,247,247,.48);
  -webkit-backdrop-filter:blur(24px) saturate(1.04);
  backdrop-filter:blur(24px) saturate(1.04);
 }
 html[data-ourobor-theme="dark"] body .obm-top-inner::before { background:rgba(13,13,13,.96); }
}

/* Compact mobile header: retain the narrow Safari anchor and fade its glass surface. */
@media(max-width:768px) {
 html body .obm-top { display:none !important; }
 html body #t-header :is(#rec2471362661,#rec2471362691) { display:none !important; }
 html body #t-header { padding-top:calc(70px + env(safe-area-inset-top,0px)); }

 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) {
  top:env(safe-area-inset-top,0px) !important;
  will-change:top,transform !important;
  border-top:0 !important; box-shadow:none !important;
 }
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container {
  background:transparent !important; border-top:0 !important; box-shadow:none !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
 }
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:rgba(247,247,247,.48);
  -webkit-backdrop-filter:blur(20px) saturate(1.04); backdrop-filter:blur(20px) saturate(1.04);
  -webkit-mask-image:linear-gradient(to bottom,transparent,black 45%);
  mask-image:linear-gradient(to bottom,transparent,black 45%);
 }
 html[data-ourobor-theme="dark"] body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  background:rgba(13,13,13,.96);
 }
}

/* Fade glass at the lower divider without weakening the whole header. */
@media(max-width:768px) {
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  -webkit-backdrop-filter:blur(20px) saturate(1.04);
  backdrop-filter:blur(20px) saturate(1.04);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 45%,rgba(0,0,0,.35));
  mask-image:linear-gradient(to bottom,transparent,#000 45%,rgba(0,0,0,.35));
 }
}

/* Local preview: seamless lower edge of the mobile header. */
@media(max-width:768px) {
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened),
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container {
  border-bottom:0 !important;
 }
}

/* Local preview: feathered glass. */
@media(max-width:768px) {
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  inset:0 0 -18px;
  -webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.6) 30%,rgba(0,0,0,.6) 58%,transparent);
  mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.6) 30%,rgba(0,0,0,.6) 58%,transparent);
 }
}

/* Slightly lighter desktop header glass. */
@media(min-width:769px) {
 html body .obd-header { backdrop-filter:blur(12px) saturate(1.08); -webkit-backdrop-filter:blur(12px) saturate(1.08); }
 html body .obd-systembar { backdrop-filter:blur(10px) saturate(1.08); -webkit-backdrop-filter:blur(10px) saturate(1.08); }
}

/* Lighter header glass, with contrast ink composited above it. */
@media (min-width: 769px) {
 html body .obd-header { background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:0; box-shadow:none; }
 html body .obd-header::before {
  inset:0 0 -16px; z-index:-1; opacity:1; background:transparent;
  backdrop-filter:blur(4px) saturate(1.08); -webkit-backdrop-filter:blur(4px) saturate(1.08);
  mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%);
 }
 html body .obd-systembar { background:transparent; backdrop-filter:blur(4px) saturate(1.08); -webkit-backdrop-filter:blur(4px) saturate(1.08); }
}
@media (max-width: 768px) {
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  inset:0 0 -12px;
  background:transparent;
  mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%);
  backdrop-filter:blur(12px) saturate(1.04); -webkit-backdrop-filter:blur(12px) saturate(1.04);
 }
 html body .op-mobile-bar-anchor { position:fixed; z-index:99990; left:0; bottom:0; width:1px; overflow:visible; pointer-events:none; }
 html body .op-mobile-bar-anchor > .op-mobile-bar { position:relative; inset:auto; width:100vw; max-width:none; box-sizing:border-box; pointer-events:auto; }
}
.ob-header-ink, .ob-header-badges { position:fixed; left:0; top:0; width:1px; height:1px; overflow:visible; z-index:1000000; pointer-events:none; }
.ob-header-ink { mix-blend-mode:difference; }
.ob-header-badges { z-index:1000001; }
html body .ob-header-ink-source { filter:opacity(0) !important; }
.ob-header-ink > * { pointer-events:none !important; }

/* Keep fixed controls on one baseline while the document scrolls. */
@media(min-width:769px) {
 html body .obd-header.is-compact { height:var(--obd-header); background:transparent; }
 html body .obd-header { transition:none; }
}

/* Homepage: start the campaign under the fixed header and fill the first screen. */
html body:has([data-ourobor-managed-hero]:not(.is-closed)) #t-header {
 height:0; min-height:0; padding-top:0 !important;
}
html body:has([data-ourobor-managed-hero]:not(.is-closed)) #t-header :is(#rec2471362661,#rec2471362691) {
 display:none !important;
}
html body .ourobor-managed-hero-record .ourobor-hero-system:not(.is-closed) {
 height:max(var(--hero-desktop-height,680px),100vh);
 height:max(var(--hero-desktop-height,680px),100svh);
}
@media (min-width:769px) {
 html body .ourobor-managed-hero-record .ohs-close { top:104px; }
 html body .ourobor-managed-hero-record .ohs-group[data-desktop-y="top"] .ohs-content { top:120px; }
}
@media (max-width:768px) {
 html body .ourobor-managed-hero-record .ourobor-hero-system:not(.is-closed) {
  height:max(var(--hero-mobile-height,560px),100vh);
  height:max(var(--hero-mobile-height,560px),100svh);
 }
 html body .ourobor-managed-hero-record .ohs-close { top:calc(84px + env(safe-area-inset-top,0px)); }
 html body .ourobor-managed-hero-record .ohs-group[data-mobile-y="top"] .ohs-content { top:calc(128px + env(safe-area-inset-top,0px)); }
}

/* Refined icon strokes without shrinking their touch targets. */
html body #t-header .tmenu-mobile .t-menuwidgeticons__img > svg [stroke] { stroke-width:1.4; }
html body #t-header .tmenu-mobile .t-menu-burger__icon > span { height:1.4px !important; }


/* Campaign close: a precise cross, without a separate gray tile. */
html body .ourobor-managed-hero-record .ohs-close {
 width:44px; height:44px; min-width:44px; min-height:44px; padding:0;
 border:0; border-radius:0; background:transparent !important;
 color:#fff !important; box-shadow:none; opacity:.86;
 backdrop-filter:none; -webkit-backdrop-filter:none;
 mix-blend-mode:difference;
 transition:opacity .18s ease, background-color .18s ease;
}
html body .ourobor-managed-hero-record .ohs-close::before,
html body .ourobor-managed-hero-record .ohs-close::after {
 width:20px; height:1.25px;
}
@media (hover:hover) {
 html body .ourobor-managed-hero-record .ohs-close:hover {
  opacity:1; background:rgba(255,255,255,.12) !important;
 }
}
html body .ourobor-managed-hero-record .ohs-close:focus-visible {
 opacity:1; outline:1px solid currentColor !important; outline-offset:0;
}
@media (prefers-reduced-motion:reduce) {
 html body .ourobor-managed-hero-record .ohs-close { transition:none; }
}

/* Mobile account, bag and menu: matched fine strokes and open proportions. */
@media (max-width:768px) {
 html body #t-header .tmenu-mobile .t-menuwidgeticons__img > svg[data-ob-icon="refined"] {
  color:#a0a0a0; stroke-width:1.25;
 }
 html body #t-header .tmenu-mobile .t-menu-burger__icon {
  height:9.25px !important;
 }
 html body #t-header .tmenu-mobile .t-menu-burger__icon > span {
  height:1.25px !important; border-radius:0 !important;
 }
 html body:not(.ob-mobile-index-open) #t-header .tmenu-mobile .t-menu-burger__icon > span:nth-child(4) {
  top:8px !important;
 }
}

/* Paint the document canvas so difference ink also has a backdrop above content. */
html body { background-color:var(--ob-paper,#f5f5f5); }
html[data-ourobor-theme="dark"] body { background-color:var(--ob-paper,#101010); }

/* Let Safari see the scrolling page beneath both narrow glass anchors. */
@media(max-width:768px) {
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  top:calc(-1 * env(safe-area-inset-top,0px));
 }
 html body .op-mobile-bar-anchor > .op-mobile-bar {
  background:transparent; border-top:0; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none;
 }
 html body .op-mobile-bar-anchor > .op-mobile-bar::before {
  content:""; position:absolute; z-index:-1; pointer-events:none;
  inset:-14px 0 calc(-1 * env(safe-area-inset-bottom,0px));
  backdrop-filter:blur(12px) saturate(1.04); -webkit-backdrop-filter:blur(12px) saturate(1.04);
  mask-image:linear-gradient(to bottom,transparent,#000 25%,#000);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000);
 }
}

/* One quiet seam between the desktop status strip and navigation. */
@media(min-width:769px) {
 html body .obd-systembar { border-bottom:.5px solid rgba(17,17,17,.12); }
 html body .obd-systembar::after { display:none; }
 html body .obd-header { border-top:0; }
}

/* A shared compositor offset keeps the glass, controls and contrast ink together. */
:root { --ob-mobile-menu-offset:0px; --ob-menu-safe-bottom:env(safe-area-inset-bottom,0px); }
.ob-menu-drag-handle { display:none; }
@media(max-width:768px) {
 html body #t-header [id^="rec"] .tmenu-mobile {
  transform:translate3d(0,var(--ob-mobile-menu-offset),0) !important;
  transition:none !important;
 }
 .ob-header-ink, .ob-header-badges { transform:translate3d(0,var(--ob-mobile-menu-offset),0); }
 html body #t-header .tmenu-mobile__container {
  touch-action:manipulation; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none;
 }
 html body .ob-menu-drag-handle {
  display:block; position:absolute; left:50%; top:calc(50% - 22px);
  width:44px; height:44px; margin-left:-22px; padding:0;
  border:0; background:transparent; color:var(--ob-ink,#161616);
  appearance:none; -webkit-appearance:none; -webkit-tap-highlight-color:transparent;
  box-shadow:none; cursor:grab; touch-action:none;
 }
 .ob-menu-drag-handle:focus:not(:focus-visible) { outline:none; }
 .ob-menu-drag-handle:focus-visible { outline:1px solid var(--ob-muted,#737373); outline-offset:-8px; }
 .ob-menu-drag-handle::after {
  content:""; position:absolute; width:18px; height:2px; left:13px; top:21px;
  background:currentColor; opacity:.3;
 }
 html.ob-menu-dragging .ob-menu-drag-handle { cursor:grabbing; }
 html.ob-menu-dragging #t-header .tmenu-mobile__container {
  box-shadow:0 8px 28px rgba(0,0,0,.1) !important;
 }
 html.ob-menu-docked-bottom body #t-header [id^="rec"] .tmenu-mobile > .tmenu-mobile__container::before {
  inset:-12px 0 calc(-1 * env(safe-area-inset-bottom,0px));
  mask-image:linear-gradient(to bottom,transparent,#000 30%,#000);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000);
 }
 html.ob-menu-docked-bottom .ob-mobile-index {
  top:env(safe-area-inset-top,0px); bottom:var(--ob-mobile-nav-clearance,78px);
  border-top:0; border-bottom:1px solid rgba(17,17,17,.12);
 }
}
@media(max-width:768px) {
 html.ob-menu-docked-bottom body { padding-bottom:calc(var(--ob-mobile-nav-clearance,78px) + 12px); }
}

/* Dock navigation below the purchase action, sharing an uninterrupted glass surface. */
@media(max-width:768px) {
 html body .op-mobile-bar-anchor {
  transform:translate3d(0,calc(-1 * var(--ob-purchase-menu-lift,0px)),0);
 }
 html.ob-menu-docked-bottom body #t-header [id^="rec"] .tmenu-mobile,
 html.ob-menu-docked-bottom body #t-header .tmenu-mobile__container {
  border:0 !important; box-shadow:none !important;
 }
 html.ob-menu-docked-bottom body #t-header .tmenu-mobile::after,
 html.ob-menu-docked-bottom body #t-header .tmenu-mobile__container::after { display:none !important; }
 html.ob-menu-under-purchase body #t-header [id^="rec"] .tmenu-mobile > .tmenu-mobile__container::before {
  top:0; mask-image:none; -webkit-mask-image:none;
 }
 html.ob-menu-under-purchase body .op-mobile-bar-anchor > .op-mobile-bar::before { bottom:0; }
}

/* Dissolve the campaign's lower edge into the catalogue, keeping controls crisp. */
html body .ourobor-managed-hero-record .ourobor-hero-system {
 --ob-hero-edge-rgb:245,245,245;
}
html[data-ourobor-theme="dark"] body .ourobor-managed-hero-record .ourobor-hero-system {
 --ob-hero-edge-rgb:18,18,18;
}
html body .ourobor-managed-hero-record .ourobor-hero-system::after {
 content:""; position:absolute; z-index:2; pointer-events:none;
 inset:auto 0 0; height:clamp(120px,18vh,210px);
 background:linear-gradient(to bottom,
  rgba(var(--ob-hero-edge-rgb),0),
  rgba(var(--ob-hero-edge-rgb),.12) 28%,
  rgba(var(--ob-hero-edge-rgb),.5) 60%,
  rgba(var(--ob-hero-edge-rgb),.86) 83%,
  rgb(var(--ob-hero-edge-rgb)) 96%,
  rgb(var(--ob-hero-edge-rgb)));
}
html body:has([data-ourobor-managed-hero]:not(.is-closed)) #ourobor-catalog-unified .uc-intro {
 border-top:0;
}
@media(max-width:768px) {
 html body .ourobor-managed-hero-record .ourobor-hero-system::after {
  height:clamp(88px,14vh,128px);
  height:clamp(88px,14svh,128px);
 }
}

/* Route-aware navigation retains the logo footprint and a quiet return arrow. */
html body #t-header .ob-header-back-link {
 display:flex !important; align-items:center; justify-content:center;
 min-height:44px; box-sizing:border-box; background:none !important;
}
html body #t-header .ob-header-back-link > img { display:none !important; }
html body #t-header .ob-header-back-link::before,
html body #t-header .ob-header-back-link::after { content:none !important; display:none !important; }
.ob-header-back-icon { display:block; width:40px; height:24px; flex:none; color:#11110f; }
html body #t-header .ob-header-back-link:focus-visible { outline:1px solid currentColor; outline-offset:2px; }
.ob-header-back-enter .ob-header-back-icon { animation:ob-header-back-enter .28s cubic-bezier(.16,1,.3,1) both; }
@keyframes ob-header-back-enter { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
@media(max-width:768px) {
 html body #t-header .ob-header-back-link { justify-content:flex-start; min-width:100px; }
 .ob-header-back-icon { width:36px; height:24px; }
}
@media(prefers-reduced-motion:reduce) { .ob-header-back-enter .ob-header-back-icon { animation:none; } }

/* Shared hairlines for public page grids and framed controls. Only width changes:
   existing colours, border styles, removed sides and focus/selection ink survive. */
:root { --ob-hairline:.5px; }
html body #ourobor-catalog-unified :is(
 .uc-intro,.uc-menu-wrap,.uc-section-head,.uc-phase-menu,.uc-grid,.uc-product,
 .uc-image-wrap,.uc-product-action,.uc-product-badge,.uc-empty,.uc-product-price > span
) { border-width:var(--ob-hairline) !important; }
html body #ourobor-catalog-unified .uc-grid {
 box-shadow:inset calc(-1 * var(--ob-hairline)) 0 var(--uc-line),inset 0 calc(-1 * var(--ob-hairline)) var(--uc-line);
}
html body :is([data-ourobor-product],[data-ourobor-look]) :is(
 .op-topline,.op-layout,.op-gallery,.op-panel,.op-model-items-desktop,.op-model-items-mobile,
 .op-model-item-media,.op-media-index,.op-media-expand,.op-price-row,.op-installment,
 .op-size,.op-stepper,.op-stepper output,.op-buy,.op-mobile-buy,.op-desktop-buy,
 .op-details,.op-detail,.op-size-guide,.op-size-guide-caption,.op-reviews-zone,
 .op-gifts,.op-gifts-head,.op-gift,.op-gift-copy,.op-life,.op-life-head,.op-life-expand,
 .op-related,.op-related-head,.op-related-card,.op-related-copy,.op-desktop-bar,
 .op-lightbox-control,.ol-components,.ol-component,.ol-component-thumb,
 .ol-component-details,.ol-component-details details,.ol-size-guide,.ol-size-guide span,
 .ol-look-preorder-notice,.or-toggle,.or-list,.or-review,.or-form,.or-gate,
 .or-form textarea,.or-form-actions button,.or-gate a,.or-own-status,.or-loading,.or-load-error
) { border-width:var(--ob-hairline) !important; }
html body :is([data-ourobor-product],[data-ourobor-look]) .op-gallery { gap:var(--ob-hairline); }
html body .op-guide-dialog { border-width:var(--ob-hairline); }
html body #ourobor-footer :is(
 .of-mast,.of-menus,.of-section,.of-section-toggle,.of-link,.of-bottom-side,
 .of-legal-approved-copy,.of-legal-approved-copy p
) { border-width:var(--ob-hairline) !important; }
html body.service-page :is(
 .service-hero,.service-content,.service-content aside,.service-document h2,.service-document li,
 .service-footer-mast,.service-footer-grid,.service-footer-grid section,.service-footer-grid h3,
 .service-footer-bottom,.service-footer-bottom > *, .service-systembar,.service-mobile-nav,
 .service-mobile-drawer nav,.service-mobile-drawer nav a,.service-drawer-signal,
 .service-facts,.service-support
) { border-width:var(--ob-hairline) !important; }
html body.service-page .service-facts { gap:var(--ob-hairline); }
html body:has(#auth-view) :is(
 .auth-intro,.auth-switch,.auth-switch button,.form-head,.section-index,
 .auth-form input,.profile-form input,.primary,.sidebar,.account-nav,.account-nav button,
 .logout,.workspace-head,.metrics,.metric,.latest,.latest-head,.latest-total,
 .transmission,.orders-list,.order-card,.order-detail,.order-item,.profile-form,
 .return-chat-file,.return-chat-attachment img,.return-chat-attachment i,.return-card,
 .return-detail,.return-meta,.return-meta p,.return-items > div,.return-shipment,
 .return-documents button,.return-instruction,.return-refund,.returns-index button,
 .return-payment,.return-payment > div,.return-payment-paid,.return-chat,
 .return-chat input,.return-chat button,.return-dialog,.return-dialog header,
 .return-dialog select,.return-dialog input,.return-dialog textarea,.return-form-item,
 .return-exchange-payment,.return-exchange-payment > div,.return-selection-tools,
 .return-account-timeline,.return-account-timeline > header,
 .drop-lock,.drop-lock__head,.drop-lock dl,.drop-lock dl div,.drop-lock__foot,
 .drop-reward,.drop-reward header,.drop-reward header b,.drop-reward footer,
 .drop-reward__value,.drop-reward__code,.drop-reward__code > div,.drop-reward__code button,
 .drop-reward__body > a,.account-toast,.account-theme-toggle,.account-level-benefits,
 .account-level-benefits article,.payment-handoff-banner,.email-verification-banner,
 .email-verification-banner button,.latest-empty a,.order-status,.account-shell,
 .overview-intro,.account-level-card,.account-task-notice,.overview-tools,
 .profile-readiness,.profile-readiness button,.quick-actions > *,
 .account-task-guide,.account-promo-guide,.account-task-list,.account-promo-list,
 .account-task-card,.account-task-image,.account-task-reward,.account-task-reward button,
 .account-promo-card,.account-promo-card > div + div,.account-promo-card > button,
 .account-promo-card > b,.account-community-lock,.account-community-lock > span,
 .account-community,.account-community-message,.account-community-form,
 .account-community-form textarea,.account-community-note,.account-review-dialog,
 .account-review-dialog textarea,.account-review-dialog form > header,
 .account-review-dialog form > header button,.account-review-dialog fieldset,
 .account-review-field,.account-review-files,.account-review-files label,
 .account-review-photo-preview span,.account-review-reward,
 .account-review-dialog form > footer > button,.profile-avatar-card,.profile-avatar-upload
) { border-width:var(--ob-hairline) !important; }
/* Legacy cart fields remain consistent when a static template opens its drawer. */
html body [data-record-type="706"] :is(
 .obc-section-head,.obc-dolyame-card,.t706__cartwin-totalamount-wrap.obc-sidebar-total,
 .obc-height-kicker,.obc-described-input,.obc-described-input > .t-input-subtitle
) { border-width:var(--ob-hairline) !important; }
html body :is(.orb-signal-shell,.orb-signal-head,.orb-signal-foot,.orb-signal-close,
 .ob-cookie-card,.ob-cookie-action) { border-width:var(--ob-hairline) !important; }
html body :is(.orb-signal-shell,.ob-cookie-card) { outline-width:var(--ob-hairline); }
html body :is(.obd-systembar,.ob-mobile-index) { border-width:var(--ob-hairline) !important; }

@media (min-width: 769px) {
 .obd-cart-button::before {
  content:""; display:block; flex:0 0 18px; width:18px; height:22px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M5 9h14l2 16H3L5 9Zm3 1V6a4 4 0 0 1 8 0v4' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M5 9h14l2 16H3L5 9Zm3 1V6a4 4 0 0 1 8 0v4' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center/contain no-repeat;
 }
}

/* A bottom-docked menu no longer reserves an empty band above product content. */
@media (max-width: 768px) {
 html body:has([data-ourobor-product], [data-ourobor-look]) #t-header {
  transition: padding-top .28s cubic-bezier(.22,.8,.24,1);
 }
 html.ob-menu-docked-bottom body:has([data-ourobor-product], [data-ourobor-look]) #t-header {
  padding-top: 0 !important;
 }
}
@media (prefers-reduced-motion: reduce) {
 html body:has([data-ourobor-product], [data-ourobor-look]) #t-header { transition: none; }
}
@media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
 .tmenu-mobile.ob-menu-gesture-hint .ob-menu-drag-handle::after {
  animation: ob-menu-grip-cue 1.1s ease-in-out 2;
 }
 .tmenu-mobile.ob-menu-gesture-hint .ob-menu-drag-handle::before {
  content:""; position:absolute; left:19px; top:30px; width:5px; height:5px;
  border-right:1px solid currentColor; border-bottom:1px solid currentColor;
  transform:rotate(45deg); opacity:0; animation:ob-menu-direction-cue 1.1s ease-in-out 2;
 }
 html.ob-menu-docked-bottom .tmenu-mobile.ob-menu-gesture-hint .ob-menu-drag-handle { --ob-grip-cue:-6px; }
 html.ob-menu-docked-bottom .tmenu-mobile.ob-menu-gesture-hint .ob-menu-drag-handle::before { top:9px; transform:rotate(225deg); }
 @keyframes ob-menu-grip-cue {
  0%,100% { transform:translateY(0); opacity:.3; }
  45% { transform:translateY(var(--ob-grip-cue,6px)); opacity:.8; }
 }
 @keyframes ob-menu-direction-cue { 0%,100% { opacity:0; } 40%,60% { opacity:.42; } }
}

@media (max-width: 768px) {
 html.ob-menu-docked-bottom.ob-menu-under-purchase body:not(.ourobor-cart-open) .op-mobile-bar-anchor > .op-mobile-bar::after {
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:var(--ob-hairline,.5px); background:rgba(17,17,15,.16); pointer-events:none;
 }
 html[data-ourobor-theme="dark"].ob-menu-docked-bottom.ob-menu-under-purchase body:not(.ourobor-cart-open) .op-mobile-bar-anchor > .op-mobile-bar::after { background:rgba(245,244,240,.2); }
}

@media (max-width: 768px) {
 html body .ourobor-managed-hero-record .ohs-close {
  top:calc(32px + env(safe-area-inset-top,0px)); right:16px; transition:opacity .18s ease;
 }
 html.ob-menu-docked-bottom body .ourobor-managed-hero-record .ohs-close {
  top:calc(32px + env(safe-area-inset-top,0px));
 }
}
@media (prefers-reduced-motion: reduce) {
 html body .ourobor-managed-hero-record .ohs-close { transition:none; }
}

/* Product purchase dock: a fixed mobile navigation row and a compact configurator. */
.ob-product-colors { display:none; }
@media(max-width:768px) {
 html.ob-product-dock .tmenu-mobile .t-menuburger,
 html.ob-product-dock .tmenu-mobile .ob-menu-drag-handle { display:none!important; }
 html.ob-product-dock .tmenu-mobile .tmenu-mobile__container { padding-left:12px!important; padding-right:12px!important; }
 html.ob-product-dock .tmenu-mobile .t-menuwidgeticons__wrapper { gap:6px!important; margin:0!important; }
 html.ob-product-dock .tmenu-mobile .ob-mobile-account { order:0; }
 html.ob-product-dock .tmenu-mobile .t-menuwidgeticons__cart { order:1; }
 html.ob-product-dock .tmenu-mobile .t-menu-base__logowrapper_mobile { flex:0 0 50px!important; width:50px!important; }
 html.ob-product-dock .ob-product-colors { display:flex; position:absolute; left:72px; right:116px; top:50%; transform:translateY(-50%); align-items:center; justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
 .ob-product-colors button { flex:0 0 44px; height:44px; padding:0; display:grid; place-items:center; border:0; background:transparent; cursor:pointer; }
 .ob-product-colors button span { width:16px; height:16px; background:var(--swatch); border:.5px solid rgba(100,100,100,.5); border-radius:50%; position:relative; }
 .ob-product-colors button[aria-pressed="true"] span::after { content:""; position:absolute; inset:-4px; border:.5px solid currentColor; border-radius:50%; }
 .ob-product-colors button:focus-visible { outline:1px solid currentColor; outline-offset:-3px; }
 body.ourobor-cart-open .ob-product-colors, body.ob-account-open .ob-product-colors { visibility:hidden; }
 html body [data-ourobor-product] .op-mobile-bar.op-purchase-dock { display:flex; flex-direction:column; gap:10px; padding:12px 12px 14px; min-height:0; max-height:none; overflow:visible; }
 .op-purchase-dock .op-mobile-meta { display:flex; flex-direction:row; justify-content:space-between; align-items:baseline; gap:12px; }
 .op-purchase-dock .op-mobile-title { font-size:11px; line-height:1.2; max-width:70%; }
 .op-purchase-dock .op-mobile-price { font-size:13px; line-height:1.2; color:inherit; white-space:nowrap; }
 .op-purchase-dock .op-selected-variant { display:none; }
 .op-purchase-dock .op-option-head { display:flex; align-items:center; justify-content:space-between; margin:0 0 5px; min-height:20px; gap:10px; }
 .op-purchase-dock .op-option-head .op-label { display:none; }
 .op-purchase-dock .op-selection { font-size:10px; }
 .op-purchase-dock .op-guide-link { font-size:10px; min-height:24px; padding:0; margin:0 0 0 auto; }
 .op-purchase-dock .op-sizes { display:flex; flex-wrap:nowrap; gap:5px; overflow-x:auto; scrollbar-width:none; }
 .op-purchase-dock .op-size { min-width:40px; flex:1 0 40px; height:44px; min-height:44px; padding:0 6px; font-size:12px; }
 .op-dock-actions { display:grid; grid-template-columns:104px minmax(0,1fr); align-items:stretch; gap:10px; }
 .op-purchase-dock .op-quantity-row { margin:0; padding:0; display:flex; border:0; }
 .op-purchase-dock .op-quantity-row > .op-label { display:none; }
 .op-purchase-dock .op-stepper { width:104px; height:46px; grid-template-columns:34px 34px 34px; }
 .op-purchase-dock .op-stepper button, .op-purchase-dock .op-stepper output { width:34px; min-width:0; height:44px; padding:0; font-size:14px; }
 .op-purchase-dock .op-mobile-buy { width:100%; min-height:46px; padding:10px 8px; font-size:11px; letter-spacing:.07em; }
 html.ob-product-dock [data-ourobor-product] .op-panel [data-op-color-wrap],
 html.ob-product-dock [data-ourobor-product] .op-panel .op-buy { display:none; }
 html.ob-product-dock [data-ourobor-product] { padding-bottom:0; }
}

@media(max-width:768px) {
 html body [data-ourobor-product] .op-mobile-bar.op-purchase-dock { align-items:stretch; }
 .op-purchase-dock .op-dock-actions .op-quantity-row { order:0; }
 .op-purchase-dock .op-dock-actions .op-mobile-buy { order:1; }
 .op-purchase-dock [data-op-size-name] { font-size:0!important; }
 .op-purchase-dock [data-op-size-name]::before { content:"РАЗМЕР"; font-size:10px; }
}

@media(max-width:768px) {
 html body .op-mobile-bar-anchor > .op-mobile-bar.op-purchase-dock::before {
  top:-40px;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.5) 13%,#000 24%,#000 100%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.5) 13%,#000 24%,#000 100%);
 }
}

@media(max-width:768px) { .ob-product-colors button:first-child { margin-left:auto; } .ob-product-colors button:last-child { margin-right:auto; } }

@media(max-width:768px) {
 html.ob-product-dock .ob-product-colors { flex-direction:column; overflow:visible; gap:0; }
 .ob-product-color-label { font:9px/12px "SFMono-Regular",Consolas,monospace; letter-spacing:.12em; color:inherit; opacity:.65; }
 .ob-product-color-options { display:flex; width:100%; overflow-x:auto; scrollbar-width:none; }
 .ob-product-colors button { height:38px; }
}

/* Product descriptions remain in the details section, outside the purchase summary. */
html body [data-ourobor-product] .op-description,
html body [data-ourobor-product] .op-description-toggle { display:none!important; }

/* Hide only the mobile product's scrollbar chrome; touch scrolling stays native. */
@media(max-width:768px) {
 html:has([data-ourobor-product]), body:has([data-ourobor-product]),
 [data-ourobor-product] .op-panel { scrollbar-width:none; }
 html:has([data-ourobor-product])::-webkit-scrollbar,
 body:has([data-ourobor-product])::-webkit-scrollbar,
 [data-ourobor-product] .op-panel::-webkit-scrollbar { width:0; }
 [data-ourobor-product] .op-panel-scroll-track { display:none!important; }
}

@media(max-width:768px) {
 html body [data-ourobor-product] .op-shell { padding-bottom:0; }
}

.op-section-jump { display:none; }
@media(min-width:769px) {
 html body [data-ourobor-product] .op-section-jump {
  display:flex; align-items:center; justify-content:space-between; width:100%; min-height:62px;
  padding:18px 0; border:0; border-bottom:var(--ob-hairline,.5px) solid var(--op-line,rgba(17,17,17,.14));
  background:transparent; color:var(--op-ink,#111); text-align:left; cursor:pointer;
  font:400 10px/1.45 var(--ob-ref-sans); letter-spacing:.12em;
 }
 html body [data-ourobor-product] .op-section-jump::after { content:"+"; font-size:18px; font-weight:300; }
}

/* Delay mobile product controls until the first short scroll, without layout shifts. */
@media(max-width:768px){
 html.ob-product-dock body #t-header [id^="rec"] .tmenu-mobile,
 html.ob-product-dock .op-mobile-bar-anchor,
 html.ob-product-dock .ob-header-ink,
 html.ob-product-dock .ob-header-badges{transition:opacity .46s cubic-bezier(.22,1,.36,1),translate .68s cubic-bezier(.16,1,.3,1)!important;translate:0 0}
 html.ob-product-dock-waiting body #t-header [id^="rec"] .tmenu-mobile,
 html.ob-product-dock-waiting .op-mobile-bar-anchor,
 html.ob-product-dock-waiting .ob-header-ink,
 html.ob-product-dock-waiting .ob-header-badges{opacity:0!important;translate:0 16px;pointer-events:none!important}
}
@media(max-width:768px){
 html.ob-product-purchase-hidden .op-mobile-bar-anchor {
  opacity:0!important;translate:0 16px;pointer-events:none!important;
  transition-duration:.24s,.32s!important;
 }
}
@media(max-width:768px) and (prefers-reduced-motion:reduce){
 html.ob-product-dock body #t-header [id^="rec"] .tmenu-mobile,
 html.ob-product-dock .op-mobile-bar-anchor,
 html.ob-product-dock .ob-header-ink,
 html.ob-product-dock .ob-header-badges{transition:none!important;translate:none}
}

/* The panel follows native document scrolling without a second scroll surface. */
@media(min-width:769px) {
 html body [data-ourobor-product].ob-product-stage-active.ob-product-stage-native .op-panel { overflow:clip; }
 html body [data-ourobor-product].ob-product-stage-active.ob-product-stage-native .op-panel-inner {
  animation:ob-product-panel-travel 1s linear both;
  animation-timeline:scroll(root block);
  animation-range:var(--ob-stage-start) var(--ob-stage-end);
  will-change:transform;
 }
 @keyframes ob-product-panel-travel {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(0,calc(-1 * var(--ob-stage-travel)),0); }
 }
}

/* Keep the signal itself sharp, with one glass backdrop above all site layers. */
html body .orb-signal{z-index:2147483646;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
html body .orb-signal-shell{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(250,250,250,.95)}
@media(max-width:768px){
 html body [data-ourobor-product]:not([data-ourobor-look]) .op-panel .op-config:has(> [data-op-color-wrap]:only-child){display:none}
 html body [data-ourobor-product] .op-panel .op-cart-status:empty{display:none}
 html body [data-ourobor-product] .op-panel .op-details{margin-top:18px}
}

/* Signal channel follows the site's editorial grid and restrained glass. */
html body .orb-signal{padding:20px;background:rgba(19,19,18,.18)}
html body .orb-signal-shell{width:min(600px,100%);max-height:calc(100dvh - 40px);border:var(--ob-hairline,.5px) solid rgba(255,255,255,.7);outline:var(--ob-hairline,.5px) solid rgba(17,17,17,.14);box-shadow:none;background:rgba(250,250,250,.94);transform:translateY(12px);transition:transform .45s cubic-bezier(.22,1,.36,1)}
html body .orb-signal.is-active .orb-signal-shell{transform:translateY(0)}
html body .orb-signal-head{min-height:58px;padding:0 26px;font:10px/1.3 "SFMono-Regular",Consolas,monospace;letter-spacing:.11em;border-bottom:var(--ob-hairline,.5px) solid var(--orb-line)}
html body .orb-signal-close{width:58px;height:58px;right:0;top:0;border:0;background:transparent}
html body .orb-signal-content{min-height:0}
html body .orb-signal-copy{align-items:flex-start;justify-content:flex-start;min-height:0;padding:34px 26px 26px;text-align:left}
html body .orb-signal-kicker{margin:0 0 22px;font:10px/1.4 "SFMono-Regular",Consolas,monospace;letter-spacing:.1em}
html body .orb-signal-copy h2{font-size:58px;line-height:.92;letter-spacing:-.045em;font-weight:400}
html body .orb-signal-description{max-width:420px;margin:24px 0 0;font-size:14px;line-height:1.6}
html body .orb-signal-footer{display:flex;flex-direction:column;align-items:stretch;border-top:0;padding:0 26px 10px}
html body .orb-signal-action{order:0;justify-content:space-between;min-height:54px;width:100%;box-sizing:border-box;padding:0 18px;border:0;font:11px/1.3 "SFMono-Regular",Consolas,monospace;letter-spacing:.1em}
html body .orb-signal-action svg{width:19px;height:19px;flex:none}
html body .orb-signal-never{order:1;align-self:flex-start;min-height:44px;margin:7px 0 0;font-size:10px;line-height:1.4;letter-spacing:.07em;gap:10px}
html body .orb-signal-never-box{width:13px;height:13px;flex-basis:13px;border-width:var(--ob-hairline,.5px)}
@media(max-width:768px){
 html body .orb-signal{padding:16px}
 html body .orb-signal-head{min-height:54px;padding:0 20px;font-size:9px;letter-spacing:.06em}
 html body .orb-signal-close{width:54px;height:54px}
 html body .orb-signal-copy{padding:28px 20px 24px}
 html body .orb-signal-copy h2{font-size:clamp(36px,11.3vw,52px)}
 html body .orb-signal-kicker{margin-bottom:18px}
 html body .orb-signal-description{margin-top:22px;font-size:13px;line-height:1.6}
 html body .orb-signal-footer{padding:0 20px 8px}
}

/* Desktop gallery filler cells must never become mobile swipe destinations. */
@media(max-width:768px){
 html body [data-ourobor-product] [data-op-gallery] > .op-media.is-empty { display:none !important; }
}
@media(max-width:768px){
 html body [data-ourobor-product] [data-op-gallery]:not(:has(> [data-op-media="1"])) > [data-op-media="0"] { flex-basis:100%; width:100%; }
}

/* Shared glass material for mobile navigation and purchase controls. */
@media(max-width:768px){
 html { --ob-mobile-glass-blur:12px; }
 html.ob-menu-docked-bottom body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  bottom:calc(-1 * max(env(safe-area-inset-bottom,0px),32px));
  backdrop-filter:blur(var(--ob-mobile-glass-blur)) saturate(1.04);
  -webkit-backdrop-filter:blur(var(--ob-mobile-glass-blur)) saturate(1.04);
  mask-image:linear-gradient(to bottom,transparent,#000 24px,#000);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 24px,#000);
 }
 html.ob-menu-under-purchase body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  mask-image:none; -webkit-mask-image:none;
 }
 html body .op-mobile-bar-anchor > .op-mobile-bar::before {
  backdrop-filter:blur(var(--ob-mobile-glass-blur)) saturate(1.04);
  -webkit-backdrop-filter:blur(var(--ob-mobile-glass-blur)) saturate(1.04);
 }
}

/* Keep the dock on Safari's native fixed bottom edge. Feather inside the viewport. */
@media(max-width:768px) {
 html { --ob-menu-safe-top:env(safe-area-inset-top,0px); }
 html.ob-menu-docked-bottom:not(.ob-menu-dragging):not(.ob-menu-settling) body #t-header [id^="rec"] .tmenu-mobile {
  top:auto!important;
  bottom:calc(env(safe-area-inset-bottom,0px) + var(--ob-menu-keyboard-lift,0px))!important;
  transform:none!important;
  will-change:auto!important;
 }
 .ob-header-ink,.ob-header-badges { display:none!important; }
 html body #t-header .ob-header-ink-source { filter:none!important; }
 html.ob-menu-docked-bottom body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  top:-44px;
  bottom:calc(-1 * env(safe-area-inset-bottom,0px));
  mask-image:linear-gradient(to bottom,transparent,#000 44px,#000 calc(100% - env(safe-area-inset-bottom,0px) - 24px),rgba(0,0,0,.65) calc(100% - env(safe-area-inset-bottom,0px) - 12px),rgba(0,0,0,.15) calc(100% - 6px),transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 44px,#000 calc(100% - env(safe-area-inset-bottom,0px) - 24px),rgba(0,0,0,.65) calc(100% - env(safe-area-inset-bottom,0px) - 12px),rgba(0,0,0,.15) calc(100% - 6px),transparent);
 }
 html.ob-menu-under-purchase body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  top:0;
  mask-image:linear-gradient(to bottom,#000,#000 calc(100% - env(safe-area-inset-bottom,0px) - 24px),rgba(0,0,0,.65) calc(100% - env(safe-area-inset-bottom,0px) - 12px),rgba(0,0,0,.15) calc(100% - 6px),transparent);
  -webkit-mask-image:linear-gradient(to bottom,#000,#000 calc(100% - env(safe-area-inset-bottom,0px) - 24px),rgba(0,0,0,.65) calc(100% - env(safe-area-inset-bottom,0px) - 12px),rgba(0,0,0,.15) calc(100% - 6px),transparent);
 }
}

/* Let the campaign image bleed into the top safe area without moving controls. */
@media(max-width:768px) {
 html body .ourobor-managed-hero-record .ourobor-hero-system:not(.is-closed) {
  margin-top:calc(-1 * env(safe-area-inset-top,0px));
  /* Reserve the 44px controls + 30px vertical padding from first paint.
     Stable viewport units avoid reflow while Safari animates its address bar. */
  height:calc(100vh - 74px + env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  height:calc(100svh - 74px + env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  margin-bottom:calc(74px + env(safe-area-inset-bottom,0px) - var(--ob-hero-gap-collapse,0px));
  overflow-anchor:none;
 }
 html:not(.ob-menu-docked-bottom) body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before {
  top:calc(-1 * max(env(safe-area-inset-top,0px),32px));
  bottom:-24px;
  mask-image:linear-gradient(to bottom,transparent,#000 24px,#000 calc(100% - 24px),transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 24px,#000 calc(100% - 24px),transparent);
 }
}

/* The mobile navigation is always bottom-docked, including its first paint. */
@media(max-width:768px) {
 html body #t-header [id^="rec"] .tmenu-mobile {
  top:auto!important;
  bottom:calc(env(safe-area-inset-bottom,0px) + var(--ob-menu-keyboard-lift,0px))!important;
  transform:none!important;
  will-change:auto!important;
 }
 html body .ob-menu-drag-handle { display:none!important; }
}

/* Larger mobile navigation symbols with generous, separate touch targets. */
@media(max-width:768px) {
 html body #t-header .tmenu-mobile .t-menuwidgeticons__img,
 html body #t-header .tmenu-mobile .t-menuwidgeticons__img > svg { width:28px!important; height:28px!important; }
 html body #t-header .tmenu-mobile .t-menuburger { width:44px!important; height:44px!important; }
 html body #t-header .tmenu-mobile .t-menuburger .t-menu-burger__icon { width:28px!important; height:13.25px!important; }
 html body:not(.ob-mobile-index-open) #t-header .tmenu-mobile .t-menu-burger__icon > span:nth-child(4) { top:12px!important; }
 html body #t-header .tmenu-mobile .ob-header-back-icon { width:40px; height:28px; }
}
@media(max-width:768px) {
 html body #t-header .tmenu-mobile .t-menuwidgeticons__icon,
 html body #t-header .tmenu-mobile .t-menuburger { flex:0 0 44px!important; width:44px!important; height:44px!important; }
 html body #t-header .tmenu-mobile .t-menuwidgeticons__link { display:grid!important; place-items:center; flex:0 0 44px!important; width:44px!important; height:44px!important; }
 html body #t-header .tmenu-mobile .t-menu-burger__icon > span { width:28px!important; }
}

/* The mobile hero emerges through a soft upper glass edge. */
@media(max-width:768px) {
 html body .ourobor-managed-hero-record .ourobor-hero-system::before {
  content:""; inset:0 0 auto; height:calc(var(--ob-hero-top-feather) + env(safe-area-inset-top,0px));
  z-index:2; opacity:1; pointer-events:none;
  background:linear-gradient(to bottom,rgba(var(--ob-hero-edge-rgb),.7),rgba(var(--ob-hero-edge-rgb),.16) 55%,rgba(var(--ob-hero-edge-rgb),0));
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 8%,rgba(0,0,0,.8) 28%,rgba(0,0,0,.28) 62%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 8%,rgba(0,0,0,.8) 28%,rgba(0,0,0,.28) 62%,transparent 100%);
 }
 .ourobor-hero-system.ob-hero-entering .ohs-media { animation:ob-hero-focus .85s cubic-bezier(.16,1,.3,1) both; }
 @keyframes ob-hero-focus { from { filter:blur(10px); opacity:.7; } to { filter:blur(0); opacity:1; } }
}
@media(prefers-reduced-motion:reduce) { .ourobor-hero-system.ob-hero-entering .ohs-media { animation:none; } }

/* Inline galleries keep vertical page scrolling available over photographs. */
html body .or-review-media, html body [data-op-gallery] { touch-action:pan-x pan-y pinch-zoom!important; }
.op-lightbox img, .or-photo-viewer img { -webkit-user-drag:none; user-select:none; touch-action:pan-y pinch-zoom; }
.or-photo-viewer { position:fixed; inset:0; z-index:999999; display:grid; place-items:center; background:rgba(245,245,245,.82); backdrop-filter:blur(28px); -webkit-backdrop-filter:blur(28px); color:var(--ob-ink,#161616); }
.or-photo-viewer[hidden] { display:none; }
.or-photo-viewer img { width:90vw; height:82svh; object-fit:contain; }
.or-photo-viewer button { position:absolute; display:grid; place-items:center; width:46px; height:46px; padding:0; border:var(--ob-hairline,.5px) solid var(--ob-line,rgba(0,0,0,.2)); background:var(--ob-paper,#f5f5f5); color:inherit; font:26px/1 Arial,sans-serif; cursor:pointer; }
.or-photo-close { top:max(16px,env(safe-area-inset-top)); right:16px; }
.or-photo-prev { left:12px; top:50%; }
.or-photo-next { right:12px; top:50%; }
.or-photo-count { position:absolute; bottom:max(24px,env(safe-area-inset-bottom)); font:11px/1 monospace; letter-spacing:.12em; }
html[data-ourobor-theme="dark"] .or-photo-viewer { background:rgba(18,18,18,.85); }
@media(max-width:768px) { html.ob-menu-docked-bottom body #t-header { padding-top:0!important; } }

/* Feather the media itself: an overlay alone leaves the source rectangle visible. */
html body .ourobor-managed-hero-record .ourobor-hero-system {
 --ob-hero-top-feather:clamp(72px,10svh,96px);
 background:var(--ob-paper,#f5f5f5);
}
@media(max-width:768px) {
html body .ourobor-managed-hero-record .ohs-media,
html body .ourobor-managed-hero-record .ohs-shade {
 -webkit-mask-image:linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.14) calc(var(--ob-hero-top-feather) * .16),rgba(0,0,0,.5) calc(var(--ob-hero-top-feather) * .4),rgba(0,0,0,.86) calc(var(--ob-hero-top-feather) * .7),#000 var(--ob-hero-top-feather));
 mask-image:linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.14) calc(var(--ob-hero-top-feather) * .16),rgba(0,0,0,.5) calc(var(--ob-hero-top-feather) * .4),rgba(0,0,0,.86) calc(var(--ob-hero-top-feather) * .7),#000 var(--ob-hero-top-feather));
}
}


/* One backdrop per dock: a separate filtered parent makes a hard seam in WebKit.
   The lower feather extends into any page area Safari exposes below fixed controls. */
@media(max-width:768px) {
 html { --ob-dock-glass:rgba(245,245,245,.42); }
 html[data-ourobor-theme="dark"] { --ob-dock-glass:rgba(16,16,16,.62); }
 html.ob-menu-docked-bottom:not(.ob-menu-dragging):not(.ob-menu-settling) body #t-header [id^="rec"] .tmenu-mobile,
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) {
  width:100%!important; height:auto!important; box-sizing:content-box;
  bottom:var(--ob-menu-keyboard-lift,0px)!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
  background:transparent!important;
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
 }
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened) > .tmenu-mobile__container::before { content:none!important; }
 html body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened)::before {
  content:""; position:absolute; inset:-48px 0 -80px; height:auto; z-index:-1;
  pointer-events:none; background:var(--ob-dock-glass);
  -webkit-backdrop-filter:blur(12px) saturate(1.04); backdrop-filter:blur(12px) saturate(1.04);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 48px,#000 calc(100% - 80px),transparent);
  mask-image:linear-gradient(to bottom,transparent,#000 48px,#000 calc(100% - 80px),transparent);
 }
 html.ob-menu-under-purchase body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened)::before {
  top:0;
  -webkit-mask-image:linear-gradient(to bottom,#000,#000 calc(100% - 80px),transparent);
  mask-image:linear-gradient(to bottom,#000,#000 calc(100% - 80px),transparent);
 }
 html body .op-mobile-bar-anchor > .op-mobile-bar {
  background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none;
 }
 html body .op-mobile-bar-anchor > .op-mobile-bar::before,
 html body .op-mobile-bar-anchor > .op-mobile-bar.op-purchase-dock::before {
  inset:-48px 0 0; height:auto; background:var(--ob-dock-glass);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 48px,#000);
  mask-image:linear-gradient(to bottom,transparent,#000 48px,#000);
 }
}

/* Landing page only: centered mark, menu on the left, account/cart on the right. */
@media(max-width:768px) {
 html[data-ob-home-menu] body #t-header [id^="rec"] .tmenu-mobile > .tmenu-mobile__container {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center; column-gap:4px; padding-left:12px!important; padding-right:12px!important;
 }
 html[data-ob-home-menu] body #t-header .tmenu-mobile .t-menu-base__logowrapper {
  grid-column:2; grid-row:1; justify-self:center; position:static!important;
  width:110px!important; min-width:110px!important; max-width:110px!important; margin:0!important; transform:none!important;
 }
 html[data-ob-home-menu] body #t-header .tmenu-mobile .t-menu-base__logo { margin:0!important; }
 html[data-ob-home-menu] body #t-header .tmenu-mobile .t-menuburger {
  grid-column:1; grid-row:1; justify-self:start; position:relative!important; inset:auto!important; margin:0!important;
 }
 html[data-ob-home-menu] body #t-header .tmenu-mobile .t-menuwidgeticons__wrapper {
  grid-column:3; grid-row:1; justify-self:end; display:flex!important; gap:0!important;
  width:auto!important; min-width:0!important; height:44px!important; margin:0!important; padding:0!important;
 }
}

/* One stable mobile mark; no inherited Tilda record reveal or image-sized layout. */
@media(max-width:768px) {
 html body #t-header .r { opacity:1!important; animation:none!important; transition:none!important; }
 html body #t-header .tmenu-mobile .t-menu-base__imglogo {
  display:block; width:110px!important; height:38.2px!important; object-fit:contain;
  opacity:1!important; visibility:visible!important; filter:none!important; transition:none!important;
 }
}

/* Catalogue support sits directly after the hamburger, sharing the dock ink. */
.ob-menu-support { display:none!important; }
@media(max-width:768px) {
 html body #t-header .tmenu-mobile .ob-menu-support:not([hidden]) {
  display:grid!important; place-items:center; grid-column:1; grid-row:1; justify-self:start;
  position:relative; width:44px; height:44px; min-width:44px; padding:0; margin:0 0 0 44px;
  border:0; border-radius:0; background:transparent; color:#a0a0a0; cursor:pointer;
  -webkit-tap-highlight-color:transparent;
 }
 html body #t-header .tmenu-mobile .ob-menu-support .launcher-icon {
  display:block; width:28px; height:28px; background:currentColor; pointer-events:none;
  -webkit-mask:url('/image/ourobor-support-headset-v2.png') center/130% 130% no-repeat;
  mask:url('/image/ourobor-support-headset-v2.png') center/130% 130% no-repeat;
 }
 html body #t-header .tmenu-mobile .ob-menu-support:focus-visible { outline:1px solid currentColor; outline-offset:-3px; }
 html body #t-header .tmenu-mobile .ob-menu-support-badge {
  position:absolute; right:0; top:0; min-width:16px; height:16px; padding:0 3px;
  box-sizing:border-box; border-radius:50%; background:var(--ob-ink,#111); color:var(--ob-paper,#f4f3ef);
  font:10px/16px Arial,sans-serif; text-align:center;
 }
 html body #t-header .tmenu-mobile .ob-menu-support-badge[hidden] { display:none; }
}

/* The upper mark sits in the media's soft edge, with no navigation surface. */
.ob-hero-mark { display:none; }
@media(max-width:768px) {
 html[data-ob-home-menu] .ourobor-hero-system > .ob-hero-mark {
  display:block; position:absolute; z-index:7; left:50%;
  top:calc(env(safe-area-inset-top,0px) + var(--ob-hero-top-feather) * .5 - 25.1px);
  width:110px; height:38.2px; transform:translateX(-50%); pointer-events:none;
  opacity:var(--ob-hero-mark-opacity,1);
 }
 .ob-hero-mark img { display:block; width:100%; height:100%; object-fit:contain; }
 html[data-ourobor-theme="dark"] .ob-hero-mark img { filter:invert(1); }
 html[data-ob-home-menu] body #t-header .tmenu-mobile .t-menu-base__logo > a {
  opacity:var(--ob-dock-mark-opacity,0)!important;
 }
}

/* Product pages end at related items; keep the cart records in the shared footer root. */
html[data-ob-product-page] .ourobor-footer-record,
html[data-ob-product-page] #ourobor-footer { display:none!important; }

/* Campaign controls use the same thin rules and compact type as the catalogue. */
html body .ourobor-hero-system .ohs-kicker,
html body .ourobor-hero-system .ohs-label {
 font:400 10px/1.4 var(--ob-ref-mono); letter-spacing:.1em;
}
html body .ourobor-hero-system .ohs-kicker { margin-bottom:8px; }
html body .ourobor-hero-system .ohs-label { margin-bottom:16px; }
html body .ourobor-hero-system .ohs-text { font-size:13px; line-height:1.5; letter-spacing:.025em; margin-bottom:20px; }
html body .ourobor-hero-system .ohs-actions { display:flex; flex-wrap:wrap; gap:8px 20px; }
html body .ourobor-hero-system .ohs-link {
 width:auto; min-width:0; min-height:48px; gap:28px; justify-content:space-between; padding:12px 0;
 border:0; border-bottom:var(--ob-hairline,.5px) solid currentColor;
 border-radius:0; background:transparent; color:var(--hero-ink)!important;
 font:400 11px/1.4 var(--ob-ref-mono); letter-spacing:.1em;
 backdrop-filter:none; -webkit-backdrop-filter:none; text-decoration:none!important;
 transition:opacity .2s ease; transform:none;
}
html body .ourobor-hero-system .ohs-link-arrow { display:block; flex:0 0 22px; width:22px; height:22px; pointer-events:none; }
html body .ourobor-hero-system .ohs-link:hover { background:transparent; color:var(--hero-ink)!important; opacity:.65; transform:none; }
html body .ourobor-hero-system .ohs-link:focus-visible { outline:1px solid currentColor; outline-offset:4px; }
html body .ourobor-hero-system .ohs-nav {
 display:grid; grid-template-columns:minmax(0,1fr) 44px 44px; gap:4px;
 border-top:var(--ob-hairline,.5px) solid rgba(var(--hero-text-rgb,17,17,17),.22); padding-top:6px;
}
html body .ourobor-hero-system .ohs-count {
 grid-column:1; grid-row:1; justify-content:flex-start; gap:12px;
 font:400 11px/1.4 var(--ob-ref-mono); letter-spacing:.08em; font-variant-numeric:tabular-nums;
}
html body .ourobor-hero-system .ohs-line { width:clamp(48px,9vw,108px); }
html body .ourobor-hero-system .ohs-arrow {
 grid-row:1; display:grid; place-items:center; width:44px; height:44px; padding:0;
 border:0; border-radius:0; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none;
 font-size:20px; transition:opacity .2s ease;
}
html body .ourobor-hero-system .ohs-arrow[data-ohs-prev] { grid-column:2; }
html body .ourobor-hero-system .ohs-arrow[data-ohs-next] { grid-column:3; }
html body .ourobor-hero-system .ohs-arrow:hover { opacity:.6; }
@media(max-width:768px) {
 html body:has([data-ourobor-managed-hero]:not(.is-closed)) #ourobor-catalog-unified .uc-intro { background:linear-gradient(to bottom,var(--ob-paper,#f5f5f5),var(--ob-surface,#fafafa) 160px)!important; }
 html body .ourobor-hero-system .ohs-group[data-mobile-y="bottom"] .ohs-content { bottom:96px; }
 html body .ourobor-hero-system .ohs-nav { bottom:22px; }
 html body .ourobor-managed-hero-record .ourobor-hero-system {
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent);
  mask-image:linear-gradient(to bottom,#000 calc(100% - 16px),transparent);
 }
}
@media(prefers-reduced-motion:reduce) {
 html body .ourobor-hero-system .ohs-link, html body .ourobor-hero-system .ohs-arrow { transition:none; }
}

/* Included objects share the compact companion-card language. */
html body [data-ourobor-product].op-gifts-compact > .op-shell .op-gifts,
html body [data-ourobor-product].op-gifts-compact [data-op-jump="gifts"] { display:none; }
html body [data-ourobor-product] .op-gift-rail {
 order:9; min-width:0; margin:20px 0 4px; padding:16px 0 0;
 border-top:1px solid var(--op-line,rgba(17,17,17,.12));
}
html body [data-ourobor-product] .op-gift-rail[hidden] { display:none; }
html body [data-ourobor-product] .op-gift-rail-head { margin:0 0 14px; font:400 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif; letter-spacing:.08em; }
.op-gift-rail-grid { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 24px)/3); gap:12px; overflow-x:auto; padding:2px 2px 8px; scroll-snap-type:x proximity; }
.op-gift-card { min-width:0; border:0; border-radius:0; background:none; padding:0; color:inherit; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:9px; scroll-snap-align:start; }
html body [data-ourobor-product] .op-gift-card .op-model-item-media { display:block; width:min(100%,96px); aspect-ratio:1; }
html body [data-ourobor-product] .op-gift-card .op-model-item-media img { box-sizing:border-box; object-fit:contain; padding:5px; transform:none; }
html body [data-ourobor-product] .op-gift-card .op-model-item-index { font:400 8px/1.2 "Courier New",monospace; }
.op-gift-card-name { font:400 10px/1.35 "Helvetica Neue",Helvetica,Arial,sans-serif; text-align:center; overflow-wrap:anywhere; }
.op-gift-card:focus-visible { outline:1px solid currentColor; outline-offset:1px; }
@media(hover:hover) { .op-gift-card:hover .op-gift-card-name { text-decoration:underline; text-underline-offset:3px; } }
@media(max-width:768px) {
 html body [data-ourobor-product] .op-gift-rail { order:12; margin:24px 0 0; padding:20px 0 8px; }
 html body [data-ourobor-product] .op-gift-rail + .op-details { margin-top:12px; }
}
.op-gift-dialog {
 box-sizing:border-box; width:min(760px,calc(100vw - 40px)); max-height:calc(100dvh - 48px);
 margin:auto; padding:0; overflow:auto; border:1px solid rgba(17,17,17,.16); border-radius:0;
 background:#f8f8f6; color:#171717; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.op-gift-dialog::backdrop { background:rgba(235,235,232,.22); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.op-gift-dialog-head { display:flex; align-items:center; gap:20px; padding:10px 16px 10px 24px; border-bottom:1px solid rgba(17,17,17,.12); font:400 10px/1.4 "Courier New",monospace; letter-spacing:.08em; color:#777; }
.op-gift-dialog-head > span:nth-child(2) { margin-left:auto; white-space:nowrap; }
.op-gift-dialog-close { flex:0 0 44px; width:44px; height:44px; padding:0; border:0; background:none; color:inherit; font:300 28px/1 Arial,sans-serif; cursor:pointer; }
.op-gift-dialog-close:focus-visible { outline:1px solid currentColor; outline-offset:-4px; }
.op-gift-dialog-content { display:grid; grid-template-columns:1fr 1.1fr; }
.op-gift-dialog-media { min-height:320px; display:grid; place-items:center; background:#efefed; border-right:1px solid rgba(17,17,17,.1); }
.op-gift-dialog-media img { display:block; width:100%; height:100%; max-height:440px; object-fit:contain; }
.op-gift-dialog-copy { padding:40px 32px; display:flex; flex-direction:column; align-items:flex-start; }
.op-gift-dialog-kicker { font-size:10px; letter-spacing:.1em; color:#777; }
.op-gift-dialog-copy h2 { margin:20px 0 28px; font-size:clamp(26px,3vw,38px); font-weight:400; line-height:1.02; letter-spacing:-.035em; overflow-wrap:anywhere; }
.op-gift-dialog-description { margin:0 0 32px; font-size:14px; line-height:1.7; white-space:pre-line; }
.op-gift-dialog-meta { align-self:stretch; margin:auto 0 0; padding-top:20px; border-top:1px solid rgba(17,17,17,.12); font:400 10px/1.6 "Courier New",monospace; letter-spacing:.04em; color:#777; }
.op-gift-dialog-content.is-text-only { grid-template-columns:1fr; }
@media(max-width:768px) {
 .op-gift-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 32px); }
 .op-gift-dialog-head { padding:8px 8px 8px 16px; gap:8px; font-size:9px; }
 .op-gift-dialog-content { grid-template-columns:1fr; }
 .op-gift-dialog-media { height:min(32dvh,260px); min-height:0; border-right:0; border-bottom:1px solid rgba(17,17,17,.1); }
 .op-gift-dialog-media img { height:100%; max-height:min(32dvh,260px); }
 .op-gift-dialog-copy { padding:24px; }
 .op-gift-dialog-copy h2 { margin:14px 0 18px; }
 .op-gift-dialog-description { margin-bottom:24px; }
}
@media(prefers-reduced-motion:no-preference) {
 .op-gift-dialog[open] { animation:op-gift-reveal .25s cubic-bezier(.16,1,.3,1); }
 @keyframes op-gift-reveal { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
}

@media(max-width:768px) {
 html[data-ob-home-menu] body #t-header [id^="rec"] .tmenu-mobile:not(.tmenu-mobile_opened)::before {
  inset:-36px 0 -64px;
  -webkit-backdrop-filter:blur(5px) saturate(1.04); backdrop-filter:blur(5px) saturate(1.04);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.08) 8px,rgba(0,0,0,.35) 18px,rgba(0,0,0,.8) 28px,#000 36px,#000 calc(100% - 64px),rgba(0,0,0,.75) calc(100% - 42px),rgba(0,0,0,.24) calc(100% - 20px),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.08) 8px,rgba(0,0,0,.35) 18px,rgba(0,0,0,.8) 28px,#000 36px,#000 calc(100% - 64px),rgba(0,0,0,.75) calc(100% - 42px),rgba(0,0,0,.24) calc(100% - 20px),transparent 100%);
 }
}
html[data-ourobor-theme="dark"] .op-gift-dialog { background:#161615; color:#eeede9; border-color:rgba(255,255,255,.18); }
html[data-ourobor-theme="dark"] .op-gift-dialog::backdrop { background:rgba(12,12,12,.28); }
html[data-ourobor-theme="dark"] .op-gift-dialog-media { background:#20201e; border-color:rgba(255,255,255,.12); }
html[data-ourobor-theme="dark"] :is(.op-gift-dialog-head,.op-gift-dialog-meta) { border-color:rgba(255,255,255,.14); color:#aaa; }
html[data-ourobor-theme="dark"] .op-gift-dialog-kicker { color:#aaa; }

@media(min-width:769px) {
 html body [data-ourobor-look] .op-panel-inner > .op-gift-rail { order:16; }
}
@media(max-width:768px) {
 html body [data-ourobor-look] .op-shell > .op-gift-rail { margin:0; padding:20px 16px 24px; }
}

/* Mobile uses Back/swipe; desktop also exposes the native close control. */
@media(max-width:768px) {
 [data-ourobor-product] [data-op-lightbox-close] { display:none!important; }
}
@media(min-width:769px) {
 [data-ourobor-product] [data-op-lightbox-close] {
  display:grid!important; place-items:center;
  top:calc(var(--ob-stage-top,112px) + 16px); right:24px;
  width:44px; height:44px; font-size:24px; line-height:1;
 }
}

/* Desktop object reader: purchase / one photograph / disclosures. */
.ob-product-details-column[hidden] { display:none!important; }
@media(min-width:769px) {
 html body [data-ourobor-product].ob-product-three-columns .op-layout {
  display:grid; grid-template-columns:minmax(300px,1fr) minmax(0,1.65fr) minmax(180px,.7fr);
 }
 html body .ob-product-three-columns .ob-product-details-column {
  min-width:0; height:100%; overflow-y:auto; overscroll-behavior:contain;
  background:var(--op-paper,#f4f3ef); border-right:1px solid var(--ob-hairline-color,rgba(17,17,15,.12));
 }
 .ob-product-details-heading { padding:28px 22px 40px; font:10px/1.5 'IBM Plex Mono','Courier New',monospace; letter-spacing:.1em; color:#888; }
 html body .ob-product-three-columns .ob-product-details-column .op-detail { margin:0; border:0; border-top:1px solid rgba(17,17,15,.12); }
 html body .ob-product-three-columns .ob-product-details-column .op-detail > summary { padding:22px; font-size:11px; letter-spacing:.07em; }
 html body .ob-product-three-columns .ob-product-details-column .op-detail-content { padding:0 22px 24px; font-size:13px; line-height:1.65; }
 html body [data-ourobor-product].ob-product-three-columns .op-gallery {
  display:flex!important; flex-direction:column; gap:0; overflow-y:auto; overflow-x:hidden;
  scroll-snap-type:y mandatory; overscroll-behavior:contain; scrollbar-width:none; min-width:0;
 }
 html body .ob-product-three-columns .op-gallery::-webkit-scrollbar { display:none; }
 html body [data-ourobor-product].ob-product-three-columns .op-gallery > .op-media:not(.is-empty) {
  flex:0 0 100%; width:100%; height:100%; min-height:100%; max-height:none; aspect-ratio:auto;
  grid-area:auto; scroll-snap-align:start; scroll-snap-stop:normal; margin:0;
 }
 html body .ob-product-three-columns .op-gallery > .op-media img { width:100%; height:100%; object-fit:contain; }
 html body .ob-product-three-columns .op-gallery > .is-empty,
 html body .ob-product-three-columns .op-gallery > .op-model-items-desktop { display:none!important; }
 html body .ob-product-three-columns .op-gallery:focus-visible { outline:1px solid currentColor; outline-offset:-2px; }
}

@media(min-width:769px) {
 html body .ob-product-three-columns .ob-product-details-column .op-gift-rail { margin:0; padding:24px 22px; border-top:1px solid rgba(17,17,15,.12); }
 html body .ob-product-three-columns .ob-product-details-column .op-reviews-zone { margin:0; padding:0; min-width:0; border-top:1px solid rgba(17,17,15,.12); }
 html body .ob-product-three-columns .ob-product-details-column .or-toggle,
 html body .ob-product-three-columns .ob-product-details-column .or-reward-toggle { padding:22px; font-size:11px; }
 html body .ob-product-three-columns .op-panel [data-op-jump="reviews"] { display:none; }
}

/* Keep the real header hit targets above the fullscreen photo, not just its ink. */
html:has([data-op-lightbox].is-open) #t-header {
  position: relative;
  z-index: 1000002;
}
@media (max-width:768px) {
  [data-op-lightbox], [data-op-lightbox] img { touch-action: pinch-zoom; }
}

@media(min-width:769px) {
 html body .ob-product-details-column .op-model-items-mobile {
  display:block; position:static; width:100%; height:auto; min-height:0;
  margin:0; padding:24px 22px; box-sizing:border-box;
  border:0; border-top:1px solid var(--op-line,rgba(17,17,17,.12));
  background:transparent;
 }
 html body .ob-product-details-column .op-model-items-mobile:empty { display:none; }
 html body .ob-product-details-column .op-model-items-head { font-size:10px; margin-bottom:16px; }
 html body .ob-product-details-column .op-model-items-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 10px; }
 html body .ob-product-details-column .op-model-item { grid-template-rows:auto auto; }
 html body .ob-product-details-column .op-model-item-media { aspect-ratio:1; }
}

/* One document scroll: photographs first, then the rest of the page. */
@media(min-width:769px) {
 html body .ob-product-three-columns.ob-product-stage-active .ob-product-stage-track { height:calc(var(--ob-stage-topline) + var(--ob-stage-content-height,var(--ob-stage-height)) + var(--ob-stage-travel)); }
 html body .ob-product-three-columns.ob-product-stage-active .ob-product-stage { height:auto; }
 html body [data-ourobor-product].ob-product-three-columns .op-layout { height:auto; min-height:var(--ob-stage-height); align-items:start; }
 html body .ob-product-three-columns .ob-product-details-column,
 html body [data-ourobor-product].ob-product-three-columns .op-panel { height:auto; overflow:visible; overscroll-behavior:auto; }
 html body .ob-product-three-columns .op-panel-inner { animation:none!important; transform:none!important; }
 html body [data-ourobor-product].ob-product-three-columns .op-gallery { height:var(--ob-stage-height); overflow:hidden; scroll-snap-type:none; overscroll-behavior:auto; }
 html body .ob-product-three-columns .ob-product-details-heading { padding:16px 20px; }
 html body .ob-product-three-columns .ob-product-details-column .op-detail > summary,
 html body .ob-product-three-columns .ob-product-details-column .or-toggle,
 html body .ob-product-three-columns .ob-product-details-column .or-reward-toggle { padding:14px 20px; }
 html body .ob-product-three-columns .ob-product-details-column .op-gift-rail,
 html body .ob-product-three-columns .ob-product-details-column .op-model-items-mobile { padding:16px 20px; }
 html body .ob-product-three-columns .ob-product-details-column .op-model-items-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
 html body .ob-product-three-columns .op-panel { padding:24px; }
 html body .ob-product-three-columns .op-title { font-size:clamp(30px,3.5vw,60px); margin-bottom:16px; }
 html body .ob-product-three-columns .op-config { gap:20px; margin-top:20px; }
 html body .ob-product-three-columns .op-purchase-facts { margin:14px 0; }
 html body .ob-product-three-columns .op-quantity-row { margin:18px 0; }
}
@media(min-width:769px) {
 html body [data-ourobor-product].ob-product-three-columns .op-panel { overflow:visible!important; padding:20px; }
 html body .ob-product-three-columns .op-title { font-size:clamp(30px,2.8vw,48px); line-height:1; margin:10px 0 0; }
 html body .ob-product-three-columns .op-review-shortcut { margin-top:4px; min-height:24px; padding:4px 0; }
 html body .ob-product-three-columns .op-price-row { margin-top:8px; gap:4px; }
 html body .ob-product-three-columns .op-purchase-facts { margin:8px 0; }
 html body .ob-product-three-columns .op-config { gap:14px; margin-top:12px; }
 html body .ob-product-three-columns .op-option-head { margin-bottom:10px; }
 html body .ob-product-three-columns .op-quantity-row { margin:12px 0 0; }
 html body .ob-product-three-columns .op-buy { margin-top:12px; }
 html body .ob-product-three-columns .op-details:empty,
 html body .ob-product-three-columns .op-cart-status:empty { display:none; }
}

/* Side columns scroll only when their expanded contents exceed the photo stage. */
@media(min-width:769px) {
 html body [data-ourobor-product].ob-product-three-columns .op-layout { height:var(--ob-stage-height); }
 html body [data-ourobor-product].ob-product-three-columns .op-panel,
 html body .ob-product-three-columns .ob-product-details-column {
  height:var(--ob-stage-height); max-height:var(--ob-stage-height);
  overflow-y:auto!important; overflow-x:hidden!important;
  overscroll-behavior-y:auto; scrollbar-width:thin;
 }
 html body .ob-product-three-columns .ob-product-details-column #look-components { margin:0; padding:16px 20px; }
 html body .ob-product-three-columns .ob-product-details-column .ol-component { min-width:0; }
 html body .ob-product-three-columns .ob-product-details-column .ol-component-name { font-size:12px; }
}

@media(min-width:769px) {
 html body .ob-product-three-columns:not(.ob-desktop-purchase-away) .op-desktop-bar {
  transform:translateY(calc(100% + 2px)); opacity:0; visibility:hidden; pointer-events:none;
 }
 html body .ob-product-three-columns.ob-desktop-purchase-away .op-desktop-bar {
  transform:translateY(0); opacity:1; visibility:visible; pointer-events:auto;
 }
}

/* A single shared frame; adjacent sections never draw the same edge twice. */
@media(min-width:769px) {
 html body .ob-product-three-columns .ob-product-stage::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:var(--ob-hairline,.5px);
  background:var(--op-line,#d9d9d9); pointer-events:none; z-index:5;
 }
 html body [data-ourobor-product].ob-product-three-columns .op-layout { border-bottom-style:none; }
 html body [data-ourobor-product].ob-product-three-columns .op-gallery { border-left-style:none; }
 html body .ob-product-three-columns .ob-product-details-column { border-right:var(--ob-hairline,.5px) solid var(--op-line,#d9d9d9); box-sizing:border-box; }
 html body .ob-product-three-columns .ob-product-details-column :is(.op-gift-rail,.op-detail,.op-reviews-zone,.op-model-items-mobile) {
  border:0; border-top:var(--ob-hairline,.5px) solid var(--op-line,#d9d9d9);
 }
 html body .ob-product-three-columns .ob-product-details-column .or-toggle { border-top-style:none; }
}

/* A look uses the individual garments' descriptions and size guides. */
[data-ourobor-look] .op-detail:has([data-op-construction]),
[data-ourobor-look] .op-detail:has([data-op-fit]) { display:none!important; }
@media(min-width:769px) {
 html body [data-ourobor-look] .ob-product-details-column .ol-component-summary {
  grid-template-columns:56px minmax(0,1fr) 16px; gap:10px; padding:14px;
 }
 html body [data-ourobor-look] .ob-product-details-column .ol-component-thumb { width:56px; height:70px; grid-row:1 / 3; }
 html body [data-ourobor-look] .ob-product-details-column .ol-component-copy { grid-column:2; grid-row:1; }
 html body [data-ourobor-look] .ob-product-details-column .ol-component-title { white-space:normal; font-size:12px; line-height:1.3; }
 html body [data-ourobor-look] .ob-product-details-column .ol-component-selection { line-height:1.4; }
 html body [data-ourobor-look] .ob-product-details-column .ol-component-price { grid-column:2; grid-row:2; min-width:0; }
 html body [data-ourobor-look] .ob-product-details-column .ol-component-toggle { grid-column:3; grid-row:1 / 3; }
}

/* The complete look stays beside its purchase action, with compact garment cards. */
@media(min-width:769px) {
 html body [data-ourobor-look].ob-product-three-columns .op-panel { padding:14px 18px; }
 html body [data-ourobor-look].ob-product-three-columns .op-title { font-size:clamp(28px,2.4vw,40px); line-height:1; margin:8px 0 0; }
 html body [data-ourobor-look].ob-product-three-columns .op-review-shortcut { min-height:20px; margin:2px 0; padding:2px 0; }
 html body [data-ourobor-look].ob-product-three-columns .op-price-row { margin-top:6px; gap:3px; }
 html body [data-ourobor-look].ob-product-three-columns .op-installment { padding:8px 0; min-height:0; }
 html body [data-ourobor-look].ob-product-three-columns .op-purchase-facts { margin:8px 0; font-size:12px; }
 html body [data-ourobor-look].ob-product-three-columns .op-purchase-facts p { margin:3px 0; }
 html body [data-ourobor-look].ob-product-three-columns .op-panel-inner > #look-components { order:7; margin:0; padding:0; }
 html body [data-ourobor-look].ob-product-three-columns .ol-components-head { padding:10px 0; font-size:10px; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component { margin:0 0 8px; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-summary {
  grid-template-columns:48px minmax(0,1fr) 16px; grid-template-rows:auto auto;
  min-height:0; padding:10px; gap:4px 10px;
 }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-thumb { width:48px; height:62px; grid-row:1 / 3; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-copy { grid-column:2; grid-row:1; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-index { font-size:8px; margin-bottom:3px; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-title { font-size:12px; line-height:1.2; white-space:normal; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-selection { font-size:9px; line-height:1.3; margin-top:3px; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-price { grid-column:2; grid-row:2; min-width:0; display:flex; flex-wrap:wrap; gap:4px 12px; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-price-row { gap:5px; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-price-row strong { font-size:13px; }
 html body [data-ourobor-look].ob-product-three-columns .ol-component-toggle { grid-column:3; grid-row:1 / 3; }
 html body [data-ourobor-look].ob-product-three-columns .op-buy { min-height:44px; margin-top:4px; }
 html body [data-ourobor-look].ob-product-three-columns .op-shipping-note { margin-top:8px; }
 html body [data-ourobor-look].ob-product-three-columns .op-cart-status { margin-top:4px; min-height:0; }
}

/* Browser-native photo scrolling and snapping, with natural page chaining at either edge. */
@media(min-width:769px) {
 html body [data-ourobor-product].ob-product-three-columns .op-gallery {
  overflow-y:auto; overflow-x:hidden;
  scroll-snap-type:y mandatory; overscroll-behavior-y:auto; scroll-behavior:auto;
 }
 html body .ob-product-three-columns .op-gallery > .op-media:not(.is-empty) {
  animation:none!important; transform:none!important; transition:none!important;
  scroll-snap-align:start; scroll-snap-stop:always;
 }
}

/* The server emits this same grid; there is no legacy desktop grid at first paint. */
@media(min-width:769px) {
 [data-ourobor-product].ob-product-three-columns {
  --ob-stage-height:max(1px,min(700px,calc(100dvh - 168px)));
 }
}
@media(max-width:768px) {
 [data-ob-details-shell] { display:none; }
}

/* One native scroll surface for all three columns; overflowing disclosures remain nested. */
@media(min-width:769px) {
 html body [data-ourobor-product].ob-product-three-columns .op-layout {
  overflow-y:auto; overflow-x:hidden; scroll-snap-type:y mandatory;
  overscroll-behavior-y:auto; scroll-behavior:auto; scrollbar-width:none;
 }
 html body .ob-product-three-columns .op-layout::-webkit-scrollbar { display:none; }
 html body [data-ourobor-product].ob-product-three-columns .op-gallery {
  height:auto; max-height:none; overflow:visible; scroll-snap-type:none;
 }
 html body [data-ourobor-product].ob-product-three-columns .op-gallery > .op-media:not(.is-empty) {
  flex:0 0 var(--ob-stage-height); height:var(--ob-stage-height);
  min-height:var(--ob-stage-height); max-height:var(--ob-stage-height);
 }
 html body [data-ourobor-product].ob-product-three-columns .op-panel,
 html body .ob-product-three-columns .ob-product-details-column {
  position:sticky; top:0; align-self:start;
 }
}

@media(min-width:769px) {
 html body .ob-product-three-columns .ob-product-details-column.has-internal-scroll { overscroll-behavior-y:contain; }
}

/* Keep each side panel’s width and scrolling behavior when swapping desktop sides. */
@media(min-width:769px) {
 html body [data-ourobor-product].ob-product-three-columns .op-panel {
  grid-column:1; grid-row:1; border-left:0;
  border-right:var(--ob-hairline,.5px) solid var(--op-line,#d9d9d9);
 }
 html body [data-ourobor-product].ob-product-three-columns .op-gallery { grid-column:2; grid-row:1; }
 html body .ob-product-three-columns .ob-product-details-column {
  grid-column:3; grid-row:1; border-right:0;
  border-left:var(--ob-hairline,.5px) solid var(--op-line,#d9d9d9);
 }
}

.op-dispatch-rhythm{border:0!important;padding:8px 0!important;font:13px/1.5 Helvetica,Arial,sans-serif;color:#777}.op-dispatch-rhythm summary{cursor:pointer;list-style:none;min-height:44px;display:flex;flex-direction:column;justify-content:center;gap:10px}.op-dispatch-rhythm summary::-webkit-details-marker{display:none}.op-dispatch-track{display:block;height:2px;background:#ddd;width:100%}.op-dispatch-track>span{display:block;height:100%;background:#777;transition:width .3s ease}.op-dispatch-rhythm p{font-size:13px!important;line-height:1.5!important}.op-dispatch-rhythm summary:focus-visible{outline:1px solid currentColor;outline-offset:4px}@media(prefers-reduced-motion:reduce){.op-dispatch-track>span{transition:none}}
/* Dispatch status: scoped to avoid generic product disclosure styles. */
html body .op-dispatch-rhythm{border:0!important;border-top:1px solid #dcdcd8!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:16px 0 0!important;margin:22px 0 0!important;color:#666660;font:13px/1.5 Helvetica,Arial,sans-serif}
html body .op-dispatch-rhythm>summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto 18px!important;gap:10px 8px!important;min-height:64px;padding:0!important;border:0!important;outline:none;background:none!important;list-style:none;text-transform:none!important;letter-spacing:normal!important;font:12px/1.5 Helvetica,Arial,sans-serif!important;cursor:pointer}
html body .op-dispatch-rhythm>summary::after{display:none!important}html body .op-dispatch-rhythm>summary::-webkit-details-marker{display:none}
html body .op-dispatch-rhythm .op-dispatch-status{font:500 12px/1.5 Helvetica,Arial,sans-serif;color:#282b28;white-space:nowrap}
html body .op-dispatch-rhythm summary>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .25s}
html body .op-dispatch-rhythm[open] summary>svg{transform:rotate(180deg)}
html body .op-dispatch-rhythm .op-dispatch-track{grid-column:1/-1;display:flex;gap:4px;width:100%;height:3px;margin:3px 0;background:none}
html body .op-dispatch-rhythm .op-dispatch-track>span{flex:1;height:3px;background:#dddeda}
html body .op-dispatch-rhythm .op-dispatch-track>span.is-filled{background:#747873}
html body .op-dispatch-rhythm .op-dispatch-more{grid-column:1/-1;display:block;font:11px/1.5 Helvetica,Arial,sans-serif;color:#767872;letter-spacing:normal;text-transform:none}
html body .op-dispatch-rhythm>p{padding:0!important;margin:16px 0 0!important;font:13px/1.65 Helvetica,Arial,sans-serif!important;color:#646660}
html body .op-dispatch-rhythm>summary:focus-visible{outline:1px solid #777;outline-offset:6px}
@media(prefers-reduced-motion:reduce){html body .op-dispatch-rhythm summary>svg{transition:none}}
/* Keep the buying column stable: details open above the page, never expand it. */
html body .op-dispatch-rhythm{padding-top:10px!important;margin-top:12px!important}
html body .op-dispatch-rhythm>summary{min-height:40px;gap:5px 8px!important}
html body .op-dispatch-rhythm>summary>svg{transform:rotate(-90deg)}
.op-dispatch-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:34px 28px;border:1px solid #d8d8d3;border-radius:0;background:#f8f8f6;color:#262824;font:14px/1.65 Helvetica,Arial,sans-serif;box-shadow:0 20px 70px #00000012}
.op-dispatch-dialog::backdrop{background:#17191530;backdrop-filter:blur(3px)}
.op-dispatch-close{position:absolute;right:12px;top:12px;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:inherit;cursor:pointer}
.op-dispatch-caption{font-size:10px;letter-spacing:.12em;color:#7a7e75;display:block;margin:10px 30px 22px 0}
.op-dispatch-dialog h2{font:400 26px/1.15 Helvetica,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 28px}
.op-dispatch-dialog-status{display:block;font-size:13px;font-weight:500;margin-bottom:14px}
.op-dispatch-dialog .op-dispatch-track{display:flex;height:3px;gap:4px;background:none}
.op-dispatch-dialog .op-dispatch-track>span{flex:1;background:#dddeda}.op-dispatch-dialog .op-dispatch-track>span.is-filled{background:#747873}
.op-dispatch-dialog p{font-size:14px;line-height:1.7;color:#646960;margin:22px 0 0}
@media(min-width:769px){
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel{overflow:visible!important;max-height:none;height:auto;min-height:var(--ob-stage-height);box-sizing:border-box}
 html body .ob-product-three-columns .op-panel .op-description:empty,
 html body .ob-product-three-columns .op-panel .op-preorder:empty,
 html body .ob-product-three-columns .op-panel .op-details:empty{display:none!important;margin:0!important}
 html body .ob-product-three-columns .op-panel .op-title.is-long{font-size:clamp(30px,2.8vw,48px);line-height:1.02}
 html body .ob-product-three-columns .op-panel .op-purchase-facts>p{font-size:13px;line-height:1.5;margin:5px 0}
}
@media(min-width:769px) and (max-height:850px){
 html body .ob-product-three-columns .op-panel{padding:16px!important}
 html body .ob-product-three-columns .op-panel .op-title{margin-top:7px}
 html body .ob-product-three-columns .op-panel .op-heading{font-size:9px}
 html body .ob-product-three-columns .op-panel .op-config{gap:8px;margin-top:8px}
 html body .ob-product-three-columns .op-panel .op-option-head{margin-bottom:6px}
 html body .ob-product-three-columns .op-panel .op-buy{min-height:44px;padding-top:12px;padding-bottom:12px;margin-top:8px}
 html body .ob-product-three-columns .op-panel .op-quantity-row{margin-top:8px}
 html body .ob-product-three-columns .op-panel .op-shipping-note{margin-top:8px;font-size:9px}
}
html body .op-dispatch-rhythm[data-load=low],.op-dispatch-dialog[data-load=low]{--dispatch-tone:#66806b}
html body .op-dispatch-rhythm[data-load=medium],.op-dispatch-dialog[data-load=medium]{--dispatch-tone:#ad8b52}
html body .op-dispatch-rhythm[data-load=high],.op-dispatch-dialog[data-load=high]{--dispatch-tone:#ad7665}
html body .op-dispatch-rhythm .op-dispatch-track>span.is-filled,.op-dispatch-dialog .op-dispatch-track>span.is-filled{background:var(--dispatch-tone,#747873)}
@media(min-width:769px){
 html body .ob-product-three-columns.ob-purchase-compact .op-panel{padding:14px!important}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-title{line-height:1.02;margin:6px 0 0}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-price-row{margin-top:4px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-price{font-size:25px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-tax{font-size:9px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-installment{padding:8px 0;margin:6px 0;font-size:10px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-config{gap:8px;margin-top:8px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-option-head{margin-bottom:5px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-colors{gap:8px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-color{width:28px;height:28px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-sizes{gap:4px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-size{min-width:34px;min-height:36px;padding:6px 8px;font-size:11px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-purchase-facts{margin:5px 0}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-quantity-row{margin-top:8px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-buy{min-height:44px;margin-top:8px;padding:12px;font-size:10px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-shipping-note{margin-top:7px;font-size:9px}
}
@media(min-width:769px){
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-price-row{padding:6px 0}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-details{display:none}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-dispatch-rhythm{margin-top:6px;padding-top:6px}
 html body .ob-product-three-columns.ob-purchase-compact .op-panel .op-config .op-option-head{margin:0 0 5px!important}
}
/* Keep the product configuration against the bottom of its desktop column. */
@media(min-width:769px){
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel{display:flex;flex-direction:column}
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel-inner{display:flex;flex-direction:column;flex:1;min-height:0}
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel-inner>.op-config{margin-top:auto!important;padding-top:14px;flex-shrink:0}
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel-inner>.op-quantity-row,
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel-inner>.op-buy,
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel-inner>.op-shipping-note{flex-shrink:0}
}

/* Match the purchase footer to the shared stage edge without empty detail chrome. */
@media(min-width:769px){
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel-inner>.op-details:not(:has(.op-detail)){display:none!important}
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel-inner>.op-shipping-note{margin:12px 0 0!important;padding:0;line-height:1.5;text-align:left;font-size:10px;letter-spacing:.06em}
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .op-panel{padding-bottom:18px!important}
 html body [data-ourobor-product].ob-product-three-columns.ob-purchase-measuring .op-panel{height:auto!important;min-height:0!important;max-height:none!important}
 html body [data-ourobor-product].ob-product-three-columns.ob-purchase-measuring .op-panel-inner{flex:none!important}
}

/* Desktop information follows reading order: details, included items, reviews. */
@media(min-width:769px){
 html body [data-ourobor-product]:not([data-ourobor-look]).ob-product-three-columns .ob-product-details-column>.op-gift-rail{order:0}
}
