/* STORY FLYERS brand layer v20260922. Public website only. */
:root {
  --sf-yellow: #fff000;
  --sf-orange: #ff6000;
  --sf-ink: #0a0a0a;
  --sf-charcoal: #1a1a1a;
  --sf-white: #fff9eb;
  --sf-muted: #bdb8ac;
  --sf-orange-on-light: #a93600;
  --accent: var(--sf-yellow);
  --lime: var(--sf-yellow);
  --color-accent: var(--sf-yellow);
}
/* Opaque navigation keeps labels legible over moving portfolio media. */
.nav { background: #0a0a0a; }
.nav__inner { background: #1a1a1a; }
.nav .nav__logo { gap: 10px; padding: 4px 12px; min-height: 44px; }
.nav__logo .sf-nav-mark { width: 64px; height: 40px; object-fit: contain; flex: 0 0 64px; }
.nav__logo .sf-nav-name { color: #fff9eb; font-size: 12px; letter-spacing: .10em; }
.nav .nav__link { color: #bdb8ac; font-size: 12px; min-height: 44px; }
.nav .nav__link:hover, .nav .nav__dd-toggle[aria-expanded="true"] { color: #fff000; background: #282828; }
.nav .nav__dd { background: #141414; }
.nav .nav__dd-name { color: #fff9eb; }
.nav .nav__dd-sub { color: #bdb8ac; }
.nav .nav__dd-item:hover { background: #292929; }
.nav .nav__dd-item:hover .nav__dd-name { color: #fff000; }
.nav .nav__cta { color: #0a0a0a; background: #fff000; border-color: #fff000; font-size: 12px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.nav .nav__cta:hover { color: #0a0a0a; background: #ff6000; border-color: #ff6000; }
.nav .nav__sales { font-size: 12px !important; min-height: 40px; }
.nav .nav__sales:hover { color: #fff000 !important; border-color: #fff000 !important; }
.sf-alt-mark { width: 64px; height: 40px; object-fit: contain; flex-shrink: 0; }
.ca-nav__logo, .rt-nav__brand { display: inline-flex; align-items: center; gap: 12px; }
/* White checkout: yellow is a fill, not the only selected-state boundary. */
.order-page { --lime-hover: #ff6000; --ink-muted: #646469; }
.order-page .product-card.selected,
.order-page .size-card[aria-pressed="true"],
.order-page .addon-card.checked {
  border-color: #a93600;
  box-shadow: 0 0 0 1px #a93600 inset;
}
.sf-size.is-picked { border-color: #a93600 !important; }
.sf-size.is-picked .sf-size__tag { border-color: #a93600 !important; }
/* Product pages mix white and black sections. Use the dark accent only on
   light sections; retain Signal Yellow in the dark scene/closing sections. */
.pp4-hero__tag,
.pp4-attitude .pp4-grad-pink,
.pp4-attitude .pp4-grad-orange,
.pp4-upgrade .pp4-grad-pink,
.pp4-upgrade .pp4-grad-orange,
.pp4-att-spec__icon,
.pp4-drawer__title span,
.pp4-add__h em,
.bm-promo__msg.is-ok { color: #a93600; }
body.pp3-page .pp4-hero, body.pp4-page .pp4-hero { padding-top: 112px; }
@media (max-width: 767px) {
  body.pp3-page .pp4-hero, body.pp4-page .pp4-hero { padding-top: 132px; }
  .pp4-subnav { top: 105px; }
  .ca-nav__logo { gap: 8px; }
  .ca-nav__logo>span { display: none; }
}
/* Dual-color focus stays visible on dark, light and brand-color surfaces. */
:focus-visible { outline: 3px solid #0a0a0a; outline-offset: 3px; box-shadow: 0 0 0 6px #fff000; }
::selection { color: #0a0a0a; background: #fff000; }
@media (max-width: 767px) {
  .nav .nav__inner { padding: 6px 12px; gap: 2px 8px; justify-content: space-between; }
  .nav .nav__logo { flex: 1 1 auto; order: 1; justify-content: flex-start; padding: 0; min-height: 44px; }
  .nav__logo .sf-nav-mark { width: 56px; height: 36px; flex-basis: 56px; }
  .nav .nav__right { order: 2; margin: 0; gap: 6px; }
  .nav .nav__links { order: 3; flex: 1 0 100%; justify-content: center; gap: 12px; }
  .nav .nav__link { font-size: 13px; padding: 8px 12px; }
  .nav .nav__cta { padding: 6px 12px; }
  .nav .nav__sales { padding: 6px 10px !important; }
  html { scroll-padding-top: 128px; }
}
@media (max-width: 460px) {
  .nav__logo .sf-nav-name { display: none; }
}

/* STORY: full-width yellow header, SF symbol only. 20260922sf2 */
body .nav {
  background: #fff000 !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(10,10,10,.18);
  padding: 8px clamp(16px,4vw,64px);
}
body .nav .nav__inner {
  width: 100%;
  max-width: 1440px;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none;
  padding: 0;
  gap: 24px;
  /* STORY: centered SF mark — [left links] [ LOGO ] [right links] */
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
body .nav .nav__left  { display: flex; align-items: center; justify-content: flex-start; gap: 12px; min-width: 0; }
body .nav .nav__center { display: flex; align-items: center; justify-content: center; gap: 18px; min-width: 0; }

/* STORY: ORDER NOW pill — black capsule, yellow type (Last Dragon treatment) */
body .nav .nav__order-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0a0a0a !important;
  color: #fff000 !important;
  border: 2px solid #0a0a0a !important;
  border-radius: 999px !important;
  font-family: 'Cabinet Grotesk', 'Satoshi', sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 11px 26px;
  min-height: 44px;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(10,10,10,.25);
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
body .nav .nav__order-btn:hover,
body .nav .nav__order-btn[aria-expanded="true"] {
  background: #0a0a0a !important;
  color: #fff !important;
  transform: translateY(-1px);
}
body .nav .nav__order-btn .nav__dd-caret { opacity: .9; }
body .nav .nav__item--order { position: relative; }
body .nav .nav__dd--order { min-width: 268px; }

/* section label inside the merged dropdown */
body .nav .nav__dd-sep {
  margin: 6px 4px 2px;
  padding: 8px 8px 4px;
  border-top: 1px solid rgba(255,255,255,.10);
  font-family: 'Cabinet Grotesk', sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: #8a8a8a;
}
body .nav .nav__right { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; margin-left: 0; }
body .nav .nav__logo {
  padding: 0;
  min-height: 56px;
  justify-self: center;
  margin: 0;
}
body .nav .sf-nav-mark { width: 80px; height: 50px; flex-basis: 80px; }
body .nav .sf-nav-name { display: none; }
body .nav .nav__links { gap: 12px; }
body .nav .nav__link,
body .nav .nav__sales,
body .nav .nav__cta {
  color: #0a0a0a !important;
  font-family: 'Satoshi', sans-serif;
  font-size: 14px !important;
  font-weight: 800 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none;
  min-height: 44px;
  padding: 10px 12px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  text-decoration: none;
}
body .nav .nav__link:hover,
body .nav .nav__sales:hover,
body .nav .nav__cta:hover,
body .nav .nav__dd-toggle[aria-expanded="true"] {
  color: #0a0a0a !important;
  background: rgba(10,10,10,.09) !important;
}
body .nav .nav__cta { border-left: 1px solid rgba(10,10,10,.3) !important; border-radius: 0 !important; }
/* STORY: dropdown panels stay BLACK — never yellow. Yellow is the bar only. */
body .nav .nav__dd {
  background: #0e0e0e;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  box-shadow: 0 18px 44px rgba(0,0,0,.55);
}
body .nav .nav__dd-name { color: #fff !important; font-weight: 700; }
body .nav .nav__dd-sub  { color: #9a9a9a !important; font-weight: 500; }
body .nav .nav__dd-star { color: #fff !important; opacity: .5; font-weight: 700; }
body .nav .nav__dd-cinema,
body .nav .nav__dd-soon {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  font-weight: 700;
}
body .nav .nav__dd-item:hover { background: rgba(255,255,255,.07); }
body .nav .nav__dd-item:hover .nav__dd-name { color: #fff !important; }
body .nav .nav__dd-item--alt { border-top: 1px solid rgba(255,255,255,.10); }
body .nav :focus-visible { outline: 3px solid #0a0a0a; box-shadow: none; outline-offset: 2px; }
/* Standalone public headers retain their existing links and behavior. */
body .ca-nav, body .rt-nav { background: #fff000 !important; border-color: rgba(10,10,10,.18); backdrop-filter: none; }
body .ca-nav a, body .rt-nav a, body .rt-nav__tag, body .nav .nav__back {
  color: #0a0a0a !important;
  font-weight: 800;
}
body .ca-nav__link--cta { background: transparent; border-color: #0a0a0a; border-radius: 4px; }
@media (max-width: 767px) {
  body .nav { padding: 6px 12px; }
  body .nav .nav__inner { display: flex; gap: 2px 6px; flex-wrap: wrap; justify-content: center; }
  body .nav .nav__left { display: none; }
  body .nav .nav__center { order: 1; flex: 1 0 100%; justify-content: center; gap: 12px; }
  body .nav .nav__logo { min-height: 42px; justify-content: center; }
  body .nav .sf-nav-mark { width: 58px; height: 36px; flex-basis: 58px; }
  body .nav .nav__order-btn { font-size: 10.5px !important; letter-spacing: .09em; padding: 6px 14px !important; min-height: 30px !important; }
  /* right zone gets its own centered row so nothing runs off screen */
  body .nav .nav__right { order: 2; flex: 1 0 100%; justify-content: center; flex-wrap: wrap; gap: 2px; }
  body .nav .nav__links { gap: 2px; flex-wrap: wrap; justify-content: center; }
  body .nav .nav__link, body .nav .nav__sales, body .nav .nav__cta { font-size: 12px !important; padding: 7px 9px !important; min-height: 36px; }
  body .nav .nav__cta { border-left: 0 !important; }
  body .nav .nav__dd { top: calc(var(--nav-h, 112px) + var(--promo-h, 0px) + 8px); }
}
@media (max-width: 359px) {
  body .nav .nav__right { gap: 0; }
  body .nav .nav__sales, body .nav .nav__cta { font-size: 11px !important; padding-inline: 7px !important; }
}

/* ===================================================================
   STORY: ORDER NOW pill — final override.
   Yellow (bar-colored) fill with a black outline. NOT filled black.
   Must sit after the generic `.nav__link / .nav__dd-toggle` yellow-bar
   rules above, which otherwise repaint it on hover/open.
   =================================================================== */
body .nav .nav__item--order .nav__order-btn,
body .nav .nav__item--order .nav__order-btn:link,
body .nav .nav__item--order .nav__order-btn:visited {
  background: transparent !important;
  color: #0a0a0a !important;
  border: 1.5px solid #0a0a0a !important;
  border-radius: 999px !important;
  font-size: 11px;
  letter-spacing: .11em;
  padding: 6px 16px;
  min-height: 32px;
  box-shadow: none;
}
body .nav .nav__item--order .nav__order-btn:hover,
body .nav .nav__item--order .nav__order-btn:focus-visible,
body .nav .nav__item--order .nav__order-btn[aria-expanded="true"] {
  background: rgba(10,10,10,.10) !important;
  color: #0a0a0a !important;
  border-color: #0a0a0a !important;
}
body .nav .nav__item--order .nav__order-btn .nav__dd-caret { color: currentColor; }

/* ===================================================================
   STORY: mobile header rows — final override.
   Row 1: SF mark + ORDER NOW pill, centered.
   Row 2: Contact, Studio Sales, Client Access, centered.
   (style.css mobile sets .nav__logo/.nav__links to flex-basis:100%,
   which broke the wrap — these reset that inside the new zones.)
   =================================================================== */
@media (max-width: 767px) {
  body .nav .nav__inner { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 0; }
  body .nav .nav__left { display: none !important; }

  body .nav .nav__center {
    order: 1;
    flex: 1 0 100% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
  body .nav .nav__center .nav__logo {
    flex: 0 0 auto !important;
    width: auto !important;
    min-height: 40px;
    padding: 0 !important;
  }
  body .nav .nav__center .nav__item--order { flex: 0 0 auto !important; }

  body .nav .nav__right {
    order: 2;
    flex: 1 0 100% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 2px;
  }
  body .nav .nav__right .nav__links--right {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0;
    padding: 0;
  }
}

/* STORY: logo first, then the ORDER NOW pill (an older rule sets
   .nav__logo{order:1}, which pushed the pill ahead of it on mobile). */
body .nav .nav__center .nav__logo { order: 1 !important; }
body .nav .nav__center .nav__item--order { order: 2 !important; }

/* Keep the homepage hero fully visible below the fixed yellow navigation. */
body .hero {
  margin-top: calc(72px + var(--promo-h, 0px));
  padding-top: 0;
}
body.has-promo .hero {
  margin-top: calc(72px + var(--promo-h, 56px));
  padding-top: 0;
}
@media (max-width: 767px) {
  body .hero {
    margin-top: calc(112px + var(--promo-h, 0px));
  }
  body.has-promo .hero {
    margin-top: calc(112px + var(--promo-h, 56px));
  }
}
