:root {
  --ivory: #f6efe2;
  --ivory-2: #e8dac7;
  --ink: #101318;
  --muted: #60625d;
  --navy: #071019;
  --navy-2: #111d2a;
  --forest: #2f5c54;
  --amber: #c3823a;
  --red: #9f3e38;
  --stone: #b9aa94;
  --white: #fffaf1;
  --hero-black: #10100f;
  --pressure-black: #000;
  --hero-gold: #e9dec9;
  --hero-grey: #6b6964;
  --hero-offwhite: #fff;
  --hero-background: #fff;
  --pressure-scenario-baseline-offset: .25em;
  --pressure-scenario-transition-duration: 650ms;
  --pressure-scenario-travel: .26em;
  --header-text: var(--hero-black);
  --header-background: var(--hero-offwhite);
  --brand-mark-background: var(--hero-gold);
  --brand-mark-text: var(--hero-black);
  --primary-button-background: var(--hero-black);
  --primary-button-text: var(--hero-offwhite);
  --secondary-button-background: var(--hero-offwhite);
  --secondary-button-text: var(--hero-black);
  --button-border: var(--hero-black);
  --button-hover-fill: var(--hero-gold);
  --line: rgba(16, 19, 24, .16);
  --radius: 8px;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 40px;
  --space-5: 72px;
  --space-6: 120px;
  --page-x: clamp(40px, 8vw, 128px);
  --hero-serif: Georgia, "Times New Roman", serif;
  --motion-reveal-duration: .7s;
  --motion-reveal-ease: cubic-bezier(.22, 1, .36, 1);
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
html {
  scroll-behavior: auto;
  overscroll-behavior-y: none;
}
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.opening {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 250, 241, .96), rgba(246, 239, 226, .96) 52%, #e7d9c4),
    var(--ivory);
  animation: opener-exit 1.1s cubic-bezier(.76, 0, .24, 1) 15.2s forwards;
}
.opening::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(16, 19, 24, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 19, 24, .08) 1px, transparent 1px);
  background-size: 5px 5px, 7px 7px;
  mix-blend-mode: multiply;
}
.opening-wordmark {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: clamp(18px, 4vw, 44px);
  width: min(780px, 92vw);
  color: rgba(16, 19, 24, .88);
  animation: wordmark-dim 1s ease 3s forwards;
}
.opening-word {
  display: inline-block;
  line-height: .9;
}
.opening-left {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(50px, 9vw, 112px);
  font-weight: 700;
  animation: opening-left 1.65s cubic-bezier(.76, 0, .24, 1) 1.05s forwards;
}
.opening-right {
  font-size: clamp(28px, 5vw, 62px);
  font-weight: 800;
  letter-spacing: 0;
  animation: opening-right 1.65s cubic-bezier(.76, 0, .24, 1) 1.05s forwards;
}
.opening-frame {
  position: relative;
  z-index: 2;
  width: min(760px, 86vw);
  aspect-ratio: 1200 / 720;
  opacity: 0;
  clip-path: inset(45% 46% 45% 46%);
  transform: scale(.42);
  animation:
    frame-arrive 1.7s cubic-bezier(.76, 0, .24, 1) 1.55s forwards,
    frame-zoom 3.35s cubic-bezier(.7, 0, .18, 1) 11.35s forwards;
}
.opening-frame::before,
.opening-frame::after {
  content: "";
  position: absolute;
  z-index: 5;
  width: 36px;
  height: 36px;
  border: solid var(--ink);
  opacity: .85;
}
.opening-frame::before {
  top: -8px;
  left: -8px;
  border-width: 3px 0 0 3px;
}
.opening-frame::after {
  right: -8px;
  bottom: -8px;
  border-width: 0 3px 3px 0;
}
.opening-frame .scene {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
}
.opening-frame .question-cloud .message-bubble {
  opacity: .7;
}
.opening-frame .question-cloud .bubble-float {
  scale: .68;
  transform-origin: 0 0;
}
.opening-frame .question-cloud .q1 {
  transform: translate(82px, 182px);
}
.opening-frame .question-cloud .q2 {
  transform: translate(868px, 142px);
}
.opening-frame .question-cloud .q3 {
  transform: translate(112px, 510px);
}
.opening-frame .question-cloud .q4 {
  transform: translate(828px, 500px);
}
.opening-frame .question-cloud .q5 {
  transform: translate(456px, 54px);
  opacity: .5;
}
.opening-lines,
.opening-final {
  position: absolute;
  z-index: 6;
  width: min(960px, 88vw);
  text-align: center;
  color: var(--white);
  pointer-events: none;
}
.opening-lines {
  top: 50%;
  left: 50%;
  height: clamp(96px, 12vw, 154px);
  transform: translate(-50%, -50%);
  text-shadow: 0 3px 34px rgba(7, 16, 25, .95), 0 1px 3px rgba(7, 16, 25, .9);
}
.opening-lines span {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  display: block;
  opacity: 0;
  transform: translateY(calc(-50% + 18px));
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 4.6vw, 66px);
  line-height: 1.02;
  text-wrap: balance;
  animation: opening-line 1.45s ease forwards;
}
.opening-lines span:nth-child(1) { animation-delay: 3.2s; }
.opening-lines span:nth-child(2) { animation-delay: 4.55s; }
.opening-lines span:nth-child(3) { animation-delay: 5.9s; }
.opening-lines span:nth-child(4) { animation-delay: 7.25s; }
.opening-lines span:nth-child(5) { animation-delay: 8.6s; }
.opening-lines span:nth-child(6) { animation-delay: 9.95s; }
.opening-final {
  top: 50%;
  left: 50%;
  display: grid;
  gap: 12px;
  opacity: 0;
  transform: translate(-50%, calc(-50% + 18px));
  animation: final-line 1.15s ease 11.65s forwards;
  text-shadow: 0 3px 36px rgba(7, 16, 25, .95), 0 1px 4px rgba(7, 16, 25, .9);
}
.opening-final span {
  color: rgba(255, 250, 241, .78);
  font-size: clamp(18px, 2vw, 25px);
}
.opening-final strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6.6vw, 96px);
  font-weight: 400;
  line-height: .92;
  letter-spacing: 0;
}

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--space-3);
  padding: 36px var(--page-x) 18px;
  color: var(--header-text);
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
  font-family: "GT Standard L Regular", "GT Standard L Regular Placeholder", sans-serif;
  font-style: normal;
  font-variation-settings: normal;
  letter-spacing: -.01em;
  line-height: 20px;
  pointer-events: none;
}
.brand, nav, .actions, .button { display: flex; align-items: center; }
.brand, nav a { pointer-events: auto; }
.header-contact {
  flex: 0 0 auto;
  margin-left: auto;
  pointer-events: auto;
}
.brand {
  position: relative;
  gap: 0;
  font-family: "GT Standard L Bold", "GT Standard L Bold Placeholder", sans-serif;
  font-size: clamp(21px, 1.6vw, 25px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.01em;
  transition: color .18s ease;
}
.brand-name {
  display: inline-block;
  transform: translateZ(0) scale(1);
  transform-origin: left center;
  will-change: transform, margin-right;
  transition:
    transform .42s cubic-bezier(.16, 1, .3, 1),
    margin-right .42s cubic-bezier(.16, 1, .3, 1);
}
.brand:hover,
.brand:focus-visible {
  color: var(--hero-black);
}
.brand:hover .brand-name,
.brand:focus-visible .brand-name {
  margin-right: clamp(14px, 1.6vw, 28px);
  transform: translateZ(0) scale(1.28);
}
.brand-mark {
  position: absolute;
  left: calc((var(--page-x) / -2) - 24px);
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 48px;
  height: 116px;
  overflow: hidden;
  background: #000;
  clip-path: path("M0 0H48V116C35 112 27 100 24 84C21 100 13 112 0 116Z");
  transition: transform .2s ease;
}
.brand-mark img {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  object-fit: cover;
}
nav {
  gap: clamp(18px, 3vw, 46px);
  margin-left: clamp(18px, 2.6vw, 42px);
  color: var(--hero-black);
  font-family: "GT Standard L Regular", "GT Standard L Regular Placeholder", sans-serif;
  align-items: center;
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -.01em;
}
nav a {
  position: relative;
  display: inline-block;
  padding: 6px 0;
  font-size: 17px;
  font-weight: 500;
  line-height: 24px;
  transform: translateZ(0) scale(1);
  transform-origin: left center;
  will-change: transform, margin-right;
  transition:
    transform .42s cubic-bezier(.16, 1, .3, 1),
    margin-right .42s cubic-bezier(.16, 1, .3, 1),
    color .22s ease;
}
nav a:hover,
nav a:focus-visible {
  color: var(--hero-black);
  margin-right: clamp(14px, 1.6vw, 28px);
  transform: translateZ(0) scale(1.28);
}
.site-header.is-entering {
  animation: hero-header-drop 850ms cubic-bezier(.22, 1, .36, 1) 1.7s both;
}

.hero-story {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  display: grid;
  align-items: start;
  padding: clamp(118px, 13vh, 146px) var(--page-x) clamp(46px, 8vw, 82px);
  background: var(--hero-background);
  color: var(--ink);
  font-family: var(--hero-serif);
}
.site-header {
  font-family: var(--hero-serif);
}
.hero-art,
.final-art {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-art {
  inset: 0;
  width: 100%;
  transform:
    translateY(calc(var(--hero-art-exit-y, 0%) + var(--hero-edge-offset, 0px)))
    scale(var(--hero-art-exit-scale, 1));
  transform-origin: 100% 50%;
  will-change: auto;
  pointer-events: none;
}
.hero-story.is-motion-active .hero-art {
  will-change: transform;
}
.hero-carousel-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-100%);
  will-change: transform, opacity;
}
.hero-carousel-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
.hero-carousel-slide.is-entering {
  z-index: 2;
  animation: hero-slide-enter 1200ms cubic-bezier(.16, 1, .3, 1) both;
}
.hero-carousel-slide.is-leaving {
  z-index: 1;
  visibility: visible;
  animation: hero-slide-leave 1200ms cubic-bezier(.45, 0, .16, 1) both;
}
.hero-carousel-slide img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: right center;
  transform: scale(1.012);
  transform-origin: right center;
  transition: transform 7s cubic-bezier(.2, .7, .25, 1);
}
.hero-story.is-entering .hero-copy {
  animation: hero-copy-rise 900ms cubic-bezier(.22, 1, .36, 1) 1s both;
}
.hero-art .scene,
.final-art .scene {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  transform: scale(calc(1.02 + var(--progress, 0) * .12));
}
.hero-copy-parallax {
  position: relative;
  z-index: 4;
  transform: translateY(calc(var(--hero-copy-exit-y, 0px) + var(--hero-edge-offset, 0px)));
  will-change: auto;
}
.is-motion-edge-top .hero-story {
  --hero-edge-offset: var(--motion-top-edge-offset, 0px);
}
.hero-story.is-motion-active .hero-copy-parallax {
  will-change: transform;
}
.hero-copy {
  position: relative;
  max-width: min(560px, 48vw);
}
.kicker {
  margin: 0 0 14px;
  color: var(--amber);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
h1, h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: .94;
  letter-spacing: 0;
}
h1 { max-width: 1080px; font-size: clamp(54px, 9.8vw, 132px); }
h2 { max-width: 1040px; font-size: clamp(42px, 7.2vw, 94px); }
.hero-copy h1 {
  font-family: var(--hero-serif);
  font-weight: 400;
  max-width: 620px;
  font-size: clamp(48px, 6.4vw, 88px);
  line-height: .96;
}
p {
  color: inherit;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.55;
}
.hero-copy p:not(.kicker),
.story-copy > p,
.panorama-copy p,
.capability-copy p,
.final-copy > p:not(.final-pre) {
  max-width: 720px;
  color: color-mix(in srgb, currentColor 70%, transparent);
}
.hero-copy > p {
  max-width: 500px;
  margin-block: 20px 0;
}
.hero-situation {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  max-width: 520px;
  margin-top: 24px;
  padding: 2px 0 2px 18px;
  border-left: 2px solid var(--hero-gold);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
.hero-situation-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.hero-situation-copy.is-changing {
  animation: hero-situation-enter 140ms cubic-bezier(.22, 1, .36, 1) both;
}
.hero-situation-label {
  margin-bottom: 3px;
  color: var(--hero-grey);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}
.hero-situation strong {
  color: var(--hero-black);
  font-family: var(--hero-serif);
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 400;
  line-height: 1.15;
}
.hero-situation-copy > span:last-child {
  color: color-mix(in srgb, var(--hero-black) 64%, transparent);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}
.actions {
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 34px;
}
.button {
  position: relative;
  isolation: isolate;
  min-height: 54px;
  gap: 10px;
  padding: 15px 26px;
  overflow: hidden;
  border-radius: 10000px;
  border: 1px solid var(--button-border);
  font-family: "GT Standard L Regular", "GT Standard L Regular Placeholder", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-variation-settings: normal;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: .01em;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  box-shadow: none;
  transition: color .18s ease, border-color .18s ease;
}
.button::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--button-hover-bg, currentColor);
  opacity: 0;
  clip-path: circle(1px at 50% 50%);
  transition: opacity .01s linear, clip-path 1.25s cubic-bezier(.22, .61, .36, 1);
}
.button > * {
  position: relative;
  z-index: 1;
}
.button-label {
  display: inline-grid;
  height: 24px;
  overflow: hidden;
  line-height: 24px;
}
.button-label-current,
.button-label-next {
  grid-area: 1 / 1;
  transition: transform 1s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}
.button-label-current {
  transform: translateY(0);
}
.button-label-next {
  transform: translateY(115%);
}
.button:hover .button-label-current,
.button:focus-visible .button-label-current {
  transform: translateY(-115%);
}
.button:hover .button-label-next,
.button:focus-visible .button-label-next {
  transform: translateY(0);
}
.button:hover::before,
.button:focus-visible::before {
  opacity: 1;
  clip-path: circle(150% at 50% 50%);
}
.button:hover,
.button:focus-visible {
  transform: none;
}
.button.primary {
  background: var(--white);
  color: var(--ink);
  border-color: var(--white);
}
.button.ghost {
  color: var(--white);
  background: rgba(255, 250, 241, .08);
}
.hero-story .button.primary,
.site-header .button.primary,
.panorama-section .button.primary {
  --button-hover-bg: var(--button-hover-fill);
  background: var(--primary-button-background);
  color: var(--primary-button-text);
  border-color: var(--button-border);
}
.hero-story .button.ghost {
  --button-hover-bg: var(--button-hover-fill);
  color: var(--secondary-button-text);
  background: var(--secondary-button-background);
  border-color: var(--button-border);
}
.hero-story .button.primary:hover,
.hero-story .button.primary:focus-visible,
.site-header .button.primary:hover,
.site-header .button.primary:focus-visible,
.panorama-section .button.primary:hover,
.panorama-section .button.primary:focus-visible {
  color: var(--hero-black);
  border-color: var(--button-border);
  box-shadow: none;
}
.hero-story .button.ghost:hover,
.hero-story .button.ghost:focus-visible {
  color: var(--hero-black);
  border-color: var(--button-border);
  box-shadow: none;
}
.icon {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero-question-stack {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
}
.hero-question-stack span,
.call-advocate-chip {
  position: absolute;
  display: block;
  border: 1px solid rgba(255, 250, 241, .32);
  border-radius: 999px;
  background: rgba(255, 250, 241, .09);
  color: rgba(255, 250, 241, .82);
  padding: 12px 18px;
  backdrop-filter: blur(10px);
  transform: translateY(calc((1 - var(--progress, 0)) * 28px));
  opacity: calc(.18 + var(--progress, 0) * .74);
}
.hero-question-stack span:nth-child(1) { left: 8vw; top: 26vh; }
.hero-question-stack span:nth-child(2) { right: 11vw; top: 22vh; }
.hero-question-stack span:nth-child(3) { right: 6vw; top: 48vh; }
.hero-question-stack span:nth-child(4) { left: 12vw; top: 62vh; }
.hero-question-stack span:nth-child(5) { left: 44vw; top: 17vh; }
.hero-question-stack span:nth-child(6) { right: 22vw; bottom: 18vh; }
.call-advocate-chip {
  right: clamp(22px, 8vw, 120px);
  bottom: clamp(30px, 7vw, 90px);
  z-index: 5;
  background: var(--forest);
  border-color: rgba(255, 250, 241, .18);
  color: var(--white);
  font-weight: 900;
  opacity: var(--progress, 0);
  transform: scale(calc(.84 + var(--progress, 0) * .16));
}

.story-section,
.panorama-section,
.capability-section,
.final-section {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding: clamp(74px, 10vw, 142px) clamp(18px, 6vw, 84px);
}
.story-section {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: center;
}
.story-section.light,
.capability-section {
  background: var(--ivory);
  color: var(--ink);
}
.story-section.warm {
  background: linear-gradient(180deg, #f5ecde, #dfccb1);
  color: var(--ink);
}
.story-section.intervention-section {
  --app-flow-map-canvas: #050505;
  --app-flow-overlap: clamp(220px, 28vh, 340px);
  position: relative;
  z-index: 1;
  display: flow-root;
  min-height: calc(650vh + var(--app-flow-overlap));
  margin-top: calc(-1 * var(--app-flow-overlap));
  padding: 0;
  overflow: visible;
  background: var(--hero-offwhite);
}
.story-section.intervention-section.is-app-flow-dark-phase {
  background: var(--app-flow-map-canvas);
}
.account-scene {
  --account-black: #080807;
  --account-hill-black: #050505;
  --account-cream: #f0ece5;
  --account-grey: #6b6964;
  --account-grey-soft: #9a978f;
  --account-rule: color-mix(in srgb, var(--account-grey) 32%, transparent);
  --account-gold: var(--hero-gold, #d5bd82);
  --account-content-y: clamp(38px, 5vh, 64px);
  position: relative;
  isolation: isolate;
  min-height: 104vh;
  min-height: 104svh;
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(440px, 1fr);
  align-items: center;
  gap: clamp(34px, 6vw, 98px);
  padding: clamp(58px, 6.5vw, 96px) clamp(24px, 7vw, 112px) clamp(104px, 11vw, 156px);
  overflow: hidden;
  background: var(--account-cream);
  color: var(--account-black);
}
.account-legacy-anchor {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.account-hill {
  position: absolute;
  z-index: 2;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  color: var(--account-hill-black);
  pointer-events: none;
}
.account-hill path {
  fill: currentColor;
}
.account-art-panel {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: min(640px, 70vh);
}
.account-motto {
  position: relative;
  z-index: 1;
  margin: 0 0 clamp(18px, 3vh, 32px);
  font-family: "Jaini", var(--hero-serif);
  font-size: clamp(46px, 5.4vw, 82px);
  font-weight: 400;
  letter-spacing: .01em;
  line-height: .74;
  text-transform: none;
  color: color-mix(in srgb, var(--account-black) 92%, var(--account-gold));
  text-shadow: 0 1px 0 color-mix(in srgb, var(--account-gold) 42%, transparent);
}
.account-motto::after {
  content: "";
  display: block;
  width: min(160px, 32vw);
  height: 1px;
  margin: 22px auto 0;
  background: color-mix(in srgb, var(--account-grey) 48%, transparent);
}
.account-image-frame {
  position: relative;
  width: min(440px, 82%);
  margin-bottom: calc(-1 * clamp(52px, 6.2vw, 92px));
}
.account-image-frame img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-height: min(61vh, 680px);
  object-fit: contain;
  mix-blend-mode: normal;
}
.account-content {
  position: relative;
  z-index: 3;
  width: min(100%, 620px);
  min-height: clamp(580px, 65vh, 720px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  justify-self: center;
  transform: translateY(var(--account-content-y));
}
.account-panel,
.account-view {
  width: 100%;
}
.account-panel {
  position: relative;
}
.account-panel.is-transitioning {
  overflow-x: clip;
}
.account-view {
  display: grid;
  align-content: center;
  min-height: clamp(540px, 61vh, 680px);
  transform: translateZ(0);
}
.account-mode-view {
  --account-mode-tab-height: 50px;
  --account-mode-tab-gap: 18px;
  position: relative;
  display: block;
}
.account-kicker {
  margin: 0 0 16px;
  color: var(--account-grey);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.2;
  text-transform: uppercase;
}
.account-view h2 {
  margin: 0;
  max-width: 11ch;
  font-family: var(--hero-serif);
  font-size: clamp(46px, 4.7vw, 78px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .95;
  color: var(--account-black);
}
.account-intro {
  max-width: 510px;
  margin: clamp(18px, 2vw, 28px) 0 0;
  color: var(--account-grey);
  font-family: "Inter", "GT Standard L Regular", "GT Standard L Regular Placeholder", system-ui, sans-serif;
  font-size: clamp(15px, 1.05vw, 17px);
  font-weight: 400;
  line-height: 1.55;
}
.account-delivery-destination {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  width: min(100%, 510px);
  margin: 20px 0 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--account-rule);
  color: var(--account-grey);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}
.account-delivery-destination strong {
  color: var(--account-black);
  font-weight: 600;
  white-space: nowrap;
}
.account-role-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(34px, 4vw, 52px);
  border-block: 1px solid color-mix(in srgb, var(--account-black) 42%, transparent);
}
.account-role-option {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 268px;
  padding: 28px 32px 30px 0;
}
.account-role-option + .account-role-option {
  border-left: 1px solid color-mix(in srgb, var(--account-black) 28%, transparent);
  padding-right: 0;
  padding-left: 32px;
}
.account-role-option h3 {
  margin: 0;
  max-width: 13ch;
  font-family: "Inter", system-ui, sans-serif;
  font-size: clamp(19px, 1.5vw, 24px);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.08;
}
.account-role-option > p {
  margin: 10px 0 0;
  color: var(--account-grey);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.45;
}
.account-role-actions {
  display: grid;
  grid-template-rows: 54px 32px;
  align-items: start;
  gap: 16px;
  margin-top: auto;
  padding-top: 32px;
}
.account-primary-action {
  width: 100%;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--account-black);
  border-radius: 999px;
  padding: 0 24px;
  background: var(--account-black);
  color: var(--account-cream);
  cursor: pointer;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.01em;
  text-decoration: none;
  appearance: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
}
.account-primary-action:hover,
.account-primary-action:focus-visible {
  border-color: color-mix(in srgb, var(--account-gold) 72%, var(--account-black));
  background: var(--account-gold);
  color: var(--account-black);
}
.account-primary-action:disabled,
.account-text-button:disabled {
  cursor: not-allowed;
  opacity: .46;
}
.account-text-action,
.account-text-button,
.account-back-link {
  width: fit-content;
  border: 0;
  border-bottom: 2px solid var(--account-black);
  padding: 0 0 3px;
  background: transparent;
  color: var(--account-black);
  cursor: pointer;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
  appearance: none;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}
.account-text-action:hover,
.account-text-button:hover,
.account-back-link:hover {
  color: var(--account-black);
}
.account-role-actions .account-text-action {
  position: relative;
  isolation: isolate;
  transition: color .18s ease, border-color .18s ease;
}
.account-role-actions .account-text-action::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -7px -10px -6px;
  border-radius: 3px;
  background: var(--account-black);
  opacity: 0;
  transform: scaleX(.92);
  transform-origin: left center;
  transition: opacity .18s ease, transform .18s ease;
}
.account-role-actions .account-text-action:hover,
.account-role-actions .account-text-action:focus-visible {
  border-bottom-color: var(--account-black);
  color: var(--account-cream);
}
.account-role-actions .account-text-action:hover::before,
.account-role-actions .account-text-action:focus-visible::before {
  opacity: 1;
  transform: scaleX(1);
}
.account-view-heading {
  display: grid;
}
.account-back-link {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  margin: 0 0 30px;
  border: 1px solid color-mix(in srgb, var(--account-black) 76%, transparent);
  border-radius: 999px;
  padding: 0 14px;
  color: var(--account-black);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: -.01em;
}
.account-back-link:hover,
.account-back-link:focus-visible {
  border-color: var(--account-black);
  background: var(--account-black);
  color: var(--account-cream);
}
.account-mode-header-stage,
.account-mode-form-stage {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
}
.account-mode-header-stage {
  bottom: calc(50% + (var(--account-mode-tab-height) / 2) + var(--account-mode-tab-gap));
}
.account-mode-form-stage {
  top: calc(50% + (var(--account-mode-tab-height) / 2) + var(--account-mode-tab-gap));
}
.account-mode-header-panel,
.account-mode-form-panel {
  width: 100%;
}
.account-mode-header-panel[aria-hidden="true"],
.account-mode-form-panel[aria-hidden="true"] {
  display: none;
}
.account-panel.is-mode-transitioning .account-mode-header-stage,
.account-panel.is-mode-transitioning .account-mode-form-stage {
  overflow: clip;
}
.account-mode-tabs {
  position: absolute;
  top: 50%;
  left: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: start;
  width: min(100%, 286px);
  min-height: var(--account-mode-tab-height);
  margin: 0;
  margin-left: 0;
  gap: 0;
  border: 1px solid color-mix(in srgb, var(--account-black) 72%, transparent);
  border-radius: 999px;
  padding: 4px;
  background: color-mix(in srgb, var(--account-cream) 88%, var(--account-rule));
  color: var(--account-black);
  font-size: inherit;
  letter-spacing: normal;
  transform: translateY(-50%);
  isolation: isolate;
  overflow: hidden;
}
.account-mode-tabs::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: calc((100% - 8px) / 2);
  border-radius: 999px;
  background: var(--account-black);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset;
  transform: translateX(0);
  transition: transform .38s cubic-bezier(.22, .72, .2, 1);
  will-change: transform;
}
.account-mode-tabs[data-auth-active-mode="signin"]::before {
  transform: translateX(100%);
}
.account-mode-tabs button {
  position: relative;
  z-index: 1;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: 0 18px;
  background: transparent;
  color: var(--account-grey);
  cursor: pointer;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  appearance: none;
  transition: color .2s ease;
}
.account-mode-tabs button[aria-current="page"] {
  color: var(--account-cream);
}
.account-mode-tabs button:not([aria-current="page"]):hover {
  color: var(--account-black);
}
.account-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin-top: clamp(14px, 1.6vw, 22px);
  font-family: "Inter", "GT Standard L Regular", "GT Standard L Regular Placeholder", system-ui, sans-serif;
}
.account-field {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}
.account-field-wide,
.account-submit,
.account-terms-copy,
.account-otp-meta,
.account-otp-actions,
.account-announcement {
  grid-column: 1 / -1;
}
.account-field > span:first-child {
  color: var(--account-grey);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.account-field input {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  border: 0;
  border-bottom: 1px solid var(--account-rule);
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: var(--account-black);
  caret-color: var(--account-black);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 16px;
  font-weight: 500;
  outline: none;
}
.account-field input:focus {
  border-bottom-color: color-mix(in srgb, var(--account-gold) 82%, var(--account-black));
}
.account-field input[aria-invalid="true"] {
  border-bottom: 2px solid var(--account-black);
}
.account-phone-control {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  border-bottom: 1px solid var(--account-rule);
}
.account-phone-control:focus-within {
  border-bottom-color: color-mix(in srgb, var(--account-gold) 82%, var(--account-black));
}
.account-phone-control:has(input[aria-invalid="true"]) {
  border-bottom: 2px solid var(--account-black);
}
.account-phone-control input,
.account-phone-control input:focus,
.account-phone-control input[aria-invalid="true"] {
  border-bottom: 0;
}
.account-phone-prefix {
  padding-right: 12px;
  color: var(--account-grey);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 14px;
  font-weight: 700;
}
.account-field-error {
  min-height: 16px;
  color: var(--account-black);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}
.account-field-error:not([aria-hidden="true"])::before {
  content: "— ";
}
.account-submit {
  width: fit-content;
  min-width: 160px;
  margin-top: 0;
}
.account-terms-copy,
.account-otp-meta,
.account-announcement {
  margin: 0;
  color: var(--account-grey);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 11px;
  line-height: 1.5;
}
.account-terms-copy a {
  color: var(--account-black);
  font-weight: 650;
  text-decoration-color: var(--account-black);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}
.account-role-lock {
  display: flex;
  gap: 8px;
  margin-bottom: 28px;
  color: var(--account-grey);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.account-role-lock span + span::before {
  content: "/";
  margin-right: 8px;
  color: var(--account-gold);
}
.account-otp-input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: clamp(28px, 2.6vw, 40px) !important;
  letter-spacing: .18em;
}
.account-otp-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 20px;
}
.account-otp-actions,
.account-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
}
.account-recovery-actions {
  margin-top: 36px;
}
.account-success-view {
  align-content: center;
}
.account-success-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  margin: 0 0 18px;
  border: 1px solid color-mix(in srgb, var(--account-black) 60%, var(--account-gold));
  border-radius: 50%;
  color: var(--account-black);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 750;
}
.account-success-view .account-kicker {
  margin-bottom: 14px;
}
.account-success-view h2 {
  max-width: 9.5ch;
}
.account-success-view .account-intro {
  max-width: 560px;
  margin-top: 22px;
}
.account-identity-summary {
  display: grid;
  width: 100%;
  margin: 32px 0 0;
  border-block: 1px solid var(--account-rule);
  font-family: "Inter", system-ui, sans-serif;
}
.account-identity-summary > div {
  display: grid;
  grid-template-columns: minmax(96px, .42fr) minmax(0, 1fr);
  align-items: baseline;
  gap: 18px;
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--account-rule);
}
.account-identity-summary > div:last-child {
  border-bottom: 0;
}
.account-identity-summary dt,
.account-identity-summary dd {
  margin: 0;
}
.account-identity-summary dt {
  color: var(--account-grey);
  font-size: 12px;
  line-height: 1.35;
}
.account-identity-summary dd {
  color: var(--account-black);
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  text-align: left;
}
.account-success-view .account-recovery-actions {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 18px 28px;
  align-items: center;
  margin-top: 34px;
}
.account-success-view .account-recovery-actions .account-primary-action {
  grid-column: 1 / -1;
  width: min(100%, 420px);
}
.account-success-view .account-recovery-actions .account-text-button {
  justify-self: start;
}
.account-restoring {
  justify-items: start;
}
.account-spinner {
  width: 32px;
  height: 32px;
  margin-bottom: 28px;
  border: 1px solid var(--account-rule);
  border-top-color: var(--account-gold);
  border-radius: 50%;
  animation: account-spin .8s linear infinite;
}
.account-announcement {
  min-height: 18px;
  width: 100%;
  margin: 14px 0 0;
}
.account-panel[data-auth-screen="authenticated"] .account-announcement {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.account-scene :focus-visible {
  outline: 2px solid var(--account-gold);
  outline-offset: 4px;
}
.account-view h2:focus-visible {
  outline: 0;
}
.account-field input:focus-visible,
.account-phone-control input:focus-visible {
  outline: 0;
}
.account-field input:-webkit-autofill,
.account-field input:-webkit-autofill:hover,
.account-field input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--account-black);
  caret-color: var(--account-black);
  box-shadow: 0 0 0 1000px var(--account-cream) inset;
  transition: background-color 9999s ease-out 0s;
}
@keyframes account-spin {
  to { transform: rotate(1turn); }
}
.is-auth-route,
.is-auth-route body {
  background: var(--account-route-cream, #f0ece5);
}
.auth-route-header {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 14px clamp(20px, 4vw, 64px);
  border-bottom: 1px solid rgba(8, 8, 7, .14);
  background: rgba(240, 236, 229, .94);
  color: #080807;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.auth-route-header .brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: inherit;
  text-decoration: none;
}
.auth-route-header .brand-mark {
  position: relative;
  inset: auto;
  transform: none;
  width: 42px;
  height: 46px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  clip-path: polygon(0 0, 100% 0, 100% 77%, 50% 100%, 0 77%);
  background: #080807;
  color: #f0ece5;
  font-size: 12px;
  font-weight: 800;
}
.auth-route-header .brand-name {
  margin-right: 0;
  transform: none;
  transition: none;
  will-change: auto;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -.025em;
}
.auth-route-header .brand:hover .brand-name,
.auth-route-header .brand:focus-visible .brand-name {
  margin-right: 0;
  transform: none;
}
.auth-route-header nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(18px, 2.2vw, 34px);
}
.auth-route-header nav a {
  color: #353431;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.auth-route-header nav a:hover,
.auth-route-header nav a:focus-visible {
  color: #080807;
  text-decoration: underline;
  text-decoration-color: var(--hero-gold);
  text-underline-offset: 5px;
}
.auth-route-main {
  min-height: calc(100svh - 78px);
  background: #f0ece5;
}
.auth-route-main .account-scene.is-focused {
  min-height: calc(100svh - 78px);
  padding-top: clamp(44px, 5vh, 72px);
  padding-bottom: clamp(64px, 7vh, 96px);
}
.is-auth-route .footer.is-compact {
  margin-top: 0;
}
.is-auth-route .footer.is-compact .footer-visual {
  display: none;
}
.is-auth-route .footer.is-compact {
  padding-top: 0;
}
.is-auth-route .footer.is-compact .footer-panel {
  position: relative;
  background: #050505;
}
@media (max-width: 560px) {
  .auth-route-header {
    min-height: 70px;
    gap: 12px;
    padding: 10px 16px;
  }
  .auth-route-header .brand {
    gap: 8px;
  }
  .auth-route-header .brand-mark {
    width: 36px;
    height: 40px;
    font-size: 10px;
  }
  .auth-route-header .brand-name {
    font-size: 16px;
  }
  .auth-route-header nav {
    min-width: 0;
    gap: clamp(9px, 3vw, 14px);
  }
  .auth-route-header nav a {
    font-size: 11px;
    white-space: nowrap;
  }
  .auth-route-header nav a:last-child {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .account-scene *,
  .auth-route-header {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
  .account-spinner {
    animation: none;
    border-top-color: var(--account-rule);
    border-right-color: var(--account-gold);
  }
}

.app-flow-stage {
  --app-flow-counsel-size: clamp(108px, 9.5vw, 142px);
  --app-flow-counsel-bottom: clamp(20px, 3vh, 34px);
  --app-flow-sequence-bottom-gap: .4vh;
  --app-flow-mini-node-size: clamp(58px, 6.5vmin, 72px);
  --app-flow-scene-six-question-y: 50%;
  --app-flow-scene-six-answer-y: 50%;
  --app-flow-map-canvas: #050505;
  --app-flow-map-surface: #11110f;
  --app-flow-map-text: #f7f3e9;
  --app-flow-map-accent: #e9dec9;
  --app-flow-map-line: rgba(247, 243, 233, .14);
  position: sticky;
  top: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100vh;
  margin-top: calc(-1 * (100vh - var(--app-flow-overlap)));
  overflow: hidden;
  background: var(--hero-offwhite);
  will-change: auto;
}
.intervention-section.is-app-flow-dark-phase .app-flow-stage {
  background: var(--app-flow-map-canvas);
}
.app-flow-scene-layer {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--hero-offwhite);
  opacity: var(--app-flow-scene-layer-opacity, 1);
}
.app-flow-exit-scene {
  position: absolute;
  z-index: auto;
  inset: 0;
  overflow: hidden;
  background: transparent;
  pointer-events: none;
}
.app-flow-exit-scene::before,
.app-flow-exit-scene::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
}
.app-flow-exit-scene::before {
  z-index: 4;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, .14) 0%, rgba(5, 5, 5, .46) 39%, rgba(5, 5, 5, .06) 68%, rgba(5, 5, 5, .34) 100%),
    radial-gradient(circle at 71% 49%, transparent 0 23%, rgba(5, 5, 5, .12) 55%, rgba(5, 5, 5, .38) 100%);
  opacity: var(--app-flow-map-opacity, 0);
}
.app-flow-exit-scene::after {
  z-index: 7;
  background-image: radial-gradient(circle, rgba(247, 243, 233, .28) .45px, transparent .65px);
  background-size: 4px 4px;
  mix-blend-mode: soft-light;
  opacity: var(--app-flow-map-texture-opacity, 0);
}
.app-flow-exit-map {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: block;
  overflow: hidden;
  isolation: isolate;
  background: var(--app-flow-map-canvas);
  opacity: var(--app-flow-map-layer-opacity, 0);
  pointer-events: none;
}
.app-flow-exit-map img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
  filter: grayscale(1) brightness(.24) contrast(1.5);
  opacity: var(--app-flow-map-opacity, 0);
  transform: scale(var(--app-flow-map-scale, 1.02));
  transform-origin: 50% 50%;
  will-change: auto;
}
.app-flow-exit-map::after {
  position: absolute;
  z-index: 2;
  inset: -5%;
  background: var(--app-flow-map-canvas);
  content: "";
  opacity: var(--app-flow-map-fog-opacity, 1);
  pointer-events: none;
}
.intervention-section.is-in-view .app-flow-exit-map img {
  will-change: opacity, transform;
}
.app-flow-exit-map-window {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  right: clamp(34px, 4vw, 72px);
  display: block;
  width: auto;
  height: min(58vh, 600px);
  min-height: 360px;
  overflow: hidden;
  border: 1px solid rgba(233, 222, 201, .18);
  border-radius: clamp(24px, 2.6vw, 38px);
  background: var(--app-flow-map-surface);
  box-shadow:
    0 24px 80px rgba(0, 0, 0, .24),
    inset 0 0 0 1px rgba(255, 255, 255, .025);
  clip-path: inset(0 var(--app-flow-map-window-clip, 100%) 0 0 round clamp(24px, 2.6vw, 38px));
  opacity: var(--app-flow-map-window-opacity, 0);
  transform: translateY(-50%);
  transform-origin: 0 50%;
}
.app-flow-exit-map-window::before,
.app-flow-exit-map-window::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
  pointer-events: none;
}
.app-flow-exit-map-window::before {
  background:
    radial-gradient(circle at 50% 58%, rgba(255, 250, 238, .18) 0 4%, rgba(255, 250, 238, .06) 13%, transparent 31%),
    linear-gradient(115deg, rgba(255, 250, 238, .035), transparent 38% 68%, rgba(255, 250, 238, .025));
  mix-blend-mode: screen;
}
.app-flow-exit-map-window::after {
  background:
    linear-gradient(180deg, rgba(43, 21, 3, .04), transparent 24% 72%, rgba(43, 21, 3, .12)),
    radial-gradient(ellipse at center, transparent 56%, rgba(43, 21, 3, .12) 100%);
  box-shadow: inset 0 0 42px rgba(43, 21, 3, .08);
}
.app-flow-exit-map-window img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 51%;
  filter: none;
  opacity: 1;
  transform: scale(1.045);
}
.app-flow-map-user-marker {
  position: absolute;
  z-index: 4;
  top: 49%;
  left: 58%;
  display: block;
  width: clamp(13px, 1.15vw, 17px);
  aspect-ratio: 1;
  border: 2px solid rgba(255, 248, 235, .96);
  border-radius: 50%;
  background: #e95f45;
  box-shadow:
    0 0 0 5px rgba(233, 95, 69, .16),
    0 0 18px 7px rgba(233, 95, 69, .34),
    0 0 42px 18px rgba(233, 95, 69, .13);
  transform: translate(-50%, -50%);
}
.app-flow-map-user-marker::before,
.app-flow-map-user-marker::after {
  position: absolute;
  border: 1px solid rgba(255, 208, 190, .24);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.app-flow-map-user-marker::before {
  inset: -9px;
}
.app-flow-map-user-marker::after {
  inset: -18px;
  border-color: rgba(233, 95, 69, .12);
}
.app-flow-map-location-title {
  position: absolute;
  z-index: 4;
  bottom: clamp(26px, 3.4vh, 42px);
  left: clamp(28px, 3vw, 48px);
  display: grid;
  gap: 5px;
  color: #fffaf0;
  font-family: "SFMono-Regular", "SF Mono", "Roboto Mono", "IBM Plex Mono", Menlo, Monaco, Consolas, monospace;
  text-shadow: 0 2px 16px rgba(40, 25, 9, .62);
}
.app-flow-map-location-title strong,
.app-flow-map-location-title small {
  display: block;
}
.app-flow-map-location-title strong {
  font-size: clamp(17px, 1.65vw, 25px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.045em;
}
.app-flow-map-location-title small {
  color: rgba(255, 250, 240, .72);
  font-size: clamp(10px, .8vw, 13px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .01em;
}
.intervention-section.is-in-view .app-flow-exit-map-window {
  will-change: clip-path, opacity, transform;
}
.app-flow-map-reveal-guide {
  position: absolute;
  z-index: 7;
  top: 0;
  right: clamp(34px, 4vw, 72px);
  bottom: 0;
  left: 50%;
  display: block;
  opacity: var(--app-flow-map-edge-opacity, 0);
  pointer-events: none;
}
.app-flow-map-reveal-guide > span {
  position: absolute;
  top: var(--app-flow-focus-stem-top, 0px);
  left: var(--app-flow-map-window-progress, 0%);
  display: block;
  width: 2px;
  height: var(--app-flow-focus-stem-height, 42px);
  background: color-mix(
    in srgb,
    #111,
    var(--app-flow-map-text) var(--app-flow-exit-connector-theme, 0%)
  );
  box-shadow: 0 0 10px rgba(247, 243, 233, .14);
  transform: translateX(-50%);
}
.app-flow-map-reveal-guide > span::after {
  position: absolute;
  right: 50%;
  bottom: 0;
  width: var(--app-flow-focus-anchor-size, 14px);
  height: var(--app-flow-focus-anchor-size, 14px);
  border: 2px solid #fff;
  border-radius: 50%;
  background: #111;
  box-shadow: inset 0 0 0 3px #111;
  content: "";
  transform: translate(50%, 50%);
}
.app-flow-exit-title {
  position: absolute;
  z-index: 9;
  top: var(--app-flow-scene-six-question-y);
  left: clamp(34px, 6vw, 104px);
  width: min(48vw, 760px);
  margin: 0;
  color: var(--app-flow-map-text);
  text-align: left;
  text-wrap: balance;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  transition:
    top .9s cubic-bezier(.22, 1, .36, 1),
    opacity .42s ease;
  will-change: top, opacity;
}
.app-flow-exit-title-visual {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: clamp(18px, 2.1vh, 30px);
  min-height: 4.9em;
  opacity: 0;
  transform: translateY(9px);
  transition:
    opacity .46s ease .08s,
    transform .62s cubic-bezier(.22, 1, .36, 1) .08s;
}
.app-flow-exit-question,
.app-flow-exit-answer {
  display: block;
  width: 100%;
  opacity: 0;
  transition: opacity .28s ease;
  will-change: opacity;
}
.app-flow-exit-question > span {
  display: inline-block;
  max-width: 100%;
  opacity: 0;
  filter: blur(12px);
  clip-path: inset(0 100% 0 0);
  transform: translateX(-10px);
  transition:
    clip-path .9s cubic-bezier(.22, .72, .2, 1),
    opacity .45s ease,
    filter .9s ease,
    transform .9s cubic-bezier(.22, .72, .2, 1);
  will-change: clip-path, opacity, filter, transform;
}
.app-flow-exit-question > span[data-app-flow-reveal-complete="true"] {
  opacity: 1;
  filter: blur(0);
  clip-path: inset(0 0 0 0);
  transform: translateX(0);
}
.app-flow-exit-question {
  color: color-mix(in srgb, var(--app-flow-map-text) 62%, #8b8172);
  font-family: "SFMono-Regular", "SF Mono", "Roboto Mono", "IBM Plex Mono", Menlo, Monaco, Consolas, monospace;
  font-size: clamp(20px, 1.55vw, 28px);
  font-variant-ligatures: none;
  font-weight: 560;
  line-height: 1.1;
  letter-spacing: -.035em;
  text-shadow: 0 2px 24px rgba(0, 0, 0, .46);
}
.app-flow-exit-answer {
  color: #fff1c7;
  font-family: var(--hero-serif);
  font-size: clamp(38px, 4.25vw, 72px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: 0;
  text-shadow:
    0 2px 28px rgba(0, 0, 0, .58),
    0 0 28px rgba(233, 222, 201, .14);
}
.app-flow-exit-answer i {
  display: inline-block;
  width: clamp(4px, .13em, 6px);
  height: .9em;
  margin-left: .12em;
  background: currentColor;
  opacity: 0;
  transform: translate(
    var(--app-flow-caret-x, 0px),
    calc(var(--app-flow-caret-y, 0px) + .1em)
  );
  will-change: opacity, transform;
}
.intervention-section.is-scene-six-question .app-flow-exit-title,
.intervention-section.is-scene-six-answer .app-flow-exit-title {
  opacity: 1;
}
.intervention-section.is-scene-six-question .app-flow-exit-title-visual,
.intervention-section.is-scene-six-answer .app-flow-exit-title-visual {
  opacity: 1;
  transform: translateY(0);
}
.intervention-section.is-scene-six-question .app-flow-stage > .app-flow-counsel-node.is-shared,
.intervention-section.is-scene-six-answer .app-flow-stage > .app-flow-counsel-node.is-shared {
  z-index: 6;
}
.intervention-section.is-exiting .app-flow-stage > .app-flow-counsel-node.is-shared {
  z-index: 6;
}
.intervention-section.is-scene-six-question .app-flow-exit-question,
.intervention-section.is-scene-six-answer .app-flow-exit-question {
  opacity: 1;
}
.intervention-section.is-scene-six-answer .app-flow-exit-title {
  top: var(--app-flow-scene-six-answer-y);
}
.intervention-section.is-scene-six-answer .app-flow-exit-answer {
  opacity: 1;
}
.intervention-section.is-scene-six-answer .app-flow-exit-answer i {
  opacity: 1;
  animation: app-flow-exit-caret 1.05s ease-in-out infinite;
}
@keyframes app-flow-exit-caret {
  0%, 42% { opacity: 1; }
  58%, 100% { opacity: .16; }
}
.app-flow-detachable-counsel {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  pointer-events: none;
  transform: scale(var(--app-flow-counsel-scale, .84));
  transform-origin: 50% 50%;
}
.app-flow-counsel-node.is-shared .app-flow-counsel-person {
  display: none;
}
.app-flow-mini-node {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  width: var(--app-flow-mini-node-size);
  aspect-ratio: 1;
  opacity: 1;
  transform:
    translate(-50%, -50%)
    translate3d(var(--app-flow-mini-x, 0px), var(--app-flow-mini-y, 0px), 0)
    scale(var(--app-flow-mini-scale, .5));
  transform-origin: 50% 50%;
  filter:
    drop-shadow(0 0 14px rgba(233, 222, 201, .12))
    drop-shadow(0 10px 20px rgba(0, 0, 0, .24));
  will-change: auto;
}
.intervention-section.is-in-view .app-flow-mini-node {
  will-change: opacity, transform;
}
.app-flow-mini-node.is-static-exit {
  --app-flow-counsel-theme-mix: 100%;
  --app-flow-mini-shell-opacity: 1;
  display: none;
}
.app-flow-mini-node svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.app-flow-mini-halo,
.app-flow-mini-keyline,
.app-flow-mini-disc,
.app-flow-mini-head,
.app-flow-mini-suit,
.app-flow-mini-tie {
  vector-effect: non-scaling-stroke;
}
.app-flow-mini-halo {
  fill: none;
  stroke: rgba(233, 222, 201, .22);
  stroke-width: 5;
  opacity: var(--app-flow-mini-shell-opacity, 0);
}
.app-flow-mini-keyline {
  fill: none;
  stroke: rgba(247, 243, 233, .88);
  stroke-width: 1.5;
  opacity: var(--app-flow-mini-shell-opacity, 0);
}
.app-flow-mini-disc {
  fill: color-mix(in srgb, #f5f5f5, #080808 var(--app-flow-counsel-theme-mix, 0%));
  stroke: color-mix(in srgb, #aaa, var(--app-flow-map-accent) var(--app-flow-counsel-theme-mix, 0%));
  stroke-width: 1.5;
}
.app-flow-mini-head,
.app-flow-mini-suit,
.app-flow-mini-tie {
  fill: none;
  stroke: color-mix(in srgb, #111, var(--app-flow-map-accent) var(--app-flow-counsel-theme-mix, 0%));
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.app-flow-mini-node.is-left .app-flow-mini-person,
.app-flow-mini-node.is-right .app-flow-mini-person {
  opacity: .72;
}
.app-flow-intro {
  position: absolute;
  z-index: 3;
  top: clamp(40px, 7vh, 72px);
  left: 50%;
  width: min(calc(100% - 40px), 900px);
  color: var(--hero-black);
  text-align: center;
  transform: translateX(-50%);
  pointer-events: none;
}
.app-flow-intro h2 {
  margin: 0;
  font-family: var(--hero-serif);
  font-size: clamp(30px, 3.85vw, 55px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: 0;
}
.app-flow-intro p {
  max-width: 900px;
  margin: 24px auto 0;
  color: rgba(16, 16, 15, .62);
  font-family: inherit;
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}
.app-flow-sequence {
  --app-flow-user-size: clamp(160px, 15vw, 205px);
  --app-flow-user-top: clamp(48px, 6vh, 58px);
  align-self: end;
  position: relative;
  width: min(100%, 520px);
  height: 79.2vh;
  margin-bottom: var(--app-flow-sequence-bottom-gap);
}
.app-flow-user-node {
  position: absolute;
  z-index: 2;
  top: var(--app-flow-user-top);
  left: 50%;
  width: var(--app-flow-user-size);
  aspect-ratio: 1;
  opacity: 1;
  transform: translateX(-50%);
}
.app-flow-user-node svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.app-flow-node-halo {
  fill: none;
  stroke: #ececec;
  stroke-width: 1;
}
.app-flow-node-ring {
  fill: #fff;
  stroke: #b9b9b9;
  stroke-width: 1.25;
}
.app-flow-node-core {
  fill: #f4f4f4;
  stroke: #111;
  stroke-width: 1.5;
}
.app-flow-user-head,
.app-flow-user-shoulders {
  fill: none;
  stroke: #111;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.app-flow-sos-beacon {
  position: absolute;
  z-index: 5;
  bottom: 24%;
  left: 5%;
  width: clamp(38px, 3.6vw, 46px);
  aspect-ratio: 1;
}
.app-flow-sos-beacon b,
.app-flow-sos-signal {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}
.app-flow-sos-beacon b {
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid #5b5548;
  color: var(--hero-gold);
  background: #111;
  box-shadow: 0 0 0 3px #fff;
  font: 700 clamp(8px, .75vw, 10px)/1 var(--sans);
  letter-spacing: 0;
  transform: scale(var(--app-flow-sos-press-scale, 1));
}
.app-flow-sos-signal {
  z-index: 1;
  border: 1.5px solid color-mix(in srgb, var(--hero-gold) 62%, #665d4e);
  transform-origin: 50% 50%;
}
.app-flow-sos-signal.is-one {
  opacity: var(--app-flow-sos-one-opacity, 0);
  transform: scale(var(--app-flow-sos-one-scale, .72));
}
.app-flow-sos-signal.is-two {
  opacity: var(--app-flow-sos-two-opacity, 0);
  transform: scale(var(--app-flow-sos-two-scale, .72));
}
.app-flow-node-anchor,
.app-flow-counsel-anchor {
  position: absolute;
  z-index: 3;
  left: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #111;
  box-shadow: inset 0 0 0 3px #111;
  transform: translateX(-50%);
}
.app-flow-node-anchor {
  bottom: -5px;
}
.app-flow-line {
  position: absolute;
  z-index: 1;
  left: 50%;
  width: 2px;
  background: #dedede;
  transform: translateX(-50%);
}
.app-flow-line > span {
  position: absolute;
  inset: 0;
  background: #111;
  transform: scaleY(0);
  transform-origin: 50% 0;
}
.app-flow-line.is-direct {
  top: calc(var(--app-flow-user-top) + var(--app-flow-user-size));
  bottom: calc(var(--app-flow-counsel-bottom) + var(--app-flow-counsel-size));
}
.app-flow-line.is-direct > span {
  transform: scaleY(var(--app-flow-direct-progress, 0));
}
.app-flow-counsel-node {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: var(--app-flow-counsel-size);
  aspect-ratio: 1;
  opacity: var(--app-flow-counsel-opacity, 0);
  transform: translate(-50%, -50%) translateY(var(
    --app-flow-counsel-translate-y,
    calc(50vh - var(--app-flow-sequence-bottom-gap) - var(--app-flow-counsel-bottom) - (var(--app-flow-counsel-size) / 2))
  ));
}
.app-flow-stage > .app-flow-counsel-node.is-shared {
  z-index: 5;
}
.app-flow-counsel-graphic {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  opacity: var(--app-flow-source-node-opacity, 1);
  transform: scale(var(--app-flow-counsel-focus-scale, 1));
  transform-origin: 50% 50%;
}
.app-flow-counsel-node svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: scale(var(--app-flow-counsel-scale, .84));
  transform-origin: 50% 50%;
}
.app-flow-counsel-anchor {
  top: 50%;
  width: var(--app-flow-focus-anchor-size, 14px);
  height: var(--app-flow-focus-anchor-size, 14px);
  opacity: var(--app-flow-exit-connector-opacity, 1);
  transform: translate(-50%, -50%) translateY(calc(0px - var(
    --app-flow-counsel-render-radius,
    calc(var(--app-flow-counsel-size) / 2)
  )));
}
.app-flow-counsel-anchor::before {
  position: absolute;
  z-index: -1;
  bottom: 50%;
  left: 50%;
  width: 2px;
  height: var(--app-flow-focus-stem-height, 42px);
  background: color-mix(
    in srgb,
    #111,
    var(--app-flow-map-text) var(--app-flow-exit-connector-theme, 0%)
  );
  box-shadow: 0 0 10px rgba(247, 243, 233, .14);
  content: "";
  transform: translateX(-50%) scaleY(var(--app-flow-focus-stem-progress, 0));
  transform-origin: 50% 100%;
}
.app-flow-counsel-keyline {
  fill: none;
  stroke: color-mix(in srgb, transparent, #fff8df var(--app-flow-counsel-theme-mix, 0%));
  stroke-width: 2.5;
}
.app-flow-counsel-node .app-flow-node-ring {
  fill: color-mix(in srgb, #fff, #111 var(--app-flow-counsel-theme-mix, 0%));
  stroke: color-mix(in srgb, #b9b9b9, #5b5548 var(--app-flow-counsel-theme-mix, 0%));
}
.app-flow-counsel-portrait {
  fill: color-mix(in srgb, #f5f5f5, #111 var(--app-flow-counsel-theme-mix, 0%));
  stroke: color-mix(in srgb, #aaa, var(--hero-gold) var(--app-flow-counsel-theme-mix, 0%));
  stroke-width: 1.25;
}
.app-flow-counsel-person.is-center .app-flow-counsel-portrait {
  fill: color-mix(in srgb, #fff, #111 var(--app-flow-counsel-theme-mix, 0%));
  stroke: color-mix(in srgb, #111, var(--hero-gold) var(--app-flow-counsel-theme-mix, 0%));
  stroke-width: 1.5;
}
.app-flow-counsel-head,
.app-flow-counsel-suit,
.app-flow-counsel-tie {
  fill: none;
  stroke: color-mix(in srgb, #111, var(--hero-gold) var(--app-flow-counsel-theme-mix, 0%));
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.app-flow-counsel-person:not(.is-center) {
  opacity: .62;
}
.app-flow-counsel-person:not(.is-center) .app-flow-counsel-head,
.app-flow-counsel-person:not(.is-center) .app-flow-counsel-suit,
.app-flow-counsel-person:not(.is-center) .app-flow-counsel-tie {
  stroke-width: 2.5;
}
.app-flow-counsel-node circle,
.app-flow-counsel-node path {
  vector-effect: non-scaling-stroke;
}
.app-flow-annotation {
  position: absolute;
  z-index: 4;
  display: block;
  width: 190px;
  color: #777;
  opacity: 0;
  transform: translateY(8px);
}
.app-flow-annotation.is-user {
  top: calc(var(--app-flow-user-top) + (var(--app-flow-user-size) * .42));
  left: calc(50% + (var(--app-flow-user-size) / 2) + 28px);
  opacity: var(--app-flow-request-opacity, 0);
  transform: translateY(calc((1 - var(--app-flow-request-opacity, 0)) * 8px));
}
.app-flow-annotation.is-counsel {
  right: calc(50% + (var(--app-flow-counsel-size) / 2) + 28px);
  bottom: calc(var(--app-flow-counsel-bottom) + (var(--app-flow-counsel-size) * .32));
  text-align: right;
  opacity: var(--app-flow-counsel-label-opacity, 0);
  transform: translateY(calc((1 - var(--app-flow-counsel-label-opacity, 0)) * 8px));
}
.app-flow-annotation strong,
.app-flow-annotation small {
  display: block;
}
.app-flow-annotation strong {
  font: 700 12px/1.2 var(--sans);
  color: #202020;
  text-transform: uppercase;
}
.app-flow-annotation small {
  margin-top: 5px;
  font: 500 11px/1.35 var(--sans);
}
.app-flow-route-factors {
  position: absolute;
  z-index: 3;
  top: calc(var(--app-flow-user-top) + var(--app-flow-user-size));
  bottom: calc(var(--app-flow-counsel-bottom) + var(--app-flow-counsel-size));
  left: 50%;
  width: 1px;
  pointer-events: none;
}
.app-flow-route-factor {
  position: absolute;
  display: flex;
  align-items: center;
  width: 178px;
  color: #7f7f7f;
  font: 700 9px/1 var(--sans);
  white-space: nowrap;
  text-transform: uppercase;
}
.app-flow-route-factor.is-left {
  right: 14px;
  justify-content: flex-end;
  text-align: right;
}
.app-flow-route-factor.is-right {
  left: 14px;
}
.app-flow-route-branch {
  position: absolute;
  top: 50%;
  display: block;
  width: 14px;
  height: 14px;
  overflow: visible;
}
.app-flow-route-factor.is-left .app-flow-route-branch {
  right: -12px;
  transform: scaleX(-1);
}
.app-flow-route-factor.is-right .app-flow-route-branch {
  left: -13px;
}
.app-flow-route-branch path {
  fill: none;
  stroke: #111;
  stroke-width: 2;
  stroke-linecap: butt;
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--app-flow-branch-progress, 0));
  vector-effect: non-scaling-stroke;
}
.app-flow-route-factor b {
  display: block;
  font: inherit;
  opacity: var(--app-flow-factor-opacity, 0);
  will-change: auto;
}
.app-flow-route-factor.is-left b {
  margin-right: 8px;
  transform: translateX(calc((1 - var(--app-flow-factor-opacity, 0)) * 6px));
}
.app-flow-route-factor.is-right b {
  margin-left: 8px;
  transform: translateX(calc((1 - var(--app-flow-factor-opacity, 0)) * -6px));
}
.app-flow-route-factor.is-language {
  --app-flow-factor-opacity: var(--app-flow-language-opacity, 0);
  --app-flow-branch-progress: var(--app-flow-language-branch-progress, 0);
  top: 9%;
}
.app-flow-route-factor.is-location {
  --app-flow-factor-opacity: var(--app-flow-location-opacity, 0);
  --app-flow-branch-progress: var(--app-flow-location-branch-progress, 0);
  top: 27%;
}
.app-flow-route-factor.is-priority {
  --app-flow-factor-opacity: var(--app-flow-priority-opacity, 0);
  --app-flow-branch-progress: var(--app-flow-priority-branch-progress, 0);
  top: 45%;
  color: #5f5f5f;
}
.app-flow-route-factor.is-category {
  --app-flow-factor-opacity: var(--app-flow-category-opacity, 0);
  --app-flow-branch-progress: var(--app-flow-category-branch-progress, 0);
  top: 63%;
}
.app-flow-route-factor.is-availability {
  --app-flow-factor-opacity: var(--app-flow-availability-opacity, 0);
  --app-flow-branch-progress: var(--app-flow-availability-branch-progress, 0);
  top: 81%;
}
.app-flow-match-detail {
  --app-flow-detail-edge: clamp(24px, 4vw, 72px);
  --app-flow-detail-width: clamp(245px, 25vw, 300px);
  --app-flow-detail-connector: max(
    8px,
    calc(50vw - var(--app-flow-detail-edge) - var(--app-flow-detail-width) - 192px)
  );
  position: absolute;
  width: var(--app-flow-detail-width);
  color: #777;
  white-space: normal;
  pointer-events: none;
}
.app-flow-match-detail::after {
  position: absolute;
  content: "";
}
.app-flow-match-detail::after {
  top: 8px;
  width: var(--app-flow-detail-connector);
  height: 1px;
  background: #747474;
}
.app-flow-match-detail.is-left {
  left: calc(-50vw + var(--app-flow-detail-edge));
  text-align: left;
}
.app-flow-match-detail.is-left::after {
  left: 100%;
  transform: scaleX(var(--app-flow-detail-line-progress, 0));
  transform-origin: 100% 50%;
}
.app-flow-match-detail.is-right {
  right: calc(-50vw + var(--app-flow-detail-edge));
  text-align: right;
}
.app-flow-match-detail.is-right::after {
  right: 100%;
  transform: scaleX(var(--app-flow-detail-line-progress, 0));
  transform-origin: 0 50%;
}
.app-flow-match-detail strong,
.app-flow-match-detail small {
  display: block;
  opacity: var(--app-flow-detail-opacity, 0);
  will-change: auto;
}
.intervention-section.is-in-view .app-flow-route-factor b,
.intervention-section.is-in-view .app-flow-match-detail strong,
.intervention-section.is-in-view .app-flow-match-detail small {
  will-change: opacity, transform;
}
.app-flow-match-detail.is-left strong,
.app-flow-match-detail.is-left small {
  transform: translateX(calc((1 - var(--app-flow-detail-opacity, 0)) * 12px));
}
.app-flow-match-detail.is-right strong,
.app-flow-match-detail.is-right small {
  transform: translateX(calc((1 - var(--app-flow-detail-opacity, 0)) * -12px));
}
.app-flow-match-detail strong {
  color: #202020;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
.app-flow-match-detail small {
  margin-top: 5px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
.app-flow-match-detail.is-language {
  --app-flow-detail-opacity: var(--app-flow-language-detail-opacity, 0);
  --app-flow-detail-line-progress: var(--app-flow-language-line-progress, 0);
  top: 9%;
}
.app-flow-match-detail.is-location {
  --app-flow-detail-opacity: var(--app-flow-location-detail-opacity, 0);
  --app-flow-detail-line-progress: var(--app-flow-location-line-progress, 0);
  top: 27%;
}
.app-flow-match-detail.is-priority {
  --app-flow-detail-opacity: var(--app-flow-priority-detail-opacity, 0);
  --app-flow-detail-line-progress: var(--app-flow-priority-line-progress, 0);
  top: 45%;
}
.app-flow-match-detail.is-category {
  --app-flow-detail-opacity: var(--app-flow-category-detail-opacity, 0);
  --app-flow-detail-line-progress: var(--app-flow-category-line-progress, 0);
  top: 63%;
}
.app-flow-match-detail.is-availability {
  --app-flow-detail-opacity: var(--app-flow-availability-detail-opacity, 0);
  --app-flow-detail-line-progress: var(--app-flow-availability-line-progress, 0);
  top: 81%;
}
.panorama-section {
  background: var(--hero-background);
  color: var(--ink);
}
.story-section.dark {
  background: radial-gradient(circle at 62% 40%, #22334a, var(--navy) 62%);
  color: var(--white);
}
.story-section.deep,
.final-section {
  background: var(--navy);
  color: var(--white);
}
.story-section.split {
  background: linear-gradient(90deg, #111821 0 50%, #efe4d4 50% 100%);
  color: var(--white);
}
.support-section .story-copy { color: var(--white); }
.story-copy {
  position: relative;
  z-index: 2;
  max-width: 720px;
}
.story-copy > *,
.panorama-copy > *,
.capability-copy > *,
.final-copy > * {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity var(--motion-reveal-duration) var(--motion-reveal-ease),
    transform var(--motion-reveal-duration) var(--motion-reveal-ease);
}
.is-visible .story-copy > *,
.is-visible .panorama-copy > *,
.is-visible .capability-copy > *,
.is-visible .final-copy > * {
  opacity: 1;
  transform: translateY(0);
}
.story-visual {
  min-width: 0;
  transform: translateY(calc((.5 - var(--progress, .5)) * 16px));
}
.story-section.pressure-section {
  min-height: 100vh;
  grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr);
  padding-top: clamp(62px, 7vw, 104px);
  padding-bottom: clamp(62px, 7vw, 104px);
  background: var(--pressure-black);
}
.story-section.pressure-section.is-blank {
  position: relative;
  z-index: 2;
  display: block;
  min-height: 112vh;
  padding: 0;
  overflow: visible;
  background: var(--hero-offwhite);
}
.pressure-scene-surface {
  position: absolute;
  inset: 0 auto 0 50%;
  width: 100%;
  overflow: hidden;
  border-radius: 0 0 clamp(32px, 4vw, 64px) clamp(32px, 4vw, 64px);
  box-shadow: 0 22px 34px -16px rgba(0, 0, 0, .58);
  background: var(--pressure-black);
  transform: translateX(-50%) scaleX(var(--pressure-scene-scale-x, 1));
  transform-origin: 50% 50%;
  will-change: auto;
}
.pressure-scene-copy {
  position: relative;
  z-index: 2;
  width: min(calc(100% - (2 * var(--page-x))), 900px);
  margin: 0 auto;
  padding-top: clamp(112px, 17vh, 176px);
  text-align: center;
  transform: translateY(var(--pressure-copy-exit-y, 0));
  will-change: auto;
}
.pressure-section.is-motion-active .pressure-scene-surface,
.pressure-section.is-motion-active .pressure-scene-copy {
  will-change: transform;
}
.pressure-scene-copy h2 {
  margin: 0;
  color: var(--hero-offwhite);
  font-family: var(--hero-serif);
  font-size: clamp(30px, 3.85vw, 55px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: 0;
}
.pressure-scene-copy h2 span {
  display: block;
}
.pressure-scene-copy .pressure-scenario-line {
  max-width: 900px;
  margin: 24px auto 0;
  color: rgba(254, 253, 254, .62);
  font-size: clamp(20px, 1.8vw, 26px);
  line-height: 1.45;
}
.pressure-scenario-visible {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: .3em;
  white-space: nowrap;
}
.pressure-scenario-tail {
  display: inline-flex;
  align-items: baseline;
  gap: .3em;
  white-space: nowrap;
}
.pressure-scenario-rotator {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 1px;
  height: 1.2em;
  overflow: hidden;
  color: var(--hero-gold);
  font-weight: 600;
  line-height: 1.2;
  vertical-align: baseline;
  transform: translateY(var(--pressure-scenario-baseline-offset));
  transition: width var(--pressure-scenario-transition-duration) cubic-bezier(.4, 0, .2, 1);
}
.pressure-scenario-rotator.is-measuring {
  transition: none;
}
.pressure-scenario-item {
  position: absolute;
  top: 0;
  left: 0;
  width: max-content;
  opacity: 0;
  white-space: nowrap;
  transform: translateY(var(--pressure-scenario-travel));
  transition:
    opacity var(--pressure-scenario-transition-duration) cubic-bezier(.4, 0, .2, 1),
    transform var(--pressure-scenario-transition-duration) cubic-bezier(.4, 0, .2, 1);
}
.pressure-scenario-item.is-current {
  opacity: 1;
  transform: translateY(0);
}
.pressure-scenario-item.is-leaving {
  opacity: 0;
  transform: translateY(calc(-1 * var(--pressure-scenario-travel)));
}
.pressure-scene-device {
  position: absolute;
  bottom: 0;
  left: 50%;
  height: min(69vh, 66%);
  aspect-ratio: 1181 / 1331;
  transform:
    translateX(calc(-50% + clamp(12px, 1.3vw, 24px)))
    translateY(var(--pressure-phone-exit-y, 0%))
    scale(var(--pressure-phone-exit-scale, 1));
  transform-origin: 50% 100%;
  will-change: auto;
  pointer-events: none;
  user-select: none;
}
.pressure-scene-cutout {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}
.pressure-phone-viewport {
  position: absolute;
  z-index: 1;
  top: 16.7%;
  left: 24.1%;
  width: 44.8%;
  height: 76.1%;
  overflow: hidden;
  border-radius: 10% / 5%;
}
.pressure-phone-state {
  position: absolute;
  inset: 0;
  opacity: 1;
  transform: translateY(0);
  transition:
    transform var(--pressure-phone-slide-duration) cubic-bezier(.4, 0, .2, 1),
    opacity var(--pressure-phone-fade-duration) ease-out;
  will-change: auto;
}
.pressure-phone-live-state {
  opacity: 0;
  transform: translateY(22%);
}
.pressure-scene-device.is-live .pressure-phone-sos-state {
  opacity: 0;
  transform: translateY(-22%);
}
.pressure-scene-device.is-live .pressure-phone-live-state {
  opacity: 1;
  transform: translateY(0);
}
.pressure-scene-device.is-return-prepared .pressure-phone-state {
  transition: none;
}
.pressure-scene-device.is-return-prepared .pressure-phone-sos-state {
  opacity: 0;
  transform: translateY(22%);
}
.pressure-scene-device.is-return-prepared .pressure-phone-live-state {
  opacity: 1;
  transform: translateY(0);
}
.pressure-scene-device.is-returning .pressure-phone-sos-state {
  opacity: 1;
  transform: translateY(0);
}
.pressure-scene-device.is-returning .pressure-phone-live-state {
  opacity: 0;
  transform: translateY(-22%);
}
.pressure-scene-device.is-sequence-resetting .pressure-phone-state {
  transition: none;
}
.pressure-scene-device.is-sequence-resetting .pressure-phone-sos-state {
  opacity: 1;
  transform: translateY(0);
}
.pressure-scene-device.is-sequence-resetting .pressure-phone-live-state {
  opacity: 0;
  transform: translateY(22%);
}
.pressure-scene-wheel,
.pressure-scene-sos {
  position: absolute;
  top: 50%;
  left: 50%;
  height: auto;
  max-width: none;
  transform-origin: center;
}
.pressure-scene-wheel {
  z-index: 1;
  width: 94%;
  opacity: 0;
  clip-path: circle(0% at 50% 50%);
  transform: translate(-50%, -50%) scale(.28);
  transition:
    clip-path var(--pressure-phone-transition-duration) cubic-bezier(.22, 1, .36, 1),
    transform var(--pressure-phone-transition-duration) cubic-bezier(.22, 1, .36, 1),
    opacity var(--pressure-phone-transition-duration) ease-out;
  will-change: auto;
}
.pressure-section.is-motion-active .pressure-scene-device {
  will-change: transform;
}
.pressure-section.is-motion-active .pressure-phone-state {
  will-change: transform, opacity;
}
.pressure-section.is-motion-active .pressure-scene-wheel {
  will-change: clip-path, transform, opacity;
}
.pressure-scene-device.is-wheel-open .pressure-scene-wheel {
  opacity: 1;
  clip-path: circle(51% at 50% 50%);
  transform: translate(-50%, -50%) scale(1);
}
.pressure-scene-sos {
  z-index: 2;
  width: 37%;
  transform: translate(-50%, -50%);
}
.pressure-phone-live-frame {
  position: absolute;
  inset: 1.8% 3.5% 2.2%;
  overflow: hidden;
  border-radius: 5% / 3%;
  background: #000;
}
.pressure-phone-live-screen {
  container-type: inline-size;
  display: grid;
  grid-template-rows: 18% minmax(0, 1fr) 18%;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #f8f8f8;
  background: #000;
  font-family: var(--font-sans);
}
.pressure-call-header {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: .25em;
  min-height: 0;
  padding: 4.2cqw 5cqw 3.4cqw;
  font-size: clamp(7px, 4.6cqw, 12px);
  line-height: 1;
  background: #000;
}
.pressure-call-header-row {
  display: grid;
  grid-template-columns: 1.4em minmax(0, 1fr) 1.4em;
  align-items: center;
}
.pressure-call-header-action {
  display: grid;
  place-items: center;
  width: 1.4em;
  height: 1.4em;
}
.pressure-call-security {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35em;
  min-width: 0;
  color: #b9b9b9;
  font-size: .74em;
  white-space: nowrap;
}
.pressure-call-security .pressure-call-icon {
  width: .9em;
  height: .9em;
}
.pressure-call-name {
  align-self: end;
  overflow: hidden;
  font-size: 1.55em;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pressure-call-status {
  display: flex;
  align-items: center;
  gap: .65em;
  color: #b9b9b9;
  font-size: .82em;
  line-height: 1;
}
.pressure-call-status i {
  width: .52em;
  height: .52em;
  border-radius: 50%;
  background: currentColor;
}
.pressure-call-icon {
  display: block;
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pressure-call-video {
  min-height: 0;
  overflow: hidden;
  background: #d8d8d8;
}
.pressure-call-video img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
.pressure-call-controls {
  display: grid;
  grid-template-rows: 1fr 3fr;
  min-height: 0;
  background: #000;
}
.pressure-call-controls-handle {
  display: grid;
  place-items: center;
  color: #747474;
}
.pressure-call-controls-handle .pressure-call-icon {
  width: 7cqw;
  height: 7cqw;
  stroke-width: 3;
}
.pressure-call-control-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  gap: 2.6cqw;
  padding: 0 4.8cqw 5cqw;
}
.pressure-call-control {
  display: grid;
  place-self: center;
  place-items: center;
  width: 13.2cqw;
  max-width: 34px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #f8f8f8;
  background: #171717;
}
.pressure-call-control.is-hangup {
  background: #555;
}
.pressure-call-control .pressure-call-icon {
  width: 45%;
  height: 45%;
}
@media (max-width: 720px) {
  .app-flow-stage {
    --app-flow-mini-node-size: clamp(44px, 12.5vw, 56px);
    --app-flow-scene-six-question-y: clamp(42px, 7vh, 62px);
    --app-flow-scene-six-answer-y: clamp(42px, 7vh, 62px);
  }
  .app-flow-exit-scene::before {
    background:
      linear-gradient(180deg, rgba(5, 5, 5, .28) 0%, rgba(5, 5, 5, .72) 39%, rgba(5, 5, 5, .08) 62%, rgba(5, 5, 5, .34) 100%),
      radial-gradient(circle at 50% 70%, transparent 0 24%, rgba(5, 5, 5, .22) 62%, rgba(5, 5, 5, .48) 100%);
  }
  .app-flow-exit-map-window {
    top: auto;
    right: 18px;
    bottom: clamp(20px, 3.5vh, 34px);
    left: 18px;
    width: auto;
    height: 46vh;
    min-height: 280px;
    border-radius: 22px;
    clip-path: inset(
      0 var(--app-flow-map-window-mobile-clip, 50%)
      0 var(--app-flow-map-window-mobile-clip, 50%)
      round 22px
    );
    transform: none;
    transform-origin: 50% 50%;
  }
  .app-flow-map-user-marker {
    top: 45%;
    left: 58%;
    width: 13px;
  }
  .app-flow-map-location-title {
    bottom: 22px;
    left: 24px;
    gap: 4px;
  }
  .app-flow-map-location-title strong {
    font-size: clamp(16px, 5vw, 20px);
  }
  .app-flow-map-location-title small {
    font-size: 10px;
  }
  .app-flow-map-reveal-guide {
    right: 18px;
    left: 50%;
  }
  .app-flow-exit-title {
    left: 22px;
    width: min(calc(100% - 44px), 560px);
    transform: none;
  }
  .intervention-section.is-scene-six-question .app-flow-exit-title,
  .intervention-section.is-scene-six-answer .app-flow-exit-title {
    top: var(--app-flow-scene-six-question-y);
  }
  .app-flow-exit-title-visual {
    gap: 14px;
    min-height: 4.9em;
  }
  .app-flow-exit-question {
    font-size: clamp(17px, 4.35vw, 22px);
    line-height: 1.18;
  }
  .app-flow-exit-answer {
    font-size: clamp(34px, 9.6vw, 46px);
    line-height: .98;
  }
  .app-flow-intro {
    top: clamp(32px, 6vh, 52px);
    width: calc(100% - 32px);
  }
  .app-flow-intro h2 {
    font-size: clamp(30px, 8.4vw, 41px);
  }
  .app-flow-intro p {
    max-width: 430px;
    margin-top: 18px;
    font-size: clamp(18px, 4.8vw, 22px);
    line-height: 1.45;
  }
  .app-flow-sequence {
    --app-flow-user-top: clamp(76px, 10vh, 88px);
  }
  .app-flow-annotation {
    width: 112px;
    gap: 7px;
  }
  .app-flow-annotation.is-user {
    left: calc(50% + (var(--app-flow-user-size) * .34));
  }
  .app-flow-annotation.is-counsel {
    right: calc(50% + (var(--app-flow-counsel-size) * .34));
  }
  .app-flow-annotation small {
    display: none;
  }
  .app-flow-route-factor {
    width: 148px;
    font-size: 8px;
  }
  .pressure-scene-copy {
    width: calc(100% - 32px);
    padding-top: 104px;
  }
  .pressure-scene-copy h2 {
    font-size: clamp(30px, 8.4vw, 41px);
  }
  .pressure-scene-copy .pressure-scenario-line {
    max-width: 430px;
    margin-top: 18px;
    font-size: clamp(18px, 4.8vw, 22px);
  }
  .pressure-scenario-visible {
    display: flex;
    flex-wrap: wrap;
    row-gap: .12em;
    width: 100%;
  }
  .pressure-scenario-prefix {
    flex: 0 0 100%;
  }
  .pressure-scene-device {
    width: max(69%, 390px);
    height: auto;
  }
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .app-flow-match-detail {
    --app-flow-detail-edge: 24px;
    --app-flow-detail-width: 220px;
  }
}
@media (max-width: 1000px) {
  .app-flow-match-detail {
    display: none;
  }
}
@media (min-width: 1001px) and (max-height: 790px) {
  .app-flow-stage {
    --app-flow-counsel-size: clamp(95px, 8vw, 110px);
    --app-flow-counsel-bottom: 12px;
    --app-flow-sequence-bottom-gap: 0px;
  }
  .app-flow-sequence {
    --app-flow-user-size: clamp(145px, 12vw, 165px);
    --app-flow-user-top: clamp(92px, 14vh, 110px);
    height: 87vh;
    margin-bottom: 0;
  }
}
@media (max-height: 650px) {
  .app-flow-stage {
    --app-flow-counsel-size: clamp(90px, 8vw, 112px);
    --app-flow-counsel-bottom: 12px;
    --app-flow-sequence-bottom-gap: 0px;
  }
  .app-flow-intro {
    top: 18px;
  }
  .app-flow-intro h2 {
    font-size: 30px;
  }
  .app-flow-intro p {
    max-width: 900px;
    margin-top: 10px;
  }
  .app-flow-sequence {
    --app-flow-user-size: clamp(130px, 13vw, 165px);
    --app-flow-user-top: 50px;
    height: 86vh;
    margin-bottom: 0;
  }
  .app-flow-match-detail {
    display: none;
  }
}
@media (max-width: 720px) and (max-height: 650px) {
  .app-flow-sequence {
    --app-flow-user-top: 130px;
  }
}
@media (max-width: 360px) {
  .pressure-scene-copy .pressure-scenario-line {
    font-size: 16px;
  }
  .pressure-scenario-tail {
    flex-wrap: wrap;
    justify-content: center;
    gap: .15em;
    max-width: 100%;
  }
}
.pressure-section .story-visual {
  position: relative;
  z-index: 2;
  justify-self: center;
  width: min(100%, 920px);
}
.pressure-section .scene {
  max-height: 520px;
  aspect-ratio: 16 / 9;
}
.scene {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1200 / 720;
  border: 1px solid rgba(16, 19, 24, .14);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--ivory-2);
}
.dark .scene,
.deep .scene {
  border-color: rgba(255, 250, 241, .14);
}

.panorama-section {
  --panorama-x: var(--page-x);
  display: grid;
  grid-template-columns: minmax(420px, .68fr) minmax(0, 1.32fr);
  align-items: start;
  gap: clamp(30px, 5vw, 84px);
  min-height: 100vh;
  padding-top: 0;
  padding-right: var(--panorama-x);
  padding-bottom: 0;
  padding-left: var(--panorama-x);
}
.panorama-copy {
  position: relative;
  z-index: 3;
  justify-self: center;
  align-self: start;
  width: min(100%, 680px);
  max-width: 680px;
  margin-top: 30vh;
  padding-block: 0;
}
.panorama-copy h2 {
  max-width: 640px;
  font-size: clamp(30px, 3.85vw, 55px);
  line-height: .98;
}
.panorama-copy h2 span {
  display: block;
  white-space: nowrap;
}
.panorama-actions {
  margin-top: 34px;
}
.case-roll {
  min-width: 0;
  justify-self: start;
  width: min(calc(100% + 80px), 860px);
}
.case-roll-window {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.case-roll-window::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: clamp(150px, 18vh, 230px);
  pointer-events: none;
  background: linear-gradient(
    180deg,
    var(--hero-background) 0%,
    color-mix(in srgb, var(--hero-background) 92%, transparent) 34%,
    color-mix(in srgb, var(--hero-background) 58%, transparent) 68%,
    transparent 100%
  );
}
.case-roll-track {
  display: block;
  animation: case-credit-roll 42s linear infinite;
  will-change: transform;
}
.case-roll-set {
  display: grid;
  gap: 18px;
  padding-bottom: 18px;
}
.case-credit {
  display: grid;
  grid-template-columns: minmax(128px, .42fr) minmax(0, 1.58fr);
  align-items: baseline;
  column-gap: clamp(14px, 1.8vw, 24px);
  color: color-mix(in srgb, var(--hero-black) 52%, transparent);
  line-height: 1.02;
}
.case-credit-title {
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: right;
  font-family: "GT Standard L Regular", "GT Standard L Regular Placeholder", sans-serif;
  font-size: clamp(15px, 1.22vw, 21px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.case-credit-note {
  min-width: 0;
  font-family: var(--hero-serif);
  font-size: clamp(17px, 1.48vw, 25px);
  font-weight: 400;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.quick-flow,
.status-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 680px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.quick-flow li,
.status-list li,
.trust-points span,
.prompt-strip span {
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  border-radius: 999px;
  padding: 10px 14px;
  color: color-mix(in srgb, currentColor 78%, transparent);
  background: color-mix(in srgb, currentColor 8%, transparent);
}
.prompt-strip,
.trust-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.capability-section {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: center;
}
.capability-stage {
  position: relative;
}
.capability-stage ol {
  position: absolute;
  right: 18px;
  top: 18px;
  bottom: 18px;
  display: grid;
  align-content: center;
  gap: 12px;
  width: min(330px, 42%);
  margin: 0;
  padding: 0;
  list-style: none;
}
.capability-stage li {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: var(--radius);
  background: rgba(255, 250, 241, .86);
  border: 1px solid rgba(16, 19, 24, .14);
}
.capability-stage li strong {
  color: var(--forest);
}
.capability-stage li span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.final-section {
  min-height: 112vh;
  display: grid;
  align-items: center;
}
.final-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 68% 44%, rgba(7, 16, 25, .08), rgba(7, 16, 25, .76) 52%, rgba(7, 16, 25, .96)),
    linear-gradient(90deg, rgba(7, 16, 25, .95), rgba(7, 16, 25, .34));
}
.final-copy {
  position: relative;
  z-index: 2;
  max-width: 960px;
}
.is-motion-edge-bottom .final-art,
.is-motion-edge-bottom .final-copy {
  transform: translate3d(0, var(--motion-bottom-edge-offset, 0px), 0);
  will-change: transform;
}
.final-pre {
  color: rgba(255, 250, 241, .76);
  font-size: clamp(22px, 3vw, 36px);
}
.footer {
  --footer-black: #050505;
  --footer-ink: #fffaf1;
  --footer-muted: rgba(255, 250, 241, .54);
  --footer-dim: rgba(255, 250, 241, .36);
  --footer-line: rgba(255, 250, 241, .13);
  --footer-gold: var(--hero-gold);
  --footer-image-offset: clamp(42px, 4vw, 78px);
  --footer-image-height: clamp(360px, 44vw, 640px);
  --footer-image-overlap: clamp(126px, 15.4vw, 224px);
  position: relative;
  overflow: hidden;
  padding-top: calc(var(--footer-image-offset) + var(--footer-image-height) - var(--footer-image-overlap));
  background: var(--footer-black);
  color: var(--footer-muted);
}
.footer-visual {
  position: absolute;
  z-index: 0;
  top: var(--footer-image-offset);
  right: 0;
  left: 0;
  height: var(--footer-image-height);
  overflow: hidden;
  background: var(--footer-black);
  pointer-events: none;
}
.footer-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(5, 5, 5, .08) 0%,
      rgba(5, 5, 5, .2) 30%,
      rgba(5, 5, 5, .48) 62%,
      rgba(5, 5, 5, .78) 82%,
      rgba(5, 5, 5, 1) 100%
    ),
    linear-gradient(90deg, rgba(5, 5, 5, .48) 0%, rgba(5, 5, 5, .04) 30%, rgba(5, 5, 5, .04) 70%, rgba(5, 5, 5, .48) 100%);
  pointer-events: none;
}
.footer-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  filter: saturate(.88) contrast(1.04) brightness(.78);
  transform: none !important;
}
.footer-panel {
  position: relative;
  z-index: 1;
  padding: clamp(34px, 5vw, 76px) clamp(18px, 6vw, 84px) clamp(30px, 4vw, 58px);
  border-top: 0;
  background: transparent;
  backdrop-filter: none;
}
.footer-grid {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(650px, 1.35fr);
  gap: clamp(34px, 5vw, 84px);
  align-items: start;
}
.footer-statement {
  max-width: 720px;
}
.footer-statement strong {
  display: block;
  max-width: 11ch;
  color: var(--footer-ink);
  font-family: var(--hero-serif);
  font-size: clamp(46px, 6.8vw, 104px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .9;
}
.footer-statement p,
.footer-meta p,
.footer-bottom p {
  margin: 18px 0 0;
  color: var(--footer-muted);
  font-size: 13px;
  font-weight: 420;
  line-height: 1.55;
}
.footer-statement p {
  max-width: 560px;
}
.footer-kicker,
.footer-meta > span,
.footer-links > span {
  display: block;
  margin-bottom: 18px;
  color: color-mix(in srgb, var(--footer-gold) 72%, var(--footer-muted));
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  line-height: 1;
  text-transform: uppercase;
}
.footer-meta,
.footer-links {
  padding-top: 8px;
  border-top: 1px solid var(--footer-line);
}
.footer-meta > span,
.footer-links > span {
  margin-bottom: 10px;
  font-size: 10px;
  letter-spacing: .12em;
}
.footer-directory {
  display: grid;
  grid-template-columns: minmax(150px, .82fr) minmax(210px, 1fr) minmax(132px, .68fr) minmax(126px, .66fr);
  gap: clamp(18px, 2.8vw, 42px);
  align-items: start;
  min-width: 0;
}

.motion-scene:not(.is-motion-active) .scene * {
  animation-play-state: paused !important;
}
.footer-links {
  display: grid;
  gap: 7px;
}
.footer-meta {
  display: grid;
  gap: 7px;
  align-content: start;
}
.footer a,
.footer-links a {
  color: var(--footer-muted);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(13px, .95vw, 15px);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transform: none !important;
  transition: color .18s ease;
}
.footer-meta p,
.footer-links a {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(13px, .95vw, 15px);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.18;
}
.footer-links a {
  overflow: hidden;
  text-overflow: ellipsis;
}
.footer-meta p + p {
  margin-top: 0;
}
.footer-bottom a:hover,
.footer-links a:hover {
  color: var(--footer-ink);
}
.legal-header a:hover,
.legal-toc a:hover,
.legal-card:hover {
  color: var(--hero-black);
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-top: clamp(44px, 6vw, 88px);
  padding-top: 22px;
  border-top: 1px solid var(--footer-line);
}
.footer-bottom p {
  margin: 0;
}
.footer-bottom > a {
  color: var(--footer-dim);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: clamp(13px, .95vw, 15px);
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: right;
  white-space: nowrap;
}

.legal-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  min-height: 72px;
  padding: 0 clamp(18px, 4vw, 62px);
  background: var(--hero-offwhite);
  color: var(--hero-black);
  border-bottom: 1px solid var(--line);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.legal-brand {
  font-family: "GT Standard L Bold", "GT Standard L Bold Placeholder", sans-serif;
  color: var(--hero-black);
}
.legal-header nav {
  display: flex;
  gap: clamp(12px, 2vw, 28px);
  font-size: 14px;
}
.legal-shell {
  min-height: 100vh;
  background: var(--hero-background);
  color: var(--ink);
  padding: 24px 0;
}
.legal-document {
  max-width: none;
  margin: 0;
  padding: 0 clamp(16px, 3vw, 40px);
}

/* --- Breadcrumb --- */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
  color: var(--muted);
  font-size: 13px;
}
.breadcrumb a {
  color: var(--muted);
  font-weight: 400;
  text-decoration: none;
}
.breadcrumb a:hover {
  color: var(--hero-black);
  text-decoration: underline;
}
.breadcrumb span {
  color: var(--muted);
}
.breadcrumb span:last-child {
  color: var(--hero-grey);
}

/* --- Document heading --- */
.legal-document h1 {
  max-width: 800px;
  color: var(--hero-black);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.2;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.legal-updated {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 20px;
}
.legal-updated em {
  font-style: italic;
}
.legal-summary {
  max-width: 700px;
  margin: 0 0 24px;
  color: var(--hero-grey);
  font-size: 14px;
  line-height: 1.65;
}

/* --- Meta, notices, print button --- */
.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0;
}
.legal-meta span,
.launch-notice,
.review-notice,
.print-button,
.back-top {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: transparent;
}
.legal-meta span {
  padding: 9px 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}
.review-notice {
  max-width: 700px;
  padding: 14px 18px;
  color: var(--hero-grey);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}
.launch-notice {
  max-width: 700px;
  padding: 14px 18px;
  color: var(--hero-grey);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}
.print-button {
  min-height: 40px;
  padding: 0 16px;
  color: var(--hero-black);
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  background: transparent;
}

/* --- 3-column layout --- */
.legal-layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 200px;
  gap: 32px;
  align-items: start;
}

/* --- Left sidebar nav --- */
.legal-sidebar-nav {
  position: sticky;
  top: 88px;
  align-self: flex-start;
  padding: 0;
}
.legal-sidebar-nav .sidebar-title {
  margin: 0 0 20px 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--hero-black);
  text-transform: none;
  text-align: left;
}
.legal-sidebar-nav nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.legal-sidebar-nav a {
  display: block;
  padding: 10px 0;
  margin: 0;
  text-align: left;
  color: var(--hero-grey);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.15s ease;
  font-family: Inter, system-ui, -apple-system, sans-serif;
}
.legal-sidebar-nav a:hover:not(.active) {
  color: var(--hero-black);
}
.legal-sidebar-nav a.active {
  color: var(--hero-black);
  font-weight: 700;
}

/* --- Right TOC --- */
.legal-toc {
  position: sticky;
  top: 88px;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 0 0 16px;
  border-left: 1px solid var(--line);
}
.legal-toc p {
  margin: 0 0 8px 0;
  color: var(--hero-black);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.legal-toc a {
  position: relative;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
  padding: 4px 0;
  text-decoration: none;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.15s ease, font-weight 0.15s ease;
  font-family: Inter, system-ui, -apple-system, sans-serif;
}
.legal-toc a:hover {
  color: var(--hero-black);
}
.legal-toc a.toc-active {
  color: var(--hero-black);
  font-weight: 700;
}
.legal-toc a.toc-active::before {
  content: "";
  position: absolute;
  left: -17px;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: var(--hero-black);
  border-radius: 0 2px 2px 0;
}
.mobile-toc {
  display: none;
  margin-top: 22px;
}

/* --- Content sections --- */
.legal-content {
  display: grid;
  gap: 0;
}
.legal-section {
  padding: 0;
  border-top: none;
  scroll-margin-top: 92px;
}
.legal-section h2 {
  margin: 40px 0 16px;
  max-width: 820px;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: clamp(20px, 2.5vw, 24px);
  font-weight: 800;
  line-height: 1.3;
  color: var(--hero-black);
  letter-spacing: -0.01em;
}
.legal-section p,
.legal-section li {
  max-width: 700px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 16px;
  font-family: Inter, system-ui, -apple-system, sans-serif;
}
.clause {
  display: inline-block;
  min-width: 36px;
  color: var(--hero-black);
  font-weight: 800;
}
.legal-back {
  margin-top: 20px;
  font-weight: 700;
  color: var(--forest);
}
.legal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 38px 0 46px;
}
.legal-card {
  display: grid;
  gap: 12px;
  min-height: 132px;
  align-content: space-between;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: transparent;
  color: var(--hero-black);
}
.legal-card span {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}
.legal-card small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}
.checklist {
  display: grid;
  gap: 10px;
  padding-left: 22px;
}
.policy-contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 700px;
  margin-top: 18px;
}
.policy-contact-form label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.policy-contact-form input,
.policy-contact-form select,
.policy-contact-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: transparent;
  color: var(--hero-black);
}
.policy-contact-form textarea {
  resize: vertical;
}
.policy-contact-form .full-row,
.policy-contact-form .form-result {
  grid-column: 1 / -1;
}
.policy-contact-form .button {
  width: fit-content;
  background: var(--hero-black);
  color: var(--hero-offwhite);
  border-color: var(--hero-black);
}
.policy-contact-form .form-result {
  margin: 0;
  color: var(--forest);
  font-size: 14px;
  font-weight: 700;
}
.back-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  padding: 10px 16px;
  color: var(--hero-offwhite);
  background: var(--hero-black);
  font-size: 13px;
  font-weight: 600;
  border-radius: var(--radius);
  border: none;
}
.legal-footer {
  border-top: 1px solid rgba(255, 250, 241, .1);
}

/* SVG language */
.texture { filter: url(#ordinary-evening-interrupted-by-a-station-message-grain); opacity: .45; }
.city-layer path,
.city-layer rect { fill: rgba(255, 250, 241, .08); stroke: rgba(255, 250, 241, .12); stroke-width: 2; }
.warm-sky, .day-sky { fill: rgba(195, 130, 58, .22); }
.road-perspective, .long-road, .city-road, .quiet-road { fill: rgba(14, 20, 27, .58); }
.light-cone { fill: url(#ordinary-evening-interrupted-by-a-station-message-lamp); opacity: .54; }
.street-lights path { fill: none; stroke: rgba(255, 250, 241, .34); stroke-width: 5; }
.street-lights circle { fill: rgba(255, 216, 137, .38); }
.human circle,
.human path,
.advocate circle,
.advocate path { fill: #080d13; }
.human.hero-human circle,
.human.hero-human path,
.human.pressure-human circle,
.human.pressure-human path { fill: #05080d; }
.human.supported-person circle,
.human.supported-person path,
.human.calm-person circle,
.human.calm-person path { fill: var(--forest); }
.advocate .advocate-band { fill: rgba(255, 250, 241, .24); }
.phone-shell > rect:first-child,
.held-phone-large rect:first-child { fill: #070b10; }
.phone-screen,
.held-phone-large rect:last-child { fill: #f2d08a; }
.phone-speaker, .phone-dot { fill: rgba(255, 250, 241, .65); }
.message-card rect,
.message-bubble rect {
  fill: rgba(255, 250, 241, .92);
  stroke: rgba(16, 19, 24, .16);
  stroke-width: 2;
}
.message-card path,
.message-bubble path { fill: rgba(255, 250, 241, .92); }
.message-card text {
  fill: var(--ink);
  font: 900 22px Inter, sans-serif;
}
.message-card.urgent rect { fill: #fff4df; }
.message-pulse {
  fill: none !important;
  stroke: var(--red);
  stroke-width: 5;
  stroke-linecap: round;
  animation: pulse-stroke 1.8s infinite ease;
}
.message-bubble text {
  fill: var(--ink);
  font: 800 22px Inter, sans-serif;
}
.question-cloud .bubble-float {
  animation: drift 5.2s infinite ease-in-out;
}
.question-cloud .q2 .bubble-float,
.question-cloud .q4 .bubble-float { animation-delay: .7s; }
.doc path:first-child {
  fill: url(#document-review-during-live-support-paper);
  stroke: rgba(16, 19, 24, .7);
  stroke-width: 3;
}
.doc path:not(:first-child) {
  fill: none;
  stroke: rgba(16, 19, 24, .62);
  stroke-width: 3;
  stroke-linecap: round;
}
.station-env rect,
.station-env path,
.hostel rect,
.hostel path,
.shop rect,
.shop path,
.car-scene path {
  fill: rgba(255, 250, 241, .1);
  stroke: rgba(255, 250, 241, .36);
  stroke-width: 4;
}
.car-scene circle { fill: #0b1118; stroke: rgba(255, 250, 241, .36); stroke-width: 4; }
.pressure-floor { fill: rgba(0, 0, 0, .44); }
.pressure-item,
.pressure-note {
  animation: pressure-pulse 5.6s ease-in-out infinite alternate;
}
.item-b, .item-e, .item-g { animation-delay: .5s; }
.item-c, .item-h { animation-delay: .9s; }
.clock circle,
.unlock rect {
  fill: rgba(255, 250, 241, .1);
  stroke: rgba(255, 250, 241, .44);
  stroke-width: 4;
}
.clock path,
.unlock path {
  fill: none;
  stroke: rgba(255, 250, 241, .72);
  stroke-width: 5;
  stroke-linecap: round;
}
.closing-ring {
  fill: none;
  stroke: rgba(159, 62, 56, .52);
  stroke-width: 3;
  stroke-dasharray: 12 18;
}
.relief-field { fill: rgba(47, 92, 84, .18); }
.app-button rect { fill: var(--forest); }
.app-button circle,
.app-button path { fill: none; stroke: var(--white); stroke-width: 5; stroke-linecap: round; }
.request-steps path,
.route-line,
.connect-route,
.active-route {
  fill: none;
  stroke: var(--amber);
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: draw 3s ease forwards;
}
.request-steps circle { fill: var(--forest); }
.video-ambient { fill: rgba(47, 92, 84, .18); }
.video-device {
  fill: rgba(255, 250, 241, .055);
  stroke: rgba(255, 250, 241, .5);
  stroke-width: 2.5;
}
.video-pane {
  fill: rgba(8, 17, 29, .72);
  stroke: rgba(255, 250, 241, .2);
  stroke-width: 2;
}
.user-pane { fill: rgba(12, 22, 34, .78); }
.advocate-pane { fill: rgba(255, 250, 241, .075); }
.video-split {
  fill: none;
  stroke: rgba(255, 250, 241, .22);
  stroke-width: 2;
}
.station-light { fill: rgba(242, 208, 138, .08); }
.waiting-bench rect,
.call-context rect,
.live-chip rect {
  fill: rgba(255, 250, 241, .12);
  stroke: rgba(255, 250, 241, .22);
  stroke-width: 2;
}
.waiting-bench path,
.station-corridor path,
.live-chip path,
.call-context path {
  fill: none;
  stroke: rgba(255, 250, 241, .4);
  stroke-width: 3;
  stroke-linecap: round;
}
.station-corridor path:first-child {
  fill: rgba(255, 250, 241, .035);
  stroke: rgba(255, 250, 241, .12);
}
.distant-station rect,
.distant-station path {
  fill: rgba(255, 250, 241, .16);
  stroke: rgba(255, 250, 241, .5);
}
.human.video-user circle,
.human.video-user path {
  fill: #03070c;
  stroke: rgba(255, 250, 241, .16);
  stroke-width: 2;
}
.advocate.calm-advocate circle,
.advocate.calm-advocate path:not(.advocate-band) {
  fill: #071019;
  stroke: rgba(255, 250, 241, .18);
  stroke-width: 2;
}
.advocate.calm-advocate .advocate-band {
  fill: rgba(242, 208, 138, .38);
  stroke: rgba(255, 250, 241, .34);
  stroke-width: 2;
}
.live-chip circle,
.call-context circle { fill: var(--forest); }
.user-phone-glow rect:first-child { fill: #05090e; }
.user-phone-glow rect:last-child {
  fill: var(--amber);
  filter: drop-shadow(0 0 18px rgba(242, 208, 138, .38));
}
.advocate-halo { fill: rgba(47, 92, 84, .2); }
.advocate-desk path:first-child {
  fill: rgba(255, 250, 241, .1);
  stroke: rgba(255, 250, 241, .22);
  stroke-width: 2;
}
.advocate-desk path:not(:first-child),
.advocate-prompt path,
.review-mark,
.next-steps path {
  fill: none;
  stroke: rgba(255, 250, 241, .58);
  stroke-width: 4;
  stroke-linecap: round;
}
.advocate-prompt rect,
.shared-document rect,
.next-steps rect {
  fill: rgba(255, 250, 241, .12);
  stroke: rgba(255, 250, 241, .24);
  stroke-width: 2;
}
.shared-document rect {
  fill: rgba(7, 16, 25, .82);
  stroke: rgba(242, 208, 138, .42);
}
.shared-document {
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, .35));
}
.shared-document .active-doc path:first-child {
  fill: #fff0cf;
  stroke: rgba(255, 250, 241, .9);
}
.call-connection {
  fill: none;
  stroke: var(--amber);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 12 14;
  animation: draw 2.4s ease forwards;
}
.call-controls circle {
  fill: rgba(255, 250, 241, .14);
  stroke: rgba(255, 250, 241, .34);
  stroke-width: 2;
}
.call-controls .end { fill: var(--red); }
.call-controls path {
  fill: none;
  stroke: rgba(255, 250, 241, .82);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.next-steps circle { fill: var(--forest); }
.review-table { fill: rgba(47, 92, 84, .14); }
.review-focus rect { fill: rgba(47, 92, 84, .18); stroke: var(--forest); stroke-width: 3; }
.review-focus path { stroke: var(--forest); stroke-width: 6; stroke-linecap: round; }
.review-focus circle { fill: var(--forest); }
.split-line { stroke: rgba(255, 250, 241, .4); stroke-width: 4; }
.service-zone {
  fill: rgba(47, 92, 84, .22);
  stroke: rgba(255, 250, 241, .34);
  stroke-width: 3;
}
.map-grid path { fill: none; stroke: rgba(255, 250, 241, .14); stroke-width: 2; }
.location-marker path { fill: var(--amber); }
.location-marker circle { fill: var(--white); }
.location-marker.advocate-pin path,
.location-marker.city-pin path { fill: var(--forest); }
.timeline-panel rect { fill: rgba(255, 250, 241, .78); stroke: rgba(16, 19, 24, .12); stroke-width: 3; }
.timeline-panel > path { stroke: rgba(16, 19, 24, .18); stroke-width: 5; }
.timeline-node { opacity: 0; animation: node-in .55s ease forwards; }
.timeline-node.n2 { animation-delay: .12s; }
.timeline-node.n3 { animation-delay: .24s; }
.timeline-node.n4 { animation-delay: .36s; }
.timeline-node.n5 { animation-delay: .48s; }
.timeline-node.n6 { animation-delay: .6s; }
.timeline-node.n7 { animation-delay: .72s; }
.timeline-node circle { fill: var(--forest); }
.timeline-node text { fill: var(--ink); font: 800 20px Inter, sans-serif; }
.trust-orbit circle {
  fill: none;
  stroke: rgba(255, 250, 241, .18);
  stroke-width: 3;
}
.trust-orbit > path {
  fill: none;
  stroke: rgba(195, 130, 58, .45);
  stroke-width: 4;
  stroke-dasharray: 10 14;
}
.trust-orbit > circle:nth-of-type(n+3) { fill: var(--forest); stroke: rgba(255, 250, 241, .24); }
.calm-ring { fill: none; stroke: rgba(255, 250, 241, .36); stroke-width: 4; stroke-linecap: round; }

@keyframes opening-left {
  to { transform: translateX(clamp(-240px, -24vw, -120px)); }
}
@keyframes opening-right {
  to { transform: translateX(clamp(120px, 24vw, 240px)); }
}
@keyframes wordmark-dim {
  to { opacity: 0; transform: scale(.94); }
}
@keyframes frame-arrive {
  0% { opacity: 0; transform: scale(.42); clip-path: inset(48% 48% 48% 48%); }
  45% { opacity: 1; }
  100% { opacity: 1; transform: scale(1); clip-path: inset(0 0 0 0); }
}
@keyframes opening-line {
  0% { opacity: 0; transform: translateY(calc(-50% + 18px)); }
  18%, 76% { opacity: 1; transform: translateY(-50%); }
  100% { opacity: 0; transform: translateY(calc(-50% - 18px)); }
}
@keyframes frame-zoom {
  0% { opacity: 1; transform: scale(1); }
  70% { opacity: 1; transform: scale(2.45); }
  100% { opacity: 1; transform: scale(8.6); }
}
@keyframes final-line {
  to { opacity: 1; transform: translate(-50%, -50%); }
}
@keyframes opener-exit {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}
@keyframes drift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}
@keyframes pulse-stroke {
  0%, 100% { opacity: .35; }
  50% { opacity: 1; }
}
@keyframes pressure-pulse {
  to { opacity: .72; }
}
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes node-in {
  from { opacity: 0; transform: translateX(-14px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes hero-situation-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes hero-slide-enter {
  from { opacity: .72; transform: translateX(-100%); }
  62% { opacity: .98; }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes hero-slide-leave {
  from { opacity: 1; transform: translateX(0); }
  58% { opacity: .92; }
  to { opacity: 0; transform: translateX(100%); }
}
@keyframes case-credit-roll {
  from { transform: translateY(0); }
  to { transform: translateY(-25%); }
}
@keyframes hero-copy-rise {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hero-header-drop {
  0% {
    transform: translateY(calc(-100% - 32px));
  }
  100% {
    transform: translateY(0);
  }
}

@media (max-width: 1060px) {
  .story-section,
  .capability-section {
    grid-template-columns: 1fr;
  }
  .account-scene {
    --account-content-y: clamp(28px, 4vh, 46px);
    grid-template-columns: 1fr;
    gap: clamp(38px, 7vw, 72px);
  }
  .account-art-panel {
    order: 1;
    min-height: auto;
  }
  .account-content {
    order: 2;
    justify-self: center;
  }
  .story-section.split {
    background: linear-gradient(180deg, #111821 0 52%, #efe4d4 52% 100%);
  }
  .panorama-section {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 44px;
  }
  .case-roll {
    width: 100%;
  }
  .panorama-copy {
    order: -1;
    max-width: 780px;
    margin-top: 0;
    padding-block: clamp(64px, 9vh, 112px) 0;
  }
  .case-roll-window {
    height: min(62vh, 620px);
  }
}
@media (min-width: 721px) {
  .site-header {
    gap: 18px;
    padding-top: 28px;
    padding-bottom: 14px;
  }
  .site-header .brand {
    font-size: clamp(18px, 1.35vw, 22px);
  }
  .site-header .brand-mark {
    left: calc((var(--page-x) / -2) - 24px);
    width: 48px;
    height: 116px;
  }
  .site-header nav {
    gap: clamp(16px, 2.35vw, 36px);
    margin-left: clamp(16px, 2vw, 34px);
    font-size: 15px;
    line-height: 22px;
  }
  .site-header nav a {
    padding-block: 4px;
    font-size: 15px;
    line-height: 22px;
  }
  .site-header .button,
  .hero-story .button {
    min-height: 46px;
    padding: 11px 22px;
    font-size: 14px;
    line-height: 22px;
  }
  .site-header .button-label,
  .hero-story .button-label {
    height: 22px;
    line-height: 22px;
  }
  .hero-story {
    padding-top: clamp(128px, 14.5vh, 152px);
    padding-bottom: clamp(52px, 6vw, 70px);
  }
  .hero-art {
    right: 0;
    width: 100%;
  }
  .hero-copy {
    max-width: min(500px, 43vw);
  }
  .hero-copy h1 {
    max-width: 520px;
    font-size: clamp(43px, 5.05vw, 70px);
  }
  .hero-copy p:not(.kicker) {
    max-width: 520px;
    font-size: clamp(15px, 1.16vw, 18px);
    line-height: 1.5;
  }
  .hero-story .actions {
    gap: 10px;
    margin-top: 28px;
  }
}
@media (min-width: 1061px) {
  .footer {
    --footer-image-offset: clamp(34px, 3.2vw, 52px);
    --footer-image-height: clamp(320px, 38vw, 540px);
    --footer-image-overlap: clamp(100px, 12vw, 170px);
  }
  .footer-panel {
    padding: clamp(28px, 4vw, 56px) clamp(34px, 6vw, 100px) clamp(26px, 3vw, 44px);
  }
  .footer-grid {
    grid-template-columns: minmax(240px, .78fr) minmax(560px, 1.42fr);
    gap: clamp(48px, 6vw, 92px);
  }
  .footer-statement {
    max-width: 560px;
  }
  .footer-statement strong {
    max-width: 10.5ch;
    font-size: clamp(38px, 4.4vw, 68px);
    line-height: .92;
  }
  .footer-statement p {
    max-width: 480px;
  }
  .footer-statement p,
  .footer-meta p,
  .footer-bottom p {
    margin-top: 14px;
    font-size: 12px;
  }
  .footer-kicker {
    margin-bottom: 14px;
    font-size: 10px;
  }
  .footer-directory {
    grid-template-columns: minmax(120px, .8fr) minmax(180px, 1.1fr) minmax(104px, .65fr) minmax(104px, .65fr);
    gap: clamp(16px, 2vw, 30px);
  }
  .footer-meta > span,
  .footer-links > span {
    margin-bottom: 9px;
    font-size: 9px;
  }
  .footer-meta,
  .footer-links {
    gap: 6px;
  }
  .footer a,
  .footer-meta p,
  .footer-links a,
  .footer-bottom > a {
    font-size: clamp(11px, .76vw, 13px);
  }
  .footer-bottom {
    margin-top: clamp(34px, 4.5vw, 62px);
    padding-top: 18px;
  }
  .account-scene {
    --account-art-shift: clamp(-52px, -3vw, -34px);
    --account-content-y: clamp(74px, 8vh, 104px);
    grid-template-columns: minmax(280px, 430px) minmax(440px, 620px);
    justify-content: center;
    gap: clamp(54px, 6vw, 102px);
    padding: clamp(64px, 7vh, 88px) clamp(48px, 8vw, 150px) clamp(84px, 9vh, 118px);
  }
  .account-art-panel {
    min-height: min(560px, 64vh);
    transform: translateX(var(--account-art-shift));
  }
  .account-hill {
    width: 100%;
    transform: none;
  }
  .account-motto {
    margin-bottom: clamp(14px, 2vh, 22px);
    font-size: clamp(38px, 4.2vw, 64px);
  }
  .account-motto::after {
    width: min(132px, 24vw);
    margin-top: 17px;
  }
  .account-image-frame {
    width: min(360px, 76%);
    margin-bottom: calc(-1 * clamp(44px, 5vw, 72px));
  }
  .account-image-frame img {
    max-height: min(54vh, 570px);
  }
  .account-content {
    width: min(100%, 620px);
    transform: translate(
      clamp(18px, 1.8vw, 28px),
      var(--account-content-y)
    );
  }
  .account-kicker {
    margin-bottom: 15px;
    font-size: 11px;
  }
  .account-view h2 {
    font-size: clamp(44px, 4.8vw, 76px);
    line-height: .95;
  }
  .account-intro {
    max-width: 400px;
    margin-top: clamp(18px, 2.2vw, 26px);
    font-size: clamp(14px, 1vw, 16px);
  }
  .account-form {
    gap: 14px;
    margin-top: clamp(14px, 1.6vw, 22px);
  }
  .account-field input {
    min-height: 38px;
    font-size: 14px;
  }
  .account-primary-action {
    min-height: 48px;
    padding-inline: 24px;
  }
  .app-flow-stage {
    --app-flow-counsel-size: clamp(96px, 8.2vw, 124px);
    --app-flow-counsel-bottom: clamp(16px, 2.2vh, 28px);
    --app-flow-mini-node-size: clamp(52px, 5.1vmin, 62px);
  }
  .app-flow-intro {
    top: clamp(48px, 7.5vh, 78px);
    width: min(calc(100% - 40px), 820px);
  }
  .app-flow-intro h2 {
    font-size: clamp(28px, 3.25vw, 48px);
  }
  .app-flow-intro p {
    max-width: 820px;
    margin-top: 20px;
    font-size: clamp(17px, 1.45vw, 21px);
  }
  .app-flow-sequence {
    --app-flow-user-size: clamp(142px, 13vw, 180px);
    --app-flow-user-top: clamp(40px, 5vh, 50px);
    width: min(100%, 460px);
    height: 77vh;
    transform: translateY(-44px);
  }
  .app-flow-annotation {
    width: 210px;
  }
  .app-flow-annotation.is-user {
    left: calc(50% + (var(--app-flow-user-size) / 2) + 24px);
  }
  .app-flow-annotation.is-counsel {
    right: calc(50% + (var(--app-flow-counsel-size) / 2) + 24px);
  }
  .app-flow-annotation strong {
    font-size: 14px;
  }
  .app-flow-annotation small {
    margin-top: 5px;
    font-size: 13px;
  }
  .app-flow-route-factor {
    width: 160px;
    font-size: 10px;
  }
  .app-flow-match-detail {
    --app-flow-detail-width: clamp(220px, 22vw, 270px);
    --app-flow-detail-connector: max(
      8px,
      calc(50vw - var(--app-flow-detail-edge) - var(--app-flow-detail-width) - 168px)
    );
  }
  .app-flow-match-detail strong,
  .app-flow-match-detail small {
    font-size: 14px;
  }
  .app-flow-exit-map-window {
    left: 50%;
    right: clamp(76px, 8vw, 142px);
    height: min(52vh, 530px);
    min-height: 330px;
    border-radius: clamp(20px, 2.1vw, 32px);
    clip-path: inset(
      0 var(--app-flow-map-window-clip, 100%) 0 0
      round clamp(20px, 2.1vw, 32px)
    );
  }
  .app-flow-map-reveal-guide {
    right: clamp(76px, 8vw, 142px);
    left: 50%;
  }
  .app-flow-map-location-title {
    bottom: clamp(22px, 2.7vh, 34px);
    left: clamp(24px, 2.4vw, 38px);
    gap: 4px;
  }
  .app-flow-map-location-title strong {
    font-size: clamp(15px, 1.3vw, 20px);
  }
  .app-flow-map-location-title small {
    font-size: clamp(9px, .66vw, 11px);
  }
  .app-flow-exit-title {
    left: clamp(58px, 6vw, 122px);
    width: min(39vw, 640px);
  }
  .app-flow-exit-title-visual {
    gap: clamp(14px, 1.6vh, 22px);
  }
  .app-flow-exit-question {
    font-size: clamp(18px, 1.2vw, 23px);
  }
  .app-flow-exit-answer {
    font-size: clamp(34px, 3.35vw, 60px);
    line-height: .98;
  }
  .pressure-scene-copy {
    width: min(calc(100% - (2 * var(--page-x))), 820px);
    padding-top: clamp(128px, 18vh, 184px);
  }
  .pressure-scene-copy h2 {
    font-size: clamp(28px, 3.25vw, 48px);
  }
  .pressure-scene-copy .pressure-scenario-line {
    max-width: 820px;
    margin-top: 22px;
    font-size: clamp(17px, 1.45vw, 21px);
  }
  .pressure-scene-device {
    height: min(61vh, 58%);
  }
  .panorama-section {
    grid-template-columns: minmax(360px, .62fr) minmax(0, 1.38fr);
    gap: clamp(48px, 6.5vw, 112px);
  }
  .panorama-copy {
    width: min(100%, 600px);
    max-width: 600px;
    margin-top: 33vh;
  }
  .panorama-copy h2 {
    max-width: 560px;
    font-size: clamp(28px, 3.25vw, 48px);
  }
  .panorama-actions {
    margin-top: 28px;
  }
  .panorama-section .button {
    min-height: 46px;
    padding: 11px 22px;
    font-size: 14px;
    line-height: 22px;
  }
  .panorama-section .button-label {
    height: 22px;
    line-height: 22px;
  }
  .case-roll {
    width: min(calc(100% + 32px), 760px);
  }
  .case-roll-set {
    gap: 14px;
    padding-bottom: 14px;
  }
  .case-credit {
    grid-template-columns: minmax(112px, .4fr) minmax(0, 1.6fr);
    column-gap: clamp(12px, 1.5vw, 20px);
  }
  .case-credit-title {
    font-size: clamp(13px, 1.05vw, 18px);
  }
  .case-credit-note {
    font-size: clamp(15px, 1.25vw, 21px);
  }
}
@media (max-width: 1400px) and (min-width: 721px) {
  .hero-copy {
    max-width: min(470px, 43vw);
  }
}
@media (max-width: 720px) {
  .site-header {
    position: absolute;
    padding: 16px;
  }
  .site-header .brand {
    padding-left: 44px;
  }
  .site-header .brand-mark {
    left: -16px;
    top: 50%;
  }
  nav { display: none; }
  .hero-story,
  .story-section,
  .panorama-section,
  .capability-section,
  .final-section {
    min-height: auto;
    padding: 92px 16px 58px;
  }
  .hero-story {
    min-height: 100svh;
    padding-top: min(62vh, 520px);
  }
  .hero-art {
    inset: 0;
    width: 100%;
    height: auto;
  }
  .hero-carousel-slide img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: 78% center;
  }
  .hero-copy {
    position: relative;
    max-width: 100%;
  }
  .hero-copy h1 {
    max-width: 10ch;
    font-size: clamp(42px, 12vw, 58px);
  }
  .hero-copy > p {
    margin-top: 18px;
    font-size: 16px;
  }
  .hero-situation {
    position: absolute;
    top: -164px;
    left: -16px;
    width: calc(100vw - 16px);
    max-width: none;
    margin: 0;
    padding: 12px 16px 12px 30px;
    border-left: 0;
    border-radius: 0 16px 16px 0;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 16px 40px rgba(16, 16, 15, .08);
    backdrop-filter: blur(10px);
  }
  .hero-situation::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 13px;
    bottom: 13px;
    width: 2px;
    border-radius: 999px;
    background: var(--hero-gold);
  }
  .hero-situation strong {
    font-size: 20px;
  }
  h1 { font-size: clamp(48px, 15vw, 72px); }
  h2 { font-size: clamp(38px, 13vw, 58px); }
  .hero-question-stack { display: none; }
  .call-advocate-chip {
    position: relative;
    right: auto;
    bottom: auto;
    width: fit-content;
    margin-top: 24px;
    opacity: 1;
  }
  .quick-flow,
  .status-list {
    grid-template-columns: 1fr;
  }
  .account-scene {
    --account-content-y: clamp(20px, 4vh, 34px);
    min-height: auto;
    gap: 32px;
    padding: 64px 18px 104px;
  }
  .account-hill {
    width: 100%;
  }
  .account-art-panel {
    width: 100%;
  }
  .account-motto {
    font-size: clamp(42px, 14vw, 62px);
    letter-spacing: 0;
    text-align: center;
  }
  .account-image-frame {
    width: min(310px, 88vw);
    margin-bottom: calc(-1 * clamp(34px, 9vw, 54px));
  }
  .account-image-frame img {
    max-height: 48vh;
  }
  .account-content {
    width: 100%;
    min-height: 0;
    align-items: stretch;
    padding: 34px 0 0;
    background: var(--account-cream);
  }
  .account-view {
    min-height: 0;
  }
  .account-mode-view {
    min-height: clamp(640px, 132vw, 780px);
  }
  .account-view h2 {
    max-width: none;
    font-size: clamp(42px, 13vw, 62px);
  }
  .account-intro {
    max-width: none;
  }
  .account-role-grid,
  .account-form {
    grid-template-columns: 1fr;
  }
  .account-role-option {
    min-height: 0;
    padding: 24px 0 26px;
  }
  .account-role-option + .account-role-option {
    border-top: 1px solid var(--account-rule);
    border-left: 0;
    padding: 22px 0;
  }
  .account-role-option h3 {
    margin-top: 0;
  }
  .account-role-actions {
    margin-top: 22px;
    padding-top: 4px;
  }
  .account-field-wide,
  .account-submit,
  .account-terms-copy,
  .account-otp-meta,
  .account-otp-actions,
  .account-announcement {
    grid-column: 1;
  }
  .account-submit {
    width: 100%;
  }
  .account-success-mark {
    margin-bottom: 16px;
  }
  .account-success-view .account-intro {
    max-width: none;
  }
  .account-identity-summary {
    margin-top: 26px;
  }
  .account-identity-summary > div {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 15px 0;
  }
  .account-success-view .account-recovery-actions {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 28px;
  }
  .account-success-view .account-recovery-actions .account-primary-action {
    width: 100%;
  }
  .capability-stage ol {
    position: static;
    width: auto;
    margin-top: 12px;
  }
  .footer {
    --footer-image-offset: 24px;
    --footer-image-height: clamp(260px, 58vw, 390px);
    --footer-image-overlap: clamp(92px, 20vw, 136px);
  }
  .footer-panel {
    padding: 34px 18px 30px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .footer-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
  }
  .footer-statement strong {
    max-width: 10ch;
    font-size: clamp(42px, 13vw, 68px);
  }
  .footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    justify-items: stretch;
  }
  .footer-bottom > a {
    justify-self: end;
  }
  .legal-header {
    position: static;
    align-items: flex-start;
    flex-direction: column;
  }
  .legal-header nav {
    flex-wrap: wrap;
  }
  .legal-layout {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .legal-sidebar-nav {
    position: static;
  }
  .legal-sidebar-nav a {
    text-align: left;
  }
  .legal-layout > .legal-toc {
    display: none;
  }
  .mobile-toc {
    display: block;
  }
  .mobile-toc summary {
    cursor: pointer;
    font-weight: 900;
    color: var(--forest);
  }
  .mobile-toc .legal-toc {
    position: static;
    margin-top: 12px;
  }
  .legal-grid {
    grid-template-columns: 1fr;
  }
  .policy-contact-form {
    grid-template-columns: 1fr;
  }
  .policy-contact-form .button {
    width: 100%;
    justify-content: center;
  }
  .back-top {
    position: static;
    display: block;
    border-radius: 0;
    background: var(--ivory-2);
  }
  .opening-frame { width: 86vw; }
  .opening-lines {
    top: 65%;
    height: 112px;
    color: var(--ink);
    text-shadow: none;
  }
  .opening-lines span {
    font-size: clamp(28px, 9vw, 42px);
    line-height: 1.04;
  }
  .opening-final {
    width: 92vw;
  }
  .opening-final strong {
    font-size: clamp(38px, 11vw, 58px);
  }
  .opening-left { animation-name: opening-left-mobile; }
  .opening-right { animation-name: opening-right-mobile; }
}

/* Legal pages: restrained white / black / grey editorial theme. */
.legal-header,
.legal-shell,
.legal-footer,
.back-top {
  --legal-background: #fefdfe;
  --legal-ink: #10100f;
  --legal-muted: #6b6964;
  --legal-surface: #f2f2f0;
  --legal-line: rgba(16, 16, 15, .16);
  --legal-line-strong: rgba(16, 16, 15, .32);
  --legal-inverse-muted: rgba(254, 253, 254, .62);
}

.legal-header {
  min-height: 72px;
  padding: 12px clamp(24px, 3.2vw, 56px);
  background: var(--hero-offwhite);
  color: var(--hero-black);
  border-bottom-color: var(--line);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.legal-header .legal-brand,
.legal-header nav,
.legal-header nav a {
  color: var(--hero-black);
}
.legal-header .legal-brand {
  flex: 0 0 auto;
  gap: 14px;
  min-width: 0;
  font-size: clamp(20px, 1.45vw, 24px);
  letter-spacing: -.025em;
}
.legal-header .brand-mark {
  position: static;
  flex: 0 0 auto;
  width: 36px;
  height: 44px;
  transform: none;
  background: var(--hero-black);
  color: var(--hero-offwhite);
  font-size: 12px;
  line-height: 1;
}
.legal-header nav {
  gap: clamp(22px, 2.4vw, 38px);
  margin-left: auto;
  font-size: clamp(13px, .9vw, 15px);
  line-height: 1;
}
.legal-header nav a {
  position: relative;
  padding: 10px 0;
  white-space: nowrap;
}
.legal-header nav a::after {
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 1px;
  content: "";
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .2s ease;
}
.legal-header nav a:hover::after,
.legal-header nav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left center;
}
.legal-header a:hover,
.legal-header a:focus-visible {
  color: var(--muted);
}

.legal-shell {
  background: var(--hero-background);
  color: var(--ink);
}
.legal-shell .breadcrumb {
  color: var(--muted);
}
.legal-shell .breadcrumb a,
.legal-shell .legal-back,
.legal-shell .clause {
  color: var(--hero-black);
}
.legal-shell .legal-document h1,
.legal-shell .legal-section h2,
.legal-shell .legal-card {
  color: var(--hero-black);
}
.legal-shell .legal-summary,
.legal-shell .legal-card small,
.legal-shell .legal-toc a,
.legal-shell .policy-contact-form label {
  color: var(--muted);
}
.legal-shell .legal-section,
.legal-shell .legal-toc,
.legal-shell .legal-card,
.legal-shell .legal-meta span,
.legal-shell .review-notice,
.legal-shell .print-button,
.legal-shell .policy-contact-form input,
.legal-shell .policy-contact-form select,
.legal-shell .policy-contact-form textarea {
  border-color: var(--line);
}
.legal-shell .legal-card,
.legal-shell .legal-meta span,
.legal-shell .review-notice,
.legal-shell .policy-contact-form input,
.legal-shell .policy-contact-form select,
.legal-shell .policy-contact-form textarea {
  background: transparent;
}
.legal-shell .legal-meta span {
  color: var(--muted);
}
.legal-shell .launch-notice {
  color: var(--hero-grey);
  border-color: var(--line);
  background: transparent;
}
.legal-shell .review-notice,
.legal-shell .print-button,
.legal-shell .policy-contact-form input,
.legal-shell .policy-contact-form select,
.legal-shell .policy-contact-form textarea {
  color: var(--hero-black);
}
.legal-shell .print-button {
  background: transparent;
}
.legal-shell .legal-section p,
.legal-shell .legal-section li {
  color: var(--ink);
}
.legal-shell .legal-card {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.legal-shell .legal-card:hover,
.legal-shell .legal-card:focus-visible {
  color: var(--hero-black);
  border-color: var(--hero-grey);
  background: transparent;
}
.legal-shell .legal-toc a:hover,
.legal-shell .legal-toc a:focus-visible {
  color: var(--hero-black);
}
.legal-shell .breadcrumb a:hover,
.legal-shell .breadcrumb a:focus-visible {
  color: var(--hero-black);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.legal-shell .legal-back:hover,
.legal-shell .legal-back:focus-visible {
  color: var(--hero-black);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.legal-shell .mobile-toc summary {
  color: var(--hero-black);
}
.legal-shell .policy-contact-form .button {
  background: var(--hero-black);
  color: var(--hero-offwhite);
  border-color: var(--hero-black);
}
.legal-shell .policy-contact-form .button:hover,
.legal-shell .policy-contact-form .button:focus-visible {
  background: var(--hero-grey);
  border-color: var(--hero-grey);
}
.legal-shell .policy-contact-form .form-result {
  color: var(--muted);
}
.legal-header a:focus-visible,
.legal-shell a:focus-visible,
.legal-shell button:focus-visible,
.legal-shell input:focus-visible,
.legal-shell select:focus-visible,
.legal-shell textarea:focus-visible,
.back-top:focus-visible,
.legal-footer a:focus-visible {
  outline: 2px solid var(--legal-ink);
  outline-offset: 3px;
}
.legal-shell input:focus-visible,
.legal-shell select:focus-visible,
.legal-shell textarea:focus-visible {
  border-color: var(--legal-line-strong);
}

.back-top {
  color: var(--legal-background);
  border-color: var(--legal-ink);
  background: var(--legal-ink);
}
.back-top:hover,
.back-top:focus-visible {
  color: var(--legal-background);
  background: #30302e;
}
.back-top:focus-visible,
.legal-footer a:focus-visible {
  outline-color: var(--legal-background);
}

.legal-footer {
  --footer-black: var(--legal-ink);
  --footer-ink: var(--legal-background);
  --footer-muted: var(--legal-inverse-muted);
  --footer-dim: rgba(254, 253, 254, .42);
  --footer-line: rgba(254, 253, 254, .16);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .9fr) minmax(190px, .7fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: start;
  overflow: hidden;
  padding: clamp(42px, 6vw, 78px) clamp(18px, 6vw, 84px);
  color: var(--footer-muted);
  border-top-color: var(--footer-line);
  background: var(--legal-ink);
}
.legal-footer > div {
  min-width: 0;
}
.legal-footer strong {
  display: block;
  margin-bottom: 16px;
  padding-bottom: 16px;
  color: var(--footer-ink);
  font-size: 15px;
  letter-spacing: .02em;
  border-bottom: 1px solid var(--footer-line);
}
.legal-footer p {
  max-width: 560px;
  margin: 0 0 12px;
  color: var(--footer-muted);
  font-size: 14px;
  line-height: 1.6;
}
.legal-footer .footer-links {
  gap: 14px;
  border-top: none;
  padding-top: 0;
}
.legal-footer a,
.legal-footer .footer-links a {
  color: var(--footer-muted);
  white-space: normal;
}
.legal-footer a:hover,
.legal-footer a:focus-visible {
  color: var(--footer-ink);
}

@media (max-width: 720px) {
  .legal-header {
    position: sticky;
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    min-height: 0;
    padding: 10px 18px 9px;
    backdrop-filter: none;
  }
  .legal-header .legal-brand {
    align-self: flex-start;
    gap: 11px;
    font-size: 20px;
  }
  .legal-header .brand-mark {
    width: 30px;
    height: 36px;
    font-size: 10px;
  }
  .legal-header nav {
    width: 100%;
    flex-wrap: nowrap;
    gap: 22px;
    margin-left: 0;
    padding-bottom: 2px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .legal-header nav::-webkit-scrollbar {
    display: none;
  }
  .legal-header nav a {
    padding: 7px 0;
    font-size: 13px;
  }
  .legal-footer {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 38px 18px;
  }
  .back-top {
    color: var(--legal-background);
    border-radius: 0;
    background: var(--legal-ink);
  }
}

@media print {
  .opening,
  .site-header,
  .legal-header,
  .legal-toc,
  .mobile-toc,
  .print-button,
  .back-top,
  .footer {
    display: none !important;
  }
  body,
  .legal-shell {
    background: #fff;
    color: #000;
  }
  .legal-shell {
    padding: 0;
  }
  .legal-document {
    max-width: none;
  }
  .legal-document h1,
  .legal-section h2,
  .legal-section p,
  .legal-section li {
    color: #000;
  }
  .legal-layout {
    display: block;
  }
  .legal-section {
    break-inside: avoid;
  }
  .panorama-section {
    --panorama-x: 16px;
    align-content: start;
    gap: 32px;
    padding-top: 0;
  }
  .panorama-copy h2 {
    font-size: clamp(30px, 8.4vw, 41px);
  }
  .panorama-copy h2 span {
    white-space: normal;
  }
  .case-roll-window {
    height: 58vh;
  }
}
@keyframes opening-left-mobile {
  to { transform: translateX(-84px); }
}
@keyframes opening-right-mobile {
  to { transform: translateX(84px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-art,
  .hero-copy-parallax {
    transform: none !important;
  }
  .story-section.intervention-section {
    --app-flow-overlap: 0px;
    min-height: auto;
    margin-top: 0;
  }
  .app-flow-stage {
    position: relative;
    display: block;
    height: auto;
    overflow: visible;
    transform: none;
  }
  .app-flow-scene-layer {
    position: relative;
    display: grid;
    height: 100vh;
    opacity: 1;
  }
  .app-flow-exit-scene {
    position: relative;
    inset: auto;
    height: 100vh;
    overflow: hidden;
    background: var(--app-flow-map-canvas);
  }
  .app-flow-exit-scene::before {
    opacity: 1;
  }
  .app-flow-exit-scene::after {
    opacity: .24;
  }
  .app-flow-exit-map {
    opacity: 1;
  }
  .app-flow-exit-map img {
    filter: grayscale(1) brightness(.24) contrast(1.5);
    opacity: 1;
    transform: none;
  }
  .app-flow-exit-map::after {
    opacity: 0;
  }
  .app-flow-exit-map-window {
    clip-path: none;
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
  .app-flow-map-reveal-guide {
    display: none;
  }
  .app-flow-exit-title {
    top: var(--app-flow-scene-six-answer-y);
    opacity: 1;
    transform: translateY(-50%);
    transition: none;
  }
  .app-flow-exit-title-visual {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .app-flow-exit-question {
    display: none;
  }
  .app-flow-exit-answer {
    opacity: 1;
    transition: none;
  }
  .app-flow-exit-question i,
  .app-flow-exit-answer i {
    display: none;
    animation: none;
  }
  .app-flow-detachable-counsel {
    display: none;
  }
  .app-flow-counsel-node.is-shared .app-flow-counsel-person {
    display: block;
  }
  .app-flow-mini-node {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  .app-flow-mini-node.is-static-exit {
    display: block;
  }
  .app-flow-mini-node.is-left {
    top: 36%;
    left: 58%;
  }
  .app-flow-mini-node.is-right {
    top: 34%;
    left: 82%;
  }
  .app-flow-mini-node.is-center {
    top: 68%;
    left: 70%;
  }
  .app-flow-stage > .app-flow-counsel-node.is-shared {
    --app-flow-counsel-focus-scale: 1;
    --app-flow-counsel-scale: 1;
    --app-flow-focus-stem-progress: 0;
    top: calc(100vh - var(--app-flow-sequence-bottom-gap) - var(--app-flow-counsel-bottom) - (var(--app-flow-counsel-size) / 2));
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  .app-flow-user-node {
    opacity: 1;
    transform: translateX(-50%);
    transition: none;
  }
  .app-flow-line > span {
    transform: scaleY(1);
  }
  .app-flow-annotation,
  .app-flow-route-factor {
    opacity: 1;
    transform: none;
  }
  .app-flow-route-factor b {
    opacity: 1;
    transform: none;
  }
  .app-flow-route-branch path {
    stroke-dashoffset: 0;
  }
  .app-flow-match-detail {
    opacity: 1 !important;
    transform: none !important;
  }
  .app-flow-match-detail strong,
  .app-flow-match-detail small {
    opacity: 1 !important;
    transform: none !important;
  }
  .app-flow-match-detail::after {
    transform: scaleX(1) !important;
  }
  .app-flow-sos-beacon b {
    transform: none;
  }
  .app-flow-sos-signal {
    display: none;
  }
  .pressure-scene-copy {
    transform: none;
  }
  .pressure-scene-device {
    transform: translateX(calc(-50% + clamp(12px, 1.3vw, 24px))) scale(1);
  }
  .pressure-phone-state {
    transition: none;
  }
  .pressure-scene-wheel {
    opacity: 1;
    clip-path: circle(51% at 50% 50%);
    transform: translate(-50%, -50%) scale(1);
    transition: none;
  }
  .opening { display: none; }
  .case-roll-track {
    animation: none !important;
    transform: none;
  }
  .site-header.is-entering,
  .hero-story.is-entering .hero-copy {
    opacity: 1;
    animation: none !important;
    transform: none;
  }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}
@media (prefers-reduced-motion: reduce) and (max-width: 720px) {
  .app-flow-exit-map-window {
    transform: none;
  }
  .app-flow-exit-title {
    top: var(--app-flow-scene-six-answer-y);
    transform: none;
  }
  .app-flow-mini-node.is-left {
    top: 64%;
    left: 25%;
  }
  .app-flow-mini-node.is-right {
    top: 62%;
    left: 75%;
  }
  .app-flow-mini-node.is-center {
    top: 80%;
    left: 50%;
  }
}

/* Shared page loader, session gate, and authenticated dashboard */
.is-page-loading {
  overflow: hidden;
}
.page-loader {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  padding: 28px;
  background: #050505;
  color: #f5f3ee;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .42s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .42s;
}
.page-loader.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.page-loader-emblem {
  position: relative;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin-bottom: 34px;
  animation: page-loader-float 2.2s cubic-bezier(.45, 0, .55, 1) infinite;
}
.page-loader-emblem img {
  display: block;
  width: 58px;
  height: 58px;
  border-radius: 17px;
  object-fit: cover;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .55);
}
.page-loader-orbit {
  position: absolute;
  inset: -8px;
  border: 1px solid rgba(245, 243, 238, .17);
  border-top-color: #d3a24a;
  border-radius: 50%;
  animation: page-loader-orbit 1.45s linear infinite;
}
.page-loader-orbit::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 8px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #f5f3ee;
  box-shadow: 0 0 14px rgba(245, 243, 238, .75);
}
.page-loader > p {
  margin: 0;
  color: rgba(245, 243, 238, .68);
  font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1;
  text-transform: uppercase;
}
.page-loader-progress {
  position: relative;
  display: block;
  width: min(180px, 52vw);
  height: 1px;
  margin-top: 26px;
  overflow: hidden;
  background: rgba(245, 243, 238, .13);
}
.page-loader-progress i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  background: #f5f3ee;
  animation: page-loader-progress 1.35s cubic-bezier(.65, 0, .35, 1) infinite;
}
@keyframes page-loader-orbit {
  to { transform: rotate(360deg); }
}
@keyframes page-loader-float {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.025); }
}
@keyframes page-loader-progress {
  0% { transform: translateX(-115%); }
  58%, 100% { transform: translateX(270%); }
}
.session-gate {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(28px, 6vw, 80px);
  background: #050505;
  color: #f5f3ee;
}
.session-gate-panel {
  width: min(720px, 100%);
  text-align: center;
}
.session-gate-mark {
  display: inline-grid;
  width: 70px;
  height: 70px;
  place-items: center;
  margin-bottom: clamp(38px, 7vh, 72px);
}
.session-gate-mark img {
  display: block;
  width: 58px;
  height: 58px;
  border-radius: 17px;
  object-fit: cover;
}
.session-gate-label,
.dashboard-eyebrow,
.dashboard-card-heading p,
.dashboard-footer,
.dashboard-role-badge {
  font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.session-gate-label {
  margin: 0 0 20px;
  color: #8e8b85;
}
.session-gate h1 {
  max-width: 680px;
  margin: 0 auto;
  font-family: var(--hero-serif);
  font-size: clamp(44px, 7vw, 86px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .96;
}
.session-gate-panel > p:not(.session-gate-label) {
  max-width: 520px;
  margin: 28px auto 0;
  color: #9c9a94;
  font-size: clamp(15px, 1.7vw, 18px);
  line-height: 1.65;
}
.session-gate-progress {
  position: relative;
  display: block;
  width: min(280px, 72vw);
  height: 1px;
  margin: 48px auto 0;
  overflow: hidden;
  background: rgba(255, 255, 255, .13);
}
.session-gate-progress i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 38%;
  background: #f5f3ee;
  animation: session-gate-progress 1.5s cubic-bezier(.65, 0, .35, 1) infinite;
}
.session-gate-retry {
  min-width: 200px;
  margin-top: 42px;
  padding: 15px 28px;
  border: 1px solid #ded8ca;
  border-radius: 999px;
  background: #ded8ca;
  color: #050505;
  cursor: pointer;
  font-weight: 700;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.session-gate-retry:hover {
  background: transparent;
  color: #f5f3ee;
  transform: translateY(-2px);
}
.session-gate-retry:focus-visible,
.dashboard-shell a:focus-visible,
.dashboard-shell button:focus-visible {
  outline: 3px solid #d9ef73;
  outline-offset: 4px;
}
@keyframes session-gate-progress {
  0% { transform: translateX(-110%); }
  55%, 100% { transform: translateX(270%); }
}

.dashboard-shell {
  --dashboard-bg: #050505;
  --dashboard-panel: #101010;
  --dashboard-line: rgba(255, 255, 255, .12);
  --dashboard-text: #f5f3ee;
  --dashboard-muted: #9c9a94;
  --dashboard-ivory: #ded8ca;
  min-height: 100svh;
  overflow: hidden;
  background: var(--dashboard-bg);
  color: var(--dashboard-text);
}
.dashboard-header {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(1180px, calc(100% - clamp(32px, 7vw, 112px)));
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  margin: 24px auto 0;
  padding: 8px 10px 8px 12px;
  border: 1px solid var(--dashboard-line);
  border-radius: 999px;
  background: rgba(12, 12, 12, .9);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
  backdrop-filter: blur(18px);
}
.dashboard-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.dashboard-brand > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--dashboard-ivory);
  color: var(--dashboard-bg);
  font-family: var(--hero-serif);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.05em;
}
.dashboard-brand strong {
  font-size: 14px;
  letter-spacing: -.02em;
}
.dashboard-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dashboard-header-actions > a {
  padding: 10px 14px;
  color: var(--dashboard-muted);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: color .2s ease;
}
.dashboard-header-actions > a:hover {
  color: var(--dashboard-text);
}
.dashboard-role-badge {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--dashboard-text);
  color: var(--dashboard-bg);
  letter-spacing: .1em;
}
.dashboard-main {
  width: min(1180px, calc(100% - clamp(32px, 7vw, 112px)));
  margin: 0 auto;
  padding: clamp(90px, 13vw, 174px) 0 clamp(90px, 12vw, 150px);
}
.dashboard-intro {
  position: relative;
  max-width: 980px;
  margin-bottom: clamp(72px, 11vw, 138px);
}
.dashboard-intro::after {
  position: absolute;
  top: -42px;
  right: 2%;
  width: clamp(80px, 12vw, 150px);
  aspect-ratio: 1;
  border: 1px solid var(--dashboard-line);
  border-radius: 50%;
  content: "";
  box-shadow:
    0 0 0 18px rgba(255, 255, 255, .025),
    0 0 0 38px rgba(255, 255, 255, .018);
}
.dashboard-eyebrow {
  margin: 0 0 28px;
  color: var(--dashboard-muted);
}
.dashboard-intro h1 {
  max-width: 900px;
  margin: 0;
  font-family: var(--hero-serif);
  font-size: clamp(64px, 10.5vw, 142px);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .8;
}
.dashboard-intro > p:last-child {
  max-width: 650px;
  margin: 42px 0 0;
  color: var(--dashboard-muted);
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.65;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: 20px;
}
.dashboard-card {
  min-height: 590px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid var(--dashboard-line);
  border-radius: clamp(24px, 3vw, 38px);
}
.dashboard-profile-card {
  background: var(--dashboard-ivory);
  color: #090909;
}
.dashboard-session-card {
  display: flex;
  flex-direction: column;
  background: var(--dashboard-panel);
}
.dashboard-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.dashboard-card-heading p {
  max-width: 220px;
  margin: 0;
}
.dashboard-card-heading > span {
  font-family: var(--hero-serif);
  font-size: 28px;
}
.dashboard-profile-list {
  margin: clamp(70px, 10vw, 138px) 0 0;
}
.dashboard-profile-list > div {
  display: grid;
  grid-template-columns: minmax(100px, .36fr) 1fr;
  gap: 24px;
  align-items: baseline;
  padding: 22px 0;
  border-top: 1px solid rgba(0, 0, 0, .2);
}
.dashboard-profile-list > div:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}
.dashboard-profile-list dt {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dashboard-profile-list dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-family: var(--hero-serif);
  font-size: clamp(23px, 2.5vw, 38px);
  letter-spacing: -.035em;
  line-height: 1.05;
}
.dashboard-session-copy {
  margin-top: clamp(70px, 9vw, 120px);
}
.dashboard-session-indicator {
  display: block;
  width: 10px;
  height: 10px;
  margin-bottom: 26px;
  border-radius: 50%;
  background: #d9ef73;
  box-shadow: 0 0 0 8px rgba(217, 239, 115, .08);
}
.dashboard-session-copy h2 {
  max-width: 360px;
  margin: 0;
  font-family: var(--hero-serif);
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .95;
}
.dashboard-session-copy p {
  max-width: 430px;
  margin: 24px 0 0;
  color: var(--dashboard-muted);
  font-size: 14px;
  line-height: 1.65;
}
.dashboard-session-actions {
  margin-top: auto;
  padding-top: 52px;
}
.dashboard-session-actions button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid var(--dashboard-line);
  background: transparent;
  color: var(--dashboard-text);
  cursor: pointer;
  text-align: left;
  transition: color .2s ease, padding .2s ease;
}
.dashboard-session-actions button:last-child {
  border-bottom: 1px solid var(--dashboard-line);
}
.dashboard-session-actions button:hover:not(:disabled) {
  padding-left: 8px;
  color: #d9ef73;
}
.dashboard-session-actions button:disabled {
  cursor: wait;
  opacity: .55;
}
.dashboard-session-actions i {
  font-style: normal;
}
.dashboard-session-status {
  min-height: 40px;
  margin: 18px 0 0;
  color: #d9ef73;
  font-size: 12px;
  line-height: 1.5;
}
.dashboard-session-status:empty {
  min-height: 0;
  margin-top: 0;
}
.dashboard-footer {
  display: flex;
  width: min(1180px, calc(100% - clamp(32px, 7vw, 112px)));
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0 auto;
  padding: 28px 0 38px;
  border-top: 1px solid var(--dashboard-line);
  color: var(--dashboard-muted);
}
.dashboard-footer p {
  margin: 0;
}
.dashboard-footer a {
  transition: color .2s ease;
}
.dashboard-footer a:hover {
  color: var(--dashboard-text);
}

@media (max-width: 820px) {
  .dashboard-header {
    width: calc(100% - 24px);
    margin-top: 12px;
  }
  .dashboard-brand strong,
  .dashboard-header-actions > a {
    display: none;
  }
  .dashboard-role-badge {
    min-height: 40px;
    padding: 0 14px;
    font-size: 9px;
  }
  .dashboard-main,
  .dashboard-footer {
    width: calc(100% - 32px);
  }
  .dashboard-main {
    padding-top: 96px;
  }
  .dashboard-intro::after {
    top: -28px;
    right: -8px;
  }
  .dashboard-intro h1 {
    font-size: clamp(58px, 18vw, 94px);
    line-height: .84;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-card {
    min-height: auto;
  }
  .dashboard-profile-list {
    margin-top: 68px;
  }
  .dashboard-session-card {
    min-height: 580px;
  }
}

@media (max-width: 520px) {
  .session-gate {
    padding: 24px;
  }
  .session-gate h1 {
    font-size: 48px;
  }
  .dashboard-main {
    padding-top: 78px;
  }
  .dashboard-intro {
    margin-bottom: 72px;
  }
  .dashboard-intro::after {
    width: 76px;
  }
  .dashboard-intro h1 {
    max-width: 95%;
    font-size: clamp(54px, 17.5vw, 76px);
  }
  .dashboard-intro > p:last-child {
    margin-top: 32px;
    font-size: 15px;
  }
  .dashboard-card {
    padding: 26px 22px;
    border-radius: 24px;
  }
  .dashboard-profile-list > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .dashboard-profile-list dd {
    font-size: 28px;
  }
  .dashboard-session-card {
    min-height: 540px;
  }
  .dashboard-session-copy {
    margin-top: 70px;
  }
  .dashboard-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-loader,
  .page-loader-emblem {
    transition: none;
    animation: none;
  }
  .page-loader-orbit {
    animation: none;
    border-color: rgba(245, 243, 238, .25);
    border-top-color: #d3a24a;
  }
  .page-loader-progress i {
    width: 100%;
    animation: none;
  }
  .session-gate-progress i {
    width: 100%;
    animation: none;
  }
  .session-gate-retry,
  .dashboard-shell a,
  .dashboard-shell button {
    transition: none;
  }
}

/* Premium F1 account identity and subscription scene */
.simple-dashboard-shell,
.public-pricing-shell {
  --simple-ivory: #f7f7f4;
  --simple-paper: #fbf8f1;
  --simple-ink: #0b0b0a;
  --simple-muted: #6d6a63;
  --simple-line: rgba(11, 11, 10, .16);
  --simple-soft-line: rgba(11, 11, 10, .09);
  --simple-display-font: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --simple-ui-font: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --hero-serif: var(--simple-display-font);
  display: flow-root;
  overflow-x: clip;
  min-height: 100svh;
  background: var(--simple-ivory);
  color: var(--simple-ink);
  font-family: var(--simple-ui-font);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  text-rendering: optimizeLegibility;
}
.public-pricing-shell {
  --header-background: transparent;
}
.public-pricing-main {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
  padding: 52px 0 0;
}
.site-header nav a[aria-current="page"] {
  font-weight: 700;
}
.simple-dashboard-header {
  position: sticky;
  z-index: 30;
  top: 14px;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  width: min(1160px, calc(100% - 36px));
  min-height: 66px;
  margin: 14px auto 0;
  padding: 11px 8px 11px 10px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  background: rgba(0, 0, 0, .58);
  box-shadow:
    inset 0 -1px 0 rgba(255, 255, 255, .04),
    0 14px 40px rgba(15, 15, 16, .2);
  color: var(--simple-paper);
  -webkit-backdrop-filter: blur(30px) saturate(112%);
  backdrop-filter: blur(30px) saturate(112%);
}
.simple-dashboard-header::before {
  content: none;
}
.simple-dashboard-brand {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.simple-dashboard-brand > span,
.simple-dashboard-account summary > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .45);
  background: rgba(247, 244, 236, .94);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .8),
    0 3px 12px rgba(0, 0, 0, .14);
  color: #0b0b0a;
  font-family: var(--simple-display-font);
  font-size: 15px;
  font-weight: 700;
}
.simple-dashboard-brand strong {
  overflow: hidden;
  margin-left: 10px;
  font-family: var(--simple-display-font);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.simple-dashboard-header nav {
  display: flex;
  gap: 30px;
}
.simple-dashboard-header nav a {
  color: rgba(251, 248, 241, .7);
  font-family: var(--simple-ui-font);
  font-size: 10px;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
}
.simple-dashboard-header nav a:hover {
  color: var(--simple-paper);
}
.simple-dashboard-account {
  position: relative;
  z-index: 2;
  justify-self: end;
}
.simple-dashboard-account summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 7px 0 0;
  border-radius: 999px;
  list-style: none;
  cursor: pointer;
  transition: background-color 180ms ease;
}
.simple-dashboard-account summary:hover,
.simple-dashboard-account[open] summary {
  background: rgba(255, 255, 255, .08);
}
.simple-dashboard-account summary::-webkit-details-marker {
  display: none;
}
.simple-dashboard-account summary > span {
  background: rgba(251, 248, 241, .96);
  font-family: var(--simple-ui-font);
  font-size: 11px;
}
.simple-dashboard-account summary b {
  font-family: var(--simple-ui-font);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.simple-dashboard-account-chevron {
  width: 14px;
  height: 14px;
  color: rgba(251, 248, 241, .68);
  transition: transform 180ms ease;
}
.simple-dashboard-account[open] .simple-dashboard-account-chevron {
  transform: rotate(180deg);
}
.simple-dashboard-account-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  gap: 0;
  width: 252px;
  max-width: calc(100vw - 24px);
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 20px;
  background: rgba(0, 0, 0, .62);
  box-shadow: 0 20px 48px rgba(12, 12, 13, .28);
  color: rgba(255, 255, 255, .96);
  -webkit-backdrop-filter: blur(32px) saturate(112%);
  backdrop-filter: blur(32px) saturate(112%);
}
.simple-dashboard-account-identity {
  min-width: 0;
  padding: 9px 10px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.simple-dashboard-account-identity small {
  display: block;
  color: rgba(255, 255, 255, .54);
  font-family: var(--simple-ui-font);
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.simple-dashboard-account-identity p {
  overflow: hidden;
  margin: 2px 0 0;
  font-family: var(--simple-display-font);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.simple-dashboard-account nav {
  display: grid;
  gap: 0;
  margin: 2px 0;
}
.simple-dashboard-account-actions {
  display: grid;
  gap: 0;
  padding-top: 2px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.simple-dashboard-account nav a,
.simple-dashboard-account button {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, .88);
  cursor: pointer;
  font-family: var(--simple-ui-font);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  padding: 0 10px;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  transition: background-color 160ms ease, color 160ms ease;
}
.simple-dashboard-account nav a:hover,
.simple-dashboard-account button:hover {
  background: rgba(255, 255, 255, .09);
  color: #fff;
}
.simple-dashboard-account-icon {
  width: 16px;
  height: 16px;
  color: rgba(255, 255, 255, .64);
}
.simple-dashboard-account nav a:hover .simple-dashboard-account-icon,
.simple-dashboard-account button:hover .simple-dashboard-account-icon {
  color: rgba(255, 255, 255, .96);
}
.simple-dashboard-shell .simple-dashboard-header :is(a, button, summary):focus-visible {
  outline: 2px solid rgba(255, 255, 255, .94);
  outline-offset: 2px;
}
@supports not (backdrop-filter: blur(2px)) {
  .simple-dashboard-header,
  .simple-dashboard-account-menu {
    background: #080808;
  }
}
@media (prefers-reduced-transparency: reduce) {
  .simple-dashboard-header,
  .simple-dashboard-account-menu {
    background: #080808;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.simple-dashboard-main {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
  padding: 54px 0 74px;
}
.simple-dashboard-section {
  padding: 110px 0;
  border-bottom: 1px solid var(--simple-line);
  scroll-margin-top: 110px;
}
.simple-dashboard-kicker {
  margin: 0 0 18px;
  color: var(--simple-muted);
  font-family: var(--simple-ui-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.simple-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 72px;
}
.simple-section-heading h1,
.simple-section-heading h2,
.simple-dashboard-loading h1,
.simple-dashboard-error h1 {
  max-width: 760px;
  margin: 0;
  font-family: var(--simple-display-font);
  font-size: clamp(50px, 6.4vw, 88px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .96;
}
.simple-section-heading > p {
  max-width: 400px;
  margin: 0;
  color: var(--simple-muted);
  font-size: 15px;
  line-height: 1.65;
}
.simple-profile-section {
  padding-top: 78px;
}
.simple-profile-scene {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
  gap: clamp(46px, 7vw, 96px);
  align-items: start;
}
.simple-profile-settings {
  min-width: 0;
  padding: clamp(30px, 4vw, 52px);
  border: 1px solid var(--simple-line);
  border-radius: 34px;
  background: var(--simple-paper);
}
.simple-profile-settings-heading {
  max-width: 620px;
  margin-bottom: 50px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--simple-line);
}
.simple-profile-settings-heading h1 {
  margin: 0;
  font-family: var(--simple-display-font);
  font-size: clamp(46px, 5.5vw, 72px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .97;
}
.simple-profile-settings-heading > p:last-child {
  max-width: 520px;
  margin: 24px 0 0;
  color: var(--simple-muted);
  font-size: 15px;
  line-height: 1.65;
}
.simple-profile-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px 24px;
}
.simple-profile-form label {
  display: grid;
  gap: 10px;
}
.simple-profile-form label > span {
  font-family: var(--simple-ui-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.simple-profile-form input,
.simple-profile-form select {
  width: 100%;
  min-height: 56px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid var(--simple-line);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--simple-ink);
  font: inherit;
}
.simple-profile-form input:focus,
.simple-profile-form select:focus {
  border-bottom-color: var(--simple-ink);
  box-shadow: 0 1px 0 var(--simple-ink);
}
.simple-profile-form input[aria-invalid="true"],
.simple-profile-form select[aria-invalid="true"] {
  border-bottom-color: #8b2f26;
}
.simple-profile-form label > small {
  min-height: 16px;
  color: #8b2f26;
  font-size: 12px;
}
.simple-profile-form .is-wide,
.simple-profile-submit {
  grid-column: 1 / -1;
}
.simple-profile-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 16px;
}
.simple-profile-submit p {
  margin: 0;
  color: var(--simple-muted);
  font-size: 14px;
}
.simple-profile-id-card {
  min-width: 0;
  padding: clamp(26px, 3.5vw, 42px);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 34px;
  background: #0d1117;
  box-shadow: 0 26px 70px rgba(20, 17, 12, .2);
  color: #f5f1e8;
}
.simple-profile-portrait {
  position: relative;
  width: min(100%, 360px);
  margin: 0 auto 36px;
  border-radius: 50%;
}
.simple-profile-portrait svg {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: visible;
}
.simple-profile-portrait svg > circle:first-child {
  fill: #e7dfd0;
  stroke: #454b55;
  stroke-width: 3;
}
.simple-profile-portrait-head {
  fill: #0d1117;
}
.simple-profile-portrait-body {
  fill: #0d1117;
}
.simple-profile-card-badge {
  position: absolute;
  right: 1%;
  bottom: 9%;
  display: grid;
  place-items: center;
  width: clamp(54px, 6vw, 70px);
  height: clamp(54px, 6vw, 70px);
  border: 2px solid #454b55;
  border-radius: 50%;
  background: #0d1117;
  color: #e7dfd0;
  font-family: var(--simple-display-font);
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 0 0 5px #0d1117;
}
.simple-profile-card-copy h2 {
  overflow-wrap: anywhere;
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: clamp(31px, 3.3vw, 46px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.05;
}
.simple-profile-card-copy p {
  margin: 8px 0 0;
  color: #9ba3af;
  font-size: 21px;
}
.simple-profile-card-edit {
  width: 100%;
  min-height: 48px;
  margin-top: 28px;
  border: 1px solid #454b55;
  border-radius: 9px;
  background: #21262d;
  color: #f5f1e8;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}
.simple-profile-card-edit:hover {
  border-color: #8b949e;
  background: #292f37;
}
.simple-profile-card-edit:disabled {
  cursor: wait;
  opacity: .55;
}
.simple-profile-card-meta {
  display: grid;
  gap: 17px;
  margin: 34px 0 0;
  padding: 32px 0;
  border-top: 1px solid #30363d;
  border-bottom: 1px solid #30363d;
}
.simple-profile-card-meta > div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.simple-profile-card-meta dt,
.simple-profile-card-meta dd {
  margin: 0;
}
.simple-profile-card-meta dt {
  color: #9ba3af;
}
.simple-profile-meta-icon {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.f1-dashboard-scene {
  display: grid;
  grid-template-columns: minmax(350px, 440px) minmax(360px, 1fr);
  gap: clamp(64px, 8vw, 124px);
  align-items: center;
  min-height: calc(100svh - 164px);
  padding: 34px 0 54px;
}
@media (min-width: 821px) {
  .simple-dashboard-main {
    padding-top: 8px;
    padding-bottom: 32px;
  }
  .f1-dashboard-scene {
    min-height: 720px;
    margin-bottom: -29px;
    padding-top: 18px;
    transform: scale(.96);
    transform-origin: top center;
  }
}
.f1-card-stage {
  min-width: 0;
  transform: translateY(40px);
}
.f1-card-stage > .simple-dashboard-kicker {
  margin: 0 0 24px 4px;
}
.f1-card-float {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  transform-origin: center;
}
.f1-id-card-frame {
  position: relative;
  border-radius: 10px;
  background: transparent;
}
.f1-id-card {
  --f1-card-ink: #050505;
  --f1-card-text: #10100f;
  --f1-card-muted: #26251f;
  --f1-card-line: rgba(5, 5, 5, .34);
  position: relative;
  z-index: 1;
  overflow: hidden;
  min-height: 720px;
  padding: 36px 34px 104px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 10px 12px 22px rgba(18, 16, 12, .18);
  color: var(--f1-card-ink);
  font-family: var(--simple-ui-font);
}
.f1-id-card::before {
  content: none;
}
.f1-id-card > * {
  position: relative;
  z-index: 1;
}
.f1-card-surface {
  position: absolute;
  z-index: 0;
  inset: 10px;
  overflow: hidden;
  border-radius: 5px;
  background: #fff;
  pointer-events: none;
}
.f1-card-surface::after {
  position: absolute;
  inset: 0;
  background: #050505;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  content: "";
}
.f1-card-watermark {
  position: absolute;
  z-index: 0;
  right: auto;
  bottom: 70px;
  left: 50%;
  width: 78%;
  height: 70%;
  background: url("/src/assets/waitlist-ashoka-lion-plinth.png") center bottom / contain no-repeat;
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  transform: translateX(-50%) scale(.8);
  transform-origin: center bottom;
}
.f1-card-rail {
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 10px;
  left: 10px;
  display: grid;
  grid-template-rows: repeat(3, 28px);
  gap: 0;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
.f1-card-rail span {
  display: block;
  width: 100%;
  height: 100%;
}
.f1-card-rail span:nth-child(1) {
  background: #0f0f0e;
}
.f1-card-rail span:nth-child(2) {
  background: #b28a3c;
}
.f1-card-rail span:nth-child(3) {
  background: #7e7e79;
}
.f1-card-header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 13px;
  align-items: center;
  padding-bottom: 0;
}
.f1-card-mark {
  color: #050505;
  font-family: var(--simple-display-font);
  font-size: 42px;
  font-weight: 700;
  letter-spacing: -.08em;
}
.f1-card-header p,
.f1-card-header strong,
.f1-card-header small {
  display: block;
  margin: 0;
}
.f1-card-header strong {
  color: var(--f1-card-ink);
  font-family: var(--simple-display-font);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.f1-card-header small {
  margin-top: 4px;
  color: var(--f1-card-muted);
  font-family: var(--simple-ui-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.f1-plan-panel > header > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(245, 241, 232, .64);
  font-family: var(--simple-ui-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.f1-plan-panel > header i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d9ef73;
  box-shadow: 0 0 12px rgba(217, 239, 115, .68);
}
.f1-card-identity {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 78px 0 28px;
}
.f1-card-identity h1 {
  margin: 0;
}
.f1-card-person {
  display: block;
  width: 100%;
  text-align: left;
}
.f1-card-person::after {
  content: none;
}
.f1-card-identity h1 {
  position: relative;
  z-index: 1;
  overflow-wrap: anywhere;
  max-width: 10ch;
  font-family: var(--simple-display-font);
  font-size: clamp(38px, 4vw, 48px);
  font-style: normal;
  font-weight: 700;
  color: #11110f;
  letter-spacing: -.065em;
  line-height: .88;
  text-transform: uppercase;
  transform: none;
}
.f1-card-meta {
  position: relative;
  z-index: 2;
  display: grid;
  width: 53%;
  gap: 20px;
  margin: 0;
  border: 0;
}
.f1-card-meta > div {
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
}
.f1-card-meta dt,
.f1-card-meta dd {
  margin: 0;
}
.f1-card-meta dt {
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  color: #090909;
  font-family: var(--simple-ui-font);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.f1-card-meta-icon {
  width: 15px;
  height: 15px;
  color: #090909;
}
.f1-card-meta dd {
  overflow-wrap: anywhere;
  margin-top: 7px;
  color: var(--f1-card-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}
.f1-card-footer {
  position: absolute;
  z-index: 3;
  right: 34px;
  bottom: 47px;
  left: 64px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 0;
  color: #0b0b0a;
  font-family: var(--simple-ui-font);
  font-size: 8.5px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.f1-plan-panel {
  --f1-plan-black: #080807;
  --f1-plan-grey: #6b6964;
  --f1-plan-rule: color-mix(in srgb, var(--f1-plan-black) 30%, transparent);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 720px;
  padding: clamp(58px, 6vw, 92px) 0 clamp(58px, 6vw, 92px) clamp(8px, 3vw, 42px);
  color: var(--f1-plan-black);
  font-family: "Inter", "GT Standard L Regular", system-ui, sans-serif;
}
.f1-plan-panel::after {
  content: none;
}
.f1-plan-panel > header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--f1-plan-rule);
}
.f1-plan-panel .simple-dashboard-kicker {
  margin: 0;
  color: var(--f1-plan-grey);
  font-size: 11px;
  letter-spacing: .18em;
}
.f1-plan-panel > header > span {
  color: var(--f1-plan-grey);
  font-size: 10px;
  letter-spacing: .18em;
}
.f1-plan-panel.is-inactive > header i {
  background: #8f8d87;
  box-shadow: none;
}
.f1-plan-name {
  position: relative;
  z-index: 1;
  padding: clamp(56px, 6vw, 78px) 0 clamp(38px, 4vw, 52px);
}
.f1-plan-summary {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: clamp(28px, 4vw, 54px);
  align-items: end;
  padding: clamp(56px, 6vw, 78px) 0 clamp(42px, 4vw, 58px);
}
.f1-plan-summary .f1-plan-name {
  padding: 0;
}
.f1-plan-summary .f1-plan-name h2 {
  max-width: 7ch;
  font-size: clamp(44px, 4.4vw, 66px);
}
.f1-plan-name p,
.f1-plan-name h2 {
  margin: 0;
}
.f1-plan-name p {
  color: var(--f1-plan-grey);
  font-family: var(--simple-ui-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.f1-plan-name h2 {
  max-width: 10ch;
  margin-top: 18px;
  font-family: var(--simple-display-font);
  font-size: clamp(52px, 5.6vw, 83px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: .92;
}
.f1-plan-price {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: clamp(42px, 5vw, 62px);
}
.f1-plan-summary .f1-plan-price {
  display: grid;
  gap: 9px;
  justify-items: end;
  margin: 0 0 5px;
}
.f1-plan-price strong {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  font-family: var(--simple-display-font);
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .9;
}
.f1-plan-price strong span {
  color: var(--f1-plan-black);
  font-family: "Inter", "GT Standard L Regular", system-ui, sans-serif;
  font-size: .3em;
  font-weight: 600;
  letter-spacing: 0;
}
.f1-plan-price small {
  color: var(--f1-plan-grey);
  font-size: clamp(14px, 1.2vw, 17px);
  font-weight: 400;
}
.f1-plan-telemetry {
  position: relative;
  z-index: 1;
  margin: 0;
  border-top: 1px solid var(--f1-plan-rule);
}
.f1-plan-telemetry > div {
  display: grid;
  grid-template-columns: minmax(145px, .7fr) minmax(0, 1fr);
  gap: 28px;
  align-items: baseline;
  padding: 24px 0;
  border-bottom: 1px solid var(--f1-plan-rule);
}
.f1-plan-telemetry dt,
.f1-plan-telemetry dd {
  margin: 0;
}
.f1-plan-telemetry dt {
  color: var(--f1-plan-grey);
  font-family: var(--simple-ui-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.f1-plan-telemetry dd {
  overflow-wrap: anywhere;
  color: var(--f1-plan-black);
  font-size: clamp(14px, 1.2vw, 17px);
  text-align: right;
}
.f1-plan-actions {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 14px;
  padding: 24px 0;
  border-bottom: 1px solid var(--f1-plan-rule);
}
.f1-plan-actions button {
  min-height: 56px;
  padding: 0 22px;
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
}
.f1-plan-action-upgrade {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--f1-plan-black);
  background: var(--f1-plan-black);
  color: #f0ece5;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(8, 8, 7, .12);
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}
.f1-plan-action-upgrade:hover {
  background: #24231f;
  box-shadow: 0 16px 34px rgba(8, 8, 7, .18);
  transform: translateY(-2px);
}
.f1-plan-action-upgrade > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d9ef73;
  box-shadow: 0 0 12px rgba(217, 239, 115, .48);
}
.f1-plan-action-cancel {
  border: 1px solid #6f211f;
  background: #8b2f2b;
  color: #fff;
  opacity: .78;
}
.f1-plan-actions button:disabled {
  cursor: not-allowed;
}
.f1-plan-actions-note {
  grid-column: 1 / -1;
  margin: -2px 4px 0;
  color: var(--f1-plan-grey);
  font-size: 11px;
  line-height: 1.5;
}
.f1-plan-change,
.f1-plan-note {
  position: relative;
  z-index: 1;
  margin: 34px 0 0;
  padding: 22px 0;
  border: 0;
  border-top: 1px solid var(--f1-plan-rule);
  border-bottom: 1px solid var(--f1-plan-rule);
  border-radius: 0;
  background: transparent;
}
.f1-plan-change span {
  color: var(--f1-plan-grey);
  font-family: var(--simple-ui-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.f1-plan-change p,
.f1-plan-note {
  color: var(--f1-plan-grey);
  font-size: 14px;
  line-height: 1.55;
}
.f1-plan-change p {
  margin: 7px 0 0;
}
.f1-plan-unavailable {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  min-height: 540px;
}
.f1-plan-unavailable > span {
  color: var(--f1-plan-rule);
  font-family: var(--simple-display-font);
  font-size: 92px;
  line-height: .6;
}
.f1-plan-unavailable h2 {
  max-width: 9ch;
  margin: 38px 0 0;
  font-family: var(--simple-display-font);
  font-size: clamp(48px, 5vw, 76px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .92;
}
.f1-plan-unavailable p {
  max-width: 430px;
  margin: 28px 0 0;
  color: var(--f1-plan-grey);
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.55;
}
.f1-plan-unavailable button {
  width: min(100%, 430px);
  min-height: 60px;
  margin-top: 34px;
  padding: 0 30px;
  border: 1px solid var(--f1-plan-black);
  border-radius: 999px;
  background: var(--f1-plan-black);
  color: #f0ece5;
  cursor: pointer;
  font-weight: 700;
}
.f1-plan-comparison {
  --f1-compare-black: #080807;
  --f1-compare-gold: #b79a55;
  --f1-compare-grey: #6e6b65;
  --f1-compare-beige: #ece7dc;
  --f1-compare-rule: rgba(8, 8, 7, .24);
  padding: clamp(54px, 6vw, 76px) 0 clamp(70px, 8vw, 104px);
  border-top: 1px solid var(--f1-compare-rule);
  color: var(--f1-compare-black);
  scroll-margin-top: 104px;
}
.f1-plan-comparison:focus-visible {
  outline: 3px solid #9f6c2f;
  outline-offset: 8px;
}
.f1-plan-comparison-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, .55fr);
  gap: clamp(32px, 6vw, 72px);
  align-items: end;
  margin-bottom: clamp(28px, 4vw, 42px);
}
.f1-plan-comparison-header p,
.f1-plan-comparison-header h2 {
  margin: 0;
}
.f1-plan-comparison-header div > p {
  margin-bottom: 12px;
  color: var(--f1-compare-grey);
  font-family: var(--simple-ui-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.f1-plan-comparison-header h2 {
  font-family: "Inter", "GT Standard L Regular", system-ui, sans-serif;
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .95;
}
.f1-plan-comparison-header > p {
  max-width: 360px;
  color: var(--f1-compare-grey);
  font-size: 13px;
  line-height: 1.5;
}
.f1-plan-table-wrap {
  overflow: hidden;
  border: 1px solid var(--f1-compare-black);
  border-radius: 18px;
  background: var(--f1-compare-beige);
}
.f1-plan-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.f1-plan-table th,
.f1-plan-table td {
  overflow-wrap: anywhere;
  vertical-align: top;
}
.f1-plan-table tr > * + * {
  border-left: 1px solid var(--f1-compare-rule);
}
.f1-plan-table thead {
  background: var(--f1-compare-black);
  color: #f2eee5;
}
.f1-plan-table thead th {
  height: 150px;
  padding: 22px 24px;
  text-align: left;
}
.f1-plan-table thead th:first-child {
  width: 16%;
  color: rgba(242, 238, 229, .48);
}
.f1-plan-table thead th.is-current {
  background: #171510;
  box-shadow: inset 0 4px 0 var(--f1-compare-gold);
}
.f1-plan-table thead th.is-missing {
  color: rgba(242, 238, 229, .52);
}
.f1-plan-table thead span,
.f1-plan-table tbody th {
  font-family: var(--simple-ui-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.f1-plan-table thead th:not(:first-child) > span {
  display: block;
  margin-bottom: 14px;
  color: rgba(242, 238, 229, .5);
}
.f1-plan-table thead th.is-current > span {
  color: #d2b86d;
}
.f1-plan-table thead strong {
  display: block;
  font-family: "Inter", "GT Standard L Regular", system-ui, sans-serif;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1;
}
.f1-plan-table thead small {
  display: block;
  max-width: 380px;
  margin-top: 12px;
  color: rgba(242, 238, 229, .58);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
}
.f1-plan-table tbody tr {
  border-top: 1px solid var(--f1-compare-rule);
}
.f1-plan-table tbody th,
.f1-plan-table tbody td {
  padding: 18px 24px;
  text-align: left;
}
.f1-plan-table tbody th {
  color: var(--f1-compare-grey);
}
.f1-plan-table tbody td {
  background: rgba(255, 255, 255, .38);
}
.f1-plan-table tbody td.is-current {
  background: rgba(183, 154, 85, .1);
}
.f1-plan-table-price td {
  height: 86px;
}
.f1-plan-table-price strong,
.f1-plan-table-price small {
  display: block;
}
.f1-plan-table-price strong {
  color: var(--f1-compare-black);
  font-family: "Inter", "GT Standard L Regular", system-ui, sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1;
}
.f1-plan-table-price small {
  margin-top: 7px;
  color: var(--f1-compare-grey);
  font-size: 11px;
}
.f1-plan-table-features td {
  height: 170px;
}
.f1-plan-table-features ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.f1-plan-table-features li {
  position: relative;
  padding-left: 16px;
  color: #484640;
  font-size: 12px;
  line-height: 1.35;
}
.f1-plan-table-features li::before {
  position: absolute;
  top: .58em;
  left: 0;
  width: 6px;
  height: 1px;
  background: var(--f1-compare-gold);
  content: "";
}
.f1-plan-table-features p {
  margin: 0;
  color: var(--f1-compare-grey);
  font-size: 12px;
}
.f1-plan-table-status td {
  padding-top: 14px;
  padding-bottom: 14px;
  color: var(--f1-compare-grey);
  font-family: var(--simple-ui-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.f1-plan-table-status td.is-current {
  color: #725b22;
}
.f1-plan-comparison-unavailable {
  padding: 34px 38px;
  border: 1px solid var(--f1-compare-black);
  border-radius: 18px;
  background: var(--f1-compare-beige);
}
.f1-plan-comparison-unavailable p {
  margin: 0;
  color: var(--f1-compare-grey);
  font-family: var(--simple-ui-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.f1-plan-comparison-unavailable h3 {
  max-width: 700px;
  margin: 16px 0 0;
  font-family: "Inter", "GT Standard L Regular", system-ui, sans-serif;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1;
}
.f1-plan-comparison-unavailable span {
  display: block;
  margin-top: 14px;
  color: var(--f1-compare-grey);
  font-size: 14px;
}
.f1-plan-comparison-unavailable button {
  min-height: 46px;
  margin-top: 24px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: var(--f1-compare-black);
  color: #f2eee5;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}
.subscription-showcase {
  --subscription-ink: #0c0c0b;
  --subscription-muted: #6f6b64;
  --subscription-gold: #aa893c;
  --subscription-gold-dark: #80651f;
  --subscription-line: rgba(12, 12, 11, .16);
  --subscription-line-soft: rgba(12, 12, 11, .1);
  --subscription-paper: rgba(252, 250, 245, .76);
  --subscription-display-font: var(--simple-display-font);
  --subscription-ui-font: var(--simple-ui-font);
  position: relative;
  isolation: isolate;
  width: min(1720px, calc(100vw - 40px));
  margin-left: 50%;
  padding: clamp(92px, 8vw, 132px) clamp(28px, 3.1vw, 54px) 0;
  color: var(--subscription-ink);
  font-family: var(--subscription-ui-font);
  scroll-margin-top: 102px;
  transform: translateX(-50%);
}
.subscription-showcase:focus-visible {
  outline: 3px solid #9f6c2f;
  outline-offset: -3px;
}
.subscription-showcase-hero {
  display: grid;
  justify-items: center;
  text-align: center;
}
.subscription-showcase-hero > p {
  margin: 0;
  color: var(--subscription-gold-dark);
  font-family: var(--subscription-ui-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.subscription-showcase-hero h2 {
  margin: 14px 0 0;
  font-family: var(--subscription-display-font);
  font-size: clamp(58px, 6vw, 94px);
  font-weight: 600;
  letter-spacing: -.065em;
  line-height: .94;
}
.subscription-showcase-hero > span {
  margin-top: 24px;
  color: var(--subscription-muted);
  font-size: clamp(15px, 1.25vw, 20px);
  font-weight: 400;
  letter-spacing: -.012em;
  line-height: 1.5;
}
.subscription-cycle-control {
  --cycle-gutter: 4px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: min(100%, 480px);
  min-height: 58px;
  margin: 42px 0 0;
  padding: var(--cycle-gutter);
  border: 0;
  border-radius: 999px;
  background: rgba(12, 12, 11, .1);
  box-shadow:
    inset 0 1px 2px rgba(12, 12, 11, .14),
    0 8px 24px rgba(12, 12, 11, .06);
}
.subscription-cycle-control::before {
  position: absolute;
  z-index: 0;
  top: var(--cycle-gutter);
  bottom: var(--cycle-gutter);
  left: var(--cycle-gutter);
  width: calc(50% - var(--cycle-gutter));
  border-radius: 999px;
  background: #fbfaf6;
  box-shadow:
    0 10px 24px rgba(12, 12, 11, .18),
    0 2px 7px rgba(12, 12, 11, .11);
  content: "";
  transform: translateX(0);
  transition:
    box-shadow 320ms ease,
    transform 340ms cubic-bezier(.22, 1, .36, 1);
}
.subscription-cycle-control.is-yearly::before {
  transform: translateX(100%);
}
.subscription-cycle-control label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 0;
  padding: 0 18px;
  border-radius: 999px;
  color: var(--subscription-muted);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.015em;
  transition: color 240ms ease;
}
.subscription-cycle-control label.is-selected {
  color: var(--subscription-ink);
}
.subscription-cycle-control label:focus-within {
  outline: 0;
}
.subscription-cycle-control:focus-within {
  box-shadow:
    inset 0 1px 2px rgba(12, 12, 11, .14),
    0 10px 28px rgba(12, 12, 11, .1),
    0 0 0 2px rgba(12, 12, 11, .1);
}
.subscription-cycle-control small {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--subscription-gold);
  color: #fffdf7;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .01em;
  white-space: nowrap;
}
.subscription-plan-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(20px, 2vw, 32px);
  margin-top: clamp(72px, 7vw, 102px);
}
.subscription-plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 1 clamp(310px, 26vw, 370px);
  min-width: 280px;
  min-height: 548px;
  padding: 38px 28px 26px;
  border: 1px solid var(--subscription-line);
  border-radius: 19px;
  background: var(--subscription-paper);
  box-shadow: 0 14px 42px rgba(39, 32, 21, .025);
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease,
    transform 200ms ease;
}
.subscription-plan-card:hover {
  border-color: rgba(12, 12, 11, .27);
  box-shadow: 0 22px 54px rgba(39, 32, 21, .08);
  transform: translateY(-4px);
}
.subscription-plan-card.is-popular {
  border-color: var(--subscription-gold);
  box-shadow:
    inset 0 0 0 1px rgba(170, 137, 60, .12),
    0 18px 52px rgba(128, 101, 31, .09);
}
.subscription-plan-popular {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 7px 20px;
  border-radius: 999px;
  background: linear-gradient(180deg, #b79649, #967529);
  color: #fffdf8;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.subscription-plan-current {
  position: absolute;
  top: 14px;
  right: 16px;
  padding: 6px 9px;
  border: 1px solid rgba(128, 101, 31, .3);
  border-radius: 999px;
  background: #f5edda;
  color: var(--subscription-gold-dark);
  font-family: var(--subscription-ui-font);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.subscription-plan-card-header {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  min-height: 102px;
}
.subscription-plan-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(170, 137, 60, .52);
  border-radius: 50%;
  color: var(--subscription-gold);
}
.subscription-plan-icon-svg {
  width: 33px;
  height: 33px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.45;
}
.subscription-plan-card-header h3,
.subscription-plan-card-header p {
  margin: 0;
}
.subscription-plan-card-header h3 {
  font-family: var(--subscription-display-font);
  font-size: clamp(28px, 1.8vw, 34px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.02;
}
.subscription-plan-card-header p {
  max-width: 245px;
  margin-top: 8px;
  color: var(--subscription-muted);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: -.006em;
  line-height: 1.5;
}
.subscription-plan-price {
  min-height: 112px;
  margin-top: 28px;
  padding: 24px 0 21px;
  border-top: 1px solid var(--subscription-line-soft);
}
.subscription-plan-price p {
  display: flex;
  align-items: baseline;
  margin: 0;
  font-family: var(--subscription-display-font);
  font-variant-numeric: tabular-nums;
  line-height: .92;
}
.subscription-plan-price p > span {
  margin-right: 4px;
  font-family: var(--subscription-display-font);
  font-size: 22px;
  font-weight: 600;
}
.subscription-plan-price strong {
  font-size: clamp(42px, 3.3vw, 54px);
  font-weight: 600;
  letter-spacing: -.055em;
}
.subscription-plan-price small {
  margin-left: 4px;
  color: #292824;
  font-family: var(--subscription-ui-font);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.02em;
}
.subscription-plan-price > span {
  display: block;
  margin-top: 8px;
  color: #393731;
  font-size: 11px;
  font-weight: 600;
}
.subscription-plan-features {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0 0 26px;
  list-style: none;
}
.subscription-plan-features li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: #34332f;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -.008em;
  line-height: 1.42;
}
.subscription-plan-features li > span {
  color: #2b2a26;
  font-size: 16px;
  line-height: 1;
}
.subscription-plan-card > button {
  width: 100%;
  min-height: 54px;
  margin-top: auto;
  padding: 0 18px;
  border: 1px solid var(--subscription-ink);
  border-radius: 999px;
  background: var(--subscription-ink);
  color: #fdfbf5;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.01em;
  box-shadow: 0 12px 28px rgba(12, 12, 11, .11);
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}
.subscription-plan-card > button:hover:not(:disabled) {
  background: #272621;
  box-shadow: 0 16px 34px rgba(12, 12, 11, .17);
  transform: translateY(-2px);
}
.subscription-plan-card > button:disabled {
  border-color: rgba(12, 12, 11, .26);
  background: rgba(12, 12, 11, .08);
  box-shadow: none;
  color: var(--subscription-muted);
  cursor: not-allowed;
}
.subscription-trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 34px auto 0;
}
.subscription-trust-strip article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  justify-self: center;
  width: min(100%, 380px);
  padding: 0 28px;
}
.subscription-trust-strip article + article {
  border-left: 1px solid var(--subscription-line);
}
.subscription-trust-strip article > span,
.subscription-shared-benefits article > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(170, 137, 60, .48);
  border-radius: 50%;
  color: var(--subscription-gold);
}
.subscription-trust-icon,
.subscription-benefit-icon {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}
.subscription-trust-strip p,
.subscription-trust-strip strong,
.subscription-trust-strip small {
  display: block;
  margin: 0;
}
.subscription-trust-strip strong {
  font-size: 12px;
  font-weight: 600;
}
.subscription-trust-strip small {
  margin-top: 6px;
  color: var(--subscription-muted);
  font-size: 11px;
  line-height: 1.4;
}
.subscription-showcase-details {
  display: grid;
  grid-template-columns: 1.28fr 1fr;
  margin-top: 44px;
  border-top: 1px solid var(--subscription-line);
}
.subscription-shared-benefits,
.subscription-faqs {
  min-width: 0;
  padding: 40px 0 58px;
}
.subscription-shared-benefits {
  padding-right: clamp(32px, 4vw, 70px);
}
.subscription-faqs {
  padding-left: clamp(32px, 4vw, 70px);
  border-left: 1px solid var(--subscription-line);
}
.subscription-shared-benefits > h3,
.subscription-faqs > h3 {
  margin: 0;
  font-family: var(--subscription-display-font);
  font-size: clamp(31px, 2.8vw, 44px);
  font-weight: 600;
  letter-spacing: -.05em;
  line-height: 1.02;
}
.subscription-shared-benefits > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 34px);
  margin-top: 34px;
}
.subscription-shared-benefits article > span {
  width: 50px;
  height: 50px;
}
.subscription-shared-benefits h4 {
  margin: 18px 0 0;
  font-size: 12px;
  font-weight: 600;
}
.subscription-shared-benefits p {
  margin: 7px 0 0;
  color: var(--subscription-muted);
  font-size: 11px;
  line-height: 1.45;
}
.subscription-faqs > div {
  margin-top: 12px;
  border-top: 1px solid var(--subscription-line);
}
.subscription-faqs details {
  border-bottom: 1px solid var(--subscription-line);
}
.subscription-faqs summary {
  position: relative;
  padding: 15px 34px 15px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  list-style: none;
}
.subscription-faqs summary::-webkit-details-marker {
  display: none;
}
.subscription-faqs summary > span {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 9px;
  height: 9px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  transition: transform 180ms ease;
}
.subscription-faqs details[open] summary > span {
  transform: translateY(-25%) rotate(225deg);
}
.subscription-faqs details > p {
  margin: -2px 34px 17px 12px;
  color: var(--subscription-muted);
  font-size: 12px;
  line-height: 1.55;
}
.subscription-faqs details a {
  color: var(--subscription-ink);
  text-decoration: underline;
  text-decoration-color: rgba(12, 12, 11, .34);
  text-underline-offset: 3px;
}
.subscription-review-dialog {
  --simple-display-font: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --simple-ui-font: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: min(620px, calc(100% - 32px));
  padding: 46px;
  border: 1px solid rgba(12, 12, 11, .2);
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 8%, rgba(205, 182, 127, .18), transparent 32%),
    #faf7ef;
  color: var(--subscription-ink, #0c0c0b);
  font-family: var(--simple-ui-font);
  box-shadow: 0 38px 110px rgba(12, 12, 11, .32);
}
.subscription-review-dialog::backdrop {
  background: rgba(8, 8, 7, .68);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
.subscription-review-dialog > form {
  margin: 0;
}
.subscription-review-close {
  position: absolute;
  top: 20px;
  right: 20px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0 0 3px;
  border: 1px solid rgba(12, 12, 11, .18);
  border-radius: 50%;
  background: rgba(255, 255, 255, .46);
  color: #0c0c0b;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
}
.subscription-review-eyebrow {
  margin: 0 0 14px;
  color: #80651f;
  font-family: var(--simple-ui-font);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.subscription-review-dialog h2 {
  max-width: 9ch;
  margin: 0;
  font-family: var(--simple-display-font);
  font-size: clamp(44px, 7vw, 62px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .96;
}
.subscription-review-summary {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 32px 0 0;
  padding: 22px 0;
  border-top: 1px solid rgba(12, 12, 11, .15);
  border-bottom: 1px solid rgba(12, 12, 11, .15);
}
.subscription-review-summary > span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(170, 137, 60, .5);
  border-radius: 50%;
  color: #aa893c;
}
.subscription-review-icon {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.45;
}
.subscription-review-summary p,
.subscription-review-summary strong,
.subscription-review-summary small {
  display: block;
  margin: 0;
}
.subscription-review-summary strong {
  font-family: var(--simple-display-font);
  font-size: 28px;
  font-weight: 600;
}
.subscription-review-summary small {
  margin-top: 5px;
  color: #6f6b64;
  font-size: 13px;
}
.subscription-review-dialog > p[data-subscription-review-copy] {
  max-height: 118px;
  overflow: auto;
  margin: 24px 0 0;
  color: #5f5c56;
  font-size: 13px;
  line-height: 1.6;
}
.subscription-review-policies {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 22px;
}
.subscription-review-policies a {
  color: #383630;
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(12, 12, 11, .32);
  text-underline-offset: 4px;
}
.subscription-review-note {
  margin: 18px 0 0;
  padding: 14px 16px;
  border-left: 2px solid #aa893c;
  background: rgba(170, 137, 60, .08);
  color: #6f6b64;
  font-size: 11px;
  line-height: 1.5;
}
.subscription-review-done {
  width: 100%;
  min-height: 56px;
  margin-top: 24px;
  border: 0;
  border-radius: 999px;
  background: #0c0c0b;
  color: #faf7ef;
  cursor: pointer;
  font-weight: 750;
}
.simple-profile-card-meta dd {
  overflow-wrap: anywhere;
  color: #e6edf3;
  font-size: 15px;
}
.simple-profile-card-footer {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-top: 28px;
}
.simple-profile-card-footer > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #454b55;
  border-radius: 50%;
  color: #e7dfd0;
  font-family: var(--simple-display-font);
  font-weight: 700;
}
.simple-profile-card-footer p,
.simple-profile-card-footer strong,
.simple-profile-card-footer small {
  display: block;
  margin: 0;
}
.simple-profile-card-footer strong {
  color: #e6edf3;
  font-size: 14px;
}
.simple-profile-card-footer small {
  margin-top: 3px;
  color: #8b949e;
  font-size: 12px;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.simple-profile-submit button,
.simple-plan-state button,
.simple-dashboard-error button {
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid var(--simple-ink);
  border-radius: 999px;
  background: var(--simple-ink);
  color: var(--simple-paper);
  cursor: pointer;
  font-weight: 700;
}
.simple-profile-submit button:disabled {
  cursor: wait;
  opacity: .55;
}
.simple-current-plan {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  overflow: hidden;
  padding: 58px;
  border-radius: 34px;
  background: var(--simple-ink);
  color: var(--simple-paper);
}
.simple-current-plan .simple-dashboard-kicker {
  color: rgba(251, 248, 241, .55);
}
.simple-current-plan h3,
.simple-plan-state h3 {
  margin: 0;
  font-family: var(--simple-display-font);
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 600;
  letter-spacing: -.05em;
}
.simple-current-plan > div:first-child > p:last-child {
  max-width: 560px;
  margin: 20px 0 0;
  color: rgba(251, 248, 241, .64);
  line-height: 1.65;
}
.simple-current-plan > div:nth-child(2) {
  display: grid;
  align-content: start;
  justify-items: end;
}
.simple-current-plan > div:nth-child(2) strong {
  font-family: var(--simple-display-font);
  font-size: clamp(38px, 4vw, 60px);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.simple-current-plan > div:nth-child(2) span {
  color: rgba(251, 248, 241, .55);
}
.simple-plan-change {
  grid-column: 1 / -1;
  margin: 12px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .16);
}
.simple-plan-state {
  padding: 48px;
  border: 1px solid var(--simple-line);
  border-radius: 30px;
  background: var(--simple-paper);
}
.simple-plan-state h3 {
  max-width: 650px;
}
.simple-plan-state > p:not(.simple-dashboard-kicker) {
  margin: 16px 0 0;
  color: var(--simple-muted);
}
.simple-plan-state a {
  display: inline-block;
  margin-top: 28px;
  color: var(--simple-ink);
  font-weight: 700;
  text-underline-offset: 5px;
}
.simple-plan-state.is-unavailable {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.simple-plan-state.is-unavailable p {
  margin: 0;
  color: var(--simple-ink);
}
.simple-choose-plan {
  border-bottom: 0;
}
.simple-plan-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--simple-line);
  border-radius: 30px;
  background: var(--simple-paper);
}
.simple-plan-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
}
.simple-plan-table th,
.simple-plan-table td {
  padding: 24px;
  border-right: 1px solid var(--simple-soft-line);
  border-bottom: 1px solid var(--simple-soft-line);
  text-align: left;
  vertical-align: top;
}
.simple-plan-table tr > *:last-child {
  border-right: 0;
}
.simple-plan-table tbody tr:last-child > * {
  border-bottom: 0;
}
.simple-plan-table thead th:first-child,
.simple-plan-table tbody th {
  width: 25%;
  color: var(--simple-muted);
  font-family: var(--simple-ui-font);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.simple-plan-table thead th:not(:first-child) {
  background: var(--simple-ink);
  color: var(--simple-paper);
}
.simple-plan-table thead span,
.simple-plan-table thead strong,
.simple-plan-table thead small {
  display: block;
}
.simple-plan-table thead span {
  margin-bottom: 34px;
  font-family: var(--simple-ui-font);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.simple-plan-table thead strong {
  font-family: var(--simple-display-font);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 600;
  letter-spacing: -.03em;
}
.simple-plan-table thead small {
  margin-top: 5px;
  color: rgba(251, 248, 241, .58);
}
.simple-plan-table td {
  color: var(--simple-muted);
  font-size: 13px;
  line-height: 1.55;
}
.simple-plan-table td .is-included,
.simple-plan-table td .is-not-included {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: var(--simple-ink);
  color: var(--simple-paper);
}
.simple-plan-table td .is-not-included {
  background: transparent;
  color: #aaa59b;
}
.simple-plan-actions td {
  padding: 18px;
}
.simple-plan-actions button {
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid var(--simple-ink);
  border-radius: 999px;
  background: var(--simple-ink);
  color: var(--simple-paper);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}
.simple-plan-actions button:disabled {
  border-color: var(--simple-line);
  background: transparent;
  color: var(--simple-muted);
  cursor: not-allowed;
}
.simple-checkout-feedback {
  min-height: 24px;
  margin: 22px 0 0;
  color: var(--simple-muted);
}
.simple-checkout-dialog {
  --simple-display-font: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --simple-ui-font: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: min(580px, calc(100% - 32px));
  padding: 42px;
  border: 1px solid var(--simple-line);
  border-radius: 30px;
  background: var(--simple-paper);
  color: var(--simple-ink);
  font-family: var(--simple-ui-font);
  box-shadow: 0 35px 100px rgba(0, 0, 0, .3);
}
.simple-checkout-dialog::backdrop {
  background: rgba(0, 0, 0, .68);
  backdrop-filter: blur(6px);
}
.simple-checkout-dialog h2 {
  margin: 0;
  font-family: var(--simple-display-font);
  font-size: clamp(38px, 7vw, 58px);
  font-weight: 600;
  letter-spacing: -.05em;
  line-height: .98;
}
.simple-checkout-dialog > div {
  display: grid;
  gap: 4px;
  margin: 30px 0;
  padding: 22px 0;
  border-top: 1px solid var(--simple-line);
  border-bottom: 1px solid var(--simple-line);
}
.simple-checkout-dialog > div strong {
  font-family: var(--simple-display-font);
  font-size: 28px;
  font-weight: 600;
}
.simple-checkout-dialog > div span,
.simple-checkout-dialog > p:not(.simple-dashboard-kicker) {
  color: var(--simple-muted);
  line-height: 1.6;
}
.simple-checkout-dialog a {
  color: inherit;
}
.simple-checkout-dialog > button {
  width: 100%;
  min-height: 56px;
  margin-top: 16px;
  border: 0;
  border-radius: 999px;
  background: var(--simple-ink);
  color: var(--simple-paper);
  cursor: pointer;
  font-weight: 700;
}
.simple-checkout-dialog > button:disabled {
  cursor: wait;
  opacity: .6;
}
.simple-dialog-close {
  position: absolute;
  top: 20px;
  right: 20px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--simple-line);
  border-radius: 50%;
  background: transparent;
  color: var(--simple-ink);
  cursor: pointer;
  font-size: 26px;
}
.simple-dashboard-status {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 50;
  max-width: 420px;
  margin: 0;
  padding: 15px 18px;
  border-radius: 14px;
  background: var(--simple-ink);
  color: var(--simple-paper);
  box-shadow: 0 15px 45px rgba(0, 0, 0, .2);
}
.simple-dashboard-status:empty {
  display: none;
}
.simple-dashboard-loading,
.simple-dashboard-error {
  max-width: 820px;
  min-height: 65svh;
  padding-top: 120px;
}
.simple-dashboard-loading > span {
  display: block;
  width: min(440px, 100%);
  height: 2px;
  margin-top: 58px;
  overflow: hidden;
  background: var(--simple-line);
}
.simple-dashboard-loading > span i {
  display: block;
  width: 42%;
  height: 100%;
  background: var(--simple-ink);
  animation: simple-dashboard-loading 1.4s ease-in-out infinite;
}
.simple-dashboard-error > p:not(.simple-dashboard-kicker) {
  color: var(--simple-muted);
}
@keyframes simple-dashboard-loading {
  from { transform: translateX(-110%); }
  to { transform: translateX(270%); }
}
.simple-dashboard-shell a:focus-visible,
.simple-dashboard-shell button:focus-visible,
.simple-dashboard-shell summary:focus-visible,
.simple-dashboard-shell input:focus-visible,
.simple-dashboard-shell select:focus-visible {
  outline: 3px solid #9f6c2f;
  outline-offset: 4px;
}
@media (max-width: 820px) {
  .simple-dashboard-header {
    grid-template-columns: 1fr auto;
  }
  .simple-dashboard-header nav {
    display: none;
  }
  .simple-dashboard-main {
    width: min(100% - 32px, 1160px);
    padding-top: 70px;
  }
  .simple-dashboard-section {
    padding: 82px 0;
  }
  .f1-dashboard-scene {
    grid-template-columns: 1fr;
    gap: 56px;
    min-height: auto;
    padding: 24px 0 54px;
  }
  .f1-card-stage,
  .f1-plan-panel {
    width: min(100%, 620px);
    justify-self: center;
  }
  .f1-card-stage {
    transform: translateY(28px);
  }
  .f1-card-float {
    max-width: 420px;
  }
  .f1-plan-panel {
    min-height: 0;
    padding: 72px 0;
  }
  .f1-plan-comparison {
    padding: 62px 0 86px;
    scroll-margin-top: 96px;
  }
  .f1-plan-comparison-header {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 28px;
  }
  .f1-plan-comparison-header > p {
    max-width: 520px;
  }
  .f1-plan-table thead th {
    height: 136px;
    padding: 20px;
  }
  .f1-plan-table tbody th,
  .f1-plan-table tbody td {
    padding-right: 20px;
    padding-left: 20px;
  }
  .simple-section-heading,
  .simple-current-plan {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .simple-section-heading {
    margin-bottom: 50px;
  }
  .simple-profile-section {
    padding-top: 58px;
  }
  .simple-profile-scene {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .simple-profile-id-card {
    order: -1;
    width: min(100%, 560px);
    justify-self: center;
  }
  .simple-profile-form {
    grid-template-columns: 1fr;
  }
  .simple-profile-form .is-wide,
  .simple-profile-submit {
    grid-column: auto;
  }
  .simple-current-plan {
    padding: 36px 28px;
  }
  .simple-current-plan > div:nth-child(2) {
    justify-items: start;
  }
  .simple-plan-change {
    grid-column: auto;
  }
}
@media (max-width: 599px) {
  .simple-dashboard-header {
    top: 10px;
    width: calc(100% - 20px);
    min-height: 64px;
    margin-top: 10px;
  }
  .simple-dashboard-brand strong,
  .simple-dashboard-account summary b,
  .simple-dashboard-account-chevron {
    display: none;
  }
  .simple-dashboard-account summary {
    padding-right: 0;
  }
  .simple-dashboard-account-menu {
    top: calc(100% + 7px);
  }
}
@media (max-width: 520px) {
  .simple-dashboard-header {
    top: 10px;
    width: calc(100% - 20px);
    margin-top: 10px;
  }
  .simple-dashboard-brand strong,
  .simple-dashboard-account summary b {
    display: none;
  }
  .simple-dashboard-account summary {
    padding-right: 2px;
  }
  .simple-dashboard-main {
    width: calc(100% - 22px);
    padding-top: 43px;
  }
  .f1-dashboard-scene {
    gap: 42px;
    padding-top: 15px;
  }
  .f1-card-stage > .simple-dashboard-kicker {
    margin-left: 2px;
  }
  .f1-id-card-frame,
  .f1-id-card {
    border-radius: 9px;
  }
  .f1-id-card {
    min-height: 640px;
    padding: 25px 20px 96px;
  }
  .f1-card-watermark {
    right: auto;
    bottom: 60px;
    left: 50%;
    width: 82%;
    height: 68%;
    opacity: 1;
  }
  .f1-card-rail {
    right: 10px;
    bottom: 10px;
    left: 10px;
    grid-template-rows: repeat(3, 23px);
    clip-path: polygon(11.2% 0, 100% 0, 100% 100%, 0 100%);
  }
  .f1-card-header {
    grid-template-columns: auto 1fr;
    gap: 9px;
  }
  .f1-card-mark {
    font-size: 34px;
  }
  .f1-card-header strong {
    font-size: 16px;
  }
  .f1-card-header small {
    font-size: 7px;
    font-weight: 700;
  }
  .f1-card-identity {
    grid-template-columns: 1fr;
    padding: 64px 0 24px;
  }
  .f1-card-identity h1 {
    font-size: clamp(34px, 10vw, 43px);
  }
  .f1-card-meta {
    display: grid;
    width: 58%;
    gap: 16px;
  }
  .f1-card-meta > div {
    display: block;
    padding: 0;
  }
  .f1-card-meta dt {
    grid-template-columns: 13px minmax(0, 1fr);
    gap: 6px;
    font-size: 8px;
  }
  .f1-card-meta-icon {
    width: 13px;
    height: 13px;
  }
  .f1-card-meta dd {
    font-size: 11px;
  }
  .f1-card-footer {
    right: 20px;
    bottom: 39px;
    left: 50px;
    font-size: 7px;
  }
  .f1-plan-panel {
    min-height: 0;
    padding: 58px 4px;
  }
  .f1-plan-panel > header {
    align-items: center;
    flex-direction: row;
  }
  .f1-plan-name {
    padding: 48px 0 34px;
  }
  .f1-plan-name h2 {
    max-width: 9ch;
    font-size: clamp(50px, 15vw, 70px);
  }
  .f1-plan-summary {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .f1-plan-summary .f1-plan-price {
    justify-items: start;
  }
  .f1-plan-actions {
    grid-template-columns: 1fr;
  }
  .f1-plan-telemetry > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .f1-plan-telemetry dd {
    text-align: left;
  }
  .f1-plan-unavailable {
    min-height: 390px;
  }
  .f1-plan-comparison {
    padding: 50px 0 72px;
  }
  .f1-plan-comparison-header h2 {
    font-size: clamp(36px, 11vw, 48px);
  }
  .f1-plan-comparison-header > p {
    font-size: 12px;
  }
  .f1-plan-table-wrap {
    border-radius: 13px;
  }
  .f1-plan-table thead th:first-child {
    width: 21%;
  }
  .f1-plan-table thead th,
  .f1-plan-table tbody th,
  .f1-plan-table tbody td {
    padding-right: 10px;
    padding-left: 10px;
  }
  .f1-plan-table thead th {
    height: 124px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .f1-plan-table thead span,
  .f1-plan-table tbody th {
    font-size: 7px;
    letter-spacing: .11em;
  }
  .f1-plan-table thead th:not(:first-child) > span {
    margin-bottom: 9px;
  }
  .f1-plan-table thead strong {
    font-size: clamp(19px, 6vw, 27px);
  }
  .f1-plan-table thead small {
    margin-top: 8px;
    font-size: 9px;
    line-height: 1.3;
  }
  .f1-plan-table-price td {
    height: 72px;
  }
  .f1-plan-table-price strong {
    font-size: clamp(19px, 6vw, 27px);
  }
  .f1-plan-table-price small,
  .f1-plan-table-features li,
  .f1-plan-table-features p {
    font-size: 9px;
  }
  .f1-plan-table-features td {
    height: auto;
  }
  .f1-plan-table-features ul {
    gap: 6px;
  }
  .f1-plan-table-features li {
    padding-left: 10px;
  }
  .f1-plan-table-status td {
    font-size: 7px;
    letter-spacing: .06em;
  }
  .f1-plan-comparison-unavailable {
    padding: 26px 22px;
    border-radius: 13px;
  }
  .simple-profile-settings {
    padding: 28px 22px;
    border-radius: 26px;
  }
  .simple-profile-settings-heading h1 {
    font-size: clamp(43px, 13vw, 62px);
  }
  .simple-profile-id-card {
    padding: 26px 22px;
    border-radius: 26px;
  }
  .simple-profile-portrait {
    width: min(100%, 290px);
  }
  .simple-section-heading h1,
  .simple-section-heading h2 {
    font-size: clamp(44px, 14vw, 64px);
  }
  .simple-profile-submit,
  .simple-plan-state.is-unavailable {
    align-items: stretch;
    flex-direction: column;
  }
  .simple-profile-submit button {
    width: 100%;
  }
  .simple-checkout-dialog {
    padding: 34px 22px 24px;
  }
}
@media (max-width: 1150px) {
  .subscription-showcase {
    width: calc(100vw - 26px);
    padding-right: clamp(22px, 4vw, 42px);
    padding-left: clamp(22px, 4vw, 42px);
  }
  .subscription-plan-grid {
    gap: 24px;
  }
  .subscription-plan-card-header h3 {
    font-size: clamp(32px, 4vw, 42px);
  }
  .subscription-plan-price strong {
    font-size: clamp(46px, 6vw, 62px);
  }
}
@media (max-width: 920px) {
  .subscription-trust-strip article {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 0 16px;
  }
  .subscription-trust-strip article > span {
    width: 42px;
    height: 42px;
  }
  .subscription-showcase-details {
    grid-template-columns: 1fr;
  }
  .subscription-shared-benefits {
    padding-right: 0;
  }
  .subscription-faqs {
    padding-left: 0;
    border-top: 1px solid var(--subscription-line);
    border-left: 0;
  }
  .subscription-shared-benefits > div {
    gap: 28px;
  }
}
@media (max-width: 700px) {
  .subscription-showcase {
    width: calc(100vw - 14px);
    padding: 72px 16px 0;
    border-radius: 24px 24px 0 0;
    scroll-margin-top: 88px;
  }
  .subscription-showcase-hero h2 {
    margin-top: 12px;
    font-size: clamp(54px, 16vw, 76px);
  }
  .subscription-showcase-hero > span {
    margin-top: 20px;
    font-size: 14px;
  }
  .subscription-showcase-hero > span br {
    display: none;
  }
  .subscription-cycle-control {
    min-height: 54px;
    margin-top: 34px;
  }
  .subscription-cycle-control label {
    gap: 7px;
    padding: 0 12px;
    font-size: 13px;
  }
  .subscription-cycle-control small {
    padding: 4px 7px;
    font-size: 8px;
  }
  .subscription-plan-grid {
    gap: 24px;
    margin-top: 56px;
  }
  .subscription-plan-card {
    flex: 1 1 100%;
    max-width: 440px;
    min-height: 528px;
    padding: 34px 26px 24px;
  }
  .subscription-plan-card-header h3 {
    font-size: 38px;
  }
  .subscription-plan-card-header p,
  .subscription-plan-features li,
  .subscription-plan-price > span {
    font-size: 13px;
  }
  .subscription-plan-price strong {
    font-size: 58px;
  }
  .subscription-trust-strip {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 28px;
  }
  .subscription-trust-strip article {
    justify-self: stretch;
    width: 100%;
    padding: 20px 4px;
  }
  .subscription-trust-strip article + article {
    border-top: 1px solid var(--subscription-line);
    border-left: 0;
  }
  .subscription-showcase-details {
    margin-top: 28px;
  }
  .subscription-shared-benefits,
  .subscription-faqs {
    padding-top: 34px;
    padding-bottom: 48px;
  }
  .subscription-shared-benefits > h3,
  .subscription-faqs > h3 {
    font-size: clamp(36px, 11vw, 48px);
  }
  .subscription-shared-benefits > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
  }
  .subscription-review-dialog {
    padding: 40px 26px 28px;
    border-radius: 24px;
  }
}
@media (max-width: 420px) {
  .subscription-showcase {
    padding-right: 12px;
    padding-left: 12px;
  }
  .subscription-showcase-hero > p {
    font-size: 9px;
  }
  .subscription-cycle-control {
    --cycle-gutter: 3px;
    padding: 3px;
  }
  .subscription-cycle-control label {
    padding: 0 9px;
  }
  .subscription-plan-card {
    padding-right: 22px;
    padding-left: 22px;
  }
  .subscription-plan-card-header {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
  }
  .subscription-plan-icon {
    width: 56px;
    height: 56px;
  }
  .subscription-plan-current {
    top: 11px;
    right: 12px;
  }
  .subscription-shared-benefits > div {
    grid-template-columns: 1fr;
  }
  .subscription-shared-benefits article {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 15px;
  }
  .subscription-shared-benefits h4 {
    align-self: end;
    margin-top: 0;
  }
  .subscription-shared-benefits p {
    grid-column: 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  .simple-dashboard-shell *,
  .public-pricing-shell *,
  .simple-dashboard-shell *::before,
  .public-pricing-shell *::before,
  .simple-dashboard-shell *::after,
  .public-pricing-shell *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
  .f1-card-float,
  .f1-id-card-frame {
    animation: none !important;
    transform: none !important;
  }
}
