/* SELF ENTOURAGE — PREMIUM FINAL V10
   Final shared visual authority: stronger scale, clearer hierarchy,
   premium centered composition, readable mobile typography, and a unified footer. */

:root {
  --se-v10-ink: #06171d;
  --se-v10-deep: #030d11;
  --se-v10-panel: #0b2831;
  --se-v10-teal: #2d4d59;
  --se-v10-red: #c14940;
  --se-v10-gold: #edcb7b;
  --se-v10-paper: #faf8f1;
  --se-v10-copy: #c8d6da;
  --se-v10-muted: #9eb1b7;
  --se-v10-line: rgba(237,203,123,.22);
  --se-v10-shadow: 0 28px 70px rgba(0,0,0,.26);
}

html { font-size: 16px; }
body { background: var(--se-v10-ink) !important; }
body[data-se-page] main,
body[data-se-canonical-product="true"] main { text-align: center; }

/* Header: recognizable at a glance, still compact on mobile. */
.site-header {
  background: rgba(3,17,22,.96) !important;
  border-bottom: 1px solid var(--se-v10-line) !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.22) !important;
}
.site-header .wrap {
  width: min(100%, 76rem);
  min-height: 72px !important;
  padding-block: .65rem !important;
}
.site-header .brand { max-width: none !important; }
.site-header .brand-lockup-inline { gap: .72rem !important; }
.site-header .brand-mark {
  width: 46px !important;
  height: 46px !important;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.24));
}
.site-header .brand-copy-inline {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: .34rem !important;
  white-space: nowrap;
}
.site-header .brand-copy .self {
  font-size: .96rem !important;
  letter-spacing: .15em !important;
}
.site-header .brand-copy .entourage {
  font-size: .78rem !important;
  letter-spacing: .08em !important;
}
.site-header .brand-copy .llc {
  font-size: .57rem !important;
  letter-spacing: .1em !important;
}
.site-header .nav-toggle {
  margin: 0 0 0 auto !important;
  min-width: 4.1rem;
  min-height: 2.75rem;
  border: 1px solid rgba(237,203,123,.42) !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg,rgba(45,77,89,.88),rgba(10,35,43,.98)) !important;
  color: #fff !important;
  font-size: .82rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07),0 10px 24px rgba(0,0,0,.2);
}
.nav-links a,
.nav-dropdown > button,
.nav-butler-button { font-size: .95rem !important; }

/* Global centered hierarchy without sacrificing readable measure. */
body[data-se-page] :is(h1,h2,h3,p,.lede,.section-heading),
body[data-se-canonical-product="true"] :is(h1,h2,h3,p,.lede,.section-heading,.price-card,.next-step) {
  margin-left: auto !important;
  margin-right: auto !important;
}
body[data-se-page] :is(.eyebrow,.cta-row,.poster-tagline,.next-actions),
body[data-se-canonical-product="true"] :is(.eyebrow,.cta-row,.breadcrumbs,.next-actions) {
  justify-content: center !important;
}
.eyebrow {
  font-size: clamp(.72rem,1.35vw,.84rem) !important;
  line-height: 1.35 !important;
  letter-spacing: .12em !important;
}
.page-hero,
.product-hero {
  padding: clamp(4.5rem,8vw,7rem) 0 clamp(4.5rem,7vw,6.5rem) !important;
}
.page-hero h1,
.product-hero h1 {
  max-width: 12ch !important;
  font-size: clamp(3.4rem,7vw,6rem) !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}
.page-hero .lede,
.product-hero .lede {
  max-width: 45rem !important;
  color: var(--se-v10-copy) !important;
  font-size: clamp(1.08rem,1.65vw,1.25rem) !important;
  line-height: 1.72 !important;
}
.page-hero .cta-row,
.product-hero .cta-row { gap: .8rem !important; margin-top: 1.8rem !important; }
.page-hero .btn,
.product-hero .btn {
  min-height: 3.3rem !important;
  padding: .95rem 1.45rem !important;
  border-radius: 999px !important;
  font-size: .98rem !important;
}
.page-hero .btn-ghost,
.product-hero .btn-ghost {
  padding-inline: 1.25rem !important;
  border: 1px solid rgba(237,203,123,.24) !important;
  color: #e5edef !important;
}

/* Hero signature panel. */
.hero-aside {
  max-width: 46rem;
  padding: clamp(1.75rem,4vw,2.5rem) !important;
  border: 1px solid rgba(237,203,123,.28) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(237,203,123,.1),transparent 32%),
    linear-gradient(145deg,rgba(16,43,52,.96),rgba(4,18,23,.98)) !important;
  box-shadow: var(--se-v10-shadow) !important;
  text-align: center !important;
}
.hero-brand-lockup { justify-content: center !important; }
.hero-mark { width: 80px !important; height: 80px !important; }
.hero-aside h2 {
  max-width: 18ch;
  margin-top: 1rem !important;
  color: #fff !important;
  font-size: clamp(1.55rem,3vw,2.15rem) !important;
  line-height: 1.08 !important;
}
.hero-aside p {
  max-width: 38rem;
  color: var(--se-v10-copy) !important;
  font-size: 1.02rem !important;
  line-height: 1.68 !important;
}

/* Sections and cards. */
main > .section { padding-block: clamp(5rem,8vw,7.5rem) !important; }
.section-heading { max-width: 55rem !important; margin-bottom: clamp(2.6rem,5vw,4.25rem) !important; }
.section-heading h2 {
  max-width: 14ch !important;
  font-size: clamp(2.8rem,5.8vw,5rem) !important;
  line-height: .94 !important;
  letter-spacing: -.05em !important;
  text-wrap: balance;
}
.section-heading p,
.section-heading .lede {
  max-width: 60ch !important;
  font-size: clamp(1.02rem,1.45vw,1.14rem) !important;
  line-height: 1.72 !important;
}
:is(.feature-grid,.card-grid,.number-grid,.related-grid,.catalog-grid,.standards-grid,.poster-pillar-grid) {
  gap: clamp(1rem,2.2vw,1.35rem) !important;
  align-items: stretch;
  grid-auto-rows: 1fr;
}
:is(.feature-card,.step-card,.number-card,.related-card,.catalog-card,.standards-grid > div,.poster-pillar) {
  height: 100%;
  padding: clamp(1.5rem,3vw,2rem) !important;
  border-radius: 20px !important;
  text-align: center !important;
}
:is(.feature-card,.step-card,.number-card,.related-card,.catalog-card,.poster-pillar) h3 {
  font-size: clamp(1.3rem,2.4vw,1.72rem) !important;
  line-height: 1.08 !important;
}
:is(.feature-card,.step-card,.number-card,.related-card,.catalog-card,.poster-pillar) p {
  font-size: .98rem !important;
  line-height: 1.68 !important;
}

/* Homepage campaign block. */
.poster-pillars { padding-block: clamp(5.2rem,9vw,8rem) !important; }
.poster-pillars .section-heading { text-align: center; }
.poster-pillars .section-heading h2 { margin-inline: auto !important; }
.poster-pillars .section-heading p { margin-inline: auto !important; }
.poster-pillar {
  min-height: 17.5rem !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-top-width: 3px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 32%),
    linear-gradient(145deg,#102c35,#06161b) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.2) !important;
}
.poster-pillar-mark {
  left: 50% !important;
  right: auto !important;
  top: 1.35rem !important;
  transform: translateX(-50%) !important;
  width: 2.7rem !important;
  height: 2.7rem !important;
}
.poster-pillar h3 { margin-top: 4.4rem !important; }
.poster-pillar p { color: #b8c8cc !important; }

/* Light route section: still bright, but unmistakably Self Entourage. */
.light-section {
  background:
    radial-gradient(circle at 50% 0%,rgba(237,203,123,.16),transparent 28%),
    linear-gradient(180deg,#fcfbf7 0%,#f3f0e7 100%) !important;
}
.light-section .section-heading h2 { color: #193b46 !important; }
.light-section .section-heading p { color: #50666d !important; }
.light-section .feature-card,
.light-section .step-card,
.light-section .number-card,
.light-section .standards-grid > div {
  position: relative;
  overflow: hidden;
  min-height: 16rem;
  border: 1px solid rgba(45,77,89,.14) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 22px 55px rgba(45,77,89,.11) !important;
}
.light-section .feature-card::before,
.light-section .step-card::before,
.light-section .number-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--se-v10-teal);
}
.light-section .feature-card:nth-child(2)::before,
.light-section .step-card:nth-child(2)::before { background: var(--se-v10-red); }
.light-section .feature-card:nth-child(3)::before,
.light-section .step-card:nth-child(3)::before { background: var(--se-v10-gold); }
.light-section .feature-card:nth-child(4)::before { background: linear-gradient(90deg,var(--se-v10-teal),var(--se-v10-red)); }
.light-section .feature-card h3 { color: #244a55 !important; }
.light-section .feature-card p { color: #536970 !important; }
.light-section .card-action {
  color: #9a7135 !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
}

/* Signature conversion panels. */
.one-percent-panel,
.crown-callout {
  border-radius: 24px !important;
  border-color: rgba(237,203,123,.3) !important;
  box-shadow: var(--se-v10-shadow) !important;
  justify-items: center !important;
  text-align: center !important;
}
.one-percent-panel { padding: clamp(2rem,5vw,4rem) !important; }
.one-percent-number { font-size: clamp(6rem,15vw,11rem) !important; }
.one-percent-copy h2,
.crown-callout h2 {
  max-width: 13ch !important;
  margin-inline: auto !important;
  font-size: clamp(2.5rem,5.5vw,4.8rem) !important;
  line-height: .92 !important;
}
.one-percent-copy p,
.crown-callout p {
  max-width: 58ch !important;
  color: var(--se-v10-copy) !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
}
.crown-callout { padding: clamp(2rem,5vw,4rem) !important; }
.crown-callout-button {
  width: 8.5rem !important;
  height: 8.5rem !important;
  justify-self: center !important;
  box-shadow: 0 20px 48px rgba(193,73,64,.34) !important;
}

/* Product pages: readable purchase hierarchy. */
body[data-se-canonical-product="true"] .price-card {
  text-align: center !important;
  border-radius: 24px !important;
  box-shadow: var(--se-v10-shadow) !important;
}
body[data-se-canonical-product="true"] .price-amount {
  font-size: clamp(2.8rem,6vw,4.4rem) !important;
}
body[data-se-canonical-product="true"] .turnaround-badge {
  justify-content: center !important;
  text-align: center !important;
  min-height: 3rem;
  font-size: .9rem !important;
}
body[data-se-canonical-product="true"] .product-proof,
body[data-se-canonical-product="true"] .step-card,
body[data-se-canonical-product="true"] .related-card,
body[data-se-canonical-product="true"] .standards-grid > div { text-align: center !important; }
body[data-se-canonical-product="true"] .standards-grid ul {
  display: inline-block;
  max-width: 32rem;
  text-align: left;
}

/* Footer becomes a centered destination, not leftover navigation. */
.site-footer {
  padding: clamp(4.5rem,8vw,7rem) 0 2rem !important;
  border-top: 1px solid rgba(237,203,123,.34) !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(45,77,89,.24),transparent 34%),
    #030d11 !important;
  text-align: center;
}
.footer-grid {
  grid-template-columns: 1.35fr repeat(4,minmax(0,1fr)) !important;
  gap: clamp(2rem,4vw,3.5rem) !important;
  align-items: start;
}
.footer-brand,
.footer-grid > div { text-align: center !important; }
.footer-brand .brand,
.footer-brand .brand-lockup { justify-content: center !important; }
.footer-brand .brand-mark {
  width: 64px !important;
  height: 64px !important;
}
.footer-brand p {
  max-width: 28rem !important;
  margin: 1.1rem auto 0 !important;
  color: #aebfc4 !important;
  font-size: .98rem !important;
  line-height: 1.68 !important;
}
.footer-grid h4 {
  margin-bottom: 1rem !important;
  color: var(--se-v10-gold) !important;
  font-size: .78rem !important;
  letter-spacing: .12em !important;
}
.footer-grid a {
  padding: .34rem 0 !important;
  color: #d9e4e7 !important;
  font-size: .94rem !important;
}
.footer-bottom {
  justify-content: center !important;
  text-align: center;
  gap: 1rem 2rem !important;
  margin-top: clamp(3rem,6vw,5rem) !important;
  padding-top: 1.5rem !important;
}
.footer-legal { justify-content: center !important; }

@media (max-width: 980px) {
  .page-hero-grid { grid-template-columns: 1fr !important; }
  .hero-aside { margin-top: .75rem; }
  .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  html { font-size: 16px; }
  .site-header .wrap { min-height: 68px !important; padding-inline: 1rem !important; }
  .site-header .brand-mark { width: 40px !important; height: 40px !important; }
  .site-header .brand-copy-inline { display: inline-flex !important; }
  .site-header .brand-copy .self { font-size: .82rem !important; }
  .site-header .brand-copy .entourage { font-size: .67rem !important; }
  .site-header .brand-copy .llc { font-size: .5rem !important; }
  .site-header .nav-toggle { min-width: 3.7rem; min-height: 2.55rem; }

  .page-hero,
  .product-hero { padding: 4rem 0 4.75rem !important; }
  .page-hero h1,
  .product-hero h1 {
    max-width: 10ch !important;
    font-size: clamp(2.9rem,13.5vw,4.65rem) !important;
  }
  .page-hero .lede,
  .product-hero .lede {
    max-width: 35rem !important;
    font-size: 1.04rem !important;
  }
  .page-hero .cta-row,
  .product-hero .cta-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: min(100%,24rem);
    margin-inline: auto !important;
  }
  .page-hero .btn,
  .product-hero .btn { width: 100%; font-size: .98rem !important; }
  .hero-aside { padding: 1.6rem !important; }
  .hero-mark { width: 70px !important; height: 70px !important; }
  .hero-aside h2 { font-size: 1.55rem !important; }
  .hero-aside p { font-size: .98rem !important; }

  main > .section { padding-block: 4.75rem !important; }
  .section-heading h2 { font-size: clamp(2.55rem,12vw,4rem) !important; }
  .poster-pillar-grid,
  .feature-grid.four,
  .number-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .poster-pillar {
    min-height: 16rem !important;
    padding: 1.25rem !important;
  }
  .poster-pillar h3 { font-size: 1.28rem !important; }
  .poster-pillar p { font-size: .9rem !important; }
  .light-section .feature-card { min-height: 15rem; }
  .one-percent-panel {
    grid-template-columns: .62fr 1.38fr !important;
    gap: 1.2rem !important;
    text-align: center;
  }
  .one-percent-number { font-size: clamp(5rem,24vw,7.5rem) !important; }
  .one-percent-copy h2 { font-size: clamp(2rem,9vw,3rem) !important; }
  .crown-callout { grid-template-columns: 1fr !important; }
  .crown-callout-button { width: 7.25rem !important; height: 7.25rem !important; }
}

@media (max-width: 430px) {
  .site-header .brand-copy-inline { display: inline-flex !important; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .footer-grid a { font-size: .9rem !important; }
}

@media (max-width: 360px) {
  .site-header .brand-copy .llc { display: none; }
  .poster-pillar-grid,
  .feature-grid.four,
  .number-grid { grid-template-columns: 1fr !important; }
  .one-percent-panel { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  :is(.feature-card,.poster-pillar,.crown-callout-button) { transition: none !important; }
}
