:root {
  --basalt: #191d22;
  --basalt-2: #20252b;
  --concrete: #3a4046;
  --bone: #eee9df;
  --bone-2: #cfc7ba;
  --steel: #a6adb4;
  --bronze: #c6a15b;
  --bronze-2: #e0bf77;
  --danger: #d68b80;
  --ok: #9fd6bf;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 80% 4%, rgba(198,161,91,.16), transparent 24rem),
    linear-gradient(180deg, #191d22 0%, #15191e 100%);
  color: var(--bone);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.45;
}

a {
  color: inherit;
  text-decoration: none;
}

.top {
  min-height: 88px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(238,233,223,.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(25,29,34,.94);
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.logo {
  width: 62px;
  height: 62px;
  flex: 0 0 auto;
}

.brand strong {
  display: block;
  color: var(--bone);
  font-size: 1.48rem;
  line-height: 1;
  letter-spacing: -0.055em;
}

.brand em {
  display: block;
  color: var(--bone-2);
  font-style: normal;
  font-weight: 800;
  font-size: .95rem;
  margin-top: 5px;
}

.top-cta {
  background: var(--bronze);
  color: #191d22;
  min-width: 118px;
  text-align: center;
  padding: 14px 16px;
  border-radius: 999px;
  font-weight: 950;
}

main,
footer {
  width: min(100% - 34px, 760px);
  margin: 0 auto;
}

.hero {
  min-height: calc(100svh - 88px);
  display: grid;
  align-items: center;
  padding: 42px 0;
}

.eyebrow,
.section-label {
  margin: 0 0 16px;
  color: var(--bronze-2);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  max-width: 720px;
  color: var(--bone);
  font-size: clamp(3.05rem, 13vw, 6.4rem);
  line-height: .91;
  letter-spacing: -.085em;
}

.lead {
  margin: 26px 0 0;
  color: var(--bone-2);
  font-size: 1.25rem;
  line-height: 1.58;
  max-width: 680px;
}

.threshold {
  margin: 34px 0 18px;
  height: 3px;
  background: rgba(238,233,223,.13);
  position: relative;
}

.threshold span {
  position: absolute;
  left: 0;
  top: -2px;
  height: 7px;
  width: 58%;
  background: var(--bronze);
  border-radius: 99px;
  box-shadow: 0 0 26px rgba(198,161,91,.38);
}

.states {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.state {
  border: 1px solid rgba(238,233,223,.15);
  background: rgba(255,255,255,.035);
  border-radius: 18px;
  padding: 16px;
}

.state small {
  display: block;
  color: var(--steel);
  font-weight: 950;
  letter-spacing: .1em;
  font-size: .72rem;
}

.state strong {
  display: block;
  margin-top: 6px;
  color: var(--bone);
  font-size: 1.08rem;
}

.released {
  border-color: rgba(159,214,191,.38);
}

.held {
  border-color: rgba(214,139,128,.4);
}

.actions {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.button {
  min-height: 58px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 1.05rem;
  font-weight: 950;
}

.button.primary {
  background: var(--bronze);
  color: var(--basalt);
}

.button.secondary {
  border: 1.5px solid rgba(238,233,223,.34);
  color: var(--bone);
}

.section {
  padding: 58px 0;
  border-top: 1px solid rgba(238,233,223,.11);
}

.section h2 {
  margin: 0;
  color: var(--bone);
  font-size: clamp(2.05rem, 8.8vw, 4rem);
  line-height: .98;
  letter-spacing: -.07em;
}

.section > p,
.gate-card p,
.test-section p,
.request-section p {
  color: var(--bone-2);
  font-size: 1.18rem;
  line-height: 1.6;
}

.gate-card {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(238,233,223,.12);
  border-radius: 28px;
  padding: 34px 22px;
  margin-top: 8px;
}

.split-section h2 {
  margin-bottom: 26px;
}

.outcome {
  border: 1px solid rgba(238,233,223,.14);
  border-radius: 26px;
  padding: 24px;
  margin-top: 16px;
  background: rgba(255,255,255,.035);
}

.outcome-label {
  margin: 0 0 12px;
  font-size: .78rem;
  letter-spacing: .14em;
  font-weight: 950;
  color: var(--bronze-2);
}

.outcome h3 {
  margin: 0 0 14px;
  font-size: 1.56rem;
  line-height: 1.05;
  letter-spacing: -.045em;
}

ul {
  margin: 0;
  padding-left: 22px;
}

li {
  color: var(--bone-2);
  font-size: 1.12rem;
  margin: 10px 0;
}

.no-garbage {
  margin: 18px 0 0;
  color: var(--danger);
  font-size: 1rem;
  font-weight: 950;
}

.test-section {
  background:
    linear-gradient(90deg, rgba(198,161,91,.20), transparent 72%),
    rgba(255,255,255,.035);
  border: 1px solid rgba(198,161,91,.28);
  border-radius: 28px;
  padding: 34px 22px;
}

.control-list {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.control-list p {
  margin: 0;
  color: var(--bone);
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(238,233,223,.13);
  border-radius: 18px;
  padding: 16px;
  font-size: 1.08rem;
  font-weight: 850;
}

.boundary-grid {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.boundary-grid > div {
  border: 1px solid rgba(238,233,223,.14);
  border-radius: 26px;
  padding: 22px;
  background: rgba(255,255,255,.035);
}

.boundary-grid h3 {
  margin: 0 0 12px;
  font-size: 1.32rem;
}

.boundary-grid p {
  margin: 9px 0;
  color: var(--bone-2);
  font-size: 1.03rem;
}

.boundary-line {
  margin-top: 22px;
  color: var(--bone) !important;
  font-weight: 950;
}

.request-section {
  background: var(--bronze);
  color: var(--basalt);
  border-radius: 30px;
  padding: 34px 22px;
  margin: 48px 0;
  border: none;
}

.request-section .section-label,
.request-section h2,
.request-section p {
  color: var(--basalt);
}

.request-section p {
  opacity: .9;
}

.email {
  display: block;
  margin-top: 22px;
  color: var(--bone);
  background: var(--basalt);
  border-radius: 999px;
  padding: 18px;
  font-size: 1.08rem;
  font-weight: 950;
  text-align: center;
  word-break: break-word;
}

footer {
  padding: 28px 0 44px;
  border-top: 1px solid rgba(238,233,223,.11);
  color: var(--bone-2);
}

footer strong {
  color: var(--bone);
  font-size: 1.12rem;
}

footer p {
  margin: 8px 0 0;
}

@media (min-width: 760px) {
  .states,
  .boundary-grid {
    grid-template-columns: 1fr 1fr;
  }

  .actions {
    display: flex;
  }

  .button {
    min-width: 250px;
    padding: 0 22px;
  }

  .gate-card,
  .test-section,
  .request-section {
    padding: 48px;
  }
}

/* Gate mobile balance polish */
@media (max-width: 520px) {
  .top {
    min-height: 76px;
    padding: 12px 16px;
  }

  .logo {
    width: 54px;
    height: 54px;
  }

  .brand {
    gap: 11px;
  }

  .brand strong {
    font-size: 1.28rem;
  }

  .brand em {
    font-size: 0.82rem;
  }

  .top-cta {
    min-width: 104px;
    padding: 12px 14px;
    font-size: 0.94rem;
  }

  .hero {
    min-height: auto;
    padding: 42px 0 54px;
  }

  .eyebrow,
  .section-label {
    font-size: 0.72rem;
    letter-spacing: 0.13em;
  }

  h1 {
    font-size: clamp(2.55rem, 11.2vw, 3.75rem);
    line-height: 0.94;
    letter-spacing: -0.078em;
  }

  .lead {
    font-size: 1.13rem;
    line-height: 1.55;
    margin-top: 24px;
  }

  .threshold {
    margin: 30px 0 16px;
  }

  .state {
    padding: 14px;
  }

  .state strong {
    font-size: 0.98rem;
  }

  .actions {
    margin-top: 24px;
  }

  .button {
    min-height: 54px;
    font-size: 0.98rem;
  }

  .section {
    padding: 48px 0;
  }

  .section h2 {
    font-size: clamp(1.9rem, 8vw, 3rem);
  }
}

/* Sanitized Scope Intake */
.intake-section {
  position: relative;
}

.intake-card {
  margin-top: 24px;
  border: 1px solid rgba(198,161,91,.34);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  overflow: hidden;
}

.intake-row {
  padding: 18px;
  border-bottom: 1px solid rgba(238,233,223,.10);
}

.intake-row:last-child {
  border-bottom: 0;
}

.intake-row span {
  display: block;
  color: var(--bronze-2);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 7px;
}

.intake-row strong {
  display: block;
  color: var(--bone);
  font-size: 1.05rem;
  line-height: 1.35;
}

.intake-boundary {
  margin-top: 18px;
  border: 1px solid rgba(214,139,128,.38);
  border-radius: 22px;
  padding: 18px;
  background: rgba(214,139,128,.075);
}

.intake-boundary strong {
  display: block;
  color: var(--danger);
  font-size: 1.05rem;
}

.intake-boundary p {
  margin: 8px 0 0;
  color: var(--bone-2);
  font-size: 1.04rem;
  line-height: 1.5;
}

.intake-button {
  margin-top: 22px;
  background: var(--bronze);
  color: var(--basalt);
}

@media (min-width: 760px) {
  .intake-row {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 20px;
    align-items: start;
  }

  .intake-row span {
    margin-bottom: 0;
  }
}

/* v0.7 Gate brand refinement: no images, SVG/CSS only */
.brand-refined {
  gap: 16px;
}

.phi-logo {
  width: 88px;
  height: 55px;
  color: #eee9df;
  display: block;
  flex: 0 0 auto;
}

.phi-logo rect {
  stroke: rgba(198,161,91,.78);
}

.phi-logo .phi-line {
  stroke: #c6a15b;
  stroke-width: 3.1;
  stroke-linecap: round;
}

.refined-wordmark strong {
  font-size: 1.78rem;
  letter-spacing: -0.075em;
  line-height: .92;
  color: var(--bone);
  font-weight: 950;
}

.refined-wordmark em {
  margin-top: 8px;
  font-size: .98rem;
  color: var(--bone-2);
  font-weight: 850;
  letter-spacing: -0.02em;
}

.top {
  min-height: 96px;
}

.top-cta {
  border-radius: 18px;
  background: #c6a15b;
  color: #191d22;
  box-shadow: none;
}

@media (max-width: 520px) {
  .top {
    min-height: 92px;
    padding: 14px 16px;
  }

  .brand-refined {
    gap: 13px;
  }

  .phi-logo {
    width: 76px;
    height: 47px;
  }

  .refined-wordmark strong {
    font-size: 1.52rem;
  }

  .refined-wordmark em {
    font-size: .88rem;
    margin-top: 6px;
  }

  .top-cta {
    min-width: 102px;
    padding: 12px 14px;
    font-size: .94rem;
    border-radius: 16px;
  }
}

/* v0.8 strong Rariveil wordmark + seal */
.brand-lux {
  gap: 17px;
}

.seal-logo {
  width: 70px;
  height: 70px;
  color: #d2b26c;
  display: block;
  flex: 0 0 auto;
}

.brand-copy {
  display: block;
  min-width: 0;
}

.wordmark {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.18rem !important;
  font-weight: 700 !important;
  line-height: .86 !important;
  letter-spacing: -0.105em !important;
  color: #f2eee5 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.08);
}

.brand-copy em {
  display: block;
  margin-top: 10px !important;
  color: #cfc7ba !important;
  font-style: normal;
  font-size: .92rem !important;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.top {
  min-height: 104px !important;
}

.top-cta {
  background: #c6a15b;
  color: #191d22;
  border-radius: 16px;
}

@media (max-width: 520px) {
  .top {
    min-height: 98px !important;
    padding: 13px 15px !important;
  }

  .brand-lux {
    gap: 13px;
  }

  .seal-logo {
    width: 62px;
    height: 62px;
  }

  .wordmark {
    font-size: 1.86rem !important;
    letter-spacing: -0.11em !important;
  }

  .brand-copy em {
    margin-top: 8px !important;
    font-size: .74rem !important;
    letter-spacing: .065em;
  }

  .top-cta {
    min-width: 102px;
    padding: 12px 13px;
    font-size: .93rem;
  }
}

/* simplified threshold seal */
.simple-seal {
  color: #d2b26c;
}

.simple-seal rect {
  stroke: #c6a15b;
}

@media (max-width: 520px) {
  .seal-logo {
    width: 60px;
    height: 60px;
  }
}

/* v0.8 wordmark-only brand: remove weak icon */
.wordmark-header {
  min-height: 104px !important;
  padding: 18px 20px !important;
}

.wordmark-only {
  display: block !important;
}

.wordmark-only .brand-copy {
  display: block;
}

.wordmark-only .wordmark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.55rem !important;
  font-weight: 700 !important;
  line-height: .84 !important;
  letter-spacing: -0.105em !important;
  color: #f2eee5 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.08);
}

.wordmark-only em {
  display: block;
  margin-top: 12px !important;
  color: #c6a15b !important;
  font-style: normal;
  font-size: .82rem !important;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.wordmark-only::after {
  content: "";
  display: block;
  width: 86px;
  height: 3px;
  margin-top: 13px;
  border-radius: 99px;
  background: #c6a15b;
}

@media (max-width: 520px) {
  .wordmark-header {
    min-height: 102px !important;
    padding: 16px 16px !important;
  }

  .wordmark-only .wordmark {
    font-size: 2.22rem !important;
  }

  .wordmark-only em {
    font-size: .72rem !important;
    margin-top: 10px !important;
  }

  .wordmark-only::after {
    width: 72px;
    height: 3px;
    margin-top: 11px;
  }

  .top-cta {
    min-width: 102px;
    padding: 12px 13px;
    font-size: .93rem;
    border-radius: 16px;
  }
}

/* deterministic trust section */
.deterministic-section {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(238,233,223,.12);
  border-radius: 28px;
  padding: 34px 22px;
  margin-top: 8px;
}

.deterministic-grid {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.deterministic-grid div {
  border: 1px solid rgba(238,233,223,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 16px;
}

.deterministic-grid strong {
  display: block;
  color: var(--bone);
  font-size: 1.04rem;
  margin-bottom: 6px;
}

.deterministic-grid span {
  display: block;
  color: var(--bone-2);
  font-size: .98rem;
  line-height: 1.45;
}

@media (min-width: 760px) {
  .deterministic-section {
    padding: 42px;
  }

  .deterministic-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* deterministic trust section - v0.11 enforced */
.deterministic-section {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(238,233,223,.12);
  border-radius: 28px;
  padding: 34px 22px;
  margin-top: 34px;
  margin-bottom: 34px;
}

.deterministic-grid {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.deterministic-grid div {
  border: 1px solid rgba(238,233,223,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 16px;
}

.deterministic-grid strong {
  display: block;
  color: var(--bone);
  font-size: 1.04rem;
  margin-bottom: 6px;
}

.deterministic-grid span {
  display: block;
  color: var(--bone-2);
  font-size: .98rem;
  line-height: 1.45;
}

@media (min-width: 760px) {
  .deterministic-section {
    padding: 42px;
  }

  .deterministic-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* deterministic trust section - v0.11 enforced */
.deterministic-section {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(238,233,223,.12);
  border-radius: 28px;
  padding: 34px 22px;
  margin-top: 34px;
  margin-bottom: 34px;
}

.deterministic-grid {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.deterministic-grid div {
  border: 1px solid rgba(238,233,223,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 16px;
}

.deterministic-grid strong {
  display: block;
  color: var(--bone);
  font-size: 1.04rem;
  margin-bottom: 6px;
}

.deterministic-grid span {
  display: block;
  color: var(--bone-2);
  font-size: .98rem;
  line-height: 1.45;
}

@media (min-width: 760px) {
  .deterministic-section {
    padding: 42px;
  }

  .deterministic-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* v0.12 blue/off-white/gold polish */
:root {
  --basalt: #142235;
  --basalt-2: #1c314b;
  --concrete: #35506a;
  --bone: #e9edf2;
  --bone-2: #c8d2dd;
  --steel: #9fb3c8;
  --bronze: #c6a15b;
  --bronze-2: #dfc17a;
  --danger: #d79086;
  --ok: #99d8c9;
}

body {
  background:
    radial-gradient(circle at 82% 6%, rgba(111,168,201,.17), transparent 22rem),
    radial-gradient(circle at 22% 12%, rgba(198,161,91,.10), transparent 18rem),
    linear-gradient(180deg, #142235 0%, #101b2a 100%) !important;
}

.top {
  background: rgba(16, 27, 42, .96) !important;
  border-bottom-color: rgba(233,237,242,.13) !important;
}

.wordmark-only .wordmark {
  color: #f1f4f7 !important;
}

.wordmark-only em {
  color: #dfc17a !important;
}

.wordmark-only::after {
  background: linear-gradient(90deg, #dfc17a, #6fa8c9) !important;
}

.top-cta,
.button.primary,
.email {
  background: #c6a15b !important;
  color: #101b2a !important;
}

.button.secondary {
  border-color: rgba(233,237,242,.42) !important;
  color: #e9edf2 !important;
}

.eyebrow,
.section-label,
.outcome-label,
.card-label,
.intake-row span {
  color: #dfc17a !important;
}

.threshold {
  background: rgba(233,237,242,.14) !important;
}

.threshold span {
  background: linear-gradient(90deg, #dfc17a, #6fa8c9) !important;
  box-shadow: 0 0 24px rgba(111,168,201,.22) !important;
}

.state,
.outcome,
.card,
.boundary-grid > div,
.control-list p,
.intake-card,
.intake-row,
.deterministic-grid div {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(159,179,200,.24) !important;
}

.released {
  border-color: rgba(153,216,201,.42) !important;
}

.held,
.held-box {
  border-color: rgba(215,144,134,.36) !important;
}

.gate-card,
.test-section,
.deterministic-section,
.request-section {
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  border-color: rgba(159,179,200,.24) !important;
}

.intake-boundary {
  background: rgba(215,144,134,.08) !important;
  border-color: rgba(215,144,134,.34) !important;
}

h1,
.section h2,
.outcome h3,
.card h3,
.state strong,
.deterministic-grid strong,
.boundary-grid h3,
footer strong {
  color: #f1f4f7 !important;
}

.lead,
.section > p,
.gate-card p,
.test-section p,
.request-section p,
li,
.card p,
.boundary-grid p,
.deterministic-grid span,
.intake-boundary p,
footer {
  color: #c8d2dd !important;
}
