/* SELF ENTOURAGE — OFFICIAL VISUAL IDENTITY
Source of truth: deep blue-teal, coral red, warm gold, white, and black
from the official Self Entourage logo and emblem system. */

:root {
  --se-logo-teal: #2D4D59;
  --se-logo-teal-dark: #08191F;
  --se-logo-teal-mid: #102B34;
  --se-logo-red: #C14940;
  --se-logo-gold: #EDCB7B;
  --se-logo-white: #FFFFFF;
  --se-logo-black: #050708;
  --se-section-gap: clamp(4.5rem, 8vw, 7.5rem);
  --se-card-radius: 18px;
  --se-card-padding: clamp(1.25rem, 2.5vw, 2rem);
  --se-content-measure: 68ch;
}

.se-command-palette,
.se-command-orb,
.se-command-strip,
.se-top-link,
.float-path,
.product-mobile-menu,
details.product-mobile-menu {
  display: none !important;
}

body,
body[data-se-page],
body[data-se-canonical-product="true"],
body.se-legacy-normalized {
  background: var(--se-logo-teal-dark) !important;
  color: #FAF9F5;
}

main { overflow: clip; }
main > section { position: relative; }
main > .section { padding-block: var(--se-section-gap); }
main > .section.tight { padding-block: clamp(3rem, 5vw, 4.5rem); }
.section > .wrap,
.page-hero > .wrap,
.product-hero > .wrap { width: min(100% - 2rem, var(--content-width)); }
.section-heading { max-width: 50rem; margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.section-heading > p,
.section-heading .lede { max-width: var(--se-content-measure); }
.section-heading + :is(.feature-grid,.card-grid,.catalog-grid,.number-grid,.related-grid,.poster-pillar-grid,.standards-grid) { margin-top: 0; }

.site-header {
  background: rgba(8,25,31,.96) !important;
  border-bottom-color: rgba(237,203,123,.30) !important;
}
.site-header .wrap { min-height: 78px; }
.site-footer {
  background: #050F13 !important;
  border-top: 4px solid var(--se-logo-red) !important;
}

.page-hero,
.product-hero,
.se-legacy-normalized .hero,
.se-legacy-normalized .page-hero,
.se-legacy-normalized [class*="-hero"] {
  background:
    radial-gradient(circle at 82% 12%, rgba(45,77,89,.52), transparent 34%),
    radial-gradient(circle at 12% 0%, rgba(193,73,64,.18), transparent 29%),
    linear-gradient(145deg, #08191F 0%, #102B34 58%, #183A44 100%) !important;
  border-bottom-color: rgba(237,203,123,.32) !important;
}
.page-hero::after {
  height: 3px !important;
  background: linear-gradient(90deg, #2D4D59, #EDCB7B, #C14940, transparent) !important;
  opacity: .92 !important;
}
.page-hero-grid { align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.page-hero-grid > * { min-width: 0; }
.page-hero h1,
.product-hero h1 { text-wrap: balance; }
.page-hero .lede,
.product-hero .lede { max-width: var(--se-content-measure); }

.hero-aside,
.contact-panel,
.feature-card,
.catalog-card,
.decision-panel,
.signal-band,
.se-legacy-normalized .card,
.se-legacy-normalized .panel,
.se-legacy-normalized .dark-panel,
.se-legacy-normalized .command-card {
  background: linear-gradient(145deg, rgba(24,58,68,.98), rgba(8,25,31,.98)) !important;
  border-color: rgba(45,77,89,.92) !important;
}
/* legacy-normalize.css alternates card text color by section position (odd/even);
   this rule forces every legacy card to the same dark gradient regardless of that
   position, so the alternating text color must be overridden here too or even-numbered
   sections end up with dark navy headings/copy on top of this same dark card. */
.se-legacy-normalized .card h1,
.se-legacy-normalized .card h2,
.se-legacy-normalized .card h3,
.se-legacy-normalized .panel h1,
.se-legacy-normalized .panel h2,
.se-legacy-normalized .panel h3,
.se-legacy-normalized .dark-panel h1,
.se-legacy-normalized .dark-panel h2,
.se-legacy-normalized .dark-panel h3,
.se-legacy-normalized .command-card h1,
.se-legacy-normalized .command-card h2,
.se-legacy-normalized .command-card h3 {
  color: #FAF9F5 !important;
}
.se-legacy-normalized .card p,
.se-legacy-normalized .panel p,
.se-legacy-normalized .dark-panel p,
.se-legacy-normalized .command-card p {
  color: #C9D7DA !important;
}
.hero-aside {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.35rem);
  border-radius: var(--se-card-radius);
  box-shadow: 0 24px 64px rgba(0,0,0,.28);
}
.hero-aside::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #2D4D59, #EDCB7B, #C14940);
}
.hero-aside > :last-child { margin-bottom: 0; }

:is(.feature-grid,.card-grid,.catalog-grid,.number-grid,.related-grid,.poster-pillar-grid) {
  align-items: stretch;
  grid-auto-rows: 1fr;
}
:is(.feature-card,.catalog-card,.step-card,.related-card,.number-card,.poster-pillar) {
  height: 100%;
  border-radius: var(--se-card-radius) !important;
}
.feature-card,
.catalog-card,
.step-card,
.related-card,
.number-card,
.poster-pillar,
.se-legacy-normalized .card,
.se-legacy-normalized .panel,
.se-legacy-normalized .command-card {
  padding: var(--se-card-padding) !important;
}
:is(.feature-card,.catalog-card,.step-card,.related-card,.number-card,.poster-pillar) {
  display: flex;
  flex-direction: column;
}
:is(.feature-card,.catalog-card,.related-card) :is(.card-action,.catalog-price,.price) { margin-top: auto; padding-top: 1rem; }
:is(.feature-card,.catalog-card,.step-card,.related-card,.number-card,.poster-pillar) > :last-child { margin-bottom: 0; }

.light-section .feature-card,
.light-section .step-card,
.light-section .standards-grid > div,
.light-section .number-card {
  background: var(--se-logo-white) !important;
  border-color: rgba(45,77,89,.17) !important;
  box-shadow: 0 12px 34px rgba(45,77,89,.09) !important;
}
.light-section :is(.feature-card,.step-card,.number-card) p { color: #40535A !important; }

.feature-card .card-action,
.catalog-card .category,
.catalog-card .catalog-price,
.related-card .price,
.price-amount,
.footer-grid h4,
.number-card::before {
  color: var(--se-logo-gold) !important;
}
.feature-card:hover,
.catalog-card:hover,
.related-card:hover,
.se-legacy-normalized a.card:hover {
  border-color: var(--se-logo-gold) !important;
  box-shadow: 0 16px 38px rgba(8,25,31,.24) !important;
  transform: translateY(-3px);
}
.feature-card,
.catalog-card,
.related-card,
.se-legacy-normalized a.card { transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }

.btn-primary,
.se-legacy-normalized .btn.gold,
.se-legacy-normalized a.gold {
  background: var(--se-logo-red) !important;
  border-color: var(--se-logo-red) !important;
  color: var(--se-logo-white) !important;
}
.btn-primary:hover,
.se-legacy-normalized .btn.gold:hover,
.se-legacy-normalized a.gold:hover {
  background: #A53A34 !important;
}
.btn-secondary:hover,
.filter-button:hover,
.filter-button:focus-visible {
  border-color: var(--se-logo-gold) !important;
  color: var(--se-logo-gold) !important;
}
.cta-row { align-items: center; }
.cta-row .btn { min-width: min(100%, 10.5rem); }

.catalog-controls {
  top: 78px !important;
  background: rgba(8,25,31,.97) !important;
  border-bottom-color: rgba(237,203,123,.28) !important;
}
.catalog-search {
  background: var(--se-logo-teal-mid) !important;
  border-color: var(--se-logo-teal) !important;
}
.filter-button[aria-pressed="true"] {
  background: var(--se-logo-teal) !important;
  border-color: var(--se-logo-gold) !important;
  color: var(--se-logo-white) !important;
}

.signal-band { border-block-color: rgba(237,203,123,.22) !important; }
.signal-item { border-top: 3px solid var(--se-logo-teal); }
.signal-item:nth-child(2) { border-top-color: var(--se-logo-gold); }
.signal-item:nth-child(3) { border-top-color: var(--se-logo-red); }
.notice,
.next-step { border-left-color: var(--se-logo-red) !important; }
.product-proof { border-top-color: var(--se-logo-red) !important; }

.decision-panel,
.one-percent-panel,
.crown-callout {
  border-radius: clamp(18px, 2vw, 26px) !important;
  box-shadow: 0 28px 72px rgba(0,0,0,.24);
}
.decision-panel { padding: clamp(1.5rem, 4vw, 3rem) !important; }
.standards-grid > div { min-width: 0; }
.accordion-item:first-child { border-top: 1px solid currentColor; border-top-color: rgba(255,255,255,.12); }
.light-section .accordion-item:first-child { border-top-color: rgba(45,77,89,.14); }

.brand { text-decoration: none; color: inherit; }
.brand-lockup {
  display: inline-flex !important;
  align-items: center;
  gap: .9rem;
}
.brand-lockup-stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
}
.brand-mark {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 auto;
  display: block;
  filter: drop-shadow(0 10px 24px rgba(5,7,8,.28));
  transition: transform .25s ease, filter .25s ease;
}
a.brand:hover .brand-mark,
a.brand:focus-visible .brand-mark {
  transform: rotate(10deg) scale(1.05);
  filter: drop-shadow(0 14px 30px rgba(5,7,8,.34));
}
.brand-copy {
  display: inline-flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .45rem;
}
.brand-copy-stacked { gap: .35rem .55rem; }
.brand-copy .self {
  color: var(--se-logo-teal);
  font: 900 clamp(1rem, 1.15vw, 1.16rem)/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .26em;
}
.site-header .brand-copy .self,
.site-footer .brand-copy .self { color: var(--se-logo-white); }
.brand-copy .entourage {
  color: var(--se-logo-red);
  font: 800 clamp(.82rem, .96vw, .95rem)/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .12em;
}
.brand-copy .llc {
  color: var(--se-logo-gold);
  font: 800 .72rem/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .16em;
}
.footer-brand .brand-lockup { align-items: flex-start; }
.footer-brand .brand-copy .self { font-size: 1.42rem; }
.footer-brand .brand-copy .entourage { font-size: 1rem; }
.footer-brand .brand-copy .llc { font-size: .76rem; }
.hero-brand-lockup {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .9rem;
  margin: 0 0 1.25rem;
}
.hero-mark {
  width: min(100%, 118px);
  height: auto;
  display: block;
  filter: drop-shadow(0 14px 32px rgba(5,7,8,.35));
}
.hero-wordmark {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .55rem;
}
.hero-wordmark .self {
  color: var(--se-logo-white);
  font: 900 clamp(1.4rem, 2.7vw, 1.9rem)/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .22em;
}
.hero-wordmark .entourage {
  color: var(--se-logo-red);
  font: 800 clamp(1rem, 1.8vw, 1.28rem)/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .12em;
}
.hero-wordmark .llc {
  color: var(--se-logo-gold);
  font: 800 .82rem/1 var(--font-body, Inter, sans-serif);
  letter-spacing: .16em;
}

@media (max-width: 980px) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .catalog-controls { top: 72px !important; }
  .site-header .wrap { min-height: 72px; }
  .brand-lockup-inline { gap: .65rem; }
  .brand-mark { width: 42px !important; height: 42px !important; }
  .brand-copy .self { letter-spacing: .16em; font-size: .98rem; }
  .brand-copy .entourage { font-size: .82rem; }
  .brand-copy .llc { font-size: .66rem; }
  .footer-brand .brand-copy .self { font-size: 1.18rem; }
  .footer-brand .brand-copy .entourage { font-size: .92rem; }
  .hero-mark { width: min(100%, 102px); }
  .page-hero-grid { gap: 2rem; }
}
@media (max-width: 700px) {
  main > .section { padding-block: clamp(3.5rem, 12vw, 5rem); }
  :is(.feature-grid,.card-grid,.catalog-grid,.number-grid,.related-grid,.poster-pillar-grid,.standards-grid) { gap: 1rem !important; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
}
@media (max-width: 560px) {
  .brand-lockup-inline { gap: .55rem; }
  .brand-mark { width: 36px !important; height: 36px !important; }
  .brand-copy .self { font-size: .9rem; letter-spacing: .12em; }
  .brand-copy .entourage { font-size: .76rem; letter-spacing: .08em; }
  .brand-copy .llc { font-size: .6rem; }
  .hero-wordmark .self { font-size: 1.18rem; letter-spacing: .14em; }
  .hero-wordmark .entourage { font-size: .92rem; }
  .cta-row { display: grid; grid-template-columns: 1fr; }
  .cta-row .btn { width: 100%; }
}

/* Transparent real logo asset. */
.brand-logo{display:block;object-fit:contain;background:transparent!important;border-radius:0!important;box-shadow:none!important}
.brand-logo.brand-logo-lockup{width:clamp(148px,16vw,205px)!important;height:auto!important;max-width:100%}

/* Explore nav caret: a real SVG chevron instead of a plain-text triangle glyph,
   with a subtle rotate-on-open so the nav reads as a designed control rather
   than typed punctuation. */
.nav-dropdown>button{display:inline-flex!important;align-items:center!important;gap:.35rem!important}
.nav-caret{display:inline-flex;flex:0 0 auto;width:.6rem;height:.6rem;transition:transform .18s ease}
.nav-dropdown:hover .nav-caret,
.nav-dropdown:focus-within .nav-caret,
[data-nav-explore][aria-expanded="true"] .nav-caret{transform:rotate(180deg)}
